![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Stefan Viljoen wrote:
> Granted, doing something like that would be technically brilliant in my
> book.
>
> But to what end?
>
> There are ways to waste time and then there are WAYS to waste time...! ;)
>
> The only people you might impress with something like that would be your D &
> D buddy whose got skin like a mole and never leaves his basement and his PC
> except to DM your newest AD & D session or chair the local Warhammer club's
> meeting.
>
> Most other people would probably just go "dude WTF!"
...I write computer programs in a non-strict purely-functional
programming language with extended Miller-Hindley type inference,
monadic effects and nested data parallelism.
I win?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Most other people would probably just go "dude WTF!"
Not if you got to play "never gonna give you up", made a video of it and
uploaded it to youtube :-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Most other people would probably just go "dude WTF!"
>
> Not if you got to play "never gonna give you up", made a video of it and
> uploaded it to youtube :-)
Hahahaha!
Somebody *please* do this. :-D
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> Stefan Viljoen wrote:
>
>> Granted, doing something like that would be technically brilliant in my
>> book.
>>
>> But to what end?
>>
>> There are ways to waste time and then there are WAYS to waste time...! ;)
>>
>> The only people you might impress with something like that would be your
>> D & D buddy whose got skin like a mole and never leaves his basement and
>> his PC except to DM your newest AD & D session or chair the local
>> Warhammer club's meeting.
>>
>> Most other people would probably just go "dude WTF!"
>
> ...I write computer programs in a non-strict purely-functional
> programming language with extended Miller-Hindley type inference,
> monadic effects and nested data parallelism.
>
> I win?
You WIN!
That was a seriously impressive list of attributes.
Dude! WTF!
--
Stefan Viljoen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
>> Most other people would probably just go "dude WTF!"
>
> Not if you got to play "never gonna give you up", made a video of it and
> uploaded it to youtube :-)
Too true!
--
Stefan Viljoen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>>> There are ways to waste time and then there are WAYS to waste time...! ;)
>>>
>>> The only people you might impress with something like that would be your
>>> D & D buddy whose got skin like a mole and never leaves his basement and
>>> his PC except to DM your newest AD & D session or chair the local
>>> Warhammer club's meeting.
>>>
>>> Most other people would probably just go "dude WTF!"
>> ...I write computer programs in a non-strict purely-functional
>> programming language with extended Miller-Hindley type inference,
>> monadic effects and nested data parallelism.
>>
>> I win?
>
> You WIN!
>
> That was a seriously impressive list of attributes.
>
> Dude! WTF!
A monad is just a monoid in the category of endofunctors. What's the
problem?
(Even more impressive is the fact that I'M NOT MAKING THIS STUFF UP!!)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> A monad is just a monoid in the category of endofunctors. What's the
> problem?
"endofunctor" sounds like something a doctor would use on someone's nether
regions.
Or a form of insult "I'll endofunctor your monad, BITCH!" :) :)
> (Even more impressive is the fact that I'M NOT MAKING THIS STUFF UP!!)
Wait lemme guess... haskell?
--
Stefan Viljoen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> A monad is just a monoid in the category of endofunctors. What's the
>> problem?
>
> "endofunctor" sounds like something a doctor would use on someone's nether
> regions.
>
> Or a form of insult "I'll endofunctor your monad, BITCH!" :) :)
(See attachment.)
>> (Even more impressive is the fact that I'M NOT MAKING THIS STUFF UP!!)
>
> Wait lemme guess... haskell?
Well DUH. ;-)
In case anybody doubts my powers...
- Non-strict: There is some arcane technical distinction between
"non-strict" and "lazy", but essentially it refers to the property of
Haskell whereby code is not executed until/unless its result is actually
"needed" for something.
- Purely-functional: Haskell is a "functional" programming language
(i.e., a language that uses "functions"). The term *purely* functional
indicates that it's not a hybrid-paradigm language (like, say, Lisp,
Erlang, C++...)
- Extended Milner-Hindley type inference: The Haskell compiler can
automatically work out what type things have without you having to
manually tell it. The algorithm was invented by Mr Milner and Mr
Hindley, but Haskell's type system is more complex / powerful, and hence
requires a somewhat more complicated inference algorithm.
http://tinyurl.com/yby3zdt
- Monadic effects: Haskell uses "monads" to control special effects such
as I/O, concurrency, transactions, nondeterminism, etc.
- Nested Data Parallelism: This is really a red herring. It's a Haskell
library designed to accelerate the kind of things that GPUs are good at,
but in a high-level, user-friendly way. Currently it's hopelessly
unfinished.
Oh, and a monad really *is* a monoid on the category of endofunctors:
http://en.wikipedia.org/wiki/Monad_(category_theory)
Personally, I have no frickin' idea what the hell a category is or how a
functor is different from an ordinary function. But what I do know is
that an endofunctor takes values from one category and returns values in
the same category (rather than some different category). And a monoid is
a set of items that can be "added together" and possesses an identity
element.
Why this is useful for computer programming is an entire *other*
question alltogether...
Post a reply to this message
Attachments:
Download 'monad.jpg' (22 KB)
Preview of image 'monad.jpg'
![monad.jpg](/povray.off-topic/attachment/%3C4b06bcd8%40news.povray.org%3E/monad.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
...
Ok, now I just feel dumb.
Good LOLCat btw!
--
Stefan Viljoen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> ...
>
> Ok, now I just feel dumb.
>
> Good LOLCat btw!
It's all good assorted craziness. ;-)
Post a reply to this message
Attachments:
Download 'dumb.jpg' (120 KB)
Preview of image 'dumb.jpg'
![dumb.jpg](/povray.off-topic/attachment/%3C4b06c14f%40news.povray.org%3E/dumb.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |