Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

Recursors #27

Merged
merged 162 commits into from
Jun 9, 2018
Merged

Recursors #27

merged 162 commits into from
Jun 9, 2018

Conversation

eddywestbrook
Copy link
Contributor

This branch includes the following list of changes:

  • Expanded term type, including recursors and a new record type

  • The new file CtxTerm.hs, which is used to type-check and reduce recursors

  • A new type-checker infrastructure that unifies SCTypeCheck.hs (for typed terms) and Typechecker.hs (for untyped terms)

  • Updated the TH in ParserUtils.hs to deal with the fact that the new type-checker requires a SharedContext (and so cannot happen at TH time)

  • Replaced the scModule field in SharedContext with scModuleMap, a HashMap of all the loaded modules in the current SharedContext

  • A refactoring of the Term pretty-printer that used to be split across SharedTerm.hs and Pretty.hs, but is now contained in Pretty.hs

Eddy Westbrook added 30 commits September 9, 2017 12:58
…lations back into primitives, but added additional "__def" forms and "__eq" axioms asserting the equality of each primitive to its "__def" form
…ith primitives that happen to be types; changed all of the SAW internals that deal with types that used to be primitive data types to handle this change
…ype and recursor stuff, to a new module called CtxTerm
Eddy Westbrook and others added 25 commits May 24, 2018 15:04
…rgsLength in SCTypeCheck when a constructor or datatype has the wrong number of arguments
…heses around the arguments of applications
…mulator, Conversion engine, and related machinery to work with this change, including adding a VBoolType value for the simulator
…t be distinguished from applications of the Zero and Succ constructors
# Conflicts:
#	prelude/Prelude.sawcore
#	src/Verifier/SAW/Recognizer.hs
#	src/Verifier/SAW/Simulator/Prims.hs
Currently this is implemented by calling rewriteSharedTerm
with a flipped version of the original rewrite rule. However
this would fail if the original rewrite rule had variables
on the left-hand-side that did not occur on the right. It
would be better to have a more flexible alternative to
scReduceRecursor, so that we could directly instantiate the
recursive calls the way we want.
…to use these instead of looking through all ctors and datatypes in the entire module map
@brianhuffman
Copy link
Contributor

This branch is almost completely ready to merge into saw-script. But there are still some test suite failures, specifically some in llvm-verifier.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants