Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R5RS I/O not defined #91

Open
GoogleCodeExporter opened this issue Apr 23, 2015 · 2 comments
Open

R5RS I/O not defined #91

GoogleCodeExporter opened this issue Apr 23, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

I/O operations are mentioned in the OwlManual, but of course Scheme I/O is not 
functional.  A possible compromise would be to provide a fold over an input 
port and an unfold onto an output port.  See 
http://trac.sacrideo.us/wg/wiki/PortOperationsCowan for some ideas on the 
subject.

Original issue reported on code.google.com by [email protected] on 19 Dec 2011 at 5:13

@GoogleCodeExporter
Copy link
Author

That seems to be fairly close to a planned alternative IO model. Currently IO 
is handled by threads which use the VM primops, so that all message 
passing/polling and IO can be handled using the same message passing facility. 
While this works, some programs that need faster IO have ended up using lazy 
lists of byte vectors which are written while forced. Given how poorly Owl does 
in the printing benchmark and how little the special features allowed by 
thread-based IO seem to be necessary in practice, PortOperationsCowan might end 
up being pretty close to how IO will be done in the future.

Original comment by aohelin on 19 Dec 2011 at 10:29

  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

Variable arity is being added and the functional thread-based IO system was 
functionally equivalent (no pun intended) with one that simply does 
side-effecting IO with primops, so there is really no reason to not implement 
R[57]RS IO.

Original comment by aohelin on 9 May 2012 at 12:32

  • Added labels: Type-R7RS
  • Removed labels: Type-Defect

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant