Live data from Hacker News

Racket-on-Chez Status

blog.racket-lang.org

11–20 of 53 posts

Re: Racket-on-Chez Status

#11
post #10
post #8

Earlier quoted context omitted.

So will the current Racket language continue to be developed, as in new features, bug fixes and regular releases after Rhombus is released? Renaming doesn't help the case much here, if Racket's future is abandonware.

A bit of Googling landed me here: https://groups.google.com/forum/#!msg/racket-users/-x_M5wIht... From there: Phase 1: Brainstorming (months) Phase 2: Iterative Design (years) Phase 3: Conversion (months or years) Phase 4: Transition (years) I am a nobody in front of people like Matthew Flatt, but this feels like Seconds Systems Effect taken to its extreme definition: https://en.wikipedia.org/wiki/Second-system_effec…

I wish I could argue against your reasoning, but sadly I think you are totally correct. Here's to hoping we are both proven wrong.

Re: Racket-on-Chez Status

#12
post #9

Earlier quoted context omitted.

I think the reason is more maintainability, when basing on a solid and faster other Scheme. It's much easier to write in terms of that other Scheme's primitives, than writing a C core, avoiding all kinds of C typical bugs. Furthermore, many improvements in Chez Scheme will carry over to Racket and the 2 communities might join forces in improving Chez and thus Racket in effect. What that other Scheme is based on is a…

Iirc Idris2 went straight to running on chez since Edwin was so impressed by chez scheme and it's runtime.

I made a chez scheme backend for Idris a couple of years ago: https://github.com/melted/idris-chez

About the only notable thing with it (apart from inspiring the target for Idris 2) is that it implements the C FFI, so it will handle Idris programs made to target C.

Re: Racket-on-Chez Status

#13
post #9

Earlier quoted context omitted.

I think the reason is more maintainability, when basing on a solid and faster other Scheme. It's much easier to write in terms of that other Scheme's primitives, than writing a C core, avoiding all kinds of C typical bugs. Furthermore, many improvements in Chez Scheme will carry over to Racket and the 2 communities might join forces in improving Chez and thus Racket in effect. What that other Scheme is based on is a…

Iirc Idris2 went straight to running on chez since Edwin was so impressed by chez scheme and it's runtime.

The result is super fast: if you use if after using Idris1 you'll be blown away by how much quicker it type-checks. I'd never have thought a Scheme could perform noticeably faster than Haskell, but maybe most of the improvements are just due to algorithmic improvements made during the rewrite.

Re: Racket-on-Chez Status

#14
post #10
post #8

Earlier quoted context omitted.

So will the current Racket language continue to be developed, as in new features, bug fixes and regular releases after Rhombus is released? Renaming doesn't help the case much here, if Racket's future is abandonware.

A bit of Googling landed me here: https://groups.google.com/forum/#!msg/racket-users/-x_M5wIht... From there: Phase 1: Brainstorming (months) Phase 2: Iterative Design (years) Phase 3: Conversion (months or years) Phase 4: Transition (years) I am a nobody in front of people like Matthew Flatt, but this feels like Seconds Systems Effect taken to its extreme definition: https://en.wikipedia.org/wiki/Second-system_effec…

Racket (and PLT Scheme before it) has always been a bunch of languages, keeping a few different syntaxes and semantics around isn't anything new. I don't get why having another take on the surface syntax should cause all that much anxiety.

Re: Racket-on-Chez Status

#15
post #10

Earlier quoted context omitted.

A bit of Googling landed me here: https://groups.google.com/forum/#!msg/racket-users/-x_M5wIht... From there: Phase 1: Brainstorming (months) Phase 2: Iterative Design (years) Phase 3: Conversion (months or years) Phase 4: Transition (years) I am a nobody in front of people like Matthew Flatt, but this feels like Seconds Systems Effect taken to its extreme definition: https://en.wikipedia.org/wiki/Second-system_effec…

Racket (and PLT Scheme before it) has always been a bunch of languages, keeping a few different syntaxes and semantics around isn't anything new. I don't get why having another take on the surface syntax should cause all that much anxiety.

Because you are not exactly running Rhombus as a side toy language, but as a successor to Racket. This requires Rhombus to eventually replace Racket. Anything less than this and it makes Rhombus a non-successor to Racket. While at the same time much needed resources to make Racket win, will go to making Rhombus happen. Even if Rhombus comes along, it won't have any of the current Racket goodness to begin with. Rhombus will take years to just exist. Meanwhile precious resources for improving Racket to a better Racket over the years will be taken by Rhombus.

Net result is a stagnated Racket, and a non-attractive Rhombus.

Plus C based languages have their winners already. Racket is a kind of a winner in the Lisp family. With Clojure it makes the only other choice. Now if you change the syntax, you are going after users who don't really care what you have to offer, at the same time, you are taking away what your existing users like.

Re: Racket-on-Chez Status

#16
post #15

Earlier quoted context omitted.

Racket (and PLT Scheme before it) has always been a bunch of languages, keeping a few different syntaxes and semantics around isn't anything new. I don't get why having another take on the surface syntax should cause all that much anxiety.

