Commit graph

425 commits

Author SHA1 Message Date
Folkert
557c3987e0
make it work 2023-07-24 21:24:33 +02:00
Folkert
43adf0635e
freshen annotations 2023-07-24 21:24:33 +02:00
Ayaz Hafiz
6e5a308557
Content variant ErasedLambda 2023-07-12 13:57:17 -05:00
Ayaz Hafiz
33b1b8236a
Break up SolveEnv 2023-07-12 13:53:51 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Kiryl Dziamura
3ccb6114b2
Unwrap expr in loop 2023-07-04 10:16:21 +02:00
Kiryl Dziamura
29592ddb9b
Drop parens during body canonicalization 2023-07-04 10:16:21 +02:00
Kiryl Dziamura
6031c0cc9f
Fix desugar step for pizza operator 2023-07-04 10:16:20 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Ayaz
0edcd23657
Merge pull request #5569 from roc-lang/finally-trmc
tail recursion modulo cons
2023-06-25 15:31:34 -05:00
Folkert
654cf7b861
changes after review 2023-06-24 14:49:57 +02:00
Folkert
9c85fb90d3
fix bugs 2023-06-24 14:49:47 +02:00
Folkert
0247237fe8
WIP 2023-06-24 14:49:46 +02:00
Ayaz Hafiz
ad20a2ee41
Shove more into a common env 2023-06-22 14:31:48 -05:00
Hannes
97fa6758d0 Rename trimLeft to trimStart and trimRight to trimEnd 2023-06-19 13:17:59 +08:00
Ajai Nelson
2e5fef5231
Improve error messages involving ignored variables
Fix #3987
2023-06-06 19:46:15 -04:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec 2023-05-26 11:38:30 -05:00
Brendan Hansknecht
b4c359588e
Seed Dict and Set
This changes Dict and Set to have a compilation depedent seed.
The seed is not exposed to userland in anyway.
This gets a much more DOS resistant Dict and Set with no cost.
2023-05-25 09:55:48 -07:00
Ayaz Hafiz
2f7930dd0f
Implement annotation def for tuple 2023-05-24 13:12:41 -05:00
Agustin Zubiaga
d1feb00170
Track spaces between : and <- in record builders 2023-05-17 11:49:06 -03:00
Agustin Zubiaga
23db4a5e87
Update tests to new record builder syntax 2023-05-17 11:47:34 -03:00
Ayaz
c072eda598
Merge pull request #5415 from agu-z/agu-z/record-builder-syntax
Prevent record builder field names from shadowing other symbols
2023-05-16 12:41:35 -05:00
Agustin Zubiaga
c43ff03e41
Prevent record builder field names from shadowing other symbols 2023-05-16 13:48:41 -03:00
Richard Feldman
922a10db52
Merge pull request #5389 from agu-z/agu-z/record-builder-syntax
Record Builder Syntax
2023-05-13 22:47:03 -04:00
Agustin Zubiaga
71a2990e21 Tip replacing <- with : for static values 2023-05-09 23:37:24 -03:00
Agustin Zubiaga
088193c93b Fix clippy error 2023-05-08 22:18:56 -03:00
Agustin Zubiaga
9c614540a4 Remove unneeded todo 2023-05-08 21:15:38 -03:00
Agustin Zubiaga
d2a57112fd Unapplied record builder error 2023-05-08 20:16:38 -03:00
Agustin Zubiaga
6670fbb1ab Multiple record builder error 2023-05-08 19:26:47 -03:00
Agustin Zubiaga
20f8133b6c Test record builder desugaring 2023-05-08 18:45:25 -03:00
Agustin Zubiaga
627437c65b Handle space/parens around record builders 2023-05-07 21:56:08 -03:00
Agustin Zubiaga
dfa9c29147 Desugar Record Builder 2023-05-07 20:31:47 -03:00
Folkert de Vries
ec21f19826
Merge pull request #5374 from GabrielDertoni/remove-needless-string-alloc
refactor: remove needless string allocation in pretty printer
2023-05-06 00:34:48 +02:00
Gabriel Dertoni
7d0027f428
refactor: remove needles string allocation in pretty printer
Many times, in order to create a `ven_pretty::Doc` containing a text
node, the pattern `alloc.text(format!(...))` would be used. This code
then creates a fresh string that is then used in the `Doc`. However,
many times only a small string is necessary and so the allocation could
be optimized. The `ven_pretty` crate supports this through a `SmallString`
type. Allocating a fresh string with `format!` also moves control away
from the `DocAllocator` which isn't ideal, since it could also handle
the string allocations. So, instead of creating a fresh string, one can
simply call `alloc.as_string(format_args!(...))` and delegate the
allocation to the `DocAllocator` without any loss in expressivity. So,
in order to encorage this pattern, this commit also introduces the
`text!` macro.

In order to find all instances of the code pattern, the following
tree-sitter query was used:

```scm
(call_expression
    function: (field_expression
        field: (field_identifier) @field.name
               (#eq? @field.name "text"))
    arguments: (arguments
        (macro_invocation
            macro: (identifier) @macro.name
            (#eq? @macro.name "format")))) @reference.call
```
2023-05-03 21:28:36 -03:00
Basile Henry
b8aaaaabda Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
J.Teeuwissen
b8a2ea1bf2
Merge branch 'main' into drop_specialization 2023-04-29 18:31:12 +02:00
Anton-4
ff6ec21a09
Merge pull request #5324 from roc-lang/rust_version_upgrade
WIP Rust version upgrade
2023-04-29 18:01:04 +02:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer 2023-04-28 15:30:23 +02:00
J Teeuwissen
7439ee0c8c
Merge branch 'main' into drop_specialization
Signed-off-by: J Teeuwissen <jelleteeuwissen@hotmail.nl>
2023-04-26 20:26:37 +02:00
Folkert de Vries
8a76937cff
Merge pull request #5322 from jarlah/replace-panic!-with-internal-error!-in-compiler-parse-create
Replace panic! with internal_error! in `compiler/parse` and `compiler/can`
2023-04-26 18:19:06 +02:00
J.Teeuwissen
ed46a1f2cb
lowlevel isUnique 2023-04-26 17:23:10 +02:00
Anton-4
9748e4a4dc
many clippy fixes 2023-04-24 16:21:46 +02:00
Jarl André Hübenthal
8bf888a5e6
chore: replace panic! with internal_error 2023-04-24 10:16:50 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel 2023-04-23 15:19:46 +02:00
Anton-4
c6cf0b4ebe
merge fixes 2023-04-22 18:15:06 +02:00
Anton-4
937722c462
Merge branch 'main' of github.com:roc-lang/roc into rust_version_upgrade 2023-04-22 17:14:01 +02:00
Anton-4
e784baccce
rust update, nix update, clippy fixes 2023-04-22 14:51:01 +02:00
Folkert
394495d307 Revert "update size asserts"
This reverts commit 9973d4b8d2.
2023-04-21 13:22:23 +02:00
Folkert
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
Ayaz Hafiz
4894587a14
Inline singly-used function 2023-04-12 14:39:50 -05:00