Is Haskell's ungodly bestiary of string types a problem in everyday programming...

Is Haskell's ungodly bestiary of string types a problem in everyday programming? What annoyances do you often encounter in Haskell?

Other urls found in this thread:

stackoverflow.com/a/5059703/
youtube.com/watch?v=iSmkqocn0oQ
nikita-volkov.github.io/record/
reddit.com/r/programming/comments/6ml1y/a_pretty_useful_haskell_snippet/
ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Tools
twitter.com/NSFWRedditImage

>What annoyances do you often encounter in Haskell?
Trying to find a real-life usecase for zygohistomorphic prepromorphisms.

>What annoyances do you often encounter in Haskell?

Having to deal with 1 GB/s of immediately garbage collected data every time I pass a list.

The hell do you store in your lists?

It's a 500 line text file. The problem is Haskell's lazy evaluation.

>500 line text file
>1 GB/s of immediately garbage collected data
The question of how remains. I'd like to hear more. Or is it 1 GB/s for 0.01 s?

Please refer to stackoverflow.com/a/5059703/

No, that only covers zygomorphisms, not zygohistomorphic prepromorphisms

samefag

bump

just one more

>What annoyances do you often encounter in Haskell?
It considering everything a theorem (every type is implicitly inhabited), which trivializes truth and falsehood.

I program every day in Haskell, for my job, and my answer is: no. I basically only use strict Text, and the Text string builder type. Works 4 me. ByteStrings useful when you need strings of bytes.

Just avoid lazy IO, unless you're feeling (hue) lazy.

>Just avoid lazy IO
So should I just use System.IO.Strict?

I wish happy and alex got a major overhaul

Haskell is almost perfect, it certainly is better than all other languages

Haskell is great, but I think it is far from perfect, even from almost perfect. I have serious hopes for PureScript to improve on Haskell because it's a clean break. They've made it strict, given it real strings by default, unfucked the records, etc. It's starting to look really good.

>unfucked the records
What do people usually mean by this? I've started using Haskell only recently and haven't noticed anything that bad with records.

Haskell is basically a virgin waifu form OCaml

>non extensible
>can't reuse names
>incovenient

i recommend you try lenses

> What annoyances do you often encounter in Haskell?
Laziness and unholy mess of extensions.

Laziness is the one thing I miss in all the languages that don't have it.

You know that you can force Haskell to evaluate something if you need it?

youtube.com/watch?v=iSmkqocn0oQ

You need to learn more.
Using conduit, and streaming shit for example makes it use much less.
You can also force evaluation through other means, but pipes or conduit is so great that learning it is a pretty good thing to do.

Data.Test.IO
Data.ByteString.IO

Mostly those, or whichever of pipe/conduit you use.

Or nikita-volkov.github.io/record/

>mfw those aren't made-up words

Are you genuinely retarded?

Pretty sure Idris is better, even if I was a pure faggot.

Most math-related words (and operators) are made-up, non-related nonsense.
Mathematicians should be forbidden to name anything or to make up notations.

>Pretty sure Idris is better
It is. Haskell is merely a pleb filter for Idris. But Idris itself is a pleb filter for Coq.

I genuinely thought it was satire.

What did you think was satire exactly? I don't get it.

you mean isabelle/HOL
I prefere my cute girls over cocks

>I don't get satire

yup, autism.

>I wrote that code out on the #haskell channel as a joke [...]
reddit.com/r/programming/comments/6ml1y/a_pretty_useful_haskell_snippet/

Haskell is sometimes stereotyped as being the language of smug academics and using excessively verbose vocabulary that requires a PhD in mathematics to understand. Since I had to spell this out for you, you probably fall on the spectrum.

Haskell is a pretty simple language, I would even say it was made for retards.

Haskell is mostly a toylanguage for academics, strings are just one example: consider how powerful is the type system in Haskell is, now consider how poor Haskell is processing text (one of the most common tasks of a computer program), finally ask your self why is that? the answer is in the history of Haskell and the reason why it was created by a bunch of type theorist wanting to implement one master FP language to rule em all. But even then, after 30 years you could think that the community would want to improve the situation, but no, they dont really give a shit. There is not even an usable package for OAuth2 in 2017!

Really, just forget Haskell and move to some productive language like OCaml, Elixir, or Rust.

>consider how powerful is the type system in Haskell is
About as powerful as its string processing ability.

>not using an indexed GADT for all major text encodings and using types that operate polymorphically on such a GADT for any given type parameters

>GADTs
Plebeian trash.

Haskell is pretty good at string processing.
I don't know what you are talking about.

