Commit graph

210 commits

Author SHA1 Message Date
satotake
4359dcff73 Merge branch 'trunk' into builtins-refactor-list-take 2021-11-13 03:38:29 +00:00
satotake
d63849c5a3 Add List.takeFisrt2, List.takeLast2 for demo 2021-11-12 13:47:28 +00:00
Theo Felippe
84af26d813 added placeholder implementation 2021-11-11 19:13:42 +00:00
Folkert de Vries
b3a663a741
Merge branch 'trunk' into builtins-list-sublist 2021-11-10 16:28:58 +01:00
satotake
9f5d3f521b Implement List.sublist 2021-11-10 13:16:57 +00:00
Michael Downey
07cd3850d7
Merge branch 'trunk' into str_trim_left 2021-11-09 19:43:26 -05:00
Michael Downey
7e074d300e cleaning up and adding comments 2021-11-09 14:37:31 -05:00
Michael Downey
1bc278d962 initial commit of Str.trimLeft 2021-11-09 14:25:24 -05:00
Folkert
94efbd0e95 Merge remote-tracking branch 'origin/trunk' into builtins-list-take-last 2021-11-09 16:18:19 +01:00
satotake
772fc9c021 Implement List.takeLast 2021-11-09 12:26:17 +00: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
satotake
9087bf7273 Merge branch 'trunk' into builtsins-list-take-first 2021-11-08 14:32:36 +00:00
satotake
878400f95f Implement List.takeFirst 2021-11-08 14:10:53 +00:00
satotake
97c82d8d51 pick 02acef6 2021-11-08 11:15:20 +00:00
Kevin Sjöberg
44938a9e35 Implement List.any 2021-11-07 20:44:10 +01:00
ayazhafiz
0d2ed76334 Implement List.joinMap
Closes #1887
2021-11-07 11:08:20 -05:00
Eric Newbury
f3a350dd74 add dropFirst builtin 2021-11-05 16:12:29 -04:00
Folkert
7cd5d41b35 bump varid for closure var (List.map4 used so many variables that they interfered 2021-11-01 10:34:34 +01:00
Kevin Sjöberg
f9ed060e49 Implement List.map4 2021-10-31 21:08:41 +01:00
Chelsea Troy
4afaf96aea
Add List.max builtin 2021-10-30 19:17:35 -05:00
Folkert de Vries
aa978ae6d9
Merge branch 'trunk' into list_min 2021-10-28 20:32:27 +02:00
Tim Whiting
c721a1cc1f add builtin List.min 2021-10-27 20:28:34 -06:00
Folkert de Vries
29bd4e3e50
Merge branch 'trunk' into str_trim 2021-10-26 22:45:32 +02:00
Dan Knutson
e7523ad41d add Roc wiring 2021-10-25 20:22:37 -05:00
Chelsea Troy
49a832d757
Add dropLast to tests and parser 2021-10-21 23:02:26 -05:00
Folkert
4152519bfb formatting & catch zig overflow error 2021-10-17 18:03:40 +02:00
Chelsea Troy
03295d4369 So far, add type for divCeil to the language 2021-10-17 09:29:11 -05:00
Folkert
94e8c62613 make things compile, base64 has a memory leak 2021-10-06 22:57:11 +02:00
Richard Feldman
8391c337ab Merge remote-tracking branch 'origin/trunk' into list-walk-flip 2021-10-05 20:50:50 -04:00
Dan Knutson
3baff93a97 add first version of List.dropAt
* adds an implementation with no uniqueness/mutability
2021-10-03 13:55:11 -05:00
Kofi Gumbs
b32a42f05a Add Str.repeat builtin 2021-09-29 17:32:42 -04:00
Richard Feldman
71a678c092 Update Dict.walk to match List.walk 2021-08-30 23:05:15 -04:00
Richard Feldman
1abebb7713 Reorder args for List.walk and friends 2021-08-30 22:45:10 -04:00
Folkert
727222bbe7 hashing always returns a U64 2021-08-29 00:51:48 +02:00
Joshua Hoeflich
b57ebb6229 Remove castToNat 2021-08-19 16:11:21 -05:00
Joshua Hoeflich
a4197d073c bytesToU16 and bytesToU32 have proper types 2021-08-18 15:46:53 -05:00
Joshua Hoeflich
b4f575736b castToNat working 2021-08-18 11:31:48 -05:00
Joshua Hoeflich
92da003fba Adds castToNat 2021-08-18 11:02:20 -05:00
Joshua Hoeflich
22e781259d TODO: Actually implement the functions 2021-08-14 19:28:13 -05:00
Joshua Hoeflich
9dad304e95 Passing arguments successfully to bytesToU16 2021-08-14 19:11:27 -05:00
Joshua Hoeflich
5115a004ed Type shenanigans work 2021-08-14 18:50:55 -05:00
Joshua Hoeflich
c8f6762deb Switch from floats to usize 2021-08-14 18:30:43 -05:00
Joshua Hoeflich
ff2c3d7945 Dummy implementation that doesn't do what we want 2021-08-14 17:59:53 -05:00
Folkert
4140473f1a cleanup and comments 2021-08-11 01:12:46 +02:00
Joshua Hoeflich
c00d400d85 Fixes merge conflict 2021-08-08 21:38:15 -05:00
Joshua Hoeflich
17ec118f52 Work in progress: Bounds Checking 2021-08-08 12:02:20 -05:00
Joshua Hoeflich
4231b340ee Glue code working 2021-08-08 11:06:10 -05:00
Richard Feldman
2a616103c6 Rename Str.toBytes to Str.toUtf8 2021-08-07 22:46:24 -04:00
Richard Feldman
267836226c s/CodePoint/CodePt/g 2021-08-07 21:46:20 -04:00
Richard Feldman
1bd3f12776 Fix a bunch of Int docs 2021-06-03 21:31:47 -04:00