Hacker Newsnew | past | comments | ask | show | jobs | submit | RandomTeaParty's commentslogin

"Implement lambda calculus in languages that are pretty much lambda calculus"

How large would implementation be in more usual languages?


One of the smallest implementations is my heavily obfuscated https://www.ioccc.org/2012/tromp/ :

           Int L[A],m,b,*D=A,
            *c,*a=L,C,*U=L,u;s
             (_){u--&&s(a=*a);}
              char*B,I,O;S(){b=b
               --?b:m|read(0,&I,1
                )-1;return~I>>b&1;
                 }k(l,u){for(;l<=u;
                  U-L<A?*U++=46^l++[
                   "-,&,,/.--/,:-,'/"
                   ".-,-,,/.-,*,//..,"
                  ]:exit(5));}p(Int*m){
                 return!*U?*m=S()?U++,!S
                ()?m[1]=p(++U),2:3:1,p(U)
               :S()?U+=2:p(U[1]++),U-m;}x(
              c){k(7*!b,9);*U++=b&&S();c&&x
             (b);}d(Int*l){--l[1]||d(l[d(*l),
            *l=B,B=l,2]);}main(e){for(k(10,33
           ),a[4]-=m=e-2&7,a[23]=p(U),b=0;;e-2
          ?e?e-3?s(D=a),C=a  [3],++1[a=a[2]],d(
         D):c?D=c,c=*D,*D=    a,a=D:exit(L[C+1])
        :C--<23?C=u+m&1?O      =O+O|C&1,9:write(m
       ||(O=C+28),&O,1)+        1:(S(),x(0<b++?k(0,
      6),U[-5]=96:0)):(          D=B?B:calloc(4,X))
     ?B=*D,*D=c,c=D,D[            2]=a,a[++D[1]]++,D
    [3]=++C+u:exit(6)              )e=L[C++],u=L[C];}
while a less obfuscated and highly performant implementation https://github.com/tromp/AIT/blob/master/uni.c based on combinatory graph reduction takes 446 lines.


Even the unobfuscated version is a work of art. You rarely see such concise and honestly beautiful C code.


Here are some starting points for exploration:

http://t3x.org/lfn/

http://t3x.org/klisp/

http://t3x.org/klisp/22/


EForth and Subleq can be though too as a systems emerging from axioms (Subleq operations). From twenty macro instructions in EForth it can write the core Subleq code and them bootstrap itself.

But the Lisp way it's far more elegant.


Why not arxiv?


The author works at a French university. Some French researchers do choose to cross-post to arXiv (and Zimmermann may have too, I haven’t checked), but HAL is the default.


> HAL is the default.

HAL is an institutional requirement, I believe.


I was always wondering - are there alternative lists like this?

Maybe not in english or smth


Erlang is about reliability, hpc is about performance (literally in the name)


Erlang is also about orchestration - which HPC tends to need a fair bit of once you are out of the realm of embarrassingly parallel problems


Most HPC job queue cluster partition batching I saw was stone-age primitive by comparison. =3


> The 1.58-bit approach

can we stop already with these decimals and just call it "1 trit" which it exactly is?


Yeah because THAT won’t confuse the average reader.


just be glad that ants are ambiturners


Did website break?

I only see "MOMENT" and "All systems nominal"


Incredible low contrast font color in use there. Looks like about 0x002000 on pure black (per Mk-1 eyeball).

What possesses people to go for these barely perceptible color schemes?

.. a few minutes later ..

Ok, the crazy low contrast was on the initial landing page. Things have somewhat improved after prodding somewhat blindly at it.

I'll let the question stand though, bc why do that for what's going to be people's first impression?


try pressing any key or clicking around :)


Emoji look isn't standardized for the same reason letters look isn't - because it is font detail

Imagine outlawing comic sans because "letters must be serious" or smth


But the font design typically doesn't influence or change the meaning of the text. With emojis it does.

…and that's precisely why I complained that emojis have been standardized as Unicode code points, with their design being left to font designers. You just re-iterated that this is a consequence of using (abusing) the charset, which I had already acknowledged.


I mean... What's wrong with youtube tab consuming power "as if it's on screen" if it plays video?

As an avid idle game player, I'm tired of opening games in different window and having main window not-fullscreen just for the game to play normally

This "tab unloading" is great and all, but not giving us users any control to turn it off is awful


At least it's not SERN, with their time machine hackable by a microwave :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: