POV-Ray : Newsgroups : povray.off-topic : Reach for the SKI : Re: Reach for the SKI Server Time
6 Oct 2024 06:47:31 EDT (-0400)
  Re: Reach for the SKI  
From: Andrel Linnenbank
Date: 29 Jul 2015 17:39:14
Message: <55b94802$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.