News for hackers. Stuff that matters.
Re:Homoiconicity isn’t the point (2012) by DonHopkins on Thursday December 19, 2019 @09:40PM (#21841333)
Maybe what Lisp needs to make it popular with kids these days is a hip new syntax.

Instead of nested in-and-out bubbles like (foo (bar)), it could have nested up-and-down ramps like \foo \bar// or /foo /bar\\, to represent a "change of level".

That way you could have positive and negative nesting, and turn programs inside-out!

Y-Combinator:

    \defun Y \f/
      \\lambda \g/ \funcall g g//
      \lambda \g/
        \funcall f \lambda \&rest a/
                     \apply \funcall g g/ a//////
Y-Uncombinator:

    /defun Y /f\
      //lambda /g\ /funcall g g\\
      /lambda /g\
       /funcall f /lambda /&rest a\
                    /apply /funcall g g\ a\\\\\\
Re:Homoiconicity isn’t the point (2012) by jancsika on Friday December 20, 2019 @12:32AM (#21841933)
> "change of level"

The obvious interface for such a concept would be to have matching parentheses "snap" into a kind of token field around the corresponding text. It would be pretty easy to then build a kind of raised relief map of code built from nested token fields that suggest elevation changes instead of nested parentheses. All in realtime as the user types, of course.

In the history of Lisps is there such an interface? My gut tells me either a) no, or b) yes, there's a maximally unusable version which was abandoned immediately upon recognition that it would suffice as bait to inculcate newcomers into the cult of Lisp parentheses.

Edit: clarification

Re:Homoiconicity isn’t the point (2012) by pepper_sauce on Friday December 20, 2019 @06:16AM (#21843271)
That's a great suggestion. I'll start the wiki!
Re:Homoiconicity isn’t the point (2012) by gchamonlive on Thursday December 19, 2019 @09:56PM (#21841390)
Aren't you just exchanging the pair (,) for /,\ or \,/? What real benefits that implies apart for aesthetics?
Re:Homoiconicity isn’t the point (2012) by DonHopkins on Thursday December 19, 2019 @10:14PM (#21841466)
Purely aesthetics! ;) I wouldn't want to mess up a good thing. You would just have a positive and a negative way of writing the same thing.

You could turn the paren bubbles inside-out like )foo )bar(( but that doesn't look as cool to me as flipping the ramps upside-down like /foo /bar\\ and \foo \bar//.

Re:Homoiconicity isn’t the point (2012) by TeMPOraL on Friday December 20, 2019 @03:46AM (#21842581)
It would give the kids something to keep bikeshedding about, and spawn 20 different code style standards and associated autoformatters. All of that pointless, but hopefully, such injection of energy into the ecosystem would help Lisp get more popular.
Re:Homoiconicity isn’t the point (2012) by rscho on Friday December 20, 2019 @05:23AM (#21843014)
racket rhombus will attempt that.

https://github.com/racket/rhombus-brainstorming