Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I came across the Ur/Web project during my search for web frameworks for Haskell-like languages. It looks like a very interesting project done by one person.

Basically, it is a domain-specific purely functional language for web programming, taking the best of ML and Haskell. The syntax is ML, but there are type classes and monad from Haskell, and it's strictly evaluated. Server-side is compiled to native code, client to Javascript. See the slides and FAQ page for other advertised advantages.

Looking at the demos and their source code, I think the project is very promising. The latest version is something 20110123, so it seems to be under active development at this time.

My question: Has anybody here had any further experience with it? Are there problems/annoyances compared to Haskell, apart from ML's slightly more verbose syntax?

Even if it's not well known yet, I hope more people will know of it. OMG this looks very cool to me. I don't want this project to die!!

share|improve this question
Nitpick: Ur/Web is not a programming language for web programming. Ur is a general purpose programming language, Ur/Web is a web framework written in Ur, which takes advantage of Ur's type system to provide static guarantees about the safety and funcitonality of the web application. (To be fair, though: Ur was specifically designed to support Ur/Web.) –  Jörg W Mittag Mar 14 '11 at 11:32
I see. Thanks Jörg :D –  Phil Mar 14 '11 at 12:05

3 Answers 3

up vote 10 down vote accepted

We've used it for a security-conscious client and noted the following:

  • As a language, it's a pleasure to work with. We didn't feel the ML-based syntax is particularly verbose compared to Haskell.
  • There are precious few how-tos outside of the demos and documentation provided on http://www.impredicative.com/ur/.
  • We've been spoiled that many other languages now have faster interfaces to the web server. Using FastCGI felt like a step backward.
  • SQL programming felt a bit bunched up.
  • Brush up on your math to fully understand what the language/framework does for you.

Any negatives can be attributed to the fact it's brand new. Give it some love. It deserves it. Maybe you can become a vocal advocate and making finding Ur/Web resources less of a chore.

share|improve this answer
Maybe you can comment on Adam's reply and explain what "bunched up" means? Thanks in advance. –  Janus Troelsen Jul 3 '12 at 18:34

The one thing I would worry about is that it is still pretty new. Haskell and Erlang have both been around for a long time. This means that a lot of the easy bugs in both languages have long since been worked out. I would be very skeptical that their code is as fast and safe as you can do in haskell for that reason.

Also the demos looked very web 1.0.

share|improve this answer
Yea I agree the demos look a bit primitive. But if it has the same level of power as Haskell, I believe there will be more features soon. I was also skeptical at the "more efficient than typical C" part. But this work is pretty impressive if everything was really done by just 1 person :D –  Phil Mar 14 '11 at 7:57
I will take a longer look at some point, hell I hope they do well! More frameworks and people trying new stuff is always good –  Zachary K Mar 14 '11 at 8:38

I'm the author of Ur/Web. I just created this account and so don't have enough mojo to respond to other past responses.

Ur/Web allows plugins to implement different web protocols, so, if you want to see some other protocol besides CGI, FastCGI, or HTTP, you may be able to implement it, or ask me to implement it. :) I genuinely haven't been aware to this point of any alternative folks were looking for.

What does it mean for SQL programming to feel "bunched up"?

Re: complaints about "Web 1.0" look, I think of that as a feature designed to save time for people who don't really want to be using this language. ;) There are no missing features that I'm aware of which prevent writing applications that look however you like, and I believe this is apparent once you grok the basic set-up of the language and libraries.

Finally, ScantRoger, I'd love to hear about your experiences applying Ur/Web with a client! I don't know if it would be bad form to give my contact information here, but there's a link to my personal web site at the bottom of the Ur front page.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.