Re: Alternate set literal syntax?

2012-03-28 Thread Devin Walters
'(Devin Walters) On Tuesday, March 27, 2012 at 8:54 PM, Cedric Greevey wrote: On Tue, Mar 27, 2012 at 3:05 PM, Herwig Hochleitner hhochleit...@gmail.com (mailto:hhochleit...@gmail.com) wrote: 2012/3/26 Cedric Greevey cgree...@gmail.com (mailto:cgree...@gmail.com): (comp {:k1 5 :k2 6}),

Re: Alternate set literal syntax?

2012-03-28 Thread Timothy Baldridge
Let's take a step back and look at this idea from a new user's view. The way I see it, whatever we do, we'll have to explain to users how to create sets. Hashmaps, and vectors follow (roughly) the JSON/Python syntax: vector = [1 2 3 4] map = {1 2 3 4} So how to these languages represent sets?

Re: Alternate set literal syntax?

2012-03-28 Thread Devin Walters
On Wednesday, March 28, 2012 at 12:58 PM, Timothy Baldridge wrote: Let's take a step back and look at this idea from a new user's view. The way I see it, whatever we do, we'll have to explain to users how to create sets. Hashmaps, and vectors follow (roughly) the JSON/Python syntax: vector

Re: Alternate set literal syntax?

2012-03-28 Thread Timothy Baldridge
That's surprising to me. You never use something like this? (map #{:fred :bob :ted} [:fred :bob]) I think it's more that most of what I work with is either seq like, vectors, or has some sort of key-value relationship. Most of the time if I need a set of unique keys, I also need sets of data

Re: Alternate set literal syntax?

2012-03-28 Thread Cedric Greevey
On Wed, Mar 28, 2012 at 3:56 PM, Devin Walters dev...@gmail.com wrote: We have: '(), [], {}, #{} Not quite. '() isn't strictly analogous to #{}, because quote suppresses evaluation of what's inside. user= (def foo 42) #'user/foo user= (for [x ['(foo) [foo] {:a foo} #{foo}]] (println

Re: Alternate set literal syntax?

2012-03-28 Thread Timothy Baldridge
not-unreasonable because otherwise people will acquire a negative opinion of me. On the contrary...I find that people who admit that their cool idea after further thought probably isn't so cool garner better respect from the community at large. Just my $0.02... Timothy -- You received this

Re: Alternate set literal syntax?

2012-03-28 Thread Cedric Greevey
On Wed, Mar 28, 2012 at 7:36 PM, Timothy Baldridge tbaldri...@gmail.com wrote: not-unreasonable because otherwise people will acquire a negative opinion of me. On the contrary...I find that people who admit that their cool idea after further thought probably isn't so cool garner better

Re: Alternate set literal syntax?

2012-03-28 Thread Sean Corfield
On Wed, Mar 28, 2012 at 12:56 PM, Devin Walters dev...@gmail.com wrote: The set literal also seem fairly abundant in test code. Yup, I have a bunch of tests where success is to get back any of a known set of values. We have: '(), [], {}, #{} Well... (), [], {}, #{} - the ' isn't needed on the

Re: Alternate set literal syntax?

2012-03-27 Thread Herwig Hochleitner
2012/3/26 Cedric Greevey cgree...@gmail.com: (comp {:k1 5 :k2 6}), that is not used in production whereas (comp {:k1 5 :k2 6}) (note spacing) is used in production but isn't broken. (comp {:k1 5 :k2 6}) _is_ used in Production, because it works and somebody left it in. Without even showing a

Re: Alternate set literal syntax?

2012-03-27 Thread Cedric Greevey
On Tue, Mar 27, 2012 at 3:05 PM, Herwig Hochleitner hhochleit...@gmail.com wrote: 2012/3/26 Cedric Greevey cgree...@gmail.com: (comp {:k1 5 :k2 6}), that is not used in production whereas (comp {:k1 5 :k2 6}) (note spacing) is used in production but isn't broken. (comp {:k1 5 :k2 6}) _is_

