Skip to content

Conversation

@mperry
Copy link
Contributor

@mperry mperry commented Jun 14, 2015

No description provided.

mperry added 3 commits June 13, 2015 13:15
…ting

interact for IO.  Various changes to support lazy IO and infinite streams.

Made P1 toString lazy, this was causing problems in the debugger using infinite structures.

Made LazyString.toString lazy, returning the first character.  Added map, bind and eval methods to LazyString.

Added IO wrapper, implementing static methods from IOFunctions as instance methods.

Made Stream.take evaluate one less element, made toString lazy.

Added Strings methods lines and unlines.

Implemented IOFunctions interact and getContents.  Made sequenceWhile lazy, suitable for IO.

Test that toString for an infinite stream is lazy.

Demonstrate lazy use of sequenceWhile.

Refactor from changes to IOFunctions.

Test converting an infinite stream of lazy strings to a string.  Ensure no stack overflow occurs as in version 4.3.

Added demonstrations of IOFunctions.interact
…s for Stream to support interactive IO from stdin to stdout
mperry added a commit that referenced this pull request Jun 15, 2015
Added IO example from chapter 7 of Real World Haskell
@mperry mperry merged commit e15ea09 into functionaljava:master Jun 15, 2015
@mperry
Copy link
Contributor Author

mperry commented Jun 17, 2015

@orionll I chose IOW for Input/Output Wrapper. I had done this previously for functions, e.g. F1W, F2W, which I had copied from the iterable wrapper IterableW which I believe was there for quite some time.

@mperry mperry added this to the v4.4 milestone Jul 5, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants