Commit Graph

73 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 1be0f2af6e - changed foreign accessors and mutator names to have '-c-' in their
names as suggested by Ken Dickey.
2008-10-12 02:06:25 -04:00
Abdulaziz Ghuloum 69c62649cc - defined RTLD_LOCAL for cygwin (possibly incorrect)
- added a missing save to a callee-save register (%edi) 
  when entering/reentering to Scheme which caused Ikarus
  not to run properly depending on whether or not gcc places
  the pcb in %edi or not during Scheme execution.
- updated lab/test-ffi.ss to use the new names for foreign
  types, etc.
2008-10-07 02:46:56 -04:00
Abdulaziz Ghuloum 1e5e516b08 - added (ikarus foreign) library that should be used instead of
(ikarus system $foreign).
- changed the names of some of the pointer primitives
- changed the name of the procedure make-ffi to make-callout
- updated examples and libraries to conform with new names
- updated the users guide to provide a complete description of 
  the (ikarus foreign) library
- updated list of missing R6RS features in the users guide
2008-10-06 01:19:27 -04:00
Abdulaziz Ghuloum cd4e12be68 One can now create (at runtime) objective-c classes and add methods
to them to get them to do things.  See lab/objc-create-class.ss for
a cute example.
2008-09-29 01:40:58 -04:00
Abdulaziz Ghuloum 90175f528f speech synthesizer demo 2008-09-27 03:20:24 -04:00
Abdulaziz Ghuloum a2c910d990 Got the apple menu to work in cocoa. 2008-09-27 01:55:06 -04:00
Abdulaziz Ghuloum 60f5142143 Added a Cocoa library exporting some useful Cocoa stuff. 2008-09-26 04:11:18 -04:00
Abdulaziz Ghuloum 8c30f0715b Managed to a simple Ikarus -> Objective-C interface to work. Ikarus
can now open a Cocoa window under Mac OS X.   Happy Happy Joy Joy!!
2008-09-26 02:46:07 -04:00
Abdulaziz Ghuloum 3969e56c2d glGetString works (returning a char* which is converted to a string) 2008-09-24 07:55:23 -04:00
Abdulaziz Ghuloum 55c3fbcc4d moved the opengl libraries from lab/ to lib/ so that they get
installed as user libraries.
2008-09-24 07:22:25 -04:00
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