aboutsummaryrefslogtreecommitdiff
path: root/cm.lua
diff options
context:
space:
mode:
Diffstat (limited to 'cm.lua')
-rw-r--r--cm.lua40
1 files changed, 0 insertions, 40 deletions
diff --git a/cm.lua b/cm.lua
deleted file mode 100644
index e2d11f6..0000000
--- a/cm.lua
+++ /dev/null
@@ -1,40 +0,0 @@
--- Cm: name inspired by "C meta(language)", but it's not really a metalangauge (whatever this means) of C (or anything else)
-
-local function LateResolveType(name)
- -- "lb" - Lazy Binding
- return {_tag = "lb", _lb_typename = name}
-end
-
-local function TypeTagger(tag)
- return function(props)
- props._tag = tag
- return props
- end
-end
-
-local cm_env_fns = {
- _namespace = 0, -- TODO
- _t = LateResolveType,
- _struct = TypeTagger("struct"),
- _union = TypeTagger("union"),
- _alias = TypeTagger("alias"),
-}
-local cm_env_metatable = {__index = cm_env_fns}
-
----@param fn function
----@return table
-function LoadCmLua(fn)
- local env = {}
- setmetatable(env, cm_env_metatable)
-
- local old_fenv = getfenv(fn)
- setfenv(fn, env)
- pcall(fn)
- setfenv(fn, old_fenv)
-
- return env
-end
-
-function LoadCmDecl(src)
- -- TODO
-end