diff --git a/lib/c3/0.1/array.c3 b/lib/c3/0.1/array.c3
index d635438..1669853 100644
--- a/lib/c3/0.1/array.c3
+++ b/lib/c3/0.1/array.c3
@@ -1,4 +1,7 @@
defmodule Array do
def cast = cfn Array "array_init_cast" (Result, Sym, Tag)
+
+ def data = cfn Tag "array_data_tag" (Tag, Tag, Result)
+
end
diff --git a/lib/c3/0.1/array.facts b/lib/c3/0.1/array.facts
deleted file mode 100644
index b19dcc1..0000000
--- a/lib/c3/0.1/array.facts
+++ /dev/null
@@ -1,7 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-add {Array, :is_a, :module}
-replace {Array, :symbol, Array.cast}
-replace {Array.cast, :symbol_value, cfn Array "array_init_cast" (Result, Tag)}
-add {Array, :symbol, Array.data}
-replace {Array.data, :symbol_value, cfn Tag "array_data_tag" (Tag, Tag, Result)}
diff --git a/lib/c3/0.1/gl/dvec2.facts b/lib/c3/0.1/gl/dvec2.facts
deleted file mode 100644
index a45e5f3..0000000
--- a/lib/c3/0.1/gl/dvec2.facts
+++ /dev/null
@@ -1,5 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Dvec2, :is_a, :module}
-replace {GL.Dvec2, :defstruct, [x: (F64) 0,
- y: (F64) 0]}
diff --git a/lib/c3/0.1/gl/dvec3.facts b/lib/c3/0.1/gl/dvec3.facts
deleted file mode 100644
index 981ae52..0000000
--- a/lib/c3/0.1/gl/dvec3.facts
+++ /dev/null
@@ -1,6 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Dvec3, :is_a, :module}
-replace {GL.Dvec3, :defstruct, [x: (F64) 0,
- y: (F64) 0,
- z: (F64) 0]}
diff --git a/lib/c3/0.1/gl/object.facts b/lib/c3/0.1/gl/object.facts
deleted file mode 100644
index 3cf4fb1..0000000
--- a/lib/c3/0.1/gl/object.facts
+++ /dev/null
@@ -1,10 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Object, :is_a, :module}
-replace {GL.Object, :defstruct, [vertex: (GL.Vertex[]) {},
- triangle: (GL.Triangle[]) {},
- gl_mode: (U32) 0,
- gl_vao: (U32) 0,
- gl_vbo: (U32) 0,
- gl_ebo: (U32) 0]}
-replace {GL.Object, :clean, cfn Void "gl_object_clean" (GL.Object)}
diff --git a/lib/c3/0.1/gl/sphere.facts b/lib/c3/0.1/gl/sphere.facts
deleted file mode 100644
index 30e03a4..0000000
--- a/lib/c3/0.1/gl/sphere.facts
+++ /dev/null
@@ -1,7 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Sphere, :is_a, :module}
-replace {GL.Sphere, :defstruct, [object: %GL.Object{},
- segments_u: (Uw) 3,
- segments_v: (Uw) 2]}
-replace {GL.Sphere, :clean, cfn Void "gl_sphere_clean" (GL.Sphere)}
diff --git a/lib/c3/0.1/gl/triangle.facts b/lib/c3/0.1/gl/triangle.facts
deleted file mode 100644
index 273167d..0000000
--- a/lib/c3/0.1/gl/triangle.facts
+++ /dev/null
@@ -1,6 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Triangle, :is_a, :module}
-replace {GL.Triangle, :defstruct, [a: (U32) 0,
- b: (U32) 1,
- c: (U32) 2]}
diff --git a/lib/c3/0.1/gl/vec2.facts b/lib/c3/0.1/gl/vec2.facts
deleted file mode 100644
index 97f3576..0000000
--- a/lib/c3/0.1/gl/vec2.facts
+++ /dev/null
@@ -1,5 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Vec2, :is_a, :module}
-replace {GL.Vec2, :defstruct, [x: (F32) 0,
- y: (F32) 0]}
diff --git a/lib/c3/0.1/gl/vec3.facts b/lib/c3/0.1/gl/vec3.facts
deleted file mode 100644
index 2c5f514..0000000
--- a/lib/c3/0.1/gl/vec3.facts
+++ /dev/null
@@ -1,6 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Vec3, :is_a, :module}
-replace {GL.Vec3, :defstruct, [x: (F32) 0,
- y: (F32) 0,
- z: (F32) 0]}
diff --git a/lib/c3/0.1/gl/vertex.facts b/lib/c3/0.1/gl/vertex.facts
deleted file mode 100644
index b76260f..0000000
--- a/lib/c3/0.1/gl/vertex.facts
+++ /dev/null
@@ -1,6 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-replace {GL.Vertex, :is_a, :module}
-replace {GL.Vertex, :defstruct, [position: %GL.Vec3{},
- normal: %GL.Vec3{},
- tex_coord: %GL.Vec2{}]}
diff --git a/lib/c3/0.1/list.facts b/lib/c3/0.1/list.facts
deleted file mode 100644
index 17a8cad..0000000
--- a/lib/c3/0.1/list.facts
+++ /dev/null
@@ -1,20 +0,0 @@
-%{module: C3.Facts.Dump,
- version: 1}
-add {List, :is_a, :module}
-add {List, :symbol, List.cast}
-add {List, :symbol, List.map}
-add {List, :symbol, List.reverse}
-replace {List.cast, :symbol_value, cfn List "list_init_cast" (Result, Tag)}
-replace {List.map, :symbol_value, fn {
- ([], _) do
- []
- end
- ([a | b], f) {
- [f(a) | List.map(b, f)]
- }
-}}
-replace {List.reverse, :symbol_value, fn {
- (x) { List.reverse(x, []) }
- ([], acc) { acc }
- ([a | b], acc) { List.reverse(b, [a | acc]) }
-}}