rename Ir.compile_lambda => lower_lambda
This commit is contained in:
parent
fab3b76d9c
commit
37377c044d
|
@ -190,14 +190,12 @@ let lower ~lib (modl : Ast.modl) =
|
|||
fns, name :: vls, init :: ins
|
||||
|
||||
| Ast.Item_fun (name, args, body) ->
|
||||
let fn = name, compile_lambda self env args body in
|
||||
let fn = (name, lower_lambda self env args body) in
|
||||
fn :: fns, vls, ins)
|
||||
([], [], [])
|
||||
items
|
||||
in
|
||||
|
||||
(* TODO: closure conversion *)
|
||||
|
||||
(* if [is_scope], return the last expr, otherwise return the object itself *)
|
||||
let ret, inits_r = match is_scope, inits_r with
|
||||
| true, init :: inits -> init, inits
|
||||
|
@ -217,9 +215,10 @@ let lower ~lib (modl : Ast.modl) =
|
|||
inits_r
|
||||
)
|
||||
|
||||
and compile_lambda self env args body =
|
||||
and lower_lambda self env args body =
|
||||
let args = List.map (fun a -> a, new_id ()) args in
|
||||
let env = Env.Cons (Fun { args }, env) in
|
||||
(* TODO: closure conversion *)
|
||||
let body = lower_exp env body in
|
||||
let args = List.map snd args in
|
||||
{ self; args; body }
|
||||
|
|
Loading…
Reference in New Issue