Commit graph

1612 commits

Author SHA1 Message Date
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
Justin Ethier
d944eed23c Remove debug code 2021-03-14 21:09:12 -04:00
Justin Ethier
2ddabc9494 Omit assignments to unused local vars 2021-03-13 23:17:00 -05:00
Justin Ethier
ed21350bf5 Fix syntax issues 2021-03-13 23:05:32 -05:00
Justin Ethier
b6c5a9007a Experimental change to only emit assignments for used args
Having other compilation issues but want to get this checked in since we need this functionality
2021-03-13 22:54:39 -05:00
Justin Ethier
93a548e106 Allow multi-line legacy define-c arg lists 2021-03-09 22:36:35 -05:00