Commit Graph

281 Commits

Author SHA1 Message Date
Richard Feldman
e29d956b0d Give repl proper access to builtins 2020-08-22 22:43:04 -04:00
Folkert
0e5283efd2 Merge remote-tracking branch 'origin/trunk' into infer-borrow 2020-08-19 23:56:29 +02:00
Richard Feldman
608c4eebd9 Drop unnecessary arg_basic_types 2020-08-16 16:17:10 -04:00
Folkert
d8c71c23f4 thread in borrow signature inference 2020-08-13 20:56:33 +02:00
Richard Feldman
295cb00499 wip 2020-08-12 23:18:40 -04:00
Richard Feldman
3f0b08a992 Have Stmt::new accept LayoutCache 2020-08-12 23:14:06 -04:00
Folkert
380e34d296 Merge remote-tracking branch 'origin/trunk' into tail-call-elimination 2020-08-12 15:46:50 +02:00
Richard Feldman
edafbfe525 Replace unsorted.csv with algorithm 2020-08-12 08:33:36 -04:00
Richard Feldman
12ed20b5cd Use fast calling convention internally 2020-08-11 09:02:26 -04:00
Folkert
84a8b69437 generate IR that uses uniqueness 2020-08-11 14:47:14 +02:00
Richard Feldman
f7a905d8ef Fix expected test output 2020-08-10 23:16:03 -04:00
Richard Feldman
96419a55b0 cargo fmt 2020-08-10 19:27:52 -04:00
Richard Feldman
80b6781b19
Drop unused dbg! 2020-08-10 19:26:46 -04:00
Folkert
79ea62b9d4 make uniqueness change codegen 2020-08-10 21:13:57 +02:00
Folkert
65db338435 add test for quicksort example 2020-08-10 16:10:07 +02:00
Folkert
8f7d842d41 apply optimization passes 2020-08-10 13:34:28 +02:00
Folkert
4caef70668 Merge remote-tracking branch 'origin/trunk' into refcount 2020-08-09 13:49:13 +02:00
Richard Feldman
3fe2a4e3fd Drop unused jump_counter 2020-08-08 19:53:21 -04:00
Folkert
078c6df677 Merge remote-tracking branch 'origin/trunk' into refcount 2020-08-08 22:34:14 +02:00
Richard Feldman
c8e647ccfc Use is_zero_sized to remove lots of ptr_bytes 2020-08-07 20:08:06 -04:00
Folkert
378fe1d5d1 phase out old mono stuff 2020-08-06 21:05:14 +02:00
Folkert
4e55a4bf92 more pattern matching fidling 2020-08-05 16:10:45 +02: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
9e0cf4cd35 Restore CLI 2020-08-02 22:04:31 -04:00
Folkert
5548bf136d conditionally leak memory 2020-08-01 21:37:54 +02:00
Richard Feldman
1c49e116b3 wip 2020-07-30 00:59:03 -04:00
Richard Feldman
13c589af7d Remove an unnecessary transmute 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
e1fdabd5ef Fix problem with CLI paths 2020-07-22 19:34:14 -04:00
Richard Feldman
d6c54645ce cargo fmt 2020-07-22 19:33:36 -04:00
Richard Feldman
2465c204e3 Restore CLI 2020-07-22 19:33:36 -04:00
Richard Feldman
b5ad6e17b4 Don't print subs on error
It's way too verbose and unhelpful!
2020-07-06 21:23:59 -04:00
Richard Feldman
e559deecbf Improve LLVM verification error messages 2020-07-05 22:24:04 -04:00
Richard Feldman
9d31c667fa Merge remote-tracking branch 'origin/trunk' into specialize-separately 2020-06-18 21:02:50 -04:00
Richard Feldman
b638970c84 Make repl Windows-friendly 2020-06-18 00:24:27 -04:00
Richard Feldman
68f64835f0 Add target triple for Windows 2020-06-16 23:04:00 -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
99dcda8603 Use inlinable_string 0.1 2020-05-31 20:14:19 -04:00
Richard Feldman
639c132ce0 wip 2020-05-26 21:18:25 -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
df7d017287 cargo fmt 2020-05-10 15:15:09 -04:00
Richard Feldman
64fd0ceed9 Address some unused warnings via TODOs 2020-05-10 15:13:18 -04:00
Richard Feldman
bf11262e61 Move layout_id from mono to gen
This is because it's actually important that mono never use this.
It should only be used in gen, because it's only safe to use
synchronously, and it's important that mono be done in parallel.

