Haskell Thread

YO!

Where my /c o m f y/ Haskell bois at??

Attached: comfy.png (2400x1697, 51K)

Other urls found in this thread:

wiki.haskell.org/Haskell_in_industry.
youtube.com/watch?v=OyfBQmvr2Hc
ghc.haskell.org/trac/ghc/wiki/DWARF
twitter.com/AnonBabble

>/c o m f y/ Haskell bois at??
In academia doing """meaningful""" about retarded shit no-one cares about that has no real-life application.

Alternatively, working McJobs.

Not here, sorry.

>sel4 has no real-life application
>backtesting platforms have no real-life apllication
>messaging servers have no real-life application
>deep packet inspection has no real-life application
>SDN has no real-life application
>formal verification has no real-life application
>data analytics platforms have no real-life application
>logistics planning has no real-life application

>[word no-one has ever used] has no real-life application
Correct.

All of these things are done better somewhere else.

Haskell is still looking for its place in the world, mostly in start up and internal projects in big companies.

Where that place is for a language which completely asks people to rethink programming and reinvent the wheel, who knows.

IMO, Haskell just fade away once the fad with 'functional programming' wears off and people realise beyond lambdas there isn't much of a use for it.

Lisp is better

Haskell is not for real life applications, it's a tool for reaching ultimate joy and enlightenment

>Some* of these things are done better somewhere else.
>mostly in start up and internal projects in big companies
So it actually has real-life applications, by your own admission. Problem with Haskell is, software engineers aren't actually required to be engineers, they can be highschool dropouts with no clue about CS. That makes using Haskell not appealing since you need at least some theory to make it worth using. An average Java shitter or js code-artisan will get confused and only use it as a glorified js/Java.
>Haskell just fade away once the fad with 'functional programming' wears off
From the blogosphere, which is a goodthing.

Real engineers don't use piece of shit academic jerk off languages with terrible abstractions, inefficient data structures, lazy evaluation, and the requirement of adding a million extensions to get the fucking project to compile in even a somewhat sensible way. You CANNOT write efficient code on a von Neumann style machine without access to the underlying design. These are pointers and chunks of bytes. When will SEETHING Haskellfags learn?

They are in dependency hell

the static typing fanatics are probably busy writing scala
the functional programming fanatics are probably busy writing clojure
the purists are probably dead

> you need at least some theory to make it worth using
No you really don't you fucking roleplayer, it's just a different paradigm, nothing more, everyone could learn it as their first programming language, and just as well apply it, it's just that 'pure haskell code' is a fantasy and as soon as you write practical software that is not text parsing Haskell falls apart really fucking quick and you realize that it does not offer anything other functional languages can't do better. It's not even useful for math compared to the alternatives.

It's nice for Project Euler though.

did someone say...

c o m f y ?

Attached: python.png (200x200, 8K)

where does one go to learn this godsend of a language?

haskell is dead
rust is the new meme king

>Real engineers don't use piece of shit academic jerk off languages
I'm a real engineer in a very real industry and i use - among other obvious choices like Ada+SPARK - Coq, Haskell and even Wave. Right tool for the right job. If i want a highly parallel system that needs to be correct, Haskell it is. If i need hard-realtime performance guarantees, Ada+SPARK or Coq+C it is. If i need a quick'n'dirty text filter, awk it is.
I'm not masochistic enough to go digging around in the OVER 9000 levels deep stack trace when my Java® monstrosity, which is effectively just a DB view, inevitably crashes, only because "hurr JVM 37ms faster than ghc in this task".
>You CANNOT write efficient code on a von Neumann style machine without access to the underlying design.
You CAN, as demonstrated by Haskell becoming a fad of finance industry - i've even seen HFT systems written predominantly in Haskell, ok few ASICs thrown in to unleash diarrhea of packets, but other than that it's fast enough™ for soft-realtime.
>When will SEETHING Haskellfags learn?
When SEETHING Cniles have something new to say.

Name 1(one) use of Haskell besides teaching functional programming

>it's just a different paradigm, nothing more, everyone could learn it as their first programming language, and just as well apply it
Right, that's why i still see 1000s lines of code instead of a lens (and lenses are fucking basic, there are dozens more cat-th abstractions that people have no clue how to use) in many open-source Haskell projects written by blogista code-artisans who repeat the alternative to "monad is just a horizontal verification of monoid lol" to seem smart. No, Haskell absolutely requires you to know (cat)theory because otherwise, your shit looks something like this to someone who knows the theory:
if (a < b && b > a && *(&a) > b && *(&b) > a && ... && (a - b) == (*(&a) - *(&b)) && ...) {
}
else if (!(a < b) && ...){
}

