Georges Dupéron
|
1455f37350
|
Implemented in library: check-equal?-classes:, which tests that elements in the same class are equal?, and elements in distinct classes are not equal?, as well as repeat-stx, which solves the (syntax-parse #'((1 2 3) (x y)) [([a b …] …) #'([(a b) …] …)) problem.
|
2015-12-11 18:38:32 +01:00 |
|
Georges Dupéron
|
9de841d95f
|
Work in progress for implementing (structure) so that it is both a hybrid function and empty struct, but actually it can't be passed to polymorphic functions (like map, …), so it's probably better to just add an optional #:instance or #:constructor argument to clarify.
|
2015-12-10 17:19:11 +01:00 |
|
Georges Dupéron
|
8a398ae5a3
|
Finished fixing references (there are still a couple of errors, but less important).
|
2015-12-09 16:08:02 +01:00 |
|
Georges Dupéron
|
250f4e1137
|
Partially fixed cross-references. Still needs to update Makefile.
|
2015-12-09 11:46:12 +01:00 |
|
Georges Dupéron
|
d127d4d27f
|
Cleanup, parallel compilation and test in make/make.rkt, verbose coverage with cover -v (it takes a long time, so it's nice to see what it's doing).
|
2015-12-08 15:00:21 +01:00 |
|
Georges Dupéron
|
16c782e319
|
Changed define-graph so that it defines the constructor, instead of directly accepting the constructor's arguments.
|
2015-12-08 14:42:12 +01:00 |
|
Georges Dupéron
|
c1576cbc16
|
Fixed order of elements in fold-queues. Removed (let () …) in graph3.lp2.rkt, because TR currently chokes on locally-defined types in some conditions.
|
2015-12-08 14:30:27 +01:00 |
|
Georges Dupéron
|
484a920b4e
|
Found source of bug with promises type: locally-defined recursive types can't be used (inferred) in other modules, see TR issue #262 https://github.com/racket/typed-racket/issues/262 .
|
2015-12-07 17:50:54 +01:00 |
|
Georges Dupéron
|
191ae7f50e
|
Seems to work but there is a problem with Promise: Type Checker: Street/with-promises-type is not bound as a type in: (force (car (second g))). See graph/__DEBUG_graph__.rkt .
|
2015-12-07 01:26:04 +01:00 |
|
Georges Dupéron
|
04ddaf308c
|
Compiles and typecheck, but the queues need two lists to be implemented (for now they are stacks).
|
2015-12-07 00:59:39 +01:00 |
|
Georges Dupéron
|
80a056791d
|
graph3.lp2.rkt typechecks, with a return value of type root/with-promises-type. Now only fold-queues needs to be implemented.
|
2015-12-06 02:53:59 +01:00 |
|
Georges Dupéron
|
d10077dbde
|
[make works] Search for TODOs in the makefile, so that they show up at each compilation. Let's try to fix them from time to time :) .
|
2015-12-04 22:44:44 +01:00 |
|
Georges Dupéron
|
353c2ff426
|
graph3.lp2.rkt typechecks, but doesn't add new placeholders to the queue yet. Also, the queue module itself isn't finished.
|
2015-12-04 22:34:39 +01:00 |
|
Georges Dupéron
|
5169b73bf5
|
WIP, fixed arrows given by define-temp-ids, using syntax-local-get-shadower, see __DEBUG__.rkt for an example.
|
2015-11-30 16:25:54 +01:00 |
|
Georges Dupéron
|
f96beb16f7
|
Just before switching to one-mapping-per-node version.
|
2015-11-20 21:03:53 +01:00 |
|
Georges Dupéron
|
7acbb2acc8
|
WIP on graph2.lp2.rkt
|
2015-11-20 14:54:25 +01:00 |
|
Georges Dupéron
|
758d7ef4b7
|
Added result type annotations for all lambdas in , to catch errors more easily.
That also fixed a problem with graph2.lp2.rkt (changes not committed yet), which probably was due to a type too narrow or to wide being inferred.
|
2015-11-19 21:08:42 +01:00 |
|
Georges Dupéron
|
f43b08eba3
|
[make works] Added raco test to makefile, fixed long lines in all *.rkt files.
|
2015-11-19 14:54:59 +01:00 |
|
Georges Dupéron
|
a2e37a10a4
|
Changed graph syntax to allow field names. Wrote node/incomplete-type and node/make-incomplete implementations.
|
2015-11-19 02:02:57 +01:00 |
|
Georges Dupéron
|
854383ef93
|
[make works] Added “Making incomplete nodes” section
|
2015-11-18 20:34:10 +01:00 |
|
Georges Dupéron
|
b3c746276a
|
Used ~a instead of string-append, to concatenate long lines.
|
2015-11-18 20:34:04 +01:00 |
|
Georges Dupéron
|
770e75834f
|
[make works] Added section “Making with-promises nodes” and improved others in graph2.lp2.rkt
|
2015-11-18 19:57:34 +01:00 |
|
Georges Dupéron
|
d7860e0eaf
|
Fixed footnotes rendering in documentation.
|
2015-11-18 16:26:33 +01:00 |
|
Georges Dupéron
|
67e9dc92e0
|
[make works] Started writing about the queues in graph2.lp2.rkt, and started writing the code using the module
|
2015-11-18 15:28:23 +01:00 |
|
Georges Dupéron
|
333a909385
|
Started writing fold-queues module, which can process multiple queues with distinct types.
|
2015-11-18 15:26:55 +01:00 |
|
Georges Dupéron
|
0602d2963e
|
Added define-temp-ids macro to lib/low.rkt
|
2015-11-18 15:24:57 +01:00 |
|
Georges Dupéron
|
a9a4b934b2
|
Split long lines in lib/low.rkt
|
2015-11-18 15:24:18 +01:00 |
|
Georges Dupéron
|
71098a9c04
|
Fixed some typos, added a bit more text.
|
2015-11-16 23:38:15 +01:00 |
|
Georges Dupéron
|
7e931314d1
|
Started writeup about graph macro.
|
2015-11-16 18:49:21 +01:00 |
|
Georges Dupéron
|
5ed7ddb7c6
|
Finished implementing queue with purely functional tag database.
|
2015-11-16 01:31:11 +01:00 |
|
Georges Dupéron
|
25934fc674
|
WIP on queue library, nearly finished.
|
2015-11-14 22:27:49 +01:00 |
|
Georges Dupéron
|
241649fcae
|
Cleaup, generate documentation PDFs in makefile, library functions for the queue library (next commit).
|
2015-11-14 22:27:27 +01:00 |
|
Georges Dupéron
|
efd556eb66
|
Cleaned up tests. make clean && make works.
|
2015-11-12 12:47:52 +01:00 |
|
Georges Dupéron
|
fbc2411603
|
Tried to make low/typed-untyped-module.rkt tests for require/provide run. In the end the error was just due to https://github.com/racket/typed-racket/issues/228, upgrading to a newer build of Racket fixed this. Added a couple of typed/untyped utilities in the process.
|
2015-11-12 12:17:40 +01:00 |
|
Georges Dupéron
|
29affb88c8
|
Implements FB case 61: “Use fold-instance to implement replace-instance”.
|
2015-11-12 00:30:04 +01:00 |
|
Georges Dupéron
|
6b42be29b9
|
Finished testing implementation for FB case 58 “Add fold to replace-in-type (to extract information from the instance)”.
|
2015-11-11 22:25:42 +01:00 |
|
Georges Dupéron
|
d6347b52ce
|
Finished implementing (not tested well enough) most of FB case 58 “Add fold to replace-in-type (to extract information from the instance)”.
|
2015-11-11 02:07:49 +01:00 |
|
Georges Dupéron
|
e44d527f2b
|
WIP.
|
2015-11-11 01:13:35 +01:00 |
|
Georges Dupéron
|
392999de86
|
WIP on FogBugz case 58 “Add fold to replace-in-type (to extract information from the instance)”.
|
2015-11-10 19:35:24 +01:00 |
|
Georges Dupéron
|
116d16f74e
|
56: Write more text in rewrite-type.lp2.rkt
|
2015-11-10 17:51:55 +01:00 |
|
Georges Dupéron
|
e8ab36d022
|
Finished writing rewrite-type.lp2.rkt . Fixes case 24.
|
2015-11-09 21:32:32 +01:00 |
|
Georges Dupéron
|
7d792f6623
|
Before simplifying the strategy fro rewrite-type.lp2.rkt
|
2015-11-09 18:10:32 +01:00 |
|
Georges Dupéron
|
4a25c49169
|
Implemented rewrite-type, but it does not work for vectors, because (λ ([x : (Vector String)]) (match x [(vector a) (cons 1 a)] [_ 'continue])) can yield 'continue, and it does not work for lists because of some type inference issues.
|
2015-11-09 13:02:30 +01:00 |
|
Georges Dupéron
|
449a6f4a09
|
Added let-abort and let*-abort
|
2015-11-06 15:32:40 +01:00 |
|
Georges Dupéron
|
40fe7e03d5
|
Wrote cond-abort module, started using it in rewrite-type.
|
2015-11-06 13:36:50 +01:00 |
|
Georges Dupéron
|
1273cd0e4e
|
Work done last week.
|
2015-10-28 19:28:46 +01:00 |
|
Georges Dupéron
|
639ce21a13
|
Submodule lib/doc/bracket/: Ignored and removed compiled/ folders
|
2015-10-22 18:20:31 +02:00 |
|
Georges Dupéron
|
44c6c951cc
|
Added lib/sequences.rkt, transformed format-ids into a function, moved format-ids and the rest of lib/untyped/ids.rkt into lib/low.rkt, added define-modules macro. Adjusted README and lib/untyped.rkt accordingly.
|
2015-10-22 18:19:13 +02:00 |
|
Georges Dupéron
|
494537057f
|
Initial commit.
|
2015-10-21 18:35:42 +02:00 |
|