@@ -10,6 +10,7 @@ import Core.Typecheck
1010import IRTS.Lang
1111import IRTS.CodegenCommon
1212import Util.Pretty
13+import Util.DynamicLinker
1314
1415import Paths_idris
1516
@@ -78,19 +79,20 @@ data IState = IState {
7879 idris_hdrs :: [String],
7980 proof_list :: [(Name, [String])],
8081 errLine :: Maybe Int,
81− lastParse :: Maybe Name,
82+ lastParse :: Maybe Name,
8283 indent_stack :: [Int],
8384 brace_stack :: [Maybe Int],
8485 hide_list :: [(Name, Maybe Accessibility)],
8586 default_access :: Accessibility,
8687 default_total :: Bool,
8788 ibc_write :: [IBCWrite],
88− compiled_so :: Maybe String
89+ compiled_so :: Maybe String,
90+ idris_dynamic_libs :: [DynamicLib]
8991 }
9092
9193data SizeChange = Smaller | Same | Bigger | Unknown
9294 deriving (Show, Eq)
93−{-!
95+{-!
9496deriving instance Binary SizeChange
9597!-}
9698
@@ -136,7 +138,7 @@ idrisInit = IState initContext [] [] emptyContext emptyContext emptyContext
136138 emptyContext emptyContext emptyContext emptyContext
137139 emptyContext emptyContext emptyContext emptyContext
138140 [] "" defaultOpts 6 [] [] [] [] [] [] [] [] []
139− [] Nothing Nothing [] [] [] Hidden False [] Nothing
141+ [] Nothing Nothing [] [] [] Hidden False [] Nothing []
140142
141143-- | The monad for the main REPL - reading and processing files and updating
142144-- global state (hence the IO inner monad).
@@ -180,6 +182,8 @@ data Command = Quit
180182 | Defn Name
181183 | Info Name
182184 | Missing Name
185+ | DynamicLink FilePath
186+ | ListDynamic
183187 | Pattelab PTerm
184188 | DebugInfo Name
185189 | Search PTerm