Mike Cifelli
4c8342a9f7
convert tail call test to kotlin
2018-08-10 18:52:08 -04:00
Mike Cifelli
c08edda548
Refactor interpreter tests
2018-08-10 18:39:41 -04:00
Mike Cifelli
c2c53e0d0f
Add test for input errors
2018-08-10 17:46:26 -04:00
Mike Cifelli
eaf80390be
Convert the interpreter to kotlin
2018-08-05 10:48:18 -04:00
Mike Cifelli
d376c30d7a
Clean up the scanner type test
2018-07-24 18:10:19 -04:00
Mike Cifelli
8a970b6797
Clean up data structure code
2018-07-22 11:30:00 -04:00
Mike Cifelli
cb0e8a1d15
Clean up scanner tests
2018-07-22 11:10:00 -04:00
Mike Cifelli
e60f253552
Convert some scanner tests to kotlin
2018-07-22 10:35:26 -04:00
Mike Cifelli
4c6920eaa1
Convert some more code to kotlin
2018-07-21 17:31:34 -04:00
Mike Cifelli
1df72e7704
Refactor while loops to use iterator
2018-07-21 13:25:10 -04:00
Mike Cifelli
19d7284633
Clean up converted code
2018-07-21 12:17:52 -04:00
Mike Cifelli
f2599821e6
Convert stream tests to kotlin
2018-06-05 20:36:04 -04:00
Mike Cifelli
0f34d25e12
Convert streams to kotlin
2018-06-03 09:31:19 -04:00
Mike Cifelli
c5fbab6813
Convert tokens to kotlin
2018-05-19 13:56:14 -04:00
Mike Cifelli
b4cd5f2fe4
Refactor code
2018-05-19 11:59:51 -04:00
Mike Cifelli
ac290d4997
Convert token factory to kotlin
2018-05-19 11:13:28 -04:00
Mike Cifelli
053ca4852c
Convert acceptance tests to kotlin
2018-05-06 10:26:55 -04:00
Mike Cifelli
c2e4d76700
Convert test utilities to kotlin
2018-05-05 17:01:49 -04:00
Mike Cifelli
28f2351654
Convert numeric equal to kotlin
2018-05-05 16:46:53 -04:00
Mike Cifelli
e672247738
Clean up code
2018-05-05 14:18:29 -04:00
Mike Cifelli
9064acd7ed
Convert lisp parser to kotlin
2018-05-05 14:14:00 -04:00
Mike Cifelli
61adaffd3c
Convert file position code to kotlin
2018-05-05 12:02:43 -04:00
Mike Cifelli
3664a58989
Convert main class to kotlin
2018-03-30 20:54:48 -04:00
Mike Cifelli
d7a751ad39
Convert to function types
2018-03-27 20:52:57 -04:00
Mike Cifelli
2177d13397
Convert lisp interpreter builder to kotlin
2018-03-25 20:16:44 -04:00
Mike Cifelli
1b14306a99
Refactor test code
2018-03-25 11:34:34 -04:00
Mike Cifelli
daf43b0ea7
Convert error manager test to kotlin
2018-03-25 11:30:36 -04:00
Mike Cifelli
26709a7f9e
Convert runtime environment to kotlin
2018-03-25 11:01:24 -04:00
Mike Cifelli
b2989809eb
Convert util classes to kotlin
2018-03-24 11:43:22 -04:00
Mike Cifelli
d74e472780
Convert function table to kotlin
2018-03-24 11:07:59 -04:00
Mike Cifelli
fd322a385f
Refactor table code / update kotlin version
2018-03-24 10:33:33 -04:00
Mike Cifelli
a2f8086b8e
Rename source directories
...
- Refactor SymbolTable
2018-03-23 18:12:47 -04:00
Mike Cifelli
91c4070b53
Convert ExecutionContext to kotlin
2018-03-21 19:49:51 -04:00
Mike Cifelli
d172c62e01
Convert table tests to kotlin
2018-03-19 20:16:20 -04:00
Mike Cifelli
426b130e3b
Update code formatting rules
2018-03-19 08:13:40 -04:00
Mike Cifelli
b5d817a8ac
Add conversion comments to pom
2018-03-18 17:57:09 -04:00
Mike Cifelli
c04f4b6c51
Convert some test classes to kotlin
2018-03-18 17:42:28 -04:00
Mike Cifelli
0fb64f0a2d
Convert error classes to kotlin
2018-03-18 12:45:57 -04:00
Mike Cifelli
5f0cb1aa86
Convert one class to kotlin
2018-03-18 11:39:01 -04:00
Mike Cifelli
74fba08555
Use resource loader for test files
2018-03-17 16:18:26 -04:00
Mike Cifelli
b67071a7f2
Move test resources
2018-03-17 14:37:02 -04:00
Mike Cifelli
60e348449b
Move resource folders
2018-03-17 14:19:19 -04:00
Mike Cifelli
a25141a9b1
Refactor source directories again
2018-03-17 14:18:03 -04:00
Mike Cifelli
bd7df920fa
Update import arrangement
2018-03-17 10:02:52 -04:00
Mike Cifelli
d0cffe7500
Update code formatter
2018-03-17 09:52:53 -04:00
Mike Cifelli
114a3e4309
Refactor source code directories
2018-03-17 09:23:10 -04:00
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
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