>it does not offer anything other functional languages can't do better
Possibly, i prefer OCaml because for me, functors/modules are the sweet spot when multiple people work together. But other functional languages, apart from lisp, are like assembly compared to Haskell when it comes to expressivity.
>It's not even useful for math compared to the alternatives
It wasn't inteded for it.

Attached: math.png (546x170, 7K)

After a long day at work, after slogging through piles of stateful, UB-ridden sepples, I come back home and write Haskell for fun.

Meme language

>se4l
>formal verification
LIterally nothing to do with Haskell.

>sel4
sel4 is written in haskell, verified against the spec and then transpiled to C. It's a μkernel effectively written in Haskell.
>formal verification
sel4 isn't the only project which does formal verification that way.
Moreover, vast majority of internal tools in (yuropoor, which in this industry ≈ the world) verification consulting companies is written in Haskell.

any places you can recommend for learning category theorybfor me, without a math background, thad will apply to my haskell code? i have a good grasp of formal logic if that helps.
i understand the basics of binding /lifting out of IO, but i still feel like im missing something- i have no idea how to or if i'd want to implement a monad myself

>sel4 is written in haskell, verified against the spec and then transpiled to C. It's a μkernel effectively written in Haskell.
Transpiling Haskell to C would be retarded because GC is totally unsuitable for real time systems.
They used it as a prototyping language. The actual project is written in C and verified in Isabelle.

>vast majority of internal tools in (yuropoor, which in this industry ≈ the world) verification consulting companies is written in Haskell
I can't comment on what some companies are doing, but most public tools I know are either written in SML or OCaml

>terrible abstractions
Of all the bad things you could say about Haskell, this is what you pick? Which abstractions do you think are terrible?

>there are dozens more cat-th abstractions that people have no clue how to use
Name a few with broad applicability that are more advanced than lenses.
>Haskell absolutely requires you to know (cat)theory because otherwise, your shit looks something like this to someone who knows the theory
This problem is not specific to Haskell. Code in other languages reimplements basic abstractions all the fucking time, including abstractions from group theory, like monoids. The implementations are, of course, incompatible and don't share a common interface.

And also wiki.haskell.org/Haskell_in_industry.

How is Yesod for web applications?

I love Haskell, especially the really anal type system.
I'm still pretty much a noob but I can design and write modular programs with it.
I have a haskell program running in production for over a year that I haven't had to touch. Haskell really just werks if your program logic is on point.

What I hate about Haskell are the libraries, many of them are dead/not maintained, especially those god damn GUI libraries.

Any advice for someone still "relatively" new to the language? Anything in particular that will blow me away after having learned it?

Attached: ai_waifu.jpg (1024x1024, 259K)

how? I keep hearing shit like this about haskell and lisp but I don't understand how they can be so great if no one uses them

Well worth the watch if you have time:
youtube.com/watch?v=OyfBQmvr2Hc

>Any advice for someone still "relatively" new to the language?
Make sure you understand lazy (actually nonstrict) evaluation. I've seen some Haskell tutorials saying you could ignore it at the start, but you really can't. It's fundamental to writing correct and decently performing Haskell. The libraries are hit or miss. At lot them are completely unoptimized.

Haskell and Lisp (CL and Clojure) pop up in a lot of places. For example, the astrology startup Co-Star is powered by Haskell.

Ocaml is more reasonable than Haskell. It takes way too much effort to build anything useful or performant in Haskell. I tried. At least with ocaml you can almost write a whole application using only type inference alone and easily source c ffi when it's appropriate. Hell you even have OO when it makes sense.

If there's anything all of you debuglet research langs will never have, it's a functioning development environment
F#1

someone explain to me how to use gdb with this language. passing -g to ghc doesn't seem to do anything.

ive never had a runtime error with haskell... never

think about that

haskell book is dope af but dont waste your time user

better gdb support is an in-progress thing

ghc.haskell.org/trac/ghc/wiki/DWARF

Ask yourself a question, mate. What would a CS graduate learn to earn money for living (food, where to sleep, healthcare, etc)?
An obscure language where you have to write dozens of functions to write a damn GUI or an language with massive libraries and very little math where you need to just glue pieces of existing code?
It is very luxurious for a code monkey to learn untrustworthy languages like Haskell or Coq

There is literally no reason to use haskell over F#.

>terrible abstractions
I take offence to that

runtime 'errors' do happen in haskell, due to programmer incompetence, in cases as simple as this:
suppose you have something like
g = function arg g'

somewhere in your program
this is a pattern that's quite common if you're a bit lazy

now what happens if you forget the '
it still gets correctly type checked, and it hangs the program when the function gets evaluated.