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.

Reply via email to