Commit graph

7780 commits

Author SHA1 Message Date
Folkert
dda4f46e67
use VecSet in References 2022-04-17 19:37:10 +02:00
Folkert
aa21186997
add VecSet type to collections 2022-04-17 19:36:31 +02:00
Richard Feldman
718b999751
Merge pull request #2857 from rtfeldman/abilities-mono
Codegen for abilities
2022-04-16 22:59:16 -04:00
Sean Hagstrom
37d3e355ca refactor the logic for pretty printing float types into one function 2022-04-15 16:37:39 +01:00
Sean Hagstrom
c67a1bb8d4 fix(repl) and fix(pretty_print): update pretty_print output for Num FloatingPoint * to be Float * instead of F64 2022-04-15 16:37:39 +01:00
Ayaz Hafiz
e6b0d9a820
Fix typo 2022-04-15 10:54:35 -04:00
Richard Feldman
ae59eab55b
Merge pull request #2850 from rtfeldman/issue-2646/Num-toStr
Issue 2646 - Num.toStr crash
2022-04-15 10:54:20 -04:00
Ayaz Hafiz
95783e03a1
Handle aliasing of ability members 2022-04-15 10:21:35 -04:00
Ayaz Hafiz
491ec0034a
Don't try to send type problems over module boundaries
Closes #2863
Closes #2858
2022-04-15 10:01:26 -04:00
Ayaz Hafiz
00e5205d4c
More debugging for unified types 2022-04-15 09:53:23 -04:00
Ayaz Hafiz
7d4a006377
Bugfix sorting must implement constraints
Also makes things go faster
2022-04-15 09:29:12 -04:00
Ayaz Hafiz
fbe7ccf4c8
Use error macro 2022-04-15 08:51:29 -04:00
Ayaz Hafiz
8f335c3278
Add solve test for aliasing ability 2022-04-14 17:25:44 -04:00
Ayaz Hafiz
8694ea9d33
Add first ability gen tests 2022-04-14 17:06:19 -04:00
Ayaz Hafiz
b79b351136
The first ability... compiles 2022-04-14 16:50:41 -04:00
Ayaz Hafiz
6b4294307f
Start saving ability signature on designated variable again 2022-04-14 16:22:54 -04:00
Ayaz Hafiz
eb81c68bcb
Pass abilities store to mono 2022-04-14 16:20:55 -04:00
Richard Feldman
62f1cbed59
Merge pull request #2853 from rtfeldman/abilities-typechecking3
Abilities typechecking bug fixes
2022-04-14 13:53:38 -04:00
Richard Feldman
953c7aa9ff
Merge pull request #2855 from rtfeldman/outdented-parse
Make sure outdented records parse
2022-04-14 13:53:11 -04:00
Richard Feldman
b796b2e92d
Merge pull request #2839 from rtfeldman/target-triple
changes to --target
2022-04-14 13:52:27 -04:00
Richard Feldman
629d17c3ae
Restore old IR name for wasm32 2022-04-14 13:21:24 -04:00
Ayaz
5652e72f99
Missing test 2022-04-14 12:50:28 -04:00
Richard Feldman
be725d6421 Revert changes to IR filenames 2022-04-14 10:55:25 -04:00
Ayaz Hafiz
233ea23979
Revert "Detect outdents too far"
This reverts commit 1c2ca2e3f5ae12d114cc72970035caf937d6e413.
2022-04-14 10:47:20 -04:00
Ayaz Hafiz
dc2d9ceeac
Detect outdents too far 2022-04-14 10:47:20 -04:00
Ayaz Hafiz
362ca1d914
Fix parse tests 2022-04-14 10:47:18 -04:00
Ayaz Hafiz
0c21821b04
Make sure outdented records parse 2022-04-14 09:31:55 -04:00
Ayaz Hafiz
3c03b7004c
Test for outdented list parse 2022-04-14 09:31:26 -04:00
Ayaz Hafiz
8f906826fc
Include parent ability in specialization tests 2022-04-14 08:57:32 -04:00
Ayaz
6472e32173
Merge pull request #2842 from rtfeldman/abilities-typechecking2
Additional checking and reporting for abilities, behind #2838
2022-04-14 08:44:57 -04:00
Jared Cone
b35debee70
fixed formatting 2022-04-13 23:36:00 -07:00
Jared Cone
cb3ea8641c
Fixed strFromIntHelp. std.math.minInt is 0 for unsigned types, so buffer size was being set to only 1. 2022-04-13 23:20:09 -07:00
Jared Cone
17e5ec85aa
Num.toStr unit tests 2022-04-13 23:18:00 -07:00
Richard Feldman
4ea4aa4708
Merge pull request #2838 from rtfeldman/abilities-typechecking
Inference and checking for abilities
2022-04-13 22:03:44 -04:00
Richard Feldman
75ed66b4a8
Merge pull request #2843 from rtfeldman/i/2812
Propogate errors in record fields to layout error
2022-04-13 21:56:53 -04:00
Richard Feldman
882107908e
Merge pull request #2849 from rtfeldman/i/2818
Specialize bodies with body var, not function var
2022-04-13 20:28:26 -04:00
Ayaz Hafiz
41dd7d0b4d
Specialize bodies with body var, not function var
I'm surprised code generation worked so well without this, before...

Closes #2818
2022-04-13 18:35:50 -04:00
Ayaz Hafiz
6343382af5
Propogate errors in record fields to layout error
Closes #2812

Unfortunately we don't have a great way to test this without scaffolding
a host since this happens while processing a variable exposed to the
host. In tests the root cause just yields a type error first and codegen
works, just bails during the runtime. But this works.
2022-04-13 16:23:13 -04:00
Ayaz Hafiz
d630562d99
forgive me clippy 2022-04-13 15:30:02 -04:00
Ayaz Hafiz
8eec930260
More and smarter checking and error reporting for abilities 2022-04-13 15:25:19 -04:00
Ayaz Hafiz
0792ccbbe8
Calling ability with non-specialized type is an error 2022-04-13 11:49:33 -04:00
Ayaz Hafiz
d110fbde6c
Annotation specializes ability 2022-04-13 10:44:34 -04:00
Ayaz Hafiz
25b3aa7ca7
Typed body specializations solve 2022-04-13 10:42:46 -04:00
Ayaz Hafiz
389c46edcf
Remove unneeded var 2022-04-13 10:12:45 -04:00
Ayaz Hafiz
5e1ab8225e
Report when ability member binds >1 variable to parent 2022-04-13 10:11:24 -04:00
Ayaz Hafiz
a1c1dc1a9f
Ask rustc to please always inline 2022-04-13 08:49:27 -04:00
Kevin Gillette
2c4a83788c
Rename internal NUM_DIV_INT references to NUM_DIV_FLOOR.
This balances with NUM_DIV_CEIL
(which is another form of integer division).
2022-04-13 02:48:57 -06:00
Richard Feldman
e9d4a4134a
Give more info when copying obj files fails 2022-04-13 01:26:10 -04:00
Richard Feldman
412eb763bb
Add support for x64 linux 2022-04-13 01:21:12 -04:00
Richard Feldman
e1a88f190c
Add a target triple for 32-bit musl linux 2022-04-13 01:21:12 -04:00