rhombus-prototype icon indicating copy to clipboard operation
rhombus-prototype copied to clipboard

Gather literature review

Open jeapostrophe opened this issue 6 years ago • 18 comments

Sweet Wisp http://breuleux.net/blog/liso.html Honu Remix and many many more

jeapostrophe avatar Jul 15 '19 01:07 jeapostrophe

Another thing worth looking at is the Parinfer editor extension, and its line invariant for converting between indentation and paren structure in both directions.

AlexKnauth avatar Jul 15 '19 01:07 AlexKnauth

Also @shriram's http://shriram.github.io/p4p/

sorawee avatar Jul 15 '19 03:07 sorawee

The Mathematica language is a language that uses a non s-expression syntax, but nevertheless feels lispy to use. An application of a function f to arguments x and y is written f[x,y]. This decision makes it easy to use parenthesis for grouping. Using FullForm, TraditionalForm, StandForm and InputForm one can convert between representations of an expression. The full form resembles s-expressions using {} for lists and F[x,y] for applications.

For a taste of this syntax in Racket: https://docs.racket-lang.org/infix-manual/index.html

The tutorial for Mathematica syntax : https://reference.wolfram.com/language/tutorial/TheSyntaxOfTheWolframLanguage.html

Complete (?) overview of Mathematica syntax: https://reference.wolfram.com/language/guide/Syntax.html

soegaard avatar Jul 15 '19 18:07 soegaard

@lexi-lambda's Hackett has an infix syntax: https://github.com/lexi-lambda/hackett/blob/8e4e0e904ac37df58b8c8ef29c0f94ad4151246f/hackett-doc/scribblings/hackett/guide.scrbl#L251 (Link to the Scribble source because the docs seem to be down.)

LiberalArtist avatar Jul 16 '19 03:07 LiberalArtist

The Arc Forum collected a list here a while back: https://sites.google.com/site/arclanguagewiki/more/list-of-languages-with-s-expression-sugar

rocketnia avatar Jul 16 '19 08:07 rocketnia

Another related vein of prior art, which you're no doubt aware of: The idea of "language-oriented programming," especially combined with Python-ish syntax, is something I associate with language workbenches.

rocketnia avatar Jul 16 '19 22:07 rocketnia

The papers D-Expressions: Lisp Power, Dylan Style and The Java Syntactic Extender from 1999 and 2001, respectively, describe procedural macro systems designed for the Dylan and Java programming languages. Both use a technique very similar to Honu, albeit without the enforestation step that allows programmers to define infix macros.

lexi-lambda avatar Jul 19 '19 14:07 lexi-lambda

Mentioned on the mailing list: https://elixir-lang.org/

mflatt avatar Jul 21 '19 13:07 mflatt

https://www.pyret.org/docs/latest/

mflatt avatar Jul 21 '19 13:07 mflatt

https://github.com/tonyg/racket-something https://groups.google.com/d/msg/racket-users/0WyNzafwPCA/jdn4ZqrLCQAJ

mflatt avatar Jul 21 '19 15:07 mflatt

The Julia language is quite lispy and I believe achieves this in part with a ~Scheme dialect called femtolisp:

  • https://github.com/femtolisp
  • https://www.julialang.org/
  • https://docs.julialang.org/en/v1/manual/metaprogramming/index.html

pschmied avatar Jul 21 '19 15:07 pschmied

I don’t know if it’s germane, but some languages have gone the other way—implementing an S-expr surface language atop another language:

  • Erlang / LFE: http://lfe.io/
  • Python / Hy: http://docs.hylang.org/en/stable/

pschmied avatar Jul 21 '19 15:07 pschmied

Rebol/RED was mentioned somewhere I was reading recently.

samth avatar Oct 03 '19 01:10 samth

Here? https://news.ycombinator.com/item?id=21134929

sorawee avatar Oct 03 '19 02:10 sorawee

Probably! Thanks.

samth avatar Oct 03 '19 02:10 samth

Here is a quite big list: History of alternative syntaxes for Lisp

stereobooster avatar Jan 04 '21 06:01 stereobooster

I just found this subreddit that has many examples, some of which are already on the list: https://www.reddit.com/r/whitespaceLisp/

rocketnia avatar Dec 20 '21 01:12 rocketnia

I was working on this half-designed language when I discovered racket meets 90% of the design goals I had in mind. https://github.com/Lazerbeak12345/chaml

Not as macro friendly as it could be, and java with xml middle-languages was a poor choice for implementation. (keep in mind I knew nothing of lisp whatsoever at the time, aside from it's history)

In retrospect, it's pretty clunky. I actually haven't looked at it for 2 years.

Lazerbeak12345 avatar Dec 20 '21 03:12 Lazerbeak12345