Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should I first learn haskell adequately before using this library? #5

Open
therealgymmy opened this issue Dec 10, 2013 · 3 comments
Open

Comments

@therealgymmy
Copy link

Hi, I'm putting this question here because I couldn't find a way to message you on GitHub.

First, I just want to say this library feels amazing!

Then, I'm wondering if I should get a good understanding of haskell first before jumping in this library?
I tried to write a calculator parser using FTL. The code looked amazing but it took me forever to figure out how to do certain things using FTL. I realized that I don't actually understand the concepts such as applicative functor or monad. I've only heard of these terms from reading articles talking about haskell.

I would love to use this amazing library as much as possible, but it seems my lack of understanding of haskell is hindering my progress. Would learning haskell first be necessary to use this library effectively? Or, perhaps there're some good websites out there which introduce the fundamental concepts of functional languages?

Thanks,

@beark
Copy link
Owner

beark commented Dec 10, 2013

First of all, thanks for the praise! It's very nice to hear you like FTL.

I would recommend any one who hasn't already to pick up a functional language. Even if you don't end up particularly impressed with the style, you will amost surely learn something that will be useful in your every day programming anyway.

As for learning FTL and its concepts: it shouldn't be necessary to first learn e.g. Haskell or Scala, but it's quite probably currently easier that way. Which raises a good point: it shouldn't be that way. It's always been my intent that, at least eventually, people could pick up the concepts directly through the library docs, tutorials, etc.

I will leave this issue open for now and consider it to be a request for more learning material on the library. Either I'll do a blog series on these things on libftl.org, or I'll put up a wiki here... We'll see.

@pa-zz-yco
Copy link

I don't personally have a lot of experience with FTL (so excuse me @beark for injecting myself into the conversation), but I agree that it will be easier to learn its concepts through the lens of a language focused on those concepts. Personally, I'd say to start with Haskell. It's more immediately intimidating than Scala, but I think that becomes an advantage here--all Haskell tutorials take that intimidation into account. Haskell makes it a lot harder to fall back on techniques you're familiar with, which forces you to think in terms of the new concepts. In my opinion, Scala's nature as a functional layer above a forgiving Java safety net makes it a little too easy to fall back into OO style to be a great starting place.

As for a specific tutorial, I recommend Learn you a Haskell for Great Good. You can read it for free on learnyouahaskell.com

@therealgymmy
Copy link
Author

Awesome! I guess being able to use FTL effectively is now the biggest motivation for me to learn Haskell :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants