
Expresso: A simple expressions language with polymorphic extensible row types - wtetzner
https://github.com/willtim/Expresso
======
lalaithion
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.

------
cgrealy
I get that the name references “expressions”, but the coffee cup and the
misspelling of “espresso” really bothers my inner pedant. :)

~~~
poizan42
It's also already the name of a popular tool for designing regular
expressions[0] (and may be infringing on their trademark)

[0]:
[http://www.ultrapico.com/Expresso.htm](http://www.ultrapico.com/Expresso.htm)

~~~
wtetzner
I would think the domains are different enough that trademark infringement
shouldn't be a concern.

~~~
poizan42
Maybe, but I think they both belong in trademark class 9 (Electrical and
scientific apparatus). Ultimately a court of law would have to decide. But why
even take the change?

------
throwaway894345
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.

~~~
dunefox
Developers don't find functional languages helpful? Do you somehow believe
that only Java programmers are called developers or what am I missing here?

~~~
throwaway894345
> 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.

~~~
dunefox
> functional languages rank lower than other language paradigms on just about
> every index

Because what is popular isn't what is best.

> but retain the more structured (and probably more human-readable) syntax

There is nothing more structured or readable about C-like syntax.

~~~
throwaway894345
My target audience is developers generally, not functional programmers
specifically, and developers disagree with your assessment. Sorry.

------
edgarbob
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
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.

------
alexmingoia
Lovely. Great work! I’ve been waiting for a language with ergonomic records
using row-types.

------
tathougies
Cool! This is perfect as a little scripting language for Haskell.

