summaryrefslogtreecommitdiff
path: root/ddl/templates/data.purs.ede
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/templates/data.purs.ede')
-rw-r--r--ddl/templates/data.purs.ede17
1 files changed, 15 insertions, 2 deletions
diff --git a/ddl/templates/data.purs.ede b/ddl/templates/data.purs.ede
index f8b3e5d..2374c1d 100644
--- a/ddl/templates/data.purs.ede
+++ b/ddl/templates/data.purs.ede
@@ -39,11 +39,24 @@ type {{ t.value.aliasName }} = {{ t.value.aliasType | psType }}
39 39
40{% endcase %} 40{% endcase %}
41{% endfor %} 41{% endfor %}
42{% for t in definitions %}{% let l = t.value.instances | length %}{% if l > 0 %}{# FIXME!!! #} 42{% for t in definitions %}
43{% let l = t.value.instances | psInstances %}
44{% for i in l %}
45{% if i.first %}
46
43derive instance generic{{ t.value.dataName }} :: Generic {{ t.value.dataName }} 47derive instance generic{{ t.value.dataName }} :: Generic {{ t.value.dataName }}
48{% endif %}
49{% case i.value %}
50{% when "Show" %}
44instance show{{ t.value.dataName }} :: Show {{ t.value.dataName }} where show = gShow 51instance show{{ t.value.dataName }} :: Show {{ t.value.dataName }} where show = gShow
52{% when "Eq" %}
45instance eq{{ t.value.dataName }} :: Eq {{ t.value.dataName }} where eq = gEq 53instance eq{{ t.value.dataName }} :: Eq {{ t.value.dataName }} where eq = gEq
46{% endif %}{% endlet %}{% endfor %} 54{% else %}
55-- FIXME: {{ i.value }} instance is not supported!
56{% endcase %}
57{% endfor %}
58{% endlet %}
59{% endfor %}
47 60
48{# JSON Encode and Decode #} 61{# JSON Encode and Decode #}
49{% for t in definitions %} 62{% for t in definitions %}