< 1245715590 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1245715680 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :hmm to implement this i need a type checker.... < 1245715700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hindley-Milner! < 1245715782 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :hmmm defining application for something that isn't a function makes this unnice < 1245716165 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :ok i need recursive types or a builtin fixed point operator :/ < 1245716209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just compile to haskell :p < 1245716216 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :haskell lacks recursive types < 1245716238 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :at least without some extension... not sure about that < 1245716276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :jix_: haskell has a built-in fixed point operator < 1245716279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :jix_: you could compile to ocaml < 1245716281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :using -rectypes < 1245716286 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ofc then you lose type safety < 1245716301 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yeah but doing a fixed point operator is trivial < 1245716309 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :(when writing an interpreter) < 1245716312 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :jix_: for recursive types in haskell, use newtype < 1245716366 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :i could of course use runtime typechecking.... < 1245716370 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :but that sucks < 1245716371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to implement something in ocaml. < 1245716375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :an esolang that is < 1245716723 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :One idea for non-tc tarpit language: Bounded-loop language with conway arrow operator. :-) < 1245717042 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And Conway arrow gets some crazy large numbers fast. Especially if you chain them. Three-arrow chains rapidly produce values bigger than even Graham's number (or even "xkcd number"). < 1245717451 0 :Arrogant!n=scotty@86.157.100.97.cfl.res.rr.com JOIN :#esoteric < 1245717621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: A(g64,g64) arrow chains, bitch! < 1245717624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hi Arrogant. < 1245717651 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1245717663 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :I haven't been here for like a year < 1245717669 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :what's the hot stuff nowadays < 1245717709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Arrogant: the usual, most likely < 1245717790 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :so... brainfuck and like 50 variations? < 1245717797 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1245717813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alas, yes < 1245717829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Arrogant: we may have more of a functional bent nowadays, although perhaps not as recently as a year ago < 1245717849 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :I think a year might've been an optimistic estimate < 1245717857 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Also GCC-BF. < 1245717861 0 :Dewio!n=dewi@124-171-164-65.dyn.iinet.net.au JOIN :#esoteric < 1245717870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which doesn't work yet. < 1245717876 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Arrogant: ah :P < 1245717876 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and EgoBot has been rewritten. < 1245717883 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also the occasional befunge, right fungot? < 1245717884 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: and you have to learn more about scheme and he muttered it again, this is neither politics nor fnord. < 1245717904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Arrogant: in case you don't know who fungot is, here's a file that no man should wot of: http://zem.fi/~fis/fungot.b98.txt) < 1245717904 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the structure is assumed to mean fnord)? i < 1245717947 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (and underload!)S < 1245717947 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :and underload! < 1245717960 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :fungot: Yes fungot, the structures IS assumed to mean fnord). i < 1245717961 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: go and ping riastradh already said that < 1245717961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: can you do mutually recursive functions in ocaml without an .mli? < 1245717967 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!slashes And \/\/\/! < 1245717969 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :And ///! < 1245717984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!slashes /foo/bar/foobar < 1245717984 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :barbar < 1245717990 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: put them in the same val rec block with and between, iirc < 1245717993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!slashes /foo/bar/foo/bar/foo/bar < 1245718001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, let rec < 1245718003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'sat an infinite loop ey? < 1245718029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1245718035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/foo/bar/foo/bar/foo/bar → < 1245718041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> bar/bar/bar/bar < 1245718045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right < 1245718051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ (output bar) < 1245718054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ /bar/bar/bar < 1245718057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ bar < 1245718059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ (output bar) < 1245718059 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1245718060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ end < 1245718063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no? < 1245718071 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :/bar/bar/bar -> inf loop < 1245718074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1245718078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, why? < 1245718080 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that is a rather horrific file to be sure < 1245718082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a replacement doesn't consider itself < 1245718082 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Arrogant: So. < 1245718088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Arrogant: it's fungot's source! < 1245718088 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ehird: he's french, jcowan. they can't type much with qwerty without suffering pain.) < 1245718089 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure it does < 1245718093 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it does? < 1245718094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1245718115 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :I like it < 1245718233 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :at least in my implementation. it's not like it checks for any special cases.... < 1245718244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: mine scanned after, you see < 1245718246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as per the optimization < 1245718250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1245718275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :note that /bar/barf/bar is _definitely_ an infinite loop < 1245718285 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :trying to back up this ssd sucks < 1245718306 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :by the specification, the substitution is repeated on the first instance until the source string no longer occurs < 1245718336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombgirl: why < 1245718336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just rsync 'er up < 1245718347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1245718357 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :ehird: because i can read from it 3 times faster than i can write to anything! < 1245718371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombgirl: buy one of the crappy-random-access-but-large-storage ssds < 1245718375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they have fast sequential speed :P < 1245718550 0 :Dewi!unknown@unknown.invalid QUIT :Read error: 101 (Network is unreachable) < 1245718744 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[“C programmers” really program not in C, but in the purely functional language cpp. As with any purely functional language, cpp consists only of (nestable) expressions, not statements. Now here’s the clever part: when evaluated (not executed), a cpp expression yields a (pure) value of type C, which is an ADT (abstract type) that represents imperative programs. That value of type C is then executed (not evaluated) by the cpp language’s RTS (run- < 1245718747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :time system). As a clever optimization, cpp’s RTS actually includes a code generator, considerably improving performance over more naïve implementations of the C abstract data type. ]] < 1245718877 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245718978 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I didn't know that CPP was purely functional. < 1245718984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: modulo #undef :) < 1245719007 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, if you ignore undef, then yes, yes it is. < 1245719009 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1245719065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://conal.net/blog/posts/the-c-language-is-purely-functional/ < 1245719070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"or char *, for you type theorists, using a notation from Kleene" < 1245719086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hilarious < 1245719142 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i think thats actually the origin of the * notation. not that it matters, since a char* is not a kleene star of chars but < 1245719171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1245719206 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :also < 1245719208 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i have to say < 1245719216 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :if C is purely functional, then why bother with haskell? < 1245719224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur: the post's a joke yo. < 1245719234 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :is it? < 1245719234 0 :inurinternet!unknown@unknown.invalid QUIT :No route to host < 1245719236 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Your MOM is a joke, yo. < 1245719238 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :are you sure? < 1245719242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur: read the conclusion < 1245719246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's argumentum ad absurdum < 1245719266 0 :Dewio!unknown@unknown.invalid NICK :Dewi < 1245719287 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh i see. < 1245719299 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but i dont agree with his argument in the first place! D: < 1245719306 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :his argument is technically true < 1245719311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unsubjectively < 1245719311 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :is it? < 1245719315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1245719316 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :because people dont code in cpp < 1245719318 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :they code in C < 1245719325 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I beg to differ. < 1245719330 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1245719330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hands augur an "I Didn't Read The Post!" badge < 1245719340 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird, i read the post when it was first posted. < 1245719352 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Someone wrote "Hunt the Wumpus" in CPP for IOCCC, IIRC. < 1245719361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so did your mom, though < 1245719366 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :how do people code in cpp? < 1245719368 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Of note: CPP isn't TC, so this is all silliness :P < 1245719373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Nor did you! < 1245719393 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: It is if you assume iterated executions. < 1245719398 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hands himself an "I Didn't Read The Post!" badge. < 1245719412 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Which you don't, because that's not how it's used. < 1245719413 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :The post fails to specify what a value of type cpp returns upon execution. < 1245719428 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird < 1245719442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: C. < 1245719446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :As it said. < 1245719448 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :In particular, there's quite a lot that can't be bothered to finish this sentence, so I'm going to do something else. < 1245719465 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird < 1245719478 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Anyways, CPP is still purely functional. It just doesn't allow recursion. :P < 1245719494 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what < 1245719494 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(making it the single most useless purely functional language I know of) < 1245719501 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it's purely function and non-TC. < 1245719505 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So is algebra. < 1245719509 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :*functional < 1245719515 0 :upyr[emacs]!unknown@unknown.invalid QUIT :Remote closed the connection < 1245719527 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Algebra is TC! < 1245719527 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh i see what you mean. < 1245719536 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: only some algebras! < 1245719555 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My computer algebra system is TC! < 1245719557 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"Algebra", in the usual formulation of the word, does not include functions, and so cannot include recursion. < 1245719564 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :actually, i dont think any algebra is TC, since an algebra is a formal system, not an algorithm for computation < 1245719564 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Algebra has infinite storage space. < 1245719564 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(it is in fact a Lisp!) < 1245719580 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :augur : Same thing < 1245719580 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Formal systems can be TC or not, surely. < 1245719590 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Your mom can be TC or not, surely. < 1245719604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :YOUR FACE CAN BE JFHIUDwh5iu3oi 6o56opsai35f893q90-[[[q < 1245719605 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :My mom doesn't have infinite memory < 1245719609 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Like if there's a function from Turing machine to sentence computable by an FSA where the sentence is derivable if and only if the machine halts. < 1245719610 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: not really. First order and second order logic are not "turing complete". its meaningless to apply that phrase to them. < 1245719618 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: There is some confusion, though, since most people are introduced to functions in their "Algebra" course. < 1245719648 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :augur : But you can define algorithm in logic :o < 1245719653 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That was Godel's paper! < 1245719659 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I was introduced to calculus in my Pre-Calculus course. That was weird. < 1245719661 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :im pretty sure it wasnt < 1245719670 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :the incompleteness theory isnt about algorithms < 1245719675 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :... < 1245719682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he's right you know < 1245719683 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: I was introduced to the calculus of derivatives in my pre-calc class, as well. < 1245719687 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Half of the paper is about them < 1245719700 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :With recursive functions and shit < 1245719704 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But for some reason, we were only taught how to take the derivative of polynomials. < 1245719716 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :We were taught the definition of a derivative. < 1245719717 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I guess they wanted to cover the trivial case? < 1245719724 0 :inurinternet!n=nuri@cpe-72-132-167-7.dc.res.rr.com JOIN :#esoteric < 1245719726 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :My disdain for this conversation brings about many childish "your mom" jokes. But then again, your MOM'S disdain for this conversation brings about many childish "your mom" jokes. < 1245719730 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :So, how do you take the derivative of x^2 + 3x + 4, everyone? < 1245719744 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :In my ass < 1245719761 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Define "definition". Formal defintion involving either infinitisimals or \lim? < 1245719762 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :With milk and two scoops of sugar. < 1245719772 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or just "It's the slope of the tangent line"? < 1245719782 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Plug it into the definition: lim_(h->0) ((x+h)^2 + 3(x+h) + 4 - x^2 - 3x - 4)/h < 1245719790 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Oh*. < 1245719800 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq : Or open sets :o < 1245719809 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: ... Open sets? Really? < 1245719823 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Multiply it out: lim_(h->0) (x^2 + 2xh + h^2 + 3x + 3h + 4 - x^2 - 3x - 4)/h < 1245719824 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I seem to recall analysis stuff defined with topology < 1245719838 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't know much of set theory; I just got through calc 3, man! < 1245719839 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Of course, the definitions are pretty much the same as limits < 1245719847 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Except it employs the local vocabulary < 1245719847 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Cancel: lim_(h->0) (2xh + h^2 + 3h)/h < 1245719861 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: Ouch. < 1245719863 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Cancel: lim_(h->0) (2x + h + 3) < 1245719873 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Plug in 0: 2x + 3 < 1245719915 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I didn't do that. I used the calculus I knew that everyone else didn't. < 1245719971 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Don't blame you. < 1245719993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :How to take the derivative of (x^2 + 3x + 4) for lazies: < 1245719994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In[11]:= D[x^2 + 3 x + 4, x] < 1245719994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Out[11]= 3 + 2 x < 1245720012 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, Mathematica isn't allowed on the AP test. < 1245720024 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, will Mathematica take a Lagrange error bound? < 1245720049 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Use infinitesimals < 1245720053 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :They're easy to use < 1245720063 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Infinitesimals are great! < 1245720063 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's like derp derp < 1245720066 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :there we go < 1245720067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it'll take your mom Warrigal < 1245720076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses monads < 1245720086 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nonstandard analysis monads, that is < 1245720087 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :They let you show that the derivative of dy/dx with respect to x is d^2y/dx^2 - dy/dx. < 1245720150 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Y'know, I'd really like to learn Haskell. Unfortunately, it seems that I don't know enough math to understand it. < 1245720154 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :infinitesimals don't exist ;_; < 1245720164 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :not in mah real number system! *hugs* < 1245720171 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :They're still great. < 1245720226 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: you don't need any math... < 1245720255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Haskell is just functional programming. < 1245720260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It just happens to have parallels to category theory. < 1245720281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty much mathtarded and i grok haskell < 1245720287 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is coming from a heavy string of imperative languages. Mind blowing begin now < 1245720304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: may I interest you in the airline food, Scheme? < 1245720311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Note: is not disgusting like airline food) < 1245720313 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fine, I'll struggle through it. Mind-blowing can't be too bad for me, can it? < 1245720328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Have another analogy: < 1245720338 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Mind blowing is definitely good for a person. < 1245720342 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Scheme. It's Haskell's gateway drug. < 1245720343 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Mind-blowing, on the other hand, is an adjective. < 1245720359 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: when brain juice starts pouring out of your nose, it may be time to take a break < 1245720417 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's a fairly rare side-effect of haskell, though. not to be confused with nose-bleeding. < 1245720470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: but... < 1245720470 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(all haskell side-effects are rare) < 1245720485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://learnyouahaskell.com/ is probably the best tutorial for an imperativer < 1245720497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(if you can stand the style, i love it) < 1245720520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: but yeah, it uses basically no mathematics and doesn't tell you false rubbish only to correct it later < 1245720751 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I thought it was purely functional? :P < 1245720795 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ((monads )S:^):^ < 1245720795 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads monads mo ...too much output! < 1245720816 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :!swedish monads < 1245720817 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :muneds < 1245720827 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :monads monads monads monads monads monads monads monads monads monads monads monads IO IO < 1245720842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :IO IO! shub niggurath < 1245720845 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1245720896 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!swedish !swedish < 1245720896 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :!svedeesh < 1245720907 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!svedeesh svedeesh < 1245720911 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1245720911 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . < 1245720917 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!help userinterps < 1245720917 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp. < 1245720930 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!show swedish < 1245720930 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :sh chef | fmt -w500 < 1245720959 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!addinterp svedeesh sh chef | fmt -w500 < 1245720959 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Interpreter svedeesh installed. < 1245720964 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!svedeesh svedeesh < 1245720964 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :sfedeesh < 1245720965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw, visit #haskell. we don't bite. < 1245720968 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :ugh. removing accidentally mutually recursive directories is annoying < 1245720974 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!addinterp sfedeesh sh chef | fmt -w500 < 1245720974 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Interpreter sfedeesh installed. < 1245720979 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!sfedeesh sfedeesh < 1245720979 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :sffedeesh < 1245720985 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :That's enough. < 1245720986 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Gracenotes: ... creating mutually recursive directories sounds like quite the hat tric. < 1245720990 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :*hat trick >_< < 1245720996 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :simple as rm -rfv, but still, the log is quite verbose < 1245721006 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :removed directory: 'a/b/a/b/a/b/a/b/a/b' < 1245721008 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :removed directory: 'a/b/a/b/a/b/a/b/a' < 1245721010 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1245721013 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :removed directory: 'a/b' < 1245721015 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :removed directory: 'a' < 1245721032 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :I'm guessing there's a maximum recursion depth that made the whole thing terminate okay < 1245721049 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Gracenotes: How did you accomplish this feat in the first place? < 1245721056 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :ln? < 1245721072 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Linux+ext3 doesn't let you hardlink directories IIRC < 1245721095 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Where by "you" I mean "even root") < 1245721098 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: not sure. I think I accidentally dragged a directory in nautilus into a folder in its directory < 1245721100 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Well, then, use a different filesystem. < 1245721113 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :hfs < 1245721115 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :by "directory in nautilus", I mean a part of its gui < 1245721134 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :the bar at the top. I'm using ext3 by the way < 1245721157 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :but it's all gone < 1245721160 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :a = mkDirectory "a" [mkDirectory "b" [a]] < 1245721185 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :okay, I did it again < 1245721212 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If, using some filesystem that allows you, you create two mutually recursive directories, can you unlink the top one from its original path and allow them to exist, both with one reference, defying your filesystem's simple reference counting garbage collector? :P < 1245721250 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :okay. Doing find on these directories does terminate < 1245721262 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd assume this is why you can't hardlink directories. :P < 1245721273 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'm thinkin' it just is copying into itself at some arbitarily silly depth. < 1245721307 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :oh.. so it must be nautilus then < 1245721320 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :according to Haskell, the number of slashes in the longest path is 994 < 1245721326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ln: `a': hard link not allowed for directory < 1245721331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fuck you. < 1245721333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...hm. < 1245721339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can you morph a file into a directory in-place? < 1245721349 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Uh, no? Not without a hexeditor :P < 1245721359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not < 1245721379 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Because there's no interface in the filesystem's API to allow you to? < 1245721385 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe with libext2? < 1245721385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there should be. < 1245721390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: for HFS+ :P < 1245721398 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hex editor. < 1245721402 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I vote you use a hexeditor. < 1245721402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk] % cd a/b/a/b/ < 1245721403 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :DOIT < 1245721403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my_cd:pushd: too many levels of symbolic links: a/b/a/b/ < 1245721404 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :DOIT NOW < 1245721406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ridonkulous. < 1245721408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay, first of all < 1245721416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm not opening a 256GB file in any editor then searching it < 1245721417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :second < 1245721426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can you even do that to a mounted filesystem? < 1245721429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :third < 1245721432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't have any backups so fuck that < 1245721433 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :third, why is cd redefined to pushd? < 1245721448 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :okay, here's the rm log. http://67.223.225.106/weird.txt < 1245721453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my_cd() { dirs=($(dirs)); if [[ ! -z $1 && $1 != $dirs[1] ]]; then pushd $*; fi } < 1245721453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :setopt pushd_silent < 1245721454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alias cd=my_cd < 1245721456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :alias bk=popd < 1245721458 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :nothing too exciting. but rm did produce it < 1245721461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: So I can jump around my "directory history". < 1245721462 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ pwd < 1245721462 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/home/gregor/test/loopy/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although i should add a fwd < 1245721486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can you do that? < 1245721494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk/a/b] % cd a < 1245721494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my_cd:pushd: too many levels of symbolic links: a < 1245721496 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :pushd is sweet, btw < 1245721499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wiat < 1245721500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1245721504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mislinked it < 1245721518 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :so i herd u mislinked it < 1245721521 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Perhaps by having bk pop to some other stack. :P < 1245721521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b] % < 1245721533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it's so soft. < 1245721552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HOLY SHIT < 1245721554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: GregorR: Gracenotes: < 1245721556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b] % cd a/b/a/b/a/b/a/b/a/b/a/b/a/b < 1245721559 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :WHAT < 1245721559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk/a/b] % < 1245721562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WHAT DOES IT MEAN???????????? < 1245721570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I WAS TRANSPORTED ALL THE WAY BACK! < 1245721571 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :APORKALYPSE NAO < 1245721580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% find a < 1245721580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1245721581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/b < 1245721583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/b/a < 1245721585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lam < 1245721587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1245721590 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :bda < 1245721609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ls: a/b/a: not listing already-listed directory < 1245721610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ur a fagt < 1245721618 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`run ln -s ../ a < 1245721618 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1245721626 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`minifind a < 1245721629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`run for i in $(seq 1000); do cd a; done < 1245721638 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1245721642 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :lawl :P < 1245721644 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`ls < 1245721645 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :a \ bin \ paste \ quotes \ share \ tmpdir.8746 < 1245721648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`pwd < 1245721649 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :/tmp/hackenv.8787 < 1245721653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Lame < 1245721658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`run for i in $(seq 10); do cd a; done < 1245721659 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1245721660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`pwd < 1245721661 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :/tmp/hackenv.8872 < 1245721663 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1245721664 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1245721665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :One env. < 1245721668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`run for i in $(seq 10); do cd a; done; pwd < 1245721669 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :/tmp/hackenv.8915/a < 1245721671 0 :augur!unknown@unknown.invalid QUIT :"Leaving..." < 1245721672 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :laaaaaame < 1245721687 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`run ( while true; do cd a; done ) 2>&1 | tail -n 2 < 1245721702 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just assumes that'll fail at some point :P < 1245721706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% for i in $(seq 1000); do mkdir a; cd a; done < 1245721713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i can has break my filesystem? < 1245721737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION twiddles thumbs < 1245721747 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ while true; do mkdir a; cd a; done < 1245721757 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(That makes me more hardcore than you) < 1245721758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Now that's dumb < 1245721767 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245721771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Uh, I think I'm running out of disk. < 1245721783 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/home/gregor/test/baddir/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721783 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1245721797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% find a|wc -l < 1245721797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :900 < 1245721797 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/home/gregor/test/baddir/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721797 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721798 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Perfect timing! < 1245721801 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% find a|wc -l < 1245721802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :900 < 1245721803 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721808 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a < 1245721818 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ pwd | wc -c < 1245721819 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :2261 < 1245721831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :100! < 1245721832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1000! < 1245721836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245721836 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ pwd | wc -c < 1245721836 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :2545 < 1245721838 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245721841 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm not even all that far in, but this is damned cool. :) < 1245721843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245721848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245721853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a] % < 1245721854 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1245721855 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I thought there was a maximum path length limit :P < 1245721856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs it again < 1245721890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mkdir: cannot create directory `a': File exists < 1245721892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WTF :D < 1245721895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1245721897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its still going < 1245721897 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ pwd | wc -c < 1245721897 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :3301 < 1245721900 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: 2.6 eliminated it. < 1245721911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The maximum path length is 'how much memory can be allocated'. < 1245721916 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sweet. < 1245721918 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ find . -name a | wc -l < 1245721918 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :1757 < 1245721929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mine is going slowly < 1245721931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if i can... < 1245721933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MULTITHREAD IT < 1245721941 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Uh ... no? < 1245721944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1245721945 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just got to list comprehensions < 1245721952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: in LYAH? < 1245721957 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1245721966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: just wait for the culture shock :) < 1245721976 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hasn't hit yet. < 1245721992 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :This is just "OMFG. Sweet." so far. < 1245721993 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Argh, I tried to stop it at exactly 2000 < 1245721997 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ find . -name a | wc -l < 1245721997 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :2001 < 1245721999 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :SO CLOSE < 1245722003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A SPACE ODDYSEY < 1245722005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ODDESY < 1245722006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :THING < 1245722018 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ pwd | wc -c < 1245722018 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :4027 < 1245722040 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :WTF < 1245722041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION types cd a/ and holds down tab. < 1245722044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets progressively slower XD < 1245722045 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :$ time rm -rf a < 1245722045 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :0.00user 0.04system 0:00.05elapsed 96PU (0avgtext+0avgdata 0maxresident)k < 1245722045 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :0inputs+0outputs (0major+252minor)pagefaults 0swaps < 1245722054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Now THAT'S fast! < 1245722058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245722062 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It seems to actually be gone D-8 < 1245722077 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I guess the filesystem does all its GC in the background. < 1245722095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Your filesystem, remember, is insanely optimized :P < 1245722118 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Whereas yours was intended for m68k-based systems that used "\r" for newlines? :P < 1245722129 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :P:\BadDir\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a>cd a\a\a\a\a\a\a\a\a\a\a\a\a\a\ < 1245722131 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :The name of the file cannot be resolved by the system. < 1245722134 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1245722146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Yes, because OS X totally uses the OS Classic codebase :P < 1245722156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: WINDOWS FAG < 1245722189 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird: "Filesystem" is an ambiguous term, I was using it to refer to the definition of the data format, not the driver. < 1245722194 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: ext3 is reference counted. ;) < 1245722210 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but so's your face. < 1245722218 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I count one reference to it RIGHT NOW < 1245722218 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Also, HFS+ has little to do with OS Classic. < 1245722219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION listens to his disk spin. < 1245722253 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it was first used for OS 8.1. Never mind. < 1245722268 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nothing to do with m68k, though. ;) < 1245722269 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I was about to say ... < 1245722283 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's based on HFS (at least in spirit) *shrugs* < 1245722285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HFS+ rocks, anyway. < 1245722299 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So does your MOM. ... in bed? < 1245722307 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1245722336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :God this is slow < 1245722343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I give up < 1245722347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :^C% [ehird:~/Junk/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722375 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :fffffffffffffffffffffffffffffffffffffffffffffff < 1245722376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/ < 1245722381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a] % < 1245722385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FLOOD YEAH < 1245722387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk] % time rm -rf a < 1245722389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :rm -rf a 0.07s user 0.35s system 83% cpu 0.507 total < 1245722613 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :i don't get it < 1245722623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what < 1245722675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombgirl: what < 1245722688 0 :CESSMASTER!n=CESSMAST@unaffiliated/joelywoely JOIN :#esoteric < 1245722765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bai < 1245722771 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :what comes after dichotomy and trichotomy? < 1245722777 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :tetrachotomy? < 1245722782 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1245722783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ < 1245722806 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wondered about that yesterday < 1245722835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn net is molasses again < 1245722858 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :I always confuse the ordinal prefixes. for four, there's both tetra and quad < 1245722877 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :then there's twice, thrice, and quarce < 1245722879 0 :CESSMASTER!unknown@unknown.invalid PRIVMSG #esoteric :"di" is greek, so you use"tetra" < 1245722880 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :tetra is greek, like di < 1245722887 0 :CESSMASTER!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: great minds < 1245722892 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :and what's quad and everything in its sequence? < 1245722899 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and slow net < 1245722900 0 :CESSMASTER!unknown@unknown.invalid PRIVMSG #esoteric :latin < 1245722933 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :once, twice, thrice, quarce, quince, sense, septence, octence, novence... < 1245722941 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :sence? < 1245722967 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :octo, novem , decem < 1245722980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1245723006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :undecim, duodecim, tredecim < 1245723023 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :but that's not of the same ordinal forms twice/thrice are :) < 1245723033 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :something like, decence < 1245723047 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :hm. http://en.wiktionary.org/wiki/Wiktionary_talk:List_of_protologisms#More_number_words < 1245723056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :true, but those were weirdly germanic/romance mixes? < 1245723063 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :wtf, baikce < 1245723112 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :I like weirdly germanic/romance mixes < 1245723117 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :TELEVISION. HAH < 1245723147 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :... >_> < 1245723306 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders who in the neighborhood is downloading HD movies < 1245723313 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1245723379 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :..neighborhood < 1245723656 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :hm. time to shred a 500-MB directory with 150-something files, just for the fun of it < 1245723688 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :-vuz, of course < 1245723725 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :hm. this isn't very fun so far. < 1245723840 0 :GreaseMonkey!n=gm@unaffiliated/greasemonkey JOIN :#esoteric < 1245723868 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :at least spider solitaire is not slow... < 1245723999 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :alright, successful installation of a 500gb seagate hard drive into my macbook pro < 1245724002 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :hooray < 1245724018 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :only took an hour and a half < 1245724212 0 :Gracenotes!unknown@unknown.invalid PRIVMSG #esoteric :omfg < 1245724287 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, so far I have gone from "that's kinda cool" to "Haskell is the manifestation of all that is good". < 1245724297 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Brain breaking should set in soon, I think. < 1245724375 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :if it doesn't, http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras might help < 1245724445 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That'd do it. < 1245724512 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :edwardk sometimes used to come here, iirc < 1245724564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :his languages were a little more advanced than the usual discussion ;) < 1245725418 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION almost has a Haskell interpreter. < 1245725421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245725563 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1245725632 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GHC takes a while to build. < 1245725641 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :^help < 1245725641 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool < 1245725732 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :GregorR gave up adding ghc to EgoBot < 1245725753 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1245725764 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot is where you want to go for that < 1245725766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Aaaaw. < 1245725782 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I couldn't figure out how to make it just run code and give the effing output, no header, no prompt, just output. < 1245725809 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: (1) runhaskell (2) ghc -e < 1245725818 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :runhaskell??? < 1245725825 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or runghc < 1245725841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think it's a script, anyway it comes with ghc < 1245725881 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :runhaskell takes a whole Main module, ghc -e takes an expression < 1245725884 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh right, but that requires you have a main function. You can't just give it arbitrary code. I'd like to have it work either way, ideally. < 1245725889 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1245725894 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :CANCEL PREVIOUS STATEMENT < 1245725919 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Say, is there a haskell-mode? < 1245725934 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :almost certainly < 1245725959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i hear haskell is a bit hard on automatic indentation though < 1245725975 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc you sometimes have to cycle between alternatives < 1245726055 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has never had any issues with vim's automatic indentation WRT Haskell. < 1245726122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has never tried to set vim to do anything more clever than the default for haskell (same indentation as previous line, except automatic comment continuation afaict) < 1245726193 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell putStr "Hello, world!\n" < 1245726195 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! < 1245726200 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr "Hello, world!\n" < 1245726202 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Warning: ignoring unrecognised input `/tmp/input.9739' < 1245726205 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i understand it trips up emacs users who are used to return always ending in the right spot < 1245726208 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1245726211 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1245726227 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Is the input unrecognized because it doesn't have a fekking .hs or what? < 1245726231 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: i think you need a flag for it to recognize anything not ending with .hs .lhs < 1245726241 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :X_X < 1245726271 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lemme check < 1245726282 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION can't find it. < 1245726513 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1245726711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"Causes all files following this option on the command line to be processed as if they had the suffix suffix. For example, to compile a Haskell module in the file M.my-hs, use ghc -c -x hs M.my-hs. < 1245726715 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-x it is < 1245726742 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr "Hello, world!\n" < 1245726775 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric : Failed to load interface for `Main': < 1245726775 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric : Use -v to see a list of the files searched for. < 1245726777 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Whaaa? < 1245726836 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what's the actual command line? < 1245726873 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :runhaskell -- -x hs -- /tmp/input.$$ < 1245726883 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that option is under "batch compilation", maybe it only applies to that < 1245726890 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hrm >_> < 1245726910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lemme see < 1245726931 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell module Main where { main = putStr "Hello, world!\n" } < 1245726940 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah, same < 1245726951 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr "Hello, world!\n" < 1245726953 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! < 1245726957 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Fixtlawl < 1245726967 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(I forced it to rename the file. Bloody annoying :P < 1245726969 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :) < 1245726974 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1245727022 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It was easier than calling ghc and then running the resultant binary manually, although that also worked. < 1245727036 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1245727080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell 2+2 < 1245727082 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1245727108 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!sh echo '2 2 + p' | dc < 1245727108 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1245727152 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell product [1..100] < 1245727154 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 < 1245727165 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sweet < 1245727175 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell product [1..200] < 1245727177 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000 < 1245727178 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Can it do that? :P < 1245727179 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Wow < 1245727183 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell product [1..1000] < 1245727198 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Strugglin' a bout now, aren't ye Haskell! :P < 1245727263 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell length . show $ product [1..1000] < 1245727264 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :40238726007709377354370243392300398571937486421071463254379991042993851239862902059204420848696940480047998861019719605863166687299480855890132382966994459099742450408707375991882362772718873251977950595099527612087497546249704360141827809464649629105639388743788648733711918104582578364784997701247663288983595573543251318532395846307555740911426241747434934755342864657661166779739666882029120737914385371958824980812686783837455973174613608537953452422 < 1245727288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds that unlikely to be his answer < 1245727297 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :lawl < 1245727320 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :strange how it would take so long, it finishes in 0.05s here < 1245727336 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell () < 1245727337 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1245727363 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It has to set up the secure execution environment *shrugs* < 1245727364 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that was definitely mine < 1245727488 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Is it normal for "Compiling Main" to take forever in ghci? < 1245727498 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or have I done something really screwy? < 1245727534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't actually know, still uses winhugs < 1245727548 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahaha, a last bastion of HUGS :P < 1245727574 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION suspects that mergesort was not necessarily the best choice of 'First Haskell program'. :P < 1245727577 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(The original author of hugs endorses GHC in his Haskell class. True story, I was there, lawl :P ) < 1245727598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whtspc also used it when i made the ferNANDo interpreter for him < 1245727621 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :What I meant was that winhugs is a last bastion of hugs. < 1245727621 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :builtin sort in ghc is mergesort, actually < 1245727657 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but that's beside the point. < 1245727663 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell sort [-5, -4 .. 10] < 1245727669 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... This has been taking *quite* some time. < 1245727681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :parse error? < 1245727690 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well that certainly ought to have produced a result :P < 1245727694 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No parse error. < 1245727699 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :[1 of 1] Compiling Main ( merge.hs, interpreted ) < 1245727700 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, mine < 1245727701 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's it. < 1245727706 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1245727731 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i expected a possible missing import, but not parse error... < 1245727742 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If this were right, I would have implemented merge sort in 7 lines. < 1245727763 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is, of course, purdy. < 1245727767 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm it worked fine in winhugs < 1245727803 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell [-5 .. 10] < 1245727804 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10] < 1245727812 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION suspects it's his merge algorithm that's giving troubles < 1245727839 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell [10, 9 .. -5] < 1245727840 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[10,9,8,7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5] < 1245727849 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell sort [10, 9 .. -5] < 1245727884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell length [10, 9 .. -5] < 1245727885 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :16 < 1245727888 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1245727907 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1245727938 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: i think when the expression gives an error, it tries the file, and then that gives a parse error < 1245727947 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that was confusing < 1245727956 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It does in fact do that, yes. < 1245727973 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I didn't want to make it intelligently guess whether it's an expression or a full file. < 1245727996 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import Data.List; main = print $ sort [10, 9 .. -5] < 1245727999 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10] < 1245728041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = print $ sort [10, 9 .. -5] < 1245728066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it was the import error that was the actual cause < 1245728097 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Note to self: infinite recursion is bad, mmkay? < 1245728122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :depends ... < 1245728148 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Especially in a language in which tail recursion is rewritten as iteration, and so it'll never fail with a stack overflow or similar :P < 1245728149 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :For a merge algorithm operating on finite lists. < 1245728161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell let l = 1:l in l < 1245728176 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell let 1 + 1 = 3 in 1 + 1 < 1245728181 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1245728201 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :one might say that's corecursion < 1245728209 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess that might not print anything because there is no newline < 1245728219 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It should give output with or without a newline. < 1245728228 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's an infinite list < 1245728229 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell putStr "Where's mah newline?" < 1245728231 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Where's mah newline? < 1245728238 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :.......... orrrrrr ... not? < 1245728242 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Ah, there 'tis :P < 1245728253 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh, in that case it won't, because it'll get killed with everything on the buffer. < 1245728288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell take 1000 $ let l = 1:l in l < 1245728289 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, < 1245728313 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell take 1000 $ fix error < 1245728327 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't think fix is imported < 1245728344 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import Control.Monad.Fix; main = print . take 1000 $ fix error < 1245728387 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not immensely promising, that < 1245728389 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :oh, it wouldn't work anyway, because fix error doesn't actually yield a value < 1245728404 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1245728436 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :i ought to write some code < 1245728452 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell take 100 $ let fib = 1:1:zipWith (+) fib (tail fib) in fib < 1245728453 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,2971215073,4807526976,7778742049,12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,225851433717,365435296162,591286729879,956722026041,1548008755920,25 < 1245728500 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell take 100 $ the cookie jar < 1245728509 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import Control.Monad.Fix; main = print . take 1000 $ fix show < 1245728513 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ < 1245728536 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :One-line Haskell is a force to be reckoned with :P < 1245728634 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr s; print s where s = "main = putStr s; print s where s = " < 1245728652 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1245728665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr s >> print s where s = "main = putStr s >> print s where s = " < 1245728667 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :main = putStr s >> print s where s = "main = putStr s >> print s where s = " < 1245728682 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :EVIL < 1245728758 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1245728920 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should not be having trouble getting half the length of a list. /me really shouldn't. < 1245729118 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell hl l = hl_p l + 1; hl_p l = hl l; main = print . hl [1, 2, 3, 4] < 1245729145 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Something like that :P < 1245729146 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION figured that bit out < 1245729225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION suspect it was an Int vs. / problem < 1245729227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*s < 1245729252 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell hl h:t = hl_p t + 1; hl_p h:t = hl t; main = print $ hl [1, 2, 3, 4] < 1245729256 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Correct. < 1245729267 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Bleh, it's been too long since I've done Haskell X-D < 1245729284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :needs more parens < 1245729337 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell hl (h:t) = hl_p t + 1; hl [] = 0; hl_p (h:t) = hl t; hl_p [] = 0; main = print $ hl [1, 2, 3, 4] < 1245729339 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1245729347 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell hl (h:t) = hl_p t + 1; hl [] = 0; hl_p (h:t) = hl t; hl_p [] = 0; main = print $ hl [1..1000] < 1245729349 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :500 < 1245729456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell foldr id 0 . zipWith (cycle [(+1), id]) $ [1..1000] < 1245729473 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1245729552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell foldr id 0 . zipWith const (cycle [(+1), id]) $ [1..1000] < 1245729553 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :500 < 1245729654 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr . take 500 $ "BW" ++ cycle "AH" < 1245729657 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :BWAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA < 1245730039 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that Haskell is hard. < 1245730175 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :WARNING: BRAIN EXPLOSION IMMINENT < 1245730267 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import Control.Monad; main = print . liftM product . replicateM 10 $ [-1,1] < 1245730309 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1245730357 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStr s >> print s where s = "03:12 < Warrigal> !haskell main = putStr s >> print s where s = " < 1245730359 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1 < 1245730366 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Wait, what? < 1245730369 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1245730381 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sometimes it looks like it waits for the next command < 1245730383 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Hey, it's Thue-Morse. < 1245730387 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell u suck < 1245730387 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1245730409 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = putStrLn "u suck?" < 1245730411 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :u suck? < 1245730416 0 :coppro!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1245730417 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Aww. < 1245730417 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :someone (Zzo38?) suggested calculating it with tensor product < 1245730434 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I should figure out what a tensor product is one of these days. < 1245730441 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Is it precisely what you jsut did? < 1245730444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Brain explosion. < 1245730459 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: anything i did? :D < 1245730470 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :@haskell main = print (replicateM 10 [-1,1]) < 1245730474 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = print (replicateM 10 [-1,1]) < 1245730485 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Meh. < 1245730490 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need the import < 1245730501 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import Control.Monad; main = print (replicateM 10 [-1,1]) < 1245730518 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,1],[-1,-1,-1,-1,-1,-1,-1,-1,1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,1,1],[-1,-1,-1,-1,-1,-1,-1,1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,1,-1,1],[-1,-1,-1,-1,-1,-1,-1,1,1,-1],[-1,-1,-1,-1,-1,-1,-1,1,1,1],[-1,-1,-1,-1,-1,-1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,1,-1,-1,1],[-1,-1,-1,-1,-1,-1,1,-1,1,-1],[-1,-1,-1,-1,-1,-1,1,-1,1,1],[-1,-1,-1,-1,-1,-1,1,1,-1,-1],[-1,-1,-1,-1,-1,-1,1,1,-1,1],[-1,-1,-1,-1,-1,-1,1,1,1,-1],[- < 1245730528 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1245730537 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :That makes sense. < 1245730567 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that's the boring straightforward way of doing it. < 1245730588 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I thought you were doing it the other way. < 1245730595 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: The monad stuff did it. < 1245730607 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I myself have yet to try anything brain-breaking. < 1245730612 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Which is probably the tensor product way. < 1245730614 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm just finding merge sort hard. < 1245730631 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Something brain-breaking would be nice. < 1245730640 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: um this is essentially tensor product < 1245730650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION might need to paste that code for help < 1245730662 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :once you apply liftM product to it < 1245730680 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what part is the tensor product part? < 1245730682 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's simply the tensor product of 10 copies of [-1,1] < 1245730686 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I see. < 1245730736 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot, get in here. < 1245730777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it _is_ a little awkward to have to do imports explicitly < 1245730793 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :otoh it can run files from URLs < 1245730851 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets lambdabot in here. < 1245730864 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :It's currently copying patch 739 of 1860. < 1245730870 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I could add a predetermined set of imports if you'd like. < 1245730874 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I do with includes for C. < 1245730888 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :That sounds kind of inefficient, for C. < 1245730906 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!c printf("The alternative sucks.\n"); < 1245730907 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, now it's copying patch 1677 of 1860, so we should be done pretty quickly. < 1245730908 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :The alternative sucks. < 1245730926 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Hey, look, now it's applying patch 703 of 1860. < 1245730955 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Data.List and Control.Monad are sort of minimal for mind-boggling stuff < 1245730975 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but of course the list is never-ending < 1245731071 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Delimited continuations are probably a good idea. < 1245731095 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :does lambdabot have that? < 1245731102 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1245731129 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't recall that being a "standard" library < 1245731142 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot has lots of fancy stuff. < 1245731151 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Then again, I guess the standard library has lots of fancy stuff nowadays. < 1245731202 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION attempts to run GHCi on Slicehost. < 1245731209 0 :Warrigal!unknown@unknown.invalid NICK :DungeonMaster < 1245731210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess the Haskell Platform is about to become the standard library < 1245731213 0 :DungeonMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rolls a d20 < 1245731218 0 :DungeonMaster!unknown@unknown.invalid PRIVMSG #esoteric :You rolled a 1. < 1245731222 0 :DungeonMaster!unknown@unknown.invalid PRIVMSG #esoteric :CRITICAL FAIL! < 1245731224 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :DungeonMaster: "Attempts"? < 1245731224 0 :DungeonMaster!unknown@unknown.invalid NICK :Warrigal < 1245731228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DungeonMaster: It's not exactly inefficient to do includes in C. < 1245731230 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: "Attempts"? < 1245731249 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :All the includes do is hand the CPP some macros and C some function declarations. < 1245731255 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(oh, and typedefs) < 1245731261 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Has that bug that makes it impossible to run GHCi on Slicehost been fixed yet, I wonder. < 1245731274 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Really doesn't take more than half a second extra. < 1245731275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.Random; main = print =<< randomRIO (1,20) < 1245731278 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes, THAT bug :P < 1245731282 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek < 1245731311 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!sh head -c 12 /dev/urandom 2>&1 | hexdump -C < 1245731311 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :00000000 2f 75 73 72 2f 62 69 6e 2f 68 65 61 64 3a 20 63 |/usr/bin/head: c| < 1245731321 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Bleh :P < 1245731325 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.Random; main = print =<< randomRIO (1,20::Int) < 1245731328 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :10 < 1245731375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought failing to default Random was a hugs-only bug :( < 1245731401 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Ticked #2063. Opened one year ago. Milestone: 6.12.1. < 1245731423 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Now to undo everything I did. Namely... < 1245731444 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Remove GHC, remove lamdabot, remove darcs. < 1245731564 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!haskell putStr "I'm a little monad, short and stout. Here is my handle (arguments), here is my spoutput." < 1245731565 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :I'm a little monad, short and stout. Here is my handle (arguments), here is my spoutput. < 1245732260 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :What's the etymology of "spoutput"? < 1245732270 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :spout + output < 1245732288 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`etymology spout < 1245732289 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :spout (v.) \ c.1330, related to M.Du. spoiten "to spout," N.Fris. sptji "spout, squirt," Swed. sputa "to spout," and probably M.Du. spuwen "to spit" (see spew). Meaning "to talk, declaim" is recorded from 1612. The noun is first recorded 1392. It was the slang term for the lift in a pawnbroker's shop, up which articles were < 1245732291 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`etymology output < 1245732292 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :output (n.) \ 1839, from out and put. Till c.1880, a technical term in the iron and coal trade. The verb is attested from c.1300, originally "to expel;" meaning "to produce" is from 1858. \ \ monophonic \ of recordings, broadcasts, etc., "having only one output signal," 1958, coined to be an opposite of stereophonic (q.v.). < 1245734013 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1245734231 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Every time you log in, I think "crapppy's here!" < 1245734284 0 :sebbu!n=sebbu@ADijon-152-1-90-59.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1245734971 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :thanks for the encouragement < 1245734990 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I CAN'T HELP IT < 1245734991 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also, boo Alberta < 1245735009 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Besides, "crappy" (and to a lesser degree, "crapppy") would be an IRC nick that /exudes/ confidence. < 1245735025 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Like, "I'm so awesome I can call myself 'crappy' and still have awesome to spare" < 1245735072 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1245735274 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245735438 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Like the time I used the nick DogFace. < 1245735466 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Someone said something about it. I don't remember what. < 1245735656 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what, you mean that wasn't your real name? < 1245736149 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Gosh, I guess it is. I never realized that. < 1245736254 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`addquote what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. < 1245736255 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :10| what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. < 1245736265 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wurves out-of-context statements. < 1245736849 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1245736850 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :10| what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. < 1245736858 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1245736859 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :7| that's where I got it rocket launch facility gift shop < 1245736870 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1245736871 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :5| Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. < 1245736992 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION strokes his pussy. < 1245737006 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Awww, she's purring. < 1245737238 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1245738251 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :oh i fucking love that pun < 1245738388 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :That's not a pun, that's a euphemism used in its original sense. < 1245738571 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :it's a pun < 1245738582 0 :bsmntbombgirl!unknown@unknown.invalid PRIVMSG #esoteric :the meanings are intentionally confused < 1245738661 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but that's not a pun, that's a euphemism used in its original sense. < 1245738677 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Though I guess it's also a pun. < 1245738731 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If I say, "Hah, that Oedipus sure is a motherfucker!" that's not a pun. < 1245738738 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(That's not really an example, I just found it funny) < 1245738810 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :We should insult people by calling them Oedipus. < 1245739159 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Oedipusing sons of Cerberus. < 1245739307 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Go create the universe the way Atum did! < 1245739751 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Regarding Atum: "As the original creator God, he made the world and everything in it by performing a certain self-pleasuring act. (Those of an innocent disposition can take this to mean he was chewing gum.)" < 1245739818 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Those mother-chewing idiots can go chew gum. < 1245739947 0 :Warrigal_!n=warrie@lunch.normish.org JOIN :#esoteric < 1245739981 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION disconnects in a sentient manner. < 1245739984 0 :Warrigal!unknown@unknown.invalid QUIT :"leaving" < 1245740038 0 :coppro!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245741210 0 :kar8nga!n=kar8nga@a-37.vc-graz.ac.at JOIN :#esoteric < 1245742130 0 :immibis!n=IceChat7@125-238-252-206.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1245742773 0 :Warrigal_!unknown@unknown.invalid NICK :Warrigal < 1245743276 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :"Turn your grave accent into a BACKSLASH!" < 1245743999 0 :clog!unknown@unknown.invalid QUIT :ended < 1245744000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1245744397 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :warrie@lunch.normish.org??? < 1245744527 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :are you the rootnomic admin or something, that you get your own dns there? < 1245744812 0 :kar8nga!unknown@unknown.invalid QUIT :Remote closed the connection < 1245744937 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :I own the domain name normish.org, which is registered with GoDaddy. < 1245745438 0 :immibis_!n=IceChat7@125-238-252-206.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1245745455 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1245745460 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :godaddy is the worst thing ever < 1245745476 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :..at least their email service is < 1245745881 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :It does everything I want it to do. < 1245746008 0 :augur!n=augur@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1245746450 0 :immibis!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245746559 0 :pikhq_!n=pikhq@75-106-100-121.cust.wildblue.net JOIN :#esoteric < 1245746853 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1245748563 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :http://www.flickr.com/photos/passiveaggressive/3642661392/sizes/o/ < 1245748802 0 :immibis_!unknown@unknown.invalid NICK :immibis < 1245748900 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :i am trying to make an online mud (raw socket sort of thing) client at http://normish.org/home/immibis/mudclient/connect.php < 1245748909 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :but it just randomly disconnects < 1245748951 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :it uses a separate background process to communicate with the server (did i mention this was server-side + ajax) which is stopping for no apparent reason < 1245748975 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :source code is at http://normish.org/home/immibis/mudclient/ if anyone wants to help me debug ir < 1245748977 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :it* < 1245750597 0 :tombom!i=tombom@wikipedia/Tombomp JOIN :#esoteric < 1245751858 0 :Corun_!n=Corun@cpc2-rdng21-2-0-cust403.15-3.cable.virginmedia.com JOIN :#esoteric < 1245752747 0 :immibis!unknown@unknown.invalid QUIT :"Some folks are wise, and some otherwise." < 1245753087 0 :Corun_!unknown@unknown.invalid QUIT : < 1245753176 0 :MigoMipo!n=MigoMipo@84-217-13-124.tn.glocalnet.net JOIN :#esoteric < 1245753772 0 :augur!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1245755162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, damn you, you added that quote back still < 1245759146 0 :augur!n=augur@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1245759157 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :part 5 is up: http://www.spinnoff.com/zbb/viewtopic.php?p=689452#689452 < 1245759160 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :http://www.wellnowwhat.net/blog/?p=224 < 1245759162 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :there you go < 1245759164 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :direct link < 1245759165 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :<3 < 1245759217 0 :deveah!n=deveah@92.80.118.92 JOIN :#esoteric < 1245760710 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1245760943 0 :bsmntbombgirl!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245761117 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it" < 1245761621 0 :jix_!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1245762076 0 :bsmntbombdood!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245764870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm what would be a good name for an optimisation pass that transform code like this: < 1245764871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : p[1]=255 + 255*p[8]; < 1245764871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : p[8]=p[1]; < 1245764871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : p[1]=0; < 1245764876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :into code like this: < 1245764878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : p[8]=255 + 255*p[8]; < 1245764878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : p[1]=0; < 1245764960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is, when value is used only once and then overwritten, remove the pointless store and propagate the calculation to the node that use the pointless store. < 1245768334 0 :upyr[emacs]!n=user@79.174.35.21 JOIN :#esoteric < 1245768870 0 :augur!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1245768988 0 :augur!n=augur@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1245769041 0 :FireyFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1245769840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:50:18 * pikhq almost has a Haskell interpreter. < 1245769843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Compiler! < 1245769849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:53:52 GHC takes a while to build. < 1245769851 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's because you have to have GHC to compile GHC yo dawggggggggg. < 1245769852 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: alpha transformation followed by beta transformation, I believe. < 1245769854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Your distro probably downloads a binary to compile the sources. < 1245769860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell 2+2 < 1245769861 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1245769864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:58:04 Oh right, but that requires you have a main function. You can't just give it arbitrary code. I'd like to have it work either way, ideally. < 1245769869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you just need an expr < 1245769872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :declarations can be 'foo where ...' < 1245769875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or 'let ... in foo; < 1245769877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :' < 1245769886 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: alpha transformation turns it into this: < 1245769886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell putStrLn "you did disable IO right" < 1245769888 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :you did disable IO right < 1245769896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or not :P < 1245769909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:58:39 Say, is there a haskell-mode? < 1245769911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, there's two ones < 1245769912 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :temp=255 + 255*p[8]; p[8]=temp; p[1]=0; < 1245769914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a good one and a shit one < 1245769920 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :And then beta transformation takes it the rest of the way. < 1245769923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fyi, you have to press tab multiple times a lot < 1245769928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since haskell indentation is ambiguous < 1245769932 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Why would I disable IO? < 1245769943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: well, you wouldn't due to root-ness < 1245769949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: btw you don't need the decl style < 1245769957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main=putStrLn "this is just more verbose than using where or let" < 1245769959 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :this is just more verbose than using where or let < 1245769968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a=b;c=d;main=foo < 1245769968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ < 1245769972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo where a=b;c=d < 1245769972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or < 1245769975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let a=b;c=d in foo < 1245769979 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah, that's true. < 1245769984 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :The first of those is the shortest. < 1245769988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess it doesn't matter since you already have it < 1245769991 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal: well yeah, but whatever < 1245770001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: ofc, "import" can only be done in the first style < 1245770002 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, it's good to be able to just throw in full programs. < 1245770020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Warrigal, hm thanks < 1245770024 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Where's my foo where import Shit; < 1245770025 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245770025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(sorry was afk) < 1245770027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; main = unsafePerformIO (putStrLn "im in ur type system, breaking it") `seq` return () < 1245770029 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :im in ur type system, breaking it < 1245770063 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245770100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; import Data.IORef; lol :: a -> b; lol x = let bitch = unsafePerformIO (newIORef undefined) in unsafePerformIO (writeIORef bitch x >> readIORef bitch) main = print (lol main :: Int) < 1245770107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eh, make that < 1245770108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; import Data.IORef; lol :: a -> b; lol x = let bitch = unsafePerformIO (newIORef undefined) in unsafePerformIO (writeIORef bitch x >> readIORef bitch); main = print (lol main :: Int) < 1245770110 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2199023255808 < 1245770116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; import Data.IORef; lol :: a -> b; lol x = let bitch = unsafePerformIO (newIORef undefined) in unsafePerformIO (writeIORef bitch x >> readIORef bitch); main = print (lol main :: String) < 1245770118 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"" < 1245770127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; import Data.IORef; lol :: a -> b; lol x = let bitch = unsafePerformIO (newIORef undefined) in unsafePerformIO (writeIORef bitch x >> readIORef bitch); main = print (lol 3 :: String) < 1245770129 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"" < 1245770132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>:) < 1245770146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell import System.IO.Unsafe; import Data.IORef; lol :: a -> b; lol x = let bitch = unsafePerformIO (newIORef undefined) in unsafePerformIO (writeIORef bitch x >> readIORef bitch); main = print (lol 3 :: Either [String] [String]) < 1245770149 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Left < 1245770159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: That's "Left **Segmentation fault" < 1245770163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You should make it print segfaults :P < 1245770177 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You should make your mom print segfaults. < 1245770187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I thought that was your job. < 1245770198 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :... in bed? < 1245770228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1245770235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :00:31:21 It does everything I want it to do. < 1245770239 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also your argument for using Windows. < 1245770261 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Also an argument for RealDolls. < 1245770395 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Please don't revert over a week of changes just to settle a silly feud with ehird. < 1245770403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :don't encourage him :P < 1245770410 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(OK, two days, whatever :P ) < 1245770432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, sure, but please make ehird respect your decision then. < 1245770458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: He reverted it including my quote, plus after you said that the first time he explicitly stated he wasn't giving any sort of "official opinion" on it. < 1245770464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nice appeal to authority, but seriously, just drop it. < 1245770478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I suggest you drop it too then < 1245770500 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I have no official opinion except that blood-feuds should be fought with minimal collateral damage to unrelated commits :P < 1245770731 0 :bsmntbombdood_!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245770808 0 :BeholdMyGlory!n=behold@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1245770919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :19:24:48 Is it normal for "Compiling Main" to take forever in ghci? < 1245770920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :19:24:58 Or have I done something really screwy? < 1245770922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Really screwy. < 1245770925 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or your module is gigantic. < 1245770934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, how is that done then? < 1245770954 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`cat bin/quote < 1245770954 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/bash \ DB="sqlite3 quotes/quote.db" \ \ if [ "$1" ] \ then \ ARG=$1 \ ID=$((ARG+0)) \ if [ "$ID" = "$ARG" ] \ then \ $DB 'SELECT id,quote FROM quotes WHERE id='$ID \ else \ ARG=`echo "$ARG" | sed 's/'\''/'\'\''/g'` \ $DB 'SELECT id,quote FROM quotes WHERE quote LIKE < 1245770955 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :SQL, enjoy. < 1245770965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh. < 1245770986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Please drop it... < 1245770988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Er. < 1245770990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not that DROP. < 1245770993 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, :P < 1245771010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, but seriously, please stop adding it back, it isn't very funny even. < 1245771456 0 :jix!n=jix@dyndsl-095-033-078-046.ewe-ip-backbone.de JOIN :#esoteric < 1245771736 0 :deveah!unknown@unknown.invalid QUIT :"MUHAHAHAH!!!1111" < 1245772011 0 :bsmntbombdood_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245772049 0 :bsmntbombdood_!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245772357 0 :CESSMASTER!unknown@unknown.invalid QUIT :"☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃" < 1245772867 0 :GregorR-L!n=gregor@pal-163-111.itap.purdue.edu JOIN :#esoteric < 1245772926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know what's really stupid? < 1245772929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dongles. < 1245772934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, not dongs. dongles. < 1245772938 0 :KingOfKarlsruhe!n=nice@HSI-KBW-091-089-027-168.hsi2.kabelbw.de JOIN :#esoteric < 1245772962 0 :KingOfKarlsruhe!unknown@unknown.invalid PART #esoteric :? < 1245773109 0 :FireyFly!unknown@unknown.invalid QUIT :"Later" < 1245774238 0 :bsmntbombdood_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245774696 0 :CESSMASTER!n=CESSMAST@unaffiliated/joelywoely JOIN :#esoteric < 1245774813 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1245774815 0 :inurinternet!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1245774831 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Yeah, it was really screwy. < 1245774845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: i recommend grabbing a binary of ghc, painful as that may sound < 1245774854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :building it is a non-trivial affair, you might have messed up < 1245774856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or your module was < 1245774863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :depends :P < 1245774867 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Emerge built it. < 1245774872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's true < 1245774879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what version is it < 1245774880 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1245774886 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :6.8.2 < 1245774894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: !!!!! < 1245774901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Kio? < 1245774919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The latest version is *6.10.3*. 6.8.2 is years old and 6.10 has new language extensions and the like. < 1245774928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :If it's still on such an ancient version I'm not sure I trust whoever made that buildfile... < 1245774932 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jebus. < 1245774944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think 6.8.2 was released in like may 08 < 1245774951 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there's a haskell overlay < 1245775009 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There is < 1245775023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Right then, use that :-P < 1245775049 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :When I last checked gentoo, 6.10.1 was out and 6.6.something was still in the main repo < 1245775076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And Gentoo users complain about Debian dinos—ahem—stable! < 1245775079 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :6.4.2 is still in the repo. < 1245775085 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1245775096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :6.4 was released in March 2005. < 1245775100 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/still in the main/still the latest in the main/ < 1245775104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :6.4.2 April 2006. < 1245775151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: just checked; 6.8.2 was released December 2007. 6.8.3 was released in June 2008, so Gentoo has a version that's been out of date for a year and 7 months :P < 1245775163 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Way to go, Gentoo, way to go. < 1245775178 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If it were ion, they'd be sued already! < 1245775183 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Eh? It's been out of date since June 2008, so a year. < 1245775193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1245775194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1245775203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, the version is a year and 7 months old. < 1245775209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: lol@tuomov < 1245775250 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Many things are older than that but not at all out of date :-P < 1245775317 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which reminds me for some reason, a vim bug I reported has apparently been fixed: http://www.mail-archive.com/vim_dev@googlegroups.com/msg05850.html < 1245775363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A three line patch. Exciting < 1245775372 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"I'll look into it later." - Bram 2008-11-26 < 1245775378 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Later indeed < 1245775382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cool, his signature is way giganticer than McQ limit < 1245775395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and is as obnoxious about aid as the vim start screen :D < 1245775597 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, one line saying "help me help" is obnoxious indeed... er, no it's not? < 1245775620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: i'm just irritated that every time I start up vim I get his soapbox < 1245775634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, it's 3 lines in vim < 1245775652 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Two < 1245775655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"", "Help poor chi...", "type :help icc..." < 1245775662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: the extra newline wouldn't be there if it were removed < 1245775664 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"" doesn't count < 1245775670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: It could be, though. < 1245775671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes it does, it's added space due to it < 1245775674 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't look any worse. < 1245775683 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's around 10 lines and centered anyway < 1245775685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: but the line under the "VIM - Vi IMproved" doesn't < 1245775688 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reported a bug in NetHack < 1245775693 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so we can only assume... < 1245775719 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Anyway, that is somewhat more annoying than the signature, yes. < 1245775732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :McQ bitch < 1245775792 0 :inurinternet!n=nuri@cpe-75-85-210-179.dc.res.rr.com JOIN :#esoteric < 1245775797 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I seem to recall that there's a way of disabling that startup screen but not what it is. < 1245777197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[please watch remarks like "only" and "obviously". they give an impression of close-mindedness.]] < 1245777212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :↑ after I said you obviously won't find non-iphone app store apps in the app store :-P < 1245777227 0 :tombom!unknown@unknown.invalid QUIT :"Peace and Protection 4.22.2" < 1245777319 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Clearly it is better to use "clearly" instead. < 1245777341 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It stands to reason that $tautology. < 1245777354 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(to be fair, afterwards: [[oh -- you're right. i didn't read your "obvious" remark carefully]] ) < 1245778068 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :It stands to reason that if 1 + 1 = 2, then 1 + 1 = 2. < 1245778159 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It stands to reason that if succ 1 == 2, then succ 1 == 2. < 1245778201 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(except in cases of languages with this pesky 'state' thing) < 1245778530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: this is the smoothest haskell indoctrination i've ever witnessed < 1245778541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :are you sure you weren't a closet functional weenie to start with? < 1245778573 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pretty sure. < 1245778581 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I, uh, am fond of math. < 1245778589 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's about it. < 1245778630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw by the end of this you'll be unable to code in any other language without swearing every 5 minutes... < 1245778647 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just a warning. < 1245778666 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: *Any* other? I'd hope I could at least code in languages that encourage functional programming. < 1245778685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: But Haskell is the only widely-used lazy language... < 1245778695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You might get by in OCaml until you try to do some operations on every integer ;-) < 1245778757 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But, man. powers_of_two = map (2^) [1..] < 1245778776 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I feel like I have achieved nirvana. :P < 1245778791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: "powersOfTwo" is the convention, fwiw. < 1245778807 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :camelCase? Mmkay. < 1245778825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ThisIsCamelCase, thisIBelieveIsStudlyCaps < 1245778839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :StudlyCaps (or perhaps StUdLyCaPs, also known as StickyCaps) is a variation of CamelCase in which the individual letters in a word (or words) are capitalized and not capitalized, either at random or in some pattern. < 1245778842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay, no < 1245778860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lowerCamelCase, I guess. < 1245778863 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :thisIsAVariantOfCamelCase. < 1245778863 0 :MizardX-!i=MizardX@h-28-236.A159.priv.bahnhof.se JOIN :#esoteric < 1245778876 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :UpperCamelCase, lowerCamelCase. < 1245778881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you-are-now-thinking-of-lisp < 1245778883 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :snake_case. < 1245778907 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :deewiant, your UpperCamelCase is i thin called PascalCase < 1245778909 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :ccase < 1245778918 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :comex: no no < 1245778924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur: no < 1245778926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's a ridiculous nam < 1245778926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1245778929 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :czrqcase < 1245778938 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird: im just telling it like it is! < 1245778950 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1245778957 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It is, yes, also called that. < 1245778957 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :(just to complete the cycle) < 1245779049 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why his mergesort is returning an empty list. Probably screwed something up. < 1245779056 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: show the source? < 1245779063 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just a sec. < 1245779068 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you asked it to sort an empty list < 1245779077 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :mergesort [10,9..1] < 1245779084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Urm. < 1245779087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The mergesort source. < 1245779094 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: holy shit, that works < 1245779095 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Pastebinning. < 1245779114 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :sometimes I love haskell < 1245779169 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes not? < 1245779199 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471359 < 1245779225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wow, that's way better code than I ever write as a new Haskeller. < 1245779231 0 :bsmntbombdood!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245779246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mergesort (x:xs) = let halfLength xs = truncate $ (fromIntegral . length) xs / 2 < 1245779246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : (left, right) = splitAt (halfLength (x:xs)) (x:xs) < 1245779253 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: you only call halfLength once < 1245779254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not say: < 1245779269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :halfLength = truncate $ (fromIntegral . length) (x:xs) / 2 < 1245779269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1245779272 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Your mergesorts will always return []. < 1245779286 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yes, that is the bug. < 1245779288 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1245779290 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Your mergesort returns either [], or mergesort foo `merge` mergesort bar < 1245779290 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: (btw you can do foo@(bar:baz) and foo=(bar:baz)) < 1245779302 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what other identifier naming conventions are there? < 1245779304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And [] `merge` _ = _ `merge` [] = [] < 1245779310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So it can't return anything other than []. < 1245779318 0 :coppro!n=coppro@unaffiliated/coppro JOIN :#esoteric < 1245779326 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm. Hooray, thinko. < 1245779328 0 :MizardX!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1245779331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Oh? < 1245779334 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I have a recommended solution unless you want to figure it out yourself < 1245779341 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur: ptsSystemsHungarian (pointer to struct :P) and scvsAppsHungarian (spelling convention) < 1245779342 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1245779345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yah, as a pattern match < 1245779356 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Other stuff might still be broken but that should explain your issue) < 1245779359 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ehird: true. < 1245779369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's not really a case_convention though < 1245779372 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Gimme a bit. < 1245779376 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1245779379 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :augur: 'case convention' (for bizarro languages) < 1245779379 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but thats ok < 1245779386 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its a naming convention < 1245779392 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :if we allow method names, then we have like < 1245779414 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :thisIs:someAbsurdly:longMethod:nameLikeYouFind:inSmallTalk:andObjectiveC: < 1245779423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's a badly factored method. < 1245779435 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :actually its very often a very correctly factored method < 1245779443 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :atleast it can be < 1245779452 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Clearly, merge _ [] and merge [] _ are freaking wrong. ;) < 1245779460 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :they tend to be complex construct-like things < 1245779464 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or complex query things < 1245779467 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or what not < 1245779474 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :complex constructor-like things** < 1245779481 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Heh, that's true too, but I don't think it'll solve the issue. < 1245779483 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :merge xs [] = xs and merge [] ys = ys ought to do it. < 1245779494 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. Lemme test and see what I'm thinking of wrong now. < 1245779503 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Test first; maybe I'm wrong, although I don't think so. < 1245779520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Prove it correct in Coq! < 1245779563 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :for instace, you might have something like NSWindow's window:shouldDragDocumentWithEvent:from:withPasteboard: < 1245779575 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Cocoa isn't very good Smalltalk. < 1245779582 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or dragImage:at:offset:event:pasteboard:source:slideBack: < 1245779583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(If it were Smalltalk, that is.) < 1245779586 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Can has stack overflow! Yay! < 1245779593 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1245779594 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :right, i know, but smalltalk has big method names too < 1245779645 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The fix to that is the same as the fix I was thinking of earlier. < 1245779699 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :for instance, ehird, take the MenuMorph method add:subMenu:target:selector:argumentList < 1245779712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :spose. < 1245779726 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Hint? < 1245779729 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or addWithLabel:enablementSelector:target:selector:argumentList: < 1245779730 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :hey, I like that practice < 1245779740 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What happens with lists of length 1? < 1245779749 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :[foo addWithLabel:lbl enabelementSelector:... < 1245779752 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :is a lot more clear than < 1245779759 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :foo.addWithLabel(lbl, es, tgt, sl, al) < 1245779768 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :as long as I have autocompletion so I don't have to actually type that shit out :p < 1245779785 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :sans autocompletion, give me the latter any time < 1245779787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Currently? ... Infinite recursion. Yay? < 1245779806 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Can you figure out why? :-) < 1245779808 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :comex: yes, thats why its useful < 1245779813 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its easier to remember < 1245779816 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but its a lot more verbose < 1245779829 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because mergesort calls mergesort for all lists greater in size than 0. < 1245779850 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but its also more proselike < 1245779858 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and a lot of times it makes your code self-documenting < 1245779867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: does it reduce the amount of work it has to do for such lists? < 1245779873 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if not, you're always going to loopinf. < 1245779880 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fixed with mergesort [x] = [x] < 1245779886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bada! < 1245779886 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You win! < 1245779909 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now, I've just got it returning the reverse of the sorted list, because I screwed up the comparisons in merge. < 1245779917 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :// add a menu morph with a label, enablement selector, target, selector, and argumentlist < 1245779917 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :MenuMorph new addWithLabel: label enablementSelector: ls targer: targ selector: sel argumentList: arglist. < 1245779924 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :kind of redundant to have the comment! < 1245779944 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: surely that is a bad basecase. < 1245779956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uhh < 1245779959 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why is that a bad base case < 1245779961 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mergesort [x] = [y] is much better, yes < 1245779963 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :mergesort [] < 1245779971 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he has more than one base case........... < 1245779974 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :lame < 1245779979 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :you only need the one! < 1245779982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and | length xs (compare blah), < 1245779985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :scans the whole list < 1245779987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ slow < 1245779992 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mergesort x | null x || null (tail x) = x < 1245779999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: smells like lisp. < 1245780004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for backend peephole optimiser, how insane is it to use regular expressions on the generated output to implement that :D < 1245780019 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: mergesort x | liftM2 null (null.tail) x = x < 1245780022 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Note: this is my first vaguely non-trivial Haskell. < 1245780039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: lawl < 1245780043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: smells like bad haskell :) < 1245780052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's very good < 1245780072 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471386 Final result. < 1245780097 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haskell haskell haskell haskell haskell haskell haskell haskell haskell haskell haskell haskell HASKELL, HASKELL < 1245780100 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mergesort x | uncurry (||) . join (***) null . (id &&& tail) $ x = x < 1245780105 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :A HASKELL!!! A HASKELL!! < 1245780109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh boy. < 1245780117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw: < 1245780136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:02 ehird: @type div < 1245780136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:02 lambdabot: forall a. (Integral a) => a -> a -> a < 1245780140 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mergesort x | (id &&& tail) >>> join (***) null >>> uncurry (||) $ x = x < 1245780141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: truncate $ (fromIntegral . length) xs / 2 < 1245780143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :→ < 1245780148 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :length xs `div` 2 < 1245780161 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: honestly what the fuck. that's beautiful. does it work? < 1245780188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: additionally, your "halfLength xs = ..." should become "halfLength = length (x:xs) `div` 2" since you only use it once < 1245780189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Kthx. < 1245780191 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :lament: Of course it does. :-P < 1245780194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :apart from that, good code < 1245780214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: although I'd do oxs@(x:xs) and oys@(y:ys) everywhere < 1245780219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since you do a lot of (x:xs) stuff < 1245780221 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Certainly not bad for your first vaguely non-trivial Haskell. < 1245780221 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :merge shadows the outer x:xs < 1245780227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very much so < 1245780228 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Run it through -Wall < 1245780233 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Connection timed out < 1245780234 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just some general stylistic suggestions < 1245780237 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant++ < 1245780240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe hlint too < 1245780251 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :My first vaguely non-trivial Haskell was essentially an imperative program < 1245780256 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It wasn't pretty < 1245780264 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Still isn't) < 1245780268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :("cabal install hlint"; if you don't have cabal(1), install your distro's cabal-install package) < 1245780280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or get hlint from your package manager if it offers it < 1245780310 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :my every non-trivial haskell program (well, both of them) is essentially an imperative program :( < 1245780332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i highly suspect pikhq of knowing haskell for years < 1245780335 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well no, i have a chord parser that's just parsec stuff < 1245780358 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mine uses clever types like type Result = (Mapping, String, (Int, Int, Int, Bool, Bool), String) -- (program, title, (GOODs, BADs, UNDEFs, END?, N/A?), output) < 1245780378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION stabs Deewiant < 1245780383 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Unsurprisingly, it devotes 18 lines to defining fst,snd,trd,frth,ffth for tuples up to size 5 < 1245780430 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : ("Program", wrapThCol . htmlEscape . fst . fst . fst3), < 1245780438 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Beats me what fst . fst . fst3 means here. < 1245780438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION kills Deewiant with a fork < 1245780463 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : case ((snd $ fst3 p) `elemIndex` (map (snd.fst4.snd) fr)) of < 1245780473 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Eeeew? < 1245780486 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :eghtnth? < 1245780494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yeah, eeeew. < 1245780506 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Good call with oxs@(x:xs). That's nice. < 1245780518 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hey, this program is important: it parses my custom-type files which have the mycology comparison data < 1245780534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I'm not sure "oxs" is the best name, but I couldn't think of anything better :P < 1245780534 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, it could also use a rewrite, but that's besides the point < 1245780553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :buildTable' _ _ _ _ [] _ [] = "" < 1245780563 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's some kind of Zen to this, I'm sure. < 1245780576 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Man, pastebin that program, pronto. < 1245780578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I've only had to fix one bug in it, I think. < 1245780578 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Well, it's certainly cleaner than using (x:xs) everywhere. < 1245780619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yah < 1245780653 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now if only I could remember how ti install Emacs Lisp packages so I could have Haskell mode. < 1245780661 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets out his dead-tree manual < 1245780674 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://deewiant.pastebin.com/f3306916 < 1245780701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Package manager? < 1245780707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: BTW, you want the "haskell-indentation" mode too. < 1245780714 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also inferior-haskell, if you're into that sort of thing. < 1245780719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that green background thingy for strings. Unusual. < 1245780739 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is. < 1245780755 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: jeez that program sucks < 1245780765 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(jeez that syntax highlighting sucks) < 1245780774 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :anyone tried leksah? < 1245780776 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That program rocks, it does exactly what it should. < 1245780793 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i was completely unable to install lexah :( < 1245780797 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :leksah < 1245780812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: gtk + os x is like ... two things that don't go together without a lot of pain. < 1245780821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like... like gtk and os x. < 1245780832 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1245780835 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm stuck doing haskell in vim < 1245780838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, nice definition of rocks < 1245780841 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i haven't used leksah but I don't like how it changes 'beta' to the greek symbol and thus encourages you to use it < 1245780844 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which only sort of works < 1245780846 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :vs say "a" or "b" < 1245780849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(it also does "gamma") < 1245780853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since that's not typically used in haskell. < 1245780857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: :-P < 1245780862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also i don't really like IDEs < 1245780870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it isn't clean or such though. < 1245780870 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I'm with ehird < 1245780882 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, it isn't. < 1245780883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if textmate was open source, worked on more stuff, and had a port of haskell-indentation.el, I'd be all over it < 1245780899 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"if textmate was emacs I'd be all over it" < 1245780899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :atm i just use it anyway and manually indent haskell since it's the easiest < 1245780906 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sweet. Haskell mode FTW. < 1245780909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: no, emacs is mostly shit :P < 1245780915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i want a few specific things, i.e. < 1245780919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :being open source — not emacs-specific < 1245780927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :worked on more stuff — nor this < 1245780934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a port of haskell-indentation.el — nor this. < 1245780936 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :QED. < 1245780941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but the total result is emacs :P < 1245780942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yah, it is nice. < 1245780954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: for definitions of emacs that are willfully ignorant and ignore a huge portion of emacs. < 1245780966 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :emacs is pretty horrible < 1245780972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I thought those were included in "worked on more stuff"? < 1245780985 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :stuff includes irc for example clearly < 1245780986 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :also haskell is different enough from everything else that it easily deserves a dedicated editor < 1245781001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: stuff = platforms. < 1245781020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that wasn't clear from the context. Could have been "more file formats" or such < 1245781027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: meh; the only hard part that you can't do with a general language mode is indentation < 1245781030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make a plugin :P < 1245781043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you're the only person who could see it as ambiguous.. < 1245781047 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*... < 1245781063 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I thought it meant file formats. < 1245781063 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, err, have you asked everyone else in the channel? < 1245781071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there, I wasn't alone < 1245781072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245781074 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's the thing I associate emacs with. < 1245781074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, everyone who's a dirty foreigner < 1245781076 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that Gentoo's haskell mode package installs haskell-mode, haskell-indent-mode, and inferior-haskell. < 1245781087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Haskell-indent-mode? < 1245781088 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Right, everybody native understands "stuff == OSs" :-) < 1245781092 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Erm. < 1245781095 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Haskell-indent. < 1245781097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe that's haskell-indentation's mode name < 1245781109 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: indentation, prettification (like leksah does), automatic documentation, "go to definition", "find usages", refactoring, interface with hoogle, automatic completion < 1245781113 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it's a mode, it's a minor mode. < 1245781118 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you do know how inferior-modes work right, pikhq? :P < 1245781121 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it's a minor mode. < 1245781126 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's automatic < 1245781132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it hooks into haskell-mode < 1245781138 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: listing of stuff in a module < 1245781152 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ooookay... That doesn't exactly come up much in Emacs, now does it? :P < 1245781162 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: hooks with GHC obviously < 1245781166 0 :augur!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1245781170 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: including debugging and profiling < 1245781175 0 :augur!n=augur@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1245781184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: indentation — the only hard part; prettification — leksah just does some alpha/gamma shit and :: and ->, meh; automatic documentation — meh; "go to definition" — should go in the language mode; "find usages" — ditto, editors should support this stuff; refactoring — meh, make a plugin; hoogle — meh; completion — language mode < 1245781188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :listing — language mode < 1245781191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ghc hooks — meh. < 1245781204 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :huh. < 1245781211 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that's a lot of mehs. < 1245781221 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :five. < 1245781226 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :prettification is quite hard, i suspect < 1245781231 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :out of 9 < 1245781238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: yes, but it isn't all that valuable < 1245781241 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, but your mehs are unjustified < 1245781246 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!haskell main = print (repeat 5 "meh") < 1245781246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, leksah just does a few boring adjustments < 1245781249 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: so?- < 1245781254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell repeat 5 "meh" < 1245781257 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not saying how awesome leksah is, i've never even used it < 1245781258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: so your mom < 1245781261 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: hey it broked. < 1245781265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: try yi. < 1245781270 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :? < 1245781273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(note: its cocoa ui is unusable) < 1245781275 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!sh echo foo < 1245781276 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1245781276 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :!sh echo hi < 1245781276 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1245781281 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i suspect i'm going to hate anything that has a vim mode and an emacs mode. < 1245781281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell repeat 5 "GregorR-L it is broke" < 1245781282 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :!haskell printStr "Foo?" < 1245781286 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!haskell wat < 1245781293 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :!swedish printStr "Foo?" < 1245781294 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :preentStr "Fuu?" < 1245781294 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :lament: Like bash? < 1245781296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: ok, if you prefer to spend your time arguing on irc :P < 1245781296 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Erm, < 1245781300 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :!haskell putStr "Foo?" < 1245781302 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Foo? < 1245781306 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it's not broken. < 1245781310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!haskell print (repeat 5 "meh") < 1245781318 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: no Data.List < 1245781320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think is the issue < 1245781325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: it used to print out the expression automatically if you didn't yourself < 1245781326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell 2+2 < 1245781327 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's not in Data.List < 1245781327 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1245781329 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :↑ this used to work < 1245781330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :errrrrr < 1245781331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1245781334 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!haskell print (replicate 5 "meh") < 1245781335 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :["meh","meh","meh","meh","meh"] < 1245781337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1245781337 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That'd help < 1245781339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's no such thing as repeat < 1245781342 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes there is < 1245781346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: make it give us the error messages then :P < 1245781348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: well right < 1245781349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but not for that < 1245781349 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just has type :: a -> [a] < 1245781357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!haskell repeat "lol" < 1245781359 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :!haskell repeat "meh" < 1245781363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1245781375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :egobot sucks due to not having rate limiting and line cutoff and shit; can we get lambdabot in here? < 1245781377 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Make it give your mom the error messages. < 1245781378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who owns lambdabot these days, Cale? < 1245781383 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :!haskell sequenceM_ (repeat (print "lol")) < 1245781387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Don't respond to the DCC... < 1245781397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: client. < 1245781411 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well duh < 1245781415 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Configure your client properly, or switch to another. < 1245781429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your mom < 1245781431 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's sequence < 1245781437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway i don't want a bunch of shitty dcc windows :P < 1245781441 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :!haskell sequence_ (repeat (print "lol")) < 1245781442 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"lol" < 1245781447 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :... what? < 1245781450 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"shitty dcc windows"? < 1245781459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: tabs. in my irc client. < 1245781460 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :lament: One per line. < 1245781460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with dcc chats. < 1245781462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do not want. < 1245781470 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: And what does this have to do with anything? < 1245781484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :............... < 1245781493 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1245781499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to switch to a dcc-doing client because i don't think it's a reasonable way for EgoBot to do things anyway < 1245781502 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Is your current situation not a billion shitty DCC windows < 1245781513 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :*yawn* < 1245781519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, my current situation is nothing because my client doesn't support dcc. < 1245781520 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :ehird complains endlessly about EgoBot DCC'ing. < 1245781536 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :I'm playing the world's smallest violin for you, ehird. < 1245781544 0 :ChanServ!unknown@unknown.invalid MODE #esoteric :+o lament < 1245781545 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I thought you were complaining about how you get DCC spammed without cutoff and shit < 1245781556 0 :lament!unknown@unknown.invalid MODE #esoteric :-o lament < 1245781562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: what about the world's smallest pianist? < 1245781567 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: THREATENING OPS OF DOOM < 1245781572 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1245781587 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :threatening, yet completely impotent < 1245781599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :quick everyone, be on your best behaviour for lambdabot coming in here. < 1245781607 0 :gwern!n=gwern@wikipedia/Gwern JOIN :#esoteric < 1245781624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks professional. < 1245781625 0 :lambdabot!n=lambdabo@animaforge.net JOIN :#esoteric < 1245781642 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Do we really need to bring "the" lambdabot here? < 1245781647 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a parade, in honour of lambdabot!! < 1245781650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> repeat "yes" < 1245781651 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ["yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","y... < 1245781653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, good question < 1245781654 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As opposed to GregorR or somebody just running their own < 1245781657 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1245781658 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@vixen do we really need you here? < 1245781658 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :yes, still here < 1245781662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: why bother? < 1245781664 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@vixen or would you rather go away? < 1245781665 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :what did i say to upset you? < 1245781666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is simpler :-P < 1245781671 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :This is the kind of place where people try to DOS bots and break them < 1245781680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :naw < 1245781681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot is broken enough as-is :-P < 1245781684 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@vixen baby, wanna get DOSed? < 1245781685 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :no < 1245781694 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@vixen what about hot sex? < 1245781694 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :i dunno, what about? < 1245781695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot's in too many channels, we're too responsible (← wishful thinking) ;-) < 1245781698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For instance, I don't know if it has protection against bot-loops < 1245781700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: get a room < 1245781706 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I seem to recall it doesn't < 1245781708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: it doesn't do any commands < 1245781709 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@vixen do you have protection? < 1245781710 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :i do occassionally, i guess < 1245781712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it prefixes output with a space < 1245781724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so unless your bot's prefix is " " < 1245781724 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That used to be circumventable < 1245781724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : no, my current situation is nothing because my client doesn't support dcc. <-- what a stupid client. < 1245781726 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :loops are an important point < 1245781733 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :we can pretty much guarantee people will try to make them < 1245781735 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not sure it is anymore. < 1245781738 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> let s x y z = x z (y z); k = x y = x; i = s k k;in i [1..10] < 1245781739 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : parse error on input `=' < 1245781741 0 :labo!n=ivan@158.195.171.160 JOIN :#esoteric < 1245781745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I FAIL! YAY! < 1245781751 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: k = x y = x < 1245781755 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric := fail < 1245781761 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :> "\o/" < 1245781761 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hahah. < 1245781761 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :    | < 1245781761 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :    >\ < 1245781762 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1245781762 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : < 1245781762 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : lexical error in string/character literal at chara... < 1245781764 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That would be fail. < 1245781769 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :> "\\o/" < 1245781769 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :     | < 1245781769 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> let s x y z = x z (y z); k x y = x; i = s k k;in i [1..10] < 1245781769 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :    /| < 1245781771 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\\o/" < 1245781771 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :        | < 1245781771 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [1,2,3,4,5,6,7,8,9,10] < 1245781771 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :        |\ < 1245781775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: ais523 and me are the most common loopers and ais is probably too responsible to botloop lambdabot, and i'm too lazy :) < 1245781775 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gah. < 1245781775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :..... < 1245781782 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thas more like it. < 1245781790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's good to see a regular day in #esoteric is progressing. < 1245781803 0 :lament!unknown@unknown.invalid TOPIC #esoteric :David slowed his pace slightly as his ears, which had been tingling painfully, burst forth off of his head, leaving two bleeding gashes. "Ouch," he sputtered, pulling hair wet with blood off of his scalp. But there was no time to bandage the wound, as he quickly regained his running stride as the pirate alligator bear mutants waddled after him. | http://tunes.org/~nef/logs/esoteric/?C=N;O=D | Don't botloop lambdabot. < 1245781804 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: s = ap, k = const, i = id < 1245781815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::t ap < 1245781816 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b < 1245781824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION scares pikhq with the scary type signature. < 1245781840 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Doesn't surprise me, but I just want SKI for a bit. < 1245781847 0 :lament!unknown@unknown.invalid TOPIC #esoteric :David slowed his pace slightly as his ears, which had been tingling painfully, burst forth off of his head, leaving two bleeding gashes. "Ouch," he sputtered, pulling hair wet with blood off of his scalp. But there was no time to bandage the wound, as he quickly regained his running stride as the pirate alligator bear mutants waddled after him. | http://tunes.org/~nef/logs/esoteric/?C=N;O=D | Be nice to lambdabot! < 1245781847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: The monads! The monads! < 1245781864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I am a pitiful Haskell noob! < 1245781870 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?ty (((ap *** join) <*) &&&) < 1245781871 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall (m :: * -> *) a b (m1 :: * -> *) a1 b1 c'. (Monad m, Monad m1) => (((m (a -> b), m1 (m1 a1)) -> b1) -> c') -> ((m (a -> b), m1 (m1 a1)) -> b1) -> ((m (a -> b), m1 (m1 a1)) -> (m a -> m b, m1 < 1245781871 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :a1), c') < 1245781871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: MORPHISM < 1245781883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@src flipM < 1245781883 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Source not found. That's something I cannot allow to happen. < 1245781885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er < 1245781887 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Sure, just saying that they're all available under standard names. < 1245781890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whcih was I thinking about. < 1245781895 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :flipM? < 1245781915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :somethngM < 1245781919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tip of my tongue < 1245781921 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's a lot of thoseM < 1245781924 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cleaned up my merge sort, BTW> < 1245781925 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471435\ < 1245781930 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471435 , even. < 1245781948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: that's pretty much how I'd write it < 1245781950 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Still shadows oxs, x, xs. Better, though. < 1245781951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw < 1245781953 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :@quote < 1245781953 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :YHC says: There is currently no debugging system available. Please write correct programs. < 1245781957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: | x < y, | x >= y < 1245781957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can be < 1245781959 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@ghc < 1245781960 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :ghc says: PArse error (possibly incorrect indentation) < 1245781962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :| x < y, | otherwise < 1245781964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(otherwise = True :-)) < 1245781966 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@ghc < 1245781966 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :ghc says: Use -fglasgow-exts to allow multi-parameter classes < 1245781971 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@ghc < 1245781972 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :ghc says: PArse error (possibly incorrect indentation) < 1245781975 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Meh! < 1245781977 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@ghc < 1245781977 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :ghc says: jump island out of range < 1245781978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: is shadowing those really a big deal? < 1245781979 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: True, true. One last C-ism. :P < 1245781982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :merge is separate from the main mergesort body < 1245781987 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: wouldn't you say "else" in C? < 1245781993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not if (x < y) { ... } else if (x >= y) { ... } < 1245781994 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Yes. < 1245781995 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :isn't that merge definition a line too long? < 1245781996 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1245781999 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Since they have the same type, if you change the inner to z:zs you might still reference x:xs accidentally < 1245782004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: eh? < 1245782011 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: that's true. < 1245782016 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :merge xs [] = xs; merge [] ys = ys == merge xs ys = xs ++ ys ? < 1245782018 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or you want to reference the outer, or something < 1245782024 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :gwern: My first Haskell, so... Maybe. < 1245782034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Just ()? < 1245782038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::t Just () < 1245782039 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Maybe () < 1245782050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: "erge [] ys = ys == merge xs " < 1245782050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1245782052 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric ::t Just Nothing < 1245782053 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. Maybe (Maybe a) < 1245782060 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :I mean, those can only differ if there are 2 full-list args, but you've defined no case for that < 1245782063 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: mapM, forM, filterM, foldM, replicateM, liftM, off the top of my head < 1245782084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one of those :P < 1245782086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: eh? < 1245782099 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?ty mfix < 1245782101 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => (a -> m a) -> m a < 1245782108 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :so you could put the third merge clause first, and then fall back on merge a b = a++b < 1245782109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::t iterate < 1245782110 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. (a -> a) -> a -> [a] < 1245782118 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::t take 100 (iterate Just Nothing) < 1245782119 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Occurs check: cannot construct the infinite type: a = Maybe a < 1245782119 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Expected type: a < 1245782119 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Inferred type: Maybe a < 1245782122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, duh < 1245782123 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm somewhat against putting base cases last < 1245782136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: "erge [] ys = ys == merge xs" < 1245782138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does that make any sense to you? < 1245782143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :merge doesn't return a boolean. < 1245782145 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/"erge/"merge/ < 1245782153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: shushest thou < 1245782163 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric ::t (>>=) < 1245782163 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I was being informal < 1245782164 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b < 1245782179 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric ::t (=<<) < 1245782180 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> m a -> m b < 1245782181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: kay :P < 1245782187 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric ::t (>>=) . (=<<) < 1245782188 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall b a (m :: * -> *) b1. (Monad m) => (a -> m b1) -> (m b1 -> m a -> b) -> m a -> b < 1245782189 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: He meant that 'merge xs [] = xs; merge [] ys = ys' == 'merge xs ys = xs ++ ys' < 1245782194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1245782202 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that works if you put the base case last < 1245782205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but is imo a bit confusing < 1245782205 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(>>=).(=<<) < 1245782216 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?ty (>).(<) < 1245782217 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. (Ord (a -> Bool), Ord a) => a -> (a -> Bool) -> Bool < 1245782226 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION attempts to find a use for (>>=).(=<<) < 1245782231 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what kind of type is (m b1 -> m a -> b) < 1245782236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a crappy one < 1245782241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unless it involves unsafePerformIO ;-) < 1245782254 0 :augur!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1245782261 0 :augur!n=augur@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1245782264 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?ty const.const 1 -- this kind of type < 1245782265 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall b b1 a. (Num b) => a -> b1 -> b < 1245782288 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?djinn (a -> mb1) -> (mb1 -> ma -> b) -> ma -> b < 1245782288 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :-- f cannot be realized. < 1245782311 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?unpl (>>=) . (=<<) < 1245782311 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(\ c -> (>>=) (\ f -> f >>= c)) < 1245782320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!djinn does lambdabot listen on !s? < 1245782324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1245782325 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? and @ < 1245782326 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Have I ever mentioned that Haskell scares me? < 1245782327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no EgoBot conflict then :P < 1245782330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@bf ,[.,] < 1245782330 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : fd:7: hClose: resource vanished (Broken pipe) < 1245782334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cool, still broken < 1245782339 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course. :-P < 1245782343 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: why? < 1245782345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's warm and fluffy! < 1245782362 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also got more weird syntax than shafuck < 1245782363 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Warm, fuzzy things < 1245782397 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :haskell's syntax is perfectly regular < 1245782397 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :weird? haskell syntax is lovely < 1245782403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just has a lot of operators bolted on ;-) < 1245782411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(ok, it's not regular in the formal sense; shut up) < 1245782423 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can understand why somebody might not see (>>=).(=<<) as lovely. < 1245782424 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :although I sometimes wonder if $ doesn't cause more problems than it solves < 1245782456 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Having just started learning Haskell last night, Haskell seems to allow for some really lovely and elegant code. < 1245782473 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh, probably < 1245782476 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(oh, and Haskell is the first functional language I've really bothered trying to learn) < 1245782477 0 :labo!unknown@unknown.invalid PRIVMSG #esoteric :@unpl (>>=).(=<< < 1245782477 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Unbalanced parentheses < 1245782479 0 :labo!unknown@unknown.invalid PRIVMSG #esoteric :@unpl (>>=).(=<<) < 1245782479 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(\ c -> (>>=) (\ f -> f >>= c)) < 1245782484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it allows for really horrible and unreadable code too - a true general-purpose language! < 1245782486 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :also arcane and not even remotely comprehensible to anyone not familiar with it < 1245782503 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: sounds like C++! < 1245782510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that applies to all languages, coppro < 1245782510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1245782513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how is haskell syntax arcane? < 1245782514 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Except less awful. < 1245782514 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't consider being comprehensible to someone not familiar with a language an inherent merit of the language < 1245782525 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :huh http://esolangs.org/wiki/ redirects to voxelperfect but http://esolangs.org/wiki/Main_Page doesn't < 1245782548 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :ehird: precedence and parsing can be confusing, especially when multiple things get involved like ., $, [], and function application < 1245782566 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :David slowed his pace slightly as his ears, logging the channel to http://tunes.org/~nef/logs/esoteric/?C=N;O=D, noted that lambdabot was in their midst and decreed that everyone shall be nice to it. They also noted that the wiki is at http://esolangs.org/wiki/. < 1245782570 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Some spam today, in http://esolangs.org/wiki/Special:Recentchanges < 1245782581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm just wondering about the odd redirection < 1245782595 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :I will say that haskell seems to get strings and chars right; I was flummoxed when I was learning scheme and saw characters weren't 'a', but #\a or something weird like that < 1245782625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because ' is quote. < 1245782642 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :foldl' < 1245782649 0 :kar8nga!n=kar8nga@e-119.vc-graz.ac.at JOIN :#esoteric < 1245782656 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: too ambiguous for scheme's tastes. < 1245782662 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yeah, I eventually realized that, but still < 1245782784 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Anyways, I think that Haskell will only break my brain when I get to monads... < 1245782796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :monads just clicked with me first time < 1245782810 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Well, we'll see when I get there. < 1245782832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i just used, like, IO and State with do notation, then I saw their definition and how you can use the operators to write IO/State stuff, then I saw the definition of the list monad and worked out how it worked and /shrug < 1245782850 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1245782930 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, so far, just the whole 'purely functional' thing seems to... Make sense. < 1245782940 0 :bsmntbombdood!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245782946 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Was not expecting that. < 1245782953 0 :deveah!n=deveah@92.86.204.32 JOIN :#esoteric < 1245782972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :purely functional languages, i think, are obvious from strong type systems < 1245782985 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Purely functional can be good < 1245782985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as side-effecting vs not is another type distinction to be made < 1245782990 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Purely OO can be good < 1245782992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you don't actually need impurity to do side-effects. < 1245783003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: OO-only is never good. < 1245783022 0 :deveah!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1245783026 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :See Java. < 1245783039 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I think 'never' is too strong < 1245783046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Java's a bad example because it's so terrible besides. < 1245783078 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :It also depends to what extent you consider something to be OO - do anonymous delegates count as OO? < 1245783106 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :NOM NOM NOM < 1245783114 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :heck, even purely imperative programming is sometimes most appropriate for a task < 1245783137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@faq Can Haskell do purely imperative programs? < 1245783137 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :The answer is: Yes! Haskell can do that. < 1245783161 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :most languages can < 1245783173 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: The list monad still serves mostly to confuse me :-) < 1245783196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It's just "amb". < 1245783203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :amb = id. :-P < 1245783216 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it's just id. No, wait, it's not. :-P < 1245783232 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1245783275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It's id in the list monad: < 1245783285 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I just don't think that anything nontrivial with it is very intuitive. < 1245783299 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :filterM (const [True,False]) [1,2,3] -- quick, what does this do? < 1245783310 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OK, that's confusing. < 1245783310 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But. < 1245783335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> do a <- [1,2,3]; b <- [4,5,6]; when (x*y /= 8) []; return (a,b) < 1245783337 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [] < 1245783340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Err. < 1245783346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Whatever, it used to work :P < 1245783358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, the list monad can be useful. < 1245783359 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Soemtimes. < 1245783360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes. < 1245783373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Plus, it IS a monad, so omitting the instance is just silly. < 1245783374 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :for generating permutations, for example < 1245783389 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :(useful in my scripts) < 1245783411 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: a*b, not x*y. < 1245783417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or that. < 1245783434 0 :inurinternet!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1245783434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> (map f [x,y],foldr (f.g) [1,2,3]) < 1245783435 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Add a type signature < 1245783439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh, not that rubbish. < 1245783447 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> do a <- [1,2,3]; b <- [4,5,6]; when (a*b /= 8) []; return (a,b) < 1245783448 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [(2,4)] < 1245783484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> (map f [x,y] :: [Expr],foldr f 0 [1,2,3] :: Expr) < 1245783485 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ([f x,f y],f 1 (f 2 (f 3 0))) < 1245783546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> (map f [x,y],foldr (f.g) 0 [1,2,3]) < 1245783547 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Add a type signature < 1245783551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Meh. < 1245783556 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> map f [x,y] < 1245783557 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Add a type signature < 1245783566 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :?ty map f [x,y] -- this is why < 1245783567 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall b. (SimpleReflect.FromExpr b) => [b] < 1245783580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1245783751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: Hey, you should add a !mathematica. < 1245783758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Although that'd require you to have a Mathematica license. < 1245783762 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :doesn't `wolfram do that? < 1245783765 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :I could install octave *shrugs* < 1245783770 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :or sage < 1245783770 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Octave is not mathematica :P < 1245783775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: no, `wolfram is Alpha < 1245783785 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yes, but that runs things through mathmatica < 1245783785 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alpha is close enough for most purposes. < 1245783813 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that's MATLAB-y, not MATHEMATICA-y, forgot :P < 1245783823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: erm, no < 1245783830 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: erm, yes < 1245783834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can't even define functions and then use them in an alpha line < 1245783843 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As I said, most purposes < 1245783849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no, you're simply wrong; i use mathematica all the time for shit alpha would splutter on < 1245783861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: for definitions of most purposes limited to "what I use"? ic < 1245783876 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Of course, what other purposes are there < 1245783890 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :On a more serious note, are those 'all the time' things oneliners? < 1245783902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1245783909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or few-liners < 1245783910 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Meh, then you're just weird < 1245783999 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bah. Maxima is awesome and you know it. :P < 1245784038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mathematica's syntax is a lot nicer < 1245784044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it has a bigger stdlib < 1245784409 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes MathematicaBot. < 1245784455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I hope mathematica can't write files. Crap, it can. < 1245784566 0 :gwern!unknown@unknown.invalid PRIVMSG #esoteric :yay for chroot? < 1245784568 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :pola-run ftw? < 1245784596 0 :deveah!unknown@unknown.invalid PRIVMSG #esoteric :pula-run < 1245784597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: does it work on Darwin? < 1245784610 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it. < 1245784614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gwern: man, I have no idea how many thousands of dependencies Mathematica has < 1245784621 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I know it doesn't, as it includes a glibc patch. < 1245784911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A *Glibc* patch? < 1245784933 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I hereby resolve to never use Mathematica. < 1245784945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :....... < 1245784948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :He's talking about. < 1245784951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Pola-run. < 1245784955 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1245784965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oops, you can't retract vows :-P < 1245784977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Well, plash, but pola-run is part of plash) < 1245784987 0 :gwern!unknown@unknown.invalid PART #esoteric :? < 1245784990 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll just have to scam Agora's contract rules, won't I? < 1245785004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :With Haskell. (Somehow.) < 1245785009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wanna write a mathematica replacement in haskell sometime < 1245785206 0 :kar8nga!unknown@unknown.invalid QUIT :Remote closed the connection < 1245785438 0 :inurinternet!n=nuri@rrcs-74-62-7-76.west.biz.rr.com JOIN :#esoteric < 1245785577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Challenge: communicate with only verbs. < 1245785606 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in russian there's a phrase consisting of six infinitives in a row < 1245785633 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, five :( < 1245785639 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :собраться встать пойти купить выпить < 1245785664 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"to decide to get up to go to buy (something) to drink" < 1245785672 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"verbing weirds communicating" < 1245785676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :↑ one. < 1245785684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: lol < 1245785721 0 :CESSMASTER!unknown@unknown.invalid PRIVMSG #esoteric :of course it's about drinking in the morning < 1245785791 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :get up in the sense of stop sitting < 1245785976 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Go die. < 1245786023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: i was about to be offended for a second < 1245786039 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hahah. < 1245786081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol@guy in #haskell asking for C# help < 1245786212 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1245786470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hey GregorR-L < 1245786471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"19:47 jmcarthur_work: Baughn, if the universe is infinitely large, there is a 100% probability of exactly our portion of the universe existing somewhere" < 1245786473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Get angry < 1245786487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"19:47 jmcarthur_work: assuming it is random, i mean" < 1245786490 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Stop getting angry < 1245786497 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :There is a 100% probability of exactly our portion of the universe existing somewhere. < 1245786498 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Right here. < 1245786501 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :We're in it. < 1245786541 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :And also, "random" isn't /quite/ sufficient, it could be random over a range not including us. < 1245786573 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :e.g. if I take the number "7" and append a series of infinite random numbers between 1 and 5, it's infinite and random but still doesn't include a 7. < 1245786593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-L: Well, yeah, but that's a formality. < 1245786600 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245787507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> lines "a\n\nb" < 1245787508 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ["a","","b"] < 1245787638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Things I hate: two people with the same name < 1245787667 0 :GregorR-L!unknown@unknown.invalid NICK :ehurd < 1245788671 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> map (2^) [0..] < 1245788672 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,... < 1245788682 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Infinite lists! :D < 1245788703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1245788705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Infinite lists. < 1245788710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: may I break your mind? < 1245788716 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Please. < 1245788737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in primelist < 1245788738 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... < 1245788743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Mutually recursive primes :-) < 1245788749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And infinite lists. < 1245788753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Two for the price of laziness! < 1245788766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That is awesome. Also, I knew there was a way to do that, I just wasn't sure exactly what that way was. < 1245788795 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will have to make his own mutually recursive prime stuff sometime. Possibly later tonight. < 1245788816 0 :asiekierka!i=asiekier@078088180066.elblag.vectranet.pl JOIN :#esoteric < 1245788817 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Hi < 1245788865 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in primelist < 1245788867 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... < 1245788869 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1245788875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hai. < 1245788885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: did you actually change anything there? :P < 1245788907 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. Isn't that how you greet people? With a list of all the primes? < 1245788957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1245788958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Clearly. < 1245788969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in drop 1000 primelist < 1245788970 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081... < 1245788973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in drop 10000 primelist < 1245788976 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [104743,104759,104761,104773,104779,104789,104801,104803,104827,104831,1048... < 1245788984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GHC. It's like raw speed in a sufficiently smart can. < 1245788994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in drop 100000 primelist < 1245788999 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Prelude.read: no parse < 1245789000 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval: ExitFailure 1 < 1245789021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1245789023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Whut. < 1245789028 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1245789032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :drop takes an Int, doesn't it. < 1245789035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle genericDrop < 1245789035 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Data.List genericDrop :: Integral i => i -> [a] -> [a] < 1245789043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: there's a wart for you, btw. < 1245789046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Int vs Integer < 1245789050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in genericDrop 100000 primelist < 1245789055 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Prelude.read: no parse < 1245789055 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval: ExitFailure 1 < 1245789058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1245789064 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Where Int is C's int, and Integer is a bignum, basically? < 1245789070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that there is a wart. < 1245789072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Integer is either an int or a bignum. < 1245789077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But I think it's long or something actually. < 1245789094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: It's just in there for efficiency; I'd prefer it was named e.g. MachineWord so people didn't use it much. < 1245789108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But there's genericX for most X list functions, which sucks. < 1245789122 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the 'drop' function, 'take', etc. take Ints, and genericFoo does Num, IIRC. < 1245789135 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Definitely counts as a wart. < 1245789203 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to decipher that isprime function. < 1245789235 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :I'm bored < 1245789239 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :any esoteric-related ideas? < 1245789254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Here's a de-pointlessified version: < 1245789258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@unpl not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) < 1245789258 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(\ g -> not (any (\ m -> (mod n m) == 0) (takeWhile (\ q -> (q ^ 2) <= n) g))) < 1245789274 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :((I'm hopefully getting a portable computer with a 8086 and a programming app onboard so I can make interpreters for esolangs everywhere I am (if i have it and have 2 AA baterries))) < 1245789277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and a $ b, as you probably know, is a (b). < 1245789284 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: But the pointless one is clear; I'm just taking time to type it out. < 1245789289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yah :P < 1245789396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@pl \x -> foo `fmap` bar x < 1245789397 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(foo `fmap`) . bar < 1245789403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :There should be an operator for that. < 1245789408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or rather, a nicer name. < 1245789454 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Of the numbers in primelist, square all the ones less than or equal to n, and check if n is divisible by any of them? < 1245789471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yep. < 1245789489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And since this only depends on numbers strictly less than primelist is calling on us to prime-check, it only ever looks at those we've already considered. < 1245789493 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In other words, functional Sieve of Eratosthenes. < 1245789495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And thus never gets into an infinite loop. < 1245789502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: — with worse time complexity. < 1245789511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's more of a zen koan than a useful algorithm :P < 1245789519 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because it was implemented like that, yes. < 1245789527 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But it is basically that sieve. < 1245789532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1245789572 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :According to wikipedia, a more elegant implementation: < 1245789605 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(.).(.) < 1245789606 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> let sieves (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0] in primes = sieves [2..] < 1245789608 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : parse error on input `=' < 1245789618 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mistyped FTW. < 1245789636 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> let sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0] in primes = sieve [2..] < 1245789637 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : parse error on input `=' < 1245789644 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Anyways. < 1245789646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No, that one is pretty much the most elegant due to the infiniteness of the infinite list asking isprime, which then looks at elements of primelist, which would cause it to get trapped in a loop, except we only consider ones we've already done. < 1245789648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Can't beat that :-P < 1245789655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle Int->[a]->[a] < 1245789656 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Prelude drop :: Int -> [a] -> [a] < 1245789656 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Prelude take :: Int -> [a] -> [a] < 1245789656 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Data.List drop :: Int -> [a] -> [a] < 1245789664 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Grr, there's no dropFromEnd. < 1245789666 0 :deveah!unknown@unknown.invalid QUIT :"MUHAHAHAH!!!1111" < 1245789674 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, reverse . drop n . reverse :-) < 1245789676 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: It's pretty nice that isprime is point-free, though. < 1245789679 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :^_^ < 1245789688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Quite. < 1245789703 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :take =<< subtract n . length < 1245789733 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :munge = unlines . reverse . drop 2 . reverse . drop 4 . lines < 1245789734 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>:) < 1245789791 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> iterate (unwords . reverse . drop 2 . reverse . drop 4 . words) (unwords $ replicate 100 "foo") < 1245789792 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ["foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo f... < 1245789843 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :> unwords . reverse . drop 2 . reverse . drop 4 . words `iterate` unwords $ replicate 100 "foo" < 1245789845 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Precedence parsing error < 1245789845 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : cannot mix `GHC.Base..' [infixr 9] and `GHC.L... < 1245789845 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I hate clarity. < 1245789854 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And correct Haskell. I hate that, too. < 1245789941 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to figure out the freaking precedence of operators. XD < 1245790006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Say, do you think "unlines . foo . lines . unlines . bar . lines" will turn into "unlines . foo . bar . lines"? < 1245790034 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I do think. < 1245790037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yay. < 1245790059 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"unlines . foo . lines . unlines . bar" might not, though. < 1245790072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mm < 1245790074 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if lines . unlines is always id, but if the input came from lines it should be. < 1245790087 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@check (\x -> (lines . unlines) x == x) < 1245790088 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "Falsifiable, after 164 tests:\n[\"\\44389\\596659\\562239\\498043\\591429\... < 1245790097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Real helpful cutoff there, lambdabot < 1245790097 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> lines "\n\n" < 1245790098 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ["",""] < 1245790103 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> unlines $ lines "\n\n" < 1245790104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> unlines "\n\n" < 1245790105 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\n\n" < 1245790105 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `[GHC.Types.Char]' < 1245790110 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> unlines ["",""] < 1245790111 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\n\n" < 1245790115 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> unlines $ lines "" < 1245790116 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "" < 1245790123 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> unlines $ lines "\n" < 1245790124 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\n" < 1245790128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> unlines $ lines "\na\n" < 1245790129 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\na\n" < 1245790132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is unbreakable! < 1245790142 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ... Check. Really. < 1245790149 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> (lines . unlines . map (filter ((< 127).ord)) x == x < 1245790149 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Unbalanced parentheses < 1245790155 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: QuickCheck, bitch. < 1245790157 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> (lines . unlines . map (filter ((< 127).ord))) x == x < 1245790159 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "Falsifiable, after 1 tests:\n[\"\\45210\",\"\\268475\"]\n" < 1245790160 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I don't know if that is merely a good idea or a stunning idea. < 1245790163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's like testing for cool people that don't think up their own lame test data < 1245790166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :COOL. PEOPLE < 1245790174 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot: hey, you're here too! < 1245790188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Yeah, I gave gwern sexual favors and in return e gave us lambdabot. < 1245790192 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> let y = filter ((< 127).ord)) x in (lines . unlines) y == y < 1245790192 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Unbalanced parentheses < 1245790196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Story is not strictly historically accurate < 1245790199 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> let y = filter ((< 127).ord) x in (lines . unlines) y == y < 1245790200 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `[GHC.Types.Char]' < 1245790206 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: "e"? < 1245790208 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> let y = map (filter ((< 127).ord)) x in (lines . unlines) y == y < 1245790210 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "Falsifiable, after 441 tests:\n[\"\\1009600\\673308\\917019\\918751\\10136... < 1245790211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: spivak pronouns < 1245790216 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Grr < 1245790222 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Spivak gender-neutral. < 1245790229 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As per Nomic. < 1245790234 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I guessed it was genter-neutral < 1245790235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :As per Spivak. < 1245790244 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jes. < 1245790247 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :aspers < 1245790252 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> (all.all) ((< 127). ord) ==> (lines . unlines) x == x < 1245790253 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: `==>' < 1245790259 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I have heard people say that English has perfetly good gender-neutral pronouns < 1245790259 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :comex: Autistic, actually. < 1245790262 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Bah, lamecheck. < 1245790262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Although Spivak changed to ey and emself instead of e and eirself. < 1245790271 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :comex: ?? < 1245790280 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :fuck 'ey' < 1245790281 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> not ((all.all) ((< 127). ord) x) || (lines . unlines) x == x < 1245790282 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "OK, passed 500 tests." < 1245790288 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> not ((all.all) ((< 127). ord) x) || (lines . unlines) x == x < 1245790289 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "OK, passed 500 tests." < 1245790292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:50 comex: aspers 20:50 pikhq: comex: Autistic, actually. -- is this meant to make sense? < 1245790292 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@check \x -> not ((all.all) ((< 127). ord) x) || (lines . unlines) x == x < 1245790293 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "OK, passed 500 tests." < 1245790296 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@smallcheck \x -> not ((all.all) ((< 127). ord) x) || (lines . unlines) x == x < 1245790297 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Unknown command, try @list < 1245790300 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@scheck \x -> not ((all.all) ((< 127). ord) x) || (lines . unlines) x == x < 1245790301 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "OK, passed 500 tests." < 1245790307 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :ehird on phone < 1245790309 0 :bsmntbombdood!n=gavin@97-118-119-2.hlrn.qwest.net JOIN :#esoteric < 1245790310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@list < 1245790310 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :http://code.haskell.org/lambdabot/COMMANDS < 1245790321 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :comex: ?! < 1245790324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :comex: Ooh, I remember you loling at me for typing badly on that shit keyboard. < 1245790325 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@scheck \x -> (lines . unlines) x == x < 1245790327 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "Falsifiable, after 464 tests:\n[\"\\879457\\149834\\895607\\903638\\981580... < 1245790331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WHO'S HIM THE SUBJECT NOW < 1245790342 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I like how it double-escapes everything < 1245790364 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :mueval: it sucketh < 1245790372 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the message begins with a " for a reason < 1245790384 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1245790392 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: it begins with a space, actually. < 1245790400 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, after than < 1245790401 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*t < 1245790402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> text "Actually, don't blame \"mueval\"" < 1245790403 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Actually, don't blame "mueval" < 1245790407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Why? < 1245790411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I know it's a stirng. < 1245790414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But that's STUUUUUUUUUUUUUUUUUUUUUUUUUUPID < 1245790415 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*string < 1245790418 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I blame the mueval plugin, it's the same thing. < 1245790424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: See "text". < 1245790430 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Yes, and? < 1245790438 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The plugin doesn't do it. It should. < 1245790444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Meh :P < 1245790450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that'd break > < 1245790456 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> > < 1245790457 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : parse error on input `>' < 1245790492 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :>2>2 < 1245790531 0 :comex!unknown@unknown.invalid PRIVMSG #esoteric :> 2 > 2 < 1245790532 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : False < 1245790574 0 :Judofyr!n=Judofyr@ti0056a380-1332.bb.online.no JOIN :#esoteric < 1245791109 0 :asiekierka!unknown@unknown.invalid QUIT : < 1245791143 0 :myndzi!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1245791321 0 :myndzi!i=myndzi@tengototen.net JOIN :#esoteric < 1245791376 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Success < 1245792102 0 :labo!unknown@unknown.invalid QUIT :"leaving" < 1245792667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> ['\0'..] < 1245792668 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\a\b\t\n\v\f\r\SO\SI\DLE\DC1\DC2\DC3\DC4\NAK\S... < 1245792673 0 :tombom!i=tombom@wikipedia/Tombomp JOIN :#esoteric < 1245792675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> reverse ['\0'..] < 1245792677 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\1114111\1114110\1114109\1114108\1114107\1114106\1114105\1114104\1114103\1... < 1245792678 0 :Judofyr_!n=Judofyr@c8F99BF51.dhcp.bluecom.no JOIN :#esoteric < 1245792681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: FEAR THE UNICODE. < 1245792722 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Hooray. < 1245792743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Disclaimer: default IO methods don't do Unicode because they're crap, so use utf8-strings when it matters. < 1245792796 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... It makes Unicode require effort? < 1245792797 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants a language where the basic character type is a true unicode character < 1245792814 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I may have to go back to Tcl, which has done Unicode for everything for 10 years. < 1245792817 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1245792820 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Tcl. < 1245792838 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Everything is a string, and all strings are Unicode. < 1245792839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Uh, that's Haskell. < 1245792840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No, no. < 1245792846 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Just import utf8-strings's modules. < 1245792851 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They act exactly like the regular IO. < 1245792855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But they do UTF-8. < 1245792862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And the actual "Char" type is Unicode, through and through. < 1245792863 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no. if it's a utf8-string, it's not a true unicode character < 1245792868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: No. < 1245792871 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I doubt Tcl has it either < 1245792871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Char is a true unicode character. < 1245792872 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bu,but that is one line of code that shouldn't be there! < 1245792883 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :coppro: if you like dynamic types, try factor, whose string are sequences specialised to one type (1-cell integers) < 1245792884 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: including combining characters? < 1245792891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: < 1245792895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> reverse ['\0'..] < 1245792897 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "\1114111\1114110\1114109\1114108\1114107\1114106\1114105\1114104\1114103\1... < 1245792898 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Tcl uses an internal representation of UTF-16 for convenience. < 1245792899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is the full unicode character set. < 1245792902 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :factor strings are just sequences of codepoints < 1245792905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The default IO stuff just doesn't handle it. < 1245792906 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: code set < 1245792908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ditto w/ haskell < 1245792909 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :not character set < 1245792910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :String = [Char] < 1245792917 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: in ghc head SPJ added a new io system thing, btw, that does unicode < 1245792921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it'll be fixed in N time < 1245792934 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Okay, then. Sanity shall preval. < 1245792935 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehird: is Char one character or one code point < 1245792936 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Prevail, even. < 1245792940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: code point. < 1245792945 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :then it fails < 1245792951 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :UTF-16 is a great anti-compromise... you can't make the assumtions that a 32-bit encoding allows, but it still takes up loads of space < 1245792964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it fails in the sense that it's predictable and not kooky like using characters would b < 1245792968 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :eh, 32-bit doesn't allow those assumptions either < 1245792972 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :combining characters made sure of that < 1245792982 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :coppro: um, one character can be a sequence of hundreds of codepoints < 1245792985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :characters aren't important < 1245792990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for storage < 1245792993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :code points are < 1245792995 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and what *is* a character anyway? < 1245792995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the reason they are code points < 1245792999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1245793001 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: exactly < 1245793001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a character is ill-defined < 1245793030 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :coppro: so, you want a computer to do something you know is ill-defined? < 1245793035 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure that I could come up with an adequate definition < 1245793035 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :as a basic part of the anguage < 1245793038 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :but I'm too lazy < 1245793063 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, one could have a language in which strings aren't sequences < 1245793074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://omploader.org/vMXZoMw <-- nice graph. Long live graphviz! < 1245793077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coppro: it's not a useful definition though. < 1245793080 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :strings can be divided into substrings, which can be of zero length, etc < 1245793091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ehhhhhhhh < 1245793092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :red is IO, blue is "dummy to make everything go from start" < 1245793093 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's just sublists < 1245793094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and [] < 1245793097 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and you can't index them, because that will eventually cause problems < 1245793101 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :working with normalized uncomposed strings is the next-best thing < 1245793103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I forgot the fancy name for it) < 1245793103 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like python strings XTREME < 1245793137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the plan is to convert this into some sort of SSA form next < 1245793151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: CPS bitch. < 1245793156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, for BF? < 1245793162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: CPS = SSA. < 1245793165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They are equivalent. < 1245793173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, true. but SSA is simpler to think in < 1245793199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least when working on a imperative language < 1245793200 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what is that graph? < 1245793212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, dependency graph inside a basic block. < 1245793215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from bf code < 1245793218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the input was: < 1245793225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :+>,<[>]>[-]+++>++>[-]>,<<<[->++>+++>+<<<].>.>>>,.<<.>.>,[->+++<]>. < 1245793227 0 :Judofyr!unknown@unknown.invalid QUIT :Nick collision from services. < 1245793231 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, they're equivalent < 1245793232 0 :Judofyr_!unknown@unknown.invalid NICK :Judofyr < 1245793237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it cut off the first < 1245793237 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just a trivial syntactic transformation < 1245793244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it can't represent [>] < 1245793253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so that is in a separate graph < 1245793260 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1245793271 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you're taking this BF thing seriously < 1245793275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :currently I can't do any sort of loops or ifs inside graphs, but I plan to change that < 1245793282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least if should be possible < 1245793286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when converting to SSA. < 1245793287 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :does it go at a not-ridiculously-slow speed now? < 1245793324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, it takes about a minute to compile LostKing on my 2 GHz Sempron 3300+ running x86_64 code < 1245793338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, that is without HIPE < 1245793343 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"HIPE"? < 1245793346 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with HIPE you save maybe 10 seconds < 1245793353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"HIgh Performance Erlang" < 1245793362 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, the compiler is in Erlang? < 1245793363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically compiles stuff to native code instead of byte code < 1245793366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, yes < 1245793395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, and no, it isn't very optimised for fast compilation < 1245793400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :make it in bf instead. < 1245793403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but rather, for best possible output < 1245793408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you do that. < 1245793410 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :is it a very thready compiler? < 1245793417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, go to hell :P < 1245793439 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :is the output much faster? < 1245793440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, no, and since I have a single core, I can't really test where there may be gains from that. < 1245793452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes, it is much faster than non-optimised C output < 1245793454 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and does it spot things that a human wouldn't? < 1245793457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes it outputs to C < 1245793468 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, err what do you mean " and does it spot things that a human wouldn't?"? < 1245793476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :exactly what he said < 1245793477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly. < 1245793484 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :does it optimise better than a human < 1245793489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would probably miss stuff in lostking if I tried to hand-compile to C < 1245793498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, well I doubt that. < 1245793499 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(except when the human has figured out what the program does) < 1245793512 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, I can see some cases it could do better. < 1245793519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand it surprised me today < 1245793523 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1245793543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, "how could that while loop turn into that much shorter if?, Doesn't make sense, must be yet another bug" < 1245793550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it turned out it was right < 1245793559 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what had it spotted? < 1245793567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me find it < 1245793646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471632 < 1245793647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there < 1245793658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is a diff between "what it produced before, what it produced after" < 1245793664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a certain change < 1245793666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that diff format is really useless for comparison. < 1245793683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I can read it just fine < 1245793687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just pipe it into colordiff < 1245793694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you see some bits in red and other in blue < 1245793700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it helps < 1245793707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :colordiff is a very very very nice tool < 1245793745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but the two things aren't semantically related < 1245793751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ? < 1245793755 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :matching lines are purely coincidental, it's not a patch to what it says < 1245793755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they are the same code < 1245793759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a fundamental restructuring < 1245793759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1245793763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1245793768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1245793769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is what a single code change did < 1245793774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the thing that caused that diff was adding graph-based DCE < 1245793783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pointless talking to someone so literally minded < 1245793785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it can see "if this is never used, remove it" < 1245793794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that was the bit that surprised me < 1245793803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I have no idea how else to show this < 1245793810 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is near the middle of listking < 1245793813 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lostking* < 1245793891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, so yes, I guess it sometimes spot stuff humans wouldn't < 1245793900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but sometimes it is extremely dumb < 1245793910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :side-by-side is the best way to compare two fundamentally different statings of the same thing < 1245793919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not a diff that happens to match up some lines in them < 1245793936 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so convert it. I don't know how to generate a side by side diff using diff(1) < 1245793949 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :give me the command line < 1245793952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ... if it's side by side it's not a diff < 1245793956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just the two pieces of code side by side < 1245793968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so just undiff it,. Easy enough from that code < 1245793992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :take one containing those line starting with space or minus, another those lines starting with space or plus < 1245793998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :put them side by side < 1245794000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :done < 1245794003 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION spereated it easily < 1245794009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was merely questioning the efficacy of distributing it in a less-suitable format < 1245794020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, example of it not so smart: p[1]=~p[8];\np[8]=p[1];\np[1]=0; < 1245794026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though it handles that one now too < 1245794050 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1245794050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I still see "stupid" stuff. < 1245794052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~ is used in bf? < 1245794054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I didn't have a problem with it < 1245794058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i thought generally just 0→1,1→0 was coded < 1245794061 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :BTW, the last two lines of what you shoed me can be moved out of the if < 1245794080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no, that is the C backend seeing y=-1-x and peepholeing it into y=~x < 1245794085 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :moving outside of a conditional ain't gonna help performance < 1245794089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just makes you execute more stuff... < 1245794105 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but it might help other optimisations < 1245794107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: any C compiler that can't do that is really rubbish < 1245794114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: true < 1245794115 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and p[113] must have been a hell of a lot of >>>> <<<< < 1245794129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, um, other optimisations know very well that p[0]=0; after already. < 1245794146 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1471637 separated < 1245794170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they know that because for loops the loop doesn't exit if index cell != 0; or for if because they ask the introspection code about it. < 1245794193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :p[113]+=p[0]; though, hm < 1245794195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good question < 1245794195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: you are like unto a flower. < 1245794210 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :p[113]=p[1]; too < 1245794221 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1245794223 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's just in the other one < 1245794229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, worth investigating if it will help or not. < 1245794242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ok, um < 1245794246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"p[0]+=255;" < 1245794254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure why you're so surprised that it optimized it :p < 1245794258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I don't use negative numbers. < 1245794261 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Read: p[0] -= 1; < 1245794270 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, misthought < 1245794286 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it were 256 it'd be an infinite loop anyways, not an if. < 1245794326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :p[113]+=p[0]; is easy to explain. Once that loop was simplified enough to not have deps on cells written in the previous iteration, it was turned into a set of polynomials inside an if < 1245794344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the if was required due to the sets there < 1245794357 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what does "polynomials" mean here? < 1245794365 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :god I'm tire < 1245794366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :d < 1245794369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: what it normally does < 1245794377 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In mathematics, a polynomial is a finite length expression constructed from variables (also known as indeterminates) and constants, using the operations of addition, subtraction, multiplication, and constant non-negative whole number exponents. < 1245794384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, [{Coeff,[{Offset,Exponent},...]},...] < 1245794391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although really, it's just used to mean "a bunch of mathematical relationships on variables" in the bf compiler world. < 1245794392 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1245794405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, in this case it is actually stored as a polynomial < 1245794413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well that's pointless. < 1245794416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(probably) < 1245794417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it is a lot easier to simplify < 1245794421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1245794439 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: might it be a good optimisation to keep bit vectos of what values each singly-assigne variable could have at each point? < 1245794466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I tried writing generic expression manipulation code. Ended up with some 500 lines, and that didn't properly simplify all cases. The polynomial code is less than 300 lines, including the "visitor pattern" code used by the backend(s) < 1245794499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, it might. But that graph I showed isn't yet in SSA form. I planned to work on that bit tomorrow < 1245794520 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the graph also currently contains ordering info and lots more (though that wasn't dumped to the dot file) < 1245794528 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1245794540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however, I learnt a lot during making this < 1245794558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I even made a simple DCE/single-use-propagator pass on the graph to test it. < 1245794563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which worked like a charm. < 1245794575 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still needs to be turned into proper SSA form though < 1245794648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, with no edges excluded it looks like this currently: http://omploader.org/vMXZoOA < 1245794665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :dotted is "order", green is, um, complex to explain. < 1245794682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"definition overwritten, but not read" < 1245794688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would be the best way to explain it. < 1245794731 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1245794763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a lot messier, but at least the ordering info is needed atm, will not be needed once it is turned into SSA form. < 1245794806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and the other one was added for debugging) < 1245794806 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SSA can reach "round" loops, right? < 1245794845 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, err, how? I figured out "if" easily enough. And yes I guess if variable isn't changed inside the loop it can reach round it < 1245794859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you can't handle unbalanced BF loops though < 1245794865 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but balanced ones yes. < 1245794885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, but I don't know how to handle something like ,[.,] in SSA < 1245794903 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-( < 1245794918 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think compiler books cover that sort of thing too < 1245794921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if is "trivial", just some phi nodes < 1245794929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, I don't have any :/ < 1245794937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :found no online resources. < 1245794950 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you could get the Dragon Book < 1245794956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, ebook? < 1245794963 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that covers lots of front-end stuff too though < 1245794968 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: dunno < 1245794972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just buy the damn thing < 1245794973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a classic < 1245794983 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although personally I think you should instead opt for < 1245794984 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, don't like dead paper edition < 1245794989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.............. wait for it < 1245794989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SICP < 1245794996 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: buy a kindle :P < 1245795008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I read SICP, but I don't remember SSA form there? < 1245795013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to check < 1245795050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://thepiratebay.org/torrent/3635514/Compilers_-_Principles__Techniques_and_Tools_(First_Edition__198 < 1245795057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol it's a scan < 1245795074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that would hurt to read < 1245795084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ,[.,] in SSA? how is that hard? < 1245795093 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, describe how it is done then < 1245795105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Static_single_assignment_form < 1245795237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that doesn't describe loops... < 1245795286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so try again, if you plan to link, please link something relevant. < 1245795287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1245795289 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1245795581 0 :ehurd!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245795750 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :yospos bitch < 1245796137 0 :Gracenotes!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1245796148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, suite yourself, ignore it. < 1245796182 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :"suite yourself" < 1245796209 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1245796282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tombom, isn't that the right English phrase? < 1245796293 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :no, miss off the e < 1245796297 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :suite means something different < 1245796302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1245796306 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :suit yourself then < 1245796308 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1245796312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tombom, what does the suit one mean? < 1245796320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that word I mean < 1245796329 0 :Judofyr!unknown@unknown.invalid QUIT :Remote closed the connection < 1245796352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION probably never noticed the difference between suit and suite < 1245796386 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :A suite is a deluxe accommodation. < 1245796400 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Or, what somebody has decided to pretend is deluxe, anyway :P < 1245796419 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :e.g. At a hotel, the honeymoon suite is the best room, and the other suites are nearly as good, and the other rooms suck as compared to the suites. < 1245796425 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :or a collection of things < 1245796433 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or a sofa < 1245796443 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That too, but it sounded more like my meaning on context :P < 1245796448 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :And also, it's not a sofa. < 1245796451 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :TODO: sex life < 1245796464 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :`addquote TODO: sex life < 1245796465 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :11| TODO: sex life < 1245796479 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric :hilarious < 1245796481 0 :tombom!unknown@unknown.invalid PRIVMSG #esoteric ::I < 1245796482 0 :tombom!unknown@unknown.invalid QUIT :"Peace and Protection 4.22.2" < 1245796543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hai < 1245796577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :22:34 SimonRC: TODO: sex life ← WONTFIX < 1245796694 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Are you ... SUUUUUUUUUUUURE < 1245796768 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WORKSFORME < 1245796779 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You wanna have fun? < 1245796780 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :echo ! < 1245796786 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :up, append ! < 1245796788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, going to explain it? < 1245796800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster: ,[.,] in SSA? how is that hard? < 1245796801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ehird, describe how it is done then < 1245796801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : http://en.wikipedia.org/wiki/Static_single_assignment_form < 1245796801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ehird, that doesn't describe loops... < 1245796806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your mom < 1245796810 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I eventually got a stack overflow! Yay! < 1245796811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you fail < 1245796822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, i just don't feel like helping you < 1245796859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no you fail. < 1245796896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: please clarify for the young gentlemen AnMaster here that I have no interest in helping dickwads, assholes, idiots or any other such uncouth persons and it is strictly personal, not a matter of lack of success < 1245796898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I asked ais and he said he didn't know, but that "generally you break SSA for loops slightly" < 1245796900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's a good boy < 1245796913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I guess you don't know either < 1245796927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right. because knowledge(ehird) strictly-subset-of knowledge(ais523). < 1245796948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no it isn't, but the way you act... < 1245796967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think what he means to say is "main = print [0..]". < 1245796970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's because i like irritating you, AnMaster. < 1245796988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Fun fact: ghc has an oracle. Try running "main = main". < 1245796992 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And stick that in a file. < 1245796994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, not sure what you mean with that though. < 1245797003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, since I don't know haskell < 1245797008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the code was BF < 1245797009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not haskell < 1245797013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(lol) < 1245797028 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: That would be all positive integers. < 1245797044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :plus zero < 1245797058 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, right. < 1245797059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hm ok... < 1245797068 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But whaddya mean, an oracle? < 1245797087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you mean Vx = phi(V0,...Vn) basically? < 1245797094 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It certainly isn't an oracle machine, and this sure as fuck ain't halting. < 1245797095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> print [0..] < 1245797096 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1245797103 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. Except that you should stick it in a file. < 1245797103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oh, lambdabot doesn't do IO. < 1245797105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :> [0..] < 1245797106 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,... < 1245797121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: < 1245797121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Junk] % echo 'main=main'>foo.hs;ghc foo.hs -o foo;./foo < 1245797122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, err..? < 1245797122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo: <> < 1245797128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you tell me that isn't the work of a halting oracle! < 1245797130 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1245797162 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Has different behavior with runhaskell. < 1245797167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yah < 1245797195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, infinite lists == blergh if language doesn't support it. < 1245797240 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. < 1245797256 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at ghc's C output... < 1245797263 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION brain break < 1245797263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, plus I have a DAG here... < 1245797315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :guess I need cycles for SSA form then < 1245797353 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: don't use -fvia-C < 1245797365 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the native code generator is as good most of the time and sometimes better :P < 1245797380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: oh, did you know? GHC, after compiling the C code, then runs the asm through a perl script that changes calls into jumps. < 1245797394 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You're kidding. < 1245797405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Also, this script is "literate perl", which is a one-off format designed just for ghc that basically reverses comments/code (so that code is prefixed instead of comments). < 1245797419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is "compiled" (trivially translated) to perl in the compilation process. < 1245797419 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: o_O < 1245797424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: 's called the Evil Mangler. :) < 1245797428 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Because it doesn't need the stack at all. LMAO < 1245797448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That is beautiful. Epic hack, though. < 1245797459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how redundant :) < 1245797510 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Redundancy is redundant. < 1245797529 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :there's also the Satanic Splitter, which is another revered/feared perl script < 1245797543 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :also some assembly post-processing iirc < 1245797561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i haven't heard of the Satanic Splitter before now < 1245797569 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :olsner: the mangler is the asm post-processing < 1245797580 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :http://markmail.org/message/blmoqkkooqezr3p4 < 1245797584 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Where can I find this evil Perl? < 1245797600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ghc_source_tree < 1245797622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: $prefix/local/lib/ghc-version/ghc-asm < 1245797624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you don't need the comments. < 1245797646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why this literate perl. I mean, *why* < 1245797650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :last procedure is "tidy_up_and_die" < 1245797657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because the mangler needs a lot of explaining < 1245797667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, fair enough < 1245797684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the bit that reversed it to normal perl probably needs a bit of explaining too I imagine! < 1245797693 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :this looks like some kind of reference: http://hackage.haskell.org/trac/ghc/wiki/Commentary/EvilMangler < 1245797694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://darcs.haskell.org/ghc/driver/mangler/ghc-asm.lprl < 1245797696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the literate version < 1245797748 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, of course, it's commented via TeX. < 1245797769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1245797793 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Makes sense, given that TeX is the ultimate example of a literate program. :P < 1245797802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :have you ever read the original one? < 1245797806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :god, that pascal is _awful_ < 1245797824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :olsner, what is the splitter used for really < 1245797868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :splitting things < 1245797870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I have not read it, but I have glanced at it. < 1245797881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was talking to pikhq.. < 1245797882 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm remembering what it does now... it splits up object files to allow static linking to throw away more of the unused parts of the static library < 1245797883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*... < 1245797884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, "things" == object files? < 1245797888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1245797904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"and it tells its < 1245797904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unsuspecting victims that can say SplitObjs=NO at any time, but when < 1245797905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they do, it punishes them with multi-megabyte executables" < 1245798198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so what does it split out of the object files? < 1245798202 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :debug info? < 1245798213 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Don't know < 1245798260 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's doing something similar to --gc-sections and --function-sections (don't remember the precise placing of the hyphens, but something like that it is), only manually < 1245798314 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1245798380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you mean ld's "--gc-sections"? < 1245798382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1245798404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :--function-sections isn't ld at least < 1245798424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :olsner, simplest way is one object file / function < 1245798487 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yes, I think that's what the splitter makes it < 1245799006 0 :MigoMipo!unknown@unknown.invalid QUIT :"QuitIRCServerException: MigoMipo disconnected from IRC Server" < 1245799476 0 :jix_!n=jix@dyndsl-095-033-069-164.ewe-ip-backbone.de JOIN :#esoteric < 1245800200 0 :jix!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1245800274 0 :coppro!unknown@unknown.invalid NICK :ze23||||||- < 1245800328 0 :ze23||||||-!unknown@unknown.invalid NICK :ze23}{||||||- < 1245800410 0 :ze23}{||||||-!unknown@unknown.invalid NICK :coppro < 1245800542 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote closed the connection < 1245800895 0 :coppro!unknown@unknown.invalid NICK :IgnisCaelum < 1245800899 0 :IgnisCaelum!unknown@unknown.invalid NICK :coppro < 1245801057 0 :GreaseMonkey!n=gm@unaffiliated/greasemonkey JOIN :#esoteric