Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
curry
curry-tools
Commits
8bbd5d16
Commit
8bbd5d16
authored
Jul 02, 2017
by
Michael Hanus
Browse files
Tools updated
parent
f2d65b24
Changes
21
Hide whitespace changes
Inline
Side-by-side
cpm/docs/currysystem_manual.tex
View file @
8bbd5d16
...
...
@@ -43,7 +43,7 @@ but also tools with some binary. In order to install such tools,
one can use the command
%
\begin{curry}
> cpm install
app
PACKAGE
> cpm install PACKAGE
\end{curry}
%
This command checks out the package in some internal directory
...
...
@@ -58,7 +58,7 @@ can be installed by the following commands:
\begin{curry}
> cpm update
$
\ldots
$
> cpm install
app
cpm
> cpm install cpm
$
\ldots
$
Package 'cpm-xxx' checked out
$
\ldots
$
$
\ldots
$
INFO Installing executable 'cpm' into '/home/joe/.cpm/bin'
...
...
cpm/docs/manual.tex
View file @
8bbd5d16
...
...
@@ -216,20 +216,20 @@ cpm checkout <package>
\end{lstlisting}
to install a local copy of a package.
This is also useful to install some tool distributed as a package.
For instance, to install
\code
{
curry-
genmake
}
,
a
tool to generate a
\code
{
make
}
file
for
a
Curry
application
,
For instance, to install
\code
{
curry-
check
}
,
a
property-testing tool
for Curry,
one can check out the most recent version and install the tool:
%
\begin{lstlisting}
> cpm checkout
makefile
$
\ldots
$
Package '
makefile-1.3.4
' checked out into directory '
makefile
'.
> cd
makefile
> cpm checkout
currycheck
$
\ldots
$
Package '
currycheck-1.0.1
' checked out into directory '
currycheck
'.
> cd
currycheck
> cpm install
$
\ldots
$
INFO Installing executable 'curry-
genmake'
into '/home/joe/.cpm/bin'
INFO Installing executable 'curry-
check
into '/home/joe/.cpm/bin'
\end{lstlisting}
%
Now, the tool
\code
{
curry-
genmake
}
is ready to use
Now, the tool
\code
{
curry-
check
}
is ready to use
if
\code
{
\$
HOME/.cpm/bin
}
is in your path
(see Section~
\ref
{
sec:config
}
for details about changing the location
of this default path).
...
...
@@ -241,10 +241,10 @@ of this default path).
Some packages do not contain only useful libraries
but also application programs or tools.
In order to install the executables of such applications without
explicitly
using the source code of the package
,
explicitly
checking out the package in some local directory
,
one can use the command
\begin{lstlisting}
cpm install
app
<package>
cpm install <package>
\end{lstlisting}
This command checks out the package in some internal directory
(default:
\code
{
\$
HOME/.cpm/app
_
packages
}
, see
...
...
@@ -256,7 +256,7 @@ For instance, the most recent version of the web framework Spicey
can be installed by the following command:
%
\begin{lstlisting}
> cpm install
app
spicey
> cpm install spicey
$
\ldots
$
Package 'spicey-xxx' checked out
$
\ldots
$
$
\ldots
$
INFO Installing executable 'spiceup' into '/home/joe/.cpm/bin'
...
...
@@ -564,7 +564,7 @@ For instance, to install the binary
of the package
\code
{
spicey
}
in the directory
\code
{
\$
HOME/bin
}
,
one can execute the command
\begin{lstlisting}
> cpm --define bin
_
install
_
path=
$
\$
$
HOME/bin install
app
spicey
> cpm --define bin
_
install
_
path=
$
\$
$
HOME/bin install spicey
\end{lstlisting}
...
...
@@ -608,15 +608,15 @@ This section gives a short description of all available CPM commands.
In addition to the commands listed below, there are some global options
which can be placed in front of the CPM command:
\begin{description}
\item
[\code{-d$\,|\,$--define $option$=$value$}:]
This option overrides the configuration options of CPM,
see Section~
\ref
{
sec:config
}
.
\item
[\code{-v$\,|\,$--verbosity [info|debug]
}
:]
The default value is
\code
{
info
}
.
The value
\code
{
debug
}
provides more output messages in order to see
what CPM is doing.
\item
[\code{-t$\,|\,$--time}:]
This option adds the elapsed time to every info or debug output line.
\item
[\code{-d$\,|\,$--define $option$=$value$}:]
This option overrides the configuration options of CPM,
see Section~
\ref
{
sec:config
}
.
\end{description}
%
The available commands of CPM are:
...
...
@@ -664,28 +664,50 @@ exporting the module \code{JSON.Data} can be found by the command
\item
[\fbox{\code{update}}]
Updates the local copy of the central package index
to the newest available version.
\item
[\fbox{\code{install}}]
Installs all dependencies of the current package.
\item
[\fbox{\code{install}}]
Installs all dependencies of the current package.
Furthermore, if the current package contains an executable application,
the application is compiled and the executable is installed
(unless the option
\code
{
-n
}
or
\code
{
--noexec
}
is set).
With the option
\code
{
-x
}
or
\code
{
--exec
}
, the executable
is installed without installing all dependencies again.
This is useful to speed up the re-installation of a previously
installed application.
\item
[\fbox{\code{install $package$ [--$pre$]
}}
] Installs the newest version
(compatible to the current compiler) of
a package to the global package cache.
\code
{
--
$
pre
$}
enables the installation
of pre-release versions.
\item
[\fbox{\code{install $package$ [--$pre$]
}}
]
Installs the application provided by the newest version
(compatible to the current compiler) of a package.
The binary of the application is installed into the directory
\code
{
\$
HOME/.cpm/bin
}
(this location can be changed via the
\code
{
\$
HOME/.cpmrc
}
configuration file
or by the CPM option
\code
{
--define
}
, see Section~
\ref
{
sec:config
}
).
\code
{
--
$
pre
$}
enables the installation of pre-release versions.
\item
[\fbox{\code{install $package$ $version$}}]
Installs a specific version of
a package to the global package cache.
\item
[\fbox{\code{install $package$ $version$}}]
Install the application provided by a specific version of a package.
The binary of the application is installed into the directory
\code
{
\$
HOME/.cpm/bin
}
(this location can be changed via the
\code
{
\$
HOME/.cpmrc
}
configuration file
or by the CPM option
\code
{
--define
}
, see Section~
\ref
{
sec:config
}
).
\item
[\fbox{\code{install $package$.zip}}]
Installs a package from a ZIP file
to the global package cache. The ZIP file must contain at least the
package description file
\code
{
package.json
}
and the directory
\code
{
src
}
containing the Curry source files.
\item
[\fbox{\code{uninstall}}]
Uninstall the executable installed
for this package.
\item
[\fbox{\code{uninstall}}]
Uninstalls the executable installed for the current package.
\item
[\fbox{\code{uninstall $package$}}]
Uninstalls the executable and the cached copy of a package
which has been installed by the
\code
{
install
}
command.
\item
[\fbox{\code{uninstall $package$ $version$}}]
Uninstalls a specific version
of a package from the global package cache.
\item
[\fbox{\code{uninstall $package$ $version$}}]
Uninstalls a specific version
\item
[\fbox{\code{uninstall $package$ $version$}}]
Uninstalls a specific version
of a package from the global package cache.
\item
[\fbox{\code{checkout $package$ [--$pre$]
}}
]
...
...
@@ -699,21 +721,21 @@ Checks out a specific version of a package
into the local directory
\code
{$
package
$}
in order to test its operations or install a binary of the package..
\item
[\fbox{\code{installapp $package$ [--$pre$]
}}
]
Install the application provided by the newest version
(compatible to the current compiler) of a package.
The binary of the application is installed into the directory
\code
{
\$
HOME/.cpm/bin
}
(this location can be changed via the
\code
{
\$
HOME/.cpmrc
}
configuration file
or by the CPM option
\code
{
--define
}
, see Section~
\ref
{
sec:config
}
).
\code
{
--
$
pre
$}
enables the installation of pre-release versions.
\item
[\fbox{\code{installapp $package$ $version$}}]
Install the application provided by a specific version of a package.
The binary of the application is installed into the directory
\code
{
\$
HOME/.cpm/bin
}
(this location can be changed via the
\code
{
\$
HOME/.cpmrc
}
configuration file
or by the CPM option
\code
{
--define
}
, see Section~
\ref
{
sec:config
}
).
%
\item[\fbox{\code{installapp $package$ [--$pre$]}}]
%
Install the application provided by the newest version
%
(compatible to the current compiler) of a package.
%
The binary of the application is installed into the directory
%
\code{\$HOME/.cpm/bin}
%
(this location can be changed via the \code{\$HOME/.cpmrc} configuration file
%
or by the CPM option \code{--define}, see Section~\ref{sec:config}).
%
\code{--$pre$} enables the installation of pre-release versions.
%
%
\item[\fbox{\code{installapp $package$ $version$}}]
%
Install the application provided by a specific version of a package.
%
The binary of the application is installed into the directory
%
\code{\$HOME/.cpm/bin}
%
(this location can be changed via the \code{\$HOME/.cpmrc} configuration file
%
or by the CPM option \code{--define}, see Section~\ref{sec:config}).
\item
[\fbox{\code{upgrade}}]
Upgrades all dependencies of the current package to
...
...
@@ -899,8 +921,7 @@ in all versions.
The compiler compatibility of a package is also relevant when
some version of a package should be examined or installed
(with CPM commands
\code
{
info
}
,
\code
{
checkout
}
,
\code
{
install
}
,
\code
{
installapp
}
).
(with CPM commands
\code
{
info
}
,
\code
{
checkout
}
,
\code
{
install
}
).
If a newest package should be installed, i.e., no specific version
number is provided, then only the newest version
which is compatible to the current Curry compiler
...
...
cpm/src/CPM/Main.curry
View file @
8bbd5d16
...
...
@@ -8,7 +8,8 @@ import Char ( toLower )
import CSV ( showCSV )
import Directory ( doesFileExist, getAbsolutePath, doesDirectoryExist
, copyFile, createDirectory, createDirectoryIfMissing
, getDirectoryContents, getModificationTime
, getCurrentDirectory, getDirectoryContents
, getModificationTime
, renameFile, removeFile, setCurrentDirectory )
import Distribution ( stripCurrySuffix, addCurrySubdir )
import Either
...
...
@@ -46,7 +47,7 @@ cpmBanner :: String
cpmBanner = unlines [bannerLine,bannerText,bannerLine]
where
bannerText =
"Curry Package Manager <curry-language.org/tools/cpm> (version of 0
6
/0
6
/2017)"
"Curry Package Manager <curry-language.org/tools/cpm> (version of 0
2
/0
7
/2017)"
bannerLine = take (length bannerText) (repeat '-')
main :: IO ()
...
...
@@ -85,12 +86,13 @@ runWithArgs opts = do
(msgs, result) <- case optCommand opts of
NoCommand -> failIO "NoCommand"
Update -> updateRepository config
Compiler o -> compiler o config getRepoGC
Exec o -> exec o config getRepoGC
Doc o -> docCmd o config getRepoGC
Test o -> testCmd o config getRepoGC
Link o -> linkCmd o config
Add o -> addCmd o config
Compiler o -> compiler o config getRepoGC
Exec o -> exec o config getRepoGC
Doc o -> docCmd o config getRepoGC
Test o -> testCmd o config getRepoGC
Uninstall o -> uninstall o config getRepoGC
Link o -> linkCmd o config
Add o -> addCmd o config
Clean -> cleanPackage Info
New o -> newPackage o
_ -> do repo <- readRepository config
...
...
@@ -105,7 +107,6 @@ runWithArgs opts = do
InstallApp o -> installapp o config repo globalCache
Install o -> install o config repo globalCache
Diff o -> diff o config repo globalCache
Uninstall o -> uninstall o config repo globalCache
Upgrade o -> upgrade o config repo globalCache
_ -> error "Internal command processing error!"
mapIO showLogEntry msgs
...
...
@@ -160,7 +161,8 @@ data InstallOptions = InstallOptions
{ instTarget :: Maybe String
, instVersion :: Maybe Version
, instPrerelease :: Bool
, instExecutable :: Bool }
, instExecutable :: Bool
, instExecOnly :: Bool }
data UninstallOptions = UninstallOptions
{ uninstPackage :: Maybe String
...
...
@@ -231,7 +233,7 @@ checkoutOpts s = case optCommand s of
installOpts :: Options -> InstallOptions
installOpts s = case optCommand s of
Install opts -> opts
_ -> InstallOptions Nothing Nothing False True
_ -> InstallOptions Nothing Nothing False True
False
uninstallOpts :: Options -> UninstallOptions
uninstallOpts s = case optCommand s of
...
...
@@ -351,16 +353,16 @@ optionParser = optParser
<.> commands (metavar "COMMAND")
( command "checkout" (help "Checkout a package.") Right
(checkoutArgs Checkout)
<|> command "installapp"
(help "Install the application provided by a package.")
Right
(checkoutArgs InstallApp)
<|> command "install" (help "Install a package.")
<|> command "install" (help "Install a package with its dependencies.")
(\a -> Right $ a { optCommand = Install (installOpts a) })
installArgs
<|> command "uninstall" (help "Uninstall package")
<|> command "uninstall" (help "Uninstall
a
package")
(\a -> Right $ a { optCommand = Uninstall (uninstallOpts a) })
uninstallArgs
<|> command "installapp"
(help "Install the application provided by a package (depreacted).")
Right
(checkoutArgs InstallApp)
<|> command "deps" (help "Calculate dependencies")
(\a -> Right $ a { optCommand = Deps }) []
<|> command "clean" (help "Clean the current package")
...
...
@@ -441,6 +443,11 @@ optionParser = optParser
( short "n"
<> long "noexec"
<> help "Do not install executable.")
<.> flag (\a -> Right $ a { optCommand = Install (installOpts a)
{ instExecOnly = True } })
( short "x"
<> long "exec"
<> help "Install executable only (do not re-install dependencies).")
uninstallArgs =
arg (\s a -> Right $ a { optCommand =
...
...
@@ -706,9 +713,30 @@ checkout (CheckoutOptions pkg (Just ver) _) cfg repo gc =
Just p -> acquireAndInstallPackageWithDependencies cfg repo gc p |>
checkoutPackage cfg repo gc p
install :: InstallOptions -> Config -> Repository -> GlobalCache
-> IO (ErrorLogger ())
install (InstallOptions Nothing Nothing _ instexec False) cfg repo gc =
tryFindLocalPackageSpec "." |>= \pkgdir ->
cleanCurryPathCache pkgdir |>
installLocalDependencies cfg repo gc pkgdir |>= \ (pkg,_) ->
writePackageConfig cfg pkgdir pkg |>
if instexec then installExecutable cfg repo pkg else succeedIO ()
-- Install executable only:
install (InstallOptions Nothing Nothing _ _ True) cfg repo _ =
tryFindLocalPackageSpec "." |>= \pkgdir ->
loadPackageSpec pkgdir |>= \pkg ->
installExecutable cfg repo pkg
install (InstallOptions (Just pkg) vers pre _ _) cfg repo gc = do
fileExists <- doesFileExist pkg
if fileExists
then installFromZip cfg pkg
else installapp (CheckoutOptions pkg vers pre) cfg repo gc
install (InstallOptions Nothing (Just _) _ _ _) _ _ _ =
failIO "Must specify package name"
--- Installs the application (i.e., binary) provided by a package.
--- This is done by checking out the package into CPM's
bin_
packages
--- cache (default: $HOME/.cpm/
bin
_packages, see
bin_package_path
--- This is done by checking out the package into CPM's
application
packages
--- cache (default: $HOME/.cpm/
app
_packages, see
APP_PACKAGE_PATH
--- in .cpmrc configuration file) and then install this package.
---
--- Internal note: the installed package should not be cleaned or removed
...
...
@@ -717,40 +745,24 @@ checkout (CheckoutOptions pkg (Just ver) _) cfg repo gc =
installapp :: CheckoutOptions -> Config -> Repository -> GlobalCache
-> IO (ErrorLogger ())
installapp opts cfg repo gc = do
let apppkgdir = appPackageDir cfg
copkgdir = apppkgdir </> coPackage opts
curdir <- getCurrentDirectory
removeDirectoryComplete copkgdir
debugMessage ("Change into directory " ++ apppkgdir)
inDirectory apppkgdir
(checkout opts cfg repo gc |>
log Debug ("Change into directory " ++ copkgdir) |>
(setCurrentDirectory copkgdir >> succeedIO ()) |>
install (InstallOptions Nothing Nothing False True) cfg repo gc )
where
apppkgdir = appPackageDir cfg
copkgdir = apppkgdir </> coPackage opts
install :: InstallOptions -> Config -> Repository -> GlobalCache
-> IO (ErrorLogger ())
install (InstallOptions Nothing Nothing _ instexec) cfg repo gc =
tryFindLocalPackageSpec "." |>= \pkgdir ->
cleanCurryPathCache pkgdir |>
installLocalDependencies cfg repo gc pkgdir |>= \ (pkg,_) ->
writePackageConfig cfg pkgdir pkg |>
if instexec then installExecutable cfg repo pkg else succeedIO ()
install (InstallOptions (Just pkg) Nothing pre _) cfg repo gc = do
fileExists <- doesFileExist pkg
if fileExists
then installFromZip cfg pkg
else case findLatestVersion cfg repo pkg pre of
Nothing -> failIO $ "Package '" ++ pkg ++
"' not found in package repository."
Just p -> acquireAndInstallPackageWithDependencies cfg repo gc p
install (InstallOptions (Just pkg) (Just ver) _ _) cfg repo gc =
case findVersion repo pkg ver of
Nothing -> failIO $ "Package '" ++ pkg ++ "-" ++ (showVersion ver) ++
"' not found in package repository."
Just p -> acquireAndInstallPackageWithDependencies cfg repo gc p
install (InstallOptions Nothing (Just _) _ _) _ _ _ =
failIO "Must specify package name"
( checkout opts cfg repo gc |>
log Debug ("Change into directory " ++ copkgdir) |>
(setCurrentDirectory copkgdir >> succeedIO ()) |>
loadPackageSpec "." |>= \pkg ->
maybe (setCurrentDirectory curdir >>
removeDirectoryComplete copkgdir >>
failIO ("Package '" ++ name pkg ++
"' does not contain an executable, nothing installed."))
(\_ -> install (InstallOptions Nothing Nothing False True False)
cfg repo gc)
(executableSpec pkg)
)
--- Checks the compiler compatibility.
checkCompiler :: Config -> Package -> IO ()
...
...
@@ -801,17 +813,28 @@ installExecutable cfg repo pkg =
else log Info $ "It is recommended to add '" ++bindir++ "' to your path!"
uninstall :: UninstallOptions -> Config -> Repository
->
GlobalCache
uninstall :: UninstallOptions -> Config ->
IO (
Repository
,
GlobalCache
)
-> IO (ErrorLogger ())
uninstall (UninstallOptions (Just pkg) (Just ver)) cfg repo gc =
uninstallPackage cfg repo gc pkg ver
uninstall (UninstallOptions (Just _) Nothing) _ _ _ =
log Error "Please provide a package and version number!"
uninstall (UninstallOptions Nothing (Just _)) _ _ _ =
uninstall (UninstallOptions (Just pkgname) (Just ver)) cfg getRepoGC =
getRepoGC >>= \ (repo,gc) -> uninstallPackage cfg repo gc pkgname ver
--- uninstalls an application (i.e., binary) provided by a package:
uninstall (UninstallOptions (Just pkgname) Nothing) cfg _ = do
let copkgdir = appPackageDir cfg </> pkgname
codirexists <- doesDirectoryExist copkgdir
if codirexists
then loadPackageSpec copkgdir |>= uninstallPackageExecutable cfg |>
removeDirectoryComplete copkgdir >>
log Info ("Package '" ++ pkgname ++
"' uninstalled from application package cache.")
else failIO $ "Package '" ++ pkgname ++ "' is not installed."
uninstall (UninstallOptions Nothing (Just _)) _ _ =
log Error "Please provide a package and version number!"
uninstall (UninstallOptions Nothing Nothing) cfg _
_
=
uninstall (UninstallOptions Nothing Nothing) cfg _ =
tryFindLocalPackageSpec "." |>= \pkgdir ->
loadPackageSpec pkgdir |>= \pkg ->
loadPackageSpec pkgdir |>= uninstallPackageExecutable cfg
uninstallPackageExecutable :: Config -> Package -> IO (ErrorLogger ())
uninstallPackageExecutable cfg pkg =
maybe (succeedIO ())
(\ (PackageExecutable name _ _) ->
let binexec = binInstallDir cfg </> name
...
...
cpm/vendor/cass/docs/main.tex
0 → 100644
View file @
8bbd5d16
\documentclass
[11pt,fleqn]
{
article
}
\usepackage
[T1]
{
fontenc
}
\usepackage
{
latexsym
}
\usepackage
{
url
}
\usepackage
{
xspace
}
\usepackage
{
graphicx
}
\setlength
{
\textwidth
}{
16.5cm
}
\setlength
{
\textheight
}{
23cm
}
\renewcommand
{
\baselinestretch
}{
1.1
}
\setlength
{
\topmargin
}{
-1cm
}
\setlength
{
\oddsidemargin
}{
0cm
}
\setlength
{
\evensidemargin
}{
0cm
}
\setlength
{
\marginparwidth
}{
0.0cm
}
\setlength
{
\marginparsep
}{
0.0cm
}
\newlength
{
\figurewidth
}
\setlength
{
\figurewidth
}{
\textwidth
}
\addtolength
{
\figurewidth
}{
-0.4cm
}
% font for program texts
\renewcommand
{
\tt
}{
\usefont
{
OT1
}{
cmtt
}{
m
}{
n
}
\selectfont
}
\newcommand
{
\codefont
}{
\small\tt
}
\usepackage
{
listings
}
\lstset
{
aboveskip=1.5ex,
belowskip=1.5ex,
showstringspaces=false,
% no special string space
mathescape=true,
flexiblecolumns=false,
xleftmargin=2ex,
basewidth=0.52em,
basicstyle=
\small\ttfamily
}
\lstset
{
literate=
{
->
}{{$
\rightarrow
{}
\!\!\!
$}}
3
}
\lstnewenvironment
{
curry
}{}{}
\lstnewenvironment
{
currynomath
}{
\lstset
{
mathescape=false
}}{}
% Curry w/o math
\newcommand
{
\listline
}{
\vrule
width0pt depth1.75ex
}
% program text in normal text
\newcommand
{
\code
}
[1]
{
\mbox
{
\codefont
#1
}}
% program text in normal text with apostrophs
\newcommand
{
\ccode
}
[1]
{
``
\code
{
#1
}
''
}
\newcommand
{
\pindex
}
[1]
{
\index
{
#1@
{
\tt
#1
}}}
% program elements in index
\newcommand
{
\CYS
}{
Curry
\xspace
}
% name of the Curry system described here
\newcommand
{
\cyshome
}{
\mbox
{
\textit
{
curryhome
}}
\xspace
}
% symbolic installation directory
\begin{document}
\sloppy
\input
{
manual.tex
}
% Bibliography
\begin{thebibliography}
{
10
}
\bibitem
{
HanusSkrlac14
}
M.~Hanus and F.~Skrlac.
\newblock
A modular and generic analysis server system for functional logic
programs.
\newblock
In
{
\em
Proc. of the ACM SIGPLAN 2014 Workshop on Partial Evaluation
and Program Manipulation (PEPM'14)
}
, pages 181--188. ACM Press, 2014.
\end{thebibliography}
\end{document}
cpm/vendor/cass/docs/manual.tex
View file @
8bbd5d16
...
...
@@ -23,8 +23,7 @@ of a programmer who is interested to analyze Curry programs.
\subsection
{
Installation
}
The current implementation of CASS is a package
managed by the Curry Package Manager CPM
(see also Section~
\ref
{
sec-cpm
}
).
managed by the Curry Package Manager CPM.
Thus, to install the newest version of CASS, use the following commands:
%
\begin{curry}
...
...
cpm/vendor/cass/package.json
View file @
8bbd5d16
...
...
@@ -16,6 +16,10 @@
"name"
:
"cass"
,
"main"
:
"CASS.Main"
},
"documentation"
:
{
"src-dir"
:
"docs"
,
"main"
:
"main.tex"
},
"source"
:
{
"git"
:
"https://git.ps.informatik.uni-kiel.de/curry-packages/cass.git"
,
"tag"
:
"$version"
...
...
cpm/vendor/opt-parse/package.json
View file @
8bbd5d16
...
...
@@ -13,6 +13,10 @@
"kics2"
:
">= 0.5.0"
},
"exportedModules"
:
[
"OptParse"
],
"documentation"
:
{
"src-dir"
:
"."
,
"main"
:
"README.md"
},
"source"
:
{
"git"
:
"https://git.ps.informatik.uni-kiel.de/curry-packages/opt-parse.git"
,
"tag"
:
"$version"
...
...
currycheck/docs/README.txt
View file @
8bbd5d16
...
...
@@ -3,3 +3,5 @@ This directory contains some documention for the CurryCheck tool:
manual.tex:
A short description to be included in the main manual of the Curry system.
main.tex:
The manual as a stand-alone LaTeX file.
currycheck/docs/main.tex
0 → 100644
View file @
8bbd5d16
\documentclass
[11pt,fleqn]
{
article
}
\usepackage
[T1]
{
fontenc
}
\usepackage
{
latexsym
}
\usepackage
{
url
}
\usepackage
{
xspace
}
\usepackage
{
graphicx
}
\setlength
{
\textwidth
}{
16.5cm
}
\setlength
{
\textheight
}{
23cm
}
\renewcommand
{
\baselinestretch
}{
1.1
}
\setlength
{
\topmargin
}{
-1cm
}
\setlength
{
\oddsidemargin
}{
0cm
}
\setlength
{
\evensidemargin
}{
0cm
}
\setlength
{
\marginparwidth
}{
0.0cm
}
\setlength
{
\marginparsep
}{
0.0cm
}
\newlength
{
\figurewidth
}
\setlength
{
\figurewidth
}{
\textwidth
}
\addtolength
{
\figurewidth
}{
-0.4cm
}
% font for program texts
\renewcommand
{
\tt
}{
\usefont
{
OT1
}{
cmtt
}{
m
}{
n
}
\selectfont
}
\newcommand
{
\codefont
}{
\small\tt
}
\usepackage
{
listings
}
\lstset
{
aboveskip=1.5ex,
belowskip=1.5ex,
showstringspaces=false,
% no special string space
mathescape=true,
flexiblecolumns=false,
xleftmargin=2ex,
basewidth=0.52em,
basicstyle=
\small\ttfamily
}
\lstset
{
literate=
{
->
}{{$
\rightarrow
{}
\!\!\!
$}}
3
}
\lstnewenvironment
{
curry
}{}{}
\lstnewenvironment
{
currynomath
}{
\lstset
{
mathescape=false
}}{}
% Curry w/o math
\newcommand
{
\listline
}{
\vrule
width0pt depth1.75ex
}
% program text in normal text
\newcommand
{
\code
}
[1]
{
\mbox
{
\codefont
#1
}}
% program text in normal text with apostrophs
\newcommand
{
\ccode
}
[1]
{
``
\code
{
#1
}
''
}
\newcommand
{
\pindex
}
[1]
{
\index
{
#1@
{
\tt
#1
}}}
% program elements in index
\newcommand
{
\CYS
}{
Curry
\xspace
}
% name of the Curry system described here
\newcommand
{
\cyshome
}{
\mbox
{
\textit
{
curryhome
}}
\xspace
}
% symbolic installation directory
\begin{document}
\sloppy
\input
{
manual.tex
}
% Bibliography
\begin{thebibliography}
{
10
}
\bibitem
{
AntoyHanus05LOPSTR
}
S.~Antoy and M.~Hanus.
\newblock
Declarative programming with function patterns.
\newblock
In
{
\em
Proceedings of the International Symposium on Logic-based
Program Synthesis and Transformation (LOPSTR'05)
}
, pages 6--22. Springer LNCS
3901, 2005.
\bibitem
{
AntoyHanus09
}
S.~Antoy and M.~Hanus.
\newblock
Set functions for functional logic programming.
\newblock
In
{
\em
Proceedings of the 11th ACM SIGPLAN International Conference
on Principles and Practice of Declarative Programming (PPDP'09)
}
, pages
73--82. ACM Press, 2009.
\bibitem
{
AntoyHanus12PADL
}
S.~Antoy and M.~Hanus.
\newblock
Contracts and specifications for functional logic programming.
\newblock
In
{
\em
Proc. of the 14th International Symposium on Practical
Aspects of Declarative Languages (PADL 2012)
}
, pages 33--47. Springer LNCS
7149, 2012.
\bibitem
{
ChristiansenFischer08FLOPS
}
J.~Christiansen and S.~Fischer.
\newblock
{
EasyCheck
}
- test data for free.
\newblock
In
{
\em
Proc. of the 9th International Symposium on Functional and
Logic Programming (FLOPS 2008)
}
, pages 322--336. Springer LNCS 4989, 2008.
\bibitem
{
ClaessenHughes00
}
K.~Claessen and J.~Hughes.
\newblock
Quickcheck: A lightweight tool for random testing of haskell
programs.
\newblock
In
{
\em
International Conference on Functional Programming
(ICFP'00)
}
, pages 268--279. ACM Press, 2000.
\end{thebibliography}
\end{document}
currypp/.cpm/packages/cass/docs/main.tex
0 → 100644
View file @
8bbd5d16
\documentclass
[11pt,fleqn]
{
article
}
\usepackage
[T1]
{
fontenc
}
\usepackage
{
latexsym
}