We doubled down by creating exceptions. Exceptions are abstracted gotos. Hidden in the code base deep inside call stacks, jumping over multiple functions at once. Exception-safe coding is identical to goto-safe coding, except that goto-safety is local and explicit. Easy to prove.
Preparing these lecture notes is massively entertaining and instructive to me. I am still not fully untangled on what the end lesson will be here.
(Still in progress, but writing up the notes as I get to each next lecture, so publishing increments)
https://t.co/gaerN7XLCr
re: laughed out of the room.
this is why i think we will get a revenge of the PLT nerds event. there is so many nerds who have been suppressed with this train of thinking that are very close to “fuk it, it’s easy now. hold my beer and weep gatekeepers of yesteryear”
ie: fringe stuff like https://t.co/DqtovCSPZB
After 6 years, finally be able to ends my last chapter of the last paper in PhD time with the same style title of the first paper I read in first day of my PhD confidently.
We on the @EffectTS_ team we often recommend cloning the Effect repo into your project so your agent can explore the source directly.
I finally wrote up why it works and how to set it up:
https://t.co/qxV9o6I6zM
To whom it may concern
NanoProof.hs: the smallest viable proof checker
I posted something similar before, but it was more of a research experiment with weird λ-encoded shit, than something usable. This new repo contains a tiny, 1000-LOC Haskell self-contained proof checker that you can actually use to prove arbitrary theorems.
The language has just 6 base types:
→ Empty (`⊥`): type with 0 elems
→ Unit (`⊤`): type with 1 elem (`()`)
→ Bool (`𝔹`): type with 2 elems (`0 | 1`)
→ Sigma (`ΣA.B`): dependent pairs (`(x,y)`)
→ Pi (`ΠA.B`): dependent functions (`λx.f`)
→ Equal (`a==b`): propositional equality (`{==}`)
That's all you need.
Each of these is needed, as it introduces something fundamental. The file includes a parser, stringifier, equality, a bidirectional type checker, and a simple CLI. It also includes first-class reduction relations, which allow us to pretty print goas just like Lean. You can place '()' in a position to inspect the current context and goal there. I also include a demo proof for the commutation of multiplication.
Our synthetic Euclidean Geometry proof assistant is now open for public contributions! We created this together as a class in my Build Your Own Proof Assistant course this semester. Please give it a spin and consider contributing!
https://t.co/DEPA68NXmm
11. Last but not least, George Pîrlea's @GeorgePirlea talk on Veil: Multi-Modal Verification of Transition Systems
...and this is done with Lean @leanprover !
https://t.co/dRjgvH8dLS
5 lines of python. an economic game with complex equilibria.
Our new language Pact uses Choreographies with game theory, allows expressing economic transactions in lines. So simple an agent could write it
Claude? make me some money. and make no mistakes
https://t.co/m3PjkWMK98