Commit Graph

516 Commits

Author SHA1 Message Date
Lassi Kortela 738f8bec62 Implement let-values
TODO: Support more than one set of bindings
2019-09-03 10:02:05 +03:00
Lassi Kortela 573d02ac64 Remove vestigial os.getenv procedure 2019-09-02 19:48:17 +03:00
Lassi Kortela fabd2503fa Remove vestigial path.exist? procedure 2019-09-02 19:47:19 +03:00
Lassi Kortela 5f53326df8 Replace path.exists? with file-exists? in C 2019-09-02 19:46:27 +03:00
Lassi Kortela e2af92b934 Fix bug where path.exists? would always return #t 2019-09-02 19:37:46 +03:00
Lassi Kortela cc096b9886 Add Cygwin build to Cirrus CI 2019-09-02 19:08:35 +03:00
Lassi Kortela 4599bf6f07 Update boot image 2019-08-28 21:22:38 +03:00
Lassi Kortela 471d24ce38 Fix sort procedure in base system 2019-08-28 21:22:06 +03:00
Lassi Kortela 50063d4523 Cause compiler error when (if ...) has spurious args 2019-08-28 21:19:39 +03:00
Lassi Kortela aca621c32e Add -Werror compiler flag
Compiler warnings are runtime errors waiting to happen.
2019-08-28 20:51:15 +03:00
Lassi Kortela 2d89603691 List nothing instead of everything in (apropos-list "") 2019-08-28 18:13:14 +03:00
Lassi Kortela 05c43c716c Reformat 2019-08-28 18:12:41 +03:00
Lassi Kortela b7db5bb755 Rename string.split into string-split
By analogy to SRFI 140. TODO: Think about character delimiter.
2019-08-28 16:18:37 +03:00
Lassi Kortela 0763a5df44 Add REPL history 2019-08-28 14:22:08 +03:00
Lassi Kortela 78b663d41d Add help and colored banner
- (help ...) is a macro that quotes everything to be user-friendly
- (help* ...) is the equivalent procedure
- When the user types just `help` or `exit`, the REPL shows a hint
  that they are probably looking for `(help)` or `(exit)`.
2019-08-28 14:07:50 +03:00
Lassi Kortela 4fef0b89b9 Add const 2019-08-28 13:30:07 +03:00
Lassi Kortela e0194112c5 Color the REPL prompt 2019-08-28 13:12:43 +03:00
Lassi Kortela 9047523588 Add crummy ANSI color routines
Output raw codes straight to the terminal, don't coordinate with anybody.
2019-08-28 13:10:37 +03:00
Lassi Kortela 777d882d9a Add sort, apropos, apropos-list 2019-08-28 13:01:02 +03:00
Lassi Kortela 40ba694ea6 Make environment variable procedures match R7RS 2019-08-28 12:49:10 +03:00
Lassi Kortela 0ad800ea06 Add C file forgotten from last commit 2019-08-28 12:47:01 +03:00
Lassi Kortela b33f6c9d76 Add a proper list accumulator utility in C 2019-08-28 12:45:21 +03:00
Lassi Kortela 0e723587e5 Remove redundant read-u8 definition 2019-08-28 12:43:39 +03:00
Lassi Kortela a489bf5784 Reformat 2019-08-28 12:00:07 +03:00
Lassi Kortela 96a541b1dc Update list of tested Linux distros 2019-08-28 11:54:48 +03:00
John Cowan 3b4d31db85 Add Cygwin build 2019-08-28 11:52:00 +03:00
Lassi Kortela fc5df2c2a7 Update boot image 2019-08-28 11:40:10 +03:00
Lassi Kortela e5813fe5c9 Add directory listing primitives from SRFI 170 draft
TODO: 'dotfiles?' flag and 'directory-files' procedure
2019-08-28 11:11:55 +03:00
Lassi Kortela ba54484a0b Add Arch Linux build into Cirrus CI 2019-08-28 01:23:53 +03:00
Lassi Kortela 7649a1a858 Add Ubuntu build to Cirrus CI 2019-08-28 00:30:39 +03:00
Lassi Kortela e20f1a62d3 Put LFLAGS last for linker
For some reason, some versions of the GNU linker will fail to find libraries
if the -l flags are listed before the .o files to be linked.
2019-08-28 00:29:20 +03:00
Lassi Kortela ca3ab55a5c Satisfy compiler warning about unchecked getcwd() return
TODO: raise an error
2019-08-28 00:27:28 +03:00
Lassi Kortela 3ad4f9f199 Add Cirrus CI build badge to readme 2019-08-27 15:53:34 +03:00
Lassi Kortela 4cb17fc9fa Add Cirrus CI build configuration 2019-08-27 15:52:03 +03:00
Lassi Kortela c0ca8c8611 Add missing includes to socket.h 2019-08-27 15:52:03 +03:00
Lassi Kortela 1f55ef2a3b Record compiler name and version at build time 2019-08-27 15:21:00 +03:00
Lassi Kortela c72f12b85c Add missing headers to OS files 2019-08-27 11:13:50 +03:00
Lassi Kortela 59e76275ba Unify variable names in hash functions 2019-08-27 10:39:39 +03:00
Lassi Kortela 847eb585ae Reorganize boot image inclusion on C
Cuts the build time in half that flisp.c is no longer re-compiled
unnecessarily.
2019-08-27 10:31:31 +03:00
Lassi Kortela 297e6fa13d Reorganize headers some more 2019-08-27 10:20:30 +03:00
Lassi Kortela 43b41bc8a6 Remove unused T_LONG and T_ULONG defines 2019-08-27 01:33:43 +03:00
Lassi Kortela 248840df1f Get rid of LLT malloc wrappers 2019-08-27 01:25:11 +03:00
Lassi Kortela 934bf9d859 Replace typedef bool_t with int 2019-08-27 01:17:52 +03:00
Lassi Kortela f72c3e9f02 Move more things into compiler-specific headers
This commit has probably broken all compilers except GCC/Clang.
2019-08-27 01:14:59 +03:00
Lassi Kortela 9409096c0a Rename error_*.h -> scheme_compiler_*.h 2019-08-27 00:46:45 +03:00
Lassi Kortela b989d60bcd Start rearranging things within scheme.h 2019-08-27 00:42:13 +03:00
Lassi Kortela 8c006ac672 Remove redundant Emacs -*- comments from C files 2019-08-27 00:38:56 +03:00
Lassi Kortela c24161d584 Streamline comments in scheme.h 2019-08-27 00:37:20 +03:00
Lassi Kortela b8ae211127 Consolidate the code itself from .h files to scheme.h 2019-08-27 00:24:58 +03:00
Lassi Kortela 2c7fe440e9 Add changes from missed in last commit 2019-08-27 00:24:54 +03:00