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
<https://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29>
 video' fit in this group?

        — #lang language mixins (s-expr, 2d)
>

Do regular #px""/#rx expressions fit in this category?

        — embedded DSLs with mostly coarse-grained interactions with Racket
> (redex)
>

would racket/class fit in this group?
would (require
<https://docs.racket-lang.org/reference/require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29>
 sql <https://docs.racket-lang.org/sql/>) fit in this group?

        — 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)
>

Do regular #px""/#rx expressions fit in this category?


>         All of these are available via libraries. And I am almost sure I
> am forgetting some classes of languages here.


Kind regards,

Stephen

PS I need to add minipascal to
https://github.com/racket/racket-lang-org/pull/89


On Sat, Feb 23, 2019 at 11:08 PM Matthias Felleisen <[email protected]>
wrote:

>
>
> The ycombinator post shows so many misunderstandings of the basic issue,
> it’s seriously sad. Here are some:
>
> 1. S-expression syntax does not mean it’s the same semantics.
> 2. The means of implementation in Racket are radically different from a
> lexer-parser approach.
> 3. The nature of languages ranges from
>         — stand-alone languages with ugly syntax (example: datalog)
>         — #lang stand-alone DSLs (config, scribble)
>         — #lang language mixins (s-expr, 2d)
>         — embedded DSLs with mostly coarse-grained interactions with
> Racket (redex)
>         — 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)
>         All of these are available via libraries. And I am almost sure I
> am forgetting some classes of languages here.
>
> I suspect that if we collected the languages in just these categories,
> we’d easily find over a hundred if not several hundred in both our code
> base as well as external code repos.
>
> Thanks for taking up the battle against this lack of knowledge out there —
> Matthias
>
>
>
>
>
>

-- 
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.

Reply via email to