Commit Graph

181 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 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 314053a9eb Improve performance slightly 2017-11-26 11:04:53 -05:00
Mike Cifelli 10ff762647 Increment version 2017-11-24 11:11:22 -05:00
Mike Cifelli 5b9fdd5618 Complete tail call optimization
Resolves #2 and #3
2017-11-24 10:56:02 -05:00
Mike Cifelli 0fd3a70171 Perform TCO for AND & OR 2017-11-24 10:07:49 -05:00
Mike Cifelli f3923cadc0 Refactor list parsing code 2017-11-19 13:44:58 -05:00
Mike Cifelli a8d8d6696c LENGTH no longer creates a new instance 2017-11-19 11:17:32 -05:00
Mike Cifelli 1301e0a227 Rename variable for clarity 2017-11-19 10:58:13 -05:00
Mike Cifelli 0f00e35518 Refactor code 2017-11-19 10:54:51 -05:00
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 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
Mike Cifelli 84ccac0edb Improve interpreter performance slightly 2017-04-13 09:07:30 -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 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