Folkert
b3b3b8790c
add new Expr variants
2022-03-07 21:13:48 +01:00
Folkert
d7045b037f
use param_map instead of localcontext
2021-12-05 15:21:25 +01:00
Folkert
834ba77046
missed a bool
2021-12-01 12:53:47 +01:00
Folkert
bec74c36c5
refactor passed (to higher order lowlevel) funcion
2021-11-30 21:50:27 +01:00
Folkert
0bdda2506c
add update mode to reset and reuse
2021-11-28 14:13:02 +01:00
Michael Downey
d946b84e63
adding initial List.all
2021-11-16 16:34:36 -05:00
Folkert
83953b0bba
shrink Call
2021-11-13 15:59:19 +01:00
Folkert
e2f7606f25
shrink higher order with indirection
2021-11-13 15:42:47 +01:00
ayazhafiz
f65b174ab5
Implement List.find
...
`List.find : List elem, (elem -> Bool) -> Result elem [ NotFound ]*`
behaves as follows:
```
>>> List.find [1, 2, 3] (\n -> n > 2)
Ok 2
>>> List.find [1, 2, 3] (\n -> n > 4)
Err NotFound
```
We implement this as builtin in two phases. First, we call out to a
pure-llvm-lowlevel `ListFindUnsafe` that returns a record indicating
whether a satisfying element was found, and the value of that element
(the value is all null bytes if the element wasn't found). Then, we lift
that record to a `Result` via a standard construction of the can AST.
Closes #1909
2021-11-08 21:03:14 -05:00
Kevin Sjöberg
44938a9e35
Implement List.any
2021-11-07 20:44:10 +01:00
Folkert
0ad83fe990
Merge remote-tracking branch 'origin/trunk' into morphic-spec-sortwith
2021-11-01 23:11:52 +01:00
Folkert
ca537a44b8
thread through update_mode
2021-11-01 20:12:39 +01:00
Kevin Sjöberg
f9ed060e49
Implement List.map4
2021-10-31 21:08:41 +01:00
Folkert
dbf650f7ab
fixes
2021-10-17 21:14:30 +02:00
Folkert
a4f7ddb1f5
rename
2021-10-17 20:45:49 +02:00
Folkert
9763f9b51b
WIP
2021-10-17 16:08:41 +02:00
Folkert
ebcee4021c
flip list.walk passed function arguments
2021-10-10 12:35:03 +02:00
Folkert
8e7aef314a
add ListLiteralElement
2021-09-05 21:23:08 +02:00
Folkert
194918fe4b
remove Invoke
2021-08-20 19:32:55 +02:00
Folkert
bb5b733de4
Try to recover from LookupNotInScope until the error is reported
2021-08-18 23:12:12 +02:00
Folkert
899cbeabd7
fix extra ampersands
2021-07-29 17:32:08 +02:00
Folkert
31e1fe8870
cache the initial context in inc_dec
2021-07-25 21:20:04 +02:00
Folkert
f76195d05c
cleanup
2021-07-25 21:13:14 +02:00
Folkert
5bb66a6b8e
intern layouts
2021-07-25 13:24:11 +02:00
Folkert
8eb0c6fbb8
fix example
2021-07-19 22:19:55 +02:00
Folkert
0171fd0959
remove Boxed
2021-07-14 15:33:59 +02:00
Folkert
d80deb37cd
cleanup
2021-07-13 00:41:46 +02:00
Folkert
3c2ee9e447
WIP
2021-07-02 20:34:11 +02:00
Folkert
98b4930054
rename
2021-06-21 23:14:05 +02:00
Folkert
205b168f16
rename
2021-06-21 23:02:49 +02:00
Folkert
e274976c6a
make it work
2021-06-20 22:36:22 +02:00
Folkert
aba01ad62a
add index
2021-06-20 21:33:25 +02:00
Folkert
e1af2eb7d0
add CoerceToTagId
2021-06-20 21:23:50 +02:00
Eric Correia
342d1f34c2
set up GetTagId
2021-06-20 10:54:53 -04:00
Folkert
6a010c9513
rename TopLevelFunctionLayout -> ProcLayout
2021-06-19 15:07:40 +02:00
Folkert
a64f80dbe8
fix hash problem
2021-06-18 21:16:43 +02:00
Folkert
94cbb103ef
use toplevelfunctionlayout in refcount insertion
2021-06-18 20:46:15 +02:00
Folkert
cc98237a0a
closure_env_layout
2021-06-16 22:15:55 +02:00
Folkert
b622202d97
rename joinpoint field
2021-06-14 21:12:24 +02:00
Folkert
86f35c33cd
work on higher order lowlevels
2021-06-12 23:05:06 +02:00
Folkert
9476f63e07
WIP
2021-06-09 19:21:24 +02:00
Anton-4
314503cf7f
fixed typos, added typos checking to CI
2021-06-05 20:02:54 +02:00
Folkert
03cc96f4ed
rename Rethrow -> Resume
2021-05-30 14:44:46 +02:00
Folkert
64576ddab5
add exception id to invoke/rethrow
2021-05-29 23:27:43 +02:00
Folkert
fbb711b2ca
Merge remote-tracking branch 'origin/trunk' into specialize-lowlevel
2021-05-24 15:11:40 +02:00
Folkert
3946a8631d
remove incorrect debug assert
2021-05-22 19:44:07 +02:00
Folkert
43c4f24515
Remove extra case from ByName calls
...
we now always call by name, so we can just assert that the function is
defined
2021-05-22 14:53:38 +02:00
Folkert
ae5b0d8cfd
remove by-pointer calls
2021-05-22 13:52:06 +02:00
Folkert
910a7e5113
fix bug where results of top-level thunks are not RC'd
2021-05-20 22:39:14 +02:00
Folkert
d01d539d6b
first pass for List.keep
2021-05-19 21:30:43 +02:00