|
|
On 28-07-15 19:13, Orchid Win7 v1 wrote:
> On 28/07/2015 03:55 PM, Andrel Linnenbank wrote:
>> On 23-07-15 09:37, Orchid Win7 v1 wrote:
>>
>> > OTOH, if you look at the size of "S" verses "X(X(X(XX)))", you can see
>> > that anything in the Iota calculus is going to be *really huge*!
>>
>> depends on your encoding. if you use all brackets, the Xs are redundant.
>> if you then encode ( by 0 and ) by 1, S is still only 8 bits and K only 6
>
> I don't know, man. Consider:
>
> X(X(X(XX))) => ((()))
> X(XX(X(XX))) => ((()))
I think you are missing a couple of brackets
X(X(X(X(X)))) => (((())))
X(X(X)(X(X(X)))) => (()((())))
> The former encodes S, the latter encodes K.
>
> Another way of doing it is to use 0 to represent pushing X onto the
> stack, and 1 to represent pulling the top two stack items and making
> them into a tree, pushing the result back to the stack.
>
> X(X(X(XX))) = XXXXX^^^^ = 000001111
>
> In this way, you can do something like
>
> KI = ( X(X(XX)) )(XX) = XXXX^^^XX^^ = 00001110011
>
> I did also sit down and think about making a prefix code for SKI.
> Something where the code encodes how many arguments follow or something...
Post a reply to this message
|
|