Live data from Hacker News

Zest: a programming language for malleable and legible systems

github.com

11–16 of 16 posts

Re: Zest: a programming language for malleable and legible systems

#11
post #9

Other programming languages this author has worked on: Droplet: "Datalog in time and space" - https://github.com/jamii/droplet Eve: "Datalog meets Smalltalk" - https://witheve.com Imp: "An Eve for people who build Eves" - https://github.com/jamii/imp These are some pretty "out there" languages with a high strangeness budget, so I'd expect the same of Zest. I like the idea of exploring the interaction models that Eve…

Oh crap. This is from the Eve folks? That was one of those projects where everyone got excited about how new and powerful it was. Then continued programming in PHP out of inertia.

It's from one of the Eve folks, Jamie Brandon.

Re: Zest: a programming language for malleable and legible systems

#12

I could not tell if this is a hobby project, or the product of a research lab. Does anyone know? Very cool stuff. It would benefit from some institutional support.

The person behind Zest runs an interesting blog/work journal, I recommend subscribing [1]. I could be wrong, but my understanding is that they don't have a full-time job. Instead they do some amount of consulting, and then spend most of their time and intellectual energy working on their projects. Which is pretty cool I think. [1] https://www.scattered-thoughts.net

Ah now that is an envious life! Not have to worry or be distracted by a full-time job that too by choice! Hope he gets to crank a lot more out!

Re: Zest: a programming language for malleable and legible systems

#13
post #3

The docs have test cases embedded in the markdown. This is a pretty cool use of markdown. I have started doing something similar with markdown in my project. I wonder if other programming languages have done this too.

Rust has this, and it just makes so much sense. Especially when you write a library in which the basic demo is also the basic unit test you want to make. Instead of writing a specific unit test that's hidden in source code, you just embed it in the docs and then you (a) don't have code duplication and (b) have verification your documentation's code samples are actually correct.

> and (b) have verification your documentation's code samples are actually correct.

I find a lot of libraries don't go through the effort to actually use doctests, and just stick `no_run` everywhere, which defeats a lot of the purpose.

Re: Zest: a programming language for malleable and legible systems

#14
post #3

The docs have test cases embedded in the markdown. This is a pretty cool use of markdown. I have started doing something similar with markdown in my project. I wonder if other programming languages have done this too.

Python has doctests: https://docs.python.org/3/library/doctest.html

Re: Zest: a programming language for malleable and legible systems

#15
post #3

The docs have test cases embedded in the markdown. This is a pretty cool use of markdown. I have started doing something similar with markdown in my project. I wonder if other programming languages have done this too.

Elixir has this as well, IIRC.

Re: Zest: a programming language for malleable and legible systems

#16

Other programming languages this author has worked on: Droplet: "Datalog in time and space" - https://github.com/jamii/droplet Eve: "Datalog meets Smalltalk" - https://witheve.com Imp: "An Eve for people who build Eves" - https://github.com/jamii/imp These are some pretty "out there" languages with a high strangeness budget, so I'd expect the same of Zest. I like the idea of exploring the interaction models that Eve…

The author outlines a fair bit of the design thinking in this post [0].

What Datalog and co give you is the ability to do interesting program transformations. Mostly that's not because they are "declarative", if that means anything, but because they avoid all the little bits of non-determinism that imperative languages include. If you avoid those you're pretty much set. Coming from another angle, JAX [1] shows how you can do program transformations in Python with a relatively small set of semantic restrictions.

[0]: https://www.scattered-thoughts.net/writing/unexplanations-sq... [1]: https://github.com/jax-ml/jax

Post reply on HN