1
1
mirror of https://github.com/anoma/juvix.git synced 2024-11-30 05:42:26 +03:00
juvix/tests/Rust/Compilation/positive
Ł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
..
out Add support for unsigned 8-bit integer type Byte (#2918) 2024-08-02 07:43:24 +01:00
test066 Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test072 Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
test073 Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
Package.juvix Update juvix-stdlib to include Foldable and Functor traits (#2932) 2024-07-31 15:13:27 +02:00
test001.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test002.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test003.juvix Run Nockma in an Anoma node (#3128) 2024-10-29 17:32:59 +01:00
test005.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test006.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
test007.juvix Improve Set and Map modules in the standard library (#3120) 2024-10-24 12:29:33 +01:00
test008.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test009.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test010.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test013.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test014.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test015.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test016.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test017.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test018.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test019.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test020.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test021.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test022.juvix RISC0 Rust backend (#2792) 2024-06-07 07:57:27 +02:00
test023.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test024.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test025.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test026.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test028.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test029.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test030.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
test032.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test033.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
test034.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
test035.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
test036.juvix Update juvix-stdlib to remove non-ASCII indentifiers (#2857) 2024-06-26 10:23:35 +02:00
test037.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test038.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test039.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test040.juvix Merge if -> ite renaming from stdlib (#2869) 2024-07-02 10:03:06 +02:00
test045.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test046.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test047.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test050.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test053.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test054.juvix Update juvix-stdlib to include Foldable and Functor traits (#2932) 2024-07-31 15:13:27 +02:00
test056.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test057.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test058.juvix Improve specialization optimization (#2944) 2024-08-14 10:04:30 +02:00
test059.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test060.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
test062.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test064.juvix Non-recursive definitions (#3138) 2024-11-04 18:18:39 +01:00
test065.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test067.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
test068.juvix Rust backend (#2787) 2024-05-29 13:34:04 +02:00
test069.juvix Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
test070.juvix Migrate old named application syntax (#2876) 2024-07-12 18:31:09 +02:00
test071.juvix Update standard library coding style according to the guidelines (#3092) 2024-10-14 15:56:54 +02:00
test074.juvix Add support for unsigned 8-bit integer type Byte (#2918) 2024-08-02 07:43:24 +01:00