0ed4aa3ae5 
								
							 
						 
						
							
							
								
								[types] Implement Add and Mul on Int  
							
							
							
						 
						
							2018-09-01 20:00:09 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1dfc6823f0 
								
							 
						 
						
							
							
								
								Merge branch 'port-numbers'  
							
							
							
						 
						
							2018-09-01 12:22:46 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								68eec8578c 
								
							 
						 
						
							
							
								
								[types] Passing integer tests and build fixes  
							
							
							
						 
						
							2018-09-01 12:21:13 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3bdf14720c 
								
							 
						 
						
							
							
								
								[types] Expand the documentation of Numbers  
							
							
							
						 
						
							2018-09-01 12:03:26 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								9801113c01 
								
							 
						 
						
							
							
								
								[types] Move exactness flag to is_exact() method on Number  
							
							
							
						 
						
							2018-09-01 11:58:25 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f18b6a5719 
								
							 
						 
						
							
							
								
								[types] Simplify explicit lifetimes for Int::eq(Obj)  
							
							
							
						 
						
							2018-09-01 11:52:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								576b81e52c 
								
							 
						 
						
							
							
								
								[types] OMG SO MUCH LIFETIME NONSENSE  
							
							
							
						 
						
							2018-09-01 08:33:45 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1e12508348 
								
							 
						 
						
							
							
								
								[types] Number trait, Int type (which does not work), and some API improvements for Objects  
							
							
							
						 
						
							2018-08-31 19:15:12 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								683e2504b9 
								
							 
						 
						
							
							
								
								WIP  
							
							
							
						 
						
							2018-08-31 19:10:54 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e61dc0b6a4 
								
							 
						 
						
							
							
								
								[lexer] Add failing test for issue  #12  
							
							
							
						 
						
							2018-08-27 06:56:48 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c14c939ad3 
								
							 
						 
						
							
							
								
								[parser] ListParser can handle lists of more than 2 elements  😮  
							
							... 
							
							
							
							As ListParser sees items within its list, it assembles a vector of Pairs. When
the parser encounters ')', it assembles the pairs into an actual linked list and
returns the root Pair.
This work also revealed that I was asserting incorrectly in my single_pair test.
It should return Null instead of an empty Pair. Neat.
Closes  #17 . 
							
						 
						
							2018-08-26 22:24:17 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c02706e36f 
								
							 
						 
						
							
							
								
								[parser] Add failing test for  #17  
							
							
							
						 
						
							2018-08-26 18:23:40 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								ae63ce8e20 
								
							 
						 
						
							
							
								
								[parser] Add a test for parsing bools  
							
							... 
							
							
							
							Related to #13  
							
						 
						
							2018-08-26 17:48:22 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4fab810d1f 
								
							 
						 
						
							
							
								
								[parser] Add BoolParser and hook it up to existing parsers  
							
							... 
							
							
							
							Closes  #13 . 
						
							2018-08-26 17:43:59 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3a7fe94b32 
								
							 
						 
						
							
							
								
								[types] Implement From<bool> for Bool  
							
							
							
						 
						
							2018-08-26 17:41:50 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fe478fadc7 
								
							 
						 
						
							
							
								
								[parser] Reorganize NodeParsers into parsers/ subdirectory  
							
							
							
						 
						
							2018-08-26 17:32:09 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1304e04808 
								
							 
						 
						
							
							
								
								[lexer] Bring over the REPL from the parser  
							
							
							
						 
						
							2018-08-26 13:45:52 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a23b917785 
								
							 
						 
						
							
							
								
								[lexer] Lex bools!  
							
							... 
							
							
							
							Extend the lexer to support Scheme bools like this: #t, #f, #true, #false.
Add some positive tests for this too. 
							
						 
						
							2018-08-26 13:40:27 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b0b4699476 
								
							 
						 
						
							
							
								
								[lexer] Rewrite the Lexer!  
							
							... 
							
							
							
							Implement structs for each state in the lexer. The State objects are responsible
