About Visual Noise: I suspect a programming audience to be skeptical of this concept, but it is a true observation that + is a simpler symbol than #. Mixing curves and lines, having intersecting lines, and having no relationship to normal shapes like circles or squares makes $ quite crazy. Learn about futura for a modern example of how mimicking geometry leads to nice results. This theory goes back to carved Roman characters, which also imitated squares, circles, and triangles. Platonic shapes!
More About Visual Noise: I also considered dropping % and # because of how noisy they are. But I think it's worth keeping (%) because it means mod in so many languages and I was kind of on the fence about #. It does not have any legitimate operator meaning I can think of though, and I don't know of any compelling uses in any language.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/1d0c94f3-e94b-47f5-87db-a9b1fcc13d11%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
I've taken the liberty to \cc Bogdan Popa, I'm really fond of his parser library (and I believe I'm not the only one)
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/a6c75f10-bece-432b-af12-87d511db7c1b%40googlegroups.com.
Note: I think it'd also be good to lose some other operators in elm-combine. If you check out the new parser code in the compiler, you will see that (<|>) and (<?>) do not exist at all. Instead, you say things like this:
expecting "literal" (oneOf [ string, char, number ])
I think this much easier to read and refactor. If you have big chunks in the oneOf, the multiline list still is nice to read. I also like that there are no precedence riddles with this approach. For example, adding (<?>) to a single entry vs the whole thing leads to very different error messages.
Between these two suggestions, the library would go from 9 operators to ~3, and I think that'd be good.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/d7a2aef9-04d3-6092-2068-e6e4715bc52b%40thomasweiser.de.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/d7a2aef9-04d3-6092-2068-e6e4715bc52b%40thomasweiser.de.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAF7GuPH9PeTB7F_Bgq1tsNbM5ujkDjSHXD6PA8hawPXTu%3DmrYQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/d7a2aef9-04d3-6092-2068-e6e4715bc52b%40thomasweiser.de.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAF7GuPH9PeTB7F_Bgq1tsNbM5ujkDjSHXD6PA8hawPXTu%3DmrYQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--Best regards,Fedor Nezhivoi
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAL91TZgq-_dfGD7tGQvpOaQdGAJuDXUNE5tpnEw_z6mTzBEMAw%40mail.gmail.com.
They seem great until you find yourself reading someone else's code and it's all weird nonsense symbols.
First, the concept of dollars has no compelling interpretation as an operator. It is not an operation like + in math or separator like / and ? in URLs. It just means dollars, so I don't feel it has a niche at all as an operator based on the prevailing cultural meaning. In fact, it's worse because you need to unlearn what it already means.
The $ symbol adds a ton of visual noise, unlike simpler symbols like < and +. So symbols that appear commonly in Haskell, like $ and <$>, not only reject the prevailing meaning of $, they are much more visually jarring. So <-> and <+> and <|> and |+| all look much nicer than anything with a dollar sign.
I'm pretty satisfied that the reasoning for each of these cases is sound, but I'm curious if folks have any practical or factual concerns that have not been addressed.
For the purpose of decision making, I am interested in your gut opinion only to the extent that I trust your design sense.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/d7a2aef9-04d3-6092-2068-e6e4715bc52b%40thomasweiser.de.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAF7GuPH9PeTB7F_Bgq1tsNbM5ujkDjSHXD6PA8hawPXTu%3DmrYQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--Best regards,Fedor Nezhivoi
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
Learn what those "weird nonsense symbols" do. Better yet, those "weird nonsense symbols" are likely to be a part of a conventional set of symbols because library authors tend to borrow from each other so once you learn what <$> does in library A you'll probably know how to use it in library B if it's present.
Abstract symbols take on the meaning we assign to them.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/95de74d4-4eda-4b13-8ec2-26f1b7da9151%40googlegroups.com.
For the purpose of decision making, I am interested in your gut opinion only to the extent that I trust your design sense.
This is a spectacularly arrogant statement, but I'm glad you've finally come out and said it since it falls in line with what I've previously said about these decisions of yours.Lastly, I know sounding like a broken record but your effort to continually make the language better for beginners is actively hurting intermediate and advanced users. People don't like breaking changes in genera. They especially don't like breaking changes that are made on a whim and with no clear benefit.
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CAORaYgawsKTy-37mSxOjKvmMAiK1%2Bt88-ASv%3DSgzrb8%3DS48ocA%40mail.gmail.com.
"if you find these symbols too arcane then RTFM,"
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/b89997e6-1207-450a-911a-f0ebdff1b941%40googlegroups.com.
I agree that meaning is made up at some point, but the prevalence of that meaning is important. To put it another way:43 75 6c 74 75 72 61 6c 20 63 6f 6e 76 65 6e 74 696f 6e 73 20 61 72 65 20 61 20 76 65 72 79 20 75 7365 66 75 6c 20 64 65 73 69 67 6e 20 74 6f 6f 6c 21If that's not clear at first, you can look it up really easily. And once you learn the ASCII hex codes, you can use them in all your emails.Then this whole community can write emails in hex to each other and wonder why people feel alienated by our objectively reasonable conventions.
On Tue, Dec 20, 2016 at 11:46 AM, Richard Feldman <richard....@gmail.com> wrote:
Fair enough. :)
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+u...@googlegroups.com.
Think about the language of math
the case against operators is that everyone unknown concept that we encounter requires effor
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/09f2f38d-31bd-4f96-a7cd-b71d09d083eb%40googlegroups.com.To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
What about the integral ∫. Does the fact that only a subset of the population has taken calculus make it less useful?
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/4e0a8e4c-c110-497e-8284-8fad9a59593e%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/CADT%2BLxqR7qH2stdc1o-ZFWkS1M9QoUYzWXfi5-4sQoVj6gKXNQ%40mail.gmail.com.
Point being: I've been burned by even the most innocuous and seemingly-useful operator!
--
You received this message because you are subscribed to the Google Groups "elm-dev" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/elm-dev/588952e1-ab33-4cc5-8b7d-b01c083c22c7%40googlegroups.com.To unsubscribe from this group and stop receiving emails from it, send an email to elm-dev+unsubscribe@googlegroups.com.
The use for hash tags does suggest using # as an indexing operator for dictionaries but I don't know that it would read all that well.
One use case that it does work well for is that in Lua it is an unary operator giving the length of a table. (The fact that the Oberon usage came to me first says something about my caffeination level this morning.) Example usage includes:
for i = 1, #array do
print( array[ i ] )
end
array[ #array + 1 ] = x -- Lua indexes from 1
Whether these uses have a natural correspondence in Elm, I don't know and as noted above I'm probably insufficiently caffeinated to say at this point. The one thought this raises for me is that if Elm were to embrace arrays more fully as an alternative to lists, then having a standard append operator might be useful but I don't know that # would be the right choice.
Mark
> On Dec 18, 2016, at 8:44 PM, Evan Czaplicki <eva...@gmail.com> wrote:
>
> Your comment inspired me to thing through # a bunch more, and I'm thinking it is probably better to get rid of it as well. It appears in SML and Clojure and Haskell, but it has no consistent meaning in those settings. It also means "hashtag" now for a lot of folks, so one could argue that it is a unary operator :P