diff --git a/exec/main.hs b/exec/main.hs
--- a/exec/main.hs
+++ b/exec/main.hs
@@ -2,11 +2,16 @@
 import Banner
 import System.Environment
 
+separateArgs args = do
+  let (haliveArgs, targetArgs) = break (=="--") args
+  in  (haliveArgs, drop 1 targetArgs)
+
 main :: IO ()
 main = do
-    args <- getArgs
+    (args, targetArgs) <- separateArgs <$> getArgs
+    print targetArgs
     case args of
-        [] -> putStrLn "Usage: halive <main.hs> <include dir>"
+        [] -> putStrLn "Usage: halive <main.hs> <include dir> [-- <args to myapp>]"
         (mainName:includeDirs) -> do
             putStrLn banner
-            recompiler mainName includeDirs
+            withArgs targetArgs $ recompiler mainName includeDirs
diff --git a/halive.cabal b/halive.cabal
--- a/halive.cabal
+++ b/halive.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                halive
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            A live recompiler
 description:         
   Live recompiler for Haskell
@@ -11,7 +11,7 @@
   .
   /Usage:/
   .
-  > halive path/to/myfile.hs  [optionally any/extra include/dirs ..]
+  > halive path/to/myfile.hs [optionally any/extra include/dirs ..]
   .
   See <https://github.com/lukexi/halive/blob/master/README.md README>
 homepage:            https://github.com/lukexi/halive
@@ -44,7 +44,9 @@
   main-is:             main.hs
   hs-source-dirs:      exec
   default-language:    Haskell2010
-  ghc-options:         -Wall -threaded -dynamic
+  ghc-options:         -Wall -threaded
+  if !os(windows)
+    ghc-options:         -dynamic
   other-modules:       
     Banner
     Halive
