Commit Graph

35 Commits

Author SHA1 Message Date
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