Re: Alternate set literal syntax?

2012-03-26 Thread Cedric Greevey
On Mon, Mar 26, 2012 at 12:45 AM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: On Mon, Mar 26, 2012 at 12:22 PM, Cedric Greevey cgree...@gmail.com wrote: Isn't this just another way of saying humans will have to read to the end to see what the form is? I provided a response to

Re: Alternate set literal syntax?

2012-03-26 Thread Ambrose Bonnaire-Sergeant
On Mon, Mar 26, 2012 at 2:35 PM, Cedric Greevey cgree...@gmail.com wrote: I don't agree, and furthermore I consider responding to someone's reasoned debate with an accusation that they in any way failed to comprehend something to be insulting and rude. The onus is on you to communicate

Re: Alternate set literal syntax?

2012-03-26 Thread László Török
The only redundant syntax in that list #^{} vs. ^{}. A wart in the language, but a clear improvement nonetheless. Thankfully Clojure is very conservative with breaking changes. All others serve a purpose, no matter how minor. How is this proposal (on *any* alternative set syntax) different

Re: Alternate set literal syntax?

2012-03-26 Thread Cedric Greevey
On Mon, Mar 26, 2012 at 5:29 AM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: I will continue the debate with more class. Thank you. Isn't this just another way of saying humans will have to read to the end to see what the form is? No, this is a way of saying the {{}}

Re: Alternate set literal syntax?

2012-03-26 Thread Herwig Hochleitner
So to summarize: You suggest to a) Break expressions like (comp {:k1 5 :k2 6}) or {{:foo 5} 4} which are legal and therefore used in production; when challenged you propose additional workarounds that take a whole page to even informally describe b) Introduce the completely new notational

Re: Alternate set literal syntax?

2012-03-26 Thread Devin Walters
Agree with Herwig 100%. This conversation has been interesting to me only insofar as I've discovered *more* problems with the initial proposal than I think I would have found by myself. '(Devin Walters) On Monday, March 26, 2012 at 1:12 PM, Herwig Hochleitner wrote: So to summarize: You

Re: Alternate set literal syntax?

2012-03-26 Thread Cedric Greevey
On Mon, Mar 26, 2012 at 2:12 PM, Herwig Hochleitner hhochleit...@gmail.com wrote: So to summarize: You suggest to a) Break expressions like (comp {:k1 5 :k2 6}) or {{:foo 5} 4} which are legal and therefore used in production; No. The first suggestion does not break {{:foo 5} 4}, which

Re: Alternate set literal syntax?

2012-03-26 Thread Cedric Greevey
On Mon, Mar 26, 2012 at 3:22 PM, Devin Walters dev...@gmail.com wrote: Agree with Herwig 100%. That's rather odd, seeing as how Herwig didn't even participate in any reasoned debate in this thread; instead, he just threw a drive-by flame at me out of the blue and without provocation. This

Re: Alternate set literal syntax?

2012-03-26 Thread Laurent PETIT
To all, please: - either the topic doesn't interest you, and then let the thread die by not answering to it. - either you want to participate, and then answer questions, ask new ones, period. Piece to all, Laurent Le 26 mars 2012 à 21:34, Cedric Greevey cgree...@gmail.com a écrit : On Mon,

Re: Alternate set literal syntax?

2012-03-25 Thread Softaddicts
I follow this list mostly to avoid losing track of things as time passes and keep a record of significant things. I do not read every post, I filter at glance accoring to the subject and rarely by the initial poster. A jump in the number or replies in a thread also triggers my attention. I

Re: Alternate set literal syntax?

2012-03-25 Thread Cedric Greevey
On the contrary, discussing ideas relevant to Clojure is quite on topic here. Once again: if *you* find this thread useless or uninteresting, *you* can safely ignore it, but telling everyone else what to discuss and what not to discuss (when they're not straying from the list's official topic too

Re: Alternate set literal syntax?

2012-03-25 Thread Ben Smith-Mannschott
On Sat, Mar 24, 2012 at 04:44, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} without breaking anything. It's not possible for it to be a valid map literal, because the outer

