summaryrefslogtreecommitdiff
path: root/src/Helium/Semantics
AgeCommit message (Collapse)Author
2022-04-18Do 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-04-02Add more properties for ordered structures.Greg Brown
2022-03-21Add all-in-one import for Hoare logic semantics.Greg Brown
2022-03-20Rename Pseudocode.Types to something more sensibleGreg 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-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.
2022-01-18Define the semantics of pseudocode data types.Greg Brown
2022-01-12Eliminate even more state from the denotational semantics.Greg Brown
2022-01-08Make RawPseudocode contain its own bundles.Greg Brown
2022-01-07Introduce semantics for sequences of instructions.Greg Brown
2022-01-07Rename ⟦_⟧ to float.Greg Brown
2021-12-28Make the denotational semantics total.Greg Brown
2021-12-27Introduce Everything.agda to aid in overall compilation.Greg Brown
2021-12-21Define execBeats, a wrapper to execute beat-wise instructions.Greg Brown
2021-12-21Define semantics of vqdmulh.Greg Brown
2021-12-21Define semantics for vmulh.Greg Brown
2021-12-20Define vsub.Greg Brown
2021-12-20Remove bitstring addition.Greg Brown
2021-12-20Extract structures shared by most binary vector operations.Greg Brown
This is the extraction promised a couple of commits ago.
2021-12-20Define vmul.Greg Brown
2021-12-20Inline and rearrange to make vadd and vhsub look more similar.Greg Brown
If there are other functions with a similar structure, I may extract larger patterns. copy-masked is one example of a structure that was easy to extract.
2021-12-20Define semantics of vhsub.Greg Brown
2021-12-20Improve type-checking efficiency.Greg Brown
2021-12-20Define semantics for vadd.Greg Brown
2021-12-20Add references to the core denotational semantics.last-attemptGreg Brown
2021-12-19Define core of denotational semantics.Greg Brown