Show
Ignore:
Timestamp:
04/28/05 18:38:12 (4 years ago)
Author:
autrijus
svk:copy_cache_prev:
3914
Message:

* AST.hs-boot elimianted!

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Types/Handle.hs

    r2221 r2441  
    1 {-# OPTIONS_GHC -fglasgow-exts #-} 
    2  
    3 module Pugs.Types.Handle where 
    4  
    5 import {-# SOURCE #-} Pugs.AST 
    6 import Pugs.Internals 
    7 import Pugs.Types 
    81 
    92type Layer = VStr 
    103type FileDescriptor = VInt 
    114 
    12 class (Typeable a) => Class a where 
    13     iType :: a -> Type 
    14     iType = const $ mkType "IO" 
    15     fetch       :: a -> Eval VHandle 
    16     store       :: a -> VHandle -> Eval () 
    17     write       :: a -> VStr -> Eval VInt 
    18     write = error "" 
    19     print       :: a -> [Val] -> Eval VBool 
    20     print gv vals = do 
    21         hdl  <- fetch gv 
     5class (Typeable a) => HandleClass a where 
     6    handle_iType :: a -> Type 
     7    handle_iType = const $ mkType "IO" 
     8    handle_fetch       :: a -> Eval VHandle 
     9    handle_store       :: a -> VHandle -> Eval () 
     10    handle_write       :: a -> VStr -> Eval VInt 
     11    handle_write = error "" 
     12    handle_print       :: a -> [Val] -> Eval VBool 
     13    handle_print gv vals = do 
     14        hdl  <- handle_fetch gv 
    2215        strs <- mapM valToStr vals 
    2316        tryIO False $ do 
    2417            hPutStr hdl $ concatMap encodeUTF8 strs 
    2518            return True 
    26     printf      :: a -> VStr -> [Val] -> Eval VBool 
    27     printf = error "" 
    28     read        :: a -> VInt -> Eval (VInt, VStr) 
    29     read = error "" 
    30     readLine    :: a -> Eval VStr 
    31     readLine = error "" 
    32     getC        :: a -> Eval VStr 
    33     getC = error "" 
    34     close       :: a -> Eval () 
    35     close gv = do 
    36         hdl <- fetch gv 
     19    handle_printf      :: a -> VStr -> [Val] -> Eval VBool 
     20    handle_printf = error "" 
     21    handle_read        :: a -> VInt -> Eval (VInt, VStr) 
     22    handle_read = error "" 
     23    handle_readLine    :: a -> Eval VStr 
     24    handle_readLine = error "" 
     25    handle_getC        :: a -> Eval VStr 
     26    handle_getC = error "" 
     27    handle_close       :: a -> Eval () 
     28    handle_close gv = do 
     29        hdl <- handle_fetch gv 
    3730        liftIO $ hClose hdl 
    38     binmode     :: a -> Layer -> Eval () 
    39     binmode _ _ = return () 
    40     open        :: a -> Layer -> FilePath -> Eval VBool 
    41     open = error "" 
    42     eof         :: a -> Eval VBool 
    43     eof = error "" 
    44     fileNo      :: a -> Eval FileDescriptor 
    45     fileNo = error "" 
    46     seek        :: a -> VInt -> SeekMode -> Eval VBool 
    47     seek = error "" 
    48     tell        :: a -> Eval VInt 
    49     tell = error "" 
     31    handle_binmode     :: a -> Layer -> Eval () 
     32    handle_binmode _ _ = return () 
     33    handle_open        :: a -> Layer -> FilePath -> Eval VBool 
     34    handle_open = error "" 
     35    handle_eof         :: a -> Eval VBool 
     36    handle_eof = error "" 
     37    handle_fileNo      :: a -> Eval FileDescriptor 
     38    handle_fileNo = error "" 
     39    handle_seek        :: a -> VInt -> SeekMode -> Eval VBool 
     40    handle_seek = error "" 
     41    handle_tell        :: a -> Eval VInt 
     42    handle_tell = error "" 
     43 
     44instance HandleClass IHandle where 
     45    handle_fetch = return 
     46    handle_store = error "store" 
     47