Commit Graph

509 Commits

Author SHA1 Message Date
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
Lassi Kortela a02557230b Consolidate (almost) all #include's into new "scheme.h" 2019-08-26 22:12:15 +03:00
Lassi Kortela 6da8d0a939 Propagate scheme-core changes with a single build
Due to a slip-up in build.sh (compiling flmain.c instead of flisp.c multiple
times), making changes in the Scheme core would require two build.sh runs
instead of one to end up in the final executable. flisp.c is the C file that
includes boot_image.h so it's the one that should get compiled multiple times.
2019-08-26 16:53:21 +03:00
Lassi Kortela 83e64da945 Add term-init, term-exit builtins 2019-08-26 16:52:42 +03:00
Lassi Kortela 16d409c382 Add string-upcase, string-downcase builtins
Simple ASCII for now. Add some Unicode smarts later.
2019-08-26 11:47:56 +03:00
Lassi Kortela 41eb286f90 Remove vestigial char.* builtins 2019-08-26 11:15:38 +03:00
Lassi Kortela 464dac0e6c Rename builtin char procedures to match R7RS 2019-08-26 11:12:50 +03:00
Lassi Kortela c467f9e064 Add Unicode lambda 2019-08-26 11:06:42 +03:00