[HN Gopher] The Ur Programming Language Family
       ___________________________________________________________________
        
       The Ur Programming Language Family
        
       Author : Tomte
       Score  : 73 points
       Date   : 2024-01-27 15:12 UTC (7 hours ago)
        
 (HTM) web link (impredicative.com)
 (TXT) w3m dump (impredicative.com)
        
       | ahmedfromtunis wrote:
       | I was preparing myself to be surprised to discover this was a
       | programming language using Akkadian, complete with cuneiform
       | script.
       | 
       | This, however, was not it!
       | 
       | That said, people are already using this language for their
       | projects -- even commercial ones:
       | http://impredicative.com/ur/users.html
        
         | troupo wrote:
         | I've learned that if there's a language, there's someone using
         | it commercially :)
        
         | Tomte wrote:
         | I stumbled across it, because bazqux.com (which I'm trialling
         | now) uses it:                   Is BazQux Reader really written
         | in Haskell and Ur/Web?         Yes. I love to use the best
         | tools available.
        
           | drive-by-kment wrote:
           | I am now also trialing bazqux. It is not bad. Is this the
           | power of the best tools available?
        
             | drive-by-kment wrote:
             | In all seriousness, this is probably the best RSS reader I
             | have used recently. It's, so much faster than what I was
             | using that I had to redo all my estimates for how long it
             | should take to do stuff with an RSS reader.
             | 
             | I had to get a stopwatch and start clocking how long it
             | takes me to do things using a computer recently, because I
             | swear like half the software I was using was slow for no
             | reason despite buying super fast ssd/ddr18 ram/cpu etc. I
             | got rid of all my games I could not launch from the desktop
             | and be playing the game within 30 seconds, and my entire
             | outlook on gaming felt better. I really hate when software
             | wastes your time.
        
         | walkerbrown wrote:
         | Yes, I was definitely expecting cuneiform and base 60 literals.
        
       | eggy wrote:
       | I immediately thought of Hoon, Nock for the Urbit world.
        
         | z5h wrote:
         | Same here. Which inevitably leads me to revisit the question
         | "Does this make enough sense to me that I want to dig into it
         | right now?". The answer is always no. But I'm going to go look
         | again right now.
        
       | sesm wrote:
       | Looks like a statically typed PHP replacement with a lot of
       | domain-specific type checks. I really wanted to see how they
       | enforce this one: 'Include client-side code that makes incorrect
       | assumptions about the "AJAX"-style services that the remote web
       | server provides', but couldn't find any examples on GitHub.
        
         | Yoric wrote:
         | It's part of the ML family, so it looks more like Elm (or
         | OCaml, or Haskell, etc.) than PHP.
         | 
         | If my memory serves, the way they enforce this is by generating
         | the client alongside the server.
        
           | shortrounddev2 wrote:
           | I think he means PHP in the sense that you're inlining code
           | with markup like in PHP (i.e: a templating engine)
        
         | manu3000 wrote:
         | Also see Wadler's Links and OCaml/Ocsigen for inline xml
         | fragments, and client + server code generation
        
       | madsbuch wrote:
       | I love this, and would love to work professionally in languages
       | like this.
       | 
       | I saw that last release was in 2020, and took myself in an
       | acquired reaction on the "staleness" of this project.
       | 
       | The thing is just, that projects like these become stable at a
       | point and need no more upgrades - from there it is horisontal
       | features that can happen in libraries.
       | 
       | This is a stark contrast to the Typescript/React ecosystem I am
       | spending my time mostly on these days. Every time something does
       | not work as expected, it is probably beucase some package was
       | updated underneath your feet.
        
         | culi wrote:
         | Elm claims the same thing as justification for its lack of
         | updates
         | 
         | https://iselmdead.info/
         | 
         | But that usually doesn't go over very well
        
           | G4BB3R wrote:
           | Except Evan and his wife are developing elm for backend and
           | elm.studio
        
         | amatecha wrote:
         | Yeah, sometimes it blows my mind just how much time I have to
         | spend dealing with updates to dependent (or meta-dependent)
         | packages because our project, or one we integrate with, used
         | some popular framework or library. With modern web stuff, even
         | supposedly-non-breaking changes sometimes introduce bugs or
         | change behaviour in subtle ways that cause issues.
        
       | blacksqr wrote:
       | It's amusing that a language called "Ur" is built on antecedent
       | languages.
        
         | culi wrote:
         | Ur the city was also built on antecedent cities and cultures.
         | And what programming language _isn 't_ built on an antecedent
         | language?
        
           | samatman wrote:
           | There's the city of Ur, but there is also the prefix ur-,
           | meaning primitive or original.
           | 
           | What programming language isn't built on an antecedent
           | language? Why, the ur-language, of course! Arguably, this is
           | FORTRAN.
        
       | banana_feather wrote:
       | Urweb is extremely cool. My own attempt to use it for personal
       | projects was shut down by how isolated the server component is; I
       | think I was trying to read a json file on the server from within
       | urweb and there just was not a way to do it without using the C
       | FFI. Even BazQux reader had some workaround that just read in a
       | stream of bytes which seemed to side step the security model
       | entirely.
        
         | nextos wrote:
         | Adam Chlipala is behind this and his formal methods books are
         | outstanding.
         | 
         | In particular, FRAP is really great:
         | http://adam.chlipala.net/frap
        
       | crq-yml wrote:
       | Lately, esoteric realms of computing have started trending on HN
       | every day - lazy evaluator languages and concatenative languages
       | and array languages and research operating systems and standards
       | that are no longer in use or died as a proposal.
       | 
       | It's been quite a few years since this was a daily feature so I
       | assume something happened. Maybe layoffs.
        
         | _benj wrote:
         | Whatever it is, a change of the usual "AI"/"GPT"/"LLM" barrage
         | we've had for the last months is welcome!
         | 
         | I miss coming to HN and seeing cool things that I wasn't aware
         | of!
        
       | steinuil wrote:
       | I've used Ur/Web for an old project
       | (https://github.com/steinuil/negoto). It's a very cool language
       | with a lot of great ideas, and once you get going it really makes
       | it easy to set up a server that interacts with a DB and dynamic
       | frontend features.
       | 
       | The compiler, and its error messages, are somewhat inscrutable if
       | you don't fully understand some of the more advanced features of
       | the language, and some stuff I felt I was honestly not smart
       | enough to figure out after a while. There was a point for me
       | where most of it clicked together, but it took a long while to
       | get there.
       | 
       | Ultimately what made me stop using it after that project was the
       | features of the server itself. You _can_ compile it to a self-
       | contained HTTP server, but some issues that I don 't remember
       | right now made it unfit to use outside of development, so you're
       | left with CGI and FastCGI. Like another comment mentioned,
       | there's some stuff you can only do using the C/JS FFI, and
       | Ur/Web's transactional nature sometimes makes it hard to tie
       | these additions into the rest of the language. There's also some
       | things (such as submitting a form with multiple files, IIRC) that
       | are not supported by the compiler, and even after submitting a
       | patch to fix some issues with the SQLite backend I didn't feel
       | comfortable enough with the big pile of terse SML to patch those
       | in.
        
       | dang wrote:
       | Related. Others?
       | 
       |  _The Ur Programming Language Family_ -
       | https://news.ycombinator.com/item?id=10169244 - Sept 2015 (18
       | comments)
       | 
       |  _Ur /Web, a Simple and Powerful Language for Secure Web
       | Applications_ - https://news.ycombinator.com/item?id=8793272 -
       | Dec 2014 (1 comment)
       | 
       |  _Ur /web: pure functional, statically typed web programming_ -
       | https://news.ycombinator.com/item?id=7829100 - June 2014 (45
       | comments)
       | 
       |  _Ur /Web in production_ -
       | https://news.ycombinator.com/item?id=7072437 - Jan 2014 (1
       | comment)
       | 
       |  _A Google Reader Replacement written in Haskell and Ur_ -
       | https://news.ycombinator.com/item?id=5961570 - June 2013 (46
       | comments)
       | 
       |  _The UR Programming Language_ -
       | https://news.ycombinator.com/item?id=1757199 - Oct 2010 (1
       | comment)
       | 
       |  _The Ur Programming Language Family_ -
       | https://news.ycombinator.com/item?id=1412503 - June 2010 (11
       | comments)
       | 
       |  _Ur /Web: The Ur Programming Language Family_ -
       | https://news.ycombinator.com/item?id=810726 - Sept 2009 (1
       | comment)
        
       ___________________________________________________________________
       (page generated 2024-01-27 23:00 UTC)