Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/PreludeText/CRead.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


module Prelude (Read(..)) where

import Lex
import ReadParen
import TReadS

class  Read a  where
    readsPrec  :: Int -> ReadS a
    readList   :: ReadS [a]

    readList = readParen False (\r -> [pr | ("[",s) <- lex r
                                      , pr      <- readl s])
      where readl s  = [([],t)   | ("]",t) <- lex s] ++
                       [(x:xs,u) | (x,t)  <- readsPrec 0 s
                                 , (xs,u) <- readl' t]
            readl' s = [([],t)   | ("]",t) <- lex s] ++
                       [(x:xs,v) | (",",t)  <- lex s
                                 , (x,u) <- readsPrec 0 t
                                 , (xs,v) <- readl' u]




Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].