186 commits

Author SHA1 Message Date
David A. Wheeler
4b7920dcff tests/full-test-cl: Tweak so Windows SBCL works 2015-01-04 09:22:50 -05:00
David A. Wheeler
04eaf2eb74 Enable Common Lisp testing with either sbcl or clisp (prefer sbcl) 2015-01-03 21:38:32 -05:00
David A. Wheeler
328c51ca9b Expose *original-readtable* in Common Lisp interface, and use in tests. 2014-12-09 23:00:45 -05:00
David A. Wheeler
bed60b82e5 Begin switching Common Lisp tests to use lowercase + :invert 2014-12-08 23:09:26 -05:00
David A. Wheeler
2b4c59967a Update correct test results for math.slisp 2014-11-13 18:32:44 -05:00
David A. Wheeler
a0c3cfc663 math.slisp: Various improvements. Add abs(), shorten rewrite-match-pattern 2014-11-13 18:31:34 -05:00
David A. Wheeler
07294e9bec math.slisp: Memoize the primary simplification routine. 2014-11-11 18:36:55 -05:00
David A. Wheeler
ade251f005 Simplify if(if...)) and shorten some "or" and "and" rules 2014-11-11 12:10:36 -05:00
David A. Wheeler
9dda114cc9 math.slisp: Simplify division by negative number or sqrt(-1). 2014-11-10 19:17:02 -05:00
David A. Wheeler
2e69e7386f math.slisp: Add rule for 1/(a/b) and derivative of tangent. 2014-11-10 18:46:25 -05:00
David A. Wheeler
559b3b9ef9 math.slisp: Improve simplification for multiple arguments of "-" 2014-11-10 18:26:31 -05:00
David A. Wheeler
7d288d6591 math.slisp: Improve patterns, in particular, flatten *-in-* and +-in-+ 2014-11-10 18:10:40 -05:00
David A. Wheeler
b1d5717d5f math.slisp: More simplification rules, e.g., more complex or, ->, log. 2014-11-09 22:38:50 -05:00
David A. Wheeler
758346f9c8 math.slisp: Add basic distribution rule 2014-11-09 21:02:30 -05:00
David A. Wheeler
118734df1d math.slisp: Add simplification rules for = and <>, tweak + in + and * in *. 2014-11-09 17:11:25 -05:00
David A. Wheeler
7cd48339b7 math.slisp: General + and - order, add derivative rules for cos, sin, log. 2014-11-09 15:17:45 -05:00
David A. Wheeler
3f5914d5d2 math.slisp: Generalize derivative power rule. 2014-11-09 14:24:52 -05:00
David A. Wheeler
0da09d06c0 math.slisp: Change notation (d expr / d var) to deriv(expr var) - cleaner. 2014-11-09 14:05:03 -05:00
David A. Wheeler
f8519c7539 Division by self is 1, UNLESS self can be 0; cover both cases 2014-11-08 11:30:42 -05:00
David A. Wheeler
4dbe370fe8 math.slisp: Add power rule 2014-11-08 11:21:15 -05:00
David A. Wheeler
05448e2d3a math.slisp: Improve derivative calculation and +/* ordering 2014-11-08 11:10:54 -05:00
David A. Wheeler
cd76bade1b Update tests for math.slisp - division can return if(...). 2014-11-08 07:36:20 -05:00
David A. Wheeler
dc758b448a Modify Common Lisp test to check that *(4 5) works correctly. 2014-11-07 17:28:33 -05:00
David A. Wheeler
cc4c5fee79 Test comparisons and correct bugs found 2014-11-05 00:11:50 -05:00
David A. Wheeler
cddac69cce Add math test cases, fix some bugs they reveal 2014-11-05 00:05:35 -05:00
David A. Wheeler
f154649912 math.slisp: Simplify if >1 number in mixed * or + expression 2014-11-02 19:26:36 -05:00
David A. Wheeler
48f40f25fc Expand test suite for math.slisp 2014-11-02 18:54:19 -05:00
David A. Wheeler
8e64af1e4b Add simple test suite for math.slisp. 2014-11-02 18:28:12 -05:00
David A. Wheeler
b453a969eb Extend Common Lisp test suite to test writing routines 2014-10-15 18:29:19 -04:00
David A. Wheeler
95d351700a On line continuation allow further indents 2014-07-05 21:52:37 -04:00
David A. Wheeler
0e46078dc5 sweet.lisp: Improve local extension (\\ as line continuation)
- Modify so that singletons in later lines work as expected.
2014-07-05 10:37:51 -04:00
David A. Wheeler
d07487b2d7 src/kernel.scm: Improve local extension (\\ as line continuation) 2014-07-05 10:21:52 -04:00
David A. Wheeler
5a5b149e2e Add local extension (\\ as line-continuation) for Common Lisp compatibility
- As a local extension, allow \\ as line-continuation for
   compatibility with the Common Lisp implementation.
   This is *NOT* a SRFI-110 requirement.
2014-07-04 11:27:06 -04:00
David A. Wheeler
8cf53c269f tests/fact9: #! requires env to use PATH on some systems 2014-06-30 18:18:58 -04:00
David A. Wheeler
a3b158018b Modify sweet-run so it returns exit code, add test of sweet-run 2014-06-14 17:56:45 -04:00
David A. Wheeler
010abae29d Improve Scheme error reporting when given "Unexpected text after n-expression"
- Now we report the next (peeked) character when we have
    unexpected text.   This should make it easier for developers to figure
    out what the problem is.
2013-12-06 23:14:38 -05:00
David A. Wheeler
9cdee3cd60 Add tests for numeric fraction
- In both Common Lisp and guile scheme you can enter numeric
    fractions, such as "{11/13 + 7/8}".
    Evaluation will produce 179/104.  Test this.
2013-08-19 18:44:12 -04:00
David A. Wheeler
c01a16df88 Add test for invalid character name 2013-08-07 08:11:02 -04:00
David A. Wheeler
deee737f59 Modify Scheme tests to test error messages (make sure it detects errors!) 2013-08-06 18:24:02 -04:00
David A. Wheeler
a6b0b6f207 Add Scheme tests for initial-indent with unspaced scomments 2013-08-01 12:12:38 -04:00
David A. Wheeler
f8e914ead9 src/kernel.scm: Fix handling datum-commentw inside initial indent. 2013-08-01 08:20:21 -04:00
David A. Wheeler
bfaa8e4308 tests/full-test-cl: Add some Common Lisp collecting list + #;+ws tests 2013-07-31 01:02:01 -04:00
David A. Wheeler
7d1b144278 tests/sweet-testsuite: Add more #; + collecting list tests 2013-07-31 00:40:03 -04:00
David A. Wheeler
3703cd5a59 Fix subtle bug in <* #;+whitespace sequence implementation. 2013-07-30 23:45:20 -04:00
David A. Wheeler
f7532d4057 Grammar tweak: Permit GROUP-SPLIT EOL DEDENT
- Previously, GROUP-SPLIT EOL DEDENT wasn't allowed, since there
    was no way to return an "empty" value.  Now that we CAN return
    an empty value, there's no particular reason to forbid it.
  - This changes the grammar and implementations, simplifying them slightly.
2013-07-30 20:07:36 -04:00
David A. Wheeler
9c90d39f1c tests/sweet-testsuite: Add another test for collecting lists 2013-07-30 01:18:06 -04:00
David A. Wheeler
f4358d9600 tests/sweet-testsuite: Add tests for leading "!" 2013-07-29 18:23:32 -04:00
David A. Wheeler
a21a329069 Change Common Lisp "hspaces" implementation to use loop, not tail recursion.
- The Common Lisp specification doesn't guarantee that tail recursion
    will be optimized.  This rewrites the "hspaces" implementation to
    use a direct "loop" instead, for efficiency, and adds a test
    to check it.
2013-07-28 18:48:55 -04:00
David A. Wheeler
9f195fc67c Modify Scheme implementation to use modified "ignorable" grammar 2013-07-27 20:33:35 -04:00
David A. Wheeler
e68d6dbc43 tests/full-test-cl: Add "empty body" test of #;+whitespace 2013-07-26 10:32:20 -04:00