Commit Graph

168 Commits

Author SHA1 Message Date
Mike Cifelli 76cd2b919a Handle dotted list in length function 2018-03-15 18:30:47 -04:00
Mike Cifelli d7f908a01d Refactor append code 2018-03-15 08:25:42 -04:00
Mike Cifelli 9d13c3d892 Disallow appending improper lists 2018-03-14 21:01:39 -04:00
Mike Cifelli ac365918b2 Implement append built in function 2018-03-14 20:32:01 -04:00
Mike Cifelli 62f351ec62 Add function for displaying execution context
- Use lambda character in addition to keyword
2018-02-11 14:17:49 -05:00
Mike Cifelli 99ae99a8ab Create symbols dynamically 2018-01-27 20:02:03 -05:00
Mike Cifelli e41a92a98a Update maven plugin versions 2018-01-21 14:33:52 -05:00
Mike Cifelli 568fce3c11 Load lisp language files automatically 2018-01-21 10:32:55 -05:00
Mike Cifelli 3ef8712f2f Use maven version in greeting 2018-01-20 08:34:31 -05:00
Mike Cifelli 735f1d584a Add remainder function 2018-01-13 08:52:29 -05:00
Mike Cifelli 6a4d19517e Add modulo function 2018-01-12 21:04:59 -05:00
Mike Cifelli 0825d1ee96 Increase test coverage 2017-11-26 15:11:41 -05:00
Mike Cifelli c4e6de88e1 Refactor unit tests 2017-11-23 11:35:28 -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 e8e9d2e12d Update formatter settings 2017-11-12 13:46:15 -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 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