packages feed

curry-frontend 0.2.8 → 0.2.9

raw patch · 4 files changed

+29/−22 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

curry-frontend.cabal view
@@ -1,5 +1,5 @@ Name:          curry-frontend-Version:       0.2.8+Version:       0.2.9 Cabal-Version: >= 1.6 Synopsis:      Compile the functional logic language Curry to several intermediate formats Description:   The Curry Frontend consists of the executable program "cymake".
src/CurryCompilerOpts.hs view
@@ -33,7 +33,8 @@ 	      untypedAbstract :: Bool,   -- generate untyped AbstractCurry code 	      parseOnly :: Bool,         -- generate source representation 	      withExtensions :: Bool,    -- enable extended functionalities-	      dump :: [Dump]             -- dumps+	      dump :: [Dump],            -- dumps+              writeToSubdir :: Bool      -- should output be written to subdir? 	    } deriving Show  @@ -53,7 +54,8 @@ 		       untypedAbstract = False,                        parseOnly       = False, 		       withExtensions  = False,-		       dump            = []+		       dump            = [],+                       writeToSubdir   = True 		     }  @@ -66,6 +68,7 @@             | Abstract | UntypedAbstract | ParseOnly 	    | WithExtensions 	    | Dump [Dump]+            | WriteToSubdir    deriving Eq  @@ -117,7 +120,9 @@ 	   Option "" ["dump-case"] (NoArg (Dump [DumpCase])) 	          "dump intermediate language after case simplification", 	   Option "?h" ["help"] (NoArg Help)-                  "display this help and exit"+                  "display this help and exit",+           Option "" ["no-hidden-subdir"] (NoArg WriteToSubdir)+	          "write all output to hidden .curry subdirectory" 	  ]  @@ -140,6 +145,7 @@ selectOption ParseOnly opts       = opts{ parseOnly = True } selectOption WithExtensions opts  = opts{ withExtensions = True } selectOption (Dump ds) opts       = opts{ dump = ds ++ dump opts }+selectOption WriteToSubdir opts   = opts{ writeToSubdir = False }   -------------------------------------------------------------------------------
src/CurryHtml.hs view
@@ -25,7 +25,7 @@             modulname = fileName sourceprogname         fullfname <- getCurryPath imports sourcefilename         program <- filename2program imports (maybe sourcefilename id fullfname)-        (if null outputfilename then writeModule output +        (if null outputfilename then writeModule True output                                  else writeFile   output)            (program2html modulname program)              
src/Modules.lhs view
@@ -118,7 +118,7 @@ >                                              id  >                                              (output opts) >                           outputMod = showModule m'->                       writeModule outputFile outputMod+>                       writeModule (writeToSubdir opts) outputFile outputMod >                       return Nothing >        else >          do -- checkModule checks types, and then transModule introduces new@@ -246,8 +246,8 @@ >           | uniqueId x == 0 = bindQual (x,y) >           | otherwise = bindTopEnv "Modules.qualifyEnv" x y -> writeXML :: Maybe FilePath -> FilePath -> CurryEnv -> IL.Module -> IO ()-> writeXML tfn sfn cEnv il = writeModule ofn (showln code)+> writeXML :: Bool -> Maybe FilePath -> FilePath -> CurryEnv -> IL.Module -> IO ()+> writeXML sub tfn sfn cEnv il = writeModule sub ofn (showln code) >   where ofn  = fromMaybe (xmlName sfn) tfn >         code = (xmlModule cEnv il) @@ -258,23 +258,23 @@ >                        (fromMaybe (flatName sfn) tfn)  > writeFlatFile :: Options -> (Prog, [WarnMsg]) -> String -> IO Prog-> writeFlatFile opts@Options{extendedFlat=ext} (res,msgs) fname = do+> writeFlatFile opts@Options{extendedFlat=ext,writeToSubdir=sub} (res,msgs) fname = do >         unless (noWarn opts) (printMessages msgs)->	  if ext then writeExtendedFlat fname res->                else writeFlatCurry fname res+>	  if ext then writeExtendedFlat sub fname res+>                else writeFlatCurry sub fname res >         return res  -> writeTypedAbs :: Maybe FilePath -> FilePath -> ValueEnv -> TCEnv -> Module+> writeTypedAbs :: Bool -> Maybe FilePath -> FilePath -> ValueEnv -> TCEnv -> Module >	           -> IO ()-> writeTypedAbs tfn sfn tyEnv tcEnv mod->    = AC.writeCurry fname (genTypedAbstract tyEnv tcEnv mod)+> writeTypedAbs sub tfn sfn tyEnv tcEnv mod+>    = AC.writeCurry sub fname (genTypedAbstract tyEnv tcEnv mod) >  where fname = fromMaybe (acyName sfn) tfn -> writeUntypedAbs :: Maybe FilePath -> FilePath -> ValueEnv -> TCEnv  +> writeUntypedAbs :: Bool -> Maybe FilePath -> FilePath -> ValueEnv -> TCEnv   >	             -> Module -> IO ()-> writeUntypedAbs tfn sfn tyEnv tcEnv mod->    = AC.writeCurry fname (genUntypedAbstract tyEnv tcEnv mod)+> writeUntypedAbs sub tfn sfn tyEnv tcEnv mod+>    = AC.writeCurry sub fname (genUntypedAbstract tyEnv tcEnv mod) >  where fname = fromMaybe (uacyName sfn) tfn  > showln :: Show a => a -> String@@ -518,7 +518,8 @@ >                           return Nothing >                     else return Nothing >   | flatXml opts->     = writeXML (output opts) fname cEnv il >> return Nothing+>     = writeXML (writeToSubdir opts) (output opts) fname cEnv il >> +>       return Nothing >   | otherwise >     = internalError "@Modules.genFlat: illegal option" >  where@@ -527,17 +528,17 @@ >    emptyIntf = Prog "" [] [] [] [] >    writeInterface intf msgs = do >          unless (noWarn opts) (printMessages msgs)->          writeFlatCurry fintName intf+>          writeFlatCurry (writeToSubdir opts) fintName intf   > genAbstract :: Options -> FilePath  -> ValueEnv -> TCEnv -> Module  >                -> IO (Maybe FilePath)-> genAbstract opts fname tyEnv tcEnv mod+> genAbstract opts@Options{writeToSubdir=sub} fname tyEnv tcEnv mod >    | abstract opts->      = do writeTypedAbs Nothing fname tyEnv tcEnv mod +>      = do writeTypedAbs sub Nothing fname tyEnv tcEnv mod  >           return Nothing >    | untypedAbstract opts->      = do writeUntypedAbs Nothing fname tyEnv tcEnv mod+>      = do writeUntypedAbs sub Nothing fname tyEnv tcEnv mod >           return Nothing >    | otherwise >      = internalError "@Modules.genAbstract: illegal option"