Newbies What Next ? News Forums Calendar


News Sections
General News (3987/0)
Reviews (637/0)
Press Releases (465/0)
Distributions (197/0)
Software (915/0)
Hardware (537/0)
Security (192/0)
Tutorials (356/0)
Off Topic (181/0)

User Functions


Don't have an account yet? Sign up as a New User

There are no upcoming events

9 Best Free Haskell Books - Page 2

9 Best Free Haskell Books - Page 2

4. Write Yourself a Scheme in 48 Hours

Write Yourself a Scheme in 48 Hours
Author Wikibooks contributors
Format PDF, HTML
Pages 138

Write Yourself a Scheme in 48 Hours starts off with command-line arguments and parsing, and progresses to writing a fully-functional Scheme interpreter that implements a good-sized subset of R5RS Scheme. Along the way, the reader learns Haskell's I/O, mutable state, dynamic typing, error handling, and parsing features. By the end of the book, the reader should be fairly fluent in both Haskell and Scheme.

Chapters cover:

  • Overview
  • First Steps: Compiling and running
  • Parsing
    1. A Simple Parser - using the Parsec library
    2. Whitespace - add a series of improvements to the simple parser that will let it recognize progressively more complicated expressions
    3. Literal Numbers and Strings: Return Values - learn how to define a data type, and how to modify our parser so that it returns this data type
    4. Lists, Dotted Lists, and Quoted Data: Recursive Parsers - add a few more parser actions to the interpreter
  • Evaluation, Part 1
    1. Displaying Values: Show and Typeclasses - the first steps towards a working Scheme interpreter: assigning values to program fragments
    2. Evaluating Primitive Values: Pattern Matching
    3. Evaluating Primitive Functions: First-class Functions - adding basic primitives
  • Intermezzo: Error Checking & Exceptions
  • Evaluation, Part 2 - additional primitives: partial application, conditionals: pattern matching 2, list primitives: car, cdr, and cons, equal? and weak typing: heterogenous lists
  • Building a REPL: Basic I/O - build a system that can execute multiple statements without exiting the program
  • Adding Variables and Assignment: Mutable State in Haskell
  • Defining Scheme Functions: Closures and Environments - define your own functions within Scheme and use them from other functions
  • Creating IO Primitives: File I/O
  • Towards a Standard Library: Fold and Unfold - implement two primitive recursion operators (fold and unfold) and then define our whole library based on those
  • Conclusion & Further Resources

5. The Haskell School of Music -- From Signals to Symphonies

The Haskell School of Music -- From Signals to Symphonies
Author Paul Hudak
Format PDF
Pages 353

The Haskell School of Music -- From Signals to Symphonies (a work in progress) is a book that describes Euterpea, a computer music library developed in Haskell. The library allows programming computer music applications both at the note level and the signal level.

  • An Overview of Computer Music, Euterpea, and Haskell - introduces some of the fundamental ideas of functional programming in Haskell
  • Simple Music - reveals the actual definitions of Euterpea’s functions and operators, such as note, rest,(:+:),(:=:), and trans. In addition, a number of other musical ideas are developed, and in the process more Haskell features are introduced
  • Polymorphic and Higher-Order Functions - covers abstraction over recursive definitions, append, fold, reversing a list, currying, and errors
  • A Musical Interlude - an existing composition is transcribed into Euterpea. Then a simple form of algorithmic composition is presented
  • Syntactic Magic - introduces several more of Haskell’s syntactic devices that facilitate writing concise and intuitive programs. It covers sections, anonymous functions, list comprehensions, function composition, higher-order thinking, and infix function application
  • More Music - explores a number of simple musical ideas, and contributes to a growing collection of Euterpea functions for expressing those ideas
  • Qualified Types - introduces the notions of qualified types and type classes
  • Interpretation and Performance - abstract performance, players, and putting it all together
  • Self-Similar Music - explores the notion of self-similar music — i.e. musical structures that have patterns that repeat themselves recursively in interesting ways
  • Proof by Induction - studies a powerful proof technique based on mathematical induction
  • An Algebra of Music - explores a number of properties of the Music data type and functions defined on it, properties that collectively form an algebra of music
  • Musical L-Systems - generative grammars, a simple implementation, grammars in Haskell, and an L-System grammar for music
  • Random Numbers, Probability Distributions, and Markov Chains - explores several sources of random numbers and how to use them in generating simple melodies
  • From Performance to MIDI - describes how to convert an abstract performance into a standard Midi file that can be played on any modern PC with a standard sound card
  • Basic Input/Output - expands on the play function
  • Musical User Interface - describes an elegant way to do IO involving a "musical user interface," or MUI
  • Sound and Signals - studies the fundamental nature of sound and its basic mathematical representation as a signal. The chapter also discusses discrete digital representations of a signal
  • Euterpea’s Signal Functions - shows how the theoretical concepts involving sound and signals studied in the last chapter are manifested in Euterpea
  • Spectrum Analysis - discusses the theory as well as the pragmatics for doing spectrum analysis in Euterpea
  • Additive Synthesis - add signals (usually sine waves of differing amplitudes, frequencies and phases) together to form a sound of interes

