This document gives an overview of how the codebase is structured, in terms of directories.
Note that this organisation is still under active discussion and is subject to change.
- Cslib. The root namespace of the Computer Science library.
- Foundations. General-purpose definitions and results (complexity theory, semantics, etc.).
- Data. General-purpose structures and types.
- HasFresh. Types equipped with a
freshgenerator (given a finite set, it generates an element not in that set). - …
- HasFresh. Types equipped with a
- Control. General-purpose structures and types for expressing control flow.
- Monad. Monads.
- Free. Free monads.
- Monad. Monads.
- Semantics. Operational semantics (reduction and transition systems), program equivalences, etc.
- Lts.
- Bisimilarity.
- TraceEq.
- …
- Data. General-purpose structures and types.
- Logic. Logics, sequent calculi, etc.
- HoareLogic.
- LinearLogic.
- LinearTemporalLogic.
- …
- Languages. Modelling and programming languages.
- Boole.
- CCS.
- LambdaCalculus.
- PiCalculus.
- …
- Computability. Automata theory, turing machines, partial recursive functions, register machines, etc.
- Dfa
- Nfa
- TuringMachine.
- …
- Foundations. General-purpose definitions and results (complexity theory, semantics, etc.).
- CslibTests. This directory contains tests for the library.