mirror of
https://github.com/CatalaLang/catala.git
synced 2024-09-20 00:41:05 +03:00
61 lines
1.4 KiB
Plaintext
61 lines
1.4 KiB
Plaintext
```catala-metadata
|
|
# Motivating example from https://github.com/CatalaLang/catala/issues/170
|
|
declaration structure Person:
|
|
data age content integer
|
|
data disabled content boolean
|
|
|
|
declaration scope Benefit:
|
|
context output person content Person
|
|
context output benefit content money
|
|
|
|
scope Benefit:
|
|
definition person equals Person {
|
|
-- age: 26
|
|
-- disabled: true
|
|
}
|
|
```
|
|
|
|
## Article 1
|
|
|
|
If the person is less than 25 years old, then the benefit is $1000.
|
|
|
|
```catala
|
|
scope Benefit:
|
|
label benefits_base_case
|
|
definition benefit under condition person.age <= 25 consequence equals $1000
|
|
```
|
|
|
|
## Article 2
|
|
|
|
If the person is more than 25 years old, then the benefit is $500.
|
|
|
|
```catala
|
|
scope Benefit:
|
|
label benefits_base_case
|
|
definition benefit under condition person.age > 25 consequence equals $500
|
|
```
|
|
|
|
## Article 3
|
|
|
|
If the person is disabled, the benefit is equal to $2000.
|
|
|
|
```catala
|
|
scope Benefit:
|
|
exception benefits_base_case
|
|
definition benefit under condition person.disabled consequence equals $2000
|
|
```
|
|
|
|
|
|
```catala-test-inline
|
|
$ catala Interpret -s Benefit
|
|
[RESULT] Computation successful! Results:
|
|
[RESULT] benefit = $2000.00
|
|
[RESULT] person = { Person age = 26; disabled = true; }
|
|
```
|
|
```catala-test-inline
|
|
$ catala Interpret_Lcalc -s Benefit --avoid_exceptions --optimize
|
|
[RESULT] Computation successful! Results:
|
|
[RESULT] benefit = ESome $2000.00
|
|
[RESULT] person = ESome { Person age = ESome 26; disabled = ESome true; }
|
|
```
|