40/111 ???

This commit is contained in:
Nicolas PENELOUX 2023-11-28 21:32:54 +01:00
parent c41d137715
commit 3237406430

View file

@ -41,7 +41,9 @@ let check_type_scheme
-> HopixTypes.aty_scheme * HopixTypes.typing_environment -> HopixTypes.aty_scheme * HopixTypes.typing_environment
= =
fun env pos (ForallTy (ts, ty)) -> fun env pos (ForallTy (ts, ty)) ->
failwith "Students! This is your job! (check_type_scheme)" let ts = List.map Position.value ts in
let env = HopixTypes.bind_type_variables pos env ts in
(HopixTypes.Scheme (ts, HopixTypes.internalize_ty env ty), env)
;; ;;
let synth_literal : HopixAST.literal -> HopixTypes.aty = let synth_literal : HopixAST.literal -> HopixTypes.aty =
@ -212,7 +214,9 @@ and check_value_definition
(match ty with (match ty with
| None -> failwith "Type missing." | None -> failwith "Type missing."
| Some ty' -> | Some ty' ->
failwith "Students! This is your job! (check_value_definition | SimpleValue)") (*failwith "Students! This is your job! (check_value_definition | SimpleValue)"*)
let tys,_ = Position.located_pos (check_type_scheme env) ty' in
HopixTypes.bind_value (Position.value id) tys env)
| RecFunctions _ -> | RecFunctions _ ->
(* Je crois que c'est galère et donc c'est pas grave si on arrive pas (* Je crois que c'est galère et donc c'est pas grave si on arrive pas
à faire les fonctions récursives *) à faire les fonctions récursives *)