spdegabrielle
2019-7-17 18:13:47

@spdegabrielle has joined the channel


spdegabrielle
2019-7-17 18:13:47

@spdegabrielle set the channel purpose: Discussion group for Racket2 RFC process https://github.com/racket/racket2-rfcs Due to the ephemeral nature of Slack chats it it is probably a good idea to turn any outcomes into RFC’s or issues on the Racket2 RFC’s repository.


soegaard2
2019-7-17 18:15:21

@soegaard2 has joined the channel


mflatt
2019-7-17 18:15:48

@mflatt has joined the channel


alexknauth
2019-7-17 18:17:48

@alexknauth has joined the channel


sean
2019-7-17 18:19:22

@sean has joined the channel


samth
2019-7-17 18:37:10

@samth has joined the channel


gfb
2019-7-17 18:37:25

@gfb has joined the channel


spdegabrielle
2019-7-17 18:44:12

@spdegabrielle set the channel purpose: Discussion group for Racket2 RFC process https://github.com/racket/racket2-rfcs Due to the ephemeral nature of Slack chats it it is probably a good idea to turn any outcomes into RFC’s or issues on the Racket2 RFC’s repository.


spdegabrielle
2019-7-17 18:44:12

@spdegabrielle set the channel topic: Racket2


spdegabrielle
2019-7-17 18:47:01

@spdegabrielle set the channel purpose: Discussion group for Racket2 RFC process https://github.com/racket/racket2-rfcs Slack chat doesn’t last - turn any outcomes into RFC’s or issues on the Racket2 RFC’s repository.


githree
2019-7-17 19:00:03

@githree has joined the channel


ryanc
2019-7-17 19:00:23

@ryanc has joined the channel


githree
2019-7-17 19:05:01

considering how much commotion the announcement has caused so far I have a very fitting working name proposal #lang ruckus


stamourv
2019-7-17 19:19:03

@stamourv has joined the channel


spdegabrielle
2019-7-17 19:25:20

I just thought this in here; leading sigils like scribble at-exp are the first thing that comes to mind for algebra style function notation: @foo{blah blah blah} reads as (foo "blah blah blah")


me1531
2019-7-17 19:27:07

@me1531 has joined the channel


spdegabrielle
2019-7-17 19:28:59

((get-my-fun a b) c d) becomes @get-my-fun(a, b)(c, d). add that to the free use of parenthesis for grouping and @get-my-fun(a, b)(c, d) can also be expressed as (@get-my-fun(a, b))(c, d)


spdegabrielle
2019-7-17 19:31:36

I’m not clear if this works with the goal in @mflatt email; >>* Any new syntax must specifically preserve Racket-style language-oriented programming, which means everything from defining simple pattern-based macros to building whole new #langs with a smooth path in between. Again, our current macro technology must be an enabler for a new surface syntax, not a casualty. <<


spdegabrielle
2019-7-17 19:34:46

Make an RFC for Matthew’s 3 syntactic principles’ at https://github.com/racket/racket2-rfcs/issues/3


notjack
2019-7-17 19:45:17

@notjack has joined the channel


markus.pfeiffer
2019-7-17 19:45:54

@markus.pfeiffer has joined the channel


sergej
2019-7-17 19:47:18

@sergej has joined the channel


popa.bogdanp
2019-7-17 20:01:37

@popa.bogdanp has joined the channel


spdegabrielle
2019-7-17 20:06:10

