Commit Graph

254 Commits

Author SHA1 Message Date
Mike Cifelli 6cf45219f1 Refactor some lisp code 2017-03-07 16:27:11 -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 e9fead08c2 Add function to interest-compounder 2017-03-07 11:37:27 -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 9e15d55b4c README.md edited online with Bitbucket 2017-03-07 14:57:13 +00:00
Mike Cifelli 31105b4299 README.md edited online with Bitbucket 2017-03-07 14:56:36 +00:00
Mike Cifelli 1acfad31ca README.md edited online with Bitbucket 2017-03-07 13:47:05 +00: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 e1c544f0ea Re-organize the lisp files 2017-03-06 11:00:18 -05:00
Mike Cifelli 416627896e README.md edited online with Bitbucket 2017-03-06 14:33:47 +00: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 c20bb682f2 Updated the compound interest script 2017-03-04 16:33:05 -05:00
Mike Cifelli 946af24514 Minor cleanup of LIST 2017-03-03 15:57:16 -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 1f1586d53c More class examples and script unit tests were added. 2017-03-03 11:56:27 -05:00
Mike Cifelli 010dfb48bc The running directory for FitNesse has been updated 2017-03-03 09:24:18 -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 4a91d197fd Expanded dlambda example some more 2017-03-02 14:26:47 -05:00
Mike Cifelli d55ebdd22f Resolves #13 - Exclusion based on type in ArgumentValidator 2017-03-02 11:39:07 -05:00
Mike Cifelli ef4c03a672 Expanded dlambda example 2017-03-02 10:29:59 -05:00
Mike Cifelli 2bd0c1a674 Major Refactor - Static constants and test case names 2017-03-02 09:54:23 -05:00
Mike Cifelli 49fee52284 An example class has been added 2017-03-01 16:45:48 -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 ab17d4c60e Static method in SET has been refactored 2017-02-28 15:04:40 -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 544df91c27 Simplified the EQUAL function logic 2017-02-28 12:26:18 -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 5129f6c17b Minor cleanup in SYMBOL-FUNCTION 2017-02-27 14:54:31 -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 8fdaaeb23d Removed duplicate code in SET and SETF 2017-02-26 13:01:47 -05:00
Mike Cifelli 49e145d098 Cleaned up some code 2017-02-26 12:39:08 -05:00
Mike Cifelli e51d275b76 Started added unit tests for the interpreter and main packages 2017-02-26 12:31:27 -05:00
Mike Cifelli 1fed0433e5 Formatted a source file 2017-02-25 19:12:34 -05:00
Mike Cifelli 78c7bf4d9c Added DEFINE-MACRO for user defined special functions (forms) 2017-02-25 19:11:31 -05:00
Mike Cifelli 4f4bc8f71a Added special functions (forms) and refactored internal s-expression predicates 2017-02-25 17:29:37 -05:00