Commit Graph

63 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 6a9de3e974 the opengl demos now work unmodified under both ikarus and ypsilon. 2008-09-24 06:00:42 -04:00
Abdulaziz Ghuloum c8d0baa341 rewrote ypsilon FFI compatibility layer to be simpler and to provide
better error checking.
2008-09-24 05:22:53 -04:00
Abdulaziz Ghuloum 9f53841fb9 fixed endianness error in bytevector-native-[us]32-native-set!. 2008-09-23 08:02:47 -04:00
Abdulaziz Ghuloum 61ecbe0dd1 - opengl demos from ypsilon (gears and glut-demo) now work under
ikarus's ffi using a compatibility layer.
2008-09-23 07:48:16 -04:00
Abdulaziz Ghuloum abe97b4053 - argument conversion for callbacks now work.
- added more tests in lab/test-ffi.ss
2008-09-23 03:21:41 -04:00
Abdulaziz Ghuloum 876ab09eee - gc during callbacks now works.
- system continuations are now maintained as part of the list in
  pcb->next_k.
2008-09-23 01:49:06 -04:00
Abdulaziz Ghuloum e07d8f9760 ffi callbacks sorta kinda work now. 2008-09-21 04:08:54 -04:00
Abdulaziz Ghuloum a9193018a6 added a cgi-server example to lab. 2008-09-10 05:22:21 -07:00
Abdulaziz Ghuloum bdd81e2b05 accept and accept-nonblocking now set the port-id to a string
representing the incoming address like "nnn.nnn.nnn.nnn:pppp"
2008-04-11 07:01:27 -04:00
Abdulaziz Ghuloum fc92ec8e9f Fixes bug 205437: socket errors not being reported 2008-03-24 00:01:22 -04:00
Abdulaziz Ghuloum 884f3fe921 Added tcp-server-socket-nonblocking, tcp-accept-connection-nonblocking
and register-callback for handling nonblocking servers and connections.
2008-03-23 05:02:12 -04:00
Abdulaziz Ghuloum 2119f44125 Added a simple tcp server facility. See lab/greeting-server.ss. 2008-03-23 03:44:20 -04:00
Abdulaziz Ghuloum 9aaf306f16 Nonblocking sockets no longer raise a continuable exception when a
read or write operation would block.  Instead, they are schedules
with an event handler that `selects' on the pending file descriptors
and dispatches the appropriate callback.
2008-03-23 02:14:00 -04:00
Abdulaziz Ghuloum 6e599c4c72 refactored nonblocking code in ikarus-io.c and ikarus.io.ss 2008-03-23 00:41:49 -04:00
Abdulaziz Ghuloum ce496aebaf * Better error message when a tcp connection is refused.
* implemented udp connections (not working yet).
2008-03-22 19:29:41 -04:00
Abdulaziz Ghuloum 4c3b17436f Added a tcp-connect-nonblocking-example.ss to demonstrate how to
handle nonblocking sockets by continuous polling.
2007-12-27 22:17:54 -05:00
Abdulaziz Ghuloum 64dac92831 Added tcp-connect-nonblocking which is line tcp-connect but puts the
socket in nonblocking mode.  An operation that would block now
raises (continuable) a condition of type &i/o-would-block which
contains the port in question.  There's no way to handle the
condition gracefully yet.
2007-12-27 22:08:27 -05:00
Abdulaziz Ghuloum 4f0a816295 Added a tcp-connect procedure that takes a host name and a service
name (e.g. "www.google.com" and "http") and returns two binary ports:
the first for output and the second for input.
Both ports must be closed for the connection to close.

Also added an example in lab/tcp-connect-example.ss which connects 
to an http server, sends "GET /\n" and prints the responde.
2007-12-26 17:35:58 -05:00
Abdulaziz Ghuloum 6eb6bf750d Added a (process "cmd" "args" ...) procedure that execs cmd, passing
args to it, and returns 4 values: 
* the process's pid
* the process's standard-input-port  (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port  (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum 0b648054b8 removed some junk files that were in the repository. 2007-12-10 12:00:12 -05:00
Abdulaziz Ghuloum 3575b0c8d8 Added IO tests. 2007-12-10 10:42:43 -05:00
Abdulaziz Ghuloum 0e38534d2e New IO layer is installed. Still buggy in some area but can be used
for bootstrapping at least.
2007-12-10 07:28:03 -05:00
Abdulaziz Ghuloum ea96ab85db stage 1 of new input IO is almost complete. 2007-12-09 17:13:09 -05:00
Abdulaziz Ghuloum 3562a736c5 Fixes bug 175117: Named let violates scoping rules 2007-12-09 12:20:13 -05:00
Abdulaziz Ghuloum 1d5c069273 Fixes bug 175057: Added time-gmt-offset procedure that takes a time
object and returns the offset from gmt in seconds.
2007-12-09 07:20:49 -05:00
Abdulaziz Ghuloum 0e93ac2db9 Code of fasl-write is changed to use only binary output prims. 2007-12-08 14:52:35 -05:00
Abdulaziz Ghuloum 515101d188 string-input-ports in new IO work now. 2007-12-07 07:39:17 -05:00
Abdulaziz Ghuloum 86d9c640b1 decoding of utf8-transcoded ports is complete. 2007-12-07 05:34:46 -05:00
Abdulaziz Ghuloum 2575419665 utf8 input transcoding works for 1-byte and 2-byte utf8 sequences 2007-12-07 04:42:10 -05:00
Abdulaziz Ghuloum c0191a8283 Fixes bug 174594: Record read/write now terminate on cycles. 2007-12-07 01:41:21 -05:00
Abdulaziz Ghuloum 1f352825f5 Transcoding to latin-1 now works in the new IO layer. 2007-12-06 08:14:05 -05:00
Abdulaziz Ghuloum 1469932f3d Exported the transcoder? primitive. 2007-12-06 05:05:26 -05:00
Abdulaziz Ghuloum f7021bbcbc some progress in the new IO system. 2007-12-05 11:36:25 -05:00
Abdulaziz Ghuloum cebab86485 Start of work on the new IO system. 2007-12-05 05:33:31 -05:00
Abdulaziz Ghuloum 6294ea7052 * removed stuff from lib directory. 2007-12-01 01:19:45 -05:00
Abdulaziz Ghuloum c8eb73e987 added read-exprs.ss script to ikarus.dev/lab 2007-11-28 20:12:09 -05:00
Abdulaziz Ghuloum 92e278281c * pretty-print is now added to ikarus.
* new-cafe now uses pretty-print instead of write for printing to
  the interaction repl.
2007-01-13 21:33:04 -05:00
Abdulaziz Ghuloum bf23a8a1b7 * pretty-print now handles vectors 2007-01-13 20:37:54 -05:00
Abdulaziz Ghuloum 38082fc489 pretty-print now handles read-macros. 2007-01-13 18:51:23 -05:00
Abdulaziz Ghuloum 17c1b3ba10 added initial pretty-print file to lab 2007-01-13 18:34:35 -05:00
Abdulaziz Ghuloum 1a7a4e1c2a fixed bug in environ that causes substring to fail when one of the items is "foo=". 2007-01-13 13:02:03 -05:00
Abdulaziz Ghuloum b507118f5d Added libtimers.ss:
(time-it proc) runs proc and reports the time.
  (time-it proc message) runs proc and reports the time, with message.
  (time <expr>) evaluates expr and prints the running time.
2006-12-29 10:53:47 +03:00
Abdulaziz Ghuloum 0a01d8b4b8 makefile.ss and ikarusdoc now use "/usr/bin/env ikarus" in the shebang
line.
2006-12-24 12:08:18 +03:00
Abdulaziz Ghuloum fc609b4916 * lab/interupts program is added to experiment with sigaction and
sigaltstack.

added:
  lab/interrupts/
  lab/interrupts/Makefile
  lab/interrupts/inf_loop.s
  lab/interrupts/main
  lab/interrupts/main.c
2006-12-24 09:25:01 +03:00
Abdulaziz Ghuloum e69f0a5c80 * Assembler-output suppresses printing the closure-size; it prints
a newline instead.
2006-12-23 05:17:57 +03:00
Abdulaziz Ghuloum efae97a6e0 Actually, the profiling times show that memory-based tests can be
performed at around 3 secs per 1 billion checks (about 6 times
slower than register-based counters).
2006-12-21 16:32:45 +03:00
Abdulaziz Ghuloum 67a850e712 Profiling timing shows that we can do interrupt checks with cost:
* about 2.0 secs per 1 billion checks if the counter is kept in memory
* about 0.5 secs per 1 billion checks if the counter is kept in register.
2006-12-21 16:22:07 +03:00
Abdulaziz Ghuloum 3d2d52fe58 Added a guardians field to the pcb.
Added a guardians_loop procedure to the collector.  In this
revision, this procedure does nothing.
2006-12-18 23:08:33 +03:00
Abdulaziz Ghuloum 52acb437e8 added:
lab/prof/
  lab/prof/Makefile
  lab/prof/main
  lab/prof/main.c
  lab/prof/main.s
2006-12-17 02:15:38 +03:00
Abdulaziz Ghuloum f378c48daf Added Rich Lewis's Sudoku solver and problems. 2006-12-06 18:27:16 -05:00