Skip to content

Comments

Add a 'Decision' heading.#179

Merged
virgil-serbanuta merged 3 commits intoruntimeverification:masterfrom
virgil-serbanuta:read-patterns
Aug 10, 2018
Merged

Add a 'Decision' heading.#179
virgil-serbanuta merged 3 commits intoruntimeverification:masterfrom
virgil-serbanuta:read-patterns

Conversation

@virgil-serbanuta
Copy link
Contributor

Reviewer checklist
  • Test coverage: stack test --coverage
  • Public API documentation: stack haddock
  • Style conformance: stylish-haskell

Copy link
Contributor

@bmmoore bmmoore left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This formatting makes the conclusion much easier to notice!

@virgil-serbanuta virgil-serbanuta merged commit 486dff6 into runtimeverification:master Aug 10, 2018
@virgil-serbanuta virgil-serbanuta deleted the read-patterns branch August 10, 2018 10:32
jberthold pushed a commit that referenced this pull request Apr 10, 2024
This PR implements #177  which adds internalised maps to the `Term` type, by deconstructing any `SymbolApplication` with a known map constructor into a `KMap attrs keyVals rest`, where:

* `attrs` carries the map information, necessary to reconstruct the original map
* `keyVals` is a list of key value pairs, obtained from deconstructing a chain of `SymbolApplication attrs.concat [..., SymbolApplication attrs.concat [SymbolApplication attrs.element [k, v] SymbolApplication attrs.unit []]...]`
* `rest` is any term which doesn't fit the above pattern, e.g. a variable or a function symbol with the return type of the map

This representation makes it easy to do limited forms of unification when e.g. the keys in both maps are fully defined and we are matching `K1 -> V1 ... Kn -> Vn REST` with a fully concrete map.

This PR also adds handling of overload equations (ignored for now), introduced in kevm in runtimeverification/evm-semantics#1726
jberthold pushed a commit that referenced this pull request Apr 10, 2024
This PR implements #177  which adds internalised maps to the `Term` type, by deconstructing any `SymbolApplication` with a known map constructor into a `KMap attrs keyVals rest`, where:

* `attrs` carries the map information, necessary to reconstruct the original map
* `keyVals` is a list of key value pairs, obtained from deconstructing a chain of `SymbolApplication attrs.concat [..., SymbolApplication attrs.concat [SymbolApplication attrs.element [k, v] SymbolApplication attrs.unit []]...]`
* `rest` is any term which doesn't fit the above pattern, e.g. a variable or a function symbol with the return type of the map

This representation makes it easy to do limited forms of unification when e.g. the keys in both maps are fully defined and we are matching `K1 -> V1 ... Kn -> Vn REST` with a fully concrete map.

This PR also adds handling of overload equations (ignored for now), introduced in kevm in runtimeverification/evm-semantics#1726
jberthold pushed a commit that referenced this pull request Apr 10, 2024
This PR implements #177  which adds internalised maps to the `Term` type, by deconstructing any `SymbolApplication` with a known map constructor into a `KMap attrs keyVals rest`, where:

* `attrs` carries the map information, necessary to reconstruct the original map
* `keyVals` is a list of key value pairs, obtained from deconstructing a chain of `SymbolApplication attrs.concat [..., SymbolApplication attrs.concat [SymbolApplication attrs.element [k, v] SymbolApplication attrs.unit []]...]`
* `rest` is any term which doesn't fit the above pattern, e.g. a variable or a function symbol with the return type of the map

This representation makes it easy to do limited forms of unification when e.g. the keys in both maps are fully defined and we are matching `K1 -> V1 ... Kn -> Vn REST` with a fully concrete map.

This PR also adds handling of overload equations (ignored for now), introduced in kevm in runtimeverification/evm-semantics#1726
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants