on 0db809f help sign in
elk/compiler/Metadata/Libraries.hs
26 lines 959 B history raw
1module Metadata.Libraries (libraries, addPrelude) where
3import Control.Applicative ((<$>),(<*>))
4import qualified Data.Map as Map
5import Data.List (inits)
6import Text.JSON
7import Metadata.Load as Load
8import SourceSyntax.Module
10addPrelude :: Module t v -> Module t v
11addPrelude (Module name exs ims stmts) = Module name exs (customIms ++ ims) stmts
12 where customIms = concatMap addModule prelude
14 addModule (n, method) = case lookup n ims of
15 Nothing -> [(n, method)]
16 Just (As m) -> [(n, method)]
17 Just _ -> []
19prelude = text : map (\n -> (n, Hiding [])) modules
20 where
21 text = ("Text", Hiding ["link", "color", "height"])
22 modules = [ "Prelude", "Signal", "List", "Maybe", "Time"
23 , "Graphics.Element", "Color", "Graphics.Collage" ]
25libraries :: Map.Map String (Map.Map String String)
26libraries = Map.empty