On Fri, 1 Mar 2019 at 18:00, Matthias Felleisen <[email protected]> wrote:
> > > > On Mar 1, 2019, at 12:05 PM, Stephen De Gabrielle < > [email protected]> wrote: > > > > Hi Matthias, > > (or anyone else who is available to answer :)) > > > > I'm trying to get my head around the range of possible languages in > Racket. > > > > You got me thinking how many languages seem to have embedded little > languages. > > I was wondering how they fit into your categories of languages? > > > > 3. The nature of languages ranges from > > — stand-alone languages with ugly syntax (example: datalog) > > — #lang stand-alone DSLs (config, scribble) > > > > Does '#lang video' fit in this group? > > Yes. > > > > > > — #lang language mixins (s-expr, 2d) > > > > Do regular #px""/#rx expressions fit in this category? > > I don’t understand how #px is similar to the s-expr or at-expr or 2d #lang > mixins. I am referring to lines such as #lang at-exp scribble. [...] > p.s. In my mind, format and regexp-match (and similar functions) are > interpreters for programs in DSLs that are written down as strings. That’s > my opening slides for HtDL (from last year). The example from Greg Hendershot, below, gave the impression they were like at-exp and the #2dcond syntax extension seems to fit the same pattern as #px , but I see what you mean about regex-match and format being interpreters. @pregexp{\d\.\d} ; #px"\\d\\.\\d" (from https://www.greghendershott.com/2015/08/at-expressions.html ) (I do use that trick to make regexp more readable - at-exp is great) leaving aside my confusion, my goal here is to a page to the racket website that showcases an selection of languages made with Racket, that is better than a search of things that define a #lang *#lang stand-alone languages with non-s-exp syntax* (I'm inclined not to include 'ugly syntax' on a PR for the racket website) - Algol 60 - Datalog - Scratchy - ProfessorJ (deliberately included as ~30% of job ads in the UK specify Java) - Rash: The Reckless Racket Shell - Riposte - *#lang stand-alone DSLs (config?, scribble)* (I don't know a 'config' lang apart from #lang info) - Scribble - Hackett <https://lexi-lambda.github.io/hackett/> - Heresy <https://docs.racket-lang.org/heresy/> - Lindenmayer <https://docs.racket-lang.org/lindenmayer/> - Parenlog <https://docs.racket-lang.org/parenlog/> - Pie <https://docs.racket-lang.org/pie/> - Video *#lang language mixins (s-expr, 2d)* - #lang s-exp [module] - #lang 2d racket - #lang at-exp *embedded DSLs with mostly coarse-grained interactions with Racket (redex)* Redex (require redex) [need to identify another example] *embedded DSLs with fine-grained interaction with Racket *(the language of class syntax; syntax-parse: the pattern and templated languages, which interact via syn-pattern vars) - (require racket/class) - syntax-parse - syntax-case patterns and templates etc. - string interpreters - regexp - format Languages with other targets - Asi64 - Pollen - Scribble (?) - Racket-script Are these good categories? Kind regards, Stephen -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

