If you create whole new languages, i.e. external languages, not really embedded DSLs, with their own syntax, how is Racket better than other languages at implementing those? Neither the sntax object, nor hygiene are of concern when you build external DSLs, which the author's examples seem to be. I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework. I might just be m…
In LISP-like languages like Racket, the code is a list. That is, a program is just a list of tokens (a b c), the same data structure one would use for storing any other kind of data (the equivalent of Python’s [a b c]). When programs are themselves just lists, they are easy to manipulate with code. So, in LISP-like languages, it is easy to write code that writes code. That makes them especially suitable for domain-sp…
Why Language-Oriented Programming? Why Racket?
21–30 of 115 posts
Re: Why Language-Oriented Programming? Why Racket?
#22Earlier quoted context omitted.
Yeah, that's what I like about languages like Lisp and to a lesser extent Python and, conversely, why I dislike languages like Go.
uh..What is? (what you like about them)
Structural typing, no generics, interface oriented.
Sure, Java has interfaces, C doesn't have generics and TypeScript is also structurally typed, but I guess nominal typing, generics, and OOP is what most people who like static typing in the first place prefer.
Re: Why Language-Oriented Programming? Why Racket?
#23If you create whole new languages, i.e. external languages, not really embedded DSLs, with their own syntax, how is Racket better than other languages at implementing those? Neither the sntax object, nor hygiene are of concern when you build external DSLs, which the author's examples seem to be. I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework. I might just be m…
[0]: https://lexi-lambda.github.io/blog/2017/01/05/rascal-is-now-...
Re: Why Language-Oriented Programming? Why Racket?
#24Re: Why Language-Oriented Programming? Why Racket?
#25If you create whole new languages, i.e. external languages, not really embedded DSLs, with their own syntax, how is Racket better than other languages at implementing those? Neither the sntax object, nor hygiene are of concern when you build external DSLs, which the author's examples seem to be. I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework. I might just be m…
Racket allows for easy interop between the various languages, so for instance, you can use typed racket from untyped modules. You can import documentation modules in base racket and so on.
With other languages, you have to glue the infrastructure yourself, racket does it for you.
Re: Why Language-Oriented Programming? Why Racket?
#26Well, wouldn't we expect that the author of a particular programming language to be mad productive in it because, you know, they designed all the mental models and assumptions that are baked into it?
You would never once stumble on syntactic ambuigity because, to you, there is no ambuigity...or perhaps there is but you slyly added that bit just to fuck with programmers heads...or who knows the reason.
I'm just postulating that for an author to boast about their productivity with the language they designed is somewhat self-serving.
Re: Why Language-Oriented Programming? Why Racket?
#27"Before you leave, please know: I’m hedged either way. LOP and Racket have been an incredible force multiplier on my programming productivity" Well, wouldn't we expect that the author of a particular programming language to be mad productive in it because, you know, they designed all the mental models and assumptions that are baked into it? You would never once stumble on syntactic ambuigity because, to you,…
Racket is built by a team and has been around a long time.
Re: Why Language-Oriented Programming? Why Racket?
#28If you create whole new languages, i.e. external languages, not really embedded DSLs, with their own syntax, how is Racket better than other languages at implementing those? Neither the sntax object, nor hygiene are of concern when you build external DSLs, which the author's examples seem to be. I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework. I might just be m…
In LISP-like languages like Racket, the code is a list. That is, a program is just a list of tokens (a b c), the same data structure one would use for storing any other kind of data (the equivalent of Python’s [a b c]). When programs are themselves just lists, they are easy to manipulate with code. So, in LISP-like languages, it is easy to write code that writes code. That makes them especially suitable for domain-sp…
This is nothing special. In all languages, code is a list: a list of characters, that is.
Just saying.
Re: Why Language-Oriented Programming? Why Racket?
#29"Before you leave, please know: I’m hedged either way. LOP and Racket have been an incredible force multiplier on my programming productivity" Well, wouldn't we expect that the author of a particular programming language to be mad productive in it because, you know, they designed all the mental models and assumptions that are baked into it? You would never once stumble on syntactic ambuigity because, to you,…
Re: Why Language-Oriented Programming? Why Racket?
#30About a decade ago, I would have agreed with this 100%, and I still am fascinated and, quite frankly, awed by Racket and LOP (and looking forward to Racket Fest 2019 here in Berlin[1]). But. (You knew there was a "but"). While I don't quite agree with the assertion that with the right tooling (so: this tooling), creating a language is as easy as creating a library, I don't think it would solve our problems even if it…
It’s incomprehensible and for each system you are operating you have to learn some arcane yaml incantations that have dramatic impact on your production systems. It’s a world crying out for a set of well factored dsl.