Lassi Kortela
51c543b8fe
Implement command line help and version flags
2019-09-30 17:08:51 +03:00
Lassi Kortela
59ab5ae4e5
Fix compiler warning
2019-09-29 12:40:57 +03:00
Lassi Kortela
6c27f65e21
Fix compiler warning
2019-09-29 12:36:27 +03:00
Lassi Kortela
0d315e320e
Add most SRFI 175 ASCII character procedures
2019-09-29 12:32:57 +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
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
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
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
a489bf5784
Reformat
2019-08-28 12:00:07 +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
ca3ab55a5c
Satisfy compiler warning about unchecked getcwd() return
...
TODO: raise an error
2019-08-28 00:27:28 +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
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
d38d99dd87
Remove comments about proposed 'struct ios' features
...
We don't need anything as fancy as these.
2019-08-26 00:20:50 +03:00
Lassi Kortela
219578cff9
Remove temp xwrite/x... and old princ/print
2019-08-25 23:27:59 +03:00
Lassi Kortela
924a45b7bd
Implement Scheme printer procedures in C
2019-08-25 22:39:35 +03:00
Lassi Kortela
e3d60bb776
Add const to many utility functions
2019-08-25 22:12:34 +03:00
Lassi Kortela
8fb0cbf472
Finish re-arranging printer options
2019-08-25 17:32:14 +03:00
Lassi Kortela
844b2e219c
Rename pr.opts.pretty into pr.opts.indent
2019-08-25 17:29:18 +03:00
Lassi Kortela
fe4b63b9a3
Turn pr.opts.readably into pr.opts.display
2019-08-25 17:27:16 +03:00
Lassi Kortela
726b7cad29
Decode printer options into a printer_options struct
2019-08-25 17:19:47 +03:00
Lassi Kortela
49e0a3ad1f
Put all printer state into a global struct
2019-08-25 16:56:02 +03:00
Lassi Kortela
6defff3696
Refactor print_width and enforce minimum value 20
2019-08-25 13:42:26 +03:00
Lassi Kortela
96962da3d3
Rename print_circle_prefix -> write_cycle_prefix
2019-08-25 13:20:30 +03:00
Lassi Kortela
84c10258b3
Rename printer vars that track cyclic structures
2019-08-25 13:15:27 +03:00