21 lines
		
	
	
		
			384 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			384 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| module Sources where
 | |
| 
 | |
| import Types
 | |
| 
 | |
| import Data.ByteString (ByteString)
 | |
| 
 | |
| data Source a where
 | |
|   Data :: a -> Source a
 | |
| 
 | |
| class SourceState a where
 | |
|   stateOfSource :: a -> IO ByteString
 | |
| 
 | |
| instance SourceState FilePath where
 | |
|   stateOfSource = undefined
 | |
| 
 | |
| instance SourceState Image where
 | |
|   stateOfSource = undefined
 | |
| 
 | |
| instance SourceState (String, FilePath) where
 | |
|   stateOfSource = undefined
 |