[Ur] An Ur/Web implementation of TodoMVC

Timothy Beyer beyert at fastmail.net
Fri Jun 20 01:12:48 EDT 2014


At Thu, 19 Jun 2014 17:18:31 -0400,
Adam Chlipala wrote:
> 
> Here we're running into the dreaded syntax tar pit, where everything is 
> subjective. ;)
> 
> I don't like the name duplication from your second version, which is 
> indeed supported by Standard ML, the biggest inspiration for Ur/Web syntax.
> 
> I also like having fewer orthogonal constructs in the language. Since 
> explicit [case] is necessary in some places, I like the idea of making 
> it the only way to do pattern matching.
> 
> It's possible I could be convinced to tweak the syntax in one of the 
> ways you're suggesting, but I'm inclined against it, for the reasons 
> I've given.  More verbose code can be more readable code!

I suspected that you'd say that. :)

It's not a deal breaker for me, as I generally prefer a language with refined
semantics over a sugary one that has a lot of flaws, but I don't like mandatory
verbosity at all, and even more so, I don't like super long, deeply indented
functions like the one that OP was criticizing.

In the case of the latter, it looks like it would be trivial to separate it
into smaller functions, so it's just a matter of style and preference.  My only
gripe is that the example is ugly, and doesn't make for good marketing.

I tend to think of Ur as SML, but improved, so that's why I was puzzled for the
longest time as to why I couldn't get examples like second mapX' to compile.  I
just figured that I was writing invalid code, and gave up.

Tim



More information about the Ur mailing list