Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think your point is valid in general, but Eve's semantics are deeply rooted in Logic Programming. IMO that's a more fundamental change than what we can hope to get from layering a pattern/library/architecture on top of an existing database or programming language.


Eve is a nicely engineered environment and has basic relational semantics that many streaming query frammeworks and dataflow frameworks have in mind (select with aggregation, update)

But the site doesn't have any discussion of the language's semantics. I know they have mentioned Bloom (bloom-lang.org) as one of their influences. I would like to know how the Eve evaluator handles negation (and what negation means in an Eve context), whether there is a guarantee that a single tick's evaluation will terminate, whether the evaluation is incremental, and whether in doing so, the results are equivalent to a simple evaluator that does not work incrementally (looks at the entire database every time). etc.


Just seems like it sells poor man's Prolog as a "fundamental change". Anyone to dismiss my confusion?

I mean, you can throw HTML around cobol/io/cl/sql/sed with the same wow-effect?


Prolog itself has many issues, many of them rooted in its somewhat unrestricted use of terms. The nice thing about datalog is that it has very nice strong normalization as a natural property of term evaluation. While it's true that it doesn't do everything, this combined with controlled dataflow has long been an interesting area of PL research.

Eve is definitely not the first to have realized this but it's attention to making it fit in with modernized ideas around interactive computing are noteworthy. The translation of a lot of these ideas into this context requires a lot of careful thought so I wouldn't trivialize it as a lesser version of something.


Check out this 2009 research paper that Eve is based on; it's an important new extension to logic programming: https://databeta.wordpress.com/2010/01/05/introducing-dedalu...

Also please let me know what you think about Part II (coming later this week). It's all about logic programming and CQRS.


I only skimmed this very quickly, but the difficult issues in that tech report seem to concern issues in distributed systems. Does Eve have a distributed "story"?

My impression was that it was mostly a synchronous rule language that, at each time step, does vaguely Datalog-like stratified evaluation and then updates its state. That's a very nice model and indeed rooted in logic programming, but I have the impression that referring to the Dedalus tech report is overselling it.


Distributed systems is the goal for the next milestone of Eve. Remember that Eve is still in early alpha.


> but Eve's semantics are deeply rooted in Logic Programming

... and synchronous programming. Eve is a synchronous relational (or logic) language.


Wouldn't this be asynchronous since there is no ordering unless explicitly constructed, or are we using different semantics?


It's a different use of the term. Synchronous programming languages have a logical clock, and change global state only on clock ticks.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: