commit 7008596f4c4b33cc06e928efc5aab52fac713155 Author: jackjohn7 <70782491+jackjohn7@users.noreply.github.com> Date: Thu May 14 22:59:58 2026 -0500 init diff --git a/.direnv/flake-profile b/.direnv/flake-profile new file mode 120000 index 0000000..c7ae5b7 --- /dev/null +++ b/.direnv/flake-profile @@ -0,0 +1 @@ +flake-profile-2-link \ No newline at end of file diff --git a/.direnv/flake-profile-2-link b/.direnv/flake-profile-2-link new file mode 120000 index 0000000..3c672f1 --- /dev/null +++ b/.direnv/flake-profile-2-link @@ -0,0 +1 @@ +/nix/store/3i8xg318jhrh3x75952mrjfyqm9gbbjh-ghc-shell-for-lamb-0.1.0.0-0-env \ No newline at end of file diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/cabal.project b/cabal.project new file mode 100644 index 0000000..dda2e11 --- /dev/null +++ b/cabal.project @@ -0,0 +1,3 @@ +packages: + . +tests: True diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/PackageInfo_example.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/PackageInfo_example.hs new file mode 100644 index 0000000..9909ccb --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/PackageInfo_example.hs @@ -0,0 +1,46 @@ +{-# LANGUAGE NoRebindableSyntax #-} +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : PackageInfo_example +Description : Contents of some of the package's Cabal file's fields. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports values that record information from some of the fields of +the package's Cabal package description file (Cabal file). + +For further information about the fields in a Cabal file, see the Cabal User +Guide. +-} + +module PackageInfo_example ( + name, + version, + synopsis, + copyright, + homepage, + ) where + +import Data.Version (Version(..)) +import Prelude + +-- |The content of the @name@ field of the package's Cabal file, but with any +-- hyphen characters replaced by underscore characters. +name :: String +name = "example" +-- |The content of the @version@ field of the package's Cabal file. +version :: Version +version = Version [0,1,0,0] [] + +-- |The content of the @synopsis@ field of the package's Cabal file. +synopsis :: String +synopsis = "" +-- |The content of the @copyright@ field of the package's Cabal file. +copyright :: String +copyright = "" +-- |The content of the @homepage@ field of the package's Cabal file. +homepage :: String +homepage = "" diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/Paths_example.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/Paths_example.hs new file mode 100644 index 0000000..045055a --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/Paths_example.hs @@ -0,0 +1,132 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE NoRebindableSyntax #-} +#if __GLASGOW_HASKELL__ >= 810 +{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-} +#endif +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : Paths_example +Description : Data file location, and package version and installation + directories. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports a function to locate data files, and values that record +the version of the package and some directories which the package has been +configured to be installed into. + +For further information about Cabal's options for its configuration step, and +their default values, see the Cabal User Guide. +-} + +module Paths_example ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + + +#if defined(VERSION_base) + +#if MIN_VERSION_base(4,0,0) +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#else +catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a +#endif + +#else +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#endif +catchIO = Exception.catch + +-- |The package version. +version :: Version +version = Version [0,1,0,0] [] + +-- |If the argument is a filename, the result is the name of a corresponding +-- file on the system on which the program is running, if the file were listed +-- in the @data-files@ field of the package's Cabal package description file. +-- No check is performed that the given filename is listed in that field. +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir `joinFileName` name) + +-- |The location of the directory specified by Cabal's @--bindir@ option (where +-- executables that the user might invoke are installed). This can be overridden +-- at runtime using the environment variable example_bindir. +getBinDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libdir@ option (where +-- object libraries are installed). This can be overridden at runtime using the +-- environment variable example_libdir. +getLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--dynlibdir@ option +-- (where dynamic libraries are installed). This can be overridden at runtime +-- using the environment variable example_dynlibdir. +getDynLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--datadir@ option (where +-- architecture-independent data files are installed). This can be overridden at +-- runtime using the environment variable example_datadir. +getDataDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libexedir@ option +-- (where executables that are not expected to be invoked directly by the user +-- are installed). This can be overridden at runtime using the environment +-- variable example_libexedir. +getLibexecDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--sysconfdir@ option +-- (where configuration files are installed). This can be overridden at runtime +-- using the environment variable example_sysconfdir. +getSysconfDir :: IO FilePath + + + + +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath +bindir = "/home/jingus/.cabal/bin" +libdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3/example-0.1.0.0-inplace-example" +dynlibdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3" +datadir = "/home/jingus/.cabal/share/x86_64-linux-ghc-9.10.3-c0c3/example-0.1.0.0" +libexecdir = "/home/jingus/.cabal/libexec/x86_64-linux-ghc-9.10.3-c0c3/example-0.1.0.0" +sysconfdir = "/home/jingus/.cabal/etc" + +getBinDir = catchIO (getEnv "example_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "example_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "example_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "example_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "example_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "example_sysconfdir") (\_ -> return sysconfdir) + + + +joinFileName :: String -> String -> FilePath +joinFileName "" fname = fname +joinFileName "." fname = fname +joinFileName dir "" = dir +joinFileName dir@(c:cs) fname + | isPathSeparator (lastChar c cs) = dir ++ fname + | otherwise = dir ++ pathSeparator : fname + where + -- We do not use Data.List.NonEmpty.last, as that would limit the module to + -- base >= 4.9.0.0 (GHC >= 8.0.1). + lastChar x [] = x + lastChar _ (x:xs) = lastChar x xs + +pathSeparator :: Char +pathSeparator = '/' + +isPathSeparator :: Char -> Bool +isPathSeparator c = c == '/' diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/cabal_macros.h b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/cabal_macros.h new file mode 100644 index 0000000..b4dbc2e --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/build/example/autogen/cabal_macros.h @@ -0,0 +1,140 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package example-0.1.0.0 */ +#ifndef VERSION_example +#define VERSION_example "0.1.0.0" +#endif /* VERSION_example */ +#ifndef MIN_VERSION_example +#define MIN_VERSION_example(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_example */ +/* package base-4.20.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.20.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 20 || \ + (major1) == 4 && (major2) == 20 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* tool cpphs-1.20.9 */ +#ifndef TOOL_VERSION_cpphs +#define TOOL_VERSION_cpphs "1.20.9" +#endif /* TOOL_VERSION_cpphs */ +#ifndef MIN_TOOL_VERSION_cpphs +#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 20 || \ + (major1) == 1 && (major2) == 20 && (minor) <= 9) +#endif /* MIN_TOOL_VERSION_cpphs */ +/* tool gcc-15.2.0 */ +#ifndef TOOL_VERSION_gcc +#define TOOL_VERSION_gcc "15.2.0" +#endif /* TOOL_VERSION_gcc */ +#ifndef MIN_TOOL_VERSION_gcc +#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gcc */ +/* tool ghc-9.10.3 */ +#ifndef TOOL_VERSION_ghc +#define TOOL_VERSION_ghc "9.10.3" +#endif /* TOOL_VERSION_ghc */ +#ifndef MIN_TOOL_VERSION_ghc +#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc */ +/* tool ghc-pkg-9.10.3 */ +#ifndef TOOL_VERSION_ghc_pkg +#define TOOL_VERSION_ghc_pkg "9.10.3" +#endif /* TOOL_VERSION_ghc_pkg */ +#ifndef MIN_TOOL_VERSION_ghc_pkg +#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc_pkg */ +/* tool gpp-15.2.0 */ +#ifndef TOOL_VERSION_gpp +#define TOOL_VERSION_gpp "15.2.0" +#endif /* TOOL_VERSION_gpp */ +#ifndef MIN_TOOL_VERSION_gpp +#define MIN_TOOL_VERSION_gpp(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gpp */ +/* tool haddock-2.31.1 */ +#ifndef TOOL_VERSION_haddock +#define TOOL_VERSION_haddock "2.31.1" +#endif /* TOOL_VERSION_haddock */ +#ifndef MIN_TOOL_VERSION_haddock +#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 31 || \ + (major1) == 2 && (major2) == 31 && (minor) <= 1) +#endif /* MIN_TOOL_VERSION_haddock */ +/* tool hpc-0.69 */ +#ifndef TOOL_VERSION_hpc +#define TOOL_VERSION_hpc "0.69" +#endif /* TOOL_VERSION_hpc */ +#ifndef MIN_TOOL_VERSION_hpc +#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 69 || \ + (major1) == 0 && (major2) == 69 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hpc */ +/* tool hsc2hs-0.68.10 */ +#ifndef TOOL_VERSION_hsc2hs +#define TOOL_VERSION_hsc2hs "0.68.10" +#endif /* TOOL_VERSION_hsc2hs */ +#ifndef MIN_TOOL_VERSION_hsc2hs +#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 68 || \ + (major1) == 0 && (major2) == 68 && (minor) <= 10) +#endif /* MIN_TOOL_VERSION_hsc2hs */ +/* tool hscolour-1.25 */ +#ifndef TOOL_VERSION_hscolour +#define TOOL_VERSION_hscolour "1.25" +#endif /* TOOL_VERSION_hscolour */ +#ifndef MIN_TOOL_VERSION_hscolour +#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 25 || \ + (major1) == 1 && (major2) == 25 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hscolour */ +/* tool runghc-9.10.3 */ +#ifndef TOOL_VERSION_runghc +#define TOOL_VERSION_runghc "9.10.3" +#endif /* TOOL_VERSION_runghc */ +#ifndef MIN_TOOL_VERSION_runghc +#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_runghc */ +/* tool strip-2.46 */ +#ifndef TOOL_VERSION_strip +#define TOOL_VERSION_strip "2.46" +#endif /* TOOL_VERSION_strip */ +#ifndef MIN_TOOL_VERSION_strip +#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 46 || \ + (major1) == 2 && (major2) == 46 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_strip */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "example-0.1.0.0-inplace-example" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/cache/config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/cache/config new file mode 100644 index 0000000..1303dae Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/cache/config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/package.conf.inplace/package.cache b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/package.conf.inplace/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/package.conf.inplace/package.cache differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/package.conf.inplace/package.cache.lock b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/package.conf.inplace/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/setup-config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/setup-config new file mode 100644 index 0000000..07a9f3e Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/example-0.1.0.0/x/example/setup-config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/PackageInfo_lamb.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/PackageInfo_lamb.hs new file mode 100644 index 0000000..8ce0150 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/PackageInfo_lamb.hs @@ -0,0 +1,46 @@ +{-# LANGUAGE NoRebindableSyntax #-} +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : PackageInfo_lamb +Description : Contents of some of the package's Cabal file's fields. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports values that record information from some of the fields of +the package's Cabal package description file (Cabal file). + +For further information about the fields in a Cabal file, see the Cabal User +Guide. +-} + +module PackageInfo_lamb ( + name, + version, + synopsis, + copyright, + homepage, + ) where + +import Data.Version (Version(..)) +import Prelude + +-- |The content of the @name@ field of the package's Cabal file, but with any +-- hyphen characters replaced by underscore characters. +name :: String +name = "lamb" +-- |The content of the @version@ field of the package's Cabal file. +version :: Version +version = Version [0,1,0,0] [] + +-- |The content of the @synopsis@ field of the package's Cabal file. +synopsis :: String +synopsis = "" +-- |The content of the @copyright@ field of the package's Cabal file. +copyright :: String +copyright = "" +-- |The content of the @homepage@ field of the package's Cabal file. +homepage :: String +homepage = "" diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/Paths_lamb.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/Paths_lamb.hs new file mode 100644 index 0000000..e7c6882 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/Paths_lamb.hs @@ -0,0 +1,132 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE NoRebindableSyntax #-} +#if __GLASGOW_HASKELL__ >= 810 +{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-} +#endif +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : Paths_lamb +Description : Data file location, and package version and installation + directories. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports a function to locate data files, and values that record +the version of the package and some directories which the package has been +configured to be installed into. + +For further information about Cabal's options for its configuration step, and +their default values, see the Cabal User Guide. +-} + +module Paths_lamb ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + + +#if defined(VERSION_base) + +#if MIN_VERSION_base(4,0,0) +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#else +catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a +#endif + +#else +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#endif +catchIO = Exception.catch + +-- |The package version. +version :: Version +version = Version [0,1,0,0] [] + +-- |If the argument is a filename, the result is the name of a corresponding +-- file on the system on which the program is running, if the file were listed +-- in the @data-files@ field of the package's Cabal package description file. +-- No check is performed that the given filename is listed in that field. +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir `joinFileName` name) + +-- |The location of the directory specified by Cabal's @--bindir@ option (where +-- executables that the user might invoke are installed). This can be overridden +-- at runtime using the environment variable lamb_bindir. +getBinDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libdir@ option (where +-- object libraries are installed). This can be overridden at runtime using the +-- environment variable lamb_libdir. +getLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--dynlibdir@ option +-- (where dynamic libraries are installed). This can be overridden at runtime +-- using the environment variable lamb_dynlibdir. +getDynLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--datadir@ option (where +-- architecture-independent data files are installed). This can be overridden at +-- runtime using the environment variable lamb_datadir. +getDataDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libexedir@ option +-- (where executables that are not expected to be invoked directly by the user +-- are installed). This can be overridden at runtime using the environment +-- variable lamb_libexedir. +getLibexecDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--sysconfdir@ option +-- (where configuration files are installed). This can be overridden at runtime +-- using the environment variable lamb_sysconfdir. +getSysconfDir :: IO FilePath + + + + +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath +bindir = "/home/jingus/.cabal/bin" +libdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0-inplace-lamb-tests" +dynlibdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3" +datadir = "/home/jingus/.cabal/share/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0" +libexecdir = "/home/jingus/.cabal/libexec/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0" +sysconfdir = "/home/jingus/.cabal/etc" + +getBinDir = catchIO (getEnv "lamb_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "lamb_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "lamb_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "lamb_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "lamb_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "lamb_sysconfdir") (\_ -> return sysconfdir) + + + +joinFileName :: String -> String -> FilePath +joinFileName "" fname = fname +joinFileName "." fname = fname +joinFileName dir "" = dir +joinFileName dir@(c:cs) fname + | isPathSeparator (lastChar c cs) = dir ++ fname + | otherwise = dir ++ pathSeparator : fname + where + -- We do not use Data.List.NonEmpty.last, as that would limit the module to + -- base >= 4.9.0.0 (GHC >= 8.0.1). + lastChar x [] = x + lastChar _ (x:xs) = lastChar x xs + +pathSeparator :: Char +pathSeparator = '/' + +isPathSeparator :: Char -> Bool +isPathSeparator c = c == '/' diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/cabal_macros.h b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/cabal_macros.h new file mode 100644 index 0000000..e891e2a --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/autogen/cabal_macros.h @@ -0,0 +1,150 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package lamb-0.1.0.0 */ +#ifndef VERSION_lamb +#define VERSION_lamb "0.1.0.0" +#endif /* VERSION_lamb */ +#ifndef MIN_VERSION_lamb +#define MIN_VERSION_lamb(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_lamb */ +/* package base-4.20.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.20.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 20 || \ + (major1) == 4 && (major2) == 20 && (minor) <= 2) +#endif /* MIN_VERSION_base */ +/* package hspec-2.11.17 */ +#ifndef VERSION_hspec +#define VERSION_hspec "2.11.17" +#endif /* VERSION_hspec */ +#ifndef MIN_VERSION_hspec +#define MIN_VERSION_hspec(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 11 || \ + (major1) == 2 && (major2) == 11 && (minor) <= 17) +#endif /* MIN_VERSION_hspec */ + +/* tool cpphs-1.20.9 */ +#ifndef TOOL_VERSION_cpphs +#define TOOL_VERSION_cpphs "1.20.9" +#endif /* TOOL_VERSION_cpphs */ +#ifndef MIN_TOOL_VERSION_cpphs +#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 20 || \ + (major1) == 1 && (major2) == 20 && (minor) <= 9) +#endif /* MIN_TOOL_VERSION_cpphs */ +/* tool gcc-15.2.0 */ +#ifndef TOOL_VERSION_gcc +#define TOOL_VERSION_gcc "15.2.0" +#endif /* TOOL_VERSION_gcc */ +#ifndef MIN_TOOL_VERSION_gcc +#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gcc */ +/* tool ghc-9.10.3 */ +#ifndef TOOL_VERSION_ghc +#define TOOL_VERSION_ghc "9.10.3" +#endif /* TOOL_VERSION_ghc */ +#ifndef MIN_TOOL_VERSION_ghc +#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc */ +/* tool ghc-pkg-9.10.3 */ +#ifndef TOOL_VERSION_ghc_pkg +#define TOOL_VERSION_ghc_pkg "9.10.3" +#endif /* TOOL_VERSION_ghc_pkg */ +#ifndef MIN_TOOL_VERSION_ghc_pkg +#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc_pkg */ +/* tool gpp-15.2.0 */ +#ifndef TOOL_VERSION_gpp +#define TOOL_VERSION_gpp "15.2.0" +#endif /* TOOL_VERSION_gpp */ +#ifndef MIN_TOOL_VERSION_gpp +#define MIN_TOOL_VERSION_gpp(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gpp */ +/* tool haddock-2.31.1 */ +#ifndef TOOL_VERSION_haddock +#define TOOL_VERSION_haddock "2.31.1" +#endif /* TOOL_VERSION_haddock */ +#ifndef MIN_TOOL_VERSION_haddock +#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 31 || \ + (major1) == 2 && (major2) == 31 && (minor) <= 1) +#endif /* MIN_TOOL_VERSION_haddock */ +/* tool hpc-0.69 */ +#ifndef TOOL_VERSION_hpc +#define TOOL_VERSION_hpc "0.69" +#endif /* TOOL_VERSION_hpc */ +#ifndef MIN_TOOL_VERSION_hpc +#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 69 || \ + (major1) == 0 && (major2) == 69 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hpc */ +/* tool hsc2hs-0.68.10 */ +#ifndef TOOL_VERSION_hsc2hs +#define TOOL_VERSION_hsc2hs "0.68.10" +#endif /* TOOL_VERSION_hsc2hs */ +#ifndef MIN_TOOL_VERSION_hsc2hs +#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 68 || \ + (major1) == 0 && (major2) == 68 && (minor) <= 10) +#endif /* MIN_TOOL_VERSION_hsc2hs */ +/* tool hscolour-1.25 */ +#ifndef TOOL_VERSION_hscolour +#define TOOL_VERSION_hscolour "1.25" +#endif /* TOOL_VERSION_hscolour */ +#ifndef MIN_TOOL_VERSION_hscolour +#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 25 || \ + (major1) == 1 && (major2) == 25 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hscolour */ +/* tool runghc-9.10.3 */ +#ifndef TOOL_VERSION_runghc +#define TOOL_VERSION_runghc "9.10.3" +#endif /* TOOL_VERSION_runghc */ +#ifndef MIN_TOOL_VERSION_runghc +#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_runghc */ +/* tool strip-2.46 */ +#ifndef TOOL_VERSION_strip +#define TOOL_VERSION_strip "2.46" +#endif /* TOOL_VERSION_strip */ +#ifndef MIN_TOOL_VERSION_strip +#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 46 || \ + (major1) == 2 && (major2) == 46 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_strip */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "lamb-0.1.0.0-inplace-lamb-tests" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests new file mode 100755 index 0000000..58444fa Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.hi b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.hi new file mode 100644 index 0000000..f037246 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.o b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.o new file mode 100644 index 0000000..03f7b86 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Evaluation.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.hi b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.hi new file mode 100644 index 0000000..7d591ae Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.o b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.o new file mode 100644 index 0000000..7b3d272 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/EvaluationSpec.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.hi b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.hi new file mode 100644 index 0000000..80cf013 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.o b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.o new file mode 100644 index 0000000..d60a0a9 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Main.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.hi b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.hi new file mode 100644 index 0000000..f06ba18 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.o b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.o new file mode 100644 index 0000000..7014438 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/Parser.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.hi b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.hi new file mode 100644 index 0000000..da88fa0 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.o b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.o new file mode 100644 index 0000000..7146b98 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests-tmp/ParserSpec.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/build b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/build new file mode 100644 index 0000000..502f004 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/build differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/config new file mode 100644 index 0000000..9cb7954 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/cache/config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/package.conf.inplace/package.cache b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/package.conf.inplace/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/package.conf.inplace/package.cache differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/package.conf.inplace/package.cache.lock b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/package.conf.inplace/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/setup-config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/setup-config new file mode 100644 index 0000000..2b868ed Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/setup-config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0-lamb-tests.log b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0-lamb-tests.log new file mode 100644 index 0000000..1b1c416 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0-lamb-tests.log @@ -0,0 +1,3 @@ +Test suite lamb-tests: RUNNING... +Test suite lamb-tests: FAIL +Test suite logged to: /home/jingus/dev/lamb/./dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0-lamb-tests.log diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0.log b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0.log new file mode 100644 index 0000000..92825a0 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0.log @@ -0,0 +1 @@ +PackageLog {package = PackageIdentifier {pkgName = PackageName "lamb", pkgVersion = mkVersion [0,1,0,0]}, compiler = CompilerId GHC (mkVersion [9,10,3]), platform = Platform X86_64 Linux, testSuites = [TestSuiteLog {testSuiteName = UnqualComponentName "lamb-tests", testLogs = TestLog {testName = "lamb-tests", testOptionsReturned = [], testResult = Fail "exit code: 1"}, logFile = "/home/jingus/dev/lamb/./dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/test/lamb-0.1.0.0-lamb-tests.log"}]} \ No newline at end of file diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/PackageInfo_lamb.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/PackageInfo_lamb.hs new file mode 100644 index 0000000..8ce0150 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/PackageInfo_lamb.hs @@ -0,0 +1,46 @@ +{-# LANGUAGE NoRebindableSyntax #-} +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : PackageInfo_lamb +Description : Contents of some of the package's Cabal file's fields. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports values that record information from some of the fields of +the package's Cabal package description file (Cabal file). + +For further information about the fields in a Cabal file, see the Cabal User +Guide. +-} + +module PackageInfo_lamb ( + name, + version, + synopsis, + copyright, + homepage, + ) where + +import Data.Version (Version(..)) +import Prelude + +-- |The content of the @name@ field of the package's Cabal file, but with any +-- hyphen characters replaced by underscore characters. +name :: String +name = "lamb" +-- |The content of the @version@ field of the package's Cabal file. +version :: Version +version = Version [0,1,0,0] [] + +-- |The content of the @synopsis@ field of the package's Cabal file. +synopsis :: String +synopsis = "" +-- |The content of the @copyright@ field of the package's Cabal file. +copyright :: String +copyright = "" +-- |The content of the @homepage@ field of the package's Cabal file. +homepage :: String +homepage = "" diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/Paths_lamb.hs b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/Paths_lamb.hs new file mode 100644 index 0000000..348d247 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/Paths_lamb.hs @@ -0,0 +1,132 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE NoRebindableSyntax #-} +#if __GLASGOW_HASKELL__ >= 810 +{-# OPTIONS_GHC -Wno-prepositive-qualified-module #-} +#endif +{-# OPTIONS_GHC -Wno-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} + +{-| +Module : Paths_lamb +Description : Data file location, and package version and installation + directories. + +WARNING: This module was generated by Cabal. Any modifications will be +overwritten if the module is regenerated. + +This module exports a function to locate data files, and values that record +the version of the package and some directories which the package has been +configured to be installed into. + +For further information about Cabal's options for its configuration step, and +their default values, see the Cabal User Guide. +-} + +module Paths_lamb ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + + +import qualified Control.Exception as Exception +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + + +#if defined(VERSION_base) + +#if MIN_VERSION_base(4,0,0) +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#else +catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a +#endif + +#else +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#endif +catchIO = Exception.catch + +-- |The package version. +version :: Version +version = Version [0,1,0,0] [] + +-- |If the argument is a filename, the result is the name of a corresponding +-- file on the system on which the program is running, if the file were listed +-- in the @data-files@ field of the package's Cabal package description file. +-- No check is performed that the given filename is listed in that field. +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir `joinFileName` name) + +-- |The location of the directory specified by Cabal's @--bindir@ option (where +-- executables that the user might invoke are installed). This can be overridden +-- at runtime using the environment variable lamb_bindir. +getBinDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libdir@ option (where +-- object libraries are installed). This can be overridden at runtime using the +-- environment variable lamb_libdir. +getLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--dynlibdir@ option +-- (where dynamic libraries are installed). This can be overridden at runtime +-- using the environment variable lamb_dynlibdir. +getDynLibDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--datadir@ option (where +-- architecture-independent data files are installed). This can be overridden at +-- runtime using the environment variable lamb_datadir. +getDataDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--libexedir@ option +-- (where executables that are not expected to be invoked directly by the user +-- are installed). This can be overridden at runtime using the environment +-- variable lamb_libexedir. +getLibexecDir :: IO FilePath + +-- |The location of the directory specified by Cabal's @--sysconfdir@ option +-- (where configuration files are installed). This can be overridden at runtime +-- using the environment variable lamb_sysconfdir. +getSysconfDir :: IO FilePath + + + + +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath +bindir = "/home/jingus/.cabal/bin" +libdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0-inplace-lamb" +dynlibdir = "/home/jingus/.cabal/lib/x86_64-linux-ghc-9.10.3-c0c3" +datadir = "/home/jingus/.cabal/share/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0" +libexecdir = "/home/jingus/.cabal/libexec/x86_64-linux-ghc-9.10.3-c0c3/lamb-0.1.0.0" +sysconfdir = "/home/jingus/.cabal/etc" + +getBinDir = catchIO (getEnv "lamb_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "lamb_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "lamb_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "lamb_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "lamb_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "lamb_sysconfdir") (\_ -> return sysconfdir) + + + +joinFileName :: String -> String -> FilePath +joinFileName "" fname = fname +joinFileName "." fname = fname +joinFileName dir "" = dir +joinFileName dir@(c:cs) fname + | isPathSeparator (lastChar c cs) = dir ++ fname + | otherwise = dir ++ pathSeparator : fname + where + -- We do not use Data.List.NonEmpty.last, as that would limit the module to + -- base >= 4.9.0.0 (GHC >= 8.0.1). + lastChar x [] = x + lastChar _ (x:xs) = lastChar x xs + +pathSeparator :: Char +pathSeparator = '/' + +isPathSeparator :: Char -> Bool +isPathSeparator c = c == '/' diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/cabal_macros.h b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/cabal_macros.h new file mode 100644 index 0000000..686619c --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/autogen/cabal_macros.h @@ -0,0 +1,140 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package lamb-0.1.0.0 */ +#ifndef VERSION_lamb +#define VERSION_lamb "0.1.0.0" +#endif /* VERSION_lamb */ +#ifndef MIN_VERSION_lamb +#define MIN_VERSION_lamb(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 1 || \ + (major1) == 0 && (major2) == 1 && (minor) <= 0) +#endif /* MIN_VERSION_lamb */ +/* package base-4.20.2.0 */ +#ifndef VERSION_base +#define VERSION_base "4.20.2.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 20 || \ + (major1) == 4 && (major2) == 20 && (minor) <= 2) +#endif /* MIN_VERSION_base */ + +/* tool cpphs-1.20.9 */ +#ifndef TOOL_VERSION_cpphs +#define TOOL_VERSION_cpphs "1.20.9" +#endif /* TOOL_VERSION_cpphs */ +#ifndef MIN_TOOL_VERSION_cpphs +#define MIN_TOOL_VERSION_cpphs(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 20 || \ + (major1) == 1 && (major2) == 20 && (minor) <= 9) +#endif /* MIN_TOOL_VERSION_cpphs */ +/* tool gcc-15.2.0 */ +#ifndef TOOL_VERSION_gcc +#define TOOL_VERSION_gcc "15.2.0" +#endif /* TOOL_VERSION_gcc */ +#ifndef MIN_TOOL_VERSION_gcc +#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gcc */ +/* tool ghc-9.10.3 */ +#ifndef TOOL_VERSION_ghc +#define TOOL_VERSION_ghc "9.10.3" +#endif /* TOOL_VERSION_ghc */ +#ifndef MIN_TOOL_VERSION_ghc +#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc */ +/* tool ghc-pkg-9.10.3 */ +#ifndef TOOL_VERSION_ghc_pkg +#define TOOL_VERSION_ghc_pkg "9.10.3" +#endif /* TOOL_VERSION_ghc_pkg */ +#ifndef MIN_TOOL_VERSION_ghc_pkg +#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_ghc_pkg */ +/* tool gpp-15.2.0 */ +#ifndef TOOL_VERSION_gpp +#define TOOL_VERSION_gpp "15.2.0" +#endif /* TOOL_VERSION_gpp */ +#ifndef MIN_TOOL_VERSION_gpp +#define MIN_TOOL_VERSION_gpp(major1,major2,minor) (\ + (major1) < 15 || \ + (major1) == 15 && (major2) < 2 || \ + (major1) == 15 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gpp */ +/* tool haddock-2.31.1 */ +#ifndef TOOL_VERSION_haddock +#define TOOL_VERSION_haddock "2.31.1" +#endif /* TOOL_VERSION_haddock */ +#ifndef MIN_TOOL_VERSION_haddock +#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 31 || \ + (major1) == 2 && (major2) == 31 && (minor) <= 1) +#endif /* MIN_TOOL_VERSION_haddock */ +/* tool hpc-0.69 */ +#ifndef TOOL_VERSION_hpc +#define TOOL_VERSION_hpc "0.69" +#endif /* TOOL_VERSION_hpc */ +#ifndef MIN_TOOL_VERSION_hpc +#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 69 || \ + (major1) == 0 && (major2) == 69 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hpc */ +/* tool hsc2hs-0.68.10 */ +#ifndef TOOL_VERSION_hsc2hs +#define TOOL_VERSION_hsc2hs "0.68.10" +#endif /* TOOL_VERSION_hsc2hs */ +#ifndef MIN_TOOL_VERSION_hsc2hs +#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 68 || \ + (major1) == 0 && (major2) == 68 && (minor) <= 10) +#endif /* MIN_TOOL_VERSION_hsc2hs */ +/* tool hscolour-1.25 */ +#ifndef TOOL_VERSION_hscolour +#define TOOL_VERSION_hscolour "1.25" +#endif /* TOOL_VERSION_hscolour */ +#ifndef MIN_TOOL_VERSION_hscolour +#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 25 || \ + (major1) == 1 && (major2) == 25 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hscolour */ +/* tool runghc-9.10.3 */ +#ifndef TOOL_VERSION_runghc +#define TOOL_VERSION_runghc "9.10.3" +#endif /* TOOL_VERSION_runghc */ +#ifndef MIN_TOOL_VERSION_runghc +#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ + (major1) < 9 || \ + (major1) == 9 && (major2) < 10 || \ + (major1) == 9 && (major2) == 10 && (minor) <= 3) +#endif /* MIN_TOOL_VERSION_runghc */ +/* tool strip-2.46 */ +#ifndef TOOL_VERSION_strip +#define TOOL_VERSION_strip "2.46" +#endif /* TOOL_VERSION_strip */ +#ifndef MIN_TOOL_VERSION_strip +#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 46 || \ + (major1) == 2 && (major2) == 46 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_strip */ + +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "lamb-0.1.0.0-inplace-lamb" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.1.0.0" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/cache/config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/cache/config new file mode 100644 index 0000000..ec72c04 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/cache/config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/package.conf.inplace/package.cache b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/package.conf.inplace/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/package.conf.inplace/package.cache differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/package.conf.inplace/package.cache.lock b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/package.conf.inplace/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/setup-config b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/setup-config new file mode 100644 index 0000000..157839d Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/setup-config differ diff --git a/dist-newstyle/cache/compiler b/dist-newstyle/cache/compiler new file mode 100644 index 0000000..a0a47d0 Binary files /dev/null and b/dist-newstyle/cache/compiler differ diff --git a/dist-newstyle/cache/config b/dist-newstyle/cache/config new file mode 100644 index 0000000..e120d59 Binary files /dev/null and b/dist-newstyle/cache/config differ diff --git a/dist-newstyle/cache/elaborated-plan b/dist-newstyle/cache/elaborated-plan new file mode 100644 index 0000000..8fa1f19 Binary files /dev/null and b/dist-newstyle/cache/elaborated-plan differ diff --git a/dist-newstyle/cache/improved-plan b/dist-newstyle/cache/improved-plan new file mode 100644 index 0000000..851c347 Binary files /dev/null and b/dist-newstyle/cache/improved-plan differ diff --git a/dist-newstyle/cache/plan.json b/dist-newstyle/cache/plan.json new file mode 100644 index 0000000..4e163a5 --- /dev/null +++ b/dist-newstyle/cache/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.16.1.0","cabal-lib-version":"3.16.1.0","compiler-id":"ghc-9.10.3","compiler-abi":"c0c3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"HUnit-1.6.2.0-1Wy3OP1J4KoGWDmf7KnEZp","pkg-name":"HUnit","pkg-version":"1.6.2.0","depends":["base-4.20.2.0-026d","call-stack-0.4.0-JZHIZprcmriEGSnTGG6LDr","deepseq-1.5.0.0-bb17"]},{"type":"pre-existing","id":"QuickCheck-2.15.0.1-8sFZB6ND19u6DF6DYprH6v","pkg-name":"QuickCheck","pkg-version":"2.15.0.1","depends":["base-4.20.2.0-026d","containers-0.7-8412","deepseq-1.5.0.0-bb17","random-1.2.1.3-9DRnejD6A3gCvru8O0BNDk","splitmix-0.1.3.2-AM7Y85TKp6eBmbY6fLUnLo","template-haskell-2.22.0.0-d01f","transformers-0.6.1.1-2ffd"]},{"type":"pre-existing","id":"ansi-terminal-1.1.5-3cR3nA9CHtaAKi6Cc2vhvv","pkg-name":"ansi-terminal","pkg-version":"1.1.5","depends":["ansi-terminal-types-1.1.3-EEqyq3DZXxNGjCrIFTHkYC","base-4.20.2.0-026d","colour-2.3.6-3IW7IFDfNz92K6kcGETNEe"]},{"type":"pre-existing","id":"ansi-terminal-types-1.1.3-EEqyq3DZXxNGjCrIFTHkYC","pkg-name":"ansi-terminal-types","pkg-version":"1.1.3","depends":["base-4.20.2.0-026d","colour-2.3.6-3IW7IFDfNz92K6kcGETNEe"]},{"type":"pre-existing","id":"array-0.5.8.0-c4d6","pkg-name":"array","pkg-version":"0.5.8.0","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"base-4.20.2.0-026d","pkg-name":"base","pkg-version":"4.20.2.0","depends":["ghc-internal-9.1003.0-fdb9","ghc-prim-0.12.0-4bc8"]},{"type":"pre-existing","id":"bytestring-0.12.2.0-b36e","pkg-name":"bytestring","pkg-version":"0.12.2.0","depends":["base-4.20.2.0-026d","deepseq-1.5.0.0-bb17","ghc-prim-0.12.0-4bc8","template-haskell-2.22.0.0-d01f"]},{"type":"pre-existing","id":"call-stack-0.4.0-JZHIZprcmriEGSnTGG6LDr","pkg-name":"call-stack","pkg-version":"0.4.0","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"colour-2.3.6-3IW7IFDfNz92K6kcGETNEe","pkg-name":"colour","pkg-version":"2.3.6","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"containers-0.7-8412","pkg-name":"containers","pkg-version":"0.7","depends":["array-0.5.8.0-c4d6","base-4.20.2.0-026d","deepseq-1.5.0.0-bb17","template-haskell-2.22.0.0-d01f"]},{"type":"pre-existing","id":"deepseq-1.5.0.0-bb17","pkg-name":"deepseq","pkg-version":"1.5.0.0","depends":["array-0.5.8.0-c4d6","base-4.20.2.0-026d","ghc-prim-0.12.0-4bc8"]},{"type":"pre-existing","id":"directory-1.3.8.5-08c4","pkg-name":"directory","pkg-version":"1.3.8.5","depends":["base-4.20.2.0-026d","filepath-1.5.4.0-150e","os-string-2.0.7-5f8e","time-1.12.2-6cc2","unix-2.8.7.0-c12e"]},{"type":"pre-existing","id":"exceptions-0.10.9-a970","pkg-name":"exceptions","pkg-version":"0.10.9","depends":["base-4.20.2.0-026d","mtl-2.3.1-fcf3","stm-2.5.3.1-9a5c","template-haskell-2.22.0.0-d01f","transformers-0.6.1.1-2ffd"]},{"type":"pre-existing","id":"filepath-1.5.4.0-150e","pkg-name":"filepath","pkg-version":"1.5.4.0","depends":["base-4.20.2.0-026d","bytestring-0.12.2.0-b36e","deepseq-1.5.0.0-bb17","exceptions-0.10.9-a970","os-string-2.0.7-5f8e","template-haskell-2.22.0.0-d01f"]},{"type":"pre-existing","id":"ghc-bignum-1.3-d062","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.12.0-4bc8"]},{"type":"pre-existing","id":"ghc-boot-th-9.10.3-8a30","pkg-name":"ghc-boot-th","pkg-version":"9.10.3","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"ghc-internal-9.1003.0-fdb9","pkg-name":"ghc-internal","pkg-version":"9.1003.0","depends":["ghc-bignum-1.3-d062","ghc-prim-0.12.0-4bc8","rts-1.0.2"]},{"type":"pre-existing","id":"ghc-prim-0.12.0-4bc8","pkg-name":"ghc-prim","pkg-version":"0.12.0","depends":["rts-1.0.2"]},{"type":"pre-existing","id":"haskell-lexer-1.2.1-L9g8YbdwMwE76ryxYRvjMs","pkg-name":"haskell-lexer","pkg-version":"1.2.1","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"hspec-2.11.17-E5TzN1xEEw8FFUEZem0tM4","pkg-name":"hspec","pkg-version":"2.11.17","depends":["QuickCheck-2.15.0.1-8sFZB6ND19u6DF6DYprH6v","base-4.20.2.0-026d","hspec-core-2.11.17-5ulsTyEkaW61QsOmwrM9LL","hspec-discover-2.11.17-BZFlupcY7gxBysCTuY4FJj","hspec-expectations-0.8.4-EPZKJcx2YoeBgykVArbMPF"]},{"type":"pre-existing","id":"hspec-core-2.11.17-5ulsTyEkaW61QsOmwrM9LL","pkg-name":"hspec-core","pkg-version":"2.11.17","depends":["HUnit-1.6.2.0-1Wy3OP1J4KoGWDmf7KnEZp","QuickCheck-2.15.0.1-8sFZB6ND19u6DF6DYprH6v","ansi-terminal-1.1.5-3cR3nA9CHtaAKi6Cc2vhvv","array-0.5.8.0-c4d6","base-4.20.2.0-026d","call-stack-0.4.0-JZHIZprcmriEGSnTGG6LDr","containers-0.7-8412","deepseq-1.5.0.0-bb17","directory-1.3.8.5-08c4","filepath-1.5.4.0-150e","haskell-lexer-1.2.1-L9g8YbdwMwE76ryxYRvjMs","hspec-expectations-0.8.4-EPZKJcx2YoeBgykVArbMPF","process-1.6.26.1-262a","quickcheck-io-0.2.0-4tVRtxs0sXAKNydSzOAFuv","random-1.2.1.3-9DRnejD6A3gCvru8O0BNDk","stm-2.5.3.1-9a5c","time-1.12.2-6cc2","transformers-0.6.1.1-2ffd"]},{"type":"pre-existing","id":"hspec-discover-2.11.17-BZFlupcY7gxBysCTuY4FJj","pkg-name":"hspec-discover","pkg-version":"2.11.17","depends":["base-4.20.2.0-026d","directory-1.3.8.5-08c4","filepath-1.5.4.0-150e"]},{"type":"configured","id":"hspec-discover-2.11.17-e-hspec-discover-98760b86d3b82a999fabff69f7b0dd37815dd5aee318d8350ead6ba0833e59fd","pkg-name":"hspec-discover","pkg-version":"2.11.17","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"41721d7aa18ebeebe5aeb882ad43920cc394579ada666695788612accd6bdec3","pkg-src-sha256":"356c9d8df78df3033348be617ddf408914a41dd87c12b5ed787b0480face4652","depends":["base-4.20.2.0-026d","directory-1.3.8.5-08c4","filepath-1.5.4.0-150e","hspec-discover-2.11.17-ea5ba8a86bfc0af06f834ffc2bef137fe58beff118af99e5f615c72bad8a5766"],"exe-depends":[],"component-name":"exe:hspec-discover","bin-file":"/home/jingus/.local/state/cabal/store/ghc-9.10.3-c0c3/hspec-discover-2.11.17-e-hspec-discover-98760b86d3b82a999fabff69f7b0dd37815dd5aee318d8350ead6ba0833e59fd/bin/hspec-discover"},{"type":"configured","id":"hspec-discover-2.11.17-ea5ba8a86bfc0af06f834ffc2bef137fe58beff118af99e5f615c72bad8a5766","pkg-name":"hspec-discover","pkg-version":"2.11.17","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"41721d7aa18ebeebe5aeb882ad43920cc394579ada666695788612accd6bdec3","pkg-src-sha256":"356c9d8df78df3033348be617ddf408914a41dd87c12b5ed787b0480face4652","depends":["base-4.20.2.0-026d","directory-1.3.8.5-08c4","filepath-1.5.4.0-150e"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"hspec-expectations-0.8.4-EPZKJcx2YoeBgykVArbMPF","pkg-name":"hspec-expectations","pkg-version":"0.8.4","depends":["HUnit-1.6.2.0-1Wy3OP1J4KoGWDmf7KnEZp","base-4.20.2.0-026d","call-stack-0.4.0-JZHIZprcmriEGSnTGG6LDr"]},{"type":"configured","id":"lamb-0.1.0.0-inplace-lamb","pkg-name":"lamb","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/jingus/dev/lamb/."},"dist-dir":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb","build-info":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build-info.json","depends":["base-4.20.2.0-026d"],"exe-depends":[],"component-name":"exe:lamb","bin-file":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/x/lamb/build/lamb/lamb"},{"type":"configured","id":"lamb-0.1.0.0-inplace-lamb-tests","pkg-name":"lamb","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/jingus/dev/lamb/."},"dist-dir":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests","build-info":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build-info.json","depends":["base-4.20.2.0-026d","hspec-2.11.17-E5TzN1xEEw8FFUEZem0tM4"],"exe-depends":["hspec-discover-2.11.17-e-hspec-discover-98760b86d3b82a999fabff69f7b0dd37815dd5aee318d8350ead6ba0833e59fd"],"component-name":"test:lamb-tests","bin-file":"/home/jingus/dev/lamb/dist-newstyle/build/x86_64-linux/ghc-9.10.3/lamb-0.1.0.0/t/lamb-tests/build/lamb-tests/lamb-tests"},{"type":"pre-existing","id":"mtl-2.3.1-fcf3","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.20.2.0-026d","transformers-0.6.1.1-2ffd"]},{"type":"pre-existing","id":"os-string-2.0.7-5f8e","pkg-name":"os-string","pkg-version":"2.0.7","depends":["base-4.20.2.0-026d","bytestring-0.12.2.0-b36e","deepseq-1.5.0.0-bb17","exceptions-0.10.9-a970","template-haskell-2.22.0.0-d01f"]},{"type":"pre-existing","id":"pretty-1.1.3.6-773d","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.20.2.0-026d","deepseq-1.5.0.0-bb17","ghc-prim-0.12.0-4bc8"]},{"type":"pre-existing","id":"process-1.6.26.1-262a","pkg-name":"process","pkg-version":"1.6.26.1","depends":["base-4.20.2.0-026d","deepseq-1.5.0.0-bb17","directory-1.3.8.5-08c4","filepath-1.5.4.0-150e","os-string-2.0.7-5f8e","unix-2.8.7.0-c12e"]},{"type":"pre-existing","id":"quickcheck-io-0.2.0-4tVRtxs0sXAKNydSzOAFuv","pkg-name":"quickcheck-io","pkg-version":"0.2.0","depends":["HUnit-1.6.2.0-1Wy3OP1J4KoGWDmf7KnEZp","QuickCheck-2.15.0.1-8sFZB6ND19u6DF6DYprH6v","base-4.20.2.0-026d"]},{"type":"pre-existing","id":"random-1.2.1.3-9DRnejD6A3gCvru8O0BNDk","pkg-name":"random","pkg-version":"1.2.1.3","depends":["base-4.20.2.0-026d","bytestring-0.12.2.0-b36e","deepseq-1.5.0.0-bb17","mtl-2.3.1-fcf3","splitmix-0.1.3.2-AM7Y85TKp6eBmbY6fLUnLo"]},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"pre-existing","id":"splitmix-0.1.3.2-AM7Y85TKp6eBmbY6fLUnLo","pkg-name":"splitmix","pkg-version":"0.1.3.2","depends":["base-4.20.2.0-026d","deepseq-1.5.0.0-bb17"]},{"type":"pre-existing","id":"stm-2.5.3.1-9a5c","pkg-name":"stm","pkg-version":"2.5.3.1","depends":["array-0.5.8.0-c4d6","base-4.20.2.0-026d"]},{"type":"pre-existing","id":"template-haskell-2.22.0.0-d01f","pkg-name":"template-haskell","pkg-version":"2.22.0.0","depends":["base-4.20.2.0-026d","ghc-boot-th-9.10.3-8a30","ghc-prim-0.12.0-4bc8","pretty-1.1.3.6-773d"]},{"type":"pre-existing","id":"time-1.12.2-6cc2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.20.2.0-026d","deepseq-1.5.0.0-bb17"]},{"type":"pre-existing","id":"transformers-0.6.1.1-2ffd","pkg-name":"transformers","pkg-version":"0.6.1.1","depends":["base-4.20.2.0-026d"]},{"type":"pre-existing","id":"unix-2.8.7.0-c12e","pkg-name":"unix","pkg-version":"2.8.7.0","depends":["base-4.20.2.0-026d","bytestring-0.12.2.0-b36e","filepath-1.5.4.0-150e","os-string-2.0.7-5f8e","time-1.12.2-6cc2"]}]} \ No newline at end of file diff --git a/dist-newstyle/cache/solver-plan b/dist-newstyle/cache/solver-plan new file mode 100644 index 0000000..3398312 Binary files /dev/null and b/dist-newstyle/cache/solver-plan differ diff --git a/dist-newstyle/cache/source-hashes b/dist-newstyle/cache/source-hashes new file mode 100644 index 0000000..a1fdde8 Binary files /dev/null and b/dist-newstyle/cache/source-hashes differ diff --git a/dist-newstyle/cache/up-to-date b/dist-newstyle/cache/up-to-date new file mode 100644 index 0000000..6fe7b28 Binary files /dev/null and b/dist-newstyle/cache/up-to-date differ diff --git a/dist-newstyle/packagedb/ghc-9.10.3/package.cache b/dist-newstyle/packagedb/ghc-9.10.3/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/packagedb/ghc-9.10.3/package.cache differ diff --git a/dist-newstyle/packagedb/ghc-9.10.3/package.cache.lock b/dist-newstyle/packagedb/ghc-9.10.3/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..76c11f8 --- /dev/null +++ b/flake.lock @@ -0,0 +1,77 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1777988971, + "narHash": "sha256-qIoWPDs+0/8JecyYgE3gpKQxW/4bLW/gp45vow9ioCQ=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "haskell-flake": { + "locked": { + "lastModified": 1777906944, + "narHash": "sha256-RGc78WXyHT+m3yoVydNDBwaleTWKp1mctBtS8fmyOSo=", + "owner": "srid", + "repo": "haskell-flake", + "rev": "b24a8a95ba7364a3aa6e53c35ad36ec33bd02fff", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "haskell-flake", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1778274207, + "narHash": "sha256-I4puXmX1iovcCHZlRmztO3vW0mAbbRvq4F8wgIMQ1MM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b3da656039dc7a6240f27b2ef8cc6a3ef3bccae7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1777168982, + "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "haskell-flake": "haskell-flake", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..296fd0e --- /dev/null +++ b/flake.nix @@ -0,0 +1,58 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + haskell-flake.url = "github:srid/haskell-flake"; + }; + outputs = inputs@{ self, nixpkgs, flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + systems = nixpkgs.lib.systems.flakeExposed; + imports = [ inputs.haskell-flake.flakeModule ]; + + perSystem = { self', pkgs, ... }: { + + # Typically, you just want a single project named "default". But + # multiple projects are also possible, each using different GHC version. + haskellProjects.default = { + # The base package set representing a specific GHC version. + # By default, this is pkgs.haskellPackages. + # You may also create your own. See https://haskell.nixos.asia/package-set + # basePackages = pkgs.haskellPackages; + + # Extra package information. See https://haskell.nixos.asia/dependency + # + # Note that local packages are automatically included in `packages` + # (defined by `defaults.packages` option). + # + packages = { + # aeson.source = "1.5.0.0"; # Override aeson to a custom version from Hackage + # shower.source = inputs.shower; # Override shower to a custom source path + }; + settings = { + # aeson = { + # check = false; + # }; + # relude = { + # haddock = false; + # broken = false; + # }; + }; + + devShell = { + # Enabled by default + # enable = true; + + # Programs you want to make available in the shell. + # Default programs can be disabled by setting to 'null' + # tools = hp: { fourmolu = hp.fourmolu; ghcid = null; }; + + # Check that haskell-language-server works + # hlsCheck.enable = true; # Requires sandbox to be disabled + }; + }; + + # haskell-flake doesn't set the default package, but you can do it here. + packages.default = self'.packages.lamb; + }; + }; +} diff --git a/lamb.cabal b/lamb.cabal new file mode 100644 index 0000000..134cc60 --- /dev/null +++ b/lamb.cabal @@ -0,0 +1,31 @@ +cabal-version: 3.0 +name: lamb +version: 0.1.0.0 +license: NONE +author: jingus +maintainer: jack@jingus.dev +build-type: Simple + +common warnings + ghc-options: -Wall + +executable lamb + import: warnings + main-is: Main.hs + other-modules: Parser, + Evaluation + build-depends: base + hs-source-dirs: src + default-language: Haskell2010 + +test-suite lamb-tests + type: exitcode-stdio-1.0 + main-is: Spec.hs + hs-source-dirs: src, test + other-modules: Parser, + ParserSpec, + Evaluation, + EvaluationSpec + build-depends: base, hspec + build-tool-depends: hspec-discover:hspec-discover + default-language: Haskell2010 diff --git a/src/Evaluation.hs b/src/Evaluation.hs new file mode 100644 index 0000000..1b246fa --- /dev/null +++ b/src/Evaluation.hs @@ -0,0 +1,6 @@ +module Evaluation where + +import Parser (Expr (Variable)) + +run :: Expr -> Expr +run _ = Variable "a" diff --git a/src/Main.hs b/src/Main.hs new file mode 100644 index 0000000..6490c7c --- /dev/null +++ b/src/Main.hs @@ -0,0 +1,19 @@ +module Main where + +import Evaluation (run) +import Parser (parse) +import System.Environment (getArgs) +import System.IO (IOMode (ReadMode), hGetContents, openFile) + +main :: IO () +main = do + args <- getArgs + + let command = args !! 0 + let path = args !! 1 + + case command of + "run" -> do + content <- openFile path ReadMode >>= hGetContents + either putStrLn putStrLn $ show . run <$> parse content + _ -> putStrLn $ "Unrecognized command: " ++ command diff --git a/src/Parser.hs b/src/Parser.hs new file mode 100644 index 0000000..9e59750 --- /dev/null +++ b/src/Parser.hs @@ -0,0 +1,12 @@ +module Parser where + +data Expr = Variable String | Abstraction (String, Expr) | Application (Expr, Expr) + deriving (Eq) + +instance Show Expr where + show (Variable name) = name + show (Abstraction (arg, body)) = "λ" ++ arg ++ ". " ++ show body + show (Application (f, x)) = show f ++ " " ++ show x + +parse :: String -> Either String Expr +parse _ = Left "unimplemented" diff --git a/test/EvaluationSpec.hs b/test/EvaluationSpec.hs new file mode 100644 index 0000000..245eeee --- /dev/null +++ b/test/EvaluationSpec.hs @@ -0,0 +1,8 @@ +module EvaluationSpec (spec) where +import Test.Hspec + +spec :: Spec +spec = do + describe "Evaluation" $ do + it "can evaluation expressions" $ + True `shouldBe` True diff --git a/test/ParserSpec.hs b/test/ParserSpec.hs new file mode 100644 index 0000000..cb67e5b --- /dev/null +++ b/test/ParserSpec.hs @@ -0,0 +1,10 @@ +module ParserSpec (spec) where + +import Parser (Expr (Abstraction, Variable), parse) +import Test.Hspec + +spec :: Spec +spec = do + describe "Parser" $ do + it "can parse basic expressions" $ + (parse "λx.x") `shouldBe` Right (Abstraction ("x", Variable "x")) diff --git a/test/Spec.hs b/test/Spec.hs new file mode 100644 index 0000000..a824f8c --- /dev/null +++ b/test/Spec.hs @@ -0,0 +1 @@ +{-# OPTIONS_GHC -F -pgmF hspec-discover #-}