summaryrefslogtreecommitdiff
path: root/src/Helium/Data/Pseudocode
AgeCommit message (Collapse)Author
2022-03-20Rename Pseudocode.Types to something more sensibleGreg Brown
2022-03-20Fix incorrect defining properties of floor.Greg Brown
2022-03-19Add definition of Hoare logic semantics.Greg Brown
2022-03-19Modify pseudocode definition.Greg Brown
This change makes the following changes to the definition of pseudocode: - Add a separate type `bit` for single-bit values. - Change `var` and `state` to take `Fin`s instead of bounded naturals. - Make `[_]` and `unbox` work for any sliced type. - Generalise `_:_` and `slice` into `splice` and `cut` respectively, making the two new operations inverses. - Replace `tup` with `nil` and `cons` for building tuples. - Add destructors `head` and `tail` for tuple types. - Make function and procedure calls take a vector of arguments instead of a tuple. - Introduce an `if_then_` expression for if statements with a trivial else branch.
2022-02-15Make expressions unable to change state.Greg Brown
2022-02-15Remove unnecessary return-type part of StatementGreg Brown
2022-02-13Finish definition of denotational semantics.Greg Brown
2022-02-02Define pseudocode for a number of instructions.Greg Brown
2022-01-21Add pseudocode as a data type.Greg Brown
2022-01-19Rename pseudocode file.Greg Brown
This is anticipating the addition of pseudocode as a data type. That should make the denotational semantics much more performant, and allows the addition of new forms of semantics without duplicating effort.