log

age author description
Sun, 01 Jun 2014 17:20:29 -0700 Michael Pavone Fix fold on ast nodes so that all nodes get visited
Sun, 01 Jun 2014 00:14:36 -0700 Michael Pavone Memoize results of match:where:yield and matchOne: macros. Fix opsym rule to use the symbol ast node.
Sat, 31 May 2014 22:51:00 -0700 Michael Pavone Actual working implementation of isconstant check
Sat, 31 May 2014 21:30:18 -0700 Michael Pavone Support assigment of literals while preparing the environment for a macro
Sat, 31 May 2014 21:27:03 -0700 Michael Pavone Fix infinite loop in hash dict
Sat, 10 May 2014 19:11:01 -0700 Michael Pavone Added code for building a method symbol table
Fri, 11 Apr 2014 22:29:32 -0700 Michael Pavone Fix a couple of compiler bugs. topenv was getting initialized in multiple places. This resulted in multiple copies of modules getting created which caused problems for macro expansion. Additionally, arguments were not being marked as declared during code generation so assigning to an argument that was not closed over generated invalid C code.
Wed, 09 Apr 2014 22:55:10 -0700 Michael Pavone Added hash dictionary to dict module
Wed, 09 Apr 2014 22:54:52 -0700 Michael Pavone Added resize method to arrays
Sun, 30 Mar 2014 18:17:56 -0700 Michael Pavone Added get:else method to linear dict
Wed, 08 Jan 2014 19:27:19 -0800 Michael Pavone Finish moving ast object definitions to a separate ast module
Mon, 06 Jan 2014 19:41:35 -0800 Michael Pavone Refactor some of the AST node object constructors into a separate AST module
Mon, 06 Jan 2014 01:03:18 -0800 Mike Pavone Fix handling of unescaped tabs in string literals in new parser
Mon, 06 Jan 2014 00:48:19 -0800 Mike Pavone Improve compatibility of new parser with the old one
Sun, 05 Jan 2014 23:07:26 -0800 Mike Pavone Use a lightweight substring object in a few places in the parser to improve performance for large files.
Sun, 05 Jan 2014 20:56:25 -0800 Mike Pavone Make the successful return value from a match expression be truthy and the failure value false. This avoids an extra method call when checking the result and avoids allocating a new object when a match fails.
Sun, 05 Jan 2014 20:54:22 -0800 Mike Pavone Small fix to call to method implemented on current object check
Sun, 05 Jan 2014 20:53:35 -0800 Mike Pavone Don't rename the symbol self in quote blocks
Sun, 05 Jan 2014 19:28:09 -0800 Mike Pavone Don't expose internal helper functions in parser module
Sun, 05 Jan 2014 19:27:41 -0800 Mike Pavone Eval lambda assignments at macro expandion time so they can be called by macros
Sun, 05 Jan 2014 17:00:33 -0800 Mike Pavone Optimized implementation of character classes
Fri, 03 Jan 2014 22:13:34 -0800 Michael Pavone Support reading files larger than 1024 bytes in parser module
Fri, 03 Jan 2014 19:25:40 -0800 Michael Pavone Fix printing of function/method calls in parser module
Fri, 03 Jan 2014 19:23:47 -0800 Michael Pavone Add string method to unarymeth AST node object
Fri, 03 Jan 2014 19:14:14 -0800 Michael Pavone Fix tab escapes in old parser
Thu, 02 Jan 2014 23:42:33 -0800 Michael Pavone Fix string method of funcall nodes
Thu, 02 Jan 2014 22:49:51 -0800 Michael Pavone Fix string parsing in grammar and add it to the primlitsym rule. Add parentheses expressions. Allow parsing from a file.
Thu, 02 Jan 2014 21:04:10 -0800 Michael Pavone Implement lambdas in grammar. Make assignments an expression in grammar.
Thu, 02 Jan 2014 21:02:11 -0800 Michael Pavone Allow newlines between binary operator and the right argument to the operator
Sun, 29 Dec 2013 17:16:52 -0800 Michael Pavone Implemented arrays in grammar
Sun, 29 Dec 2013 17:09:21 -0800 Michael Pavone Implement list literals in grammar
Sun, 29 Dec 2013 14:56:46 -0800 Michael Pavone Implement all the binary operators except and/or/xor in grammar
Sun, 29 Dec 2013 14:39:54 -0800 Michael Pavone Added a new binaryOps:withHigherPrec macro to simplify specification of binary operator precedence level rules in the grammar
Sun, 29 Dec 2013 14:38:56 -0800 Michael Pavone Support macro expansion inside quoted code
Sun, 29 Dec 2013 14:25:38 -0800 Michael Pavone Added addition and multiplication precedence level operators to grammar
Sun, 29 Dec 2013 13:08:01 -0800 Michael Pavone Implemented more of the grammar. Dealt with some name conflicts along the way.
Sun, 29 Dec 2013 13:07:10 -0800 Michael Pavone Better handling for weird values being inserted into AST due to quoting
Mon, 23 Dec 2013 14:44:31 -0800 Michael Pavone Implement onePlus macro. Fix some bugs in the other matching macros. Implement integer literal parsing rules.
Mon, 23 Dec 2013 14:22:20 -0800 Michael Pavone Fix check of return value from env.find in symbol.quote so that falsey found values do not cause trouble.
Sat, 21 Dec 2013 12:08:06 -0800 Michael Pavone Implemented match:where:yield and fixed a bug in zeroPlus
Sat, 21 Dec 2013 12:07:51 -0800 Michael Pavone Switched to a less hacky implementation of hygiene and exposed more AST properties to macros
Sat, 21 Dec 2013 12:07:00 -0800 Michael Pavone Add -m flag to compiler driver to select macro expansion only
Sat, 21 Dec 2013 12:06:10 -0800 Michael Pavone Add contains? method to list
Fri, 06 Dec 2013 19:19:54 -0800 Michael Pavone Make assignments an expression in the grammar
Mon, 02 Dec 2013 00:50:16 -0800 Mike Pavone Implement match:yield macro
Sat, 30 Nov 2013 15:05:24 -0800 Mike Pavone Implement matchOne matching macro. Support more AST node types in zeroPlus matching macro.
Sat, 30 Nov 2013 15:04:52 -0800 Mike Pavone Don't compile quote expressions in C backend for now
Sat, 30 Nov 2013 15:03:47 -0800 Mike Pavone Fix some bugs and allow proper access to list literals in interpreter/macro expander
Wed, 27 Nov 2013 23:36:24 -0800 Michael Pavone Implement zeroPlus macro
Fri, 22 Nov 2013 19:37:25 -0800 Mike Pavone Initial work on pattern match macrosfor the new parser
Tue, 19 Nov 2013 22:02:11 -0800 Mike Pavone Basic implementation of macros is now working
Wed, 23 Oct 2013 19:10:03 -0700 Mike Pavone Implemented a simple interpreter to be used for macro expansion and a driver for testing it
Sun, 13 Oct 2013 20:23:08 -0700 Mike Pavone Some minor work on creating an IL backend based on the C backend
Wed, 28 Aug 2013 21:50:22 -0700 Mike Pavone Add support for the rest of the instructions currently defined in the il module in the x86 module
Wed, 28 Aug 2013 01:05:45 -0700 Mike Pavone Add code for converting IL into x86 machine code
Wed, 28 Aug 2013 01:05:29 -0700 Mike Pavone Add map method to linear dict
Wed, 28 Aug 2013 01:05:14 -0700 Mike Pavone Don't allow assignments to module variables
Tue, 27 Aug 2013 23:02:19 -0700 Mike Pavone Add a save instruction around calls if there are caller-saved registers live at call-time. Fix to2Op for skipIf and save instructions.
Tue, 27 Aug 2013 22:53:30 -0700 Mike Pavone Remove some debug print expressions
Tue, 27 Aug 2013 22:51:57 -0700 Mike Pavone Fix ireg upper, regSource returnAll and regSource needSaveForCall in x86 module
Tue, 27 Aug 2013 22:50:48 -0700 Mike Pavone Added string method to true and false modules
Tue, 27 Aug 2013 21:38:09 -0700 Mike Pavone Define methods in an object before running populate symbols on those methods to avoid a bug in which self was not properly marked as closed over due to a method not being defined when a symbol search was done
Mon, 26 Aug 2013 21:04:44 -0700 Mike Pavone Add save il instruction to save callee saved registers in function prolog
Mon, 26 Aug 2013 20:42:20 -0700 Mike Pavone Apply register assignments in il module
Mon, 26 Aug 2013 19:53:16 -0700 Mike Pavone Mostly complete register allocation in il module with a register source in the x86 module
Mon, 26 Aug 2013 19:50:17 -0700 Mike Pavone Add contains? method to linear dictionary
Mon, 26 Aug 2013 19:50:02 -0700 Mike Pavone Fix infinite loop in array join
Mon, 26 Aug 2013 18:59:38 -0700 Mike Pavone Added reverse method to lists
Mon, 26 Aug 2013 18:23:05 -0700 Mike Pavone Determine live ranges for logical registers as part of initial work on register allocator
Mon, 26 Aug 2013 18:21:57 -0700 Mike Pavone Add join method to lists
Mon, 26 Aug 2013 17:46:47 -0700 Mike Pavone Fix parse precedence problem between opsyms and symbols in assignments
Mon, 26 Aug 2013 17:27:17 -0700 Mike Pavone Add string conversion inside array join so callers don't need to worry about doing string conversions themselves
Sun, 25 Aug 2013 14:45:00 -0700 Mike Pavone Initial work on IL module
Sun, 25 Aug 2013 14:44:43 -0700 Mike Pavone Add join method to array
Sat, 24 Aug 2013 19:03:18 -0700 Mike Pavone Fix a few bugs in the x86 module and add jcc, push and pop instructions
Sat, 24 Aug 2013 19:02:59 -0700 Mike Pavone Make method names available at runtime so they can be included in method not implemented error messages
Sat, 24 Aug 2013 16:21:42 -0700 Mike Pavone Add call instruction to x86 module
Sat, 24 Aug 2013 15:08:00 -0700 Mike Pavone Add support for jmps and labels in x86 module
Sat, 24 Aug 2013 09:56:29 -0700 Mike Pavone A bunch of fixes in x86 instruction encoding
Sat, 24 Aug 2013 09:55:54 -0700 Mike Pavone Add initial work on bytearrays with support for allocating executable memory
Sat, 24 Aug 2013 09:54:47 -0700 Mike Pavone Support more bitwise operations and function pointers in llMessages
Sat, 24 Aug 2013 09:53:20 -0700 Mike Pavone Allow all expressions in array and list literals
Thu, 22 Aug 2013 15:12:15 -0700 Mike Pavone Small refactor in x86 module. Added a few more instructions.
Wed, 21 Aug 2013 08:00:57 -0700 Mike Pavone Initial work on x86 instruction encoding module
Wed, 21 Aug 2013 08:00:09 -0700 Mike Pavone Added foreach, string and print to list objects
Wed, 21 Aug 2013 07:59:34 -0700 Mike Pavone Fixed a few bugs. Improved the "symbol not found" error messages. Added a "signed?" method to integer objects
Tue, 13 Aug 2013 22:01:00 -0700 Mike Pavone Merge
Tue, 13 Aug 2013 21:58:03 -0700 Mike Pavone Add linked list implementation and cons operator
Sun, 11 Aug 2013 04:03:08 -0700 Mike Pavone Handle floating point numbers in JSON parser
Sun, 11 Aug 2013 04:02:51 -0700 Mike Pavone Add os sleep
Sun, 11 Aug 2013 03:01:05 -0700 Mike Pavone Fix some JSON parser bugs
Sun, 11 Aug 2013 02:31:33 -0700 Mike Pavone Handle newlines and carriage returns in JSON decoder
Sun, 11 Aug 2013 00:58:50 -0700 Mike Pavone Add support for parsing true and false to JSON parser
Sat, 10 Aug 2013 22:26:26 -0700 Mike Pavone Dict improvements
Sat, 10 Aug 2013 19:09:22 -0700 Mike Pavone Fix silly typo in http module
Sat, 10 Aug 2013 18:58:40 -0700 Mike Pavone Add rand srand and time to os module
Sat, 10 Aug 2013 18:26:33 -0700 Mike Pavone Fix variable name collision in integer objects
Sat, 10 Aug 2013 18:26:14 -0700 Mike Pavone Add post support to HTTP client
Sat, 10 Aug 2013 15:51:31 -0700 Mike Pavone Add support for chunked encoding to HTTP client
Sat, 10 Aug 2013 15:20:38 -0700 Mike Pavone Add parseHex32 and parseHex64 to string objects
Sat, 10 Aug 2013 15:06:56 -0700 Mike Pavone Partial implementation of HTTP get requests
Sat, 10 Aug 2013 14:50:38 -0700 Mike Pavone Fix compiler bug involving referencing a self method in a method defined before the referenced method
Sat, 10 Aug 2013 14:19:38 -0700 Mike Pavone Added some stuff for compiler debugging. Added unsigned integer types. Added integer size conversion methods to integer objects.
Sat, 10 Aug 2013 11:51:47 -0700 Mike Pavone Add JSON parser and sample
Fri, 09 Aug 2013 21:01:11 -0700 Mike Pavone A little more work on the HTTP module
Fri, 09 Aug 2013 20:12:04 -0700 Mike Pavone Add splitOn and partitionOn to string objects
Fri, 09 Aug 2013 13:20:40 -0700 Mike Pavone Added from and from:withLength for doing substring operations
Fri, 09 Aug 2013 10:05:20 -0700 Mike Pavone Implement find:else on string objects
Fri, 09 Aug 2013 05:28:35 -0700 Mike Pavone Tiny bit of work on HTTP client and sample usage of it
Fri, 09 Aug 2013 05:28:07 -0700 Mike Pavone Fix small bug in compile script
Fri, 09 Aug 2013 04:57:21 -0700 Mike Pavone Add support for receiving data from a socket
Fri, 09 Aug 2013 04:29:37 -0700 Mike Pavone Fix string literal escaping to allow more than one of each type of escaped character
Fri, 09 Aug 2013 04:15:53 -0700 Mike Pavone Basic socket support
Fri, 09 Aug 2013 03:58:42 -0700 Mike Pavone Fix fold:with foldr:with and map in the array module
Fri, 09 Aug 2013 03:58:08 -0700 Mike Pavone Lambda bugfix and some improvments to the llMessage support
Fri, 09 Aug 2013 01:37:09 -0700 Mike Pavone Merge
Fri, 09 Aug 2013 01:36:53 -0700 Mike Pavone Started work on replacing nodes with a symbol when a symbol button is clicked
Fri, 09 Aug 2013 01:35:29 -0700 Mike Pavone Minor progress towards supporting imports in the C backend
Fri, 09 Aug 2013 01:32:35 -0700 Mike Pavone Old work on a socket module
Thu, 08 Aug 2013 22:31:41 -0700 Mike Pavone Support size suffixes for hexadecimal integer literals