comparison src/corify.sml @ 765:a28982de5645

Successfully influenced effectful-ness status of FFI func
author Adam Chlipala <adamc@hcoop.net>
date Sat, 02 May 2009 11:27:26 -0400
parents 7f653298dd66
children 3b7e46790fa7
comparison
equal deleted inserted replaced
764:7f653298dd66 765:a28982de5645
537 St.ENormal n => (L'.ENamed n, loc) 537 St.ENormal n => (L'.ENamed n, loc)
538 | St.EFfi (m, t) => 538 | St.EFfi (m, t) =>
539 case t of 539 case t of
540 (L'.TFun (dom as (L'.TRecord (L'.CRecord (_, []), _), _), ran), _) => 540 (L'.TFun (dom as (L'.TRecord (L'.CRecord (_, []), _), _), ran), _) =>
541 (L'.EAbs ("arg", dom, ran, (L'.EFfiApp (m, x, []), loc)), loc) 541 (L'.EAbs ("arg", dom, ran, (L'.EFfiApp (m, x, []), loc)), loc)
542 | (L'.CApp ((L'.CFfi ("Basis", "transaction"), _), dom), _) =>
543 (L'.EAbs ("arg", dom, (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc),
544 (L'.EFfiApp (m, x, []), loc)), loc)
542 | t as (L'.TFun _, _) => 545 | t as (L'.TFun _, _) =>
543 let 546 let
544 fun getArgs (all as (t, _), args) = 547 fun getArgs (all as (t, _), args) =
545 case t of 548 case t of
546 L'.TFun (dom, ran) => getArgs (ran, dom :: args) 549 L'.TFun (dom, ran) => getArgs (ran, dom :: args)