Merge content store

This commit is contained in:
2025-05-22 16:13:57 -05:00
parent 3717942589
commit 43e83be9a4
13 changed files with 1000 additions and 217 deletions

View File

@@ -14,7 +14,7 @@ data T = Leaf | Stem T | Fork T T
-- Abstract Syntax Tree for tricu
data TricuAST
= SVar String
= SVar String (Maybe String) -- Variable name and optional hash prefix
| SInt Integer
| SStr String
| SList [TricuAST]
@@ -30,11 +30,11 @@ data TricuAST
-- Lexer Tokens
data LToken
= LKeywordT
| LIdentifier String
= LIdentifier String
| LIdentifierWithHash String String
| LKeywordT
| LNamespace String
| LIntegerLiteral Integer
| LStringLiteral String
| LImport String String
| LAssign
| LColon
| LDot
@@ -42,9 +42,10 @@ data LToken
| LCloseParen
| LOpenBracket
| LCloseBracket
| LStringLiteral String
| LIntegerLiteral Int
| LNewline
| LImport String String
deriving (Show, Eq, Ord)
deriving (Eq, Show, Ord)
-- Output formats
data EvaluatedForm = TreeCalculus | FSL | AST | Ternary | Ascii | Decode
@@ -54,7 +55,7 @@ data EvaluatedForm = TreeCalculus | FSL | AST | Ternary | Ascii | Decode
type Env = Map.Map String T
-- Tree Calculus Reduction Rules
{-
{-
The t operator is left associative.
1. t t a b -> a
2. t (t a) b c -> a c (b c)