Commit graph

1617 commits

Author SHA1 Message Date
Justin Ethier
abaed9f6f2 Issue #510 - Implement exact using runtime functions 2023-09-12 19:20:38 -07:00
Justin Ethier
3e3f0114e5 abs computes magnitude for complex nums
Instead of raising an error use C99 function to compute the magnitude instead. This is more useful and seems more correct as well.
2023-09-11 19:13:08 -07:00
Justin Ethier
f8fbb9ad7d WIP, fixing bugs with double ops
Allow round/ceil/floor/truncate to properly handle doubles.

Need to handle more edge cases with (exact).
2023-09-06 19:41:57 -07:00
Justin Ethier
cc5d1d5d65 WIP 2023-09-05 19:04:18 -07:00
Justin Ethier
fd56e21e90 Issue #506 - abs returns an error for complex nums 2023-08-15 18:46:30 -07:00
Justin Ethier
cb67aeb0a3 Issue #501 - odd/even must receive an integer
Raise an error if a decimal number is passed to these primitives.
2023-03-03 16:08:12 -08:00
Justin Ethier
76668dc76c Update version number, year 2023-01-03 12:15:42 -08:00
Justin Ethier
bd044a3237 Clean up variable names 2023-01-03 12:15:30 -08:00
Justin Ethier
f728618336 Issue #498 - read-line can read 1022+ byte lines
Previously the function would only read up to the first 1022 bytes. We now remove that restriction
2022-12-20 21:44:27 -05:00
Justin Ethier
ab25e360a9 Merge #497 2022-12-09 13:29:56 -08:00
Justin Ethier
ad1ac3a135 Issue #490 - Proper assv and memv implementations
Both were previously implemented in terms of `assq` and `memq`, respectively.
2022-07-24 10:56:41 -04:00
Justin Ethier
f8555f796d Issue #489 - Guarantee order of eval begin exprs
Guarantee that sub-expressions of a begin are evaluated in order. The code was reversing the results of a map. However map is not necessarily guaranteed to evaluate its arguments in any given order because it could be optimized into another function such as `Cyc-map-loop-1`. Instead we just use the optimized function directly as a more general `map` is not required here and this function is guaranteed to process its argument list in a predicable order.
2022-07-21 21:41:47 -04:00
Justin Ethier
6ffd229dcd Add memory-streams to list of features 2022-05-28 08:21:11 -07:00
Justin Ethier
6d58017620 Version bump 2022-05-26 16:52:42 -04:00
Justin Ethier
2d7a9968e8 New release 2022-01-02 16:54:03 -05:00
Justin Ethier
ff6a11042e Prep release 2021-09-24 18:34:01 -07:00
Justin Ethier
9d130722d6 Do not inline calls to system 2021-09-07 08:24:08 -04:00
Justin Ethier
f8717517a4 Issue #480 - Make (expand) easier to use
Only require a single expression argument. The remaining environment arguments are generally not required when debugging from the REPL. This makes expand much easier to use for casual debugging.
2021-08-25 17:47:55 -04:00
Justin Ethier
140f26ebe9 Prep new release 2021-08-11 09:40:46 -04:00
Sören Tempel
e3d7b6eed9 Flush current-output-port after writing prompt to it
On Unix-like operating systems stdio.h (which Cyclone seems to use
internally) is line-buffered. As such, the prompt will only be written
after a newline character is written (since the prompt itself doesn't
contain a newline) which is probably not what was
intended here. This commit fixes this issue by always flushing the
current-output-port after writing the prompt string.
2021-08-03 11:36:14 +02:00
Justin Ethier
dd294c78ad Issue 395 - Cleanup, use _expand instead of macro:expand 2021-07-29 22:58:29 -04:00
Justin Ethier
5911336d16 WIP - first attempt to clean eval macro's
This seemed promising but fails when compiling cyclone:

    cyclone -A . srfi/106.sld
    Error at line 376, column 5 of srfi/106.sld: Unbound variable:
    unquote
