1
1
mirror of https://github.com/anoma/juvix.git synced 2024-11-30 14:13:27 +03:00
juvix/tests/positive/Internal
Łukasz Czajka 3030196fdd Non-recursive definitions (#3138)
* Closes #2968 
* Implements detection of function-like definitions, which either:
  - have some arguments on the left of `:`, or
  - have at least one clause.
* Only function-like definitions are recursive.
* Non-recursive definitions are not mutually recursive either, and can
be used only after their definition. This necessitates rearranging some
definitions in existing Juvix code.
* Changes the scoping of identifiers in record updates. Now field names
on the right side don't refer to the old values of the record fields but
to identifiers in scope defined outside the record update. To refer to
old values, one needs to explicitly use record projections, e.g.
```
r@Rec{x := Rec.x r}
```
2024-11-04 18:18:39 +01:00
..
Positivity Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
Positivity2 Set line width to 80 (#3124) 2024-10-25 15:11:19 +02:00
AsPattern.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
Box.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Case.juvix Optional braces in case syntax (#2778) 2024-05-22 18:14:03 +01:00
HoleInSignature.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Implicit.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
Lambda.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
LiteralInt.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
LiteralString.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Mutual.juvix Fix remove unexpected whitespaces introduced by formatting (#2489) 2023-11-03 12:51:45 +01:00
Norm.juvix Format juvix files using new function syntax (#2245) 2023-07-11 17:22:07 +02:00
Package.juvix Add PackageDescription.Basic module Package variant (#2509) 2023-11-13 17:36:18 +00:00
Simple.juvix Fix formatting for all Juvix files in tests folder (#2404) 2023-10-31 18:36:34 +01:00
Synonyms.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00