Matthew Flatt
99c3643033
rktio: repairs
...
Builds and starts on MacOS.
2017-06-19 06:45:17 -06:00
Matthew Flatt
f0a644990c
rktio: repairs
...
Compiles ons MacOS, but doesn't quite link.
2017-06-19 06:45:17 -06:00
Matthew Flatt
93834adc99
rktio: move udp over to rktio
...
Still doesn't work...
2017-06-19 06:45:17 -06:00
Matthew Flatt
2b439fc554
rktio: most of switch to rktio fd
...
Doesn't work, yet...
2017-06-19 06:45:17 -06:00
Matthew Flatt
63505d3e16
rktio: switch to rktio envvars
2017-06-19 06:45:17 -06:00
Matthew Flatt
49e30ea6fb
rktio: better file size and timestamp types
2017-06-19 06:45:17 -06:00
Matthew Flatt
d9d8c7758d
rktio: fix MzCOM projects
2017-06-19 06:45:17 -06:00
Matthew Flatt
2d21523b2d
rktio: fixes for Windows build
2017-06-19 06:45:17 -06:00
Matthew Flatt
75e835351a
rktio: add MSVC projects
2017-06-19 06:45:17 -06:00
Matthew Flatt
6e06329c61
rktio: fix scheme_os_getcwd() wrapper
2017-06-19 06:45:17 -06:00
Matthew Flatt
0402075f2b
rktio: repairs to file & directory operations
2017-06-19 06:45:17 -06:00
Matthew Flatt
6268cd7ce9
rktio: switch file & directory operations to rktio
2017-06-19 06:45:17 -06:00
Matthew Flatt
425fe36fa5
rktio: initial import of librktio to racket
2017-06-19 06:45:16 -06:00
Matthew Flatt
636b1637b4
rktio: add date & time
2017-06-19 06:45:16 -06:00
Matthew Flatt
c006e951f4
rktio: add file locking
2017-06-19 06:45:16 -06:00
Matthew Flatt
03c3655b1f
rktio: more repairs exposed by warnings
2017-06-19 06:45:16 -06:00
Matthew Flatt
2f5797f1d5
rktio: use -Wall
and fix warnings
2017-06-19 06:45:16 -06:00
Matthew Flatt
a929c58712
rktio: compiles for Windows using MinGW
2017-06-19 06:45:16 -06:00
Matthew Flatt
9bfaaf3ab3
rktio: wide-string handling for Windows
2017-06-19 06:45:16 -06:00
Matthew Flatt
4ffb01c6fa
rktio: more configure
for rktio
2017-06-19 06:45:16 -06:00
Matthew Flatt
2187e77e65
rktio: add filesystem-change events
2017-06-19 06:45:16 -06:00
Matthew Flatt
19776f6bb9
rktio: fix some leaks
2017-06-19 06:45:16 -06:00
Matthew Flatt
b5e88e70c2
rktio: environment variables
2017-06-19 06:45:16 -06:00
Matthew Flatt
a767ea38fc
rktio: improve organization
2017-06-19 06:45:16 -06:00
Matthew Flatt
c5ddf79721
rktio: small repairs
2017-06-19 06:45:16 -06:00
Matthew Flatt
9e68886b26
rktio: processes
2017-06-19 06:45:16 -06:00
Matthew Flatt
6c2f71bf80
rktio: UDP
2017-06-19 06:45:16 -06:00
Matthew Flatt
e9d5260295
rktio: dup and socket addresses
2017-06-19 06:45:16 -06:00
Matthew Flatt
9461c0e72a
rktio: repairs for dynamic fd_set support
2017-06-19 06:45:16 -06:00
Matthew Flatt
72b0351331
rktio: repairs for Linux
2017-06-19 06:45:16 -06:00
Matthew Flatt
6e1d519711
rktio: fix network problems
2017-06-19 06:45:16 -06:00
Matthew Flatt
3065773b31
rktio: add networking
2017-06-19 06:45:16 -06:00
Matthew Flatt
adedf861b2
rktio: finish epoll/kqueue layer
2017-06-19 06:45:16 -06:00
Matthew Flatt
04130638fc
rktio: add kqueue/epoll layer
2017-06-19 06:45:16 -06:00
Matthew Flatt
09703b94f7
rktio: put "globals" in an rktio_t
...
Avoid thread-local state by threading a `rktio_t`
record through everything.
2017-06-19 06:45:16 -06:00
Matthew Flatt
68352ef86a
rktio: more progress
2017-06-19 06:45:16 -06:00
Matthew Flatt
64146e94dc
rktio: first cut at moving Racket OS wrappers to a library
...
The world doesn't need yet another cross-platform I/O library, but
it's getting one. This one has exactly the things that Racket needs,
and pulling it out will make it reusable from other VMs while
improving the Racket code organization.
This first step just gets started.
2017-06-19 06:45:16 -06:00
Sam Tobin-Hochstadt
5d4bf33906
Tests keep taking longer.
2017-06-09 18:08:12 -04:00
Matthew Flatt
dc14a68162
fix performance problem in expander
...
For a term
(lambda (arg-id ...) (define def-id _rhs) ... (arg-id def-id) ...)
the expander could take quadratic time in the number of `def-id`s
due to walking an environment to remove use-site scopes. (The
variant of the expander rewritten in Racket didn't have this
problem.)
2017-06-08 07:01:31 -06:00
Matthew Flatt
ff26c2f29b
fix complexity of type merging in bytecode optimizer
...
Merge a smaller table into a larger one to avoid an overall
quadratic-time computation.
2017-06-08 07:01:30 -06:00
Ben Greenman
5cfe5619de
style: document '/', as in 'call/cc'
...
Add row to the table in the section on "Names".
Also clarify that the nearby margin note is about `#%`
2017-06-07 14:29:33 -04:00
Leif Andersen
5c27f5550c
Add mzrt_sema_trywait to the mzrt library.
...
This commit add mzrt_sema_try_wait to the functions that operate
on semaphores. The existing ones are:
* int mzrt_sema_create(mzrt_sema **sema, int init);
* int mzrt_sema_post(mzrt_sema *sema);
* int mzrt_sema_wait(mzrt_sema *sema);
* int mzrt_sema_destroy(mzrt_sema *sema);
2017-06-05 10:46:24 -04:00
Leif Andersen
40d4a35329
Add documentation for scheme_atexit
2017-06-04 18:52:09 -04:00
Leif Andersen
5510a76dca
scheme_add_atexit_closer now uses scheme_atexit.
...
This is because calling atexit is not correct in all
situations, namely on old operating systems.
2017-06-04 08:56:07 -04:00
Leif Andersen
a8fa5d4ebb
Add scheme_atexit c function.
...
This way programs can actually call atexit. (Otherwise atexit
is frequently not provided in libc as a symbol.)
2017-06-03 20:47:34 -04:00
Leif Andersen
2f6c42f3c1
Add a #:make-c-id flag to define-ffi-definer
...
This make-c-id allows an author to specify a convention for how
to connect and identifier defined with define-ffi-definer and
the actual symbol in the file.
* Adds docs.
* Adds tests.
* Adds history.
2017-06-02 10:26:57 -04:00
Matthew Flatt
f459dd9eb7
make collapse-module-path-index
work on a "self" modidx
2017-06-01 19:37:18 -06:00
Leif Andersen
3364dba903
Another typo in the docs:
...
type? -> ctype?
2017-06-01 15:37:16 -04:00
Leif Andersen
cac1266d05
Fixed documentation for cblock->vector.
...
It defined cblock->vector as cblock->vector, rather than
comparing it cblock->list.
2017-05-31 15:46:54 -04:00
Alexis King
69fb636a1c
Add a missing for-label require in the contracts section of the guide
2017-05-30 20:09:50 -07:00