Because you are not exactly running Rhombus as a side toy language, but as a successor to Racket. This requires Rhombus to eventually replace Racket. Anything less than this and it makes Rhombus a non-successor to Racket. While at the same time much needed resources to make Racket win, will go to making Rhombus happen. Even if Rhombus comes along, it won't have any of the current Racket goodness to begin with. Rhombu…

It seems you learned from the decline of Perl, so you have the experience of a warrior. But Rhombus represents the hope of a better future for Racket, so another step in this fight should be to embrace the future and learn from the past, I don't know how.

Re: Racket-on-Chez Status

#17
post #10
post #8

Earlier quoted context omitted.

So will the current Racket language continue to be developed, as in new features, bug fixes and regular releases after Rhombus is released? Renaming doesn't help the case much here, if Racket's future is abandonware.

A bit of Googling landed me here: https://groups.google.com/forum/#!msg/racket-users/-x_M5wIht... From there: Phase 1: Brainstorming (months) Phase 2: Iterative Design (years) Phase 3: Conversion (months or years) Phase 4: Transition (years) I am a nobody in front of people like Matthew Flatt, but this feels like Seconds Systems Effect taken to its extreme definition: https://en.wikipedia.org/wiki/Second-system_effec…

> chasing a never to have come to reality Perl 6

Recently, Perl 6 has indeed become a lot less real, as it has been renamed to Raku (https://raku.org using the #rakulang tag on social media). But it is still very much a real thing (with regular releases since December 2015). And it actually has its own IDE: https://commaide.com .

Re: Racket-on-Chez Status

#18
post #15

Earlier quoted context omitted.

Racket (and PLT Scheme before it) has always been a bunch of languages, keeping a few different syntaxes and semantics around isn't anything new. I don't get why having another take on the surface syntax should cause all that much anxiety.

Because you are not exactly running Rhombus as a side toy language, but as a successor to Racket. This requires Rhombus to eventually replace Racket. Anything less than this and it makes Rhombus a non-successor to Racket. While at the same time much needed resources to make Racket win, will go to making Rhombus happen. Even if Rhombus comes along, it won't have any of the current Racket goodness to begin with. Rhombu…

Racket is not like other languages.

Racket is a language with first class support for building languages on top of it. And so no, Rhombus does not need to be a "successor" to Racket. It does not need to "replace" Racket. It will have all the current Racket goodness to begin with, because all of its semantics will come from Racket - they will be the same language. Nor will it steal valuable developer attention - a bug fixed in Rhombus is a bug fixed in Racket, anywhere except the syntax parser. They will share all core libraries. The whole point of Racket is that #langs are mutually compatible. And the stress test of using Racket in earnest for what it is actually designed for will make Racket better, not worse.

Consider PyonR [0]. This is a similar and yet much more ambitious goal than Rhombus - Python as a Racket #lang, with 100% compatibility with Racket and Python including external modules. And yet, it's a one-man project, written as a thesis and now pretty much abandoned. Writing Rhombus, a mere surface syntax for Racket, should be much easier. The hard part isn't writing it, it's deciding what it should be.

The Racket team are the only ones that I can see who are taking all the "write your own DSL" Lisp hype and actually trying to apply it in a structured way.

[0] https://github.com/pedropramos/PyonR

Re: Racket-on-Chez Status

#19
post #8

Earlier quoted context omitted.

They changed the name of the project from Racket 2 to Rhombus to make it clear that it was not about replacing Racket. And even in the original announcment it was stated " * `#lang racket` is not going away and will always have its current parenthesis-oriented syntax. In the same way that Racket still supports `#lang scheme` and `#lang mzscheme` and even `(module mzscheme ....)` and even top-level programs, the Racke…

So will the current Racket language continue to be developed, as in new features, bug fixes and regular releases after Rhombus is released? Renaming doesn't help the case much here, if Racket's future is abandonware.

Racket’s whole schtick is that it allows for language oriented programming. Sure it’s a scheme and it has parenthesis, but a lot of languages in it’s toolkit do not. Not only that when you design a new language the reader converts your new language code into s-expressions and the expander gets it all the way to Racket code. Which is how Rhombus will more than likely work as well. So knowing #lang racket is still a requirement when creating a new language on top of the Racket VM

Re: Racket-on-Chez Status

#20
post #18
post #15

Earlier quoted context omitted.

Because you are not exactly running Rhombus as a side toy language, but as a successor to Racket. This requires Rhombus to eventually replace Racket. Anything less than this and it makes Rhombus a non-successor to Racket. While at the same time much needed resources to make Racket win, will go to making Rhombus happen. Even if Rhombus comes along, it won't have any of the current Racket goodness to begin with. Rhombu…

Racket is not like other languages. Racket is a language with first class support for building languages on top of it. And so no, Rhombus does not need to be a "successor" to Racket. It does not need to "replace" Racket. It will have all the current Racket goodness to begin with, because all of its semantics will come from Racket - they will be the same language. Nor will it steal valuable developer attention - a bug…

Would you say Rhombus is to Racket as ReasonML (https://reasonml.github.io/) is to OCaml?
Post reply on HN