
Hi! Is there any plans to make Typed Racked the default base for Racket 2? I mean, whatever Racket 2 will be, will it have the type system of Typed Racket? Or more generally, will it come with some form of a statically typed type system?

Or is Racket 2 only planning for the syntax “revolution”?

@mario.luis.guimaraes I think this is an important question. You should raise this as an issue at https://github.com/racket/racket2-rfcs/issues

My personal opinion is there should be BOTH gradually and statically typed variants available.

@mario.luis.guimaraes it seems that even if the scope is mostly limited to the syntax change, there is still a danger of second system syndrome. Adding a type system as well would probably push the effort over the edge.

I don’t bother what syntax is developed, as long as we have an underlying “language of s-expressions”.

What I think most critical today for language adoption in the industry are the platforms on top of which the language’s programs are able to run.

Syntax has impact on productivity, but ultimately is a matter of taste, and as such, there will be people liking and disliking any syntax one puts forward

The industry tends to move slowly on solid grounds, and what is most solid today are the platforms, and in particular, VMs

Ignoring this is a strategic flaw if adoption is the concern

A possibility would be to port the RacketVM to one of these platforms as a first step, but don’t know if it will work or be performant.

The alternative is perhaps asking too much considering the effort already done on the RacketVM ¯_(ツ)_/¯

Nowadays, with the effort put into linklets and the move to Chez, it’s easier than ever to port Racket to new machine architectures or platforms.

It’s a matter of, how bad do you want it?

Also, consider that during the Racke2 development period, hardly any company will take on Racket because it would probably considere it too risky to bet on.

@pocmatos Well, I would answer that question with another: How many of us would consider using Racket as the base of a significant first-class project if it run on the JVM or the ErlangVM? ….

I would pick on Racket immediately in my case, instead of just being here observing how it is evolving and learning at a small pace ….

It depends on who you are, I guess. I have no interest in Racket on the JVM or on ErlangVM.

By significant project I mean one that faces end users, not small utilities or embedded small programs

Enterprise programs, web applications, etc

@pocmatos Every one has their use cases, but the Racket’s core team must decide the main target users / applications for the language.

The last list of industrial users I saw around here were just very few … too few indeed.

I concur with @mario.luis.guimaraes assessment here - I am in the process of building Enterprise grade web application and I initially optimistically started writing it in Racket until at one point I had to admit the work I had done so far was a sunk cost. I had to write libraries/engines that already existed in Java world, so despite my strong dislike for Java* my current implementation is almost entirely in Java/Javascript, with only some isolated functionality still in Racket (which I still hold dear). So I am not surprised that businesses rarely choose Racket - I’ve experienced the cost of such choice myself.

I still consider Racket to be superior language and environment, but in the business world we rarely have a comfort to write everything from scratch

@mario.luis.guimaraes you should raise an issue on targeting VM’s https://github.com/racket/racket2-rfcs/issues

@githree you should raise an issue on https://github.com/racket/racket2-rfcs/issues regarding the gaps you found in the facilities for building enterprise grade web apps

@mario.luis.guimaraes I understand your point of view. You might be interested in this by the way https://linki.tools/racket-money

@sanchom I don’t speak for the Racket team: I don’t think anything is set in stone. I just see a real effort to engage with the community about the direction of the language.

Thanks @spdegabrielle the missing parts weren’t related to “web apps” but things like Linked Data, NLP, etc. The problem is that by running on a completely separate VM/Ecosystem the only choice were Racket is suitable is if you are certain you can build everything yourself with what the Ecosystem provides. Having access to another more mature Ecosystem one could use the gradual approach and remove non-Racket (interop) dependencies as you develop native solutions.

@sanchom Surface syntax was raised an an issue in the presentation and he followed up on Saturday: https://groups.google.com/d/msg/racket-users/HiC7z3A5O-k/XPR2wbSJCQAJ

(Matthew is the ‘he’ above)

We’ve very much at the discussion phase. I’d caution, though, that discussion along the lines of “I wish someone would work on a compiler to WASM” or “I wish someone would write more documentation” won’t go anywhere.

Is it OK if I pin that to this Channel?

@githree I understand what you mean. Like LFE and Clojure. Maybe the way forward is to collaborate with other likeminded developers (@mario.luis.guimaraes)

precisely :slightly_smiling_face:

Ok by me. I’ve never used the pin view, but maybe one day I’ll get better at using Slack.


I honestly don’t know if anyone sees it but jay pins stuff. I figure ‘do what jay does’ isn’t a bad starting point.

One nice thing about open source software is that people can bet on various theories by investing their time i.e. “put their money where their mouth is”. As a developer of web applications, I’m biased, but I do think that a web framework that provides the hyper-productivity that Rails does (while being far smaller/simpler) might spur increased adoption of Racket.
Regardless, it’s the itch that I’ll be scratching for the foreseeable future. Developing web apps in a fairly manual way is surprisingly pleasant in Racket, so a well-designed framework that makes it even nicer is going to be a blast!
If a mainstream platform was important to me, then I’d be using a language on the JVM or Erlang BEAM or .NET, but it’s not important to me, nor is it important to the majority of my peers with whom I’ve discussed it - a killer app or library is what matters to them.
I believe that Racket is getting very close to what I consider critical mass with respect to an ecosystem (e.g. libraries/tooling/etc.). It’s not necessary to have a huge community or library catalog - it just needs to be enough :slightly_smiling_face:

Whatever syntax Racket 2 ends up with, I wonder how fast someone will make an s-expression syntax that compiles to it. :)

Realistically, I suppose a couple of those will probably be made before the relevant RFCs even reach consensus.