Commit graph

12707 commits

Author SHA1 Message Date
Brian Carroll
881e43336c repl: rename jit function for dynamic size and change its doc comment 2022-02-02 21:36:28 +00:00
Folkert
5699db99b3 generate hosted functions (foreign functions supplied by the linker) 2022-02-02 22:29:05 +01:00
Folkert de Vries
a8b02831e5
Merge pull request #2435 from rtfeldman/i/2350
stricter number literal checking
2022-02-02 18:28:09 +01:00
Folkert
14c0caa275 generate the Effect type and after/map/etc methods in a hosted module 2022-02-02 16:49:56 +01:00
Folkert
c335a8b406 move effect_module.rs 2022-02-02 16:48:59 +01:00
Brian Carroll
87886e2e6b repl: implement string evaluation for 32-bit platforms 2022-02-02 15:23:47 +00:00
Brian Carroll
4994b0ef1b repl: replace LLVM jit macros with functions 2022-02-02 15:06:04 +00:00
Folkert
1fb746757c pipe module name into canonicalization of modules 2022-02-02 16:01:31 +01:00
ayazhafiz
30be700f01 Format 2022-02-02 08:24:03 -05:00
ayazhafiz
eb7ceddee4 Fix repl tests 2022-02-02 01:57:37 -05:00
ayazhafiz
e7dcc2daa5 Move NumWidth to roc_can 2022-02-02 00:23:43 -05:00
ayazhafiz
ae5766fdf5 Folkert's suggestions 2022-02-01 23:42:28 -05:00
ayazhafiz
df8113ce32 Typecheck numeric suffixes in patterns 2022-02-01 23:35:14 -05:00
ayazhafiz
a6f7579c07 Parse and expand numeric bounds in canonicalization pass 2022-02-01 22:50:46 -05:00
ayazhafiz
17c5fe0bff Add granular errors regarding numeric literal parsing 2022-02-01 22:50:27 -05:00
ayazhafiz
f55e767035 Fix test_can tests 2022-02-01 22:49:52 -05:00
ayazhafiz
9f72b2710f Run linter 2022-02-01 22:49:52 -05:00
ayazhafiz
f7a055fc78 Fix parser tests 2022-02-01 22:49:52 -05:00
ayazhafiz
e03592930f Typecheck numeric literals with suffixes in expressions
Part of #2350
2022-02-01 22:49:50 -05:00
ayazhafiz
320827167f Parse number literal width suffixes
Supports [u,i][8,16,32,64,128] and [nat,dec]

