Commit graph

5820 commits

Author SHA1 Message Date
Justin Ethier
45f97bb85a Cleanup 2022-11-23 22:15:19 -05:00
Justin Ethier
9cab675f7d Fix links 2022-11-23 22:07:00 -05:00
Justin Ethier
735c592865 Revise tri-color section 2022-11-23 22:02:39 -05:00
Justin Ethier
ddfcce938e Clean up lazy sweeping section 2022-11-23 21:17:46 -05:00
Justin Ethier
edec016728 WIP 2022-11-22 22:29:47 -05:00
Justin Ethier
d607d53fca Initial file 2022-11-22 13:50:58 -05:00
Justin Ethier
3bb3762c24
Merge pull request #492 from nmeum/cyclone-system-libcyclone
Makefile: Also pass -L. for CYCLONE_SYSTEM
2022-09-26 15:09:39 -04:00
Sören Tempel
012fa56e0c Makefile: Also pass -L. for CYCLONE_SYSTEM
Otherwise, the Cyclone compiler build from cyclone.scm using the
installed Cyclone version will use the libcyclone.a and libcyclonebn.a
file from /usr/lib instead of the one compiled as a prerequisite by
GNU make in the current directory.
2022-09-02 05:40:11 +02:00
Justin Ethier
69adfff573 Preparing for release 2022-08-25 17:40:16 -07:00
Justin Ethier
9c3d65804f Rev++ 2022-08-25 14:11:54 -07: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
cf66cf1057 Test is linux only 2022-07-21 22:10:02 -04:00
Justin Ethier
78eb2cd846 Fix grammar 2022-07-21 21:56:32 -04:00
Justin Ethier
de27768ee2 Issue #489 - unit test for eval/begin order of args 2022-07-21 21:48:12 -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
1506f0985f Adding to source control 2022-07-17 11:47:48 -04:00
Justin Ethier
e659c5f952 Clean up errant closing paren in identifier name 2022-07-17 11:47:00 -04:00
Justin Ethier
6b15892446 Issue #488 - Externalize errors 2022-07-17 11:43:10 -04:00
Justin Ethier
be48ac9ea7 Issue #488 - Add api-doc directive 2022-07-17 11:18:33 -04:00
Justin Ethier
cbd3d63172
Merge pull request #488 from arthurmaciel/master
Generates sexp API index
2022-07-17 08:14:55 -07:00
Arthur Maciel
84edc9dc89 Generates sexp API index 2022-07-09 17:52:10 -03:00
Justin Ethier
265e34ee08 Add header comment 2022-06-26 18:52:16 -04:00
Justin Ethier
bcecdd912a Issue #365 - Add new test file 2022-06-26 18:51:38 -04:00
Justin Ethier
1404d374d3 Issue #365 - Fix regression w/c-compiler-options 2022-06-26 18:42:22 -04:00
Justin Ethier
4629bb3911 Fix links 2022-06-26 10:18:40 -04:00
Justin Ethier
1872abf456 New feature make-opaque 2022-06-26 10:17:41 -04:00
Justin Ethier
fed4ea2a11 Add API documentation 2022-06-26 10:17:04 -04:00
Justin Ethier
8256267666
Merge pull request #487 from arthurmaciel/master
Imported make-opaque from simple-http-server
2022-06-26 07:05:39 -07:00
Arthur Maciel
331152306b Imported make-opaque from simple-http-server 2022-06-25 19:02:52 -03:00
Justin Ethier
86b1169cf9 Conditionally expand memory stream tests 2022-05-28 17:41:19 -07:00
Justin Ethier
6ffd229dcd Add memory-streams to list of features 2022-05-28 08:21:11 -07:00
Justin Ethier
702451541a Add formal test cases 2022-05-27 16:21:08 -04:00
Justin Ethier
6d58017620 Version bump 2022-05-26 16:52:42 -04:00
Justin Ethier
5101de1547 Issue #143 - Track recursion depth of equalp
This prevents the possibility of segfaulting when traversing arbitrarily complex circular structures.
2022-05-26 13:02:24 -04:00
Justin Ethier
95a4a49dc7 Add tests for equal? 2022-05-25 23:03:55 -04:00
Justin Ethier
dcc3f0bfcd Issue #143 2022-05-25 22:31:28 -04:00
Justin Ethier
d3f7262414 Issue #143 - Max recursion depth for printing
Enforce a maximum C recursion depth when printing data structures. This protects against cases where a circular data structure may produce infinite output, blowing the stack. The recursive limit is sufficiently large such that a non-circular structure should not be impacted.
2022-05-25 22:28:08 -04:00
Justin Ethier
460147601f Adding notes 2022-05-25 17:42:05 -04:00
Justin Ethier
43267e2939 WIP 2022-05-24 23:02:18 -04:00
Justin Ethier
85b941619c
Add files via upload 2022-01-06 16:05:56 -05:00
Justin Ethier
dca3445328 Rev++ 2022-01-02 17:03:18 -05:00
Justin Ethier
2d7a9968e8 New release 2022-01-02 16:54:03 -05:00
Justin Ethier
79b5b97a96 Issue #484 2021-12-13 19:07:52 -08:00
Justin Ethier
2e84aaac9c Issue #484 - Improve handling of exporting prims
To fixes:
- Prevent segfault setting a global variable to itself
- Do not throw an error when exporting a primitive that is not defined in the current module, as built-ins are always available in any context.
2021-12-13 19:05:18 -08:00
Justin Ethier
6149ec02c7
Merge pull request #483 from nmeum/cc-lib-incdirs
Makefile.config: Move -I$(PREFIX)/include from BASE_CFLAGS to CC_LIB
2021-12-01 21:07:29 -05:00
Sören Tempel
bad43cccc1 Makefile.config: Move -I$(PREFIX)/include from BASE_CFLAGS to CC_LIB
This is a follow up to https://github.com/justinethier/cyclone/pull/482#discussion_r758902860