Re: Alternate set literal syntax?

2012-03-25 Thread Evan Mezeske
Doesn't this amount to arguing over what color the bike shed should be? [1] Is there anything I could do with Clojure with an aesthetically different (but functionally identical ) set notation that I cannot do with Clojure right now? Anyway, no matter how beautiful a new set notation might be

Re: Alternate set literal syntax?

2012-03-25 Thread Cedric Greevey
On Sun, Mar 25, 2012 at 5:24 PM, Evan Mezeske emeze...@gmail.com wrote: Is there anything I could do with Clojure with an aesthetically different (but functionally identical ) set notation that I cannot do with Clojure right now? Attract 0.7 more people per 1000 on average to adopt the

Re: Alternate set literal syntax?

2012-03-25 Thread Cedric Greevey
On Sun, Mar 25, 2012 at 8:36 PM, Cedric Greevey cgree...@gmail.com wrote: How often do we get What are the differences among 100, 0144, and 0x64, and which should I use when? ;) Nevermind: #^{:foo 42} thingy vs. ^{:foo 42} thingy; (deref foo) vs. @foo; #'bar vs. (var bar); #(+ %2 (* 2 %1)) vs.

Re: Alternate set literal syntax?

2012-03-25 Thread Brian Rowe
I think one of the strengths of clojure (over at least CL certainly) is it's a warm and helpful community. Please, let's not poison that. I think this response was not only not helpful, it was also, in some small way, damaging to the community. Please don't reply to legitimate questions in

Re: Alternate set literal syntax?

2012-03-25 Thread Cedric Greevey
Embarrassingly, it took this long for me to realize there's a much tidier way to alter the reader: Where the exception throw is for map literals with odd numbers of key-or-value items, wrap the throw in a check that counts the number of additional consecutive } tokens, stopping when it hits a

Re: Alternate set literal syntax?

2012-03-25 Thread Ambrose Bonnaire-Sergeant
On Mon, Mar 26, 2012 at 11:46 AM, Cedric Greevey cgree...@gmail.com wrote: So ... any further objections, other than it's unlikely anyone cares enough to bother actually making such a change? :) It breaks the uniformity of Clojure syntax. Almost all sugar is prefix: you can identify syntax

Re: Alternate set literal syntax?

2012-03-25 Thread Cedric Greevey
On Sun, Mar 25, 2012 at 11:59 PM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: On Mon, Mar 26, 2012 at 11:46 AM, Cedric Greevey cgree...@gmail.com wrote: So ... any further objections, other than it's unlikely anyone cares enough to bother actually making such a change? :) It

Re: Alternate set literal syntax?

2012-03-25 Thread Ambrose Bonnaire-Sergeant
On Mon, Mar 26, 2012 at 12:22 PM, Cedric Greevey cgree...@gmail.com wrote: On Sun, Mar 25, 2012 at 11:59 PM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: On Mon, Mar 26, 2012 at 11:46 AM, Cedric Greevey cgree...@gmail.com wrote: So ... any further objections, other than

Re: Alternate set literal syntax?

2012-03-24 Thread Cedric Greevey
On Sat, Mar 24, 2012 at 1:28 AM, Sean Corfield seancorfi...@gmail.com wrote: On Fri, Mar 23, 2012 at 8:44 PM, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} My concern is that

Re: Alternate set literal syntax?

2012-03-24 Thread Softaddicts
I would suggest that we introduced some klingon characters in the language, we could then satisfy all these alien desires to change a syntax that has been established 4 years ago. We have a product driving an hospital here, your esthetic considerations do not fit in my deployment plan. This is

Re: Alternate set literal syntax?

