Live data from Hacker News

A Friendly Introduction to Racket

geometridae.bearblog.dev

111–120 of 195 posts

Re: A Friendly Introduction to Racket

#111
post #16

While the language is interesting, sadly, nobody is using it in the wild. Maybe due to cumbersome deployment options? The ability to produce native standalone executables would boost its usage I believe.

Not only do I produce standalone executables in Racket, I cross-compile GUI apps written on MacOS to produce executables for Windows.

Re: A Friendly Introduction to Racket

#113
post #109
post #52

Earlier quoted context omitted.

You can't run that code within the language so no, obviously not. And even if you could, strings + eval alone is not homoiconicity--programs are not manipulated by the compiler as unstructured text strings.

I quite intentionally said "within the language" to preempt nonsense like "Of course, you can. C is perfectly capable of writing C interpreters and compilers."

What does 'within the language' mean?

Is the standard library part of the language? Would a variant of C that came with an interpreter in the standard library (but no other changes) count as homoiconic?

Re: A Friendly Introduction to Racket

#114

> no special syntax for anything. (list '(1. . #\#) -5/6+7.s-8i `(1 ,@2) 1@1 ;hmmm, no unquote splicing comma ;-) 10# ;surprised? (list #i+1 +1i 1+i) ;complicated or complex? #e-1e10i ;Old MacDonald? "(* 9 10)" #())

Curious, how would look that in Python?

that look*

Re: A Friendly Introduction to Racket

#115

I've never seen the appeal in schemes other than hot reloadability...

Lisp/Scheme/Racket is a very simple language that is also very fluid and malleable. You can express ideas and computations very precisely, concisely, and intuitively. There really aren't any barriers as they (Scheme/Racket at least) are rooted in the Lambda Calculus which is a theoretical model equivalent to the Turing Machine. Any language feature you'd like can be expressed: Want standard infix math expressions or…

But I can use custom DSLs using macros in Rust or template Haskell. In Lean 4 you can even add grammar to the Lean parser.

I feel like the good parts of lisps have been adopted by typed languages...

Re: A Friendly Introduction to Racket

#116

Hiii, I'm Geometridae (Astrid Motilla)! A friend from the Racket community mentioned that my article appeared here. Thank you for reading it, and I'll make sure to take all this feedback and these different perspectives into account for this and future articles! :) I’d also encourage you to give it a try and have some fun with it! I’m using it for some of the 3D demos in my book. It’s definitely not a silver bullet,…

If you like those, a less well knowned Scheme you will likely really like is s7. :-)

Re: A Friendly Introduction to Racket

#117
Interesting article overall, although some gotchas on the introduction.

Misses out on LispWorks and Allegro Common Lisp for the Common Lisp entry, which contrary to SBCL provide a similar graphics experience as the Lisp machines of yore, here missing out on TI and Xerox as well, Genera wasn't alone.

Re: A Friendly Introduction to Racket

#118

Nothing against Lisp, but to correct the record: > For decades, Lisp was the language of artificial intelligence. [...] Then came the "AI winter," funding dried up, and Lisp went from star to cult language. Lisp had fallen from relevance before then. Only the United States was still using it, and mostly out of technical debt and a stubborn refusal to move on. Prolog displaced it in the late 1970s, and even within the…

I've read a large factor was minicomputers and microcomputers running Unix in C became much more affordable, and when the Berlin Wall fell in 1989 DoD funding for powerful and expensive Lisp workstations quickly dried up. And the nascent free software Lisp offerings left a lot to be desired (to be developed). This visualization of relative programming language popularity shows Lisp was the 3rd most popular general pu…

Pascal in 1984 was not just a teaching language.

The ranking then was due to Turbo Pascal which came out in November 1983. It was probaly the first IDE and compiler on PCs

Re: A Friendly Introduction to Racket

#119

Earlier quoted context omitted.

Lisp/Scheme/Racket is a very simple language that is also very fluid and malleable. You can express ideas and computations very precisely, concisely, and intuitively. There really aren't any barriers as they (Scheme/Racket at least) are rooted in the Lambda Calculus which is a theoretical model equivalent to the Turing Machine. Any language feature you'd like can be expressed: Want standard infix math expressions or…

But I can use custom DSLs using macros in Rust or template Haskell. In Lean 4 you can even add grammar to the Lean parser. I feel like the good parts of lisps have been adopted by typed languages...

Absolutely. You can thank Lisp for paving the way. And in a way, those languages are part of the extended family.

Re: A Friendly Introduction to Racket

#120
post #101
post #60

Earlier quoted context omitted.

You can't natively index into a string and get any C syntactic token out of it besides a char.

You can write some library functions to get you more sophisticated indexing, if that's what you want.

The fact that you can write a C parser in C does not make C homoiconic. Not needing to have a user level parser is like, the whole thing that makes homoiconicity interesting.
Post reply on HN