From ed2f47db28d82e9fe177141a94023bb4fdc0831c Mon Sep 17 00:00:00 2001 From: Christian Lincoln Date: Wed, 10 Jun 2026 02:59:38 +0100 Subject: [PATCH] Added crude code for REPL and nexus; Contemplating about training --- main.lua | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 main.lua diff --git a/main.lua b/main.lua new file mode 100644 index 0000000..cbc3b88 --- /dev/null +++ b/main.lua @@ -0,0 +1,77 @@ +-- A unique group +local classes = {} +classes.input = {} +classes.output = {} +local function class() + return {} +end +classes.after = class() +classes.next = class() +classes.chain = class() +classes.inside = class() +for char in "$abcdefghijklmnopqrstuvwxyz ":gmatch(".") do + classes.input[char] = class() + classes.output[char] = class() + end + +-- Relation of a class holdin a value between nexus of symbolic index +local function nex(class,v,...) + local this = {class = class, value = value, up = {}, at = {},...} + for index,item in ipairs({...}) do + this.at[item] = index + table.insert(item.up,this) + end + return this +end + +-- implication trees, but what about the actions behind them? and things that don't really exist? +-- imagination allows things that aren't possible to be possible in our heads at least. +-- an implication tree in a sense. + +local function update(root) + -- Objective: find nexus pieces that relate to cookies + -- find the cookies and try to build classes about them + -- try to crunch those classes and find similarities + +end + +local function action(root) + -- Objective: build hypothetical scenarios from nexus + -- the ones with output classes are most preferred since they can be acted upon + +end + +-- Main loop +local previous_chain +while true do + local input = io.read() + if input == "end" then return end + local actor + if input:match("^~") then + actor = input.output + input = input:match("[^#]*") + elseif input:match("[^@]*") then + actor = input.input + input = input:match("[^P]*") + elseif input:match("^#") then + print("null") + return + elseif input:match("^;") then + previous_chain = null + end + local previous + local chain = nex(classes.chain,1) + if previous_chain then + nex(classes.after,1,previous_chain,chain) + end + for char in input:gmatch(".") do + if classes[char] then + local object = nex(actor[char],1) + nex(classes.inside,1,object,chain) + if previous then nex(classes.next,1,previous,object) end + previous = object + end + end + update(chain) + action(chain) +end \ No newline at end of file