The future of current language Racket

167 views
Skip to first unread message

Arie van Wingerden

unread,
Aug 26, 2019, 4:45:44 AM8/26/19
to Racket Users
When Racket2 was announced, I got really upset, being afraid that all what I like about (the old) Racket would be at stake. Also it was mentioned that the docs would be based on Racket2 syntax, which probably would hamper using them for old school Racket.

I really think that old school Racket should be saved for the future, because it is the Scheme to go for many reasons e.g. superb IDE + debugging and many good packages and of course the whole creative eco system.

Question 1:
Please can you explicitly guarantee that Racket (#lang racket) will be available for the future?

Question 2:
Can you explicitely guarantee that the documentation for #lang racket will be available in the future?

Please know that I love DrRacket as a whole and that I am not against Racket2 at all. I just like my favorite old Racket language to be available forever😊

Many thx for DrRacket and keep up the good work!

Best wishes.

Hendrik Boom

unread,
Aug 26, 2019, 9:28:52 AM8/26/19
to Racket Users
Arguing from history:

Every attempt to replace Lisp syntax over the last 50 years has failed.
Some of the have produced new syntaxes that have prospered (such as
javascript and our own Scribble), but none have ever displaced
S-expressions.

I have no fears about this.

-- hendrik

Brian Adkins

unread,
Aug 26, 2019, 10:59:51 AM8/26/19
to Racket Users
The Racket project leadership will be offering clarification once they're able to meet together, see the following:


I can empathize with your concern, but I am no longer concerned about the future of #lang racket. There are simply too many great things about it for it not to continue, and in a very unlikely worst case scenario, in my opinion, it would be easier to fork the software and continue to maintain/enhance it then it would be to bring another Scheme, such as Chez, up to the same productivity level. And to be clear, I do *not* at all expect the worst case scenario :)

Since my post (referenced above), I have decided to not wait for the Racket project leadership, and have gone "all in" with #lang racket, and I plan on continuing with that attitude for the foreseeable future. I expect to be able to add some new packages to the great set we already have before the new syntax is completed :)

Brian Adkins

Sam Tobin-Hochstadt

unread,
Aug 26, 2019, 11:08:08 AM8/26/19
to Arie van Wingerden, Racket Users
Racket as a project has both a strong commitment to keeping everything running long into the future and to extensive documentation. `#lang racket` will continue to be available, working, and will continue to have documentation.

Sam

--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/db031d63-adc3-4217-aa54-e1a727d61a94%40googlegroups.com.

Arie van Wingerden

unread,
Aug 26, 2019, 1:25:07 PM8/26/19
to Racket Users
Hi Sam,
that is a very load and clear answer, which is encouriging for everyone having an interest in current Racket.
Very glad to have this black on white from an authorative person in the community.
Best wishes.

Op maandag 26 augustus 2019 17:08:08 UTC+2 schreef Sam Tobin-Hochstadt:
Racket as a project has both a strong commitment to keeping everything running long into the future and to extensive documentation. `#lang racket` will continue to be available, working, and will continue to have documentation.

Sam

On Mon, Aug 26, 2019 at 4:45 AM Arie van Wingerden <xap...@gmail.com> wrote:
When Racket2 was announced, I got really upset, being afraid that all what I like about (the old) Racket would be at stake. Also it was mentioned that the docs would be based on Racket2 syntax, which probably would hamper using them for old school Racket.

I really think that old school Racket should be saved for the future, because it is the Scheme to go for many reasons e.g. superb IDE + debugging and many good packages and of course the whole creative eco system.

Question 1:
Please can you explicitly guarantee that Racket (#lang racket) will be available for the future?

Question 2:
Can you explicitely guarantee that the documentation for #lang racket will be available in the future?

Please know that I love DrRacket as a whole and that I am not against Racket2 at all. I just like my favorite old Racket language to be available forever😊

Many thx for DrRacket and keep up the good work!

Best wishes.

--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket...@googlegroups.com.

Ilnar Selimcan

unread,
Aug 26, 2019, 5:50:07 PM8/26/19
to Racket Users
Hi all,

about the future of Racket... A professional fortune teller here.

2040 -- I clearly see #lang racket widely used, although there are many more #langs out there (which translate to #lang racket under the hood).

The peak popularity of infix notational Racket has passed, now it's in the decline, but still widely used.

Arithmetic expressions can be included in s-expression code by simply wrapping them with $ signs, like in Latex.

PLT team gets a Turing award for their contributions to programming language research and CS education.

CS majors are required to take a macros exam and demonstrate solid knowledge of both reader macros and compile macros to get a degree.

I.

Hendrik Boom

unread,
Aug 27, 2019, 9:16:36 AM8/27/19
to Racket Users
On Mon, Aug 26, 2019 at 02:50:06PM -0700, Ilnar Selimcan wrote:
...
>
> Arithmetic expressions can be included in s-expression code by simply
> wrapping them with $ signs, like in Latex.
'''

LaTeX ... interesting.

It is a pure notation without semantics. That is, it is a notation
whose semantics *is* notation. Although mathematical expressions
(which Latex is all about) have tree structure (like MathML does, and
is excessively wordy), for the most part latex represents mathematics
as just a symbol cluster. It does have some nesting, indicated by
special brackets, for when the layout itself needs two-dimensions.

That said, it doesn't even have a stable syntax. I tried to find a
grammar for parsing LaTeX, and discovered there is none. It seems
LaTeX's macros do the parsing, and they're a Turing-complete laanguage.

It makes me appreciate Scribble.

-- hendrik

Norman Gray

unread,
Aug 27, 2019, 10:21:04 AM8/27/19
to Hendrik Boom, Racket Users

Hendrik, hello.

(a tangent...)

On 27 Aug 2019, at 14:16, Hendrik Boom wrote:

> That said, it doesn't even have a stable syntax. I tried to find a
> grammar for parsing LaTeX, and discovered there is none. It seems
> LaTeX's macros do the parsing, and they're a Turing-complete
> laanguage.

Oh yes. LaTeX is fun.

TeX has a _small_ set of very primitive commands -- loosely like
add-character-to-list or add-box-to-list-of-boxes, none of which a
normal user would type or be aware of -- and all of the rest is macro
expansion. LaTeX is just a package of macros, originally written by
Leslie Lamport, sitting on top of (the package of macros that is) plain
TeX.

The tokeniser turns "\emph {x$y$}" into

<command-sequence "emph">

at which point "emph" is looked up to see if it's a macro. "emph" is,
and requires an argument, so the tokeniser then gobbles

<begin-group> <alphabetic-letter x> <math-shift> <alphabetic-letter
y> <math-shift> <end-group>

this is replaced by the expansion of "emph"+arguments, which is then
expanded, and so on until something expands to one or more primitives.
Thus what syntax there is is entirely specified by the definitions of
the macros.

Even the tokeniser is reconfigurable on the fly, so that the following
is a valid LaTeX file:

\documentclass{article}

\catcode`@=0
@catcode`<=1
@catcode`>=2
@catcode`;=14
@catcode`\%=11 ; % is now just an ordinary alphabetic-letter

@begin<document>
Hello, this is a 100% valid @LaTeX@ file.
@end<document} ; note the unbalanced braces -- } is still an
end-group

There is a certain rather perverse pleasure to be had writing and
maintaining LaTeX packages. But giggles and LOLs it is not.

Earlier, you said:

> Although mathematical expressions
> (which Latex is all about) have tree structure (like MathML does, and
> is excessively wordy), for the most part latex represents mathematics
> as just a symbol cluster.

TeX doesn't represent any of the structure of the mathematics, because
it's focused purely on the typesetting of maths (and other text).
Semantics, as far as TeX is concerned, is for human readers. Thus in
$\sum_i x_i$, the fact that \sum is a summation is not important; what's
important is that it's in a category of objects for which certain
spacing and layout rules apply, and these are
managed/implemented/realised by the internals of TeX -- the primitives
-- not by any macros.

Best wishes,

Norman


--
Norman Gray : https://nxg.me.uk
SUPA School of Physics and Astronomy, University of Glasgow, UK
Reply all
Reply to author
Forward
0 new messages