top of page

Questions and Answers

Public·9 members
Aaron Allen
Aaron Allen

Real World Haskell



The illustration on our cover is of a Hercules beetle. These beetles are among the largest in the world. They are also, in proportion to their size, the strongest animals on Earth, able to lift up to 850 times their own weight. Needless to say, we like the association with a creature that has such a high power-to-weight ratio.




Real World Haskell



This easy-to-use, freely available online, fast-moving tutorial introduces you to functional programmingwith Haskell. Learn how to use Haskell in a variety of practical ways, whetherit's for short, script-like programs or large and demanding applications.Written for experienced programmers, Real World Haskell takes you through thebasics of functional programming at a brisk pace, and helps you increase yourunderstanding of Haskell in real-world issues like I/O, performance, dealingwith data, concurrency, and more as you move through each chapter.


You'll find plenty of hands-on exercises, along with examples of real Haskellprograms that you can modify, compile, and run. If you've never used afunctional language before, and want to understand why Haskell is now cominginto its own as a practical language in so many major organizations, Real WorldHaskell is the place to start.


A couple months ago at last I decided to learn Haskell. It's quite a cool language, but I'm puzzled about how an event driven real app would be programmed in such a language. Do you know of a good tutorial about it?


Note: When I say "real app" I'm not talking of a real world, production ready app. I just mean a little sample app, just to get the grasp of it. I think something like a simplified version of the windows caculator would be great, and then perhaps something a bit more complex.


A lot of times (I'm not saying that this is the case in your question, but it is a recurring pattern) when someone says "but can Haskell be used in the real world", what they are really saying is "I know how to do this in C, and in Haskell I cannot do it in exactly the same way, therefore it must be impossible in Haskell, therefore Haskell is not ready for the real world". But what they are missing out on, is that there might be a totally different and much better way to solve the problem. (It's like saying "Erlang doesn't have threads, therefore it cannot possibly be used to implement concurrent systems.") And FRP is just one example.


you should check out Real World Haskell. The book is freely available and shows how Haskell can be applied to real world problems. I wouldn't call it a tutorial, tho, as it is much more comprehensive.


Beta Books: What do I get? Haskell is a pure functional programming language with a rich ecosystemof tools and libraries. Designed to push the boundaries of programming,it offers unparalleled power for building reliable and maintainablesystems. But to unleash that power, you need a guide. Effective Haskellis that guide. Written by an engineer who understands how to applyHaskell to the real world and uses it daily to get practical work done,it is your ticket to Haskell mastery.


Gain deep understanding of how Haskell deals with IO and the outsideworld by writing a complete Haskell application that does severaldifferent kinds of IO. Reinforce your learnings with practice exercisesin every chapter.


This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.


In order to use Haskell locally, we have to install it first. I will not go into the details of that now. Just follow the links on the resources page. There are plenty of competing installation instructions out there in the world. I do not particularly care which one you follow, but make sure you get GHC-7.10.3.


We will work with String for now, but just for reference: There are two String-like data types out there that you would reach out to in real code: Text and ByteString. The former handles Unicode text, and should be used for, well text. The latter handles packed arrays of bytes, and should be used for binary data. Mixing up strings and binary data is another major cause of bugs in any programming languge, and again the distinction here helps.


This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter. With this book, you will:


Harness the power of multicore systems via concurrent and parallel programming You'll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you've used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.


It is clear that The Three wanted to bring this phenomenal langauge tomainstream industry in order to save themselves (and the rest of the world) fromthe toil of working with non-functional programming languages.


The Semantic project is concerned with parsing, analyzing (evaluating), and comparing source code and as such we are firmly rooted in the academic domain of programming language theory (PLT) and spend significant time applying existing research to the real world problem of analyzing source code on GitHub. Haskell is well suited to this domain. Its language features allow concise, correct, and elegant expression of the data structures and algorithms we work with. (Source)


At the same time, new programming languages like Rust and TypeScript have taken the world of general software development by storm. They incorporate a lot of what is good about Haskell (and FP in general) while also focusing on great developer experience and being more approachable.


John Goerzen is an American hacker and author. He has written a number of real-world Haskell libraries and applications, including the HDBC database interface, the ConfigFile configuration file interface, a podcast downloader, and various other libraries relating to networks, parsing, logging, and POSIX code. John has been a developer for the Debian GNU/Linux operating system project for over 10 years and maintains numerous Haskell libraries and code for Debian. He also served as President of Software in the Public Interest, Inc., the legal parent organization of Debian. John lives in rural Kansas with his wife and son, where he enjoys photography and geocaching.


Don Stewart is an Australian hacker based in Portland, Oregon. Don has been involved in a diverse range of Haskell projects, inc