#lang scheme/base
;; Combinators built on top of

;; Higher order control combinators are built on top of the Forth
;; ones.  This module does not re-export any of the control-stack
;; operators, to enforce a clean Coma + Control combinators language.




;; Written in terms of Forth style control words. Note that to provide
;; a clean Coma language with higher order control macros, these need
;; to be implementented in a different module, so the lowlevel Forth
;; control words and control stack manipulation can be hidden.

 (([qw a] [qw b] ifte)  (macro: if ',a i else ',b i then))
 (([qw a] forever)      (macro: begin ',a i again))