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
Bryce Miller
e463ccf4a6
merge main
2023-06-07 20:36:54 -04:00
Ajai Nelson
2e5fef5231
Improve error messages involving ignored variables
...
Fix #3987
2023-06-06 19:46:15 -04:00
Bryce Miller
cb08225bf0
|
-> where
2023-06-05 20:19:00 -04:00
Bryce Miller
ffa622e065
Merge branch 'main' into abilities-syntax
...
Signed-off-by: Bryce Miller <sandprickle@users.noreply.github.com>
2023-05-29 13:42:36 +02:00
Bryce Miller
9e4b14d3d9
Fix typo
2023-05-29 07:22:50 -04:00
Bryce Miller
d3f6277ea3
has -> implements in comments
2023-05-26 22:59:11 -04:00
Bryce Miller
33c2b9dfdd
has -> implements in comments
2023-05-26 20:37:02 -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
Bryce Miller
dbc0204532
abilities syntax has
-> implements
2023-05-24 21:30:16 -04:00
Ayaz Hafiz
2f7930dd0f
Implement annotation def for tuple
2023-05-24 13:12:41 -05:00
Bryce Miller
17c733ec81
has -> implements in roc_problem::can::Problem
2023-05-20 21:12:26 -04:00
Bryce Miller
46cb45f717
loc_has -> loc_implements
2023-05-20 19:24:08 -04:00
Bryce Miller
4b90948fcf
ast::HasAbilities -> ast::ImplementsAbilities
2023-05-20 19:13:01 -04:00
Bryce Miller
9eb2180a0f
ast::HasAbility -> ast::ImplementsAbility
2023-05-20 08:27:42 -04:00
Bryce Miller
ebbdae6c28
ast::HasClause -> ast::ImplementsClause
2023-05-20 08:20:44 -04: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