Commit graph

5913 commits

Author SHA1 Message Date
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
Justin Ethier
0017a8a0e6 Added logo 2021-11-28 12:51:59 -08:00
Sören Tempel
9954cde738 Allow prepending include/library search path through -COPT/-CLNK
This commit separates include/library search directory options from
"normal" compiler/linker options and places options passed via the
`-COPT`/`-CLNK` command-line flags in-between. This allows overwriting
the default search paths, since contrary to all other options, the
search paths must be prepend for an -I/-L option to take precedence over
an existing one.

This should (hopefully) make it entirely unnecessary to ever build
Cyclone twice in order to have all changes in the current source tree
take effect.

Fixes #476
2021-11-24 15:32:17 +01:00
Sören Tempel
86949ae500 Makefile.config: remove unneeded case distinction for Darwin
Both cases do the same thing presently.
2021-11-24 12:05:22 +01:00
Justin Ethier
ff6a11042e Prep release 2021-09-24 18:34:01 -07:00
Justin Ethier
3bbd230123 Remove bugfix as it is covered by new feature 2021-09-20 16:48:55 -04:00
Justin Ethier
3c1322c2c0 Revise TBD section 2021-09-07 08:55:25 -04:00
Justin Ethier
9d130722d6 Do not inline calls to system 2021-09-07 08:24:08 -04:00