i built an entire x86 CPU emulator in CSS (no javascript)
you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS
Based on @CrystalLanguage , I've been toying around the idea of a semantic graph typechecker. The idea is to attach a type to every ast node, and calculate them on a series of iterations (rewrites?) until they're all complete (or an incompatibility happens).
Has anyone seen anything like this before?
“pandoc for the people”, the pandoc wasm web-app, is now available at https://pandoc.org/app/
It allows to run any kind of document conversion that pandoc supports in the browser. The documents never leave the computer, thus ensuring *full privacy*.
Conversions to pdf are done via Typst.
We chose a target domain for our Build Your Own Proof Assistant class today. We are going to build a very encouraging and friendly proof assistant for middle/high-school geometry proofs.
Any resources or tips for targeting this domain?
RE: https://oldbytes.space/@amoroso/115938716967852145
I really like this article, it's not just about XML but how design tradeoffs based on developer experience having lasting destructive impact.
Also a great example of why I've been convinced for some time that obsessing over first order "readability" is poor design.
A new master's thesis from Matheus de Sousa Bernardo about adding support for typed holes to Liquid Haskell: https://odr.chalmers.se/items/f16a25b8-dae5-4dc4-982b-c1f22dba7c43
@redmp, @ganshen, and I once wrote a lil' proposal for HATRA about how we wanted this to exist (https://arxiv.org/abs/2110.04461), but we never actually made it happen, so this is super cool to see. 🚀
Refinement type systems provide mechanisms for specifying and verifying programs beyond what mainstream type systems can express. LiquidHaskell extends Haskell with refinement types, and beyond that, has evolved to be used as a theorem prover, akin to Agda or Idris. Unfortunately, it lacks a fundamental feature present in most proof assistants: the ability to inspect goals during proof development, for example, with typed holes. In this thesis, I implement typed hole support for LiquidHaskell addressing this limitation and taking an initial step towards more interactivity in LiquidHaskell.
Finally got around to publishing my user-space pipe implementation in Crystal.
The stdlib `IO.pipe` uses file descriptors, which is great when that's what you need, but it's heavy when you just need to transform data on its way through the app.