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
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
31ca72e534
Add a crude interactive terminal implementation
2017-03-18 16:49:46 -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
Mike Cifelli
e89a6f2dde
Add unit tests for the backquote facility
...
Renamed BackTick to Backquote globally.
2017-03-12 12:19:45 -04:00
Mike Cifelli
698305f07f
Add the backtick facility
...
Resolves #20
2017-03-11 15:41:07 -05:00
Mike Cifelli
655f49e612
Add DEFMACRO special function
...
Resolves #16
2017-03-10 15:08:42 -05:00
Mike Cifelli
e78e18df98
Add a simple GENSYM function
2017-03-10 13:14:16 -05:00
Mike Cifelli
87eb0204f5
Remove SETF function
2017-03-07 16:41:26 -05:00
Mike Cifelli
736e230de9
Add LET* special function
2017-03-07 13:26:24 -05:00
Mike Cifelli
d1060a8aad
Add aliases for several functions
2017-03-07 13:15:40 -05:00
Mike Cifelli
5f10396af8
Use function alias in validation messages
...
Resolves #9
2017-03-07 10:59:51 -05:00
Mike Cifelli
368f22a02b
Rename the project
2017-03-07 10:20:22 -05:00
Mike Cifelli
77a341a1a7
Add more advanced lisp objects
...
Added a class to compute compound interest.
An alias for FUNCALL has been added: CALL
Refactored some acceptance tests to load code from files.
2017-03-06 16:52:06 -05:00
Mike Cifelli
aa13394548
Add ability to run acceptance tests on files
2017-03-06 12:44:06 -05:00
Mike Cifelli
8a719c8e44
Add unit test for LOAD
2017-03-05 10:41:49 -05:00
Mike Cifelli
04cb46e94d
Store the base directory for an interpreted files
...
A bug was resolved where some functions were getting a null
ErrorManager.
A reset funtion was added to RuntimeEnvironment.
Resolves #15
2017-03-05 10:20:31 -05:00
Mike Cifelli
311a3b4036
Cleaned up code and tests
2017-03-03 15:06:49 -05:00
Mike Cifelli
503b19a5e1
Resolves #14 - Load now keeps track of directories
2017-03-03 12:56:06 -05:00
Mike Cifelli
ba53448c9d
Exception checking unit tests were refactored
2017-03-03 12:07:23 -05:00
Mike Cifelli
86def27f5c
Acceptance tests have been refactored
2017-03-02 16:36:23 -05:00
Mike Cifelli
0eb8db36a8
Acceptance tests now run with JUnit
2017-03-02 15:26:21 -05:00
Mike Cifelli
d55ebdd22f
Resolves #13 - Exclusion based on type in ArgumentValidator
2017-03-02 11:39:07 -05:00
Mike Cifelli
2bd0c1a674
Major Refactor - Static constants and test case names
2017-03-02 09:54:23 -05:00
Mike Cifelli
ba203d34b9
dlambda was converted for multiple method classes
...
Added several unit tests, including a failing one for CASE
Added an acceptance test for dlambda
2017-03-01 16:33:06 -05:00
Mike Cifelli
64e18fe076
Resolves #12 - &rest keyword added to lambda lists
...
Added unit tests and cleaned up some code
The setup for acceptance tests now cleans up the environment
2017-03-01 11:11:59 -05:00
Mike Cifelli
42191ec69d
Parts of CASE and COND were refactored
...
Updated the terminology used in the code
Added test cases
Changed the format of error/warning messages
2017-02-28 16:16:43 -05:00
Mike Cifelli
4253145383
A few test cases were added for CASE
2017-02-28 15:07:37 -05:00
Mike Cifelli
05f75b627b
Resolves #11 - The CASE special function has been added
...
Refactored some unit tests
2017-02-28 15:01:05 -05:00
Mike Cifelli
d2dfe23083
Resolves #10 - The equality predicates have been refactored
2017-02-28 11:54:19 -05:00
Mike Cifelli
50a3f3be67
Resolves #6 - PROGN Special Function (Form)
2017-02-27 15:36:17 -05:00
Mike Cifelli
d3e3f52e59
Altered SYMBOL-FUNCTION behavior and cleaned up some code
2017-02-27 14:10:20 -05:00
Mike Cifelli
2ef285e45c
Added a few extra unit tests for number prefixes
2017-02-27 13:37:56 -05:00
Mike Cifelli
fb35884479
Resolves #7 - Allow prefixing of numbers
2017-02-27 13:34:04 -05:00
Mike Cifelli
bf40feadec
User defined functions now set up their scope correctly
2017-02-27 12:00:24 -05:00
Mike Cifelli
462e5ea15e
Built-in function names are now defined through annotations
2017-02-26 16:47:06 -05:00
Mike Cifelli
49e145d098
Cleaned up some code
2017-02-26 12:39:08 -05:00