diff options
author | johnvg | 2001-07-23 11:50:49 +0000 |
---|---|---|
committer | johnvg | 2001-07-23 11:50:49 +0000 |
commit | 30c272bfe9713ae42805ab18544eede1ef55021b (patch) | |
tree | 9c4ba2aeebcdb1518ee4c4230f45b02166f187d9 /frontend/general.icl | |
parent | Added "curried" arrow types (->) and ((->) a) (diff) |
use halt instead of abort to prevent strictness in 'a'
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@560 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/general.icl')
-rw-r--r-- | frontend/general.icl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/frontend/general.icl b/frontend/general.icl index d5669db..5b3bb1a 100644 --- a/frontend/general.icl +++ b/frontend/general.icl @@ -51,14 +51,14 @@ where (--->) val message | file_to_true (stderr <<< message <<< '\n') = val - = abort "Internal error in --->" + = halt (-?->) infix :: .a !(!Bool, !b) -> .a | <<< b (-?->) val (cond, message) | cond | file_to_true (stderr <<< message <<< '\n') = val - = abort "Internal error in --->" + = halt = val file_to_true :: !File -> Bool @@ -69,6 +69,11 @@ file_to_true file = code { .end } +halt :: .a +halt = code { + halt + } + instance + {#Char} where (+) s t = s +++ t |