aboutsummaryrefslogtreecommitdiff
path: root/frontend/general.icl
diff options
context:
space:
mode:
authorjohnvg2001-07-23 11:50:49 +0000
committerjohnvg2001-07-23 11:50:49 +0000
commit30c272bfe9713ae42805ab18544eede1ef55021b (patch)
tree9c4ba2aeebcdb1518ee4c4230f45b02166f187d9 /frontend/general.icl
parentAdded "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.icl9
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