6. Yet Another Haskell Tutorial

Yet Another Haskell Tutorial

Author Hal Daume III
Format HTML, PDF
Pages 192

Yet Another Haskell Tutorial provides a complete introduction to the Haskell programming language. It assumes no knowledge of the Haskell language or familiarity with functional programming in general.

Chapters cover:

  • Introduction
  • Getting Started
  • Language Basics - presents the basic concepts of Haskell and the basic syntax of Haskell
  • Type Basics - uses a system of static type checking. This means that every expression in Haskell is assigned a type
  • Basic Input/Output
  • Modules - program subcomponents are divided into modules
  • Advanced Features - examines sections and infix operators, local declarations, partial application, pattern matching, guards, instance declarations, datatypes revisited, more lists, arrays, maps, layout, and the final word on lists
  • Advanced Types - type synonyms, newtypes, datatypes, classes, instances, kinds, class hierarchies, and default
  • Monads - program subcomponents are divided into modules
  • Advanced Techniques

Next Section: 9 Best Free Haskell Books - Page 3

This article is divided into three parts:

Page 1, Page 2, Page 3

Bookmark and Share

Last Updated Sunday, June 07 2015 @ 02:03 PM EDT

We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, SQL, Node.js (new), Fortran (new), Erlang (new), Pascal (new), and Ada (new).

Group Tests
100 Essential Apps
All Group Tests

Top Free Software
5 Office Suites
3 Lean Desktops
7 Document Processors
4 Distraction Free Tools
9 Project Management
4 Business Solutions
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 Productivity Tools
5 Note Taking Apps
9 Terminal Emulators
21 Financial Tools
5 Bitcoin Clients
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
42 Best Games
9 Steam Games
42 Audio Apps
5 Music Streaming
42 Video Apps
5 YouTube Tools
80 Security Apps
9 System Monitoring
8 Geometry Apps
Free Console Apps
14 Multimedia
4 Audio Grabbers
9 Internet Apps
3 HTTP Clients
5 File Managers
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

Other Articles
Migrating from Windows
Back up your data
20 Free Linux Books
24 Beginner Books
12 Shell Scripting Books

Older Stories
Saturday 05/16
  • 9 First Steps with Ubuntu 15.04 (0)
  • Excellent Console Log File Analyzers (0)

  • Monday 05/04
  • 100 Essential Free Apps (0)

  • Saturday 04/25
  • What are good command line HTTP clients? (0)

  • Sunday 04/12
  • First Peek at XBian on the Raspberry Pi 2 (0)

  • Saturday 04/04
  • First Look at OSMC RC on the Raspberry Pi 2 (0)

  • Sunday 03/29
  • First Steps with OpenELEC on the Raspberry Pi 2 (0)
  • Ubuntu MATE 15.04 for Raspberry Pi 2 (0)

  • Monday 03/16
  • MIPS Creator CI20 v Raspberry Pi 2 (0)
  • Raspberry Pi 2: Raspbian (ARMv6) v Linaro (ARMv7) (0)

  • Vote

    What Linux distribution do you run on your main computer?

    983 votes | 3 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 - All rights reserved