From 89a907ddd0b7f6b888c61d54e3e41a8cee00b971 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 20 Feb 2024 02:18:36 +0200 Subject: expand type expansion --- hmm.t | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) delete mode 100644 hmm.t (limited to 'hmm.t') diff --git a/hmm.t b/hmm.t deleted file mode 100644 index 5c3d76c..0000000 --- a/hmm.t +++ /dev/null @@ -1,54 +0,0 @@ -/* common.ek */ -typedef any {} - -/* vec.ek */ -typedef vec { - i27 size; - i27 cap; - *any buf; -} - -insert(*vec v, i27 i, typeof(*v.buf) e) -{ - ... -} - -/* define local vector type */ -define vec!(t) -{ - struct vec [vec] {*t buf;} -} - -/* map.ek */ -typedef hashable { - /* pointers? */ - i27 hash(hashable); -} - -typedef map { - i27 size; - i27 cap; - *hashable keys; - *any values; -} - -// vs. append(*map h, typeof h.keys[0] k, typeof h.values[0] e) -// vs. append(*map h, ?h.keys[0] k, ?h.values[0] e) -// vs. append(*map h, #h.keys[0] k, #h.values[0] e) -// vs. append(*map h, :h.keys[0] k, :h.values[0] e) -// vs something else, hmm -append(*map h, `h.keys[0] k, `h.values[0] e) -{ - ... -} - -/* main.ek */ -main() -{ - vec!(i27) v; - // should automatically find the correct insert (unless the same - // elements as the vec typedef are used somewhere else) - insert(v, 0, 20); - // otherwise, force search as vec? - insert(v as vec, 0, 20); -} -- cgit v1.3