module Main where import Control.Monad.Eff import Debug.Trace foreign import data Assert :: ! foreign import assert "function assert(x) {\ \ return function () {\ \ if (!x) throw new Error('assertion failed');\ \ return {};\ \ };\ \};" :: forall e. Boolean -> Eff (assert :: Assert | e) Unit main = do assert (1 < 2) assert (2 == 2) assert (3 > 1) assert ("a" < "b") assert ("a" == "a") assert ("z" > "a") trace "Done!"