Commit graph

5948 commits

Author SHA1 Message Date
Justin Ethier
ff7a8492bb Remove error text 2021-08-25 12:47:16 -04:00
Justin Ethier
f5397c17d3 Update API index 2021-08-25 12:46:02 -04:00
Justin Ethier
86cacc3f01 Added (expand) 2021-08-17 03:15:47 -04:00
Justin Ethier
878228e7ae Clean up 2021-08-17 02:35:37 -04:00
Justin Ethier
83a64b4c1c Broke out into two macro sections 2021-08-23 13:38:59 -04:00
Justin Ethier
fc92f9c302 Grammar 2021-08-23 13:36:13 -04:00
Justin Ethier
630f36dc03 Added macro system section 2021-08-23 13:35:00 -04:00
Justin Ethier
99ce726ca3 Fix order of args passed to run-external-compiler 2021-08-16 23:39:09 -04:00
Justin Ethier
7d92a39fdf Run scm compiler as a sub-process 2021-08-16 23:34:00 -04:00
Justin Ethier
50631b8bb5 Use a separate thread to emit the C file 2021-08-16 22:22:04 -04:00
Justin Ethier
42bda1273c Updated 0.32.0 release date, stage next release 2021-08-16 21:50:56 -04:00
Justin Ethier
0290e61996 New release 2021-08-16 21:37:06 -04:00
Justin Ethier
08c4e8f2e6 Remove unused args 2021-08-16 20:24:36 -04:00
Justin Ethier
1d0cbf96ed Use meta file to pass data when compiling programs 2021-08-17 13:41:48 -04:00
Justin Ethier
a5e8cdc5ad
Merge pull request #479 from nmeum/cyclone-local-libs
Makefile: Add `-A libs` to CYCLONE_LOCAL
2021-08-15 22:29:26 -04:00
Justin Ethier
ecfe26d5b7
Merge pull request #478 from nmeum/makefile-prerequisites
Improve Makefile prerequisites
2021-08-15 22:25:29 -04:00
Sören Tempel
34908a56a7 Makefile: Add -A libs to CYCLONE_LOCAL
Otherwise `make libs` cannot find `(cyclone test)`:

	./cyclone -A . -COPT '-Iinclude' -CLNK '-L.' libs/cyclone/test.sld
	Error: Unable to open file: "/usr/lib/cyclone/cyclone/test.scm"

	make: *** [Makefile:170: libs/cyclone/test.o] Error
2021-08-14 20:16:36 +02:00
Sören Tempel
e08e7d3958 Improve Makefile prerequisites
Since commit 15a8f2cfe5 the build order
must be as follows:

	1. Bootstrap cyclone.scm using a pre-existing compiler.
	2. Using cyclone from the previous step, build all libraries.
	3. Using the artifacts from the previous two steps, build
	   icyc, examples, and tests.

This commit updates the Makefile prerequisites accordingly to reflect
this change in build order. Otherwise, Cyclone does not correctly
compile in parallel build mode with `-jN`.
2021-08-14 00:29:32 +02:00
Justin Ethier
5fe773865c Clarify usage of CYC_PTHREAD_SET_STACK_SIZE 2021-08-13 11:01:45 -04:00
Justin Ethier
d2915abe6a Issue #477 - Clean up 2021-08-12 23:01:04 -04:00
Justin Ethier
4ff0bca100 Issue #477 - Added CYC_PTHREAD_SET_STACK_SIZE 2021-08-12 22:46:13 -04:00
Justin Ethier
15a8f2cfe5 Issue #476 - Build libraries / interpreter using local cyclone 2021-08-12 22:15:21 -04:00
Justin Ethier
140f26ebe9 Prep new release 2021-08-11 09:40:46 -04:00
Justin Ethier
1a5310b881 Stage breaking up emitting C file / compiling C 2021-08-10 22:43:52 -04:00
Justin Ethier
ad64f7a3ab More intelligent calling of subprocess for compiling library dependencies 2021-08-10 17:18:31 -04:00
Justin Ethier
fa58b9d538 fxbit-set? properly handles negative i 2021-08-08 21:47:31 -04:00
Justin Ethier
3cc79395fa Do not memoize pure functions by default 2021-08-05 14:52:35 -04:00
Justin Ethier
677ccb6789
Merge pull request #474 from nmeum/conditional-assignment
Don't use conditional assignment operator for CFLAGS/LDFLAGS
2021-08-03 22:43:44 -04:00
Justin Ethier
982462b13d Issue #473 2021-08-03 22:04:50 -04:00
Justin Ethier
dae8813e60
Merge pull request #473 from nmeum/flush-after-prompt
Flush current-output-port after writing prompt to it
2021-08-03 21:50:06 -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
Sören Tempel
3bf376c057 Don't use conditional assignment operator for CFLAGS/LDFLAGS
The conditional variable assignment operator in Makefiles (`?=`) will
only assign a value if its not defined yet. However, CFLAGS/LDFLAGS are
commonly defined as environment variables to pass custom compiler/linker
flags (e.g. `-Os`). Unfortunately, Cyclone adds mandatory compiler flags
(without which it doesn't compile) via the conditional variable
assignment operator which is incorrect as these flags will not be added
if CFLAGS/LDFLAGS is defined in the environment. This commit fixes this
issue by appending flags to CFLAGS/LDFLAGS instead of using the
conditional assignment operator.
2021-08-03 06:04:11 +02:00
Justin Ethier
b69b65756b Added more unit tests 2021-07-30 17:11:43 -04:00
Justin Ethier
e31a8b5766 Issue #395 - Add a note on our recent bug fix 2021-07-30 09:45:19 -04:00
Justin Ethier
7f4f67f612 Merge branch '395-dev' 2021-07-30 09:41:46 -04:00
Justin Ethier
dd294c78ad Issue 395 - Cleanup, use _expand instead of macro:expand 2021-07-29 22:58:29 -04:00
Justin Ethier
6136e0bafb Revise release notes 2021-07-28 22:40:42 -04:00
Justin Ethier
62b05528a2 Issue #471 - Ensure atomics are properly traced 2021-07-28 22:39:18 -04:00
Justin Ethier
14d4c27eac Issue #472 - Avoid races with tracing GC when allocating large vectors 2021-07-28 22:26:33 -04:00
Justin Ethier
543ce4f4be Initiate major GC after a huge heap allocation
This allows us to reclaim the memory faster and keep memory usage lower.
2021-07-28 21:57:48 -04:00
Justin Ethier
b76b6974b2 Release 0.31.0 2021-07-27 18:39:58 -07: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
8de54a2fce New release 2021-07-26 20:00:26 -07:00
Justin Ethier
362317108d Reorganize code 2021-07-26 19:18:31 -07:00
Justin Ethier
176e674026 Issue #465 - Added unit tests 2021-07-26 19:16:37 -07:00
Justin Ethier
a2a518fd02 Issue #404 - Added unit tests 2021-07-26 19:05:24 -07:00
Justin Ethier
61cc07f99e Issue #433 - Added unit tests 2021-07-26 19:02:23 -07:00
Justin Ethier
2fe006f22a Issue #462 - Added unit tests 2021-07-26 19:00:04 -07:00
Justin Ethier
9356833ef6 Issue #379 - Added unit tests 2021-07-26 18:55:17 -07:00
Justin Ethier
197499aea4 Add test module for (scheme base) 2021-07-26 13:36:40 -04:00