comparison src/corify.sml @ 1701:6a4461757829

Remove weird special case for FFI functions whose first arguments have type [unit]
author Adam Chlipala <adam@chlipala.net>
date Wed, 14 Mar 2012 09:06:23 -0400
parents 0577be31a435
children 21ecf340f05c
comparison
equal deleted inserted replaced
1700:2b04104896a8 1701:6a4461757829
539 | _ => 539 | _ =>
540 case St.lookupValByName st x of 540 case St.lookupValByName st x of
541 St.ENormal n => (L'.ENamed n, loc) 541 St.ENormal n => (L'.ENamed n, loc)
542 | St.EFfi (m, t) => 542 | St.EFfi (m, t) =>
543 case t of 543 case t of
544 (L'.TFun (dom as (L'.TRecord (L'.CRecord (_, []), _), _), ran), _) => 544 (L'.CApp ((L'.CFfi ("Basis", "transaction"), _), dom), _) =>
545 (L'.EAbs ("arg", dom, ran, (L'.EFfiApp (m, x, []), loc)), loc)
546 | (L'.CApp ((L'.CFfi ("Basis", "transaction"), _), dom), _) =>
547 (L'.EAbs ("arg", dom, (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc), 545 (L'.EAbs ("arg", dom, (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc),
548 (L'.EFfiApp (m, x, []), loc)), loc) 546 (L'.EFfiApp (m, x, []), loc)), loc)
549 | t as (L'.TFun _, _) => 547 | t as (L'.TFun _, _) =>
550 let 548 let
551 fun getArgs (all as (t, _), args) = 549 fun getArgs (all as (t, _), args) =