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
924a45b7bd
Implement Scheme printer procedures in C
2019-08-25 22:39:35 +03:00
Lassi Kortela
60ff06fb6d
Reorganize error functions and includes
...
These functions are complicated because they need to be marked
"noreturn" for the compiler. There are several fundamentally
incompatible ways of doing that. Since we have only a few "noreturn"
functions, let's just list all of those in one header file of which
there is a completely different version for each compiler.
2019-08-21 22:06:13 +03:00
Lassi Kortela
023937e5ea
Use backward compatible variable initializers
2019-08-19 01:14:09 +03:00
Lassi Kortela
486ec48a76
Remove spurious time includes
2019-08-18 13:44:06 +03:00
Lassi Kortela
a6ecac95e1
Rename fs*.c -> os*.c
...
I planned to put just the file system routines into these files, but
there are starting to be so many of them that I don't want to
duplicate the same set for networking, subprocesses etc.
2019-08-14 01:15:29 +03:00
Lassi Kortela
c2da0753af
Fix some more "long double" nonsense
2019-08-13 18:51:43 +03:00
Lassi Kortela
2950e6ae5b
Set _X_OPEN_SOURCE and default compiler in build script
2019-08-10 01:43:47 +03:00
Lassi Kortela
be3c93e2b8
Define _XOPEN_SOURCE to access some libc functions on Linux
2019-08-10 01:02:59 +03:00
Lassi Kortela
a28aff6892
Add missing stdint.h includes
2019-08-09 23:25:20 +03:00
Lassi Kortela
1d96278313
Break down dirpath.c into fs_*.c by OS
...
I much prefer this to using ifdefs. Requires a little help from the build
system but I find it worth it.
2019-08-09 23:12:19 +03:00
Lassi Kortela
99feb308bd
Hoist argcount() into its own header file
...
Muffles compiler warnings about unused function.
2019-08-09 22:08:44 +03:00
Lassi Kortela
d6a4029dde
Replace idiosyncratic C types with standard ones
...
For number types, we rely on classic C types (char, short, int, long) to be
the correct sizes. For precise bit widths, use standard intN_t and uintN_t.
For size_t, just use system size_t.
2019-08-09 21:00:03 +03:00
Lassi Kortela
fe4550dad7
Replace cvalue_t with struct
2019-08-09 19:36:20 +03:00
Lassi Kortela
b48261f21c
Replace fltype_t with struct
2019-08-09 19:33:04 +03:00
Lassi Kortela
193ced5e73
Replace cons_t with struct
2019-08-09 19:28:14 +03:00
Lassi Kortela
d6f1579e17
Replace cprim_t with struct
2019-08-09 19:26:48 +03:00
Lassi Kortela
428e7a3825
Replace builtinspec_t with struct
2019-08-09 19:26:48 +03:00
Lassi Kortela
f2fb37e520
Replace ios_t with struct
2019-08-09 19:26:20 +03:00
Lassi Kortela
79d44c0780
Get rid of almost all recursive includes
...
Simple rule: include files should never include include files.
"Notes on Programming in C", Rob Pike, February 21, 1989
<https://www.lysator.liu.se/c/pikestyle.html >
2019-08-09 19:00:17 +03:00
Lassi Kortela
d6f54bc13c
Consolidate all C files into a "c" subdirectory
2019-08-09 15:02:58 +03:00