M
Michael Arntzenius
rntz.net · Personal blog · on HN since 2014
Michael Arntzenius, a programming language researcher who wrote about Datafun, a functional language that generalizes Datalog, and language design.
What HN saysHN commenters point to Datafun when discussing Datalog extensions, monotonicity, termination guarantees, and incremental computation.
19HN people shared it
8linked it in comments
21stories submitted
482story points
4 months agolast shared
2014people per year2026
Most-shared posts
- 1Simple, pure, and total functional language that generalizes Datalog7 people · 93 points · first shared 2018 · 21 comments on HN
- 2Against software development3 people · 245 points · first shared 2018 · 175 comments on HN
- 3Evaluation order and nontermination in query languages3 people · 5 points · first shared 2026 · discussion on HN
- 4Aphorisms on programming language design (2017)2 people · 38 points · first shared 2017 · 12 comments on HN
- 5Not Everything is an Expression (2016)2 people · 25 points · first shared 2016 · 4 comments on HN
- 6Deconstructing Datalog [pdf]2 people · 5 points · first shared 2022 · discussion on HN
- 7Deconstructing Datalog2 people · 4 points · first shared 2026 · discussion on HN
- 8Datafun: A Functional Datalog [pdf]2 people · 2 points · first shared 2016 · discussion on HN
- 9Option and Null in Dynamic Languages1 people · 37 points · first shared 2014 · 85 comments on HN
- 10Intuitive hygienic macros (2009)1 people · 22 points · first shared 2014 · 8 comments on HN
- 11Why I am not a fan of Cabal or Stack1 people · 3 points · first shared 2018 · discussion on HN
- 12Semilattices and their tensor products1 people · 2 points · first shared 2017 · discussion on HN
- 13Are artifacts objects or processes?1 people · 1 points · first shared 2018 · discussion on HN
- 14Index1 people · first shared 2014
- 15Seminaive datafun.pdf1 people · first shared 2023
What HN people wrote when they linked it
a-saleh · 2018-12-09
In my mind, there are three really great little languages:
* datafun - attempt to extend datalog to more generic computation. http://www.rntz.net/datafun/ I liked simillar exploration of computing with latices with the concept of propagators: http://web.mit.edu/~axch/www/art.pdf
* dhall - configuration language that has user defined functions, but is total :) https://github.com/dhall-lang/dhall-lang
* the gamma - a visualization/data query language : http://tomasp.net/blog/2017/thegamma-getting-started/
fogzen · 2025-06-14
Yes, for some kinds of operations on some kinds of data structures. The keyword/property is "monotonicity". Monotonic functions are guaranteed to terminate under fixed-point semantics.
Look into Datafun: A total functional language that generalizes Datalog. Also be sure to watch Datafun author Michael Arntzenius's Strangeloop talk.
https://www.rntz.net/datafun/
https://www.youtube.com/watch?v=gC295d3V9gE
kalaracey · 2024-10-26
(Not who you are replying to) Not sure if it’s specifically related to DBSP but checkout incremental DataFun (slide ~55 of https://www.rntz.net/files/stl2017-datafun-slides.pdf) and the paper cited there: A Theory of Changes for Higher Order Languages: Incrementalizing Lambda-calculi by Static Differentiation (Cai et. al, PLDI 2014).
benrbray · 2021-07-12
A decidable variant called Datalog is becoming popular thanks in part to Clojure and Datomic / Datascript. See also Flix and Datafun.
[1] http://www.learndatalogtoday.org/
[2] https://flix.dev/
[3] http://www.rntz.net/datafun/
carterschonwald · 2020-08-08
A really cool prject in that space is/was datafun. http://www.rntz.net/datafun/
Roughly: the way facts work in Datalog and similar stuff have pretty strong monotonicity properties. So if you want to allow adding more predicates and computations to the system, you kinda wanna only allow monotonic functions! This has some pretty interesting surprises when it comes to how to model things like true or false!
ontologiae · 2019-03-04
Every programmers should know something about memory, because software are becoming bloat [1] [2] because of a new generation of programmers who doesn't optimize their code.
So, of course, you had a wonderful career, but it doesn't prove that you write efficient code
[1] http://www.rntz.net/post/against-software-development.html
[2] http://tonsky.me/blog/disenchantment/
rntz · 2017-01-02
Location: Oxford, UK
Remote: Yes
Willing to relocate: Yes (NB. I am both a US & a UK citizen, so no visa issues w/ moving to US.)
Technologies: I design, implement, and improve programming languages. Do you have a problem that could benefit from its own programming language? Are you using a language that you wish had some feature, but doesn't? Talk to me. Systems programming (kernels, GCs, JIT compilers) is another interest of mine.
Resume/CV: http://www.rntz.net/resume.html
Email: (click link to get email) http://www.google.com/recaptcha/mailhide/d?k=018XOhLYKe9NqLdmoSmt6HsQ=…
chc4 · 2023-05-10
The other recent research that's been interesting to watch has been in logic programming (Prolog and Datalog), where there's been a lot of papers extending Datalog with semilattice types that are more efficient for computing dataflow-type queries (and even getting lattice types added to Souffle recently), including papers like datafun[0] extending it to sound incremental queries for more efficient execution - and there's even a paper by the Egg authors using it for efficient eclass-based Datalog queries using lattices[1]. It also seems like there has been more work recently in actually integrating logic programming in existing languages and programs, like ascent[2], instead of it being off in it's own world like it seems has historically been the case.
0: http://www.rntz.net/files/seminaive-datafun.pdf
1: https://www.mwillsey.com/papers/egglog
2: https://s-arash.github.io/ascent/cc22main-p95-seamless-deductive-infer…