Live data from Hacker News

Why Language-Oriented Programming? Why Racket?

beautifulracket.com

71–80 of 115 posts

Re: Why Language-Oriented Programming? Why Racket?

#71

This is tangential to the article, but. Scheme was one of my first languages and I would love to pick it/Racket up again. But the Racket IDE (like DrScheme before it) is painful to use. Especially compared to a more "native" Mac editor. Has anyone used Racket with success in another IDE or programmer's editor?

Try `racket-mode` for Emacs. It has many of the features that DrRacket has.

https://github.com/greghendershott/racket-mode/blob/master/R...

Re: Why Language-Oriented Programming? Why Racket?

#73
post #13

I find it a pretty amazing feat that the author has created a programming language (Racket), then used it to create another language called Pollen[1] for book publishing, then went ahead and used Pollen to publish three books. Oh and the fonts are designed by him too[2]. [1] https://docs.racket-lang.org/pollen/ [2] https://mbtype.com/

No, the author hasn't created Racket. The author is the lawyer https://en.wikipedia.org/wiki/Matthew_Butterick . Racket was developed by PLT Inc.

> Racket was developed by PLT Inc.

There's not a lot of information on PLT Inc. these days, so: Racket was developed under direction of Matthias Felleisen, with his students Matthew Flatt, Shriram Krishnamurthi, and Robby Findler serving as the core development team. They also published the book "How to Design Programs" [0], and Krishnamurthi published "Programming Languages: Application and Interpretation" [1], which are both books that rely on Racket. (PLAI actually uses its own language which is developed in Racket, called plai-typed, but which relies on the DrRacket environment.)

[0] https://htdp.org [1] http://www.plai.org

Re: Why Language-Oriented Programming? Why Racket?

#74

This is tangential to the article, but. Scheme was one of my first languages and I would love to pick it/Racket up again. But the Racket IDE (like DrScheme before it) is painful to use. Especially compared to a more "native" Mac editor. Has anyone used Racket with success in another IDE or programmer's editor?

Try `racket-mode` for Emacs. It has many of the features that DrRacket has. https://github.com/greghendershott/racket-mode/blob/master/R...

I'll give it a go, thanks!

Re: Why Language-Oriented Programming? Why Racket?

#75
post #36

Earlier quoted context omitted.

That was my impression as well: you can have any language, as long as it's LISP. Some of the more specialised languages are different, though.

> you can have any language, as long as it's LISP. Let's be fair, many lisp programmers would be perfectly fine with that.

ok but then since lisp already has an extremely small syntax, why not simply define functions in the language rather than using the macro system ?

Unless your goal is to be source compatible with another lisp variant, of course.

Re: Why Language-Oriented Programming? Why Racket?

#76

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…

A parser generator is m-expressions to racket's s-expressions - which is all about syntax, whereas s-expr based DSLs are focused on semanics.

Not sure if that makes anything clearer but I can't think of a better phrasing.

Re: Why Language-Oriented Programming? Why Racket?

#77
post #42

An interesting tangent I think about sometimes: I think when people think about "programmers/developers" vs "computer scientists", this is where the difference could really show up in the future. A developer who knows how to code and hack may not have the skill/design knowledge to properly create a language/DSL, perhaps making a monster in the process. A well trained computer scientist (academic, self taught, doesn't…

Languages designed by academic computer scientists are less used in the real world than languages designed outside of academia. It seems that academic computer science does not often lead to the design of languages that are actually chosen by working programmers to solve their problems.

I think there are some very interesting and elegant ideas in some languages that come from academia but it seems that something is missing when it comes to designing languages that are actually widely adopted. Despite their elegance Haskell and Racket are much less used than Go and Java.

Re: Why Language-Oriented Programming? Why Racket?

#78
I’m sorry to nitpick on a good article, but this article lost me when it proved that HTML is a programming language by showing that it can be output by a Python program. This seems to be a case of proving too much [0].

[0] https://en.wikipedia.org/wiki/Proving_too_much

Re: Why Language-Oriented Programming? Why Racket?

#79
post #39

I find it a pretty amazing feat that the author has created a programming language (Racket), then used it to create another language called Pollen[1] for book publishing, then went ahead and used Pollen to publish three books. Oh and the fonts are designed by him too[2]. [1] https://docs.racket-lang.org/pollen/ [2] https://mbtype.com/

As the comment below points out the author did not create Racket. However there is an author (Donald Knuth or DEK as he is known) who did just that: create a new language (two of them: TeX and METAFONT) for typesetting and making fonts, created new fonts (Computer Modern), published a series of books about the languages and the fonts, AND the programs that implement these languages. Then he used his creations to type…

And don't forget about Leslie Lamport, who created LaTeX and won the Turing Award for his work on distributed computing systems (as part of which he designed the TLA+ language).

Re: Why Language-Oriented Programming? Why Racket?

#80
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…

If I give GP the benefit of the doubt, I think GP is well aware of this. However, their point is that in these examples, the original input was not in S-Expression form, so the ease of manipulation did not exist until it was parsed.
Post reply on HN