Moving it to gen guarantees that mono will not use it, even accidentally!
2020-05-10 15:13:18 -04:00
Richard Feldman
6e05ba816f Have CallByName use Layout 2020-05-10 15:13:18 -04:00
Richard Feldman
8572879e0d Remove unused procs argument 2020-05-09 22:41:59 -04:00
Richard Feldman
c49abfe2de Add layout to CallByName 2020-05-09 22:41:59 -04:00
Richard Feldman
510ab36f51 Use LayoutCache to avoid recomputing layouts 2020-05-09 22:11:32 -04:00
Richard Feldman
6a79a75648 Don't regenerate anonymous function symbols 2020-05-09 12:56:55 -04:00
Richard Feldman
d7ee713bc5 Have the editor theoretically take filepaths 2020-05-04 21:41:45 -04:00
Richard Feldman
7e7c6ef4af Drop obsolete symbol_counter field 2020-05-04 20:32:21 -04:00
Richard Feldman
b0e2134121 Launch editor when given no CLI args 2020-05-03 22:04:28 -04:00
Richard Feldman
ce9e7a91f6 Clean up some Cargo.toml files 2020-05-03 21:37:59 -04:00
Richard Feldman
13dd937a71 Revert "Attempt to add builtin_defs to CLI"
This reverts commit 2679077de9.
2020-05-01 22:00:06 -04:00
Richard Feldman
2679077de9 Attempt to add builtin_defs to CLI 2020-05-01 21:59:38 -04:00
Richard Feldman
101dc80ae5 Move parse::operator into module::operator 2020-05-01 21:58:53 -04:00
Richard Feldman
095844c2c1 Use iterator chaining over hash insertion 2020-05-01 19:40:59 -04:00
Richard Feldman
ee31eac0c5 Code gen toplevel module functions 2020-05-01 19:30:55 -04:00
Richard Feldman
1a2367c8aa appease clippy 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
Richard Feldman
929e2240d4 Appease clippy 2020-04-21 23:44:13 -04:00
Richard Feldman
526d7cb4ba Support multiline repl input 2020-04-21 23:35:39 -04:00
Richard Feldman
0b670baad4 Make welcome message more helpful. 2020-04-18 16:58:26 -04:00
Richard Feldman
dd223c5d5c clippy clip 2020-04-18 16:39:39 -04:00
Richard Feldman
088df46a76 cargo fmt 2020-04-18 16:38:47 -04:00
Richard Feldman
c9ef2deb80 Have the repl loop 2020-04-18 16:02:33 -04:00
Richard Feldman
a99a339672 Spice up the repl visuals a bit 2020-04-18 16:01:58 -04:00
Richard Feldman
114815a323 Add types to the repl 2020-04-18 15:45:48 -04:00
Richard Feldman
73fbc0e490 Add basic 1-iteration repl 2020-04-18 15:32:04 -04:00
Richard Feldman
d4a45ed489 Add CLI subcommands roc run and roc build 2020-04-18 14:32:50 -04:00
Folkert
7f299356d3 define our own cargo features 2020-04-18 15:56:54 +02:00
Folkert
98d451b240 only enable arm and wasm when the feature is enabled 2020-04-18 15:28:10 +02:00
Richard Feldman
6f75ce6680 Add CLI test for Hello World 2020-04-17 06:38:29 -04:00
Richard Feldman
e61ac3b41b Clippy doin' clippy things 2020-04-16 22:21:26 -04:00
Richard Feldman
16ff40a836 Use clap to parse CLI flags 2020-04-16 22:02:29 -04:00
Richard Feldman
d2e242ccbe Have cli accept an --optimize flag and use it 2020-04-16 20:26:37 -04:00
Richard Feldman
b19386c1f6 Have CLI use the given file's directory as src_dir 2020-04-16 19:26:25 -04:00
Richard Feldman
57c4261b08 Fully qualify roc_load::file::load 2020-04-16 19:26:25 -04:00
Folkert
719ef5b70e parse error infrastructure 2020-04-15 21:10:42 +02:00
Richard Feldman
8f2a5f2133 cargo fmt 2020-04-15 07:06:21 -04:00
Richard Feldman
0e48f512fd Use tokio for CLI process stuff 2020-04-15 07:06:11 -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
Folkert
97c10e1211 setup for mono reports 2020-04-12 01:56:57 +02:00
Folkert
a67fe6540c update cli 2020-04-10 23:34:03 +02:00
Folkert
fcb62cdf8e add titles to errors 2020-04-09 23:58:28 +02:00
Richard Feldman
9288e20469 Upgrade to LLVM 10 2020-04-08 06:41:53 -04:00
Richard Feldman
30df69af4f Improve error message when example fails to run 2020-04-08 06:41:53 -04:00
Richard Feldman
950ca4436b Replace build.sh with cargo run 2020-04-06 23:32:47 -04:00
Richard Feldman
d28f8449d0 Report errors in the CLI 2020-04-03 21:58:44 -04:00
Folkert
604dbf7215 Merge remote-tracking branch 'origin/trunk' into precedence-error 2020-04-02 23:29:15 +02:00
Folkert
2e822e739f report circular type error 2020-04-02 23:13:35 +02:00
Richard Feldman
658dc34313 Don't make a JIT execution engine in the CLI 2020-04-01 23:24:00 -04:00
Richard Feldman
37492f4aa6 Load builtins on startup 2020-03-31 23:50:55 -04:00
Richard Feldman
26655f7355 Address clippy's concerns 2020-03-30 22:34:59 -04:00
Richard Feldman
1a41f0b32a Make cli work on multiple OSes, in theory 2020-03-30 21:27:41 -04:00
Richard Feldman
5f817d8019 Add a basic CLI 2020-03-30 21:27:37 -04:00
Richard Feldman
578fa28821 Update cli/examples 2020-03-06 18:24:37 -05:00
Richard Feldman
08f9eb883d rustfmt cli/ 2019-09-18 19:00:01 -04:00
Richard Feldman
fde3cedfef Fix paren parsing bug, thread errors through eval 2019-07-09 23:19:50 -04:00
Richard Feldman
07a05b90fc Restore eval, add |> operator 2019-07-08 23:35:11 -04:00
Richard Feldman
d9c1e23105 Update examples to new closure syntax 2019-07-07 11:06:57 -04:00
Richard Feldman
78df28c463 Add cli/README.md 2019-06-23 19:19:06 -04:00
Richard Feldman
77f3199ec9 Move examples into cli/examples 2019-06-23 19:16:41 -04:00
Richard Feldman
38d86fc9f3 Add a recursive Fibonacci example 2019-06-23 19:12:52 -04:00
Richard Feldman
f7cfe1d396 Accept arbitrary filenames in roc-cli 2019-06-23 18:55:10 -04:00
Richard Feldman
9892a27f21 Fix example 2019-06-22 10:26:34 -04:00
Richard Feldman
77d9a13b10 Update Example.roc 2019-06-22 10:17:20 -04:00
Richard Feldman
f6096d629d Update Cargo.lock 2019-06-22 10:17:11 -04:00
Richard Feldman
d743818f74 Rename test.roc to Example.roc 2019-06-19 21:33:01 -04:00
Richard Feldman
e1286ae526 Don't print anything on success. 2019-06-14 00:05:24 -04:00
Richard Feldman
32f19428ac Add some comments to main.rs 2019-06-14 00:05:17 -04:00
Richard Feldman
7165f55d6e Trim input from stdin 2019-06-13 22:48:41 -04:00
Richard Feldman
9fc30fbbc4 Update test.roc 2019-06-13 22:48:19 -04:00
Richard Feldman
8761873980 Fix displaying eval problems 2019-06-13 22:48:12 -04:00
Richard Feldman
140fa5ffa9 Reading from stdin works 2019-06-13 21:32:07 -04:00
Richard Feldman
1c3cf5f675 Progress on test.roc 2019-06-13 19:03:03 -04:00
Richard Feldman
abf3bf9df7 Get beginning of test.roc working 2019-06-13 18:44:22 -04:00
Richard Feldman
352ab5ed34 More syntax changes 2019-06-12 21:25:15 -04:00
Richard Feldman
9895e0c0ae Use () -> closure syntax 2019-06-12 21:25:15 -04:00
Richard Feldman
f4b43e43e2 Alternate syntaxes 2019-06-12 21:25:15 -04:00
Richard Feldman
4d27a274c6 Implement await demo 2019-06-12 21:25:15 -04:00
Richard Feldman
88f8325fb3 Hardcode Read and Echo 2019-06-12 21:25:15 -04:00
Richard Feldman
6c0e34f5fc Use SmallVec for patterns 2019-06-12 21:25:15 -04:00
Richard Feldman
9cb93dfdd5 Add first-ever .roc file 2019-06-12 21:25:15 -04:00
Richard Feldman
fc58c5db0e Add basic CLI 2019-06-12 21:25:15 -04:00