Folke is an interactive proof editor for propositional and first-order logic. It is based on the course DAT060 Logic in computer science on Chalmers.
This is a web version of the original version of Folke.
https://thecoder5550.github.io/folke-online/
- React: to simplify state managment, supports components with JSX, update only parts of UI that changes state
 - Typescript: add types to javascript
 - Vite: Compile typescript and allows for hot reloading
 - Haskell: Folke is built with haskell
 - Docker: Automatically install needed programs and utilities
 
- Docker with WSL enabled
 - VSCode with dev container extensions installed
 
- Clone the repo inside WSL (hot reloading doesn't work otherwise)
 - Open the cloned repo in VSCode
 - Re-open in dev container (to automatically install node, ghc, ghc-wasm and cabal packages)
 - Install dependencies:
npm install
 - Build haskell and generate components
make
 - Start dev server with hot reloading enabled
npm run dev
 
Follow the instruction for the windows installation but clone the repo normally without WSL.
- Build everything
npm run build
 - Run build
npm run preview
 
Run the following make script to convert Markdown files into .tsx components. This is a lot faster than rebuilding the whole project.
make generate-components