๐Ÿ‘คpsibi๐Ÿ•‘12y๐Ÿ”ผ311๐Ÿ—จ๏ธ126

(Replying to PARENT post)

This is a tremendous resource, but may I suggest you rather point here: https://www.fpcomplete.com/school/haskell-fast-hard.

It's the same course/series, but with interactivity, so Haskell can coded/evaluated from the browser. In fact, one "dir" up, you will find a bunch of similar tutorials here : https://www.fpcomplete.com/school.

๐Ÿ‘คludicast๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I tried dipping my hands into Haskell over the summer. I fell in love with two resources:

1. Yann Esposito's Haskell Fast and Hard (on FPcomplete -- https://www.fpcomplete.com/user/yogsototh/haskell-fast-hard)

2. Learn you a Haskell by Miran Lipovaca http://learnyouahaskell.com/

The latter author decided to write the book based on his experience in learning Haskell. It's definitely one of the simplest and clearest programming books I've read.

๐Ÿ‘คssivark๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Ok so here's the problem I'm having with trying to get into Haskell, and it's a problem Carmack identified: there's way too many "toy examples" out there.

I've always learned languages because I need them for something. C/C++ because I wanted to write a game. Python because it's the complex scripting language of choice in Ubuntu. JavaScript for obvious reasons.

What I really really need is something which walks me through doing something significant with Haskell - like, a GUI app on Linux or something (my current focus: I've never really done it, but if I'm learning something new I'd like there to be a practical product at the end).

A bunch of language constructs, while technically interesting, don't help me to grok the language at all.

๐Ÿ‘คXorNot๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

How much interest would there be in a 0 to full Haskell development environment set of ansible scripts (and or Vagrantfile)? I'm working on a start up using Haskell at the moment and I've been capturing all of my set up in this way. If folks are interested I can make some of this stuff available.
๐Ÿ‘คboothead๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

"Instead of being in your way like in C, C++ or Java, the type system is here to help you."

I'd still say the type system is there to help you in C, C++, and Java, it just doesn't do nearly as good a job of it, and winds up in your way more often because it's less expressive.

๐Ÿ‘คdllthomas๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Learning a functional language is a great idea especially if you never intend to use one after you've learned it. It's like speaking a second language. Has a great effect on the understanding of your own language.

At university the first thing everyone had to (in programming) do was a Haskell course. Felt weird at the time, but in hindsight it was fantastic. It meant everyone had to throw their preconceptions about programming out the window.

It didn't occur to me until recently (10-15 years later), that functional concepts are actually a good thing to apply in any language; that it makes code parallelizable, modular, maintainable, testable, and so on. I just thought functional was functional (i.e. elegant but hard) whereas imperative was imperative (inelegant but easy). Much like the difference between algebra and arithmetic.

So go learn a second language, or even a third. Even if you intend to speak english and Java for the rest of your life. I'd choose Haskell and Spanish.

๐Ÿ‘คalkonaut๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Pretty awesome, I've steered clear of Haskell preferring Scala instead (easier syntax for me to grok), but this tutorial makes Haskell far more accessible.

Off topic but does anyone know of a Rails/Play + Linq to SQL/ScalaQuery equivalent in Haskell?

Beyond that just being able to generate PDF invoices, send out emails and have access to a decent date/time library (like JodaTime) would cover the essentials for web development.

๐Ÿ‘คvirtualwhys๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

ASIDE: I've been using learn you a haskell for great good! http://learnyouahaskell.com/, and found it helpful, insightful and the examples nicely paced so you can treat them as exercises as you go.... up until the module chapter, which is more like a reference, very long, detailed, tedious. I got up to here http://learnyouahaskell.com/modules#data-char (check out how small the scroll bar slider is on the right - this is a big chapter).

Did this stop you or how did get past it?

How does Learn Haskell Fast and Hard compare?

๐Ÿ‘ค6ren๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

If you want to learn Haskell slow and easy, this is brilliant: http://learnyouahaskell.com/chapters
๐Ÿ‘คJonCox๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I have been perusing Learn You a Haskell but I like this more. Fast and hard indeed. Will read this over tonight.
๐Ÿ‘ค616c๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

PERFECT. Relaxed but intense. Perfect! ... for me. This is exactly the kind of tutorial that works best for me. (I'm sure many people will find it unusuable. But that's OK - we have as many ways to learn as we have learners.)

The selection of artwork is pretty nice too.

Very very good. Thank you author and poster.

๐Ÿ‘คAnthonBerg๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

NB: if you're trying out haskell and you're on a mac with xcode 5, you'll be hitting some weird CPP related errors due to GHC 7.6 and older not playing nice with Clang's CPP.

I shared a number of work arounds with the general haskell community a few weeks ago here: http://www.haskell.org/pipermail/haskell-cafe/2013-September... (there are alternative work arounds, but I only listed the ones which are simple and easy to communicate with other people and be able to expect them to follow the steps correctly.)

๐Ÿ‘คcarterschonwald๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I have been wanting to look into Haskell for a long time now. Never really got the time. Also the syntax was a bit off putting.

Just skimmed through. I see that there is a bit of Javascript and C in the code too as reference matertial. Most people dont like such a way of teaching but it looks like the tutorial isnt really trying to teach Haskell in terms of Javascript or C. Really makes me want to look into this. Thanks for putting the efforts.

๐Ÿ‘คanuragramdasan๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Minor nitpick: Using pattern matching instead of `if xs == []` is not just to make code prettier and cleaner.

First of all, you should be using the `null` function instead of `== xs` because the `==` operator only works if your list contents are Eq-able.

But the most important thing is that pattern matching is more type safe. If you use `head` and `tail` you, as a programmer, need to make sure that you only call them on a non-empty lists or else you get an error. On the other hand, if you use pattern matching the compiler helps you make sure that you always covered all the possible cases (empty vs non-empty) and you never need to worry about calling the unsafe head and tail functions.

๐Ÿ‘คufo๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I really like the art images in the tutorial. Nice touch.

Although I am not sure about the premise - I doubt Haskell, as a language close to mathematics, can be learned fast. This tutorial seems quite shallow on some things, like monads.

๐Ÿ‘คasgard1024๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I'd like one of these beginner tutorials to have a chapter named, "learning cabal and using a library". That was a pain point for me (especially developing on windows). Well, not so much a pain point as a mortal wound.
๐Ÿ‘คtieTYT๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Thinking about Haskell, reminds me of this http://www.xent.com/pipermail/fork/Week-of-Mon-20070219/0441...
๐Ÿ‘คarunc๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Nice tutorial, but old story: https://news.ycombinator.com/item?id=3806841
๐Ÿ‘คtlo๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Okay so i completed this tutorial in about 5 hours , gave everything due , but still i only understand like 30 % of it and that too of the starting part.
๐Ÿ‘คfmax30๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Check out http://learnxinyminutes.com/. Loads of languages/tools to learn.
๐Ÿ‘คcnu๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

Commenting to bookmark.
๐Ÿ‘คpa5tabear๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

a monad is like a taco salad.
๐Ÿ‘คbatgaijin๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0

(Replying to PARENT post)

I haven't seen this Haskell syntax before:

  [1,3..10] โ‡” [1,3,5,7,9]
Imagine running into this one on a production system... Someone needs to make a 'Haskell: the good parts' or at least a lint.
๐Ÿ‘คRyanZAG๐Ÿ•‘12y๐Ÿ”ผ0๐Ÿ—จ๏ธ0