On Fri, 1 Mar 2019 at 18:00, Matthias Felleisen <matth...@felleisen.org> wrote:
> > > > On Mar 1, 2019, at 12:05 PM, Stephen De Gabrielle < > spdegabrie...@gmail.com> 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 racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.