My preference is to separate functions-as-procedures from finite-functions-as-tables using a type system (Datafun does this, except it has finite sets not finite functions). We have great impl strategies for the former from the PL world; for the latter, from the DB world.
Datafun likewise doesn't (in general) have a proof-/model-theoretic interpretation that I know of, but I'm pretty confident that chaotic iteration is valid (because of monotonicity).
new work: identity refresh for mint.fun
logotype & 2 new typefaces:
Mintfun Hero the DataFun family.
Bespoke animation vocabulary & palettes.
designed in terrain by David Rudnick, Maharani Yasmine Putri, Emiel Pennickx, Laiqa Mohid & Khalisha Tambunan ❕
🎲 We had an absolute blast at our game night last Friday! 🎲
Our team spend a night full with games and fun. From intense rounds of Uno to pure focus with our Balance Tower, it was a night filled with laughter, strategy, and unforgettable moments.
#Datafun#Tableau#Games
a low-order version of this already happens in seminaive evaluation for Datafun: types are posets, all change is increasing, change is propagated via 'chain'/chart-like things.
What a turnout for the Salesforce Data workshop! Big thanks to everyone who showed up and made it a blast. Who's down for round 2 of #datafun? Let me know in the comments below!
#salesforce#data#dataliteracy
I think I’ve found a way to translate LVars into Datafun. Requires the set of variables be fixed in advance (no dynamic allocation) and only allows singleton thresholds, though.
Is there a domain-theoretic semantics of ref cells?
Am I right that in Datafun `let x = x in x : t` would terminate (returning the least element of t), but `let x () = x () in x ()` is rejected (because Datafun is total), @arntzenius?
Do you know how a denotational semantics that captures this difference could look like?
Monotonicity checking as a special program verification problem seems kind of interesting. I suppose its similar in some respects to termination. Datafun is a typed approach.