background preloader

Haskell

Haskell
Haskell is a functional programming language. If you've programmed before and would like to see a little bit of how Haskell works and is different from other programming languages, see the overview. Haskell is unique in two ways. First, it is a pure functional programming language. If you have a function and you call it twice in two different places with the same arguments then it will return exactly the same value both times. Second, Haskell provides a very modern type system which incorporates features like typeclasses and generalized algebraic data types. So, why do Haskellers like their language? In this book we aim to introduce you both to the Haskell language, from the very basics to the most advanced features, and to computer programming in general. Overview[edit] The book is divided into three sections: the Beginner's Track, the Advanced Track, and Haskell in Practice, which is designed to cover the more day-to-day issues, and is readable with knowledge of the Beginner's Track.

Esoteric programming language An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use. There is a small but active Internet community of people creating esoteric programming languages, writing programs for them, and debating their computational properties (e.g. which languages are Turing-complete). Apart from this website there are a couple of other forums where they meet. See the Community portal for details. History[edit] The earliest known deliberately esoteric language is INTERCAL, designed in 1972 by Donald R. The term esoteric was probably first used in connection with what is now called esoteric programming languages on Chris Pressey's web site Esoteric Topics in Computer Programming. See the Timeline of esoteric programming languages for a chronological listing of esoteric programming languages. Purpose[edit] There are many different reasons for creating an esoteric programming language.

Learn You a Haskell for Great Good! - Starting Out Ready, set, go! Alright, let's get started! If you're the sort of horrible person who doesn't read introductions to things and you skipped it, you might want to read the last section in the introduction anyway because it explains what you need to follow this tutorial and how we're going to load functions. GHCi, version 6.8.2: :? GHCi, version 6.8.2: :? Congratulations, you're in GHCI! Here's some simple arithmetic. ghci> 2 + 15 17 ghci> 49 * 100 4900 ghci> 1892 - 1472 420 ghci> 5 / 2 2.5 ghci> ghci> 2 + 15 17 ghci> 49 * 100 4900 ghci> 1892 - 1472 420 ghci> 5 / 2 2.5 ghci> This is pretty self-explanatory. ghci> (50 * 100) - 4999 1 ghci> 50 * 100 - 4999 1 ghci> 50 * (100 - 4999) -244950 ghci> (50 * 100) - 4999 1 ghci> 50 * 100 - 4999 1 ghci> 50 * (100 - 4999) -244950 Pretty cool, huh? Boolean algebra is also pretty straightforward. Testing for equality is done like so. What about doing 5 + "llama" or 5 == True? Yikes! ghci> succ 8 9 Oh my!

⚡ ⚕ The academy ⚛ ♬ Genesis In the beginning Man created the computer. Now the computer was formless and empty, darkness was over the surface of the deep, and the Spirit of Man was hovering over the terminal. And Man said, "Let there be lisp," and there was lisp. Man saw that the lisp was good. --- welcome ⚡ ⚕ Welcome to the academy. ⚛ ♬ --- readme The recommended way to become familiar with the academy is to start with the first commit either on github or with local git tools and to work your way through commits attempting to understand at least the jist if not the entirety of what is going on.

Related: