
The Ur Programming Language Family - dmmalam
http://www.impredicative.com/ur/
======
kragen
Just to disclaim, Ur-Scheme, which I wrote in February 2008, is not related to
Ur or Ur/Web, which are from later that year. Ur is far more interesting than
Ur-Scheme, and Adam Chlipala is a programming demigod.

~~~
Dylan16807
So there's at least three unrelated functional languages whose names start
with Ur?

(being slightly loose with definitions)

~~~
yarvin9
Also not related: Urbit.

"Ur-" is the Germanic prefix for "original or primitive," which obviously
appeals to functional programmers. And of course, Abraham was originally from
there:

[https://en.wiktionary.org/wiki/ur-](https://en.wiktionary.org/wiki/ur-)
[https://en.wikipedia.org/wiki/Ur](https://en.wikipedia.org/wiki/Ur)

~~~
kragen
Curtis, have you been banned from Hacker News 8 times? While I find your
politics odious, I would find that kind of mistreatment of you odious as well.
(I don't remember if we met, though we overlapped at Spiral Muse.)

------
thinkpad20
The Ur _language_ excites me with its type-level programming, row
polymorphism, combination of both ML modules and Haskell type classes, and
high performance. However, I have very little interest in web programming.
It's quite odd (and more than a little frustrating) that there isn't any way
to do write just regular old command-line apps (hello world etc) with Ur.
There isn't even a print function; you'd have to FFI it from C and then wrap
it inside of a web server route to get it to do anything...

~~~
klibertp
> you'd have to FFI it from C and then wrap it inside of a web server route to
> get it to do anything...

FFI? Does Ur/Web have something to this effect? I think you'd need to directly
hack on the compiler to do this. And I think that, with a language like this
one, you should consider using it only if you're ready to do just that:
heavily hack on its implementation. Otherwise the frustration would quickly
add up and using the language would quickly become a major pain.

EDIT: I read the docs and some articles on Ur/Web in 2013 I think, so it's of
course possible that it is now much more polished and easier to use.

~~~
thinkpad20
There is indeed an FFI -- I played around a little bit with it a while ago.

> you should consider using it only if you're ready to do just that: heavily
> hack on its implementation.

That's unfortunately another problem: the current Ur/Web compiler, or at least
when I last looked at it about 6 months ago, is tens of thousands of lines of
SML, with almost _zero_ comments or documentation. It's truly one of the
densest and most impenetrable code bases I've looked at. I have no idea how
Adam Chlipala is able to grok it -- I guess he's just that smart.
Unfortunately, it makes outside contribution (especially from a person with
limited experience with compilers, such as myself) nigh impossible. That, plus
it's not hosted on something like Github or Bitbucket, which would make it
much easier to contribute to.

------
cies
A good talk on Ur/Web is found in the YT channel of ICFP 2015 that just came
online, enjoy:

[https://www.youtube.com/watch?v=McYhbIubeTc&list=PLnqUlCo055...](https://www.youtube.com/watch?v=McYhbIubeTc&list=PLnqUlCo055hWNtUo1Haoq347VhCqIjs7u&index=3)

------
eutectic
I wonder how fast this compiles; other compilers which use extensive global
analysis for optimization (like Stalin Scheme and MLton) are impractically
slow.

------
yyhhsj0521
How should I pronounce it?

~~~
pluma
Based on other things named Ur, I'd guess "oor".

~~~
bgibson
not "er"?

~~~
pluma
I'm German, so I'm phonetically biased.

