Category/Programming-language/haskell

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

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

Broaden your selection: Category/Programming-language

Category/Programming-language Search icon.png

haskell (13)



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).
Elektra
Elektra is a configuration management framework, it mounts configuration files into global keys database creating sort of virtual file system for easier access, changing and locating the configuration parameters. A wide range of plugins is available used to specify format (JSON, INI, XML and others), default settings , validation, etc. Use High-level API to elektrify your application for easier maintenance and generate type-safe configuration access code based on same specification used for validation. The core is the library implemented in C, bindings to another languages are provided.
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.
Hledger
hledger is an accounting program, for tracking money, time, or other commodities. With simple yet powerful functionality accessed from command line, terminal or web browser, hledger is a fast, secure, dependable alternative to spreadsheets, Quickbooks, GnuCash, Xero etc.
Homoeopim
This is a toy homoeopathy software using a database, an expert system and a suit of CGI programs to search for homoeopathic remedies depending on symptoms entered. There is an iteration mode where questions are asked in a attempt to refine the search. This is an ongoing project, but with 47,000+ mapping entries between remedies and symptoms, it should be marginally usable.
ImplicitCAD
ImplicitCAD is a programmatic CAD program, implemented in haskell. Unlike traditional CAD programs, programmatic CAD programs use text descriptions of objects, as in programming. Concepts like variables, control structures and abstraction are used, just as in programming. This provides a number of advantages:
  • Objects can be abstracted and reused
  • Repetitive tasks can be automated
  • Objects can be designed parametrically
  • The usual tools for software development (like version control) can be used
The traditional example of programmatic CAD is OpenSCAD. Generally, objects in programmatic CAD are built with Constructive Solid Geometry or CSG. Unions, intersections and differences of simpler shapes slowly build the object. ImplicitCAD supports all this and much more! For example, it provides rounded unions so that one can have smooth interfaces between objects. It also directly provides some GCode generation, and has a parser for OpenSCAD to make it easier for people to transition/use. ImplicitCAD is very much a work in progress. The author considers it ready for beta testers and greatly appreciates bug reports.
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).
Shell-haskell
'shell-haskell' is a library for communicating with other processes via Haskell code. It can be used for both simple tasks like getting the output of another program or more complex tasks like interacting with an interpreter.

... further results



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.