diff options
Diffstat (limited to 'frontend/general.icl')
-rw-r--r-- | frontend/general.icl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/general.icl b/frontend/general.icl index 3506334..cd25cbc 100644 --- a/frontend/general.icl +++ b/frontend/general.icl @@ -67,6 +67,17 @@ where = val = halt +// Strict version of --->, which evaluates its lhs first +(<---) infix :: !.a !b -> .a | <<< b +(<---) value message = value ---> message + +// Tracing evaluation of a value, otherwise acts like identity +traceValue :: !String !String .a -> .a +traceValue contextdesc valuedesc value += (value <--- (contextdesc+++" <<== "+++valuedesc)) ---> (contextdesc+++" ==>> "+++valuedesc) + + + (-?->) infix :: .a !(!Bool, !b) -> .a | <<< b (-?->) val (cond, message) | cond |