2012-03-24 Thread Alexander Yakushev
Your point is clear and valid but isn't it a bit harsh to write the response in a tone like this? After all we are asking and answering questions here, it's not like something is going to change after one request. BTW it is nice to hear Clojure being reliable enough in people's eyes to be

Re: Alternate set literal syntax?

2012-03-24 Thread Softaddicts
Hey, we all have our rough edges :) I'm 50, there's less life in front of me than behind. Debating about the sex of angels looks to me a bad way of using the not so many hours left in our lives on significant problems before the final exit. It's not the first time requests similar to this one

Re: Alternate set literal syntax?

2012-03-24 Thread Softaddicts
Forgot to add these: http://dev.clojure.org/display/community/Clojure+Success+Stories http://www.quora.com/Whos-using-Clojure-in-production Your point is clear and valid but isn't it a bit harsh to write the response in a tone like this? After all we are asking and answering questions

Re: Alternate set literal syntax?

2012-03-24 Thread Scott Jaderholm
On Sat, Mar 24, 2012 at 1:44 AM, Cedric Greevey cgree...@gmail.com wrote: On Sat, Mar 24, 2012 at 1:28 AM, Sean Corfield seancorfi...@gmail.com wrote: On Fri, Mar 23, 2012 at 8:44 PM, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify

Re: Alternate set literal syntax?

2012-03-24 Thread Jeremy Heiler
On Sat, Mar 24, 2012 at 6:38 PM, Scott Jaderholm jaderh...@gmail.com wrote: On Sat, Mar 24, 2012 at 1:44 AM, Cedric Greevey cgree...@gmail.com wrote: As for the aesthetics, what I like about {{...}} is that the delimiters are symmetrical, unlike #{...}, and it would allow one to reserve use of

Re: Alternate set literal syntax?

2012-03-24 Thread Cedric Greevey
On Sat, Mar 24, 2012 at 3:46 PM, Softaddicts lprefonta...@softaddicts.ca wrote: Hey, we all have our rough edges :) I'm 50, there's less life in front of me than behind. Debating about the sex of angels looks to me a bad way of using the not so many hours left in our lives on significant

Re: Alternate set literal syntax?

2012-03-24 Thread Cedric Greevey
On Sat, Mar 24, 2012 at 6:38 PM, Scott Jaderholm jaderh...@gmail.com wrote: Sorry to break it to you, but # is used in many places other than lambdas, so even if you remove it from #{} you still have foo#, #^foo, #^{foo bar}, #'foo, #foo, #_foo, #foo{1 2}, #foo[1 2], and others I've probably

Re: Alternate set literal syntax?

2012-03-24 Thread ChrisR
I don't mind the #{} syntax, however I feel that if alternate syntax were to be introduced (for whatever datatype) it should be the unicode parenthesis since they 1. Look nice, 2. No addition of extra characters (I value succinctness), 3. They work in most common existing structured editing

Alternate set literal syntax?

2012-03-23 Thread Cedric Greevey
#{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} without breaking anything. It's not possible for it to be a valid map literal, because the outer {...} pair has only one object inside it and a map literal requires an even

Re: Alternate set literal syntax?

2012-03-23 Thread Ambrose Bonnaire-Sergeant
I'm a fan of #{foo bar baz}. Ambrose On Sat, Mar 24, 2012 at 11:44 AM, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} without breaking anything. It's not possible for it to

Re: Alternate set literal syntax?

2012-03-23 Thread Alex Baranosky
Even if #{...} was ugly (which I don't feel one way or the other on), having two special syntaxes for the same thing is even uglier than having one ugly set literal notation :) On Sat, Mar 24, 2012 at 12:19 AM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: I'm a fan of #{foo bar

Re: Alternate set literal syntax?

2012-03-23 Thread Sean Corfield
On Fri, Mar 23, 2012 at 8:44 PM, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} My concern is that {{1 2 3 4}5} is currently legal - a map with a map as a key and 5 as the value.