Commit Graph

50 Commits

Author SHA1 Message Date
Georges Dupéron
37120eec9c Closes #62: Encoding of relations as types (≡, ∈, = length, < length) 2017-04-11 22:06:16 +02:00
Georges Dupéron
839bec824c WIP on #62: Encoding of relations as types (≡, ∈, = length, < length) — finished most of the type-level encoding, fixed tests 2017-04-11 14:07:31 +02:00
Georges Dupéron
2ab2701789 WIP on #62: Encoding of relations as types (≡, ∈, = length, < length) 2017-04-06 21:44:17 +02:00
Georges Dupéron
540e8a24b7 Added an extra test. 2017-04-06 16:10:19 +02:00
Georges Dupéron
36ae2e8080 Cleaned up tests 2017-04-06 10:40:37 +02:00
Georges Dupéron
a0d682cb6c Fixed some bugs with the encoding of paths 2017-04-06 10:27:23 +02:00
Georges Dupéron
32379533ed Wrote parser for paths 2017-04-03 19:24:47 +02:00
Georges Dupéron
acb444f88f Work on invariants. 2017-04-01 23:43:36 +02:00
Georges Dupéron
18a8938d0c Closes FB case 190 Rename λ-replace-in-instance to !λ-replace-in-instance 2017-01-26 21:20:51 +01:00
Georges Dupéron
8bf2315281 Closes FB case 189 Switch phc-graph to the packaged subtemplate 2017-01-26 19:32:06 +01:00
Georges Dupéron
39e703b127 Timing info on test-graph-type. 2017-01-26 17:18:28 +01:00
Georges Dupéron
693ab9e84e Closes FB case 176 Fix the type of nodes for (non-)polymorphic graph types 2017-01-20 18:28:37 +01:00
Georges Dupéron
7991ed7d7e Added missing require 2017-01-20 16:31:22 +01:00
Georges Dupéron
4589fdff69 Closes FB case 169 invariant-info should override equality because it is used in a set-equal? and contains syntax objects 2017-01-20 16:04:40 +01:00
Georges Dupéron
6989b4f339 Closes FB case 168 Don't use /top-loc in graph-info, as the macro and its use are within the same file 2017-01-20 15:18:32 +01:00
Georges Dupéron
2de609c523 Closes FB case 167 Catch the errors when first calling compute-graph-info. If there are any, parameterize check-remembered-node! to not lift errors 2017-01-20 00:28:47 +01:00
Georges Dupéron
c896df5666 Closes FB case #166 Check that the contracts for graph-info are flat 2017-01-19 14:26:20 +01:00
Georges Dupéron
dc449fae4d Remove output, incomplete types should not be in the main graph type, as wrappers may add/remove fields in the incomplete type in the graph transform or creation code. 2017-01-18 04:45:04 +01:00
Georges Dupéron
f615ae243b Fixed storage of graph-info 2017-01-18 04:11:41 +01:00
Georges Dupéron
00c5471830 Found source of the "ill-formed code (unexpected graph structure)" error (https://github.com/racket/racket/issues/1580) 2017-01-18 03:37:42 +01:00
Georges Dupéron
bd04ef6262 Printing bug when printing the set. 2017-01-17 19:12:51 +01:00
Georges Dupéron
aceb9e71f3 Added checks for the assumptions I made on the behaviour of TR concerning phantom types, covariance, contravariance and its ability to recognize different formulations of the same type (or of a subtype or supertype). Updated the mindmap notes. 2017-01-06 19:05:43 +01:00
Georges Dupéron
e951c7b26f Started writing on phantom types as witnesses for invariants 2017-01-01 21:03:03 +01:00
Georges Dupéron
48bc1ed2f9 More optimisation. 2016-12-30 04:12:52 +01:00
Georges Dupéron
e9255ca439 Started writing phantom invariants representation, optimized flex records. 2016-12-30 02:25:20 +01:00
Georges Dupéron
de1f11dbf7 Switched flex records from thunks to delay/pure/stateless promises 2016-12-28 17:41:48 +01:00
Georges Dupéron
78e5037575 Field deletion in flex structs, stronger type (actually checks whether fields are present or not), tests 2016-12-28 02:17:24 +01:00
Georges Dupéron
3458175b0c Cleanup 2016-11-10 18:17:04 +01:00
Georges Dupéron
4b9d7cba22 Attempt to make it work without metafunctions, but I think it's going to be difficult to use 2016-11-10 17:45:31 +01:00
Georges Dupéron
38c9c7b7d6 First metafunction works, with a bit of a hack to remove the annoying scope. 2016-11-05 02:46:09 +01:00
Georges Dupéron
4eecd1def8 WIP: have to separate function definition from its type with :, due to recursive functions. 2016-11-04 22:38:14 +01:00
Georges Dupéron
cf23417f1f Partial rewrite of traversal.hl.rkt, ready to add the caching mechanism. 2016-11-04 02:30:51 +01:00
Georges Dupéron
dd21c82c85 Added tests for different orders of types in the union for traversal.hl.rkt 2016-10-08 17:19:26 +02:00
Georges Dupéron
3eecf3796e Hopefully fixed order of union elements in the cond 2016-10-08 14:53:20 +02:00
Georges Dupéron
de8508f3ce Added support for type-to-replaceᵢ directly within a union. 2016-10-08 03:10:04 +02:00
Georges Dupéron
dc11b3014e dispatch-union seems to work 2016-10-07 22:42:20 +02:00
Georges Dupéron
a486dc81f7 Ported traversal code to use subtemplate, fixed scope issue with subtemplate 2016-10-07 13:42:00 +02:00
Georges Dupéron
897c4ed99d Finished tests for subtemplate 2016-10-07 11:58:33 +02:00
Georges Dupéron
9f738e12e5 Arrows for subtemplate derived ids work in DrRacket 2016-10-07 04:46:06 +02:00
Georges Dupéron
59d1d268a8 Tests for subtemplate 2016-10-06 17:30:15 +02:00
Georges Dupéron
6921eb0e67 Hopefully fixed scope issues with subtemplate 2016-10-06 16:56:19 +02:00
Georges Dupéron
29bf4ef88a WIP. 2016-10-06 14:25:46 +02:00
Georges Dupéron
f4adf61aba WIP 2016-10-06 02:02:23 +02:00
Georges Dupéron
41013e5ef4 Nearly finished subtemplate. 2016-10-05 18:54:43 +02:00
Georges Dupéron
88102c7263 Union of two tagged structures works 2016-10-04 13:23:37 +02:00
Georges Dupéron
4862573453 Preliminary support for tagged structures, early draft for unions 2016-10-03 23:55:26 +02:00
Georges Dupéron
922d50d02f Added tests for more complex to-replace types. 2016-10-03 03:34:16 +02:00
Georges Dupéron
95c156717c First draft for define-fold, all tests pass. 2016-10-03 03:25:28 +02:00
Georges Dupéron
4c84b1625d Run Travis on 2 threads only, to avoid OOM when compiling phc-adt. Added and used check-equal?-values: form. 2016-10-03 01:29:53 +02:00
Georges Dupéron
1f395775ce Build the hyper-literate document. 2016-10-03 00:04:29 +02:00