summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-14Register slice writeGabriel Kerneis
2014-02-13Disable line which does not typecheck in test1Gabriel Kerneis
We need to fix that one, but I don't know if the bug is in test1 or in the type checker.
2014-02-13Add definition of ignore to make tests executableGabriel Kerneis
2014-02-13Index memory with big_ints in interpreterGabriel Kerneis
Also add support for sliced reads. Still need to implement sliced writes, as well as multi-word memory writes.
2014-02-13Missing default case for literal equality testGabriel Kerneis
2014-02-13Display backtrace when interpreter failsGabriel Kerneis
2014-02-13Implement equality for big_int literalsGabriel Kerneis
Lem does not infer instances for typeclasses, falling back to unsafe comparison which does not work for big_int in OCaml.
2014-02-12More library functions for interpreterGabriel Kerneis
There is now enough stuff to decode and execute a very basic Branch instruction (encoding everything as little-endian rather than big- endian among many other work-arounds).
2014-02-12Fix endianess issuesGabriel Kerneis
2014-02-12Checking assignment to a variableKathy Gray
2014-02-12Replace nat by natural in interpreterGabriel Kerneis
2014-02-12Remove spurious declarationGabriel Kerneis
2014-02-12Fix type errors in power.sailGabriel Kerneis
2014-02-12Change nat to natural in ottKathy Gray
Type checking now recurses through assign, but doesn’t do the proper checks yet
2014-02-11struct/record type checkingKathy Gray
2014-02-07type checking switch/case expressionsKathy Gray
2014-02-07Most of the vector expression type checkingKathy Gray
2014-02-07Fix a few stupid bugsGabriel Kerneis
2014-02-07Implement is_oneGabriel Kerneis
2014-02-07Report unimplemented function nameGabriel Kerneis
2014-02-07Correct variable-name bug that was throwing away type checking coercions and ↵Kathy Gray
type annotations
2014-02-07more checkingKathy Gray
2014-02-07Use bit->bool coercion for power.sailGabriel Kerneis
2014-02-06coerce bit to bool when not a literal bit. Note: this will only add a ↵Kathy Gray
conversion function for expressions of bit type, an explicit cast to bit would be needed to come from an enum or nat.
2014-02-06coercians for bits to bools for literalsKathy Gray
2014-02-06type check more vectorsKathy Gray
2014-02-06push effect information around while checking expressionsKathy Gray
2014-02-05Replace symbolic link by actual fileGabriel Kerneis
2014-02-05Test scattered typedef cross-referenceGabriel Kerneis
2014-02-05Fix type id parsing error ans associated type checking bugs in scatteredsKathy Gray
2014-02-05Fix pattern constructor bug in type checking (darn tuples/not tuples)Kathy Gray
2014-02-05Typechecking lets, concrete vectors, and function calls (minus effects)Kathy Gray
2014-02-05First bit of Power specGabriel Kerneis
Only chapter about branches (except system calls because of sail typechecking issue). Decoding seems to work. Execution typechecks currently, but is pretty surely broken otherwise.
2014-02-05Adding failing typechecking testGabriel Kerneis
File "test/test1.sail", line 27, character 22 to line 27, character 26 Type error: Type mismatch :(6() * ) , bit
2014-02-05Revert "Accept single bits as boolean values for if in interpreter"Gabriel Kerneis
This reverts commit 828f19828e41ced146f06e9a7eb4183cd9ef3ab4. It was a temporary workaround now fixed when we generate Sail code.
2014-02-05Deinfixable colonGabriel Kerneis
2014-02-03More type checking, including coercing 0 and 1 into bits when appropriate ↵Kathy Gray
(in limited circumstances at the moment due to which expressions are actually checked, so test files should not yet be changed)
2014-01-31More type checking and conversionsKathy Gray
(Temporarily turning off unbound identifier checks, until all variable-introducing forms are checked)
2014-01-30Expression type checking, not completeKathy Gray
2014-01-29Type check function headers and parametersKathy Gray
2014-01-17Type check through type definitions and val specifications, building ↵Kathy Gray
definition environment. Skipping function definition, let bind, and expression checking for this commit (to come).
2014-01-15Accept single bits as boolean values for if in interpreterGabriel Kerneis
2014-01-15Improve error messagesGabriel Kerneis
2014-01-15Test indexed matchGabriel Kerneis
2014-01-14Fix vector concat pattern matchingGabriel Kerneis
The concatenation list was reversed.
2014-01-09Type equalityKathy Gray
2014-01-09Fixed pattern concatenation bugKathy Gray
2014-01-09Fixed a single-argument tuple bug on function callsKathy Gray
2014-01-09Fixed bug in resuming after an action (which was manifesting as an apparent ↵Kathy Gray
pattern match bug, which was actually working fine).
2014-01-08Fixed literal vectors for binary vectors (pattern matching and as ↵Kathy Gray
expressions), hex vectors will only produce 0 length vectors.