Yeah, Haskell is so good at text processing that it needs fucking Perl for some trivial regex:
ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Tools

>Yeah, Haskell is so good at text processing that it needs fucking Perl for some trivial regex:
You meant to say "to bootstrap GHC"

But the state of regex in haskell is, questionable.
Mostly because they are generally frowned upon in the community.

As they should be

>But Idris itself is a pleb filter for Coq.
How so? And can Coq even do TCP socket I/O?

>OCaml
You mean maybe F#. OCaml isn't where you go if you want usable OAuth2 packages and such. Its library situation is more dire than Haskell's.

No, but if you for some strange reason need it you can extract the program to some other language and do it there.
I/O is mostly useless garbage anyway.

>I/O is mostly useless garbage anyway.
Okay.

>F#
>OCaml
They've got type systems which are even weaker than Haskell's, and that's pretty fucking hard to achieve.

you try to make this joke multiple times every programming thread

I believe this is the second time I have said this, and it isn't a joke by any stretch of the imagination.

>second time i have said this
in this thread maybe

...

Is that so?
Don't be hasty user

>tfw there are only two HKT languages with libraries, and the other one is fucking Scala
Haskell may be flawed, but it isn't like you have much choice.
>that's pretty fucking hard to achieve.
You wish.

What is wrong with OCaml's type system?

Use clojure. 1000x better

>Scala
Utter trash. Now I will have to try and forget this moment.
>Haskell may be flawed
That would be a massive understatement.
>but it isn't like you have much choice.
Why is that? It's not like I need a lot of libraries anyway, you can program just fine in bare-bones System F even.

You mean other than it being complete garbage?

Get the fuck out of here, you shit-eating moron.

Clojure is fine, but it isn't relevant to this thread because it's unityped (core.typed ain't ready and no libraries use it).

>You mean other than it being complete garbage?
I see no problem with it, can you provide an example?

Clojure is fucking trash and should be banned and outlawed. Anyone who uses it should be publicly executed.

It's unsound garbage. Also no HKTs, meaning it's a complete joke.

Agreed.
Let the fucking JVM die already. Nobody needs that complete piece of shit.

What's so wrong with it? I haven't ever used it, only know that it's some Lisp dialect compilable to JS.

>>>/comp.lang.lisp/

Why do you fucking retard say its better then?
Also clojure is not compatible to JS, but to the java virtual machine. Get the fuck out of here now, and go back to red.dit.

Because I wasn't the original poster, gee. I thought you'd be smart enough to deduce that.

Not sure what it is, but something about this thread gives me a warm feeling in my heart

You are an intellectual coprophiliac and enjoy shitposting.

Exactly the same can be said about you. But fine, I'm not poking the subject anymore.

I like that you like anime and post in Haskell threads

I see the point about HKTs, though I never really used them so I'm not really sure what I'm missing out on. About the unsoundess, however, don't unsound types appear only when you tinker with internal representations (Obj) or when you make non-terminating loop or terminate a computation (either with an exception or by terminating the whole program)?

>though I never really used them so I'm not really sure what I'm missing out on
Languages which have them aren't that different in terms of difficulty to learn, so I don't really see any reason for this.
Using a shit language for certain reasons can be justified, but not using or at least knowing about good ones can't be.
>About the unsoundess ...
I should have said "inconsistent", any system where you can prove both P and not P is inconsistent. Just the possibility alone is enough.

What does that even mean to you?

>Exactly the same can be said about you.
Weak. I've actually only contributed serious posts to this shitshow of a thread. You, on the other hand, announced your presence with a full-screen PNG anime screenshot failed attempt at a reaction image and a worthless inane meta-comment about how you felt. Worse still, your feelings about this thread were incorrect.

>I've actually only contributed serious posts to this shitshow of a thread.
This is comically wrong.
>a full-screen PNG anime screenshot failed attempt at a reaction image
Do you consider every image to be a reaction image? What (internet and first-hand) cultures taught you to be this way?
>worthless inane meta-comment about how you felt
I don't think it was worthless, and you clearly agree. I don't think you realize that yourself, though.
>your feelings about this thread were incorrect
And why is that?

capped

>I don't really see any reason for this
I just started with OCaml first. I'm starting learning Haskell now.

patrician detected

Just keep in mind that Haskell is merely a stepping stone for learning better languages like Idris.

Okay.

more like useless shit toy languages.
Out of good (truly) functional languages, haskell is the only one not useless anymore.

if it's not useless then it's shit
we must stop haskell from becoming useful

Fuck this gay shit. We need a type theory captcha on this board.