Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Please don't conclude that lisp-2 is a bad idea until you've considered that:

• there are disadvantages as well as advantages to lisp-1; and

• there is nothing about lisp-2-ness itself that requires the verbosity of (funcall #'…)-ing in Common Lisp:

Firstly, even in Common Lisp, (funcall (lambda …) …) and (funcall 'car list) are valid. (And many implementations allow ((lambda …) …) — though I can't remember whether the standard defines this.)

Secondly, funcall can be renamed something shorter (e.g. fun).

And finally, for those lispers not against a little syntax, a lisp-2 could define some syntax so that one could write, e.g. (#f …) for (funcall f …) and (##f …) for (funcall 'f …).

Then the above code would be:

  (defun Y (r)
    ((lambda (f) (#f f))
      (lambda (f)
        (#r (lambda (x)
              (fun (#f f) x))))))
etc.. (And we can make it even shorter if we call lambda something shorter, e.g. fn.)





Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: