mario.luis.guimaraes
2019-7-22 08:41:38

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?


mario.luis.guimaraes
2019-7-22 08:44:00

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


spdegabrielle
2019-7-22 09:06:48

@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


spdegabrielle
2019-7-22 09:08:12

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


badkins
2019-7-22 14:24:55

@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.


mario.luis.guimaraes
2019-7-22 14:28:05

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


mario.luis.guimaraes
2019-7-22 14:29:04

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.


mario.luis.guimaraes
2019-7-22 14:30:08

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


mario.luis.guimaraes
2019-7-22 14:31:16

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


mario.luis.guimaraes
2019-7-22 14:31:44

Ignoring this is a strategic flaw if adoption is the concern


mario.luis.guimaraes
2019-7-22 14:35:07

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.


mario.luis.guimaraes
2019-7-22 14:36:10

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


pocmatos
2019-7-22 14:37:36

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.


pocmatos
2019-7-22 14:37:56

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


mario.luis.guimaraes
2019-7-22 14:37:58

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.


mario.luis.guimaraes
2019-7-22 14:40:21

@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? ….


mario.luis.guimaraes
2019-7-22 14:40:54

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 ….


pocmatos
2019-7-22 14:41:35

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


mario.luis.guimaraes
2019-7-22 14:42:24

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


mario.luis.guimaraes
2019-7-22 14:42:44

Enterprise programs, web applications, etc


mario.luis.guimaraes
2019-7-22 14:43:36

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


mario.luis.guimaraes
2019-7-22 14:44:38

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


githree
2019-7-22 15:17:26

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.


githree
2019-7-22 15:20:20

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


spdegabrielle
2019-7-22 15:23:18

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


spdegabrielle
2019-7-22 15:25:03

@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


pocmatos
2019-7-22 15:29:45

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


spdegabrielle
2019-7-22 15:36:26

@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.


githree
2019-7-22 15:44:07

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.


spdegabrielle
2019-7-22 15:51:43

@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


spdegabrielle
2019-7-22 15:52:21

(Matthew is the ‘he’ above)


mflatt
2019-7-22 15:54:13

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.


spdegabrielle
2019-7-22 16:10:41

Is it OK if I pin that to this Channel?


spdegabrielle
2019-7-22 16:34:00

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


githree
2019-7-22 16:34:55

precisely :slightly_smiling_face:


mflatt
2019-7-22 16:39:05

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



spdegabrielle
2019-7-22 16:51:27

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.


badkins
2019-7-22 16:55:12

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:


rokitna
2019-7-23 04:56:21

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


rokitna
2019-7-23 04:59:46

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