
Show HN: As a dwarf on the shoulders of giants - martyalain
http://lambdaway.free.fr/lambdaspeech/?view=factory_201902_paper
======
martyalain
Hi, your opinion will help me to improve this work. Take a few minutes to
browse this paper. Please, don't be evil. Thanks in advance. Alain Marty

~~~
speedplane
Why do you have a fancy house as your main starting piece? Shouldn't you
clearly explain what you're trying to do (in large font)?

~~~
martyalain
This house is the Barcelona Pavilion buit by Mies van der Rohe in the
thirties. It's often compared to the Maxwell's equations of architecture. As
are the rules defining the λ-calculus:[ e := v | λv.e | ee ] written upon the
picture. I must admit it's a little "cryptic".

What I'm trying to do is quickly explained in the Abstract below the picture.
and in deep in the rest of the paper. Probably it's not clear enough. Sorry.

------
chewxy
In general, I like it. I think the syntax is a bit messy though.

    
    
        λx.x 
    

is much cleaner than

    
    
        {lambda {x} x}
    

Don't want to use λ? Consider

    
    
        \x.x
    

For your special cases of multiple args, consider

    
    
       λx,y,z.(x z)(y x) // S combinator
    

For nullary functions:

    
    
        λ().M
    

Last, this is really more a lisp than a λ-calculus. Difference is subtle.

~~~
martyalain
Shorter it is, obviously, but when things become more convoluted, I don't
think so, you have to memorize priorities, add parenthesis to change them and
things like this. The great strength of the prefixed parenthesed Lisp-like
notation is to be systematic. IMHO.

I think that using lambda instead of λ or even \ helps eyes to read convoluted
code, to find the most important element of the language. And when I replace
well known names like "true, false, cons, car, cdr, nil, isnil?] by such
cryptic characters "|, ø, □, [, ], ?" it's to reduce long lines to short
sequences of signs getting a chance to be viewed as a whole picture easy to
memorize. A matter of choice. Maybe it's inconsistent.

You say "this is really more a lisp than a λ-calculus." Long time I thought
that {lambda talk) was a lisp and today I think it is not. Lisps use to begin
with several primitives, (cons, car, cdr, ...) and never go down to the
reduced set [word, abstraction, application]. I found useful to start from
this infrastructure, I think I can better understand concepts. And later will
come several superstructures to reach the level of a usable programming
language.

~~~
chewxy
yeah, it took me a while to realize you were trying to go for something more
lisp than λ-calculus.

------
luckylion
You might want to put some content width limits on it so people don't end up
with extreme line widths on UW screens. Rule of thumb is to aim for 60-80
characters per line for optimal readability - without zooming, I get about 480
characters per line in your layout.

~~~
martyalain
Thanks, I agree with you, even if it's always possible to reduce the width of
the browser's window to adjust lines to the desired display. So I defined the
limit to 700px which looks good for me.

