Live data from Hacker News

Why Language-Oriented Programming? Why Racket?

beautifulracket.com

21–30 of 115 posts

Re: Why Language-Oriented Programming? Why Racket?

#21
post #19

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…

[deleted]

Re: Why Language-Oriented Programming? Why Racket?

#22

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

Go has quite its own reality.

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?

#23

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…

Alexis King covers some of the benefits in one of her blog posts about Hackett[0] and in her talk Languages in an Afternoon[1].

[0]: https://lexi-lambda.github.io/blog/2017/01/05/rascal-is-now-...

[1]: https://youtube.com/watch?v=TfehOLha-18

Re: Why Language-Oriented Programming? Why Racket?

#25

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…

>I have not yet seen a compelling argument for Racket there vs. for instance a parser generator framework.

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?

#26
"Before you leave, please know: I’m hedged either way. LOP and Racket have been an incred­i­ble force mul­ti­plier on my pro­gram­ming pro­duc­tiv­ity"

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, 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
post #26

"Before you leave, please know: I’m hedged either way. LOP and Racket have been an incred­i­ble force mul­ti­plier on my pro­gram­ming pro­duc­tiv­ity" 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,…

The author of this article is not the author of Racket.

Racket is built by a team and has been around a long time.

Re: Why Language-Oriented Programming? Why Racket?

#28
post #19

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…

> In LISP-like languages like Racket, the code is a list.

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
post #26

"Before you leave, please know: I’m hedged either way. LOP and Racket have been an incred­i­ble force mul­ti­plier on my pro­gram­ming pro­duc­tiv­ity" 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,…

[deleted]

Re: Why Language-Oriented Programming? Why Racket?

#30
post #3

About 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…

I largely agree but then I enter the modern ops stack where templated yaml is the lingua franca.

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.

Post reply on HN