Commit Graph

462 Commits

Author SHA1 Message Date
Folkert
b3c0fa63d3 remove unneeded argument 2020-10-29 22:34:12 +01:00
Folkert
b75880bed2 expand aliases before/during canonicalization 2020-10-29 22:33:18 +01:00
Folkert
a0c8915678 Merge remote-tracking branch 'origin/trunk' into fix-alias-inference 2020-10-29 14:40:55 +01:00
Folkert
ee23e5979d pass argument by reference 2020-10-29 00:35:10 +01:00
Folkert
047746c716 use only references (no Vec) in canonical AST 2020-10-29 00:12:44 +01:00
Folkert
9b37a1140c get things up and running again 2020-10-26 01:34:56 +01:00
Folkert
a2938440fa fix borrow checker things 2020-10-26 01:08:02 +01:00
Folkert
93a1baad1d use only references (no Vec) in canonical AST 2020-10-26 01:03:33 +01:00
Folkert
b91a76bb5c canonicalization 2020-10-26 00:43:50 +01:00
Pablo Hirafuji
6c70f3d50f Merge branch 'trunk' into fix/docs-tests 2020-10-25 20:22:47 -03:00
Pablo Hirafuji
43f390d80c Add some tests for documentation gen 2020-10-25 20:08:43 -03:00
Folkert
4ef096abf6 first steps for parsing 2020-10-25 23:37:29 +01:00
Folkert
fff0c37e40 add new canonicalize phase 2020-10-25 22:58:38 +01:00
Richard Feldman
6b183b1bcc Handle builtin defs in canonicalize_module_defs 2020-10-25 01:42:10 -04:00
Folkert
7bff0b50c6 remove now unneeded code 2020-10-21 15:49:20 +02:00
Folkert
432dbee422 switch docs to use the standard file load mechanism 2020-10-21 15:43:56 +02:00
Richard Feldman
db2d99f56d
Merge branch 'trunk' into platform 2020-10-18 23:59:44 -04:00
Richard Feldman
dfa61b4c18 Parse platform headers 2020-10-18 23:55:49 -04:00
Folkert
896090642f add assertion 2020-10-18 20:11:33 +02:00
Folkert
496580c869 remove commented code 2020-10-17 21:59:00 +02:00
Folkert
607799b96e steps towards closures and Effects 2020-10-17 20:53:57 +02:00
Folkert
edfc96628e WIP 2020-10-17 14:53:57 +02:00
Folkert
defa408e83 clippy fixes 2020-10-17 00:40:01 +02:00
Folkert
752a40a23c fix or ignore gen tests 2020-10-16 21:19:25 +02:00
Folkert
d931c8994a fix most type inference issues 2020-10-16 20:50:42 +02:00
Folkert
40ffca2b7b IT WORKS 2020-10-16 00:18:40 +02:00
Folkert
7f1dd80392 hook up size inference, WIP 2020-10-14 22:55:25 +02:00
Folkert
ceccebd235 fix repl error reporting 2020-10-14 18:15:08 +02:00
Folkert
cb9ce5e8d7 use modules in the repl 2020-10-14 17:48:56 +02:00
Folkert
6aaba98d31 enable recursive definitions at the top-level 2020-10-14 01:08:20 +02:00
Folkert
89a1146c19 run gen tests as modules 2020-10-13 21:45:41 +02:00
Folkert
78d1a01742 hopefully fix race condition bug 2020-10-12 20:26:11 +02:00
Richard Feldman
a3d81108c3
Merge branch 'trunk' into improve-dependency-solving 2020-10-12 10:23:53 -04:00
Folkert
9ad72d4979 fix unreported clippy warnings 2020-10-12 16:22:19 +02:00
Folkert
27cdcffec0 Merge remote-tracking branch 'origin/trunk' into improve-dependency-solving 2020-10-12 16:10:25 +02:00
Richard Feldman
2758c7f04c Always use a minimum of 1 worker 2020-10-12 09:33:11 -04:00
Folkert
06bc187f8b all tests passing + clippy satisfied 2020-10-12 01:42:03 +02:00
Folkert
40f0588696 back to a working state 2020-10-11 21:55:26 +02:00
Folkert
5b14dc73f6 allow multiple external specializations per symbol 2020-10-11 15:25:15 +02:00
Richard Feldman
1c49a95e64 parse_and_constrain doesn't need to own module_ids 2020-10-10 20:30:33 -04:00
Richard Feldman
b8eff12767 Use parking_lot::Mutex 2020-10-10 20:30:33 -04:00
Folkert
79d3b0ac01 cross module specialization WIP 2020-10-11 01:23:52 +02:00
Folkert
5c558a9a87 get it up and running 2020-10-10 22:35:38 +02:00
Folkert
d8a0760726 hook up finding specializations 2020-10-10 21:02:31 +02:00
Folkert
8eec622d23 move over code that tries to do the full specialization process in parallel 2020-10-10 20:40:55 +02:00
Folkert
37e0523557 preparations for specializing 2020-10-10 20:28:46 +02:00
Folkert
7963843b9c cleanup 2020-10-10 19:39:33 +02:00
Folkert
085c5f54de use a Dependencies struct to track what the dependencies between modules are and when they are met 2020-10-10 19:29:10 +02:00
Richard Feldman
aab8e41d7c Clean up some dead comments 2020-10-07 22:21:36 -04:00
Folkert
3f4ec2068e weird clippy quirk 2020-10-08 01:53:02 +02:00
Folkert
518f45222a all things clippy 2020-10-08 01:32:47 +02:00
Folkert
c7b251d6b4 Merge remote-tracking branch 'origin/trunk' into gen-modules 2020-10-08 01:29:32 +02:00
Folkert
768dbbc553 all tests passing 2020-10-08 00:53:06 +02:00
Folkert
f16e17823e fix load tests 2020-10-07 23:25:47 +02:00
Folkert
6976682783 solving some compile errors 2020-10-07 21:28:42 +02:00
Pablo Hirafuji
ebdeecd5d2 Run cargo fmt [2] 2020-09-27 20:59:31 -03:00
Pablo Hirafuji
0c0f70aba0 Add more docs files and check def exposition 2020-09-27 20:41:51 -03:00
Pablo Hirafuji
aed612a75c Load docs from files 2020-09-27 19:40:54 -03:00
Richard Feldman
5b27e10095 Reproduce empty string parsing bug 2020-08-31 23:13:50 -04:00
Richard Feldman
51c0180f45 Don't have formatter print parens in field types 2020-08-24 00:02:59 -04:00
Richard Feldman
295cb00499 wip 2020-08-12 23:18:40 -04:00
Folkert
84a8b69437 generate IR that uses uniqueness 2020-08-11 14:47:14 +02:00
Folkert
4de573b54b use quicksort without closure for loading
the old version worked, but won't run yet because it uses a closure
2020-08-10 20:54:05 +02:00
Richard Feldman
5f73a0b7ca Add builtin defs in load::file 2020-08-09 21:27:39 -04:00
Richard Feldman
beaa0ed6e1 Drop unnecessary Arc 2020-08-07 22:27:38 -04:00
Richard Feldman
15d8e06a44 Don't blow up on module timings if there was an error 2020-08-03 23:58:59 -04:00
Richard Feldman
62fdae8b45 Don't send separate start_time arg 2020-08-03 23:16:46 -04:00
Richard Feldman
7f1e666ad3 Add some basic timings 2020-08-03 22:46:14 -04:00
Richard Feldman
656dd18177 clippy 2020-08-03 20:55:16 -04:00
Richard Feldman
6ba54c986f Fix interning bug with exposed symbols 2020-08-03 20:48:53 -04:00
Richard Feldman
87630e1d69 Fix test_uniq_load 2020-08-02 21:48:37 -04:00
Richard Feldman
cb843c37e7 Get tests compiling again 2020-08-02 21:00:33 -04:00
Richard Feldman
62459d0f1f Drop SharedModules concept 2020-08-02 20:58:51 -04:00
Richard Feldman
406087970b Get load::file compiling. 2020-08-02 20:53:38 -04:00
Richard Feldman
8434af4e63 Use worker_arenas in load::file 2020-08-02 12:24:52 -04:00
Richard Feldman
54b5e28206 Revert "Attempt"
This reverts commit b963e0e502.
2020-08-02 11:54:08 -04:00
Richard Feldman
b963e0e502 Attempt 2020-08-02 11:54:07 -04:00
Richard Feldman
3eecdd881b Revert "Revert "wip""
This reverts commit e0943d8649.
2020-08-02 11:18:00 -04:00
Richard Feldman
82a7a836e3 Revert "Use arena_pool in load::file"
This reverts commit 87bcd4153b.
2020-08-02 11:17:42 -04:00
Richard Feldman
87bcd4153b Use arena_pool in load::file 2020-08-02 11:17:22 -04:00
Richard Feldman
e0943d8649 Revert "wip"
This reverts commit ee9f185524.
2020-08-02 09:37:12 -04:00
Richard Feldman
7c10cf82e5 Revert "wip"
This reverts commit d40e33689d.
2020-08-02 09:36:55 -04:00
Richard Feldman
d533f6234c Merge remote-tracking branch 'origin/arena_pool' into crossbeam 2020-08-02 09:36:47 -04:00
Richard Feldman
b91359e4c7 Initial pass at arena_pool 2020-08-01 15:42:22 -04:00
Richard Feldman
d40e33689d wip 2020-07-31 09:13:20 -04:00
Richard Feldman
ee9f185524 wip 2020-07-30 21:53:09 -04:00
Richard Feldman
647b83baa8 Move some data structures around 2020-07-30 19:22:17 -04:00
Richard Feldman
ccdc2ea89a Notify listeners after adding tasks 2020-07-30 19:21:41 -04:00
Richard Feldman
f8590182f5 Extract finish() 2020-07-30 18:58:51 -04:00
Richard Feldman
29b76965fe Don't store worker handles 2020-07-30 18:58:45 -04:00
Richard Feldman
4968cd861e Shut down worker threads when done 2020-07-30 18:42:18 -04:00
Richard Feldman
52dc4e9a03 Bump-allocate LoadedModule 2020-07-30 18:40:56 -04:00
Richard Feldman
d06ad19eb0 Don't use channels to set up stealers 2020-07-30 18:25:09 -04:00
Richard Feldman
1c49e116b3 wip 2020-07-30 00:59:03 -04:00
Richard Feldman
5643c4b921 wip 2020-07-28 22:57:23 -04:00
Richard Feldman
931c558b5a Move lots of things into Env 2020-07-28 21:43:02 -04:00
Richard Feldman
4ebe36fa4a Revert "Drop find_task"
This reverts commit 3a61c0671c.
2020-07-28 20:59:07 -04:00
Richard Feldman
3a61c0671c Drop find_task 2020-07-28 20:58:16 -04:00
Richard Feldman
aea125549a Add find_task 2020-07-28 20:51:48 -04:00
Richard Feldman
167d7eb719 Extract load_deps from load 2020-07-28 20:51:48 -04:00
Richard Feldman
99e41c73f3 cargo fmt 2020-07-27 01:10:04 -04:00
Richard Feldman
eaaeda728a Use synchronous file I/O over mmap 2020-07-27 01:10:04 -04:00
Richard Feldman
9f9ce327d4 Lazily validate that input bytes are valid UTF-8 2020-07-27 01:10:04 -04:00
Richard Feldman
15f087c93e Use memmap for reading files 2020-07-27 01:10:04 -04:00
Chad Stearns
759f1289d6 Rename List.push to List.append 2020-07-25 03:43:52 -04:00
Richard Feldman
c90f2fd328 Improve error message in test_load 2020-07-22 19:54:11 -04:00
Folkert
6e7ec8cd2c fix other test failures 2020-07-18 00:18:55 +02:00
Richard Feldman
1cd49689c2 Merge remote-tracking branch 'origin/trunk' into low-level-ops 2020-07-07 21:09:50 -04:00
Folkert
1b4c5cac25 fix failing tests 2020-07-07 17:17:55 +02:00
Richard Feldman
f442cec2da Fix test_load 2020-07-04 22:20:43 -04:00
Folkert
b89dc60d7e cleanup comment 2020-06-30 15:09:15 +02:00
Folkert
36e6950daa ensure VarId always encodes root var
otherwise variables with the same root, but different values would be different once imported in another module
2020-06-30 15:03:30 +02:00
Richard Feldman
8c96d12661 Merge trunk 2020-06-29 22:10:46 -04:00
Richard Feldman
81db9de8b5
Merge branch 'trunk' into container-rule-patterns 2020-06-28 16:21:34 -04:00
Richard Feldman
95fa81b414 Add failing test for self-qualified modules 2020-06-28 15:37:44 -04:00
Folkert
41621bc509 fix test outputs
in some cases for aliases the outputs are not entirely correct yet. That's future work
2020-06-27 21:01:51 +02:00
Richard Feldman
55045e1cea Fix some tests and docs 2020-06-25 22:11:46 -04:00
Richard Feldman
88990c8711 Move Int and Float modules into Num 2020-06-22 23:25:38 -04:00
Folkert
0fbac382d0 improve uniqueness signatures 2020-06-22 23:28:23 +02:00
Richard Feldman
b75f061f4f Fix exhaustiveness errors 2020-06-19 13:30:14 -04:00
Richard Feldman
e49b43d376 Extract constrain_imports & pre_constrain_imports 2020-06-19 11:02:10 -04:00
Richard Feldman
1b3b9ee1c4 Merge remote-tracking branch 'origin/trunk' into specialize-separately 2020-06-13 23:54:30 -04:00
Richard Feldman
269da82840 Make VarStore no longer use atomics 2020-06-13 21:59:01 -04:00
Richard Feldman
245a9fc951 Merge remote-tracking branch 'origin/trunk' into specialize-separately 2020-06-13 21:03:38 -04:00
Richard Feldman
efb23dff44 Drop unused imports 2020-05-31 20:16:04 -04:00
Richard Feldman
99dcda8603 Use inlinable_string 0.1 2020-05-31 20:14:19 -04:00
Richard Feldman
e55929d545 move load::file::Module to can:: 2020-05-26 21:21:11 -04:00
Richard Feldman
eaf7e2df36 Improve a comment 2020-05-26 01:16:20 -04:00
Richard Feldman
f79ead7f02 Avoid cloning on the main thread 2020-05-26 01:03:07 -04:00
Richard Feldman
11e2f998fc Refactor alias cloning logic a bit 2020-05-26 00:58:14 -04:00
Richard Feldman
c47dc57fc2 Appease clippy 2020-05-26 00:41:57 -04:00
Richard Feldman
1b48c370a9 cargo fmt 2020-05-26 00:33:16 -04:00
Richard Feldman
4295dec955 Fix load_builtin_aliases ordering 2020-05-26 00:04:59 -04:00
Richard Feldman
c386192e8b Reorganize when solving and constraint gen happen 2020-05-26 00:04:42 -04:00
Richard Feldman
afacf1d6c4 Reorganize declarations and src 2020-05-25 17:45:02 -04:00
Richard Feldman
64583a01bb move load::file::Module to can:: 2020-05-25 16:02:10 -04:00
Richard Feldman
3dac73d8d0 Parse doc comments 2020-05-23 22:03:21 -04:00
Richard Feldman
8fbfae5e62 Expand some docs 2020-05-09 09:46:24 -04:00
Richard Feldman
ce9e7a91f6 Clean up some Cargo.toml files 2020-05-03 21:37:59 -04:00
Richard Feldman
5f33073703 fix tests 2020-05-01 19:30:55 -04:00
Richard Feldman
5c31369072 Code gen thunks for top-level module decls 2020-05-01 19:30:55 -04:00
Richard Feldman
072cf4e844 Revert "wip canonical builtins in modules"
This reverts commit e1935a1e9f0c7ea1ffefe5f2f4f07f2c7666363b.
2020-05-01 19:30:55 -04:00
Richard Feldman
a1750567ff wip canonical builtins in modules 2020-05-01 19:30:55 -04:00
Folkert
81769b4e65 fix clippy's newly-learned warnings 2020-04-23 22:12:24 +02:00
Richard Feldman
1c1fee7e31 Trim trailing space off pretty_assertions dep 2020-04-16 19:24:24 -04:00
Richard Feldman
1517581ced Load main in the CLI and use it for gen 2020-04-15 07:06:11 -04:00
Richard Feldman
9ca754b8fd First pass at loading modules from cli 2020-04-15 07:06:11 -04:00
Richard Feldman
62186fdda4 Add load tests for apps 2020-04-15 07:06:11 -04:00
Richard Feldman
6c6e1d9ee3 Update some interface tests 2020-04-15 07:06:11 -04:00
Richard Feldman
94801f1011 Use expanded stack on load tests 2020-04-05 17:32:06 -04:00
Folkert
106a3646bf add category to Eq constraint 2020-04-01 20:09:10 +02:00
Folkert
14ad793bd7 hook up TypeError 2020-04-01 16:28:10 +02:00
Richard Feldman
8d4331f903 Merge remote-tracking branch 'origin/trunk' into array-wrappers 2020-03-13 22:20:35 -04:00
Folkert
f02193b962 fix new clippy warnings 2020-03-12 22:56:58 +01:00
Richard Feldman
c0837eca1c Use constantNum over constantInt in load tests 2020-03-10 23:11:49 -04:00
Richard Feldman
3789402a32 Rename List.length to List.len 2020-03-10 02:56:55 -04:00
Richard Feldman
0f79a3311d Upgrade bumpalo to 3.2 2020-03-07 11:20:35 -05:00
Folkert
63c5af2882 make builtin applies importable 2020-03-07 01:21:45 +01:00
Folkert
21bbfd3c94 Merge remote-tracking branch 'origin/trunk' into use-fewer-variables 2020-03-07 00:53:13 +01:00
Richard Feldman
bf994c38f5 Clean up some trailing spaces in AStar.roc 2020-03-06 18:25:36 -05:00
Richard Feldman
df4533296b fix some tests 2020-03-06 18:24:37 -05:00
Richard Feldman
a18e023326 Move load to its own crate 2020-03-06 18:24:37 -05:00