-
-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simple refinement types #638
Commits on Sep 15, 2019
-
For design, see PistonDevelopers#636 - Added “typechk/refinement.dyon” - Added “typechk/refinement_2.dyon”
Configuration menu - View commit details
-
Copy full SHA for 1d1ab19 - Browse repository at this point
Copy the full SHA 1d1ab19View commit details
Commits on Sep 16, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 288f055 - Browse repository at this point
Copy the full SHA 288f055View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15eafdc - Browse repository at this point
Copy the full SHA 15eafdcView commit details -
Make refinement propagate across item declarations
- Added “typechk/refinement_3.dyon”
Configuration menu - View commit details
-
Copy full SHA for fa9ac22 - Browse repository at this point
Copy the full SHA fa9ac22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 30c0eb1 - Browse repository at this point
Copy the full SHA 30c0eb1View commit details -
- Removed `Type::is_concrete` - Added “typechk/refinement_5.dyon”
Configuration menu - View commit details
-
Copy full SHA for fb282ed - Browse repository at this point
Copy the full SHA fb282edView commit details
Commits on Sep 17, 2019
-
- Fixed bug `a.goes_with(b)` => `b.goes_with(a)` - Added “typechk/refinement_6.dyon” - Added “typechk/refinement_7.dyon”
Configuration menu - View commit details
-
Copy full SHA for 7470d32 - Browse repository at this point
Copy the full SHA 7470d32View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17091b6 - Browse repository at this point
Copy the full SHA 17091b6View commit details -
- Swap order of `Type::ambiguous` - Added “typechk/refinement_8.dyon” - Added “typechk/refinement_9.dyon”
Configuration menu - View commit details
-
Copy full SHA for 6019448 - Browse repository at this point
Copy the full SHA 6019448View commit details -
- Added “typechk/refinement_10.dyon” - Added “typechk/refinement_11.dyon”
Configuration menu - View commit details
-
Copy full SHA for 10ac60e - Browse repository at this point
Copy the full SHA 10ac60eView commit details -
- Added “typechk/refinement_12.dyon” - Added “typechk/refinement_13.dyon”
Configuration menu - View commit details
-
Copy full SHA for afac0dc - Browse repository at this point
Copy the full SHA afac0dcView commit details -
- Added “typechk/refinement_14.dyon” - Added “typechk/refinement_15.dyon”
Configuration menu - View commit details
-
Copy full SHA for 9647ecb - Browse repository at this point
Copy the full SHA 9647ecbView commit details -
- Added “typechk/refinement_16.dyon” - Added “typechk/refinement_17.dyon”
Configuration menu - View commit details
-
Copy full SHA for 79de1d3 - Browse repository at this point
Copy the full SHA 79de1d3View commit details -
- Added “typechk/refinement_18.dyon” - Added “typechk/refinement_19.dyon”
Configuration menu - View commit details
-
Copy full SHA for abb26ec - Browse repository at this point
Copy the full SHA abb26ecView commit details -
- Added “typechk/refinement_20.dyon” - Added “typechk/refinement_21.dyon”
Configuration menu - View commit details
-
Copy full SHA for e7bcd06 - Browse repository at this point
Copy the full SHA e7bcd06View commit details -
- Added “typechk/refinement_22.dyon” - Added “typechk/refinement_23.dyon”
Configuration menu - View commit details
-
Copy full SHA for ff0233d - Browse repository at this point
Copy the full SHA ff0233dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91bc454 - Browse repository at this point
Copy the full SHA 91bc454View commit details -
Report error if function has extra type information without returning…
… something - Added “typechk/void_refinement.dyon”
Configuration menu - View commit details
-
Copy full SHA for 9b367e0 - Browse repository at this point
Copy the full SHA 9b367e0View commit details -
Report error on wrong number of arguments in extra type information
- Added “typechk/args_refinement.dyon”
Configuration menu - View commit details
-
Copy full SHA for f59e01e - Browse repository at this point
Copy the full SHA f59e01eView commit details -
Check that extra type information arguments work with function arguments
- Added “typechk/refine_type_fail.dyon”
Configuration menu - View commit details
-
Copy full SHA for 069874c - Browse repository at this point
Copy the full SHA 069874cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1688e3c - Browse repository at this point
Copy the full SHA 1688e3cView commit details -
- Added “typechk/refinement_24.dyon” - Added “typechk/refinement_25.dyon”
Configuration menu - View commit details
-
Copy full SHA for 47953c4 - Browse repository at this point
Copy the full SHA 47953c4View commit details -
- Added ambiguity check for wrapper types - Fixed doc comment on `Type::ambiguous` - Added “typechk/refinement_26.dyon” - Added “typechk/refinement_27.dyon”
Configuration menu - View commit details
-
Copy full SHA for d981874 - Browse repository at this point
Copy the full SHA d981874View commit details -
Check return type of extra type information
- Added “typechk/refine_type_fail_2.dyon”
Configuration menu - View commit details
-
Copy full SHA for f089477 - Browse repository at this point
Copy the full SHA f089477View commit details -
Make closure calls work with ad-hoc types
- Added “typechk/closure_ad_hoc.dyon”
Configuration menu - View commit details
-
Copy full SHA for bebd9d1 - Browse repository at this point
Copy the full SHA bebd9d1View commit details
Commits on Sep 18, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 566c842 - Browse repository at this point
Copy the full SHA 566c842View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a53ce2 - Browse repository at this point
Copy the full SHA 6a53ce2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 801ca83 - Browse repository at this point
Copy the full SHA 801ca83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0610573 - Browse repository at this point
Copy the full SHA 0610573View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1021361 - Browse repository at this point
Copy the full SHA 1021361View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6911237 - Browse repository at this point
Copy the full SHA 6911237View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f36cdf - Browse repository at this point
Copy the full SHA 3f36cdfView commit details -
- Removed `Expression::UnOp` - Added `Node::rewrite_unop` - Added `Kind::Neg` - Removed `Kind::UnOp` - Removed `Runtime::unop`
Configuration menu - View commit details
-
Copy full SHA for 4cdd6ab - Browse repository at this point
Copy the full SHA 4cdd6abView commit details -
Report error if refinement failed without ambiguity
Closes PistonDevelopers#644 - Added “typechk/refine_closed_fail_1.dyon” - Added “typechk/refine_closed_fail_2.dyon” - Added “typechk/refine_closed_pass_1.dyon”
Configuration menu - View commit details
-
Copy full SHA for 0baf934 - Browse repository at this point
Copy the full SHA 0baf934View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0428c23 - Browse repository at this point
Copy the full SHA 0428c23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80e9cc0 - Browse repository at this point
Copy the full SHA 80e9cc0View commit details -
Configuration menu - View commit details
-
Copy full SHA for de9ddc2 - Browse repository at this point
Copy the full SHA de9ddc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a869534 - Browse repository at this point
Copy the full SHA a869534View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8abd609 - Browse repository at this point
Copy the full SHA 8abd609View commit details -
Configuration menu - View commit details
-
Copy full SHA for af99af9 - Browse repository at this point
Copy the full SHA af99af9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 498ad2a - Browse repository at this point
Copy the full SHA 498ad2aView commit details
Commits on Sep 19, 2019
-
Rewrite multiple binary operators into nested ones
- Added efficient normalizing algorithm based on Group Theory
Configuration menu - View commit details
-
Copy full SHA for 21c8f1c - Browse repository at this point
Copy the full SHA 21c8f1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad82d86 - Browse repository at this point
Copy the full SHA ad82d86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fd5242 - Browse repository at this point
Copy the full SHA 8fd5242View commit details
Commits on Sep 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for bd1ed87 - Browse repository at this point
Copy the full SHA bd1ed87View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec96e00 - Browse repository at this point
Copy the full SHA ec96e00View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1204046 - Browse repository at this point
Copy the full SHA 1204046View commit details
Commits on Sep 21, 2019
-
Added support for ad-hoc variables in refinement types
See PistonDevelopers#645 Use the semantics that none ad-hoc type is quantified over by `all`. - Added `Type::all_ext` - Added `Type::bind_ty_vars` - Added `Type::insert_var` - Added `Type::insert_none_var` - Added `T` lazy static string - Added some refine quantifier tests - Updated `add` in “lib.dyon” - Updated `add` extra type information - Added support for type quantifier in syntax - Push type variable names to “ty” node
Configuration menu - View commit details
-
Copy full SHA for 54ab7db - Browse repository at this point
Copy the full SHA 54ab7dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for eea3463 - Browse repository at this point
Copy the full SHA eea3463View commit details -
Configuration menu - View commit details
-
Copy full SHA for 758bffd - Browse repository at this point
Copy the full SHA 758bffdView commit details -
Configuration menu - View commit details
-
Copy full SHA for abfee35 - Browse repository at this point
Copy the full SHA abfee35View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2b5aea - Browse repository at this point
Copy the full SHA f2b5aeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for a46afd4 - Browse repository at this point
Copy the full SHA a46afd4View commit details
Commits on Sep 22, 2019
-
Added support for lazy invariants
See PistonDevelopers#640 - Use fake grab expressions to precompute lazy invariant values - Added lazy invariant fake grap expressions - Added lazy invariant `ok(_)` pattern - Added lazy invariant `err(_)` pattern - Added lazy invariant `some(_)` pattern - Added test for lazy invariant - Removed `Expression::BinOp` - Added `ast::Lazy` - Added `ast::Arg::lazy` - Added `FnIndex::ExternalLazy` - Removed `BinOpExpression::resolve_locals` - Made `and_also` standard external function - Made `or_else` standard external function - Changed external function signature to return `Result<Option<Variable>, String>` - Returns value directly from external functions whenever possible - Made `unwrap_or` lazy - Use static pointers for external lazy invariants - Added `LAZY_UNWRAP_OR` - Added `LAZY_AND` - Added `LAZY_OR` - Added `LAZY_NO` - Rewrite binary operators in type checker - Delay errors in type checker for external functions - Treat `Kind::Add`, `Kind::Mul`, `Kind::Pow` as expressions in type checker - Updated `dyon_fn!` macro to return value directly when possible - Removed `Runtime::binop` - Added ambiguity check for `sec[_] vs any` - Added `standard_binop` to “write.rs”
Configuration menu - View commit details
-
Copy full SHA for 704e879 - Browse repository at this point
Copy the full SHA 704e879View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1d07de - Browse repository at this point
Copy the full SHA a1d07deView commit details
Commits on Sep 23, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 453eab9 - Browse repository at this point
Copy the full SHA 453eab9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f073a6 - Browse repository at this point
Copy the full SHA 4f073a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63d4f76 - Browse repository at this point
Copy the full SHA 63d4f76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05f9ba3 - Browse repository at this point
Copy the full SHA 05f9ba3View commit details -
Configuration menu - View commit details
-
Copy full SHA for f69bccc - Browse repository at this point
Copy the full SHA f69bcccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 332a0a0 - Browse repository at this point
Copy the full SHA 332a0a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for cfa11bc - Browse repository at this point
Copy the full SHA cfa11bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b42297 - Browse repository at this point
Copy the full SHA 7b42297View commit details -
Configuration menu - View commit details
-
Copy full SHA for 453aecd - Browse repository at this point
Copy the full SHA 453aecdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2aa0813 - Browse repository at this point
Copy the full SHA 2aa0813View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbb0888 - Browse repository at this point
Copy the full SHA dbb0888View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba19536 - Browse repository at this point
Copy the full SHA ba19536View commit details -
Configuration menu - View commit details
-
Copy full SHA for da655f5 - Browse repository at this point
Copy the full SHA da655f5View commit details
Commits on Sep 24, 2019
-
Removed unnecessary check of arguments
This case is covered by the type checker.
Configuration menu - View commit details
-
Copy full SHA for 9886f89 - Browse repository at this point
Copy the full SHA 9886f89View commit details -
Configuration menu - View commit details
-
Copy full SHA for aec0bac - Browse repository at this point
Copy the full SHA aec0bacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e8f962 - Browse repository at this point
Copy the full SHA 8e8f962View commit details
Commits on Sep 25, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 4a8f706 - Browse repository at this point
Copy the full SHA 4a8f706View commit details
Commits on Sep 27, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 61f7bd3 - Browse repository at this point
Copy the full SHA 61f7bd3View commit details
Commits on Sep 28, 2019
-
Added
check__in_string_imports
- Added `_` as printable character of objects
Configuration menu - View commit details
-
Copy full SHA for b60b15c - Browse repository at this point
Copy the full SHA b60b15cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c91e290 - Browse repository at this point
Copy the full SHA c91e290View commit details -
Configuration menu - View commit details
-
Copy full SHA for c272930 - Browse repository at this point
Copy the full SHA c272930View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9edb8e - Browse repository at this point
Copy the full SHA d9edb8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 90a7a46 - Browse repository at this point
Copy the full SHA 90a7a46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6517726 - Browse repository at this point
Copy the full SHA 6517726View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe7f6e4 - Browse repository at this point
Copy the full SHA fe7f6e4View commit details
Commits on Oct 2, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 1094d73 - Browse repository at this point
Copy the full SHA 1094d73View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39868f7 - Browse repository at this point
Copy the full SHA 39868f7View commit details
Commits on Oct 3, 2019
-
Configuration menu - View commit details
-
Copy full SHA for cc88f06 - Browse repository at this point
Copy the full SHA cc88f06View commit details