Commit graph

562 commits

Author SHA1 Message Date
Agus Zubiaga
057a18573a
New module header
Implements the new `module` header syntax as described in "module and package changes" [1]:

```
module [Request, Response, req]
```

The old syntax should still work fine, and is automatically upgraded to the new one
when running `roc format`.

[1] https://docs.google.com/document/d/1E_77fO-44BtoBtXoVeWyGh1xN2KRTWTu8q6i25RNNx0/edit
2024-05-01 10:39:12 -03:00
Agus Zubiaga
d8d56f6e49
Rename {Parsed,Constrained}Module.imported_modules to available_modules 2024-05-01 09:58:23 -03:00
Agus Zubiaga
b3cd71e460
match => if let value def 2024-04-28 00:13:01 -03:00
Agus Zubiaga
a8a829aadd
Merge branch 'main' into inline-imports 2024-04-28 00:11:29 -03:00
Agus Zubiaga
9df5fb7092
Refactor package_qualified_imported_modules in load 2024-04-27 23:01:22 -03:00
Agus Zubiaga
eea2196c30
Remove unnecessary ValueDef::IngestedFileImport branch in load/parse 2024-04-27 22:51:12 -03:00
Agus Zubiaga
2aa53eab32
Remove unncessary comment in load 2024-04-27 22:32:43 -03:00
Agus Zubiaga
a2b76fc8c3
Combine work in load update Header 2024-04-27 22:31:03 -03:00
Agus Zubiaga
87a279dc2c
Extract marking s builtin into header type method 2024-04-27 22:27:50 -03:00
Agus Zubiaga
8c62640b97
Remove pointless comment in load
Co-authored-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
Signed-off-by: Agus Zubiaga <hi@aguz.me>
2024-04-27 22:24:41 -03:00
Agus Zubiaga
afd9f79b90
Remove unnecessary platform shorthands assert 2024-04-27 22:16:59 -03:00
Luke Boswell
db4607125b
remove suffixed from Pattern 2024-04-28 08:47:08 +10:00
Richard Feldman
f7716188a1
Merge pull request #6676 from roc-lang/ok-err
Allow the names `Ok` and `Err` as type aliases
2024-04-27 06:49:46 -04:00
Richard Feldman
17d761252f
Improve reporting for doc links problems 2024-04-26 16:31:20 -04:00
Richard Feldman
e895c71dbd
Ignore unused warnings if the module name is Task 2024-04-25 23:13:12 -04:00
Agus Zubiaga
0f89d3558a
impl From<ImportedModuleName> for QualifiedModuleName 2024-04-23 20:03:07 -03:00
Agus Zubiaga
7ebfc6d06d
Support both inline and header imports
Load will now convert header imports to inline import defs, so that
we can support both temporarily.
2024-04-20 19:04:09 -03:00
Agus Zubiaga
3217e5a3f0
Allow dots in import module names
We found some issues with the private submodules part of the proposal [1],
and we decided to keep module directories for now.

[1] https://docs.google.com/document/d/1E_77fO-44BtoBtXoVeWyGh1xN2KRTWTu8q6i25RNNx0/edit#heading=h.x84bh32l37em
2024-04-20 12:33:02 -03:00
Agus Zubiaga
1f347f6ca1
Fix package module resolution in inline imports
We were still passing `ModuleIds` from `load` to `can`, but now
that imports can appear in any scope, we don't know which package
an unqualified module name belongs to from the top level.

We now pass `PackageModuleIds` instead  and keep a Map of `ModuleName` to
`ModuleId` in `Scope`.

This also allow us to import multiple modules with the same name from different
packages as long as a unique alias is provided.
2024-04-20 12:16:37 -03:00
Agus Zubiaga
d5a38a26db
Merge branch 'main' into inline-imports 2024-04-20 12:01:11 -03:00
Luke Boswell
0143035dc0
cleanup, improve docs 2024-04-14 13:45:06 +10:00
Luke Boswell
5bb44fcce5
most tests passing 2024-04-14 13:45:05 +10:00
Luke Boswell
8b9e08bd76
WIP try simplification 2024-04-14 13:45:05 +10:00
Luke Boswell
b8ec53738a
fix desugar for suffixed nodes 2024-04-14 13:45:01 +10:00
Luke Boswell
3c3e523b45
add suffixed to Identifer and QualifiedIdentifier 2024-04-14 13:45:00 +10:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Richard Feldman
14ba398b5d
Merge pull request #6569 from faldor20/docs
Add docs to completions and hover
2024-03-16 11:22:58 -04:00
Anton-4
3fadcf7bcb
style changes 2024-03-16 14:41:08 +01:00
Anton-4
121c585681
Merge pull request #6567 from jschear/js/expects_per_module
Run expects separately per module, report test results per module behind `--verbose` flag
2024-03-15 19:15:00 +01:00
Eli Dowling
cc4453b301
remove alias 2024-03-12 06:42:37 +10:00
Eli Dowling
15faf59c6b
removed unneeded imported modules info 2024-03-12 06:42:34 +10:00
Eli Dowling
3027fc2284
working completions 2024-03-12 06:42:22 +10:00
faldor20
be71514435
spelling 2024-03-12 00:26:29 +10:00
faldor20
45d994d7d7
clippy 2024-03-12 00:18:01 +10:00
faldor20
ee264981b6
cleanup getting docs for symbol 2024-03-12 00:13:57 +10:00
faldor20
321baf86d1
moved exposed module filtering into docs 2024-03-12 00:02:19 +10:00
faldor20
64c25cf4d5
remove prints 2024-03-11 15:35:36 +10:00
faldor20
3fe3a3439a
cleanup fetching module docs 2024-03-11 15:17:46 +10:00
faldor20
f6799cae92
support docs in app, platform and packages 2024-03-11 11:10:36 +10:00
faldor20
0c463555f4
module docs 2024-03-11 11:10:35 +10:00
faldor20
0b56882785
Unannotated types hover 2024-03-11 11:10:35 +10:00
faldor20
cdf218fe7a
first working version of docs hover 2024-03-11 11:10:34 +10:00
faldor20
6d3fd89f8e remove alias 2024-03-11 10:18:58 +10:00
Eli Dowling
a21f987e64 removed unneeded imported modules info 2024-03-11 10:18:58 +10:00
Eli Dowling
e809beb882 working completions 2024-03-11 10:18:58 +10:00
Anton-4
76c47c5d6f
stylistic improvements 2024-03-09 20:47:19 +01:00
Jonathan Schear
504e00d44d
Group toplevel expects by module, run them separately 2024-03-08 14:56:32 -05:00
Anton-4
f620508a37
misc improvements 2024-03-04 17:10:59 +01:00
Richard Feldman
739565e836
Revert "Remove obsolete ListLenUsize"
This reverts commit ad1bca4ac9c40d336522f944df60d61a814435dd.
2024-02-17 13:20:34 -05:00
Richard Feldman
87d4760356
Remove obsolete ListLenUsize 2024-02-17 13:20:34 -05:00