[Ur] What about a new project - general purpose ur like language which collaborates with existing languages?

Timothy Beyer beyert at fastmail.net
Wed Nov 20 12:13:03 EST 2013


At Wed, 20 Nov 2013 03:42:06 +0100,
Marc Weber wrote:
> and suddenly urweb looks like to lock you in or cause additional
> work. Adam is likely to say "urweb was written for high traffic .."
> I know. Still overall work could be simplified for "ordinary projects",
> too.
> I'd like to stop "reinventing the wheel".
> 

After spending the last year attending many Haskell and functional programming
events in my local area, I'm in awe of the volume of libraries that they write,
and the fact that actual Haskell jobs exist, albeit infinitesimal.  I don't
like Haskell as a language nearly as well as Ur/Web, but it really has the
"batteries included" aspect covered.

To me the larger issue is that it seems like in any large Ur/Web program, (such
as bazqux, logitext) it becomes necessary to move most of the server side code
to a general purpose language such as Haskell/Idris/etc to speed up compile
times (presumably), and to get more library support.  Granted, I am only
hypothesizing, since the applications that I have written in Ur/Web are not of
that scale, but I want to avoid long compile times if at all possible.

At one point, I was interested in making an Ur compiler frontend so that I
could compile Ur/Web to a shared object, and then divide my Ur code into
smaller server-side sub-projects, but this doesn't seem like it would sit well
with whole program optimization (first I would need to ensure that symbol
collisions could not occur since each one would be compiled separately, then I
would need to make these symbols visible such that the programmer could load
them with dlopen, or an Ur/Web interface to something similar).

> I cannot write a new compiler on my own, but I'd be willing to
> contribute to one.

I personally would like to see a vanilla "Ur" compiler (plus a REPL) for non
web-based projects, as then I could use it at work for scripts/batch-style
applications and perhaps a QT GUI application (eg. hard to advocate a web based
application at work when your boss wants a traditional GUI application with a
specific library to boot).

I realize that doing so would defeat many of the advantages of Ur/Web, but if
something like that existed (and had decent integration with Ur/Web), it would
be tremendously useful, as Ur is a brilliant language that has some unique
features that Haskell doesn't have.

Tim



More information about the Ur mailing list