`Racket2’ is a temporary name


notjack
2019-7-17 20:13:25

Matthew had a slide about the racket2 name. TL;DR: don’t panic. Hasn’t been decided whether the new #lang will be called racket2 or something like rhombus or ruckus or whatever.


michaelmmacleod
2019-7-17 20:20:18

@michaelmmacleod has joined the channel


zafar.huma
2019-7-17 20:25:48

@zafar.huma has joined the channel


spdegabrielle
2019-7-17 20:39:26

There needs to be an RFC for name selection. I’d suggest minimum criteria of; easy to spell, easy to search, cheap domain name that isn’t too obscure (I paid for a .name domain that gets rejected by email validation scripts)


beyer.andrew
2019-7-17 20:49:19

@beyer.andrew has joined the channel


abmclin
2019-7-17 20:55:04

@abmclin has joined the channel


dan
2019-7-17 20:57:23

@dan has joined the channel


markus.pfeiffer
2019-7-17 21:03:41

lang ¯_(ツ)_/¯


markus.pfeiffer
2019-7-17 21:04:42

(unfortunately illegal :disappointed:)


alexknauth
2019-7-17 21:05:40

I think we can get something close to algebra-style functions f(expr1, expr2) and grouping-parens (expr) if we get rid of zero-argument functions and add tuples. Make f x y mean applying f two the two arguments x and y Make () mean the empty-tuple or unit value, so that zero-argument function can be approximated by f () Make (expr) mean the same as expr in all cases Make (expr1, expr2, ...) mean a tuple, so that if people want to they can use f (x, y), passing arguments in a single tuple However, we should not do anything to disallow (f x y) as a function call.


markus.pfeiffer
2019-7-17 21:05:52

see, this needs to be fixed, I want to at least be able to have #lang ☕


markus.pfeiffer
2019-7-17 21:06:21

The algebraist in me applies functions from the right :wink:


rokitna
2019-7-17 21:11:53

@rokitna has joined the channel


samdphillips
2019-7-17 21:12:26

@samdphillips has joined the channel


sorawee
2019-7-17 21:23:45

@sorawee has joined the channel


mario.luis.guimaraes
2019-7-17 21:48:57

@mario.luis.guimaraes has joined the channel


spdegabrielle
2019-7-17 21:55:44

Very interesting would you be up for trying a first draft of an RFC for this approach?


yfangzhe
2019-7-17 22:01:53

@yfangzhe has joined the channel


travis.hinkelman
2019-7-17 23:21:50

@travis.hinkelman has joined the channel


mario.luis.guimaraes
2019-7-17 23:56:00

Hello! Here’s my take on the topic of this channel: https://groups.google.com/d/msg/racket-users/ewWuCvbe93k/ocbpQeB9AQAJ


mario.luis.guimaraes
2019-7-17 23:58:20

> Hello, community! > > Let me tell a few words about the idea of transitioning Racket to a traditional syntax to gain popularity: I think this idea is a fallacy. Racket is not popular due to its s-expression syntax, because Clojure has such a syntax, and still, it seems popular. So I don’t think such step will raise the adoption of Racket. > > There is nothing new in having a traditional syntax language with Lisp-like macros. There is one, it’s Elixir. Note that I have lots of experience writing complex macros in Elixir, and I expect writing macros in an s-expression language to be much easier, simply because in such a language, its notation and its AST are isomorphic, i.e., they share the same syntax. Let me explain this: in Elixir, sometimes, the way to verify if a macro generates the code we want, is to see what this code’s AST looks like, which in Elixir is a kind of s-expression (yes!), and from this, infer how to build the AST inside the macro using the Elixir notation; this effort is totally unnecessary in languages in which the notation and the AST are the same thing. > > In short: Clojure is a popular s-expression language on the JVM, and Elixir is a popular Lisp–2 language on the ErlangVM, consequently, the Racket 2 language will contribute nothing to Racket’s wide adoption. In fact, I think it will be a strategic mistake, if popularity is all about. > > Does Racket wants to be popular in the industry? Then Racket must focus on being a language-oriented programming ecosystem on a popular VM, like the ErlangVM, the JVM, and the WebAssemblyVM. This means to stop working on the RacketVM, if there’s such a thing, and to start moving Racket’s language-oriented programming features into these popular VMs. I don’t think that having a kind of Elixir++ on an unpopular VM, will make the industry adopt such a language. > > For example, I would love to see Racket become a statically typed Lisp-like language-oriented programming ecosystem on the Erlang VM. I am sure if this ever happens, there will be hordes of programmers jumping immediately into such ecosystem. (Ehh, I think the Shen language is the closest thing there is, but oh my, nothing can have a more terrible marketing strategy than that of Shen). > > To conclude, I wish a great future to Racket, and will continue following its future development. Ah, I like the Hackett idea also, very very interesting, and promising direction, but again it needs to target a popular VM. > > Cheers,


pocmatos
2019-7-18 05:53:38

@pocmatos has joined the channel