Commit Graph

71 Commits

Author SHA1 Message Date
Georges Dupéron
e07b456b70 Adjusted texlive dependency, changed url to lighter version of DrRacket, which lacks the self-tests. 2016-01-15 16:15:30 +01:00
Georges Dupéron
9596d73994 Fixed .travis.yml after moving graph/ to graph-lib/ 2016-01-15 16:04:30 +01:00
Georges Dupéron
c7e9308d56 Updated MathJax. 2016-01-15 15:55:26 +01:00
Georges Dupéron
8e45d216c5 Added texlive dependency to .travis.yml 2016-01-15 15:54:07 +01:00
Georges Dupéron
a8657fa9f4 Adjusted README file. 2016-01-15 15:51:57 +01:00
Georges Dupéron
c2ea10f1ab Moved top-level graph/ folder to graph-lib, to avoid confusion. 2016-01-15 15:50:58 +01:00
Georges Dupéron
cebf335ea1 Circumvent bug https://github.com/racket/typed-racket/issues/292 . 2016-01-15 15:24:17 +01:00
Georges Dupéron
7281217ef5 Added link to README file in graph/ 2016-01-15 14:35:53 +01:00
Georges Dupéron
33da0c26e2 Changed the url for the soegaard/bracket repository. 2016-01-15 14:34:04 +01:00
Georges Dupéron
0e9c602eb8 Moved .travis.yml up one directory. 2016-01-15 14:23:37 +01:00
Georges Dupéron
1e44259a3f Added license files. 2016-01-15 14:18:58 +01:00
Georges Dupéron
8cca62fb83 Removed (require (submod ".." doc)) used to make the docs seen by the coverage tool, instead patched the coverage tool so that it can run multiple modules. Make works. 2016-01-15 13:57:46 +01:00
Georges Dupéron
24618b5683 map: works, tried adding multiple arguments, but it's more work than it's worth, and it should work fine with the regular map in most cases. 2016-01-14 22:58:39 +01:00
Georges Dupéron
7b0d40e700 WIP on map: 2016-01-14 21:00:58 +01:00
Georges Dupéron
22c7e1ea4e Handling lists in get and λget: ((λget streets … houses … owner name) g) now works, so does (get g streets … houses … owner name). Worked a bit more on the inference-friendly macro. 2015-12-18 17:14:39 +01:00
Georges Dupéron
22caa0dba3 Added shorthand version of map that helps type inference for common cases, like (map car l). 2015-12-18 12:09:50 +01:00
Georges Dupéron
aca65cbfde Added travis-ci configuration file 2015-12-17 14:30:22 +01:00
Georges Dupéron
2c0dfe7350 The get macro now works well, but needs a patch in typed/racket to fix a bug when providing promises which need to be wrapped in a contract. 2015-12-17 14:14:56 +01:00
Georges Dupéron
6e5bc55402 Implemented (get v f …) with support for c[ad]*r. Fixed naming of types returned by struct-get (by not defining types for fields, in case they're the same as a node type or built-in type) 2015-12-15 18:54:10 +01:00
Georges Dupéron
01ef3f2c01 Changed graph3.lp2.rkt so that it uses tagged structures (from variant.lp2.rkt), made the “get” macro work on variants. 2015-12-14 17:48:43 +01:00
Georges Dupéron
62afe1eeb4 Fixed srcloc in typed/rackunit (built a custom version, needs to be copied over into the upstream typed/rackunit). 2015-12-14 13:12:07 +01:00
Georges Dupéron
507a77e827 Used check-equal?-classes: in structure.lp2.rkt 2015-12-11 18:48:23 +01:00
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