Mike Cifelli
1fbc74f3ac
Add ability to read large lists
2017-11-19 10:53:21 -05:00
Mike Cifelli
a9c13610a2
Perform TCO on numerous functions
2017-11-18 18:01:00 -05:00
Mike Cifelli
62b2653b2c
Allow for tail calls in recurse argument list
2017-11-18 14:54:53 -05:00
Mike Cifelli
eb80afb21d
Update lanterna version
2017-11-18 10:50:55 -05:00
Mike Cifelli
1995b23f42
Refactor code
2017-11-18 10:36:24 -05:00
Mike Cifelli
e0e726d6c0
Fix apply for macros
2017-11-18 10:21:57 -05:00
Mike Cifelli
aeb3074750
Restore scope properly after errors
2017-11-18 09:24:45 -05:00
Mike Cifelli
e2272fa976
Improve recur behavior
2017-11-17 19:14:59 -05:00
Mike Cifelli
6cf017734f
Narrow the behavior of RECUR
2017-11-17 17:57:14 -05:00
Mike Cifelli
b4229c6ac1
Implement RECUR
2017-11-16 20:53:55 -05:00
Mike Cifelli
cd551c5a1c
Reorder assertion arguments
2017-11-12 17:28:39 -05:00
Mike Cifelli
4ccdf9c959
Refactor tests to use modern assertions
2017-11-12 17:19:30 -05:00
Mike Cifelli
efb0329fda
Implement TCO for cons cell toString
2017-11-12 16:40:49 -05:00
Mike Cifelli
e8e9d2e12d
Update formatter settings
2017-11-12 13:46:15 -05:00
Mike Cifelli
6cd5fb66a4
Implement TCO for the length function
2017-11-12 13:27:04 -05:00
Mike Cifelli
7de348d759
Remove wildcard imports
2017-11-12 09:42:25 -05:00
omicron
3ebd5d49a9
Update files for eclipse oxygen
2017-11-12 08:37:39 -05:00
Mike Cifelli
c8c9a477b7
Refactor common test set up and tear down code
2017-07-19 15:23:15 -04:00
Mike Cifelli
84ccac0edb
Improve interpreter performance slightly
2017-04-13 09:07:30 -04:00
Mike Cifelli
cbbcb4fe3e
Clean up terminal tests
2017-04-12 09:16:09 -04:00
Mike Cifelli
63fd890ac6
Add history feature to the terminal
...
The history is accessed through the up/down arrow keys.
Resolves #8
2017-04-04 15:37:57 -04:00
Mike Cifelli
243f8a83ac
Add terminal history class
2017-04-04 07:56:35 -04:00
Mike Cifelli
2de2e3947a
Increase test coverage
...
Fixed an intermittent deadlock in MainTest:
FlushListener could receive more than the expected number of flushes
before the VirtualTerminalInteractor was given control. So by setting
the flush count to zero in waitForFlushes(), flushes could be lost. Now
it only reduces the number of flushes by the expected number.
2017-03-24 11:53:33 -04:00
Mike Cifelli
a8620307c9
Clean up code
2017-03-24 09:36:44 -04:00
Mike Cifelli
eb82a25f64
Increase test coverage
2017-03-24 09:29:19 -04:00
Mike Cifelli
111dd06d6f
Add unit tests
2017-03-23 18:48:37 -04:00
Mike Cifelli
52762a6152
Add and refactor unit tests
2017-03-23 16:14:26 -04:00
Mike Cifelli
23dd1c0654
Increase test coverage and refactor code
2017-03-23 12:14:44 -04:00
Mike Cifelli
79fb8b633b
Fix output interfering with input
...
Refactored some code
2017-03-22 15:26:00 -04:00
Mike Cifelli
228b4b1793
Refactor stream code and add unit tests
2017-03-22 14:08:22 -04:00
Mike Cifelli
b298e118e3
Add colors to the interactive interpreter
2017-03-22 11:26:53 -04:00
Mike Cifelli
058e937c3e
Refactor main interpreter code
...
Fixed several minor issues
Only print the last value when interpreting a file
Resolves #4
2017-03-21 15:03:16 -04:00
Mike Cifelli
5cb6212d2a
Fix terminal resize issues
2017-03-21 12:07:22 -04:00
Mike Cifelli
a8eff1ad70
Clean up terminal code
2017-03-21 09:25:40 -04:00
Mike Cifelli
fc96894d14
Fix text insertion at the end of the buffer
2017-03-20 16:20:28 -04:00
Mike Cifelli
38710e21bf
Improve terminal performance
2017-03-20 11:18:36 -04:00
Mike Cifelli
cef7be6c25
Add comments to broken code
2017-03-19 17:32:44 -04:00
Mike Cifelli
ad173d06a9
Fix issues when input pushes past end of buffer
...
A few issues still remain:
- Inserting text pushes the remainder of the input to a new line
at the end of the buffer.
- Resizing the terminal height causes numerous issues.
2017-03-19 17:17:34 -04:00
Mike Cifelli
38ab1144fb
Clean up terminal code and unit tests
...
The terminal unit tests were updated so that they don't rely on an
arbitrary delay.
2017-03-19 12:54:35 -04:00
Mike Cifelli
072a432026
Hide cursor when printing output
2017-03-18 16:55:35 -04:00
Mike Cifelli
31ca72e534
Add a crude interactive terminal implementation
2017-03-18 16:49:46 -04:00
Mike Cifelli
462673ba64
Add line wrapping support to the terminal
2017-03-17 19:40:56 -04:00
Mike Cifelli
ac349c94cb
Fix problems with FitNesse
2017-03-17 16:17:44 -04:00
Mike Cifelli
c533b7c1d9
Start experimenting with lanterna
2017-03-17 16:07:25 -04:00
Mike Cifelli
0388f71a8b
Add lanterna to the project
2017-03-15 13:52:20 -04:00
Mike Cifelli
a86832f9cb
Switch from ant to maven
2017-03-15 13:37:39 -04:00
Mike Cifelli
a21114ac7c
Add a GENSYM-EQUAL function for unit testing macros
...
Some macro definitions were refactored along with their associated
unit tests.
2017-03-13 14:43:31 -04:00
Mike Cifelli
b2d6f21f88
Add tests for macros
2017-03-13 10:15:05 -04:00
Mike Cifelli
f2a481952d
Add @Override annotations and clean up code
2017-03-13 09:58:30 -04:00
Mike Cifelli
c2d722d5ab
Fix nested comma handling in a backquote
2017-03-12 14:18:37 -04:00