Part of #2350
2022-02-01 22:48:48 -05:00
Richard Feldman
cd7b219764
Merge remote-tracking branch 'origin/trunk' into expect-dont-panic 2022-02-01 21:43:55 -05:00
Richard Feldman
bfb938914f
Fix some missing indentations 2022-02-01 21:34:18 -05:00
Richard Feldman
200e237393
Add tests for multiline interface and hosted modules 2022-02-01 21:22:35 -05:00
Richard Feldman
34e9b1b73d
Fix module formatting 2022-02-01 21:22:35 -05:00
Richard Feldman
271112fec1
Finish implementing is_multiline for Spaced 2022-02-01 21:18:54 -05:00
Richard Feldman
3b1ca5c310
Refactor is_multiline for collections 2022-02-01 21:18:30 -05:00
Richard Feldman
fde7a94372
Don't mark builtins as internal linkage.
This is necessary for `expect` to work properly in the repl.
2022-02-01 20:51:53 -05:00
Richard Feldman
15969af53c
Use constant over string literal 2022-02-01 20:44:02 -05:00
Richard Feldman
f8eec65229
Drop an obsolete todo 2022-02-01 20:43:43 -05:00
Brian Carroll
545882f210
Merge pull request #2428 from rtfeldman/repl-packages
Split REPL into more packages
2022-02-01 22:18:56 +00:00
Folkert de Vries
780d6529c8
Merge pull request #2431 from rtfeldman/i/2293
Make nested datatypes into errors
2022-02-01 20:17:33 +01:00
Folkert de Vries
5086da421e
Merge pull request #2436 from rtfeldman/fix-typo-num
Fix typo in Num.roc
2022-02-01 20:00:15 +01:00
Richard Feldman
5b6d457aa3
Fix typo in Num.roc 2022-02-01 11:52:47 -05:00
Richard Feldman
e65e6c97d1
Use constant instead of hardcoded string 2022-02-01 09:17:28 -05:00
Richard Feldman
65244d6383
Fix unclosed brace 2022-02-01 08:43:47 -05:00
Richard Feldman
c21741a7e0
zig fmt 2022-02-01 08:37:51 -05:00
Richard Feldman
e47e556dda
Merge remote-tracking branch 'origin/trunk' into expect-dont-panic 2022-02-01 08:35:32 -05:00
Richard Feldman
a957b7b086
Merge pull request #2434 from rtfeldman/link_mac_libraries_for_bevy
Link macOS with AudioUnit, CoreAudio, IOKit frameworks
2022-02-01 08:25:59 -05:00
Brian Carroll
ad4318f1ff Merge branch 'trunk' of github.com:rtfeldman/roc into repl-packages 2022-02-01 11:16:37 +00:00
Brian Carroll
bbe82fcf25 repl: refactor LLVM-specific code under an optional Cargo feature 2022-02-01 11:15:37 +00:00
ayazhafiz
d10eb0f9a3 Fix Apply usage 2022-01-31 23:00:37 -05:00
ayazhafiz
a9ed4ce4ce Removing references 2022-01-31 22:58:15 -05:00
ayazhafiz
4e942b3e5d Make nested datatypes into errors
I was hoping to add nested datatypes into the language, but it turns out
doing so is quite tricky and not all that useful with Roc's current
compilation model. Basically every implementation strategy I could think
of ended up requiring a uniform representation for the data layout
(or some ugly workaround). Furhermore it increased the complexity of the
checker/mono IR generator a little bit - basically, we must always pass
around the alias definitions of nested datatypes and instantiate them
at usage sites, rather than being able to unroll aliases as we currently
do during canonicalization.

So, especially because we don't support polymorphic recursion anyway, I
think it may be better to simply disallow any kind of nested datatypes
in the language. In any case, Stephanie Weirich [seems to think nested
datatypes are not needed](https://www.cis.upenn.edu/~plclub/blog/2020-12-04-nested-datatypes/).

Closes #2293
2022-01-31 22:58:01 -05:00
Jan Van Bruggen
2f80d64056
Link macOS with AudioUnit, CoreAudio, IOKit frameworks
AudioUnit & CoreAudio are necessary to get
[Bevy](https://docs.rs/bevy/latest/bevy/)'s "hello world" example
working inside a Roc platform.

IOKit is necessary to get
[Bevy](https://docs.rs/bevy/latest/bevy/)'s "breakout" example
working inside a Roc platform.

Credit to @hafiz for discovering this solution.
2022-01-31 11:17:30 -07:00
Anton-4
8be1deff97
Merge pull request #2433 from rtfeldman/nix_update
nix update
2022-01-31 15:57:01 +01:00
Anton-4
e7918e7d8a
nix: update old rust, use nix 21.11, update to zig 0.8.1 2022-01-31 14:59:01 +01:00
Folkert de Vries
00617ebf2a
Merge pull request #2418 from rtfeldman/i/1822
Error when platform package config cannot be found
2022-01-31 12:51:54 +01:00
Folkert de Vries
33a2cb7240
Merge pull request #2426 from rtfeldman/effect-module
Parse and format `hosted` modules
2022-01-31 12:50:24 +01:00
Brian Carroll
33e6afe83c repl: remove unused dependencies from roc_cli crate 2022-01-31 07:23:39 +00:00
Brian Carroll
516b3ee296 repl: Delete unused debug file 2022-01-31 06:50:08 +00:00