The -I$(PREFIX)/include needs to be moved away from BASE_CFLAGS since,
otherwise, it will be added *before* ~cc-extra~ and thus (partially)
circumvent the changes from #482. Compare the following two Cyclone
invocations with/without this commit.

Without this commit:

	$ ./cyclone -d -A . -A libs -COPT '-Iinclude' -CLNK '-L.' scheme/complex.sld
	gcc scheme/complex.c […] -I/usr/include -Wl,--export-dynamic -Iinclude -L/usr/lib -c

With this commit applied:

	$ ./cyclone -d -A . -A libs -COPT '-Iinclude' -CLNK '-L.' scheme/complex.sld
	gcc scheme/complex.c […] -Wl,--export-dynamic -Iinclude -I/usr/include -c

In #482, I originally removed the -I$(PREFIX)/include from BASE_CFLAGS
entirely. However, back then I forgot to add $(COMP_INCDIRS) to CC_LIB
to account for that. By doing that, this should fix the error from
https://github.com/justinethier/cyclone/pull/482#discussion_r758902860
and align CC_LIB nicely with CC_PROG.

While at it, I also removed $(COMP_LIBDIRS) from CC_LIB, it shouldn't be
needed since the CC_LIB command compiles object files and doesn't do any
linking.
2021-12-01 09:35:29 +01:00
Justin Ethier
d476e0c6d3 Document latest pull request 2021-11-30 18:56:14 -08:00
Justin Ethier
25165b6782
Merge pull request #482 from nmeum/search-path-prepending
Allow prepending include/library search path through -COPT/-CLNK
2021-11-30 21:51:11 -05:00
Justin Ethier
4f6245cb13 Added a Gentoo section 2021-11-28 12:59:29 -08:00
Justin Ethier
d94a3fdaa0
Add files via upload 2021-11-28 15:58:19 -05:00