Let me revise what I said actually, in the spirit of optimism. If an alternate syntax is considered, one thing I would suggest that is somewhat in line with Justin, is something like “visually structured data”.
I think as humans we prefer to see things and have them be simple and interesting, and text is less simple to process and less interesting than a few powerful symbols. So something like a list, ex. ‘(1 2 3), is very appealing to us. Doubly so when you can do things like quasiquote/unquote, or unquote splicing, but without the keywords. ex. `(1 ,var 4) In Lisp, we only seem to do this with lists. In JavaScript, we went from arr.concat(arr2) to [...arr, ...arr2]. The latter form is very elegant and pleasant to look at, with less cognitive load. (You read it as, make a new array, and then dump the contents of arr and then arr2 into it) No longer is there any thought about what is getting concatenated with what, or whether concat is an array or a string operation. The same could be said about object/hash table syntax. ex. { age: 5, name: “ashley” }. This led to similar shortcut forms like { age, name }, for taking two variables and putting them into a new object along with their values, or using the same spread operator to concisely move data from one object to another. Being able to put expressions in any of these, including strings, is also very powerful. ex `Hello ${name}` Clojure has adopted a similar literal for hash tables: { :age 24, :name “steve” } I can concur that these are nicer than nesting commands like (make-hash) and (set-hash blah blah blah), because they are easier to visualize, and because you feel like you are working with the structure directly as opposed to interfacing with it from a distance using a command. I think this explains why people like overloading the plus operator for string concatenation over using a string append function, or array indexing, even into a string. Whatever form a Racket2 might take, I hope it embodies a similar elegance and simplicity. (and expressive power) -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/ef5c5bd8-ba45-4c28-965b-889fa6eb9303%40googlegroups.com.