The Ur Programming Language(impredicative.com)
impredicative.com
The Ur Programming Language
http://www.impredicative.com/ur/
5 comments
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...
I agree, although I also have interest in web programming, I am not too excited about learning a new language I can only use for web programming. But the language itself looks very attractive.
If this were made into a general-purpose language it could have the potential to be an even better alternative to OCaml and Haskell.
If this were made into a general-purpose language it could have the potential to be an even better alternative to OCaml and Haskell.
> 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.
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.
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.
> 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.
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=PLnqUlCo055...
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.
So there's at least three unrelated functional languages whose names start with Ur?
(being slightly loose with definitions)
(being slightly loose with definitions)
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.wikipedia.org/wiki/Ur
"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.wikipedia.org/wiki/Ur
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.)
Urbit is the third one I meant.
I wonder how fast this compiles; other compilers which use extensive global analysis for optimization (like Stalin Scheme and MLton) are impractically slow.