Consider the following functions:
readRecFile fname = do ifh <- openFile fname ReadMode readRecords ifh readRecords ifh = do x <- decodeNextRecord ifh more <- isEof ifh if (more == False) then return [x] else do rest <- readRecords ifh return (x:rest) They allow me to read contest of file fname into a list of data structures. But "do rest <- readRecords ifh ; return (x:rest)" part makes them behave non-lazily. Maybe I'm just too tired right now, but it escapes me how can I write a lazy variant of those functions, so that they will behave like getContents. Does anyone have a clue? -- Dmitry Astapov //ADEpt E-mail: [EMAIL PROTECTED] GPG KeyID/fprint: F5D7639D/CA36 E6C4 815D 434D 0498 2B08 7867 4860 F5D7 639D _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe