Name: Anonymous 2015-01-08 0:46
"Advanced Symta" - Nikita Sadkov
Where are these books?!
Nikita, write and publish!
Where are these books?!
Nikita, write and publish!
Every editor and human in the world think that .s is assembly. .sy looks much better anyway.Nope. Emacs thinks that ".s" are statistical language files (R, Matlab, etc..)
if c then error "BOO!" else 0which are fundamentally incompatible, as you cannot lazy the 'expensive' computation if it involves a side-effect ('error "BOO!"').
map (\ a -> a + expensive) xs
if it involves a side-effectAnd what if it doesn't?
I used to think I wanted a strict by default language, too. My experience isn't that its somewhat more messy, but rather than its a slaughterhouse to get the level of laziness that makes it useful. YMMV but one of the biggest wins of haskell for me is that algorithms written by different people compose well.
Those that are put together in a strict-by-default environment are often strict enough that they just don't compose without "time leaks", so you wind up reimplementing the whole thing over again, entangling the two implementations by hand, because its easier than dealing with the laziness annotations, defeating the whole purpose of the exercise to me.
You "could" build a culture in a strict language around structures with lazy spines and get things that compose, but I can't point to a single language out there that can do this that does.
The 'quick and easy path' in that setting leads to mutation and folks tying the knot with mutation and nulls, not lazy values and bottoms.
but one of the biggest wins of haskell for me is that algorithms written by different people compose well.People also go well together when they are all dressed in nazi uniforms, you fucking fascist.
Those that are put together in a strict-by-default environment are often strict enough that they just don't compose without "time leaks", so you wind up reimplementing the whole thing over again, entangling the two implementations by hand, because its easier than dealing with the laziness annotations, defeating the whole purpose of the exercise to me.Just because you fuck it up doesn't mean everyone will. Just because I fuck your sister doesn't mean everyone does. Fucking faggot.
You "could" build a culture in a strict language around structures with lazy spines and get things that compose, but I can't point to a single language out there that can do this that does.I bet you're the kid that had the legos in the sandbox and was all like wow I have lots of blocks. If only I had a block that was the thing I want. You weren't the kid that thought of what he wanted and built it out of the legos in front of him. No imagination. Gimme this. Gimme that. I need it. I neeed it! Because I can't fucking build it myself! Wahhh! Wahhhhhhhh! Waaaaaaahhhhhh!!!! Bob the Builder abandoned you because you were a talentless bitch and a failure at building.
The 'quick and easy path' in that setting leads to mutation and folks tying the knot with mutation and nulls, not lazy values and bottoms.Unless you optimize the laziness out entirely THEY'RE THE SAME FUCKING THING YOU DIPSHIT. WAAAHHH!!!! I can't use mutations unless the monstrous runtime I'm using is doing it for meeee!! Wahhhhh!
Local variables of routines are often kept in activation records (also call frames). In many languages, these records are kept on a call stack.
anus :: ().() -> Shit