comparison src/compiler.sml @ 642:4a125bbc602d

Conversion of functions to CPS, to facilitate ServerCall
author Adam Chlipala <adamc@hcoop.net>
date Sun, 08 Mar 2009 20:34:21 -0400
parents 47947d6e9750
children aa2290c32ce2
comparison
equal deleted inserted replaced
641:b98f547a6a45 642:4a125bbc602d
451 print = CorePrint.p_file CoreEnv.empty 451 print = CorePrint.p_file CoreEnv.empty
452 } 452 }
453 453
454 val toRpcify = transform rpcify "rpcify" o toShake1 454 val toRpcify = transform rpcify "rpcify" o toShake1
455 455
456 val toCore_untangle2 = transform core_untangle "core_untangle2" o toRpcify
457 val toShake2 = transform shake "shake2" o toCore_untangle2
458
456 val tag = { 459 val tag = {
457 func = Tag.tag, 460 func = Tag.tag,
458 print = CorePrint.p_file CoreEnv.empty 461 print = CorePrint.p_file CoreEnv.empty
459 } 462 }
460 463
461 val toTag = transform tag "tag" o toRpcify 464 val toTag = transform tag "tag" o toCore_untangle2
462 465
463 val reduce = { 466 val reduce = {
464 func = Reduce.reduce, 467 func = Reduce.reduce,
465 print = CorePrint.p_file CoreEnv.empty 468 print = CorePrint.p_file CoreEnv.empty
466 } 469 }
479 print = CorePrint.p_file CoreEnv.empty 482 print = CorePrint.p_file CoreEnv.empty
480 } 483 }
481 484
482 val toSpecialize = transform specialize "specialize" o toUnpoly 485 val toSpecialize = transform specialize "specialize" o toUnpoly
483 486
484 val toShake2 = transform shake "shake2" o toSpecialize 487 val toShake3 = transform shake "shake3" o toSpecialize
485 488
486 val monoize = { 489 val monoize = {
487 func = Monoize.monoize CoreEnv.empty, 490 func = Monoize.monoize CoreEnv.empty,
488 print = MonoPrint.p_file MonoEnv.empty 491 print = MonoPrint.p_file MonoEnv.empty
489 } 492 }
490 493
491 val toMonoize = transform monoize "monoize" o toShake2 494 val toMonoize = transform monoize "monoize" o toShake3
492 495
493 val mono_opt = { 496 val mono_opt = {
494 func = MonoOpt.optimize, 497 func = MonoOpt.optimize,
495 print = MonoPrint.p_file MonoEnv.empty 498 print = MonoPrint.p_file MonoEnv.empty
496 } 499 }