aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorjohnvg2013-05-28 09:27:59 +0000
committerjohnvg2013-05-28 09:27:59 +0000
commit5943ca2f388834c0b588a64fee943fea1d848fca (patch)
tree99d2b854f5249f4e5d660cbf56325b9d9cd1b1d9 /frontend
parentfix renumbering of extensible algebraic types (diff)
prevent crash when writing .tcl file with extensible algebraic types (not yet implement in the dynamic linker)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2246 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/type_io.icl40
1 files changed, 16 insertions, 24 deletions
diff --git a/frontend/type_io.icl b/frontend/type_io.icl
index 249b863..3cf3fc8 100644
--- a/frontend/type_io.icl
+++ b/frontend/type_io.icl
@@ -110,39 +110,31 @@ where
instance WriteTypeInfo TypeRhs
where
write_type_info (AlgType defined_symbols) tcl_file wtis
- # tcl_file
- = fwritec AlgTypeCode tcl_file
- # defined_symbols
- = (sortBy (\{ds_ident={id_name=id_name1}} {ds_ident={id_name=id_name2}} -> id_name1 < id_name2) defined_symbols)
- # (tcl_file,wtis)
- = write_type_info defined_symbols tcl_file wtis
- = (tcl_file,wtis)
-
+ # tcl_file = fwritec AlgTypeCode tcl_file
+ # defined_symbols = sortBy (\{ds_ident={id_name=id_name1}} {ds_ident={id_name=id_name2}} -> id_name1 < id_name2) defined_symbols
+ = write_type_info defined_symbols tcl_file wtis
write_type_info (SynType _) tcl_file wtis
- # tcl_file
- = fwritec SynTypeCode tcl_file;
- = (tcl_file,wtis)
-
+ # tcl_file = fwritec SynTypeCode tcl_file;
+ = (tcl_file,wtis)
write_type_info (RecordType {rt_constructor,rt_fields}) tcl_file wtis
- #! tcl_file
- = fwritec RecordTypeCode tcl_file;
- #! (tcl_file,wtis)
- = write_type_info rt_constructor tcl_file wtis
- #! (tcl_file,wtis)
- = write_type_info rt_fields tcl_file wtis
- = (tcl_file,wtis)
-
+ #! tcl_file = fwritec RecordTypeCode tcl_file;
+ #! (tcl_file,wtis) = write_type_info rt_constructor tcl_file wtis
+ = write_type_info rt_fields tcl_file wtis
write_type_info (AbstractType _) tcl_file wtis
- #! tcl_file
- = fwritec AbstractTypeCode tcl_file;
+ #! tcl_file = fwritec AbstractTypeCode tcl_file;
// unimplemented
= (tcl_file,wtis)
-
write_type_info (AbstractSynType _ _) tcl_file wtis
#! tcl_file = fwritec AbstractTypeCode tcl_file;
// unimplemented
= (tcl_file,wtis)
-
+ write_type_info (ExtensibleAlgType _) tcl_file wtis
+ // unimplemented
+ = (tcl_file,wtis)
+ write_type_info (AlgConses _ _) tcl_file wtis
+ // unimplemented
+ = (tcl_file,wtis)
+
instance WriteTypeInfo DefinedSymbol
where
write_type_info {ds_ident,ds_arity,ds_index} tcl_file wtis