Free Software Foundation!

Join now

Category/Programming-language/haskell

From Free Software Directory
Revision as of 14:23, 8 April 2013 by WikiSysop (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation,

Broaden your selection: Category/Programming-language

Category/Programming-language Search icon.png

haskell (7)



Darcs
'darcs' is an advanced revision control system along the lines of CVS or arch. It has two particularly distinctive features which differ from other revision control systems: each copy of the source is a fully functional branch, and underlying it is a consistent and powerful theory of patches (the latter being darcs' most important feature).

Git-annex
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.

Pandoc
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.

It can read Markdown and (subsets of) Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, and DocBook XML; and it can write plain text, Markdown, reStructuredText, XHTML, HTML 5,

LaTeX (including beamer slide shows), ConTeXt, RTF, DocBook XML, OpenDocument XML, ODT, Word docx, GNU Texinfo, MediaWiki markup, EPUB (v2 or v3), FictionBook2, Textile, groff man pages, Emacs Org-Mode, AsciiDoc, and Slidy, Slideous, DZSlides, or S5 HTML slide shows. It can also produce PDF output on systems where LaTeX is installed.

Pandoc's enhanced version of markdown includes syntax for footnotes, tables, flexible ordered lists, definition lists, fenced code blocks, superscript, subscript, strikeout, title blocks, automatic tables of contents, embedded LaTeX math, citations, and markdown inside HTML block elements (these enhancements can be disabled).

In contrast to most existing tools for converting markdown to HTML, which use regex substitutions, Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document, and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer.

PDF output via PDFLaTeX requires the package texlive-latex-recommended, via XeLaTeX it additionally requires texlive-xetex, and via LuaTeX additionally texlive-luatex.

SeL4
a high-assurance, high-performance microkernel developed, maintained and formally verified by NICTA and owned by General Dynamics C4 Systems. It is a member of the L4 family of microkernels, and is the world's most advanced, highest-assured operating-system microkernel.

seL4's implementation is formally (mathematically) proved correct (bug-free) against its specification, is proved to enforce strong security properties, and its operations have proved save upper bounds on their worst-case execution times.

Shake(build tool)
Shake is a Haskell library for writing build systems - designed as a replacement for make. See "Development.Shake" for an introduction, including an example. Further examples are included in the Cabal tarball, under the Examples directory. The homepage contains links to a user manual, an academic paper and further information: <http://www.shakebuild.com/>

To use Shake the user writes a Haskell program that imports "Development.Shake", defines some build rules, and calls the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).

Snowdrift
Snowdrift is a web-based platform for hosting sustainable crowdfunding for projects. The contribution process involves patrons pledging to match other patrons to create a network of support for projects.

The software is being developed to serve the needs of the eponymous website (Snowdrift.coop) (which funds only free/libre projects (including free software)). Currently, the platform is not intentionally designed for running other websites, although anyone is free to do so. Long-term plans include separating the accessory functions so they may be used independently. Besides the fund-raising functions, the platform includes accessory tools such as wiki pages, discussion, and ticketing.

Xmonad
xmonad is a dynamically tiling X11 window manager that is written and configured in Haskell. In other words, it handles the arrangement of windows for you.

It is minimal and efficient, and managed through the keyboard. It is extensible and featureful, through Haskell as the powerful configuration language with a variety of hooks, with a large existing extension library, and things like xinerama support and per-screen workspaces. It is also stable, being written in Haskell and extensively using good practices including formal verification.

As of version 0.7, it has under 1200 lines of code.




Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.


Personal tools
Namespaces

Variants
Actions
Navigation
Contribute