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
277abddaa8
Turn (import ...) into a macro to match Scheme syntax
2019-08-12 18:18:46 +03:00
Lassi Kortela
3b13e81eae
Add concept of built-in libraries and (import) statement
...
R7RS syntax is: (import (library name here))
We translate this into the internal path "library/name/here". This will allow
us to easily load libraries from files later on by appending the ".sld" file
name extension.
2019-08-11 22:32:55 +03:00
Lassi Kortela
e9d6ca265c
Unify preprocessor checks for win32
...
<https://sourceforge.net/p/predef/wiki/OperatingSystems/ > says that _WIN32 is
always defined for both 32-bit and 64-bit versions of Windows.
2019-08-10 00:12:33 +03:00
Lassi Kortela
267cd00146
Remove unnecessary ifdef about unsetenv() return value
...
Posix now mandates that unsetenv() must return -1 and set errno on error.
2019-08-10 00:05:31 +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
e19fe0b8bd
Remove time.string and time.fromstring builtins
...
They are of dubious value, and the C implementation uses #if.
2019-08-09 21:50:52 +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
c9f5e4faeb
Replace symbol_t with struct
2019-08-09 19:30:15 +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
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