

The UR Programming Language - chasingsparks
http://www.impredicative.com/ur/

======
plesn
Beautiful language and beautiful library for web programming. It imports all
the practical stuff from heavy theory and mixes it in a coherent environement.

I've seen at least : monads for effects, functionnal reactive programming for
reactive interfaces depending on signals (generating javascript behind the
scene) and type level functions and records for powerful metaprogaming /
generic programming in the haskell sense (independant of the types but
dependant of their structure).

The last point is a very powerful one, making Ur's type system more expressive
than Haskell's (but I saw recently that Haskell will also introduce kinds).

I'm not knowledgable enough, so I would be interested in an explanation of
what the advantage of those compared to SYB-like generics (I would say no
runtime type info attached and so more static checking ?). I think generics
are not used enough and maybe Ur has a good point here : making easier and
safe all the boilerplate of manipulating data representations, which is
especially important in a world like web programming.

And I would also like to know what's with in the XML and SQL DSL's : is it a
combinator library with syntactic sugar (I guess Scala does this) or is there
more type hackery in it also using type transformations ?

