idris-lang/Idris-dev — pull request #690 by puffnfresh (2013-11-29 20:11:01+00:00)
Title: Cabal library

I've been working on a language which uses TT. I was going to write a compiler but then I realised that Idris has all the machinery already, if only I could use it as a library.

This PR moves Core to Idris.Core and exports all of Idris and IRTS as a Cabal library. Lots of files touched but nothing more than updating module names.

```haskell
run :: Idris ()
run = do
let ddir = "libs" -- TODO: Use Idris.Util
addImportDir $ ddir "prelude"
addImportDir $ ddir "base"
elabPrims
_ <- loadModule stdout "Builtins"
_ <- loadModule stdout "Prelude"
pterm <- fmap (flip delab program) getIState
elabDecls toplevel [makeDecl pterm]
compile ViaNode "wow.js" runProgram
```

The second step will be to move the externally useful parts of Util to Idris.Util so we can use Idris' data directory, etc.