5d73f82
(HEAD -> master)
Compile to HTML by
2018-09-17 21:19:19 -0400
a0ac260
Rename head/tail to first/rest by
2018-09-17 21:17:39 -0400
fb75ea9
Style by
2018-09-17 21:17:02 -0400
7bbcd1d
Fix bug where lambda required an application by
2018-09-16 19:57:32 -0400
cf57876
Implement compiler by
2018-09-16 19:52:35 -0400
7d8caf3
Prettier by
2018-09-16 19:29:11 -0400
f1466bf
Add cons, head, and tail; remove type checking by
2018-09-10 14:59:58 -0400
da6ce44
Add length function; preserve Number node line numbers by
2018-09-10 13:52:23 -0400
0abc70a
Move core functions to their own module by
2018-09-10 13:40:56 -0400
acc88c3
Create list function by
2018-09-10 13:29:17 -0400
65eade6
Remove unused import by
2018-09-10 13:29:08 -0400
8821f23
Make sure all arguments get evaluated by
2018-09-10 13:20:31 -0400
e045a21
Remove experimental file by
2018-09-10 13:16:07 -0400
d66c23a
Prettier by
2018-09-10 11:10:09 -0400
80c7326
Implement missing closing “/) errors by
2018-09-10 10:29:20 -0400
bd4aa9d
Fix error handling and bug where let bindings stay in scope by
2018-09-09 23:44:16 -0400
c93190c
Implement let bindings by
2018-09-09 22:13:38 -0400
2f5f91b
Alphabetize methods by
2018-09-09 21:59:57 -0400
9ae2911
Reorganize bin.js a little by
2018-09-09 21:55:36 -0400
380e810
Remove stray semicolon by
2018-09-09 21:34:13 -0400
fc7978c
Evaluate conditionals by
2018-09-09 21:33:58 -0400
b9e4a1f
Move AST nodes into one file by
2018-08-31 10:44:32 -0400
9662adf
Implement definitions by
2018-08-31 10:37:12 -0400
ca46849
Evaluate booleans and strings by
2018-08-31 10:20:03 -0400
63d4d4b
Evaluate lambda functions by
2018-08-31 10:18:11 -0400
369853a
Replace compiler with evaluator by
2018-08-27 16:31:05 -0400
4d957c6
Core functions should return Oslo types, not JS types by
2018-08-23 07:14:56 -0400
f4f4f18
Add comparison functions to core env by
2018-08-23 07:11:19 -0400
76c6eac
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. by
2018-08-23 06:40:23 -0400
c833db2
LOL I forgot how Lisp works by
2018-08-22 17:35:08 -0400
3e5a873
Prettier :/ by
2018-08-22 17:27:17 -0400
b831265
Make all functions lambdas for now by
2018-08-22 17:27:05 -0400
06ab1b5
Compile function applications (named and lambda) by
2018-08-22 15:22:51 -0400
7a9b1a6
Create simple compiler class Just numbers and strings for now by
2018-08-22 13:28:35 -0400
0b4d63e
Make sure source gets passed in as a string I noticed that if you passed in just a number, JS would helpfully parse that and then `source.length` was undefined, which broke the lexer. by
2018-08-22 13:28:02 -0400
bffecce
Add lambdas by
2018-08-21 07:34:30 -0400
90d84db
Prettier by
2018-08-21 07:23:50 -0400
67ca848
Prettier by
2018-08-21 07:23:50 -0400
4b3ce29
Remove resolver and compiler, add define to parser by
2018-08-21 07:23:40 -0400
9173023
Saving state by
2018-07-31 09:03:50 -0400
3b6525e
Prettier by
2018-07-23 07:00:12 -0400
497af0a
Implement test helper functions by
2018-07-23 06:59:56 -0400
296e94f
Add .DS_Store and .oslo files to gitignore I keep test .oslo files around and I hate not having a clean repo. by
2018-07-17 18:20:22 -0400
681a88a
Clean up unused stuff by
2018-07-17 18:18:14 -0400
a3e6a6d
Move list of selfclosing tags into its own module by
2018-07-17 18:17:04 -0400
60c6d9a
Don't include ="" for attributes with empty string by
2018-07-17 17:51:58 -0400
20ab139
Add doctype to list of self closing tags I added upper and lowercase because that seemed preferable to always casting every html function name to lowercase. by
2018-07-17 17:45:14 -0400
f77ad26
Allow empty strings by
2018-07-17 17:09:35 -0400
581c99f
Rewrite AST and compiler to be more normal by
2018-07-16 18:01:18 -0400
c7c40f7
Implement number and boolean types by
2018-07-16 10:42:56 -0400
64e2ab8
Implement some very basic error handling It's a little hacky and not very clean but it's working for now. by
2018-07-13 07:17:31 -0400
802884b
Runn prettier by
2018-07-12 12:17:00 -0400
31f584d
Allow for self-closing tags by
2018-07-12 10:42:47 -0400
ebae8a3
Rework main parser logic The way that we were doing it before was going to make it very difficult to implement any sort of error handling or extension to the language. by
2018-07-12 07:37:57 -0400
d82d4ed
Don't wrap eaches in an empty function call node Because I was assuming that every expression started with a literal, calls to `each` were getting wrapped by a functionCall node with no functionName, which was subsequently ignored by the compiler. This removes all of that uselessness by
2018-07-11 17:39:02 -0400
ebc21f6
Redo map as each, still playing with the syntax by
2018-07-11 17:18:14 -0400
db64e79
Implement mapping by
2018-07-11 16:15:17 -0400
c9c2e34
Check for blank cli arguments by
2018-07-11 15:17:33 -0400
d46f25c
Run prettier by
2018-07-11 15:14:43 -0400
d60e736
Allow using special characters in literals by
2018-07-11 15:13:07 -0400
4ae6bd8
Implement CLI by
2018-07-11 15:04:28 -0400
69dc097
Manage the whitespace produced by the compiler by
2018-07-11 11:48:00 -0400
564b480
Allow using variables as attribute values by
2018-07-11 11:14:07 -0400
ef08452
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. by
2018-07-11 11:06:02 -0400
7099865
First try at the compiler No variables or conditionals or anything yet, just the basic ability to turn s-expressions into HTML. by
2018-07-11 10:12:46 -0400
f7d7e9f
Fix up some stuff and add a test for parser by
2018-04-26 10:08:50 -0400
a6b6918
Handle nested expressions by
2018-04-26 09:43:36 -0400
0bd9afe
Fix broken lexer test by
2018-04-26 09:43:26 -0400
d746573
Fix lexer by
2018-04-26 09:29:16 -0400
bdf7527
WIP Parser by
2018-04-26 07:32:45 -0400
5c8194c
Package lock by
2018-04-26 06:58:09 -0400
fdee6a6
Use classes after all by
2018-04-24 10:31:34 -0400
22512cf
Somehow I wasn't initializing variables? by
2018-04-24 10:10:26 -0400
cd6ecca
Update prettier config by
2018-04-24 09:24:29 -0400
190d19a
Initial commit by
2018-04-24 07:16:27 -0400