for determining how to handle a character and emit a Result  indicating to the
driver (the Lexer struct) how to proceed. 
							
						 
						
							2018-08-26 11:47:18 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d0441965eb 
								
							 
						 
						
							
							
								
								[types] Add Bools to the mix  
							
							
							
						 
						
							2018-08-26 09:52:17 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4d5fcb69ee 
								
							 
						 
						
							
							
								
								Update the TODO list in the README  
							
							
							
						 
						
							2018-08-25 20:46:15 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								8d8cf34234 
								
							 
						 
						
							
							
								
								[parser] Simple REPL that parses input and prints output  
							
							
							
						 
						
							2018-08-25 20:38:54 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								cf503838ae 
								
							 
						 
						
							
							
								
								[parser] Add a single pair test  
							
							
							
						 
						
							2018-08-25 20:21:18 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d312c41dc7 
								
							 
						 
						
							
							
								
								[parser] Integration test of parsing a single Sym!  
							
							
							
						 
						
							2018-08-25 11:46:42 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								9a728c9489 
								
							 
						 
						
							
							
								
								[types] Add some tests for equality of pairs  
							
							
							
						 
						
							2018-08-25 11:32:19 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								22f3c3a9e3 
								
							 
						 
						
							
							
								
								[types] Value equivalence via PartialEq!  
							
							
							
						 
						
							2018-08-25 11:18:59 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1a3b7adc5a 
								
							 
						 
						
							
							
								
								[types] Clean up Object a little, add default implementations  
							
							
							
						 
						
							2018-08-25 09:21:51 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								31081ba5a9 
								
							 
						 
						
							
							
								
								[types] Move tests to tests/ directory; implement a bunch of Display tests  
							
							
							
						 
						
							2018-08-25 09:21:34 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d10c72711b 
								
							 
						 
						
							
							
								
								[types] Test for displaying empty Pair  
							
							
							
						 
						
							2018-08-25 08:33:39 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fc1f3acfa2 
								
							 
						 
						
							
							
								
								[types] Clean up failing tests  
							
							
							
						 
						
							2018-08-25 08:33:23 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3024efe65e 
								
							 
						 
						
							
							
								
								[types] Add some unit tests for Sym  
							
							
							
						 
						
							2018-08-25 08:18:32 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								cd7ea8f543 
								
							 
						 
						
							
							
								
								[types] Revert to a more Rusty way to print objects for Debug  
							
							
							
						 
						
							2018-08-25 08:00:39 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								37455641ec 
								
							 
						 
						
							
							
								
								[parser] Attempt to write a unit test; realize you need a way to check for equality of objects  🤷  
							
							
							
						 
						
							2018-08-25 07:59:43 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								683c9df243 
								
							 
						 
						
							
							
								
								[parser] Handle the result of passing a subparser's result to the next parser in the stack  
							
							
							
						 
						
							2018-08-25 07:58:49 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								580a71c997 
								
							 
						 
						
							
							
								
								[parser] This resolved a warning about this variable's value being unread -- idk what is going on here  
							
							
							
						 
						
							2018-08-25 07:57:45 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c35fce7727 
								
							 
						 
						
							
							
								
								[parser, types] Call subparser_completed  
							
							
							
						 
						
							2018-08-24 21:07:04 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d3520be67e 
								
							 
						 
						
							
							
								
								[parser] Add subparser_completed() method to NodeParser and implementing Parsers  
							
							
							
						 
						
							2018-08-24 21:06:24 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0a9f235836 
								
							 
						 
						
							
							
								
								[parser] Be a little nicer about line wrapping  
							
							
							
						 
						
							2018-08-24 17:21:45 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								7b90b5d229 
								
							 
						 
						
							
							
								
								[parser] Fix crash  
							
							... 
							
							
							
							- Create a ProgramParser on each call of next()
- Fix up ending condition check 
							
						 
						
							2018-08-24 17:19:33 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fea93f44eb 
								
							 
						 
						
							
							
								
								[parser] Clean up the prints  
							
							
							
						 
						
							2018-08-24 17:12:54 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								e822a6b6ec 
								
							 
						 
						
							
							
								
								[parser] Clean up a little; add some prints for debugging  
							
							
							
						 
						
							2018-08-24 15:43:19 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1ff349e147 
								
							 
						 
						
							
							
								
								[parser] Clean up some syntax and warnings  
							
							
							
						 
						
							2018-08-24 08:33:06 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								976675027f 
								
							 
						 
						
							
							
								
								[parser] Handle None from input  
							
							
							
						 
						
							2018-08-24 08:26:08 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								96e92230ed 
								
							 
						 
						
							
							
								
								[parser] Fill in the iteration cases  
							
							
							
						 
						
							2018-08-24 08:14:39 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								dbd6329dd6 
								
							 
						 
						
							
							
								
								[parser] Hand off lex to current parser and collect the result  
							
							
							
						 
						
							2018-08-24 08:05:39 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d13396bb5d 
								
							 
						 
						
							
							
								
								[parser] Fill in some framing comments; pass lexer errors out directly  
							
							
							
						 
						
							2018-08-24 08:00:33 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d9abd033e7 
								
							 
						 
						
							
							
								
								[parser] Flatten the matches  
							
							
							
						 
						
							2018-08-24 07:54:00 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2f9c16ff38 
								
							 
						 
						
							
							
								
								[parser] Working out the structure of this stupid Parser::next()  
							
							
							
						 
						
							2018-08-23 20:36:41 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4bade1af4a 
								
							 
						 
						
							
							
								
								[parser] Fill out ProgramParser  
							
							
							
						 
						
							2018-08-23 20:27:50 -07:00 
							
								 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								80bf4b7bf1 
								
							 
						 
						
							
							
								
								[parser] Expand ParseError; add a ProgramParser to start things off  
							
							
							
						 
						
							2018-08-23 20:21:59 -07:00