What the fuck is this?

what the fuck is this?

Attached: rayqiu.png (648x400, 7K)

Other urls found in this thread:

youtu.be/iSmkqocn0oQ
wiki.haskell.org/Game_Development
twitter.com/NSFWRedditImage

it's maths

Lambda operator + (>>=)

the haskel logo

grey pixels on a white background

>>= is the bind operator of monads

Haskell is fun! Everyone should try it!

Math isn't that pathetic.

pure beauty not for cs brainlets

but how do you make it fast like good languages?

multi-core

(given the same hardware)

>some grey pixels on a white background are illegal

Attached: cursed.jpg (220x154, 13K)

compiler optimizations

Still multicore

knights of lambda calculus rise up

Attached: lambda.png (768x768, 240K)

still not fast even w/ -o2 (benchmarks)

i meant: also other languages can use multicore and be faster

non-functional languages cant nearly get to the same level of multi-core scaling. also the burden is on the programmer.

>cant nearly get to the same level of multi-core scaling
how is that?
the haskell runtime is C
the concurrency part is implemented in C
but in a C program you don't always have the linked lists

Attached: rice.jpg (640x600, 34K)

>Haskell runtime is C
Nani the fuck? I thought ghc Haskell compiled directly to bytecode without a VM.

you can compile to LLVM
but the standard option is your program being compiled to C-- (autism) and linked against the runtime (written in C)
then x86 / ARM

Enter the monad

Attached: enterTheMonad.png (720x960, 874K)

based monadman

Haskell is self hosting. That aside, even if the runtime was C, the point is that it's so much easier to parallelize haskell, and therefore you can exploit more opportunities for a comparatively smaller cost on time and correctness.

I'm planning to learn Haskell sometime this year. I'm a brainlet though. Is this a language for hardcore CS peeps?

because they are deterministic and have no destructive updates, it doesnt matter who or where the calculations get done

One of the few languages that actually requires you to THINK, it can be quite difficult at the start since pure functional programming is totally different approach but keep your head up and it will be ok

>Is this a language for hardcore CS peeps?
as it isnt particularly useful yet, yes it is

Attached: the-challenge-of-effects.jpg (500x376, 69K)

makes me quite sad desu

Imagine being this out if the loop

youtu.be/iSmkqocn0oQ
My favorite meme

having no side effects is useful because it's easier to reason about and compose larger software.
Or do you think 'safety' is just a political term antithetical to practicality? Newsflash: safety is practicality.

bind

It requires a completely different mindset than classical languages like C, and overcoming the hurdle of forgetting a good chunk of what you know as a programmer is extremely hard, but once you are past that, Haskell is delightful very useful. Haskell has taught me so much about how I write code and I apply a lot of what I learned in functional to non functional languages as well.

meme

It is very different. Protipp: Don't bother learning more than you absolutely need in the beginning. Learn how to define functions first, then learn how to do I/O and then you can already build command-line shit. Learn the abstraction stuff when you need it. At it's core, it is an easy language, but very foreign compared to Java and it has some esoteric stuff on top. It is also useful, there are people making a living writing programs in Haskell.

Not really. A Haskell compiler at some point was written in C. No one has the source code for it and you can't compile th ghc using a C compiler. . The only way to compile the ghc is to use a Haskell compiler of some kind. The original Haskell compiler wasn't written in C it was written in C--.

Once you learn ST and IO you get pretty close to nirvana though. also unboxed arrays performance is close to hand optimized C, immutable data structures and pure functions give you free parallelization only limited by the algorithms you choose to use.

can i make games with haskell

Attached: toi.png (680x525, 127K)

yes but it's not recommended

Si seƱor

abstract sneedpost

*crickets*

Why is is not recommended?

wiki.haskell.org/Game_Development

it's bad