mirror of
https://github.com/CatalaLang/catala.git
synced 2024-09-20 08:47:14 +03:00
51 lines
1.1 KiB
Plaintext
51 lines
1.1 KiB
Plaintext
## Test
|
|
|
|
```catala
|
|
declaration scope A:
|
|
context output foo content integer
|
|
state bar
|
|
state baz
|
|
state fizz
|
|
|
|
declaration scope B:
|
|
output foofoo content integer
|
|
state bar
|
|
state baz
|
|
b scope A
|
|
output foofoofoo content integer
|
|
|
|
|
|
scope A:
|
|
definition foo state bar equals 1
|
|
|
|
definition foo state baz equals foo + 1
|
|
|
|
definition foo state fizz equals foo + 1
|
|
|
|
|
|
scope B:
|
|
definition foofoo state bar equals 3
|
|
definition foofoo state baz equals foofoo + 1
|
|
definition b.foo equals foofoo
|
|
definition foofoofoo equals b.foo
|
|
```
|
|
|
|
```catala-test-inline
|
|
$ catala Scopelang -s A
|
|
let scope A (foo_bar: integer|context) (foo_baz: integer|internal)
|
|
(foo_fizz: integer|internal|output) =
|
|
let foo_bar : integer = reentrant or by default
|
|
⟨true ⊢ ⟨ ⟨true ⊢ 1⟩ | false ⊢ ∅ ⟩⟩;
|
|
let foo_baz : integer =
|
|
⟨true ⊢ ⟨ ⟨true ⊢ foo_bar +! 1⟩ | false ⊢ ∅ ⟩⟩;
|
|
let foo_fizz : integer =
|
|
⟨true ⊢ ⟨ ⟨true ⊢ foo_baz +! 1⟩ | false ⊢ ∅ ⟩⟩
|
|
```
|
|
|
|
```catala-test-inline
|
|
$ catala Interpret -s B
|
|
[RESULT] Computation successful! Results:
|
|
[RESULT] foofoo = 4
|
|
[RESULT] foofoofoo = 6
|
|
```
|