husk is a dialect of Scheme written in Haskell that implements a superset of the R5RS standard.
Husk may be used as either a stand-alone interpreter or as an extension language within a larger Haskell application, and is available under the MIT license.
Tag: Haskell
Pandoc A Universal File Markup Language Converter
If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Need to generate a man page from a markdown file? No problem. LaTeX to Docbook? Sure. HTML to MediaWiki? Yes, that too. Pandoc can read markdown and (subsets of) reStructuredText, textile, HTML, and LaTeX, and it can write plain text, markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, textile, groff man pages, Emacs org-mode, EPUB ebooks, and S5 and Slidy HTML slide shows. PDF output (via LaTeX) is also supported with the included markdown2pdf wrapper script.
Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists (start number and numbering style are significant); delimited code blocks; markdown inside HTML blocks; and TeX math. Other options include “smart” punctuation, syntax highlighting, automatically generated tables of contents, and automatically generated citations (using citeproc-hs). If strict markdown compatibility is desired, all of these extensions can be turned off with a command-line flag.
(via pandoc)
Haskell 2010 Features
Haskell on the iPhone
Standard Haskell
This is the the Haskell Platform, version 2009.2.0.1: a single, standard Haskell distribution for every system.
The Haskell Platform is a blessed library and tool suite for Haskell distilled from Hackage, along with installers for a wide variety of systems. The contents of the platform are specified here: Haskell: Batteries Included.
The platform saves you the task of picking and choosing the best Haskell libraries and tools to use for a task. Distro maintainers that support the Haskell Platform can be confident they’re fully supporting Haskell as the developers intend it. Developers targetting the platform can be confident they have a trusted base of code to work with.
It looks interesting; a blessed package collection and a compiler ready to run on OS X, Windows, and Linux.
(via Control.Monad.Writer via reddit)
Learning Haskell through Category Theory
Benjamin Russell posts on learning Haskell through Category Theory here.
There are a lot of books listed. each with a detailed comment by Ben about the material. It looks interesting for folks who want to learn category theory.
Helium for learning Haskell
Helium is a user-friendly compiler designed especially for learning the functional programming language Haskell. The quality of the error messages has been the main concern both in the choice of the language features and in the implementation of the compiler. Helium implements almost full Haskell, where the most notable difference is the absence of type classes. Our goal is to let students learn functional programming more quickly and with more fun. The compiler has been successfully employed in two introductory programming courses at Utrecht University.
(mentioned on the PLT discussion list)
Why Calculating is Better than Scheming
In 1987 Phil Wadler wrote the paper Why Calculating is Better than Scheming. It is an essay on the shortcomings of using Scheme as the programming language with which to teach beginning programmers in SICP, and how Miranda would have a better choice for teaching the software engineers of tomorrow. This was very fun for me to read, and might be for you, too, if you are interested in teaching or the history of both Haskell and Scheme.
Continue reading “Why Calculating is Better than Scheming”
Haskell Super Mario Bros
Here is a post on a reimplementation of Super Mario Bros written in Haskell.
(via The Little Calculist)
Liskell
is a new syntax frontend for Haskell. Next to its syntax in the form of symbolic expressions — which is also known as Lisp — Liskell also features an extended meta-programming facility. Its aim is to get the best of both worlds: being pure and functional with type inference in the tradition of Haskell, while providing the simplicity and uniformity in its syntax that is necessary for meta-programming.