The goals of ShellCheck are:
* To point out and clarify typical beginner's syntax issues, that causes
a shell to give cryptic error messages.
* To point out and clarify typical intermediate level semantic problems,
that causes a shell to behave strangely and counter-intuitively.
* To point out subtle caveats, corner cases and pitfalls, that may cause
an advanced user's otherwise working script to fail under future
circumstances.
This package provides a higher-level interface over threads, in which an
Async a is a concurrent thread that will eventually deliver a value of
type a. The package provides ways to create Async computations, wait for
their results, and cancel them.
Using Async is safer than using threads in two ways:
- When waiting for a thread to return a result, if the thread dies with
an exception then the caller must either re-throw the exception (wait)
or handle it (waitCatch); the exception cannot be ignored.
- The API makes it possible to build a tree of threads that are
automatically killed when their parent dies (see withAsync).
Darcs is a free, open source revision control system. It is:
* Distributed: Every user has access to the full command set, removing
boundaries between server and client or committer and non-committers.
* Interactive: Darcs is easy to learn and efficient to use because it
asks you questions in response to simple commands, giving you choices in
your work flow. You can choose to record one change in a file, while
ignoring another. As you update from upstream, you can review each patch
name, even the full "diff" for interesting patches.
* Smart: Originally developed by physicist David Roundy, darcs is based
on a unique algebra of patches.
This smartness lets you respond to changing demands in ways that would
otherwise not be possible. Learn more about spontaneous branches with
darcs.
git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether
due to limitations in memory, time, or disk space.
It can store large files in many places, from local hard drives, to a
large number of cloud storage services, including S3, WebDAV, and rsync,
with a dozen cloud storage providers usable via plugins. Files can be
stored encrypted with gpg, so that the cloud storage provider cannot see
your data. git-annex keeps track of where each file is stored, so it
knows how many copies are available, and has many facilities to ensure
your data is preserved.
git-annex can also be used to keep a folder in sync between computers,
noticing when files are changed, and automatically committing them to
git and transferring them to other computers. The git-annex webapp
makes it easy to set up and use git-annex this way.
a preprocessor for making GObjects with inline C
This library provides a wrapper to the Linux Kernel's inotify feature,
allowing applications to subscribe to notifications when a file is accessed
or modified.
This library defines an Interpreter monad. It allows to load Haskell
modules, browse them, type-check and evaluate strings with Haskell
expressions and even coerce them into values. The library is
thread-safe and type-safe (even the coercion of expressions to values).
It is, essentially, a huge subset of the GHC API wrapped in a simpler
API.
GNU ncurses is a library for creating command-line application with
pseudo-graphical interfaces. This package is a nice, modern binding to GNU
ncurses.
A small, efficient and portable Haskell regex library for Perl 5
compatible regular expressions. The PCRE library is a set of functions
that implement regular expression pattern matching using the same syntax
and semantics as Perl 5.