[HN Gopher] Expresso: A simple expressions language with polymor...
       ___________________________________________________________________
        
       Expresso: A simple expressions language with polymorphic extensible
       row types
        
       Author : wtetzner
       Score  : 37 points
       Date   : 2020-06-12 18:11 UTC (4 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | lalaithion wrote:
       | This is amazing! What I really want on top of this language is
       | the ability to take protobuf or cap'n'proto definitions and be
       | able to use them seamlessly in this language, and then spin up
       | AWS lambda or GCP functions that use this language + proto
       | service definitions to communicate with the outside world.
        
       | throwaway894345 wrote:
       | I wish there were more statically typed embeddable languages that
       | weren't functional. I mostly make tools for developers and that
       | audience doesn't especially find the functional syntax or
       | paradigm to be very helpful.
        
         | centimeter wrote:
         | Well-designed type systems tend to show up in functional
         | languages for good reason, especially if we restrict ourselves
         | to small languages. It's much easier to make coherent typing
         | rules in languages with clean semantics.
        
         | dunefox wrote:
         | Developers don't find functional languages helpful? Do you
         | somehow believe that only Java programmers are called
         | developers or what am I missing here?
        
           | brundolf wrote:
           | Maybe they meant "the particular developers that [they] make
           | tools for"
        
           | throwaway894345 wrote:
           | > what am I missing here?
           | 
           | Java isn't the only non-functional language and by virtually
           | every measure, functional languages rank lower than other
           | language paradigms on just about every index (e.g., TIOBE
           | doesn't have a single functional language in their top 20).
           | If I had to guess, people find the spartan syntax hard to
           | read and gratuitously unfamiliar, especially considering
           | there are many highly-ranked languages which borrow
           | functional concepts but retain the more structured (and
           | probably more human-readable) syntax.
        
             | smabie wrote:
             | I mean, Scala is functional, pretty popular, and has a
             | familiar syntax. Also ReasonML, if that counts.
        
         | brundolf wrote:
         | It's my guess that a rich static type system would be harder to
         | implement for a non-functional language, due to mutability and
         | such. Though there could also just be cultural overlap between
         | the people who want to write a small statically-typed language
         | and the people who like the functional paradigm
        
           | throwaway894345 wrote:
           | > It's my guess that a rich static type system would be
           | harder to implement for a non-functional language, due to
           | mutability and such.
           | 
           | Only if you represent (im)mutability in the type system, and
           | I would argue that you shouldn't for an embedded scripting
           | language. We don't want to constrain every aspect of the
           | program to the type system; we just want some quick assurance
           | that the shapes snap together properly.
           | 
           | > Though there could also just be cultural overlap between
           | the people who want to write a small statically-typed
           | language and the people who like the functional paradigm
           | 
           | No doubt.
        
       | edgarbob wrote:
       | Are there any good starting places for learning the necessary
       | type theory to understand this stuff? I really like the idea of
       | extensible row types, but struggle with trying to understand the
       | research papers.
        
         | bjourne wrote:
         | Types and Programming Languages by Pierce. Available online if
         | you search for it. Expresso appears to be, more or less, an
         | extension of the toy language implemented in that book.
        
       | tathougies wrote:
       | Cool! This is perfect as a little scripting language for Haskell.
        
       | cgrealy wrote:
       | I get that the name references "expressions", but the coffee cup
       | and the misspelling of "espresso" really bothers my inner pedant.
       | :)
        
       ___________________________________________________________________
       (page generated 2020-06-12 23:00 UTC)