what the fuck is this?
What the fuck is this?
Other urls found in this thread:
youtu.be
wiki.haskell.org
twitter.com
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
compiler optimizations
Still multicore
knights of lambda calculus rise up
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
>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
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
makes me quite sad desu
Imagine being this out if the loop
youtu.be
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
yes but it's not recommended
Si seƱor
abstract sneedpost
*crickets*
Why is is not recommended?
it's bad