Better styling for miniFun
This commit is contained in:
@ -5,14 +5,17 @@ Random.self_init ()
|
||||
|
||||
let (let*) = Result.bind
|
||||
|
||||
let rec evaluate (mem: memory) (command: t_exp) : (permittedValues, [> error]) result =
|
||||
let rec evaluate (mem: memory) (command: t_exp) :
|
||||
(permittedValues, [> error]) result =
|
||||
match command with
|
||||
Integer n -> Ok (IntegerPermitted n)
|
||||
| Boolean b -> Ok (BooleanPermitted b)
|
||||
| Variable v -> (
|
||||
match VariableMap.find_opt v mem.assignments with
|
||||
None -> Error (`AbsentAssignment ("The variable " ^ v ^ " is not defined."))
|
||||
| Some a -> Ok a
|
||||
| None ->
|
||||
Error (`AbsentAssignment ("The variable " ^ v ^ " is not defined."))
|
||||
| Some a ->
|
||||
Ok a
|
||||
)
|
||||
| Tuple (x, y) -> (
|
||||
let* xval = evaluate mem x in
|
||||
|
||||
Reference in New Issue
Block a user