Live data from Hacker News

Racket v7.2

blog.racket-lang.org

41–50 of 77 posts

Re: Racket v7.2

#41

Mike Sperber used Racket in his excellent 35c3 talk "How to teach programming to your loved ones": https://media.ccc.de/v/35c3-9800-how_to_teach_programming_to... From the abstract: "A word of warning: The resulting approach is radically different from most teaching approaches used in universities and schools. In particular, it avoids teaching purely through examples and expecting students to develop the skills to ar…

for those that use lists on youtube https://www.youtube.com/watch?v=BleOgPhsdfc

Re: Racket v7.2

#42
post #8

Earlier quoted context omitted.

Doesn't HN use Racket? Edit: according to wikipedia Arc, which HN is written in, is developed in Racket

Is it in fact implemented in Racket? It used to be limited to PLT Scheme, which is the old name for Racket. But one of the changes that lead to the name change was making cons cells immutable. Arc was, at least at the time, mutating cons cells so Arc continued to use old versions of PLT Scheme instead of newer Racket. I don't know if that situation with Arc has since changed though.

The community version of Arc does at any rate: https://github.com/arclanguage/anarki

Re: Racket v7.2

#43
post #25

Earlier quoted context omitted.

We ( https://linki.tools ) use it for our main development tools product - 100% Racket in production. Check S10 ( https://linki.tools/s10 ). Racket is an absolutely gorgeous language. It's the kind of language that might look complicated but the important thing is to start with the basics. Yes, there are complex features in the language and big words that might be scary : continuations, impersonators, collapsible con…

So, I am an experienced developer but new to Lisp based stuff, which seems to be what racket is based on. Can you suggest any books to learn racket. edit: Spelling

Seems like the most common answer to this might be SICP (Structure and Interpretation of Computer Programs -- you'll find course videos pretty easily from Google; the ones from the authors are really great). Note that it's based on Scheme, which is a ancestor of Racket, but Racket has a language pack that papers over the differences and works with the code from the book. Official course website: https://mitpress.mit.edu/sites/default/files/sicp/index.html

You might, as a novice coming to Racket, find "Realm of Racket" to be more approachable as an intro: http://www.realmofracket.com/

Re: Racket v7.2

#44
post #25

Earlier quoted context omitted.

We ( https://linki.tools ) use it for our main development tools product - 100% Racket in production. Check S10 ( https://linki.tools/s10 ). Racket is an absolutely gorgeous language. It's the kind of language that might look complicated but the important thing is to start with the basics. Yes, there are complex features in the language and big words that might be scary : continuations, impersonators, collapsible con…

So, I am an experienced developer but new to Lisp based stuff, which seems to be what racket is based on. Can you suggest any books to learn racket. edit: Spelling

First thing is to get rid of the syntax feeling unfamiliar. As a beginner, you need 3-4 chapters of a book for this. As an experienced dev, what you need is an overview, a cheatsheet, and reference docs.

I think you can get an overview from the Wikipedia on S-expressions[1], then there's Dylan cheatsheet[2] which translates Scheme syntax into equivalent forms in a language with more "normal" (infix) syntax, which also happens to be object oriented, so it should feel quite familiar(EDIT: thinking about it some more, maybe Dylan is still a bit too far from Algol-like syntax, but I can't find such right now). Then, there's Racket cheatsheet[3], and the Racket Tutorial[4]. After writing some Hello Worlds and getting familiar with the syntax, start branching into interesting libraries (like plot, pict; see the list on [5] or search on [6]). See `raco pkg` docs[7] for installing additional libs.

Advice about editor: find an S-exp support plugin for your editor and just go with that until you want some graphics support, in which case try DrRacket. Advice about weird things: try not to focus on weird things which are historical incidents - you can learn why CAR and CDR are called that way later, just remember that they are first/rest operations on lists.

After this I think Beautiful Racket along with the rest of the Racket docs should be enough to learn most of it. You can also skim How to Design Programs (linked at the end of tutorial) for intro to contracts.

[1] https://en.wikipedia.org/wiki/S-expression

[2] https://opendylan.org/documentation/cheatsheets/scheme.html#...

[3] https://docs.racket-lang.org/racket-cheat/index.html

[4] https://docs.racket-lang.org/quick/index.html

[5] https://docs.racket-lang.org/

[6] http://pkgs.racket-lang.org/

[7] https://docs.racket-lang.org/raco/index.html

Re: Racket v7.2

#45

Racket is such a cool project. I keep telling myself I'll find the time to do something serious with it, but I never get around to it. One minor bit of criticism - would be it be so hard/expensive to hire a designer to do some minor touching up of the DrRacket GUI? It looks like a toy, and the icons didn't even look good in 1998. I'll balance this criticism with the remark that any language/platform that manages to a…

> and c) has the audacity (combined, curiously, with humility) to just swap out the entire backend to eek out more performance

Unfortunately they are not doing it for performance reasons. They are doing it solely to make the code base cleaner and easier to maintain.

Based on their most recent blog on the subject (https://blog.racket-lang.org/2019/01/racket-on-chez-status.h...), the new backend is almost uniformly slower to load, takes up twice as much memory, takes more than twice as long to build, takes twice as long to compile Racket code, and the compiled code generally runs slower than it used to. (They expect that this last one will improve, but they have never indicated that they expect it to actually match or exceed the speed of code compiled with the old backend.)

Also, the new back-end, by design, permanently removes support for the Racket C API.

This trade-off is hard for me to understand. I don’t maintain Racket, so I don’t have any idea how much effort this will ultimately save those who do. But I do know that I the main thing holding me back from investing more development time in Racket is its poor performance compared to languages like PHP, Python or Go; and I have never seen explained, and can’t even imagine, what new features the maintainers will now be able to implement that would actually make Racket development more productive or enjoyable.

Re: Racket v7.2

#46
post #15

Earlier quoted context omitted.

Is this video available without a login?

Using Firefox on Android with uBlock Origin enabled, I was redirected to some "onlinexperiences.com" site that displayed "System Check" and then a constantly growing number of lines containing only "Browser". Then I tried the stock Android Browser and it passed the browser check, but redirected to a login page. Going back to Firefox and disabling uBlock Origin, I was able to access a description of the talk and the v…

The site crashed my browser... very strange.

Re: Racket v7.2

#47

Earlier quoted context omitted.

So, I am an experienced developer but new to Lisp based stuff, which seems to be what racket is based on. Can you suggest any books to learn racket. edit: Spelling

Seems like the most common answer to this might be SICP (Structure and Interpretation of Computer Programs -- you'll find course videos pretty easily from Google; the ones from the authors are really great). Note that it's based on Scheme, which is a ancestor of Racket, but Racket has a language pack that papers over the differences and works with the code from the book. Official course website: https://mitpress.mit.…

> Seems like the most common answer to this might be SICP

Please don't. SICP is beautiful and all, but it's neither an intro nor practical/immediately useful. There's a lot of enlightenments to be had by reading it, but they have very little to do with Racket specifically. IMO, it's a bad book if your purpose is learning Racket.

> You might, as a novice coming to Racket, find "Realm of Racket" to be more approachable

Or, as an experienced programmer, be bored to tears by the slow pacing and didactical style. It's a great intro to programming and to Racket, but more focused on the former, which makes it ill suited for experienced devs who want to learn Racket.

Re: Racket v7.2

#48
post #16

Earlier quoted context omitted.

python comes with IDLE. Which looks dated w.r.t current IDEs. I guess for most languages, stability is the key - changing UI also means maintaining two different UIs(the old and the new)- that time could probably be better spent on language features.

> changing UI also means maintaining two different UIs(the old and the new)- Why would you need to maintain the old UI? Backwards compatibility isn't an issue, since no one is screenscraping and doing image recognition to interact with the UI. Besides, what we're discussing are relatively minor changes to update appearance, such as different font, color scheme, graphics assets, etc. No significant changes wrt UX--wit…

For more extensive changes, I imagine a whole load of screenshot-heavy documentation would need updating (probably a load of course notes, inherited from long-gone lecturers too).

I agree that shouldn't be an issue though. Those who don't want any change (e.g. lecturers) can stick with an old version.

Re: Racket v7.2

#49
post #25

Earlier quoted context omitted.

We ( https://linki.tools ) use it for our main development tools product - 100% Racket in production. Check S10 ( https://linki.tools/s10 ). Racket is an absolutely gorgeous language. It's the kind of language that might look complicated but the important thing is to start with the basics. Yes, there are complex features in the language and big words that might be scary : continuations, impersonators, collapsible con…

So, I am an experienced developer but new to Lisp based stuff, which seems to be what racket is based on. Can you suggest any books to learn racket. edit: Spelling

Check out "How to design programs" (the second edition is said to contain significant improvements). Book is available for free online.

It's discussed once every while on HN: https://hn.algolia.com/?q=htdp

Re: Racket v7.2

#50

Earlier quoted context omitted.

So, I am an experienced developer but new to Lisp based stuff, which seems to be what racket is based on. Can you suggest any books to learn racket. edit: Spelling

First thing is to get rid of the syntax feeling unfamiliar. As a beginner, you need 3-4 chapters of a book for this. As an experienced dev, what you need is an overview, a cheatsheet, and reference docs. I think you can get an overview from the Wikipedia on S-expressions[1], then there's Dylan cheatsheet[2] which translates Scheme syntax into equivalent forms in a language with more "normal" (infix) syntax, which als…

Regarding s-expressions, there are some perfectly reasonable alternatives ( http://chriswarbo.net/blog/2017-08-29-s_expressions.html )

For example:

https://docs.racket-lang.org/sweet/index.html

https://www.draketo.de/proj/wisp/

Although I prefer to embrace the s-expressions :)

Post reply on HN