Dylan Baker
f4f4f18106
Add comparison functions to core env
hace 6 años
Dylan Baker
76c6eac9b5
Implement conditionals
Currently I'm relying on JavaScript's semantics
around truthiness. I think I'm going to retain
that ease of use (i.e. `(if list #t #f)` should
return true if the list has more than 0 elements,
etc) but I want to specify that behavior myself.
hace 6 años
Dylan Baker
3e5a873054
Prettier :/
hace 6 años
Dylan Baker
b83126524d
Make all functions lambdas for now
hace 6 años
Dylan Baker
06ab1b52d4
Compile function applications (named and lambda)
hace 6 años
Dylan Baker
7a9b1a6727
Create simple compiler class
Just numbers and strings for now
hace 6 años
Dylan Baker
bffecce670
Add lambdas
hace 6 años
Dylan Baker
90d84dbb6f
Prettier
hace 6 años
Dylan Baker
4b3ce29206
Remove resolver and compiler, add define to parser
hace 6 años
Dylan Baker
91730231df
Saving state
hace 6 años
Dylan Baker
497af0aa34
Implement test helper functions
hace 6 años
Dylan Baker
f77ad26a69
Allow empty strings
hace 6 años
Dylan Baker
581c99f794
Rewrite AST and compiler to be more normal
hace 6 años
Dylan Baker
c7c40f7df7
Implement number and boolean types
hace 6 años
Dylan Baker
64e2ab8eb0
Implement some very basic error handling
It's a little hacky and not very clean but it's
working for now.
hace 6 años
Dylan Baker
31f584d688
Allow for self-closing tags
hace 6 años
Dylan Baker
ebc21f694d
Redo map as each, still playing with the syntax
hace 6 años
Dylan Baker
db64e79472
Implement mapping
hace 6 años
Dylan Baker
d46f25c589
Run prettier
hace 6 años
Dylan Baker
d60e736fec
Allow using special characters in literals
hace 6 años
Dylan Baker
564b4808e9
Allow using variables as attribute values
hace 6 años
Dylan Baker
ef0845237f
Allow whitespace while between quotes
What was happening was that spaces were allowed in
all literals to account for quoted strings, but
this meant that two identifiers in a row would get
parsed as a single literal. This commit sets a
flag to allow whitespace in literals when a quote
is encountered and then unsets that flag at the
next quote.
hace 6 años
Dylan Baker
709986560e
First try at the compiler
No variables or conditionals or anything yet, just
the basic ability to turn s-expressions into HTML.
hace 6 años
Dylan Baker
f7d7e9f46f
Fix up some stuff and add a test for parser
hace 7 años
Dylan Baker
0bd9afe74b
Fix broken lexer test
hace 7 años
Dylan Baker
fdee6a6367
Use classes after all
hace 7 años
Dylan Baker
190d19a7a1
Initial commit
hace 7 años