Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-04-18 | Do a big refactor. | Greg Brown | |
- Replace the decidable predicates on expressions and statements with separate data types. - Reorganise the Hoare logic semantics to remove unnecessary definitions. - Make liberal use of modules to group related definitions together. - Unify the types for denotational and Hoare logic semantics. - Make bits an abstraction of array types. | |||
2022-03-19 | Modify 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-15 | Make expressions unable to change state. | Greg Brown | |
2022-02-15 | Remove unnecessary return-type part of Statement | Greg Brown | |
2022-02-13 | Finish definition of denotational semantics. | Greg Brown | |
2022-02-02 | Define pseudocode for a number of instructions. | Greg Brown | |
2022-01-21 | Add pseudocode as a data type. | Greg Brown | |