Commit Graph

  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • 5d73f82 (HEAD -> master) Compile to HTML by Dylan Baker 2018-09-17 21:19:19 -0400
  • a0ac260 Rename head/tail to first/rest by Dylan Baker 2018-09-17 21:17:39 -0400
  • fb75ea9 Style by Dylan Baker 2018-09-17 21:17:02 -0400
  • 7bbcd1d Fix bug where lambda required an application by Dylan Baker 2018-09-16 19:57:32 -0400
  • cf57876 Implement compiler by Dylan Baker 2018-09-16 19:52:35 -0400
  • 7d8caf3 Prettier by Dylan Baker 2018-09-16 19:29:11 -0400
  • f1466bf Add cons, head, and tail; remove type checking by Dylan Baker 2018-09-10 14:59:58 -0400
  • da6ce44 Add length function; preserve Number node line numbers by Dylan Baker 2018-09-10 13:52:23 -0400
  • 0abc70a Move core functions to their own module by Dylan Baker 2018-09-10 13:40:56 -0400
  • acc88c3 Create list function by Dylan Baker 2018-09-10 13:29:17 -0400
  • 65eade6 Remove unused import by Dylan Baker 2018-09-10 13:29:08 -0400
  • 8821f23 Make sure all arguments get evaluated by Dylan Baker 2018-09-10 13:20:31 -0400
  • e045a21 Remove experimental file by Dylan Baker 2018-09-10 13:16:07 -0400
  • d66c23a Prettier by Dylan Baker 2018-09-10 11:10:09 -0400
  • 80c7326 Implement missing closing “/) errors by Dylan Baker 2018-09-10 10:29:20 -0400
  • bd4aa9d Fix error handling and bug where let bindings stay in scope by Dylan Baker 2018-09-09 23:44:16 -0400
  • c93190c Implement let bindings by Dylan Baker 2018-09-09 22:13:38 -0400
  • 2f5f91b Alphabetize methods by Dylan Baker 2018-09-09 21:59:57 -0400
  • 9ae2911 Reorganize bin.js a little by Dylan Baker 2018-09-09 21:55:36 -0400
  • 380e810 Remove stray semicolon by Dylan Baker 2018-09-09 21:34:13 -0400
  • fc7978c Evaluate conditionals by Dylan Baker 2018-09-09 21:33:58 -0400
  • b9e4a1f Move AST nodes into one file by Dylan Baker 2018-08-31 10:44:32 -0400
  • 9662adf Implement definitions by Dylan Baker 2018-08-31 10:37:12 -0400
  • ca46849 Evaluate booleans and strings by Dylan Baker 2018-08-31 10:20:03 -0400
  • 63d4d4b Evaluate lambda functions by Dylan Baker 2018-08-31 10:18:11 -0400
  • 369853a Replace compiler with evaluator by Dylan Baker 2018-08-27 16:31:05 -0400
  • 4d957c6 Core functions should return Oslo types, not JS types by Dylan Baker 2018-08-23 07:14:56 -0400
  • f4f4f18 Add comparison functions to core env by Dylan Baker 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 Dylan Baker 2018-08-23 06:40:23 -0400
  • c833db2 LOL I forgot how Lisp works by Dylan Baker 2018-08-22 17:35:08 -0400
  • 3e5a873 Prettier :/ by Dylan Baker 2018-08-22 17:27:17 -0400
  • b831265 Make all functions lambdas for now by Dylan Baker 2018-08-22 17:27:05 -0400
  • 06ab1b5 Compile function applications (named and lambda) by Dylan Baker 2018-08-22 15:22:51 -0400
  • 7a9b1a6 Create simple compiler class Just numbers and strings for now by Dylan Baker 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 Dylan Baker 2018-08-22 13:28:02 -0400
  • bffecce Add lambdas by Dylan Baker 2018-08-21 07:34:30 -0400
  • 90d84db Prettier by Dylan Baker 2018-08-21 07:23:50 -0400
  • 67ca848 Prettier by Dylan Baker 2018-08-21 07:23:50 -0400
  • 4b3ce29 Remove resolver and compiler, add define to parser by Dylan Baker 2018-08-21 07:23:40 -0400
  • 9173023 Saving state by Dylan Baker 2018-07-31 09:03:50 -0400
  • 3b6525e Prettier by Dylan Baker 2018-07-23 07:00:12 -0400
  • 497af0a Implement test helper functions by Dylan Baker 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 Dylan Baker 2018-07-17 18:20:22 -0400
  • 681a88a Clean up unused stuff by Dylan Baker 2018-07-17 18:18:14 -0400
  • a3e6a6d Move list of selfclosing tags into its own module by Dylan Baker 2018-07-17 18:17:04 -0400
  • 60c6d9a Don't include ="" for attributes with empty string by Dylan Baker 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 Dylan Baker 2018-07-17 17:45:14 -0400
  • f77ad26 Allow empty strings by Dylan Baker 2018-07-17 17:09:35 -0400
  • 581c99f Rewrite AST and compiler to be more normal by Dylan Baker 2018-07-16 18:01:18 -0400
  • c7c40f7 Implement number and boolean types by Dylan Baker 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 Dylan Baker 2018-07-13 07:17:31 -0400
  • 802884b Runn prettier by Dylan Baker 2018-07-12 12:17:00 -0400
  • 31f584d Allow for self-closing tags by Dylan Baker 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 Dylan Baker 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 Dylan Baker 2018-07-11 17:39:02 -0400
  • ebc21f6 Redo map as each, still playing with the syntax by Dylan Baker 2018-07-11 17:18:14 -0400
  • db64e79 Implement mapping by Dylan Baker 2018-07-11 16:15:17 -0400
  • c9c2e34 Check for blank cli arguments by Dylan Baker 2018-07-11 15:17:33 -0400
  • d46f25c Run prettier by Dylan Baker 2018-07-11 15:14:43 -0400
  • d60e736 Allow using special characters in literals by Dylan Baker 2018-07-11 15:13:07 -0400
  • 4ae6bd8 Implement CLI by Dylan Baker 2018-07-11 15:04:28 -0400
  • 69dc097 Manage the whitespace produced by the compiler by Dylan Baker 2018-07-11 11:48:00 -0400
  • 564b480 Allow using variables as attribute values by Dylan Baker 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 Dylan Baker 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 Dylan Baker 2018-07-11 10:12:46 -0400
  • f7d7e9f Fix up some stuff and add a test for parser by Dylan Baker 2018-04-26 10:08:50 -0400
  • a6b6918 Handle nested expressions by Dylan Baker 2018-04-26 09:43:36 -0400
  • 0bd9afe Fix broken lexer test by Dylan Baker 2018-04-26 09:43:26 -0400
  • d746573 Fix lexer by Dylan Baker 2018-04-26 09:29:16 -0400
  • bdf7527 WIP Parser by Dylan Baker 2018-04-26 07:32:45 -0400
  • 5c8194c Package lock by Dylan Baker 2018-04-26 06:58:09 -0400
  • fdee6a6 Use classes after all by Dylan Baker 2018-04-24 10:31:34 -0400
  • 22512cf Somehow I wasn't initializing variables? by Dylan Baker 2018-04-24 10:10:26 -0400
  • cd6ecca Update prettier config by Dylan Baker 2018-04-24 09:24:29 -0400
  • 190d19a Initial commit by Dylan Baker 2018-04-24 07:16:27 -0400