2021-07-27 16:39:13 -04:00
Justin Ethier
95c3fea24f Issue #433 - Working numerator/denominator 2021-07-22 17:12:56 -04:00
Justin Ethier
f17102178b Continue building-out new numerator/denominator 2021-07-21 19:47:42 -07:00
Justin Ethier
a3e0d51021 Issue #273 - Avoid compiler warning 2021-07-19 19:45:34 -07:00
Justin Ethier
29033581ad Issue #467 - Allow passing negative value to make-list
This should result in an empty list, NOT consume all available resources!
2021-07-19 17:04:52 -04:00
Justin Ethier
c58a9927ae Issue #404 - Do not require all fields to be listed in constructor 2021-07-19 16:56:06 -04:00
Justin Ethier
92aeec6a2e Issue #465 - Avoid trigraphs in compiled strings 2021-07-15 16:45:42 -04:00
Justin Ethier
867b60bb14 Increment version number 2021-07-15 09:46:12 -04:00
Justin Ethier
02b892211c Issue #462 - Properly handle top-level vectors 2021-07-09 22:57:23 -04:00
Justin Ethier
d944933cc8 Version bump for semantic versioning 2021-07-01 18:55:04 -07:00
Justin Ethier
358fe01fc2 Issue #211 - production version of (char-ready?) 2021-06-08 13:38:33 -04:00
Justin Ethier
5f8b8f9f40 Optimize closure calls to globals 2021-05-31 17:14:59 -04:00
Justin Ethier
881ce5fb7f Emit more efficient calls for compiled continuations 2021-05-31 16:18:44 -04:00
Justin Ethier
cc7a2a5027 Indicate compiled closures for closure convert phase 2021-05-28 17:08:44 -04:00
Justin Ethier
61d0f3396b Revert "Eliminate unnecessary code"
This reverts commit 8802ec2a67.
2021-05-25 21:30:25 -04:00
Justin Ethier
8802ec2a67 Eliminate unnecessary code 2021-05-24 19:07:09 -07:00
Justin Ethier
8236d5d46b Bump rev # 2021-05-19 09:42:19 -04:00
Justin Ethier
b8ed157105 Added init_polyfills() 2021-05-02 19:30:11 -07:00
Justin Ethier
1187d7fab1 Issue #455 - Avoid generating C code containing unused variables 2021-04-12 14:19:13 -04:00
Justin Ethier
fd4aa4fae6 Issue #453 - Proper handing of EOF at the REPL
Finally handle EOF correctly and do not exit REPL if an expression evaluates to the EOF object. However, allow CTRL-d to exit the REPL.
2021-03-28 22:18:10 -04:00
Justin Ethier
36845af76c Cleanup 2021-03-24 22:55:17 -04:00
Justin Ethier
6529365669 Issue #417 - Clean up and provide aliases for all SRFI's 2021-03-24 22:27:34 -04:00
Justin Ethier
a3ea98f90c Issue #417 - Experimental SRFI alias functionality
Proof of concept to allow aliases for SRFI's. This needs to be cleaned up and built-out to perform appropriate aliasing for all SRFI's.
2021-03-23 23:04:15 -04:00
Justin Ethier
1afc5091c8 Increase number of allowed arguments 2021-03-18 22:13:11 -04:00
Justin Ethier
9500879977 Update version number, stage 0.28.0 release notes 2021-03-18 14:03:50 -04:00
Justin Ethier
dcf51c86a6 Avoid warning from C compiler 2021-03-18 13:22:44 -04:00
Justin Ethier
220a95e4d5 Do not emit code with unused local C variables 2021-03-17 22:39:16 -04:00
Justin Ethier
d36f0aeb64 Scan closure free variables 2021-03-17 22:32:56 -04:00
Justin Ethier
80ad85883b Added analyze:cc-ast->vars 2021-03-17 21:41:39 -04:00