Hudini 2017-03-01 00:11:59
Is Haskell difficult?
merijn 2017-03-01 00:12:16
Hudini: "It Depends" (TM)
Hudini 2017-03-01 00:12:18
Many programmers complain that Haskell is like an ocean and is difficult
mauke 2017-03-01 00:12:20
is a string long?
Hudini 2017-03-01 00:12:38
mauke, string can be long and short
merijn 2017-03-01 00:13:10
Hudini: So, my honest assessment is: 1) Haskell is VERY different from what most programmers are used to. 2) Haskell has a rather elaborate and advanced ecosystem
merijn 2017-03-01 00:13:40
Hudini: and 3) a lot of this ecosystem is designed for "easing advanced usage", rather than "make starting easy"
merijn 2017-03-01 00:14:17
Hudini: This means, that Haskell, for many people, feels like starting from scratch. You think "writing a program that does X should be easy!", but it feels very hard, because you need to learn a lot of basics
merijn 2017-03-01 00:15:24
Hudini: Secondly, since a lot of libraries in the ecosystem are more concerned with being "correct/complete" than "easy" to use.
merijn 2017-03-01 00:15:49
Hudini: Now, does this mean Haskell is hard? Maybe. It took me a long time to get "real world" productive with Haskell
mohsen_ 2017-03-01 00:16:35
merijn: What do you mea by a library that is correct?
Hudini 2017-03-01 00:17:04
merijn, why should I learn it? What is normally haskell used for
merijn 2017-03-01 00:17:55
Hudini: On the upside: I now feel almost every task is easier for me to do in Haskell than without Haskell. Problems that I wouldn't dare tackle without Haskell seem easy now
Hudini 2017-03-01 00:18:37
merijn, what is Haskell used for? Scientific computing?
brynser_ 2017-03-01 00:18:47
I started learning Haskell ~15 months ago and can do "real world" stuff but I'd consider myself late beginner. I use it for general programming tasks, like one might use Python or Java.
mauke 2017-03-01 00:19:53
Hudini: IRC bots, websites/web apps, compilers, version control, scripting boring tasks
merijn 2017-03-01 00:19:54
mohsen_: I mean that most popular libraries are rather pedantic about enforcing correctness/errors, which often means "getting a first prototype" is often a lot more hassle, than say, in python
merijn 2017-03-01 00:20:38
mohsen_: You know how in python you can get the first 80% of what you want in almost no time? And then you want to make things robust and then the last 20% requires like 20 times more work than the first 80% did?
merijn 2017-03-01 00:20:56
(Or replace python with: ruby, JS, whatever)
Rembane 2017-03-01 00:22:17
One interesting aspect of Haskell is that it is a research language, and research has a tendency to trickle down into popular libraries which makes things interesting.
Hudini 2017-03-01 00:22:29
merijn. Okay. I actually would like to learn it, what book is suited for people who are beginner in programmer?
suppi 2017-03-01 00:22:34
Hudini: may I ask what interested you into coming here and ask about Haskell?
suppi 2017-03-01 00:23:14
it might help us understand how to describe Haskell to you better :)
mauke 2017-03-01 00:23:22
as a beginning programmer you have a bit of an advantage because you don't have to unlearn habits from other languages
suppi 2017-03-01 00:23:40
also www.haskellbook.com for your question :)
brynser_ 2017-03-01 00:25:38
I learned it using the haskellbook.com book. Although it says "Early access", it's pretty much finished, just no initial release yet.
brynser_ 2017-03-01 00:25:54
official* not initial
mohsen_ 2017-03-01 00:26:14
I started with lyah, and not finished yet
Hudini 2017-03-01 00:29:48
Isn't function just something like this: func (x) { print x }
dramforever 2017-03-01 00:29:58
Hudini: Surprisingly, no
Rembane 2017-03-01 00:30:59
Hudini: f x = print x
Rembane 2017-03-01 00:31:06
Hudini: Haskell is superterse. :)
dramforever 2017-03-01 00:31:07
In Haskell, a function doesn't 'do' something like 'print'.
dramforever 2017-03-01 00:31:14
(pun not intended)
dramforever 2017-03-01 00:31:38
It's more like a mathematical function that specify a relationship between the result and the arguments
dramforever 2017-03-01 00:31:58
'f x y = a + b' means 'the result is the sum of the two arguments'
bollu 2017-03-01 00:33:52
what is the "wildest" example of profunctor
mauke 2017-03-01 00:34:18
that would be either f x y = x + y or f a b = a + b
mauke 2017-03-01 00:34:21
or f = (+)
bollu 2017-03-01 00:34:23
the weirdest functor when you start out is (->), right? till it's normalised. Similarly, what's something that stretches profunctor to the extreme?
bollu 2017-03-01 00:34:40
I'm trying to build up a good intuition for them
dramforever 2017-03-01 00:34:41
Oh damn
dramforever 2017-03-01 00:34:44
I can't variable
dramforever 2017-03-01 00:34:50
mauke: Thank you
mauke 2017-03-01 00:35:06
you're not very able :-D
dramforever 2017-03-01 00:35:55
:(
fendoer 2017-03-01 00:39:56
> foldr (*) 0 [1..5] :: Expr
lambdabot 2017-03-01 00:39:59
1 * (2 * (3 * (4 * (5 * 0))))
lep_ 2017-03-01 00:47:57
:i Expr
fendoer 2017-03-01 00:51:32
lep_, he doesn't unterstand :i
lep_ 2017-03-01 00:52:00
@src Expr
lambdabot 2017-03-01 00:52:00
Source not found. Take a stress pill and think things over.
lep_ 2017-03-01 00:53:00
i was mostly interested if Expr was defined in some base package
MarcelineVQ 2017-03-01 00:53:45
it's from http://hackage.haskell.org/package/simple-reflect iirc
lep_ 2017-03-01 00:54:29
ic
_sras_ 2017-03-01 00:56:52
I am trying to use hdevtools. For a project that builds successfully, I get a missing instance error when I try to check one of the source files using `hdevtools --check` command
_sras_ 2017-03-01 00:56:54
http://lpaste.net/353094
_sras_ 2017-03-01 00:57:20
The missing instances are supposed to be generated by template haskell.
_sras_ 2017-03-01 00:59:09
Also, if you see the error. The error message says that the available instances match the missing instance.