background preloader

Tutorials

Facebook Twitter

⚡ ⚕ 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. 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.

Esoteric programming language

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. Haskell. Haskell is a functional programming language.

Haskell

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. Haskell. Learn You a Haskell for Great Good! - Starting Out. Ready, set, go!

Learn You a Haskell for Great Good! - Starting Out

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. The first thing we're going to do is run ghc's interactive mode and call some function to get a very basic feel for haskell. Open your terminal and type in ghci. You will be greeted with something like this. 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.