←2011-09-04 2011-09-05 2011-09-06→ ↑2011 ↑all
00:00:25 <CakeProphet> like you might misspell the variable name.
00:00:28 <CakeProphet> or the list name.
00:00:30 <CakeProphet> or uh....
00:00:34 <CakeProphet> well, that's it.
00:00:55 <Patashu> there could potentially be fuckups from the order of iteration not being what you expect
00:00:59 <Patashu> if your foreach is REALLY impure
00:01:17 <CakeProphet> hmmm?
00:01:28 <CakeProphet> I thought iteration was pretty straightforward, literally.
00:01:59 <Patashu> if it's iterating over a hashset or something
00:02:01 <CakeProphet> PHP does have a back() method for iterators, and Ruby and Perl have redo which repeats that iteration
00:02:01 <Patashu> then the order's arbitrary
00:02:26 <CakeProphet> c++ has -- which is like PHP back
00:03:14 * CakeProphet has never really found iterating over unordered collections to be a problem.
00:03:22 <CakeProphet> mainly because I never treat them as ordered.
00:03:33 <CakeProphet> if you treat them as ordered, then yeah, you might have some problems.
00:05:17 <CakeProphet> but again, not a problem with foreach
00:05:31 <CakeProphet> a problem with the data type not matching the problem (or a problem with a bad programmer :P )
00:05:33 <Patashu> hmm
00:05:36 <Patashu> if you insert during a foreach
00:05:41 <Patashu> will it iterate over the new entries?
00:05:49 <Patashu> or does that not work either
00:05:50 <CakeProphet> not in Python
00:05:53 <CakeProphet> depends on the language.
00:06:00 <Patashu> that's a potential gotcha
00:06:03 <CakeProphet> and the iterator
00:06:19 <CakeProphet> you just really should not be mutating what you're iterating over unless you're using C++ and like pain and stuff.
00:06:45 <Patashu> what I want is addWhenFinished() and deleteWhenFinished()
00:06:50 <Patashu> that wait for the container to not be iterated over anymore
00:07:03 <CakeProphet> well in Python you can do...
00:07:06 <CakeProphet> appendlist = []
00:07:08 <Patashu> or make it so that the iterator doesn't see the changes
00:07:13 <CakeProphet> then appendlist.append(somethingIWanttoAdd)
00:07:15 <CakeProphet> then after the loop
00:07:20 <CakeProphet> originalList.extend(appendList)
00:07:25 <Patashu> yeah, that's how I do it right now
00:08:01 <CakeProphet> class PatashuList(list): def addWhenFinished (...): ...
00:08:09 <elliott> <Patashu> hmm
00:08:10 <elliott> <Patashu> if you insert during a foreach
00:08:10 <elliott> <Patashu> will it iterate over the new entries?
00:08:15 <elliott> mutating something while you iterate over it = lol lol lol
00:08:17 <elliott> never do it ever
00:08:22 <elliott> actually never mutate anything ever
00:08:38 <Patashu> never mutate anything
00:08:40 <Patashu> fuck breeders
00:08:48 <CakeProphet> yes always write clean functional code, even when using libraries that mutate.
00:09:04 * CakeProphet never mutates anything in Perl. it's quite a challenge.
00:10:17 <CakeProphet> instead of using push elem list I do (list, elem)
00:10:20 <elliott> CakeProphet: those libraries probably suck
00:10:26 <Patashu> lisperlisperlisperl
00:10:33 <elliott> lisp isn't a functional language
00:10:37 <CakeProphet> elliott: yes, they're probably written in something that isn't Haskell.
00:10:42 <Patashu> fffff
00:10:54 <elliott> haskell isn't that good, everything else is just worse
00:11:49 * CakeProphet writes all of his programs in a fantasy world where he doesn't have to worry about communicating with not-perfectly written software.
00:12:44 <tiffany> o.o
00:12:47 <monqy> hi
00:12:48 <elliott> you can do that from within a nice language, anyway plenty of users of crappy OOP languages use a functional style
00:12:55 <CakeProphet> hey like me.
00:12:58 <CakeProphet> when I can.
00:13:03 <elliott> tons of style guides come down to that in essence
00:13:40 <CakeProphet> Java makes functional programming look bad.
00:15:38 <elliott> Not any worse than it makes Java.
00:16:07 <CakeProphet> one reason I don't completely hate C# is that it at least made it possible to write in a functional style.
00:16:44 -!- oerjan has joined.
00:17:06 <elliott> hi oerjan
00:17:14 * oerjan hides in the corner
00:17:16 <oerjan> i mean hi
00:17:19 <CakeProphet> but the functional stuff is rarely used in most code I've seen. I'm sure it's used.
00:17:36 <elliott> have you read any good code
00:17:39 <CakeProphet> but not as much as, say, languages like Ruby. Where functional style is central to many common idioms.
00:17:42 <CakeProphet> elliott: in C#? no.
00:18:08 <elliott> well then
00:18:13 <elliott> and no, most Ruby code is not even vaguely functional.
00:19:02 <CakeProphet> I was referring to things like the foreach method.
00:19:11 <CakeProphet> AT LEAST they're using higher-order functions.
00:19:21 <elliott> that's not functional :P
00:19:42 <CakeProphet> it is a degree of functional programming above most languages' idioms.
00:19:44 <Patashu> lambdas, linq and the ienumerable methods aren't functional but I <3 them anyway
00:19:48 <monqy> doesn't foreach require side effects to get anything done or something like that
00:20:01 <CakeProphet> okay guys side effects have been around for a while.
00:20:10 <CakeProphet> Lisp uses side effects. Lisp is functional right?
00:20:11 <elliott> Patashu: linq is functional
00:20:16 <elliott> Patashu: linq is literally just list comprehensions
00:20:16 <Gregor> One of these days I'm going to make a language where _ is not a valid identifier character, just to enforce a modicum of consistency in variable naming :P
00:20:18 <Patashu> I thought it was declarative
00:20:19 <monqy> 17:12:16 < elliott> lisp isn't a functional language
00:20:20 <Patashu> oh
00:20:21 <Patashu> hmmm yeah
00:20:24 <CakeProphet> or are you guys going to take the most strict, pure definition of functional to be the only functional programming.
00:20:37 <elliott> Gregor: Allow - in identifiers; everyone will immediately be very happy because that's the only damn convention that makes any sense
00:20:50 <CakeProphet> except when they want to subtract.
00:20:55 <CakeProphet> then they will be very confused.
00:21:07 <elliott> CakeProphet: As we all know, languages never depend on whitespace ever. This is why all good languages treat "9 9" identically to "99".
00:21:29 <CakeProphet> a-b-c-d-e - 1-2-3-4-5-6
00:21:32 <Patashu> I want a languate where vertical tabs are treated significantly
00:21:39 <elliott> "MAN I AM SO CONFUSED ABOUT SUBTRACTION???" -- every Dylan and Perl 6 user, two languages with - in identifiers and infix subtraction
00:21:43 <elliott> Oh wait no nobody has ever really said that ever.
00:21:50 <monqy> CakeProphet: a-b-c-d-e is an identifier, - is an identifier, 1-2-3-4-5-6 is an identifier
00:21:58 <Gregor> elliott: All four of them?
00:21:59 <elliott> monqy: The last should probably just be a syntax error
00:22:10 <elliott> Starting identifiers with digits is silly
00:22:14 <monqy> that works too
00:22:17 <elliott> CakeProphet: But hey, you can write obfuscated code in any language
00:22:21 <elliott> Turns out I don't name my variables a-b-c-d-e
00:22:30 <CakeProphet> elliott: right but Perl disambiguates identifiers with $ so it is less of an issue.
00:22:41 <CakeProphet> still making whitespace significant in that sense is kind of bad sounding to me.
00:22:45 <elliott> Gregor: Dylan had a pretty big userbase at one point, I believe.
00:22:53 <Gregor> Twelve?
00:22:56 <Gregor> Fourteen?
00:22:57 <elliott> CakeProphet: So your languages really do treat "9 9" and "99" identically?
00:23:02 <CakeProphet> not at all.
00:23:05 <elliott> Gregor: It's not even funny :P
00:23:07 <CakeProphet> that's a different case.
00:23:12 <monqy> CakeProphet: no it isn't
00:23:12 <elliott> OH MAN THIS LANGUAGE IS UNPOPULAR WEIRD
00:23:18 <elliott> CakeProphet: nope
00:24:00 <CakeProphet> a-9 could be a valid identifier.
00:24:02 <CakeProphet> which is stupid.
00:24:11 <monqy> no it isn't
00:24:17 <elliott> CakeProphet: You. Can. Write. Obfuscated. Code. In. Any. Language.
00:24:24 <CakeProphet> that's not what I'm getting at even
00:24:33 <monqy> pafdglajdngladjrflagdjgolia is a valid identifier. who made this retarded language i want to kill his guts
00:24:42 <zzo38> In LLVM, identifiers start with symbol to tell you what it is such as % and @
00:24:48 <zzo38> In Forth, names can contain anything other than spaces
00:24:54 <elliott> film-from-the-1950s ;; OH MAN THIS IDENTIFIER IS SO CONFUSING CakeProphet WHAT DID I DO
00:25:21 <CakeProphet> I'm just saying it's silly to require a special case where subtraction is only subtraction if there's a space
00:25:27 <monqy> CakeProphet: btw pafdglajdngladjrflagdjgolia is better than wacro
00:25:29 <Gregor> Wow, did I seriously start this ridiculous discussion with a joke about camelCaseVariableNames?
00:25:40 <elliott> foreach good-film in good-films {
00:25:40 <elliott> if user.rating-of(good-film) > 99 {
00:25:40 <elliott> print 99 - user.rating-of(good-film)
00:25:40 <elliott> } else {
00:25:40 <elliott> print "IT'S TOO LOW"
00:25:41 <elliott> }
00:25:43 <elliott> }
00:25:46 <elliott> help CakeProphet it;s too obfuscated
00:25:57 <monqy> CakeProphet: it's not a special case
00:25:58 <elliott> Gregor: No, CakeProphet did
00:26:02 <CakeProphet> ....it has nothing to do with obfuscation
00:26:16 <CakeProphet> it's the fact that I cant write 99-user.rating-of(good-film) without some ambiguity.
00:26:22 <monqy> CakeProphet: f is only f if it's not smashed up against more letters
00:26:27 <elliott> hey CakeProphet
00:26:28 <CakeProphet> yes I understand the rules.
00:26:30 <elliott> I have this program
00:26:30 <elliott> {{
00:26:32 <elliott> print 99
00:26:34 <Patashu> what's wrong with using _ in identifiers?
00:26:34 <myndzi> !bf_txtgen the quick brown fox jumps over lazy dogs
00:26:35 <elliott> -99 > 0 or die
00:26:36 <EgoBot> ​285 +++++++++++++++[>++>++++++++>+++++++>+++++++<<<<-]>>----.>-.---.<<++.>---.++++.>>.<--.>++.<<<.>>-.<---.>+++++++++++++.++++++++.<----.<.>>>-----.<<+.>+.<<.>-----.>---.<+++.+++.+++.<.>----.>+.>-.<<+++.<.>------.>>----.<++++.-.<<.>>>+++.<----------.>+++.<<+++++++.<----------------------. [919]
00:26:38 <elliott> print "hello world"
00:26:38 <elliott> }}
00:26:45 <elliott> <elliott> {{
00:26:45 <elliott> <elliott> print 99
00:26:45 <elliott> <elliott> -99 > 0 or die
00:26:47 <elliott> <elliott> print "hello world"
00:26:47 <elliott> <elliott> }}
00:26:48 <elliott> CakeProphet: But dude
00:26:50 <elliott> when I write it as
00:26:50 <CakeProphet> ijay,
00:26:54 <elliott> print99-99>0ordieprint"helloworld"
00:26:57 <elliott> It doesn't work the same???
00:27:02 <elliott> It's gross that we have this special case
00:27:05 <elliott> Where in strings, whitespace matters
00:27:07 <elliott> And in numbers
00:27:09 <elliott> But outside, it doesn't
00:27:09 <myndzi> what's the number at the end
00:27:09 <CakeProphet> that is, again, different.
00:27:10 <elliott> This is so
00:27:11 <elliott> gross
00:27:14 <myndzi> !bf +++++++++++++++[>++>++++++++>+++++++>+++++++<<<<-]>>----.>-.---.<<++.>---.++++.>>.<--.>++.<<<.>>-.<---.>+++++++++++++.++++++++.<----.<.>>>-----.<<+.>+.<<.>-----.>---.<+++.+++.+++.<.>----.>+.>-.<<+++.<.>------.>>----.<++++.-.<<.>>>+++.<----------.>+++.<<+++++++.<----------------------.
00:27:14 <EgoBot> the quick brown fox jumps over lazy dogs
00:27:18 <elliott> myndzi: generations
00:27:23 <Gregor> *yawn*
00:27:28 <elliott> CakeProphet: It really isn't different at all, you're just used to one and not the other
00:27:33 <CakeProphet> obviously you can't smash letters up to each other and expect the program to work the same. but - is also a subtraction operator.
00:27:36 <myndzi> ah, my method isn't all that much smaller
00:27:39 <CakeProphet> (waits for x operator in Perl :P )
00:27:45 <myndzi> but it's adjustable!
00:27:46 <monqy> CakeProphet: what makes - different than any other identifier character
00:27:54 <myndzi> hehe
00:27:56 <CakeProphet> it is also an operator.
00:27:59 <CakeProphet> whereas a-z is not.
00:28:02 <CakeProphet> or 0-9
00:28:11 <myndzi> also i didn't exactly optimize the initialization much
00:28:13 <monqy> and what's so special about it being an operator?
00:28:19 <CakeProphet> forget it .
00:28:23 <Gregor> in, as, instanceof, of, and, or, ...
00:28:23 <elliott> so now that we've firmly established that CakeProphet's only "logical" reason for disliking it is because he's not used to it and IS used to other forms of significant whitespace used to separate language elements
00:28:34 <elliott> let's drop it because our point is made and he's just going to keep making a fool of himself
00:28:39 <monqy> ok
00:28:39 <elliott> also it's noisy
00:28:51 -!- zzo38 has left.
00:28:58 <CakeProphet> yeah I obviously fear change, that's it.
00:29:00 <monqy> good bye z z o
00:29:01 <Patashu> my argument? we already have _ as word separator in identifiers so we don't need - as well
00:29:18 <Gregor> Patashu: Fairly certain this was all contingent on dropping _
00:29:25 <Patashu> why? do you need _ somewhere else?
00:29:31 <elliott> Patashu: - is far nicer than _
00:29:39 <Gregor> <Gregor> One of these days I'm going to make a language where _ is not a valid identifier character, just to enforce a modicum of consistency in variable naming :P
00:29:40 <elliott> There's a reason we don't use _ to combine words in English
00:29:46 <elliott> (The reason is that it reads terribly)
00:29:46 <CakeProphet> again, very valid sensible argument for - over _
00:29:47 <CakeProphet> it's nicer.
00:29:55 <elliott> CakeProphet: Shut the fuck up, seriously
00:30:53 <monqy> in my language.... _ is an operator...... and so are capital letters......
00:30:55 <Gregor> lol
00:31:04 <Patashu> in my language vertical tab is an operator
00:31:04 <CakeProphet> but then finding something wrong with 99-abc being different from 99 - abc is stupid because I fear changing convention and stuff.
00:31:09 <elliott> is . an operator monqy
00:31:12 <elliott> CakeProphet: Shut
00:31:13 <elliott> CakeProphet: The
00:31:14 <elliott> CakeProphet: Fuck
00:31:15 <elliott> CakeProphet: Up
00:31:20 <elliott> You're just repeating yourself forever
00:31:23 <elliott> We've dropped it, so drop it
00:31:28 <CakeProphet> !perl my $x=2; print $xx2
00:31:37 <Gregor> This channel is so great :P
00:31:38 <monqy> "perl does it the right way"
00:31:41 <CakeProphet> !perl my $x=2; print $x x 2
00:31:42 <EgoBot> 22
00:31:44 <CakeProphet> no perl doesn't
00:31:45 <CakeProphet> actually
00:31:48 <monqy> ok
00:32:36 <CakeProphet> but x isn't really all that common so I don't care as much.
00:32:58 <monqy> what if you put spaces around operators like any decent person
00:33:07 <monqy> also didn't use perl
00:33:24 <CakeProphet> -shrug- preference.
00:33:31 <elliott> I would be fine with making it a syntax error not to surround operators with spaces
00:33:32 <CakeProphet> depends on the code.
00:33:38 <Patashu> x is the 'repeat a string' operator, right?
00:33:46 <Patashu> how come it doesn't overload * like ruby (I think) does?
00:34:05 <monqy> I'd be fine getting rid of infix operators (and then putting in a substitute such as not to make things awful)
00:34:05 <CakeProphet> typically speaking most languages have a defined set of operator characters and a defined set of identifier characters, and they are seperate. thus whitespace does not matter. for example, Haskell does this.
00:34:26 <monqy> haskell also has problems
00:34:28 <monqy> big problems
00:34:28 <CakeProphet> and it makes things nice and clean.
00:34:32 <monqy> it's not clean
00:34:34 <monqy> it's problems
00:34:37 <CakeProphet> yes but this is one thing it does correctly.
00:34:39 <monqy> no
00:34:51 <monqy> - is done super-incorrectly
00:35:09 <monqy> :t (- 5)
00:35:09 <lambdabot> forall a. (Num a) => a
00:35:10 <elliott> /ignore CakeProphet
00:35:12 <CakeProphet> anyways minute differences in language syntax are pretty much always in the category of preference.
00:35:16 <monqy> :t (-)
00:35:17 <lambdabot> forall a. (Num a) => a -> a -> a
00:35:37 <Patashu> EXPLICITLY SPECIFY ORDER OF OPERATIONS USING TREES
00:35:41 <Patashu> :lisp:
00:37:15 <CakeProphet> monqy: well it makes sense from the perspective that negative numbers shouldn't fuck up ever and it's okay to have this one case where you can't section (-) in order to preserver that.
00:37:24 <CakeProphet> but yeah it could be made better with some spacing rules, perhaps.
00:37:31 <monqy> Patashu: and they're often variadic!!!
00:37:31 <CakeProphet> (- 5) is the section and (-5) is the number.
00:37:52 <CakeProphet> since when the fuck would ever write - 5 to mean -5
00:38:12 <Patashu> you might write x - y and then decide you don't need the x and remove it
00:38:16 <Patashu> :downs:
00:38:18 <CakeProphet> heh
00:38:41 <monqy> :t - x
00:38:41 <lambdabot> Expr
00:38:50 <elliott> <CakeProphet> (- 5) is the section and (-5) is the number.
00:38:51 <elliott> oh my god
00:39:08 <CakeProphet> what are you expecting some kind of consistency from me? you should know better.
00:39:10 <elliott> THIS WHITESPACE TO DISAMBIGUATE THIS USE OF - AS AN OPERATOR VS. THIS OTHER THING IS UNACCEPTABLE IM SO CONFUSED
00:39:13 <elliott> -----
00:39:24 <elliott> LETS USE WHIETSPACE TO RESOLVE THIS AMBIGUITY OF THE USE OF - AS AN OPERATOR VS THIS OTHER THING IM SO UNCONFUSED NOW
00:39:39 <CakeProphet> again completely different but I'm not going to go into it.
00:39:59 <monqy> i'm dead thanks
00:40:00 <elliott> loooooooooooooooooooooooool
00:40:53 <Patashu> the unary vs binary - thing reminds me of time zones and daylight savings re: implementations of date/time
00:41:05 <elliott> i
00:41:42 <CakeProphet> obviously the correction choice is to have two different operators.
00:41:47 <CakeProphet> -- is negation and - is subtraction.
00:41:58 <monqy> -- is comments dumbo
00:42:03 <monqy> unary - is unnecessary, too
00:42:05 <Patashu> but then people who know math but not programming will write mynum = -1; and be like :( Y U NOT COMPILE
00:42:14 <CakeProphet> monqy: ture we could just write 1 - n everywhere
00:42:15 <monqy> :t negate
00:42:15 <lambdabot> forall a. (Num a) => a -> a
00:42:20 <CakeProphet> or negate n
00:42:24 <elliott> 0-n, you idiot
00:42:29 <Patashu> 0-1 is ugly
00:42:49 <CakeProphet> yep, it's established, I'm not perfect. :(
00:43:13 <monqy> CakeProphet: and if n is a literal, use - because - is part of the literal syntax and spaces are required around operators and the world is perfect
00:43:27 <CakeProphet> lol
00:43:52 <CakeProphet> elliott: also I'm confused is 0-n an identifier or an operation?
00:44:05 <CakeProphet> OH SNAP
00:44:07 <CakeProphet> >_>
00:44:11 * CakeProphet gets back to work.
00:44:24 <elliott> /ignore CakeProphet
00:48:18 <elliott> Deewiant: Stop spamming me with bugmail
00:48:25 <elliott> :-P
00:50:45 -!- copumpkin has quit (Ping timeout: 250 seconds).
00:51:10 -!- copumpkin has joined.
00:57:13 <Gregor> <troll>
00:57:26 <Gregor> Solution: Make - not be subtraction, it's only an identifier character. _ can be subtraction.
00:57:28 <Gregor> </troll>
00:57:35 <CakeProphet> heh
00:58:09 <elliott> Gregor: subtraction should be /
01:09:18 -!- augur has joined.
01:09:40 <oerjan> yeah no real mathematicians use / anyway, so it should be available for that
01:13:22 -!- augur has quit (Remote host closed the connection).
01:16:58 <CakeProphet> hmmm I wonder
01:17:05 <CakeProphet> surely there is a program I could write that involves links somehow
01:17:08 <CakeProphet> that I could name zelda.
01:17:21 <CakeProphet> I CAN'T PASS UP A GOOD PUN.
01:17:22 * oerjan swats CakeProphet -----###
01:17:28 <myndzi> make it a gui web browser
01:17:28 <myndzi> ;)
01:17:31 <myndzi> double pun
01:17:51 <CakeProphet> \o/
01:17:51 <myndzi> |
01:17:51 <myndzi> /'\
01:18:01 <oerjan> there it is again
01:18:14 <tiffany> what.
01:18:30 <oerjan> myndzi: plz fix misalignment bug ok thxbye
01:18:51 <tiffany> uu..
01:18:51 <CakeProphet> myndzi: also I'm not sure I catch the double pun.
01:19:09 <tiffany> I don't know how it works specifically but neat uses - as both subtraction and as a character in identifiers
01:19:59 <elliott> oerjan: i thought you used irssi
01:20:10 <oerjan> elliott: not _that_ misalignment
01:20:14 <elliott> o,
01:20:17 <elliott> what, mislaijagniment,.
01:20:20 <myndzi> links text based browser? ;)
01:20:25 <myndzi> zelda image based browser!
01:20:30 <elliott> (pronounced "miss lei jah ment")
01:20:33 <CakeProphet> oh
01:20:36 <oerjan> elliott: sometimes myndzi has an off-by-one error, see CakeProphet's above
01:20:39 <myndzi> that browses the web, which is full of [hyper]links
01:20:47 <myndzi> it's not really an off by one error
01:20:57 <myndzi> it is the fact that i can't display one text that works on all themes
01:21:06 <elliott> tiffany: i've never heard of neat
01:21:08 <oerjan> themes?
01:21:19 <myndzi> some indent for op status, some don't
01:21:26 <myndzi> some left alight nicks, some right aline them
01:21:27 <elliott> nobody's op in here
01:21:28 <myndzi> align*
01:21:29 <tiffany> I'm like... the only user of it
01:21:30 <myndzi> some truncate nicks
01:21:30 <CakeProphet> yes but that shouldn't matter.
01:21:33 <myndzi> and so on.
01:21:34 <oerjan> myndzi: there are no ops :P
01:21:35 <elliott> you assume left alignment, so that's hardly a problem
01:21:39 <myndzi> you're missing the point
01:21:47 <myndzi> all i'm saying is that stuff gets displayed differently in different contexts
01:21:48 <elliott> you make some assumptions, sure
01:21:48 <CakeProphet> in irssi for instance everyones name is indented.
01:21:52 <elliott> but you've got an off-by-one even assuming that
01:21:59 <myndzi> and i can't make one answer that works on all situations
01:21:59 <elliott> none of the factors you're talking about are present
01:22:04 <myndzi> and no i don't, the above example lines up :)
01:22:05 <oerjan> myndzi: my point is that CakeProphet's case is entirely without any complications that i can see
01:22:12 <myndzi> so if it's not lining up, there is a reason that has nothing to do with my math
01:22:13 <elliott> what mitigating factor is there, then?
01:22:15 <elliott> apart from the trivial
01:22:16 <elliott> <nick> message
01:22:19 <elliott> without indentation or anything
01:22:22 <myndzi> i don't know, show me a screenshot
01:22:24 <myndzi> or copy/paste the text
01:22:27 <myndzi> to a pastebin
01:22:30 <elliott> 01:17:51: <CakeProphet> \o/
01:22:30 <elliott> 01:17:51: <myndzi> |
01:22:30 <elliott> 01:17:51: <myndzi> /'\
01:22:30 <myndzi> |
01:22:30 <myndzi> /´\
01:22:35 <elliott> http://codu.org/logs/_esoteric/2011-09-05.txt
01:22:36 <myndzi> > to a pastebin
01:22:37 <lambdabot> Not in scope: `to'Not in scope: `pastebin'
01:22:39 <myndzi> looks fine here
01:22:42 <elliott> grep for "01:17:51"
01:22:43 <myndzi> (what you pasted)
01:22:45 <elliott> grep for "01:17:51"
01:22:46 <CakeProphet> 21:18 < CakeProphet> \o/
01:22:46 <CakeProphet> 21:18 < myndzi> |
01:22:47 <CakeProphet> 21:18 < myndzi> /'\
01:22:47 <myndzi> |
01:22:47 <myndzi> |\
01:22:54 <elliott> CakeProphet: ...
01:22:58 <elliott> I linked myndzi to the text version
01:23:10 <myndzi> the logger must be deleting a space for some reason
01:23:13 <CakeProphet> yes, I was showing how the extra space for op would not matter in my case.
01:23:15 <myndzi> perhaps because of the control codes used to align things
01:23:18 <elliott> myndzi: it isn't, because oerjan has the same problem
01:23:25 <elliott> or at least, irssi and the logger are both doing it
01:23:28 -!- ive has quit (Read error: Operation timed out).
01:23:31 <myndzi> then irssi is at fault
01:23:32 <myndzi> :)
01:23:36 <elliott> < 1315185471 65138 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : \o/
01:23:36 <elliott> < 1315185471 473594 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric : |
01:23:36 <elliott> < 1315185471 802385 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric : /'\
01:23:39 <elliott> that's from the raw, unprocessed log
01:24:21 <CakeProphet> sexy shit
01:24:31 <elliott> myndzi: I just got it from the raw log, control codes and all
01:24:36 <elliott> converted it to <nick> message without changing a single thing
01:24:36 <myndzi> ya, one sec
01:24:40 <elliott> and it's still one column before
01:24:45 <elliott> so yeah, your script is broken :P
01:24:50 <elliott> oh, and removed the control codes but NOT a single space
01:24:55 <elliott> also you have two control codes in a row on one of the lines...
01:25:08 -!- puzzler has joined.
01:25:20 <puzzler> go ahead and paste it would you?
01:25:22 <puzzler> no scripts running here
01:25:25 <elliott> sure
01:25:27 <puzzler> too much interference on my other client
01:25:28 <elliott> <elliott> 01:17:51: <CakeProphet> \o/
01:25:29 <elliott> <elliott> 01:17:51: <myndzi> |
01:25:29 <elliott> <elliott> 01:17:51: <myndzi> /'\
01:25:29 <myndzi> |
01:25:29 <myndzi> >\
01:25:32 <puzzler> mk
01:25:58 -!- puzzler has changed nick to CakeProhpat.
01:26:10 <CakeProphet> slander
01:26:10 <elliott> prohpat :D
01:26:24 <CakeProphet> slanderererererer
01:26:34 <CakeProhpat> it's working fine for me
01:26:36 <CakeProhpat> o_O
01:26:48 <elliott> CakeProhpat: did you make sure to include the space
01:26:49 <elliott> \o/
01:26:50 <myndzi> |
01:26:50 <myndzi> >\
01:26:54 -!- CakeProphet has changed nick to THEGENUINECAKEPR.
01:26:56 <elliott> \o/
01:26:57 <myndzi> |
01:26:57 <myndzi> >\
01:26:57 <THEGENUINECAKEPR> yes.
01:26:58 <CakeProhpat> include what space
01:27:03 <CakeProhpat> oh, he put a space in front of the \o/ ?
01:27:04 <myndzi> |
01:27:04 <myndzi> |\
01:27:06 <elliott> CakeProhpat: yep
01:27:09 <CakeProhpat> well that's the problem
01:27:12 -!- CakeProhpat has changed nick to puzzler.
01:27:12 <elliott> one space at the start of the message
01:27:13 <puzzler> don't do that
01:27:14 <puzzler> ;D
01:27:16 -!- puzzler has quit (Client Quit).
01:27:21 <elliott> myndzi: good bug reaction
01:27:24 <myndzi> haha
01:27:30 <myndzi> it's not my fault, it's mirc's! ;)
01:27:31 <myndzi> one sec
01:27:33 <THEGENUINECAKEPR> \o/
01:27:33 <myndzi> |
01:27:33 <elliott> myndzi: oh is it because mirc "scripts" tend to strip at the start?
01:27:34 <myndzi> |\
01:27:35 <elliott> spaces at the start that is
01:27:44 <elliott> mirc is so gross, everyone stop using it
01:27:46 <myndzi> it's the parser's fault
01:27:52 <myndzi> but i have the tools to avoid it
01:27:54 <THEGENUINECAKEPR> irssi is better because it uses Perl scripts.
01:27:56 <myndzi> so i will
01:28:11 -!- THEGENUINECAKEPR has changed nick to CakeProphet.
01:28:28 <elliott> myndzi: hm if you just include a single space at the start without any escape stuff, then it should get stripped by only the clients that stripped the _original_ space
01:28:30 <elliott> so it'll line up everywhere
01:28:53 <CakeProphet> myndzi: rewrite in Perl and use irssi
01:29:10 <CakeProphet> best solution
01:29:24 <myndzi> elliott: clever, i may do that
01:29:38 <myndzi> first i have to find out at what stage the initial space is getting stripped
01:29:48 <myndzi> you are gonna laugh at this but
01:29:55 <myndzi> i actually have a scripted socks5 proxy that i connect through
01:30:03 <elliott> wow
01:30:03 <elliott> why
01:30:03 <myndzi> gives me some cool options
01:30:04 <myndzi> ;)
01:30:11 <myndzi> i can forge incoming text for testing
01:30:14 <elliott> dude use a better client...............................................................
01:30:18 <myndzi> or execute scripts before mirc gets them
01:30:18 <myndzi> etc.
01:30:31 <elliott> you're connecting... through a proxy... written in your irc client's... horrible scripting language... auugh
01:30:34 <elliott> oh wait
01:30:37 <elliott> scripted =/= mirc script?
01:30:40 <myndzi> oh i'm sorry, did i join #linuxzealotry?
01:30:43 <elliott> please tell me it's scripted with something else
01:30:44 <myndzi> no, it's a mirc script :)
01:30:48 <elliott> myndzi: this has nothing to do with linux :P
01:30:57 <myndzi> only linux zealots tell everyone to use irssi
01:30:57 <elliott> this is #antiterribleideaszealotry
01:31:01 <elliott> i never said irssi
01:31:02 <elliott> ever
01:31:10 <myndzi> oh, someone else did, i don't care
01:31:19 <myndzi> mirc is a fantastic client, its scripting language is horrid, but that's what makes it interesting
01:31:20 <myndzi> :P
01:31:43 <elliott> how's it fantastic, apart from the scripts which is a kind of circular argument
01:32:01 <myndzi> it's clean, responsive, and has every feature you could possibly need from an irc client
01:32:12 <myndzi> (and some i wish it didn't, but they don't get in my way)
01:32:14 <elliott> what irc clients aren't clean and responsive
01:32:19 <myndzi> xchat lol
01:32:26 <elliott> which one isn't it
01:32:33 <myndzi> irssi is fine i'm sure, if you're into the console thing
01:32:47 <myndzi> but why throw away the usefulness of windows just for an aesthetic choice?
01:32:51 <elliott> thats not an answer :P
01:32:58 <elliott> i dunno what's aesthetic about using irssi though but
01:33:03 <myndzi> nah, i mean
01:33:14 <myndzi> some people use console irc clients because they like the console aesthetic
01:33:22 <myndzi> hell, people have even written mirc scripts to emulate them
01:33:25 <myndzi> WHO NEEDS WINDOWS
01:33:28 <myndzi> THIS LOOKS COOL
01:33:29 <myndzi> lol.
01:33:54 <elliott> well that's stupid i don't think anyone in here would be like that :P
01:34:04 <myndzi> as the survivor of many extremely large floods, having stress tested the various clients at the time, i can say with certainty that i can rely on mirc above anything that's not on a console :)
01:34:14 <elliott> I do feel that overlapping windows are fairly useless, though splitting is quite nice... but that is basically a tiling wm
01:34:18 <myndzi> though i dunno about that version 7 unicode stuff
01:34:43 <elliott> myndzi: why would you even hang out in the warzone parts of irc, its so tedious
01:34:43 <myndzi> oh, i forgot to mention, mirc is windows native :P
01:34:58 <myndzi> i forgot that there's people in here who might actually be interested in installing different window managers
01:34:59 <myndzi> hehe
01:35:00 <myndzi> i don't
01:35:08 <myndzi> what's getting flooded have to do with hanging out in warzones?
01:35:14 <myndzi> i used to staff #help on dalnet for a long time
01:35:20 <myndzi> there was some fag with a 3000+ bot botnet flooding us
01:35:27 <myndzi> guess how i solved it? a mirc script :)
01:35:28 <elliott> most /networks/ are warzones
01:35:41 <myndzi> i have some badass channel flood protection man ;D
01:35:41 <elliott> freenode may be incompetent but at least it's semi-civilised :p
01:35:52 <elliott> i feel like i'm talking to someone from the 90s
01:36:03 <myndzi> and i've already been dissed over it being written in mirc too by people who don't know anything better than "lines per second" but are diehard linuxfags
01:36:21 <myndzi> elliott: it's been a long time since it's mattered, but you asked why i like mirc and i'm telling you
01:36:28 <myndzi> so if you don't like the explanations, then don't ask
01:36:45 <myndzi> i'm used to it, it looks and behaves nice, and there aren't any irc clients better than it for my purposes
01:36:55 <myndzi> you can hardly ask me to switch without being able to offer me something better ;)
01:37:13 <elliott> I don't really see why you'd write an mirc script rather than a bot, really
01:37:23 <myndzi> well, it is a botn
01:37:25 <myndzi> bot*
01:37:40 <myndzi> but it was the language under discussion, not the mechanism
01:37:45 <elliott> yeah, but written in a horrible language, and that can't be separated from your client :P
01:37:46 <myndzi> and saying "mirc bot" sounds funny
01:38:05 <elliott> has anyone modified mIRC to run headless and then ran it with wine for better script uptime
01:38:24 <myndzi> people used to do it for botnet clients
01:38:30 <myndzi> you wanna lol at something lol at that
01:38:35 <myndzi> there was a whole botnet written as a mirc script
01:38:39 <myndzi> and boy was the code awful
01:38:39 <elliott> secure
01:38:41 <myndzi> absolutely terrible
01:38:53 <myndzi> anyway, they'd strip the binary down so it was a smaller file
01:41:05 <myndzi> you'd probably cry to learn how many silly things i've written in mirc ;)
01:41:11 <myndzi> the latest was a thing that compresses tetris fields
01:41:11 <myndzi> haha
01:41:27 <myndzi> i get about half the size of an indexed mode png file with all the headers stripped out
01:41:32 <myndzi> it's pretty cool really
01:42:19 <myndzi> <- is this a space?
01:42:38 <oerjan> in case anyone didn't see this already http://i.imgur.com/ku2bD.jpg
01:42:52 <myndzi> haha, awesome.
01:42:58 <elliott> myndzi: that looks like a space to me
01:43:03 <myndzi> good
01:43:04 <oerjan> space here
01:43:06 <elliott> oerjan: would play
01:43:07 <myndzi> i finally found the alias i was looking for
01:43:07 <myndzi> lol
01:43:13 <elliott> like
01:43:13 <myndzi> turns out it was "smsg"
01:43:17 <myndzi> go figure
01:43:23 <elliott> it's space invaders pacman mario and tetris divided into four
01:43:35 <elliott> whenever you hit anything with one of the other games it immediately gets assembled into your next piece, colours and all
01:43:39 <elliott> and you have to play all at once
01:44:48 -!- ive has joined.
01:46:07 <elliott> hi ive
01:46:19 <oerjan> hif ive
01:48:39 <CakeProphet> huh, where did the hibernate option go.
01:49:44 <CakeProphet> halp how do I hibernate with no UI
01:50:08 <oerjan> ask a bear
01:50:53 <CakeProphet> oh hey look there's a hibernate command I can install
01:58:30 -!- puzzler has joined.
01:58:32 <puzzler> \o/
01:58:32 <myndzi> |
01:58:33 <myndzi> /|
01:58:36 -!- puzzler has quit.
01:58:49 <myndzi> old bug was old
01:58:50 <oerjan> EXCELLENT
01:58:57 <myndzi> mistaken variable
01:58:57 <elliott> rip bug
01:58:59 <oerjan> ^celebrate
01:59:00 <fungot> \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/
01:59:00 <myndzi> | | ¦ | | | | | | ¦ | | | |
01:59:01 <myndzi> |\ /< ´¸¨ /`\ /| |\ /< /'\ >\ ´¸¨ /| |\ >\ |\
01:59:08 <myndzi> it was actually in the proxy script i mentioned
01:59:14 <myndzi> one of its functions is to "fix" consecutive spaces
01:59:15 <Patashu> ^celebrate
01:59:15 <fungot> \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/
01:59:16 <myndzi> | | | | | | | | ¦ | | | | |
01:59:16 <myndzi> >\ >\ /| /'\ /| |\ /`\ /'\ ´¸¨ /< >\ /| >\ /|
01:59:20 <myndzi> at a point where i can access the data in binary variables
01:59:27 <Patashu> can you make celebrate do the rest of them too?
01:59:27 <myndzi> so that my theme doesn't mangle them
01:59:51 <myndzi> so the particular bug occurred when
01:59:52 <oerjan> Patashu: well ^celebrate can only choose the top parts
01:59:56 <CakeProphet> \m/ \m/ \m/ \m/
01:59:57 <myndzi> `\o/´
01:59:57 <Patashu> yeah
01:59:57 <myndzi> |
01:59:57 <myndzi> /´\
01:59:57 <myndzi> (_| |_)
02:00:00 <myndzi> 1) there were NO consecutive spaces (2 or more)
02:00:04 <CakeProphet> \m/ \m/ \m/ \m/
02:00:05 <myndzi> and 2) there was a space at the beginning of the text
02:00:10 <CakeProphet> \m/ \m/ \m/ \m/
02:00:10 <myndzi> `\o/´ `\o/´
02:00:10 <myndzi> | |
02:00:11 <myndzi> (_|¯´\ /`\
02:00:11 <myndzi> |_) (_| |_)
02:00:16 <myndzi> i had code in place to account for this scenario
02:00:22 <myndzi> but it was comparing the wrong variable
02:00:59 <oerjan> ^def celebrate ul ( \o| \o| \m/ \m/ |o/ \o/ \o| \m/ \m/ |o/ |o/)S
02:00:59 <fungot> Defined.
02:01:01 <elliott> lol
02:01:03 <oerjan> ^celebrate
02:01:04 <fungot> \o| \o| \m/ \m/ |o/ \o/ \o| \m/ \m/ |o/ |o/
02:01:04 <myndzi> | | `\o/´ | | | `\o/´ ¦ |
02:01:04 <myndzi> /`\ /| | |\ >\ /| | ´¸¨ /|
02:01:05 <myndzi> /'¯|_) /´\
02:01:05 <myndzi> (_| (_| |_)
02:01:07 <myndzi> haha
02:01:07 <CakeProphet> so I might be developing an iphone app as a profitshare.
02:01:17 <myndzi> i had a friend one time
02:01:19 <myndzi> rather
02:01:22 <myndzi> i had a friend who one time*
02:01:26 <myndzi> had this regex script
02:01:38 <myndzi> that would output matches and break them down a line at a time
02:01:38 <CakeProphet> regex, scruot?
02:01:40 <myndzi> like
02:01:43 <myndzi> \1: contents
02:01:44 <myndzi> \2
02:01:45 <myndzi> so on
02:01:49 <oerjan> ^def celebrate ul ( \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/)S
02:01:49 <fungot> Defined.
02:01:51 <oerjan> ^celebrate
02:01:51 <fungot> \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/
02:01:51 <myndzi> | | | `\o/´ | | | `\o/´ | | |
02:01:52 <myndzi> /| >\ /< | /| /`\ /< | /'\ /< /|
02:01:52 <myndzi> (_|¯`¯|_) /'\
02:01:52 <myndzi> (_| |_)
02:01:58 <myndzi> this friend happened to be an ircop on the network in question with flood privileges
02:02:00 <myndzi> ...
02:02:05 <myndzi> i guess i don't really need to say any more
02:02:05 <myndzi> ;)
02:02:24 <myndzi> this define script reminded me of it until i realized i was the one filling in the extra lines
02:04:55 <CakeProphet> oerjan: excellent
02:05:08 <myndzi> so anyway
02:05:14 <myndzi> this tetris thing, you guys might actually find it interesting
02:05:40 <myndzi> what i did was basically the equivalent of a png filter backed by a range encoder
02:05:48 <myndzi> but instead of the cell prediction methods png uses
02:05:56 <myndzi> where it predicts a value then takes the difference of that value and the current cell
02:06:20 <myndzi> i instead maintain a move-to-front buffer that gets seeded with my predictions for each cell
02:06:40 <myndzi> so if my first guess isn't right my second guess can output a 2
02:07:35 <myndzi> over some sample data this proved to skew the data significantly, with about 80% of outputs being 1 or 2
02:07:42 <myndzi> which of course makes the range encoder happy
02:08:30 <myndzi> for the garbage, which has its own useful properties, i represent a hole position with a 0 followed by truncated binary for its position and then follow it up with a string of RLE 1s if it doesn't change position
02:08:41 <myndzi> (works good for change on attack, the rle could be removed for 100% hole change games)
02:08:51 <myndzi> on my sample data, the average tetris field is like 9 bytes
02:09:04 <myndzi> waiting to get some proper live data instead of the turn based game i took from :)
02:09:33 <CakeProphet> cryptsetup: WARNING: failed to detect canonical device of /dev/sda6
02:09:42 <CakeProphet> when I ran apt-get install hibernate
02:09:46 <CakeProphet> I wonder if this is a problem.
02:10:05 <coppro> no
02:10:11 <CakeProphet> I don't even think I have an sda6
02:12:11 <elliott> myndzi: 9 bytes? that's pretty good :P
02:12:17 <elliott> what field size?
02:12:22 <myndzi> 10x25
02:12:32 <myndzi> (top 5 are the hidden height)
02:12:32 <elliott> how many cell states?
02:12:35 <myndzi> some caveats:
02:12:53 <myndzi> it's played on a turn based site, and efficiency is key there. there is usually much less of an upstack than normal live games
02:13:02 <myndzi> err, the sample data is from such a site*
02:13:17 <myndzi> though i will be gathering sample data from nullpomino, i'm involved in its development
02:13:26 <elliott> how many cell states? :P
02:13:31 <myndzi> cell states = 9, though only 8 are encoded since i encode garbage separately
02:13:39 <myndzi> 7 piece colors, empty, and garbage
02:13:46 <myndzi> i only encode rows that contain blocks
02:13:47 <Patashu> why are you encoding it? just for fun?
02:13:51 <myndzi> the empty height can be implied
02:13:52 <elliott> so 2250 bytes down to 9
02:13:54 <elliott> not bad
02:13:56 <myndzi> Patashu: mostly just for fun, yes
02:14:11 <Patashu> good a reason as any other
02:14:11 <myndzi> but it will see application in the release of nullpomino 8
02:14:17 <Patashu> why?
02:14:17 <elliott> 25,000 percent compression :P
02:14:19 <myndzi> for example, since i can get the data so compact,
02:14:21 <elliott> er hm wait no
02:14:31 <myndzi> we will be able to do different things than we might have with the netplay protocol
02:14:39 <myndzi> like stream full udp updates and therefore not require ordered packets
02:14:47 <myndzi> (which will improve responsiveness)
02:14:53 <myndzi> also we will be able to stream data at a faster frame rate
02:15:12 <myndzi> elliott: :)
02:15:15 <Patashu> ooo, udp updates
02:15:22 <myndzi> i said average 9 bytes, my sample data has 113 frames
02:15:31 -!- CakeProphet has quit (Quit: Lost terminal).
02:15:33 <myndzi> so some are bigger of course, but i'm sure some are smaller too
02:15:49 <myndzi> png with indexed colors gets closer to 20something bytes on average
02:15:55 <myndzi> i forget how many
02:16:08 <myndzi> 20-30 anyway
02:16:19 <elliott> myndzi: what's the maximum :P
02:16:34 <myndzi> caveat 2: we'll be encoding a bit more information, since nullpomino in free-for-all modes colors its garbage and i don't support garbage coloring
02:16:48 <myndzi> but a move-to-front transformation with rle like i did with the garbage can get that nice and small
02:16:54 <myndzi> maximum is kind of unknown
02:17:02 <elliott> i mean
02:17:04 <elliott> on your sample data
02:17:04 <myndzi> it was just an information seeking venture
02:17:10 <myndzi> i don't have the ability to encode a single frame atm
02:17:10 <myndzi> haha
02:17:19 <elliott> obviously the maximum is a bit over 2250
02:17:26 <myndzi> ?
02:17:32 <elliott> myndzi: your raw data is 2250 bytes
02:17:34 <myndzi> oh, maximum possible encoded field size?
02:17:37 <elliott> yeah
02:17:42 <myndzi> or maximum sample compressed field
02:17:48 <elliott> pigeonhole principle + overhead = max field size ends up being over 2250 bytes
02:17:50 <elliott> post-compression
02:18:05 <elliott> although many states are probably impossible due to shape of pieces
02:18:08 <myndzi> yeah, but it'll never get there in a game
02:18:14 <elliott> you could encode it more abstractly before compressing to help with that
02:18:18 <myndzi> since players will die before they get anywhere close to a noisy enough field to fuck the compression
02:18:21 <elliott> but if you're getting 9 bytes on average it probably doesn't matter
02:18:27 <myndzi> well see
02:18:42 <myndzi> what i recognized was that there was a high degree of connectedness in the cardinal directions by virtue of the way the game exists
02:19:02 <myndzi> so the predictions are accurate when the cells surrounding a cell are the same as it is
02:19:07 <myndzi> which is very often
02:19:12 <myndzi> for that not to be true, you have to have made a real mess of your field
02:19:17 <myndzi> but since this is mostly going to apply towards netplay,
02:19:24 <myndzi> anyone who makes that much of a mess will be killed quickly
02:19:29 <myndzi> since it means they can't reach their garbage
02:19:29 <myndzi> :)
02:20:22 <myndzi> the worst case would be that none of the four surrounding cells are ever the same color as the current cell
02:20:38 <myndzi> and there are 20x10 cells that satisfy that condition
02:20:42 <myndzi> i'm sure it'd be huge in that case
02:21:12 <myndzi> we might have to be wary of doing something like "fill the entire field with random colors" as an effect upon death or something
02:21:25 <myndzi> (like tetrinet did)
02:28:34 <Patashu> you could always have a special 'random colours' message
02:28:40 <Patashu> and then every client decides what to fill it with
02:29:07 <quintopia> who put cjd in the topic
02:29:22 <elliott> cjd?
02:30:38 <quintopia> creutzfeld-jakobs disease
02:30:52 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
02:32:50 <elliott> ph
02:36:36 <oerjan> quintopia: it's from fungot's europarl theme, i believe
02:36:36 <fungot> oerjan: what luck! we must search for a biological experiment? say it again.
02:37:24 <oerjan> fungot: yes, the cjd one
02:37:24 <fungot> oerjan: president rufus doing by getting all excited. right now. you new here? these are the ones i've seen in my reserved seat in the newspaper.
02:37:59 <quintopia> ^styles
02:38:02 <quintopia> ^style
02:38:02 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7* fisher homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp youtube
02:38:29 <quintopia> i can never remember how to fungot properly
02:38:29 <fungot> quintopia: what the!? why is cid so hard to join? the hell was that?
02:38:40 <quintopia> what is europarl?
02:38:59 <oerjan> ^style europarl
02:38:59 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
02:39:38 <oerjan> fungot: death and taxes
02:39:41 <fungot> oerjan: mr president, are close by; they may even have got worse. i hope that herman schmid shares my view that the eu governments and eu airlines. i applaud the amendments, i can only thank the rapporteur, that in this hypothesis the commission intends to implement the measures. i think it is appropriate to encourage, because even though mr van velzen i think, the explanation should be sought and guaranteed, above all, enable
02:39:49 <oerjan> oh dear
02:40:04 <quintopia> wow
02:40:13 <oerjan> we are doomed
02:40:22 <quintopia> he ran out of message length there
02:40:37 <tiffany> o.o
02:40:49 <tiffany> xchat just splits it over multiple lines if you go over 512 characters :s
02:41:48 <oerjan> that wouldn't be good for fungot; it sometimes gets stuck in a message loop
02:41:49 <fungot> oerjan: we are appalled to see that changed. if we are to overcome their difficulties. the only way of ensuring that, at thessaloniki, this would be disastrous for all, against the grain, on the one hand by the constant stream of weapons which operate in sfor based on the facts, not on referral back to committee)
02:42:33 <quintopia> oh dear
02:42:37 <oerjan> at least in the ctstyle
02:42:40 <quintopia> we are indeed doomed
02:42:41 <oerjan> *
03:03:18 -!- zzo38 has joined.
03:03:45 -!- pikhq has joined.
03:04:45 <zzo38> If I do various thing in making preprocessor of Haskell, many people says is insane thing, should it be called Insane-Haskell?
03:04:54 <zzo38> Or, Insane-Haskel-PP?
03:05:39 <pikhq> Bleh.
03:05:58 <oerjan> package names shouldn't normally contain "haskell" :P
03:06:03 <zzo38> Or something completely different?
03:06:18 <oerjan> if you mean for naming on hackage
03:06:49 <zzo38> oerjan: Some do, such as haskell-src-exts. But I do not mean necessarily for naming in hackage. I just mean in the ordinary way to name a program.
03:07:08 <oerjan> Madskell :P
03:08:06 <zzo38> OK, I suppose that will do as well. It *does* mean it does not contain the word "haskell"; in case you do not want it to contain "haskell".
03:08:35 <pikhq> Oh, praise Internet.
03:08:51 <oerjan> well if it's for manipulating haskell programs, like a preprocessor is, then maybe it's ok to have "haskell" in it
03:09:05 <zzo38> Yes, that is what I thought.
03:09:09 <oerjan> i was just trying to think of a more punny name there
03:09:28 <zzo38> It is OK to think of different name including more punny name and whatever else
03:11:17 <zzo38> Is it possible for the main module to not be called Main? Because, I want programs running with hint to be able to access it under a different name. Is it possible to make it import the its own compiled module to hint?
03:11:52 <oerjan> you can use the -main-is flag
03:12:00 <zzo38> OK
03:12:21 <zzo38> I used "Madskell" for now like you suggested at once
03:12:44 <oerjan> :)
03:21:33 -!- ABD has joined.
03:21:45 -!- ABD has changed nick to cchackermirc.
03:22:25 -!- pikhq_ has joined.
03:24:37 -!- pikhq has quit (Ping timeout: 258 seconds).
03:26:38 <elliott> hi cchackermirc
03:26:58 -!- pikhq_ has changed nick to pikhq.
03:28:59 <zzo38> Do you know the working of this program? http://sprunge.us/USZd
03:31:34 <myndzi> i wonder how statistical distribution could be used to make the code for a bf text generator smaller
03:31:39 <myndzi> seems like it should be pretty doable
03:31:57 <zzo38> Try.
03:32:09 <myndzi> i was considering taking the bucket approach i wrote and adding something so that i'd know how many "more" bytes would be incurred by selecting each bucket
03:32:14 <myndzi> but it seems a little annoying to code
03:32:25 <zzo38> Try anyways.
03:32:31 <myndzi> i might ;p
03:32:41 <myndzi> i'm thinking about multiple different ideas haha
03:32:49 <myndzi> like, one would base the buckets on frequency
03:33:10 <myndzi> it would select from a smaller range of possible values for high frequency character(s)
03:33:22 <myndzi> so as to leave the value more accessible
03:33:35 <myndzi> and maybe travel farther on the buckets used for smaller frequencies
03:33:47 <myndzi> the idea being like entropy encoding where less frequent = more symbols
03:33:54 <myndzi> but i'm not sure how to balance it out
03:34:05 <myndzi> or what to do if, like, two frequent values are very far apart
03:34:28 <myndzi> the "take the bucket that generates the smallest output" approach seems to work decent
03:35:02 <myndzi> i save about 30 bytes over the bot, maybe more, but i haven't worked in anything to support things like capital letters better, it's focused on lowercase only and spaces
03:57:30 <pikhq> Well, that's strange.
03:57:41 <pikhq> https://github.com/torvalds/linux
03:58:05 <pikhq> Not sure why, but Linus pushed the repo to github.
04:01:43 <zid> because github is awesome, and perhaps maybe because kernel.org was possibly compromised
04:02:07 <zid> (the servers got broken into, but none of the repos were messed with, afaik)
04:03:40 <pikhq> Probably having something to do with the kernel.org breakin, yeah.
04:04:00 <zzo38> I used repo.or.cz instead, but you can use what you want to use.
04:04:20 <zid> I used repo.or.cz, the guy was nice but my repos would break and i'd have to ask him to fix em
04:04:24 -!- Deewiant has quit (Read error: Connection reset by peer).
04:04:25 <zzo38> But you should copy it to github and to kernel.com as well, so you hvae two copies
04:04:26 <zid> github has better tools and a nicer UI
04:04:28 <zid> so I switched
04:05:07 -!- Deewiant has joined.
04:05:10 <pikhq> Not like it matters much.
04:05:17 <pikhq> A git host is just that, a host.
04:05:35 <zzo38> But one suggest I have, is, make all of the configuration commands in repo.or.cz accessible by SSH
04:07:25 <Gregor> "unfamiliar with the Emacor vim software" "I kind of don't know how to control those two softwares which made the programming kind of complicated. Could I just use Visual Stdio? Thanks"
04:07:27 <Gregor> *sobs*
04:07:58 <zid> make him use nano
04:08:12 * zid uses a lot of nano because he is a horrible person
04:08:50 <pikhq> nano's not a bad editor, really. Just incredibly simplistic.
04:10:19 <pikhq> "So while kernel.org is down for the count, let's just see how github does:"
04:10:20 <pikhq> :)
04:13:05 <elliott> Gregor: wat
04:13:13 <zid> "Good lukk to Patricia, whoe is off to teh Oregun State Fair for the state speling kontest."
04:13:32 <elliott> isn't repo.or.cz run by the guy who made git-pasky/cogito?
04:13:42 <elliott> I remember using cogito back when git was reaaally new and terrible
04:13:57 <Gregor> elliott: Student in the class I'm TA'ing.
04:14:27 <zid> what's the class?
04:14:34 <elliott> Gregor: omg, "visual stdio"
04:14:39 <elliott> :D
04:15:34 <Gregor> I know.
04:15:35 <Gregor> I just.
04:15:36 <Gregor> X_X
04:15:58 <Gregor> I can't tell if he's just trolling.
04:18:15 <elliott> Gregor: TBF, emacs and vim don't have the nicest learning curve :
04:18:16 <elliott> :P
04:18:47 <zid> vim is pretty easy, if you don't want to be productive
04:19:07 <zid> like, just use edit mode, and :wq
04:19:18 <elliott> Yeah, but coming from Visual Studio... :p
04:19:31 <zid> shiet, I still use notepad for a lot of stuff
04:19:35 <zid> and nano like I said
04:20:06 <elliott> Gregor: I say let 'em use it and be horrible if the result doesn't work without :P
04:20:12 <Gregor> elliott: We told them to use gedit, which is like Gnome's notepad. Then, the next lab session, we did 10-minute introductions to emacs and vim, just for completionism, all the while saying "but you can use whatever editor you want"
04:20:22 <elliott> Ah :P
04:20:29 <elliott> I know what gedit is dude
04:20:44 <Gregor> I wouldn't have if we didn't tell them to use it *shrugs*
04:20:54 <Gregor> I mean, I guess I could've guessed ... but I don't use Gnome.
04:20:58 <elliott> gedit is actually way better than notepad :P
04:21:05 <Gregor> True.
04:21:08 <pikhq> zid: As an Emacs user: vim is entirely reasonable.
04:21:10 <Gregor> But that's not much of a statement.
04:21:21 <elliott> I actually use it quite a lot for coding, since its autoindent is reasonable and its syntax highlighting is really good (because it's just a gtksourceview in a box)
04:21:30 <pikhq> Though the learning curve is hell, just like Emacs.
04:21:34 <elliott> I have weird mental spheres that I divide all my coding into and that determine editor and the like
04:21:35 <zid> I used gedit a bit
04:21:56 <zid> notepad++ isn't bad as a lay editor
04:22:46 <Gregor> For me the decision process goes something like this:
04:22:48 <Gregor> text -> vim
04:23:57 <elliott> People who only use emacs or vim are really boring. I think I'm going to start calling them monoeditorites.
04:24:05 <elliott> Us polyeditorites have a much more exciting life.
04:24:53 <oklopol> i only use wordpad, but i have multiple lives.
04:25:17 <elliott> oklopol is here and nobody told me? >:|
04:25:29 <oklopol> oh i am here. i am here so bad.
04:25:42 <elliott> so bad.
04:32:47 <elliott> > (9::Integer) `shiftL` 999
04:32:48 <lambdabot> 482178873233820294426791272077000814752632165267490123349687674766657973006...
04:37:14 <zid> http://www.youtube.com/watch?v=LjSXj4cb_Yo&feature=related
04:39:41 <elliott> Is that worth watching
04:39:45 <zid> meh
04:39:57 <elliott> I have no idea how starcraft works
04:40:04 <zid> oh right, probably not then
04:40:19 <elliott> Pssht, I'm totally gonna watch it now
04:40:33 <zid> you'll just appreciate it slightly less
04:40:35 <zid> like the muta micro
04:45:51 <zid> I think pro tip here, AI controlled muta are badass if you can get them
04:53:42 <oklopol> last time i checked, rape was illegal
04:54:06 <elliott> an accurate perception
04:54:39 <pikhq> Brassica napus seems entirely legal still.
04:56:27 <elliott> I wonder if diveclog is any good
04:56:37 <elliott> Not that I have any interest in it
04:58:07 -!- augur has joined.
04:59:53 -!- GreaseMonkey has joined.
05:06:30 -!- CakeProphet has joined.
05:07:57 <CakeProphet> I had to use windows to complete my online class.
05:07:59 <CakeProphet> it was very scary.
05:08:15 <CakeProphet> I don't want to go back don't let them take me.
05:10:58 <Deewiant> elliott: Bugmail? :-P
05:11:19 <elliott> Deewiant: What |Removed |Added
05:11:19 <elliott> ----------------------------------------------------------------------------
05:11:19 <elliott> CC| |dwelch@dwelch.com
05:11:19 <elliott> --- Comment #19 from Matti Niemenmaa <matti.niemenmaa+llvmbugs@iki.fi> 2011-09-04 13:51:49 CDT ---
05:11:19 <elliott> *** Bug 10858 has been marked as a duplicate of this bug. ***
05:11:36 <elliott> Deewiant: Because I got subscribed to "adce and loop-reduce (and possibly others?) incorrectly delete calls to readonly/readnone functions" two years ago because I reported a bug that reduced to it :P
05:11:51 <elliott> (The bug being it optimising out an infinite loop to a nop, lol)
05:13:40 <elliott> Deewiant: So basically STOP TWIDDLING THAT BUG
05:14:39 <Deewiant> elliott: Un-cc yourself?
05:15:05 <elliott> Deewiant: That's more work than complaining over IRC
05:15:28 <Deewiant> It's also the only working solution
05:16:14 <elliott> I could be just that annoying.
05:54:32 -!- ive has quit (Quit: leaving).
05:55:41 -!- augur has quit (Remote host closed the connection).
06:13:31 -!- GuestIceKovu has changed nick to Slereah.
06:15:17 -!- oerjan has quit (Quit: Good night).
06:24:06 -!- FireFly has joined.
06:51:08 <CakeProphet> hey what was the list of primes using nubBy and gcd?
06:52:42 <CakeProphet> > nubBy (((>1).).gcd) [1..]
06:52:43 -!- elliott has quit (Read error: Connection reset by peer).
06:52:44 <lambdabot> [1,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,1...
06:52:58 -!- elliott has joined.
06:58:17 <olsner> CakeProphet: ask CakeProphet, he just posted one of those in #esoteric
06:58:37 <CakeProphet> well technically 1 is not prime (for reasons I'm not entirely clear on)
06:59:12 <olsner> > nubBy (((>1).).gcd) [2..]
06:59:14 <lambdabot> [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...
06:59:30 <CakeProphet> good job. :P
06:59:34 <CakeProphet> > 2011 `elem` nubBy (((>1).).gcd) [2..]
06:59:36 <lambdabot> True
06:59:40 <CakeProphet> oh look we're in a prime year.
06:59:56 <fizzie> The prime of our lives.
07:00:14 <olsner> today's a prime day in a square month of a prime year
07:00:25 <CakeProphet> > dropWhile (/=2011) $ nubBy (((>1).).gcd) [2..]
07:00:27 <lambdabot> [2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113...
07:00:35 <CakeProphet> fizzie: hopefully one of many primes.
07:00:45 <CakeProphet> unless you're going to die in 6 years.
07:00:49 <fizzie> Well, since 2012 is the last one...
07:00:58 <CakeProphet> ah yes of course.
07:01:10 <CakeProphet> slipped my mind.
07:01:46 <CakeProphet> > dropWhile (/=1991) $ nubBy (((>1).).gcd) [2..]
07:01:50 <lambdabot> mueval-core: Time limit exceeded
07:01:53 <fizzie> > nubBy (((>1).).gcd) [1983..2011]
07:01:54 <lambdabot> [1983,1984,1985,1987,1991,1993,1997,1999,2003,2009,2011]
07:02:01 <CakeProphet> > dropWhile (<1991) $ nubBy (((>1).).gcd) [2..]
07:02:03 <lambdabot> [1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087...
07:02:12 <CakeProphet> these are the prime years I've experienced, up to the present.
07:02:40 <fizzie> How come 1984 is on that list?
07:02:41 <CakeProphet> fizzie: doesn't work like that I don't think.
07:02:46 <fizzie> Oh, right.
07:02:47 <CakeProphet> you need to start at 2.
07:02:48 <fizzie> Of: course.
07:02:56 <fizzie> I blame just waking up.
07:03:01 <olsner> > takeWhile (<2011) . dropWhile (<1986) . nubBy (((>1).).gcd) $ [2..]
07:03:02 <lambdabot> [1987,1993,1997,1999,2003]
07:03:14 <fizzie> Well, that's not very many.
07:03:16 <olsner> > takeWhile (<=2011) . dropWhile (<1986) . nubBy (((>1).).gcd) $ [2..]
07:03:18 <lambdabot> [1987,1993,1997,1999,2003,2011]
07:03:28 <CakeProphet> one more than I.
07:08:26 <CakeProphet> This is truly a prime time of our life.
07:08:38 <CakeProphet> (yes fizzie said something similar but now I am explicitly referencing a Daft Punk song. :P )
07:10:59 <CakeProphet> time to celebrate
07:11:01 <CakeProphet> http://www.youtube.com/watch?v=WIyEaRSvFQ4
07:11:28 <zzo38> Do you need videos for everything?
07:11:32 <CakeProphet> with what is totally not a shitty quality version of Alive 2007
07:11:37 <CakeProphet> which was NOT a prime year. shameful.
07:11:42 <CakeProphet> shame on you Daft Punk.
07:12:14 <CakeProphet> zzo38: ur mom
07:12:15 -!- Vorpal has quit (Read error: Connection reset by peer).
07:13:14 <CakeProphet> @define takeWithin f g = takeWhile g . dropWhile f
07:13:42 <CakeProphet> @let takeWithin f g = takeWhile g . dropWhile f
07:13:43 <lambdabot> Defined.
07:14:11 <CakeProphet> > takeWithin (<1991) (<=2011) [1..]
07:14:12 <lambdabot> [1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005...
07:14:56 <CakeProphet> I guess the takeWhile could be not.g
07:15:10 <CakeProphet> so then it's more like specifying a range or something?
07:15:41 <CakeProphet> er on, not the dropWhile
07:15:52 <CakeProphet> @let takeWithin f g = takeWhile g . dropWhile (not.f)
07:15:53 <lambdabot> <local>:1:0:
07:15:53 <lambdabot> Warning: Pattern match(es) are overlapped
07:15:53 <lambdabot> In...
07:15:59 <CakeProphet> @let takeIn f g = takeWhile g . dropWhile (not.f)
07:16:00 <lambdabot> Defined.
07:16:21 <CakeProphet> > takeIn (>1991) (<2011) [1..]
07:16:22 <lambdabot> [1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006...
07:16:47 <CakeProphet> > takeIn (==1991) (<2011) [1..]
07:16:49 <lambdabot> [1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005...
07:17:06 <CakeProphet> yeah that makes sense.
07:19:21 <fizzie> It's a bit like the Perl scalar "..".
07:19:27 <CakeProphet> so maybe I could make a bot that re-lets lambdabot with a list of functions after being cleared.
07:20:07 <CakeProphet> and when you update the list it clears lambdabot and re-lets them all
07:20:15 -!- Vorpal has joined.
07:20:34 <fizzie> > let pointlessTakeIn = flip ((.) . takeWhile) . dropWhile . (not .) in pointlessTakeIn (>1991) (<2000) [1..]
07:20:36 <lambdabot> [1992,1993,1994,1995,1996,1997,1998,1999]
07:20:55 <fizzie> @pl -- it always improves things. No exceptions.
07:20:56 <lambdabot> (line 1, column 1):
07:20:56 <lambdabot> unexpected "-"
07:20:56 <lambdabot> expecting white space, "()", natural, identifier, lambda abstraction or expression
07:21:03 <fizzie> lambdabot: Stop being so literal.
07:21:36 <CakeProphet> and then if you delete a function in the list you can optionall delete all functions that reference it.
07:21:43 <CakeProphet> list functions that reference other functions, etc.
07:21:45 <CakeProphet> so you can manage the list.
07:22:16 <CakeProphet> written in Perl, of course. :P
07:22:35 <fizzie> How persistent is that persistence anyway?
07:24:10 <CakeProphet> lambdabots? I assume until you undefine everything.
07:24:38 <CakeProphet> I believe it literally just writes the function definitions to a file that it imports when evaluating code.
07:24:45 <CakeProphet> :t takeWithin
07:24:46 <lambdabot> forall a. (a -> Bool) -> (a -> Bool) -> [a] -> [a]
07:25:35 <CakeProphet> though maybe I'm wrong. Maybe it constructs a huge let expression or something. :P
07:25:58 <fizzie> I was just wondering if it collects years of cruft there in the definitions.
07:26:09 <CakeProphet> no because the only way to remove definitions is to remove them all.
07:26:20 <CakeProphet> so it gets cleared often as people redefine things.
07:26:50 <CakeProphet> Cakebot on the other hand...
07:27:04 <CakeProphet> will surely develop years of cruft.
07:27:12 <fizzie> Well, yes, fungot's command-list collects all kinds of nonsense too, and it's not even sorted.
07:27:14 <fizzie> ^show
07:27:15 <fungot> fizzie: mr president, along with other victims. in fact, true. as i announced during the debate but i fear that the expansion that has been tabled. in drafting programmes aimed at the promotion of renewable energy sources for the financing of such assistance from within these budget headings, are another component in achieving viability. a mechanism is constructed to deal with, and, in particular, which usually have neither the
07:27:15 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate
07:27:22 <fizzie> "in fact, true."
07:27:55 <CakeProphet> fungot fun
07:27:56 <fungot> CakeProphet: i rise to speak on culture for once.
07:28:17 <CakeProphet> fungot fun
07:28:18 <fungot> CakeProphet: i thank the president-in-office for his response. indeed, in law. we feel that there is a common goal to build an antiterrorist europe!
07:28:25 <fizzie> ^choo choo goes the train
07:28:25 <fungot> choo goes the train hoo goes the train oo goes the train o goes the train goes the train goes the train oes the train es the train s the train the train the train he train e train train train rain ain in ...
07:28:55 -!- Vorpal has quit (Ping timeout: 245 seconds).
07:28:56 <CakeProphet> > join . tails $ "choo choo goes the train "
07:28:58 <lambdabot> "choo choo goes the train hoo choo goes the train oo choo goes the train o ...
07:29:08 <fizzie> ^show choo
07:29:09 <fungot> >,[>,]+32[<]>[[.>]<[<]>[-]>]
07:29:11 <CakeProphet> > join . tails $ "choo goes the train "
07:29:12 <lambdabot> "choo goes the train hoo goes the train oo goes the train o goes the train ...
07:29:39 <fizzie> ^cho does the same without the space
07:29:39 <fungot> does the same without the spaceoes the same without the spacees the same without the spaces the same without the space the same without the spacethe same without the spacehe same without the spacee same with ...
07:30:01 <fizzie> ^cho fblofblo
07:30:01 <fungot> fblofbloblofblolofbloofblofblobloloo
07:31:11 <CakeProphet> > join . tails $ "Does the same without the space"
07:31:13 <lambdabot> "Does the same without the spaceoes the same without the spacees the same w...
07:31:50 <CakeProphet> > join . unwords . join . tails . words $ "Does the same without the space"
07:31:51 <lambdabot> Couldn't match expected type `[a]'
07:31:51 <lambdabot> against inferred type `GHC.Types...
07:31:59 <CakeProphet> > unwords . join . tails . words $ "Does the same without the space"
07:32:01 <lambdabot> "Does the same without the space the same without the space same without th...
07:32:24 <CakeProphet> > unwords . join . tails . words $ "Do you believe in magic?"
07:32:26 <lambdabot> "Do you believe in magic? you believe in magic? believe in magic? in magic?...
07:33:12 <elliott> > join . inits $ "Do you believe in magic?"
07:33:13 <lambdabot> "DDoDo Do yDo yoDo youDo you Do you bDo you beDo you belDo you beliDo you b...
07:33:34 <elliott> > let f x = join (interleave (inits x) (tails x))
07:33:35 <lambdabot> not an expression: `let f x = join (interleave (inits x) (tails x))'
07:33:39 <elliott> > let f x = join (interleave (inits x) (tails x)) in f "Do you believe in magic?"
07:33:40 <lambdabot> "Do you believe in magic?Do you believe in magic?Do you believe in magic?Do...
07:33:46 <elliott> > let f x = join (interleave (tails x) (inits x)) in f "Do you believe in magic?"
07:33:46 <lambdabot> "Do you believe in magic?o you believe in magic?D you believe in magic?Doyo...
07:33:56 <elliott> > let f x = join (interleave (tails x) (inits x)) in drop 99 (f "Do you believe in magic?")
07:33:57 <lambdabot> "believe in magic?Do yu believe in magic?Do yo believe in magic?Do youbelie...
07:33:59 <elliott> > let f x = join (interleave (tails x) (inits x)) in drop 999 (f "Do you believe in magic?")
07:34:00 <lambdabot> ""
07:34:02 <elliott> darn :P
07:34:05 <CakeProphet> lol
07:34:30 <CakeProphet> unfortunately Cakebot will not be useful for defining general purpose programs
07:34:35 <CakeProphet> due to lambdabots short character limit.
07:36:03 -!- Vorpal has joined.
07:36:03 <CakeProphet> elliott: that's not pointfree enough btw
07:36:05 <CakeProphet> I'm ashamed.
07:36:37 <elliott> ?pl \x -> f (g x) (h x)
07:36:37 <lambdabot> liftM2 f g h
07:37:09 <elliott> :t join . interleave <$> tails <*> inits
07:37:10 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
07:37:10 <lambdabot> Probable cause: `interleave' is applied to too few arguments
07:37:10 <lambdabot> In the second argument of `(.)', namely `interleave'
07:37:14 <elliott> :t join . (interleave <$> tails <*> inits)
07:37:14 <lambdabot> forall a. [a] -> [a]
07:37:17 <elliott> CakeProphet: happy
07:37:19 <elliott> ????
07:37:30 <CakeProphet> no I will never be satisfied.
07:37:33 <CakeProphet> son I am disappoint.
07:37:36 <zzo38> This seems to work: unwords x = tail (x >>= (' ':))
07:38:15 <CakeProphet> sure does.
07:38:17 <zzo38> This also seems to work: unwords = tail . (>>= (' ':))
07:38:46 <elliott> tail is badde,
07:38:49 <elliott> unwords = intersperse " "
07:38:56 <elliott> > intersperse " " ["a","b"]
07:38:57 <lambdabot> ["a"," ","b"]
07:38:58 <monqy> intercalate you mean?
07:39:04 <elliott> no
07:39:05 <monqy> o
07:39:06 <monqy> h
07:39:06 <elliott> :t intercalate
07:39:07 <lambdabot> forall a. [a] -> [[a]] -> [a]
07:39:13 <elliott> oh hmm
07:39:16 <monqy> i was thinking of something else ,maybe?
07:39:17 <elliott> > intercalate " " ["a","b"]
07:39:17 <lambdabot> "a b"
07:39:19 <elliott> right
07:39:21 <elliott> intercalate
07:39:22 <elliott> ?src intercalate
07:39:23 <lambdabot> intercalate xs xss = concat (intersperse xs xss)
07:39:26 <elliott> ?src intersperse
07:39:26 <lambdabot> intersperse _ [] = []
07:39:27 <lambdabot> intersperse _ [x] = [x]
07:39:27 <lambdabot> intersperse sep (x:xs) = x : sep : intersperse sep xs
07:39:33 <CakeProphet> same as join . intersperse
07:39:39 <elliott> no
07:39:41 <elliott> .:
07:39:41 <monqy> no
07:39:45 <monqy> yes
07:39:51 <elliott> ?pl fix (\f sep (x:xs) -> x : sep : f sep xs)
07:39:51 <lambdabot> fix (flip flip tail . (ap .) . flip flip head . (((.) . flip ((.) . (:))) .) . liftM2 (.) (:))
07:39:54 <CakeProphet> join is concat for list yes?
07:40:02 <elliott> learn composition
07:40:05 <monqy> :t join . intersperse
07:40:05 <lambdabot> Couldn't match expected type `[a] -> a' against inferred type `[a]'
07:40:06 <lambdabot> Probable cause: `intersperse' is applied to too many arguments
07:40:06 <lambdabot> In the second argument of `(.)', namely `intersperse'
07:40:10 <monqy> - cakeprohpet
07:40:22 <elliott> ?pl fix (\f sep xs -> if null xs then [] else if null (tail xs) then xs else head x : sep : f sep (tail xs))
07:40:22 <lambdabot> fix (((ap (flip if' [] . null) . ap (if' =<< null . tail) . ((head x :) .)) .) . liftM2 (.) (:) . flip flip tail . ((.) .))
07:40:26 <elliott> beautiful :')
07:40:30 <CakeProphet> right. (join .).intersperse then?
07:40:44 <monqy> PUT SPACES AROUND YOUR OPERATORS
07:40:47 <monqy> especially .
07:40:59 <CakeProphet> nope
07:41:08 <CakeProphet> space fascism. I refuse.
07:41:34 <elliott> join .: intersperse
07:41:46 <CakeProphet> :t .:
07:41:46 <lambdabot> parse error on input `.:'
07:41:48 <CakeProphet> :t (.:)
07:41:49 <lambdabot> forall a b (f :: * -> *) (g :: * -> *). (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
07:42:04 <monqy> > :t (Control.Monad.join Prelude..)Prelude..Data.List.intersperse
07:42:05 <lambdabot> <no location info>: parse error on input `:'
07:42:06 <monqy> oops
07:42:09 <CakeProphet> ah yes
07:42:13 <monqy> :t (Control.Monad.join Prelude..)Prelude..Data.List.intersperse
07:42:14 <lambdabot> forall a. [a] -> [[a]] -> [a]
07:42:57 <CakeProphet> beautiful.
07:44:03 <monqy> > Just.unwords$["youre","a","bad"]
07:44:03 <lambdabot> Not in scope: `Just.unwords'
07:44:12 <monqy> take that, cake prophet
07:44:18 <CakeProphet> oh snap.
07:44:47 -!- FireFly has quit (Quit: FireFly).
07:44:48 <monqy> Just .unwords
07:44:50 <CakeProphet>
07:45:06 <CakeProphet> this is how much I care about that.
07:45:12 <CakeProphet> ^^^
07:45:14 <CakeProphet> do you see?
07:45:15 <monqy> > Just. unwords$["youre","a","bad"]
07:45:16 <lambdabot> Just "youre a bad"
07:45:36 <monqy> youre just a bad
07:46:18 <CakeProphet> hey you know what I would do if that happened?
07:46:27 <monqy> repent
07:46:30 <CakeProphet> put spaces somewhere.
07:46:32 <monqy> repent
07:46:32 <CakeProphet> and recompile.
07:46:34 <monqy> repent
07:46:35 * elliott punches CakeProphet
07:46:37 * elliott punches CakeProphet
07:46:38 * elliott punches CakeProphet
07:46:38 * elliott punches CakeProphet
07:47:01 <CakeProphet> it's not like I don't use spaces ever.
07:47:06 <CakeProphet> I don't know where you go this idea.
07:47:10 <CakeProphet> *got
07:47:13 <elliott> you are like zzo wanting thecompielr to disambiguate your types
07:47:16 <elliott> its not natural
07:47:27 <elliott> ur a SICK HASKEL FETISHIST
07:47:57 <monqy> > fix cakeprophet
07:47:57 <CakeProphet> I'm not sure this is the same thing, but okay.
07:47:58 <lambdabot> Not in scope: `cakeprophet'
07:48:03 <monqy> r.i.p.
07:48:13 <elliott> it wont fix
07:48:59 <CakeProphet> but I guess I could there be a module called Just and a function in it called unwords and it could have the exact same time and not do the same thing.
07:49:23 * elliott punches CakeProphet
07:49:24 <elliott> repent
07:49:29 <CakeProphet> so maybe I will put spaces in composition operations that begin with a titlecase word.
07:49:33 <CakeProphet> maybe this is a good idea.
07:49:38 <elliott> repent
07:49:42 <elliott> repent
07:49:42 <elliott> repent
07:49:44 <elliott> monqy: repent
07:49:46 <elliott> fix CakeProphet
07:49:46 <monqy> repent
07:50:18 * CakeProphet needs a prescription
07:50:24 <CakeProphet> are you guys prescriptivists?
07:50:30 * elliott punches CakeProphet
07:51:46 <CakeProphet> if(cond){code}
07:51:54 <CakeProphet> how does that lack of spaces make you feel?
07:52:04 <monqy> > fix$\x->"repent "++x
07:52:05 <lambdabot> <no location info>: parse error on input `->'
07:52:10 <monqy> THIS IS HOW IT MAKES ME FEEL
07:52:14 <CakeProphet> did you know that when I see if ( cond ) { code }
07:52:20 <CakeProphet> I want to kill people?
07:52:28 <elliott> repent
07:52:31 -!- Taneb has joined.
07:52:31 <CakeProphet> I am spacephobic.
07:52:35 <elliott> repent
07:52:37 <elliott> repent
07:52:38 <elliott> repent
07:52:42 <Taneb> Morning
07:52:44 <elliott> Taneb: repent him
07:52:46 <CakeProphet> the emptiness scares me.
07:52:47 <CakeProphet> it is a void.
07:52:58 <CakeProphet> wanting to be filled in by useful characters.
07:53:03 <monqy> repent
07:53:05 <Taneb> And yet without space there would be nothing
07:53:07 <elliott> repent
07:53:17 <monqy> repent the new help?????
07:53:25 <monqy> cakeprophet this is your fault
07:53:26 <CakeProphet> the new?
07:53:31 <Taneb> Space is potentia
07:53:37 <elliott> im potent
07:53:43 <Taneb> Space is oppurtunity
07:53:50 <Taneb> I'm totipotent
07:53:51 <monqy> im opportun
07:54:13 <Taneb> Space is full of the yet to be
07:54:14 <CakeProphet> I've got mad non-space skills
07:54:20 <monqy> cakeprophethowdoyoufeelaboutyourself
07:54:31 <monqy> remoreseful?????youmeanie
07:54:41 <monqy> isthiswhatyouwanted???
07:54:51 <monqy> this reminds me about earlier today
07:54:59 <monqy> or was it yesterday
07:55:14 <monqy> looks like it may have been yesterday
07:55:24 <monqy> depending on what a day is
07:55:27 <CakeProphet> still today for me.
07:55:30 <CakeProphet> in terms of sleeping.
07:55:33 <monqy> and how yesterday relates to that
07:56:07 <monqy> they're common in that cakeprophet is always wrong about spaces
07:56:15 <monqy> always
07:58:35 <CakeProphet> http://pastebin.com/mHxjQZiZ
07:58:39 <CakeProphet> but see this code?
07:58:41 <CakeProphet> it's beautiful.
07:58:48 <CakeProphet> actually I took out 2 spaces that were not necessary
07:58:51 <CakeProphet> just to spite you.
07:59:12 <monqy> too many newlines
07:59:27 <CakeProphet> no newlines can stay.
07:59:34 <CakeProphet> they are magic spaces.
07:59:36 <monqy> correct; no newlines can stay.
07:59:42 <olsner> > fix ("repent "++)
07:59:43 <lambdabot> "repent repent repent repent repent repent repent repent repent repent repe...
08:00:14 <olsner> monqy: easier to get right pointlessly
08:00:17 <CakeProphet> monqy: can you read that code?
08:00:38 <monqy> olsner: I know; the syntax error was the whole point
08:00:42 <monqy> CakeProphet: would you like me to bother?
08:00:47 <olsner> monqy: Right.
08:01:01 <CakeProphet> monqy: yes it would please me.
08:01:09 <CakeProphet> if you could read it and how beautiful it is.
08:01:37 <CakeProphet> but you are bad at Perl so I don't think you could.
08:05:33 <monqy> I think I was able to get the first seven lines? I tried the ninth but I don't know what / and <=> are so I couldn't do it
08:06:06 <CakeProphet> is division. <=> is numeric cmp
08:06:11 <CakeProphet> .. /
08:06:56 <Taneb> I'm making a Suffolk implementation
08:07:18 <Taneb> Because I can
08:07:42 <monqy> i dunno what $b and $a are I can't find their assignments :(
08:07:49 <CakeProphet> you are going to hate this...
08:07:57 <CakeProphet> they are magical variables used specifically in sort
08:08:02 <monqy> ewwwwwwww
08:08:03 <CakeProphet> they are found nowhere else in Perl's semantics.
08:08:37 <CakeProphet> well actually they're not magical you could implement sort yourself with prototypes and dynamic scoping.
08:09:42 <monqy> ok i think i might have figured it out
08:10:05 <monqy> it prints all the frequencies of all the nonalphabetic characters in the input, sorted by what character it is
08:10:14 <monqy> I dunno if $_ gets interpolated in "$_: "
08:10:19 <CakeProphet> yes it does.
08:10:27 <CakeProphet> $_ is the loop variable.
08:10:37 <CakeProphet> and any string with "" is interpolated.
08:10:54 <monqy> so the : doesn't get interpreted as part of it then
08:10:56 <monqy> ok
08:11:05 <CakeProphet> yes it's magical.
08:11:25 <CakeProphet> also I could do "$_: @{[$w($_)/$t]}"
08:11:31 <CakeProphet> if I were feeling especially cheeky.
08:12:19 <monqy> is there reason not to? it's perl after all; obfuscation's the point
08:12:37 <CakeProphet> well it's just more convenient to concat in this case.
08:12:57 <Taneb> Is obfuscated ORK code possible?
08:13:42 <CakeProphet> Perl is about doing as much in one line as possible, I guess. not necessarily obfuscating anything.
08:13:52 <monqy> it's obfuscation to me
08:14:10 <Taneb> It's being shiy and rond to me
08:14:15 <Taneb> Also whie
08:14:23 <monqy> one line isn't ambitious enough
08:15:16 <CakeProphet> monqy: what makes you think I would try to obfuscate. I even took the time to import sum. :P
08:15:34 <Taneb> I had an idea for an esolang, but it turned out to just be HQ9+ exaggerated extremely much
08:15:34 <CakeProphet> that could have been done in one line without that extra import line.
08:15:55 <monqy> Taneb: exaggerated in which direction
08:16:00 <Taneb> Upwards
08:16:04 <Taneb> And outwards
08:16:11 <CakeProphet> all around ways?
08:16:16 <Taneb> Entire unicode range
08:16:26 <CakeProphet> oh my.
08:16:45 <CakeProphet> who would write all of the programs
08:16:55 <CakeProphet> also it would be awesome for golfing if it actually did stuff that was TC.
08:17:02 <Taneb> People with lots of time and nothing to do
08:17:07 <monqy> CakeProphet: what
08:17:19 <CakeProphet> excuse me, if it was a turing complete language.
08:17:23 <CakeProphet> it would be good for golfing.
08:17:40 <monqy> sometime I should try golfing with J
08:17:44 <elliott> sg
08:17:44 <elliott> sg
08:17:44 <elliott> sg
08:17:44 <elliott> sgs
08:17:45 <elliott> gsgsgsgsgsg
08:17:47 <monqy> hi elliott
08:17:53 <elliott> hi
08:17:54 <elliott> hiii
08:17:56 <monqy> is flogscript good
08:17:59 <elliott> scapgegoats all along the ploo
08:18:07 <elliott> its golfscript but zzo
08:18:10 <monqy> one time I wanted to see if I could learn it but I didn't have enough dedication
08:18:16 <monqy> to look through the interpreter
08:18:22 <monqy> written in php was it
08:18:26 <elliott> zzo
08:18:27 <monqy> to figure out how it works
08:18:31 <monqy> because there's no documentation
08:18:41 <elliott> man i don't have darcs installed this is a tarvarvesvty
08:19:10 <CakeProphet> `run man man
08:19:15 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
08:19:19 <monqy> oh no
08:19:42 <elliott> friends
08:19:44 <elliott> friends always
08:19:46 <elliott> freidns oh my
08:19:46 <CakeProphet> `run man touch
08:19:48 <elliott> friends always
08:19:49 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
08:19:52 <elliott> friends
08:19:58 <elliott> F R I E ND S
08:20:01 <elliott> always
08:20:05 <zzo38> The only documentation of FlogScript is in Japanese and is incomplete.
08:20:17 <elliott> Trendsetting through cell phones is the most popular practice, especially among teenagers. As the iPhone 4 craze remains and grows, so does the demand for trendy and defensive cases for iPhones.iPhone 4 Cases
08:20:36 <CakeProphet> ..
08:20:41 <CakeProphet> elliott's lost his marbles.
08:20:51 <elliott> As the iPhone 4 craze remains and grows, so does the demand for trendy and defensive cases for iPhones.iPhone 4 Cases
08:21:00 <CakeProphet> `run find / -name marbles
08:21:20 <HackEgo> find: `/proc/tty/driver': Permission denied \ find: `/proc/1/task/1/fd': Permission denied \ find: `/proc/1/task/1/fdinfo': Permission denied \ find: `/proc/1/task/1/ns': Permission denied \ find: `/proc/1/fd': Permission denied \ find: `/proc/1/fdinfo': Permission denied \ find: `/proc/1/ns': Permission denied \ find: `/proc/2/task/2/fd':
08:21:21 <elliott> monqy: there is... a language... i want... to learn.....iPhone 4 Cases
08:21:28 <monqy> me too
08:21:34 <elliott> which language.iPhone 4 Case
08:21:35 <zid> 2>/dev/null
08:21:36 <elliott> s
08:21:40 <CakeProphet> elliott: learn Perl.
08:21:42 <CakeProphet> L3
08:21:46 <monqy> l3
08:21:57 <elliott> iPhone 4 Cases
08:22:05 <CakeProphet> elliott: actually learn uh... io
08:22:12 <monqy> which io
08:22:15 <elliott> I used Io but it's terrible
08:22:16 <CakeProphet> or maybe you already know it. is it dead yet?
08:22:18 <elliott> especially the docs
08:22:18 <monqy> there are multiple languages called io
08:22:23 <elliott> and also the guy behind it
08:22:26 <elliott> :P
08:22:52 <elliott> monqy: do you want to know what... ALGNAGNUAE i want to lerne
08:22:58 <Taneb> Does anyone have a sample Suffolk program to test my interpreter?
08:23:04 -!- Zuu has quit (Read error: Connection reset by peer).
08:23:16 <elliott> probably not unless there is be ones on the suffolk page on wiki
08:23:30 <CakeProphet> perhaps you want to learn about bugsophia which is my currently completely undocumented and unimplemented concurrent wire-based fungeoid thing that I never finished.
08:23:33 <CakeProphet> you should finish it.
08:23:39 <elliott> i read abotu that in the logs
08:23:40 <elliott> it probably sucks
08:23:41 <monqy> elliott: is it iphone four cases
08:23:48 <elliott> monqy: no thats my spirit animal
08:23:54 <monqy> oh
08:24:03 <CakeProphet> elliott: but it's awesome because every thread holds exactly one character.
08:24:26 <CakeProphet> so for example the hello world thread would spawn as many threads as there are characters to print... unless you just used one thread to print them all.
08:24:42 <monqy> i want to learn my name is johny what the f**k
08:25:04 <CakeProphet> the main problem is figuring out 1) order of execution, round robin or to just use OS threads 2) coordinating threads to compute multi-argument operations.
08:25:17 <CakeProphet> s/hello world thread/ hello world program
08:25:26 <elliott> sounds exactly like a CA
08:25:46 <CakeProphet> maybe.
08:25:55 <CakeProphet> I'm sure it could be modelled like that but the program surface stays the same.
08:26:04 <CakeProphet> only the bugs move around.
08:26:25 <elliott> monqy will never ask me what language i want to learn ... . . . . .c r y i n g
08:26:26 <CakeProphet> BUT FINE THAT'S BORING I GUESS GO MAKE YOUR OWN ESOLANG.
08:27:22 <monqy> elliott: what lagnauge..
08:27:25 -!- Zuu has joined.
08:28:05 <elliott> monqy: MERCURY it is like prolog but strongly typed and higher-order without "cut" or any impure operations?? and it has inspiration from haskell?? and it uses lienar types to do IO
08:28:18 <elliott> and it apparently has really good optimisation somehow.............
08:28:24 <monqy> one time i wanted to learn mercury but then i forgot to do that???
08:28:26 <elliott> im... gonna learn
08:28:28 <elliott> it
08:29:12 <CakeProphet> elliott: in fact I think I will finish bugsophia
08:29:14 <monqy> is maude any good one time i looked at it but the thing i used to try learn it was really boring so i gave up
08:29:15 <CakeProphet> and perhaps add onto it .
08:29:31 <elliott> monqy: ive never hear dof maud ehelp?
08:29:48 <elliott> CakeProphet: what was that TOTES STUPID os, sophia?
08:29:51 <elliott> im logread a lot
08:30:01 <CakeProphet> uh abrasax or something.
08:30:06 <CakeProphet> was the name we settled on.
08:30:18 <CakeProphet> I like to forget things I've done in the past. :P
08:30:34 <elliott> you were stupid in the past, also the present, but we all have our flaws,
08:30:34 <monqy> http://maude.cs.uiuc.edu/ maude has a good web site
08:30:42 <elliott> racing car
08:30:48 <elliott> japanese tmempemple
08:30:49 * CakeProphet is like Karkat in that he hates his past selves.
08:30:50 <elliott> maude
08:30:56 <elliott> maddeueue
08:30:58 <elliott> maeudihea
08:30:59 <elliott> maeuihfrgjdf
08:31:00 <elliott> mdskgnfj
08:31:29 <elliott> monqy: i think the maude time
08:31:31 <elliott> when designing their website
08:31:33 <elliott> drunk a bit too much
08:31:34 <elliott> ...
08:31:36 <elliott> urbana-champaign
08:31:40 <elliott> :DDDdjddpasodlk
08:31:47 <monqy> what help
08:32:31 <elliott> because
08:32:31 <elliott> its from
08:32:34 <elliott> the university of illinois
08:32:36 <elliott> at urbana-champaign
08:32:37 <elliott> and
08:32:38 <elliott> champaignej
08:32:40 <elliott> is a drunk
08:32:43 <monqy> champaign
08:32:59 <elliott> champaignej
08:33:04 <monqy> i did not see the ubana-chanmabitehge singe,
08:33:08 <monqy> but there itis
08:33:09 <monqy> wow
08:33:11 <CakeProphet> elliott: also the idea was to have a declarative language to specify properties of streams. so that they could be connected to network devices, files, etc.
08:33:30 <elliott> CakeProphet: for what
08:33:32 <elliott> sopgjophajai
08:33:51 <CakeProphet> for... good IO capabilities.
08:33:58 <CakeProphet> oh. bugsophia still.
08:34:10 <elliott> i thought it was abiotbarbaisotsax
08:34:14 <CakeProphet> ...no
08:34:19 <elliott> that sounded more , interesting,
08:34:25 <elliott> for that,
08:34:29 <elliott> declarerjiowejtiwtvie dreams
08:34:48 <CakeProphet> I believe I had specified a range of characters for each kind of stream.
08:34:54 <CakeProphet> most of them were runic scripts I believe.
08:35:15 <elliott> drundric skulptures
08:35:20 <elliott> shits dot come,
08:35:22 <elliott> dot com
08:35:24 <elliott> friends
08:35:24 <elliott> hi
08:35:59 <CakeProphet> stan, which is reserved for stdio, is in the Ogham alphabet, but I can't recall what it was reserved for.
08:36:12 <CakeProphet> things like stdio? I guess I could have multiple input streams instead of just the one .
08:36:30 <monqy> hi stan
08:36:56 <CakeProphet> er no not Ogham
08:36:59 <monqy> ogham
08:37:02 <elliott> im ogham
08:37:04 <elliott> stogham
08:38:01 <monqy> ok how to learn mercury...
08:38:22 <elliott> monqy: by, cmomomommbobulacompiling the compiler first?
08:38:22 <CakeProphet> ah it's anglo-saxon
08:38:24 <elliott> its, not in buntus
08:38:32 -!- cchackermirc has quit.
08:38:43 <elliott> melbourne mercury..... it is made by savages in uastortjiosoauraliala
08:38:52 <elliott> GCC version 3.4.x or later is required.
08:38:52 <elliott> GCC 4.0 will NOT work. It has bugs that cause internal compiler errors when compiling the C code generated by the Mercury compiler.
08:38:54 <elliott> monqy: help
08:38:58 <monqy> help
08:39:16 <elliott> help no gcc three in repos help
08:39:20 <elliott> he,pl
08:39:25 <elliott> monqy: we... must build gucck
08:39:30 <elliott> im find gcc
08:39:30 <CakeProphet> so the fuþorc alphabet could be reserved for... what is something I could lump into a category with stdio.
08:39:54 <elliott> monqy: ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-3.4.6/gcc-core-3.4.6.tar.bz2
08:39:55 <elliott> we download, together
08:40:22 -!- zzo38 has quit (Remote host closed the connection).
08:40:50 <elliott> monqy: ok now we unpack... (ar eyou downloadied)
08:40:53 <monqy> my gcc is 4.6.1?? maybe it will work..??
08:40:57 <elliott> no
08:41:13 <elliott> gcc four has a lot of bugs so I'm not surprised
08:41:24 <elliott> elliott@katia:~/gcc-3.4.6$ ./configure --program-suffix=3
08:41:27 <elliott> this will make everything beautiful........
08:41:31 <CakeProphet> gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
08:41:32 <CakeProphet> weeeee
08:41:36 <elliott> then you just must am make
08:41:40 <elliott> monqy: it will be, esy
08:41:47 <elliott> yay mit is compilingst
08:41:56 <elliott> compiling gcc three is actually pretty easy, it's quite small
08:42:51 <CakeProphet> perhaps I should not break runes into types and just allow any runes to be designated for any type of IO.
08:42:57 <elliott> monqy: is it, work
08:43:02 -!- jix has quit (Read error: Connection reset by peer).
08:43:09 <monqy> i'm tryign ad....ifferent way
08:43:13 <elliott> monqy: what way
08:43:15 <monqy> ad verture
08:43:33 <elliott> monqy: are you trying it with gcc four, because that's just stupid, they've said directly it won't work and you need an earlier version, and that text is from this year
08:43:44 <elliott> compiling gcc three only takes like ten minutes anyway
08:43:50 <elliott> and it installs cleanly over four with that suffix option
08:44:46 <CakeProphet>
08:44:48 <monqy> are you..s,..,,,ure
08:44:54 <elliott> monqy: sure about what
08:44:55 <monqy> because 0 is idffernet than 6
08:45:34 <CakeProphet> ᚛ ᚅ ᚜
08:45:44 <elliott> monqy: it's pretty obvious what they mean
08:45:52 <monqy> not to ,me
08:46:43 <CakeProphet> monqy: elliott is bad at explaining things in that he doesn't.
08:47:03 <CakeProphet> ᚘ picnic table
08:47:58 <elliott> hol yshit australian servers are slow
08:48:07 <monqy> oh no so much warnings
08:48:17 <CakeProphet> speed of light is slow
08:48:17 <elliott> monqy: what
08:49:04 <monqy> solutions.c:319:1: warning: ‘mercury__f_115_111_108_117_116_105_111_110_115_95_95_108_105_115_116_95_95_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_108_95_95_104_111_49_50_95_95_91_49_44_32_50_44_32_52_44_32_53_44_32_54_93_95_48_4_0’ used but never defined [enabled by default]
08:49:10 <monqy> that times a billion
08:49:17 <monqy> is my warnings
08:49:24 <elliott> are you using clang
08:49:27 <elliott> that looks like a clang warning
08:49:29 <monqy> should i using clang
08:49:42 <monqy> because i think this is gcC? maybE??
08:50:04 <monqy> oh wait i don;'t even know what this is
08:50:17 <monqy> it says it's ../scripts/mgnuc but wHAT SIt hat
08:52:48 <CakeProphet> elliott: I think bugsophia would be more like a bully automaton
08:53:08 <Taneb> Right, I am beginning the definition of my golf language
08:53:13 <Taneb> Called Uniquode
08:53:21 <CakeProphet> though it is kind of vapor at this point, so who's to say.
08:53:32 <monqy> Taneb: ok
08:53:39 <Taneb> It is going to have so many crazy features!
08:53:42 <monqy> ok
08:53:53 <CakeProphet> Taneb: sounds pretty tedious to write
08:53:56 <Taneb> Instead of first class anything, all values are in a caste
08:54:16 <Taneb> There's a macrostack and a function queue
08:54:17 <monqy> i misread caste as castle and got excited
08:54:47 <Taneb> I'll put the arabian characters in a castle
08:54:48 <Taneb> :)
08:55:35 <monqy> cakeprophet stemming from the previous discussion about spaces and fitting things into single lines, do you know J you might like it
08:56:00 <CakeProphet> I've heard of it but do not know much about it.
08:56:04 <CakeProphet> I'm pretty sure I would like it yes.
08:56:28 <monqy> it's nifty but I don't know it well enough to do anything fancy
08:56:52 <CakeProphet> I will have to learn it sometime.
08:57:44 <Taneb> dimensionality is so too a word!
08:57:56 <monqy> these warnings never stop
08:58:12 <elliott> monqy learns the value of listening to warning label
08:58:12 <elliott> s
08:58:19 <CakeProphet> I am thinking about multiprogramming
08:58:28 <CakeProphet> except not befunge.
08:58:37 <monqy> i hope this compiliations stops soon
08:58:49 -!- Zuu has quit (Ping timeout: 260 seconds).
08:58:53 <monqy> so i can see how badly it doesnt'w ork
08:58:55 <CakeProphet> so you have the same code being evaluated by possibly different interpreters. Like dupdog but not as a stupid.
08:59:50 <monqy> it's on t
09:00:00 <monqy> oh wait no new directory
09:00:01 <monqy> it's on m
09:00:05 <monqy> er
09:00:06 <monqy> d
09:00:07 <monqy> g
09:00:09 <monqy> o
09:00:10 <elliott> <elliott> monqy learns the value of listening to warning label
09:00:10 <elliott> <elliott> s
09:00:11 <monqy> p
09:00:21 <monqy> d
09:00:24 <monqy> i
09:00:25 <monqy> m
09:00:42 <monqy> when will it end
09:00:53 <elliott> when it breaks
09:01:15 <CakeProphet> so, hmmmm
09:01:32 <monqy> i think it finished compiling
09:01:35 <Taneb> Doubles will be stored in heaps, which are stored in arrays, which are stored in queues, which are stored in a stack
09:01:45 <elliott> monqy: enjoy broken
09:02:20 <monqy> so how's your compiell...
09:02:23 <Taneb> retro-active self-modification
09:02:46 <elliott> monqy: still downloading the tgz.
09:03:24 <monqy> wow is it really that slow
09:03:26 <monqy> did it stop
09:03:57 -!- Zuu has joined.
09:04:05 -!- Zuu has quit (Changing host).
09:04:05 -!- Zuu has joined.
09:04:20 <CakeProphet> hmmm I should perhaps update my user page on esowiki.
09:04:52 <monqy> my user page is good
09:05:22 <Taneb> Mine has a quote
09:05:51 <monqy> ugh what is it doing is it building the standard library orsomething
09:06:27 <elliott> configure: WARNING: Mercury compiler not yet installed -
09:06:27 <elliott> **** cannot use unboxed floats, bootstrapping using boxed floats
09:06:27 <elliott> **** after installation is complete you may want to reinstall
09:06:27 <elliott> **** from scratch so you can use unboxed floats, which are more
09:06:27 <elliott> **** efficient.
09:06:28 <elliott> **** NOTE: before reinstalling from scratch, ensure that the
09:06:29 <elliott> **** source tree is clean by running `make realclean'. Not doing
09:06:31 <elliott> **** this may result in a broken Mercury installation.
09:06:41 <CakeProphet> I wonder if I'll ever find my notes on stue.
09:06:52 <CakeProphet> I bet they are not good because it was my first attempt at an esolang.
09:07:08 <monqy> stue
09:07:20 <elliott> monqy: did you pay attention to the above
09:07:28 <monqy> i didnt; even see it
09:07:44 <monqy> maybe someone else pyade ayteention for me
09:08:09 <monqy> hnm , back to c compiling. and warnings. eveery wheere.
09:08:15 <monqy> whweeeeeeeeeeeee
09:09:55 * elliott is getting no warnings at all
09:10:22 <monqy> my install is going to be so broeken,.,,
09:10:22 <Taneb> What do you call the thing that runs about executing commands?
09:10:40 <monqy> waht sort of bugs could even CAUSE this>?
09:10:44 <elliott> Taneb: IP?
09:10:49 <CakeProphet> hmmm, it would seem that people have been reverting edits on my old wikipedia userpage
09:10:50 <elliott> monqy: using the wrong compiler?
09:10:54 <CakeProphet> under the mistaken pretense that it was vandalism.
09:11:01 <Taneb> elliott: yes, that's it. I generally call it the runner
09:11:21 <monqy> elliott: but what bugs make the compiler WROnge.
09:12:04 <elliott> monqy: none, you're going against established usage instructions
09:12:43 <monqy> i mean which buggs in gcc4 as noted in It has bugs that cause internal compiler errors
09:13:04 <elliott> gcc4 has tons of bugs
09:13:08 <monqy> :(
09:15:49 <zid> all gccs have tons of bugs :P
09:15:59 <zid> that's why you wait for a high second digit in the version
09:16:01 <monqy> how couldthis haPEn :_+;
09:16:23 <cheater> wat
09:16:29 <monqy> hi
09:17:30 <elliott> zid: or just switch compiler
09:18:08 <monqy> gcc "one true c compiler"
09:18:40 <zid> to one with a different set of bugs, presumably
09:18:53 <zid> not that it's even possible, most of the time
09:19:08 <elliott> I gather clang is significantly less buggy and it has great compatibility IME
09:19:15 <elliott> pcc probably has less bugs too apart from the C99 code which is rather immature
09:19:20 <zid> except it doesn't know half the gcc extensions
09:19:24 <elliott> Decades kinda do that
09:19:28 <zid> so you can't use it to compile hardly anything
09:19:28 <elliott> zid: It certainly knows half of htem
09:19:41 <zid> it doesn't know asm intrinsics, so you can't compile the kernel
09:19:44 <elliott> How outdated is your perception? clang compiles pretty much everything nowadays
09:19:52 <elliott> zid: clang has compiled a booting kernel months ago
09:19:57 <zid> yes, because they cheated
09:19:59 <zid> and took out all the asm
09:20:12 <elliott> Yes. They took out all the inline assembly from the kernel.
09:20:20 <elliott> This is a true thing and not delusional at all.
09:20:27 <zid> it's not exactly hard
09:20:34 <zid> there's like 20 things in arch/ that uses it
09:20:37 <zid> mostly locking
09:20:47 <elliott> clang doesn't support .code16gcc, but it supports inline assembly.
09:21:00 <elliott> I'm sceptical how much you know what you're talking about.
09:21:06 <zid> then this is fewer months than last time
09:21:11 <CakeProphet> I think the phrase 'ur dick smells like cheese' should be removed. I cannot do this, and user Fyrael has deleted my previous request. — Preceding unsigned comment added by ModusPwnd (talk • contribs) 18:30, 2 June 2011 (UTC)
09:21:16 <zid> a few different guys have posted to lkml that theyv'e done it
09:21:28 <zid> all said they removed a bunch of gnu extensions, and converted a lot of assembly
09:21:33 <elliott> Lessee, Wikipedia cites http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html, which just says
09:21:36 <elliott> * Boot - The very early kernel boot code breaks with clang, because of obscure
09:21:36 <elliott> inline assembly GNUtensions (.code16gcc stuff). I have no clue what needs to
09:21:36 <elliott> be done to fix this, but as I actually know where this problem is, it should
09:21:36 <elliott> be (relatively) easy to fix.
09:21:42 <elliott> .code16gcc is used, like, exactly once in the kernel.
09:21:59 <elliott> That was /a year ago/.
09:22:09 <zid> lemme try find one of the emails if I can
09:22:36 <elliott> Anyway, I don't know how much you've actually tried to build with clang, but it turns out that really obscure gcc extensions are not actually used very often.
09:22:37 <zid> gmail is suuper slow today, yay
09:23:21 <monqy> ugh will thjis compile ever finish or have bugs doomed it never to do so............
09:23:31 <elliott> monqy: Mine just finished compiling, with no warnings
09:23:41 <monqy> does it work
09:23:43 <elliott> Now installing
09:23:49 <monqy> oh ok
09:24:25 <monqy> I;m just afraid mine may have gotten sutck looping infintely
09:24:40 <monqy> i mean
09:24:42 <monqy> just a bit
09:24:43 <monqy> not just
09:24:48 <monqy> i am afarid of other thisngs too...
09:25:04 <CakeProphet> feels good man
09:25:08 <monqy> ghi
09:25:10 <zid> aha
09:25:13 <zid> http://llvm.org/bugs/show_bug.cgi?id=4068
09:25:28 <zid> 2522, 4072, 9248 etc are all still open
09:25:46 <elliott> I never said clang could build a totally unpatched kernel
09:25:54 <Taneb> Right, I've defined space, !, ", #, $, %, and &
09:26:08 <zid> oh, we stoped talking about this and we started being defensive instead? okay bye
09:26:13 <elliott> It's ludicrous to whine about .code16gcc not working which is a really obscure ridiculous thing used in one place in the kernel, and call it "removing all the assembly", when the ENTIRE REST of the kernel builds.
09:26:58 <zid> I'm the only person who has posted absolutely anything relevent other than "You don't seem to know a lot"
09:27:07 <zid> So either get off your high horse, or give me some documentation
09:27:17 <elliott> Documentation of what, exactly
09:27:27 <monqy> high horses
09:27:29 <elliott> I'm on no high horse, I just said your wording is hyperbolic
09:27:38 <zid> for example, the patch to the tree that gets it compiling under clang
09:27:49 <CakeProphet> my hair is like rainbow.
09:27:51 <zid> elliott: last time (several months ago, as you put it) someone posted saying they had compiled the kernel
09:27:55 <zid> they had said they had removed all the assembly
09:28:27 <zid> whether 'several' means 6+ or exactly 3, is probably your "omg it only doesn't support gcc16code u tard" hangup
09:28:30 <elliott> I take it that's just your memory and you don't have any actual link
09:28:38 <zid> I am the one actually posting links here
09:28:40 <elliott> You've provided a page with several patches that make the kernel build yourself, you're the one making claims
09:28:43 <zid> I made a good faith effort to check my emails
09:28:49 <zid> all you seem to want to do is troll me
09:29:07 <elliott> Yes, obviously I'm trolling
09:29:11 <monqy> obviously
09:29:11 <zid> agreed
09:29:18 <monqy> snickering
09:29:52 <elliott> The best kind of trolling is questioning people who call code16gcc and a few constraints "all the assembly"
09:29:55 <elliott> Gets them so mad, let me tell you
09:30:00 <zid> I can tell you again if you want
09:30:02 <zid> I never said that
09:30:04 <zid> you told me I said that
09:30:24 <zid> You *really* need to stop misrepresenting me, jsut because I told you what I remembered, then when to check my emails for you
09:30:47 <CakeProphet> monqy: hi
09:30:52 <monqy> CakeProphet: hi
09:31:01 <CakeProphet> what is it that makes me hueman?
09:31:09 <zid> CakeProphet: the colouring
09:31:32 <CakeProphet> so is it because I do not color that I have lost my humanity?
09:31:45 <CakeProphet> that I am a sh of a man.
09:31:48 <CakeProphet> man of a sh.
09:32:40 -!- CakeProphet has changed nick to Kallisti.
09:32:44 <monqy> hi
09:32:44 -!- Kallisti has changed nick to CakeProphet.
09:32:47 <monqy> hi
09:33:17 <CakeProphet> I will not rename yet.
09:34:32 <zid> CakeProphet: maybe you can be a LumMan if you can't handle being a Hueman?
09:34:48 <Taneb> What should / do...
09:34:51 <Taneb> HMMM
09:34:57 <CakeProphet> is the killer.
09:35:13 <CakeProphet> s'^'/'
09:35:54 <CakeProphet> it also makes trees. it is the creator and the destroyer.
09:36:22 <Taneb> Nah, the tree commands are in Latin Extended-2
09:36:54 <CakeProphet> trees are important for any flourishing ecosystem.
09:37:11 <elliott> /home/elliott/mercury-compiler-11.01/install_grade_dir.asm_fast.gc.debug/scripts/mgnuc --grade asm_fast.gc.debug -- -c tree_bitset.c -o tree_bitset.o
09:37:14 <elliott> these are good libraries to compile
09:37:38 <Taneb> Basic Latin is all IP commands
09:38:17 <CakeProphet> I think I will write an esolang soon.
09:38:20 <CakeProphet> I have much to do.
09:38:24 <monqy> will it be good
09:42:30 <monqy> elliott is mercury working for you...becuase mine is stuck in not finishing ever hell
09:42:41 <elliott> just compiling the stdlib
09:43:11 <monqy> just wait until you see things that already compiled...compile again
09:43:23 <monqy> you may be in hell too......
09:43:36 <elliott> monqy: yes, because this time it's PIC
09:43:49 <elliott> havingabasicunderstandingofthedifferentwaysthesamecodecanbecompiled.jpg
09:44:16 <monqy> descriptive file name there
09:44:32 <monqy> i wonder how many different ways they can compile this std lib
09:47:17 <monqy> and why
09:47:55 <Taneb> I think Uniquode may be turing-complete.
09:48:01 <Taneb> And I've only got up to 6
09:48:13 <monqy> hm?
09:48:15 <Taneb> And all the commands so far are about the IPs and nothing else
09:48:31 <Taneb> Uniquode is the esolang I'm working on atm
09:48:39 <monqy> yes i know but
09:48:41 <monqy> what's the 6
09:48:50 <monqy> the 6 comands or whatever it is
09:48:53 <Taneb> The 6 charactrer
09:49:00 <monqy> oh
09:49:12 <monqy> how many is that, then
09:49:24 <monqy> and do they have good definitions
09:49:29 <Taneb> 23, and ish
09:49:36 <Taneb> I need to elaborate some
09:49:48 <Taneb> There're two no-ops
09:49:58 <monqy> two?
09:50:06 <Taneb> three-tick and one-tick
09:50:11 <monqy> why
09:50:28 <Taneb> Because I've got milliions of characters to assign a function to
09:50:31 <monqy> :(
09:51:10 <Taneb> And it could come in handy
09:51:15 <Taneb> There are multiple IPs
09:51:24 <Taneb> Which can breed
09:53:15 <Taneb> In very specific circumstances
09:53:43 <monqy> good luck keeping your langauge anything near elegant
09:54:08 <Taneb> And all of the IPs have an internal register which may be irrational
09:54:59 <monqy> it sounds like it might be interesting as-is; adding all of unicode would rpobably ruin it a bunch :(
09:55:22 <monqy> a gimmick or a deathwish
09:55:34 <Taneb> I'll never get all of unicode done
09:55:49 <Taneb> I'll save the page now so you can look at it
09:56:14 <Taneb> http://esoteric.voxelperfect.net/wiki/Uniquode
09:56:32 <elliott> http://esolangs.org/wiki/UniCode
09:56:36 <elliott> waaaaay ahead of you
09:56:39 <CakeProphet> I love breeding internet protocols.
09:56:49 <elliott> im bread protocol
09:57:12 <monqy> 2008
09:57:37 <CakeProphet> so will the stan represent a stone?
09:57:44 <CakeProphet> since that is what the stan represents.
09:57:46 <monqy> poor stan
09:57:56 <CakeProphet> perhaps you could have a homespringesque subset
09:58:04 <elliott> honfeoiboiwbgiergjperojgpejgpjpsirng
09:58:09 <Taneb> elliott, I declare a friendly rivalry between Uniquode and UniCode
09:58:13 <CakeProphet> with the runic/japanese/chinese characters representing their representations.
09:59:02 <monqy> "Retroactive self-modification" feather?
09:59:14 <Taneb> feather?
09:59:18 <CakeProphet> the feather gives you the cape.
09:59:18 <monqy> feather?
09:59:21 <CakeProphet> which lets you fly.
09:59:38 <CakeProphet> unless you already have a super power and then it is stored in the blue box.
09:59:46 <CakeProphet> for when you get hit by monsters.
09:59:49 <CakeProphet> it will drop out.
10:00:03 -!- azaq23 has joined.
10:00:13 <elliott> Taneb: good luck implementing feather
10:00:51 <CakeProphet> in cakelang all values retroactively insert futures in the past which become the current value in the present.
10:01:28 <monqy> then you realise the error in your ways and make it insert pasts into the future
10:02:25 <CakeProphet> where is my meadow.
10:03:10 <monqy> Taneb: have you never heard of feather?
10:03:31 <Taneb> No
10:03:35 <CakeProphet> oh good
10:03:42 -!- jix has joined.
10:03:53 <monqy> http://esolangs.org/wiki/Feather
10:04:24 <Taneb> Interesting
10:04:43 <Taneb> But actually, the way I plan to do retroactive self-modification won't be too difficult
10:05:02 <monqy> oh?
10:05:57 <Taneb> Basically, every now and again the state is saved, and when self-modification happens, one of these states is edited and then replaces the main state
10:06:06 <Taneb> If that makes sense at all
10:08:11 <CakeProphet> whenever implementing time travel it is important to always have an alpha timeline.
10:12:19 <CakeProphet> consider a language in which, from any statement
10:12:27 <CakeProphet> you can determine the future path of control flow
10:12:38 -!- Taneb has quit (Remote host closed the connection).
10:12:57 <CakeProphet> then, you could traverse that path, and execute the statements that change the past when they have designated when they want to happen.
10:13:07 -!- Taneb has joined.
10:13:35 <CakeProphet> granted I'm pretty sure you must always halt.
10:13:39 <CakeProphet> to do that.
10:14:04 <CakeProphet> and have only compile-time branches and the like.
10:15:46 <CakeProphet> but then the act of changing a value in the state in the past is merely just reorganizing the order of statements at compile-time.
10:19:40 -!- Lymee has quit (Ping timeout: 252 seconds).
10:20:39 <Taneb> I will go walk dog now
10:20:41 -!- Taneb has quit (Quit: Goodbye).
10:21:55 <elliott> hi god
10:21:56 <elliott> dog
10:22:03 <elliott> legit typo
10:22:04 <CakeProphet> elliott: so perhaps I could pick my own equipment this time?
10:23:04 <elliott> chross-channel mageics...
10:26:38 -!- azaq23 has quit (Ping timeout: 252 seconds).
10:29:23 -!- azaq23 has joined.
10:39:10 <elliott> monqy: wow mercury is still going
10:39:33 <monqy> mine too
10:41:27 <elliott> # Step 3. Run `make install'.
10:41:28 <elliott> # This step will also take a long time.
10:41:34 <elliott> lgone,
10:41:56 <monqy> longest time
10:42:02 <elliott> Note that the Mercury compiler is GPL software and there doesn't seem
10:42:02 <elliott> to be a linking exception like the one found in GCC, so it is unclear
10:42:02 <elliott> whether it will be possible to distribute compiled Mercury code under
10:42:02 <elliott> the Apache License.
10:42:02 <elliott> eip
10:42:03 <elliott> rip
10:42:31 -!- GreaseMonkey has quit (Quit: The Other Game).
10:45:38 <monqy> -- Installation complete.
10:45:39 <monqy> :o
10:45:50 <monqy> -- Don't forget to add /usr/bin to your PATH,
10:45:52 <monqy> thanks
10:46:31 <elliott> you instaleld it into /usr/bin
10:46:32 <elliott> smart
10:46:43 <monqy> it was...automatic
10:46:55 <elliott> mmc --make-transitive-optimization-interface --grade asm_fast.gc.profdeep --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.profdeep -R/usr/local/lib/mercury/lib --no-warn-insts-without-matching-type array
10:46:59 <elliott> tarnstieitvejtvie operaitismtoamtion weienteracfse
10:47:08 <monqy> i did not want to think so i grabed an automatic...
10:47:18 <monqy> it will hurt me,, in the end,,
10:47:49 <elliott> dont do, drmugs
10:49:22 <elliott> monqy: mercury better be,... really godo... for this
10:49:52 <monqy> i;m reading a documentation?? its weird
10:52:17 -!- Taneb has joined.
10:52:32 <monqy> time to test
10:54:51 <elliott> It is slightly unfortunate that the “Hello, World!” program introduces no
10:54:51 <elliott> less than three advanced Mercury concepts, but since tradition dictates that
10:54:51 <elliott> tutorial texts start with “Hello, World!” we’ll just have to jump straight in
10:54:51 <elliott> with the knowledge that things will get easier thereafter.
10:54:54 <elliott> hepl monqy
10:55:26 <monqy> yep
10:55:41 <elliott> its hleleo world is diferent to wikpeds :(
10:56:05 <elliott> o
10:56:06 <monqy> i compiled hello world...and it works....
10:56:07 <elliott> then it becomes the same
10:56:13 <elliott> monqy: wtait for me :'(
10:56:21 <monqy> my broekn mercury...works...
10:56:34 <monqy> for now...atleast
10:56:39 <elliott> monqy: wtait for me :'(
10:56:41 <elliott> wtatiatie
10:58:37 <elliott> monqy: wtiatweit
10:58:42 <monqy> asdgaldgnh
10:59:13 <elliott> monqy: wtiatweit
11:00:15 <elliott> monqy: wairwirit
11:00:15 <monqy> this documentation doesn't quite match up with another documentation i read.;.
11:00:29 <elliott> monqy: waittiete
11:00:32 <elliott> for me,s :'(
11:00:33 -!- nooga has joined.
11:00:33 <elliott> what
11:00:35 <elliott> domucumationai?
11:00:38 <nooga> hehe
11:00:47 <monqy> this other one has a different sugar
11:00:49 <nooga> this whole mission control thingy is so annoying
11:00:55 <monqy> instead of !IO it is different
11:01:03 <elliott> monqy: it explains later
11:01:10 <monqy> no i mean
11:01:11 <elliott> how to do... n(!iO...
11:01:16 <monqy> write_total(Total) -->
11:01:16 <monqy> print("The total is "),
11:01:17 <monqy> print(Total),
11:01:17 <monqy> print('.'),
11:01:19 <monqy> nl.
11:01:27 <elliott> that looks like prolog
11:01:27 <elliott> but w/e
11:01:31 <elliott> this tutorial is new apparently so
11:01:44 <monqy> that doesn't look like prolog, to me?
11:01:57 <monqy> does prolog have --> ???
11:02:11 <elliott> i duneontknwo
11:02:17 <monqy> citatio:n http://www.mercury.csse.unimelb.edu.au/information/doc-release/mercury_trans_guide/IO.html
11:02:36 <elliott> oh DCG things
11:02:41 <elliott> that's probably usable too but as a different thing...
11:04:18 <monqy> the wierdest i have so far seen in mercury is probably the pred thing with ::in and ::out and the determinism declaration
11:04:26 <elliott> those are cool.......
11:04:32 <elliott> it lets... typechecking and... OPTIMZATION
11:04:54 <monqy> is multiple outs possible i have not checek,ed
11:05:05 <elliott> yes,prloggs
11:05:13 <elliott> monqy: omg yay my compile is on to the last bit
11:05:30 <monqy> which last bit
11:05:40 <elliott> dunno, ti did a last bit, and my computer cant be slower than yours so
11:05:41 <elliott> it must be
11:05:42 <elliott> the last bit
11:05:59 <monqy> my computer is very slow...
11:08:07 <elliott> yay i think it is really finishing now
11:08:15 <elliott> monqy: wtataitait, for mems,
11:09:39 <monqy> "rot13 has the cryptographic"
11:09:39 <monqy> strength of damp tissue paper,
11:09:41 <monqy> "
11:09:47 <monqy> - book.pdf
11:09:56 <elliott> australians
11:10:05 <elliott> mmc --make-transitive-optimization-interface --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib mutvar
11:10:05 <elliott> NO NOT MORE
11:10:12 <elliott> help what was the last grade you did
11:10:13 <monqy> always, more
11:11:37 <elliott> help what was the last grade you did
11:11:38 <monqy> hlc.gc.trseg maybe??
11:11:44 <elliott> hlc??
11:11:45 <elliott> help
11:12:15 <monqy> high-level c i think...i should not have gone mindless...and have manualy disabled usefless grades,...like that one...
11:12:31 <elliott> so um
11:12:35 <elliott> all i've seen so far is asm_fast
11:12:38 <elliott> does that mean there's like
11:12:46 <elliott> three more iterations of this entire compile process to do
11:13:10 <monqy> you can never have enough iterations of the entire compile process
11:13:15 <elliott> thats not an answer
11:13:17 <elliott> is that a true thing because
11:13:19 <elliott> i might comit suicide
11:13:39 <monqy> i forget how many i went throgute anbd their names :(
11:13:53 <elliott> did you build in parallarlarllel
11:13:57 <monqy> it was: "a lot"
11:14:08 <monqy> i think i did -j2 because i have 2 cores...i think
11:14:19 <elliott> i did -j toobut i dont think it s working almso unelss you use bfs you should use one more than core to -j
11:14:56 <monqy> some day i may learn how to -j...proeprly
11:15:40 <elliott> help monqy hlep it doesnt sotp the building
11:15:42 <elliott> can i have your binries
11:16:17 <monqy> youve already built mmc,,,no?///and probabyl all the grades you need,,,you just have to insatll them,...
11:16:28 <elliott> they are installing , by doing mmc ---...
11:16:34 <elliott> thats the stdlib uilding
11:16:36 <monqy> mmc is the mercury compiler
11:16:36 <elliott> the grades,
11:16:39 <elliott> i know
11:16:42 <elliott> mmc --make-optimization-interface --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib --no-local-thread-engine-base thread.semaphore
11:16:42 <elliott> mmc --make-transitive-optimization-interface --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib --no-local-thread-engine-base thread.semaphore
11:16:43 <elliott> mmc --make-transitive-optimization-interface --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib thread.mvar
11:16:45 <elliott> mmc --make-transitive-optimization-interface --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib thread.channel
11:16:49 <monqy> :(
11:16:49 <elliott> mmc --compile-to-c --grade asm_fast.gc.trseg --mercury-linkage shared --flags LIB_FLAGS --flags INTER_FLAGS -R/usr/local/lib/mercury/lib/asm_fast.gc.trseg -R/usr/local/lib/mercury/lib thread.channel > thread.channel.err 2>&1
11:16:55 <elliott> if thats not compiling i dont believe you
11:17:25 <monqy> its forever
11:19:44 -!- Patashu has joined.
11:22:27 -!- oklopol|2 has joined.
11:25:22 -!- oklopol has quit (Ping timeout: 260 seconds).
11:27:28 -!- monqy has quit (Quit: hello).
11:31:05 -!- derdon has joined.
11:43:03 -!- pikhq has quit (Ping timeout: 246 seconds).
11:43:09 -!- pikhq has joined.
11:46:57 -!- lambdabot has quit (Ping timeout: 260 seconds).
11:47:06 <Taneb> Not lambdabot!
11:47:19 <nooga> mmc?
11:47:54 <elliott> melbourne mercury compiler
11:48:08 <Taneb> I used to live there
11:48:15 <Taneb> Compiler was a nice place
11:48:45 <nooga> i recently updated to OSX Lion
11:49:10 <nooga> and it's both cool and uncool
11:49:21 <Taneb> brb
11:50:19 -!- cheater has quit (Ping timeout: 260 seconds).
11:52:54 -!- cheater has joined.
12:11:22 -!- lambdabot has joined.
12:17:09 -!- Deewiant has quit (Ping timeout: 260 seconds).
12:22:33 -!- Deewiant has joined.
12:28:07 <elliott> Note! The Mercury compiler reorders code as little as possible. However, programmers should not write code that depends upon any particular order of evaluation — code can also be reordered by various optimizations! In particular, it3.5. INSTS AND SUBTYPES 51
12:28:08 <elliott> is a bad idea to write something like ( if X \= 0, Z = Y / X then ... else ... ),
12:28:08 <elliott> assuming that the test for X being non-zero will guarantee that this code
12:28:08 <elliott> cannot lead to a division-by-zero error at run-time. It is certainly possible
12:28:08 <elliott> that the test and the division may be compiled the other way around.
12:28:38 <Deewiant> Why is Mercury happening
12:29:38 <elliott> Deewiant: Decided to learn it
12:29:48 <Deewiant> Why
12:29:51 <Deewiant> Is it interesting?
12:30:04 <elliott> Deewiant: Very
12:30:52 <Deewiant> Oh right, pure Prolog
12:31:03 <elliott> Deewiant: Mercury but without anything non-declarative at all, not even cut, higher-order, "mode-checking" (so that inputs and outputs can be distinguished properly and the like), impurity provided via linear types, and a compiler that produces very efficient code.
12:31:06 <elliott> Erm
12:31:09 <elliott> s/Mercury/Prolog/
12:31:32 <elliott> It's basically Prolog if Prolog was defined by Haskell/Clean geeks who happened to be really good at writing compilers :P
12:31:39 <elliott> So nothing like Prolog.
12:32:11 <elliott> :- mode in == (ground >> ground).
12:32:11 <elliott> :- mode out == (free >> ground)
12:32:12 <elliott> SO COOL
12:33:42 <elliott> Its inst declaration system is pretty great too, it basically lets you define valid inputs for a function arbitrarily...
12:33:50 <elliott> And you can define functions as total for certain subsets of inputs and the like.
12:35:18 <elliott> Deewiant: The toolchain is almost as bad as D's though, it's compiled something like thirty copies of the standard library so far, for all the different variants
12:35:26 <elliott> And it does it during "make install" for no obvious reason
12:36:50 <Deewiant> Damn, Haskell does only three currently
12:36:54 <elliott> Uniqueness typing is really nice
12:36:56 <Deewiant> Lot of catching up to do
12:37:01 <elliott> Deewiant: Three? I just have profiling and normal
12:37:06 <Deewiant> And dynamic
12:37:11 <elliott> Useless
12:37:22 <elliott> But yeah, this is a really cool language
12:37:28 <elliott> Oh man, it even has typeclasses and existentials
12:37:35 <elliott> I FEEL SO AT HOME
12:37:43 <elliott> IT EVEN HAS FUNDEPS
12:37:53 <Taneb> Make a whatevercraft in it
12:38:07 <Patashu> does mercury have openGL bindings?
12:38:13 <Patashu> no??? well screw your craftmine
12:38:23 <elliott> asciicraft
12:38:34 <Patashu> roll your own OpenGL
12:38:43 <Patashu> and render using #s for white and .s for black
12:38:59 <Patashu> DOSCraft
12:39:07 <elliott> craftcraft
12:39:14 <elliott> enter language, display mechanism
12:39:16 <elliott> whatevercraft game comes out
12:39:20 <Patashu> nice
12:39:23 <elliott> but you have to mine the language and mechanism first
12:39:27 <Patashu> but you also need a craftcraftfactory
12:39:30 <elliott> help
12:39:47 <Patashu> and craftcraftfactorydecorators
12:40:15 <elliott> crattorydecorators
12:40:39 <Patashu> like say you want a read-only craftcraftfactory
12:41:26 <elliott> /home/elliott/mercury-compiler-11.01/install_grade_dir.hlc.par.gc/scripts/mgnuc --grade hlc.par.gc -- -c robdd.c -o robdd.o
12:41:29 <elliott> PLEASE LET THIS BE THE LAST ONE
12:41:35 <elliott> I WILL NEVER EVER WANT TO USE THE HIGH-LEVEL C BACKGROUND WITH PARALLEL AND ALSO GC
12:41:40 <elliott> WHY ARE YOU D;OING THIS TO ME
12:41:48 <elliott> Also is that STM I see coooool
12:41:52 <elliott> this language is a haskell away from haskell
12:42:05 <Taneb> So is haskell*2
12:42:13 <elliott> these things are true
12:44:17 <Deewiant> warning: ‘mercury__f_114_101_108_97_116_105_111_110_95_95_115_112_97_114_115_101_95_98_105_116_115_101_116_95_95_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_102_111_108_100_50_95_98_105_116_115_95_95_104_111_49_48_50_95_95_91_49_44_32_52_44_32_54_93_95_48_9_0’ used but never defined
12:44:31 <Deewiant> I'm getting a bad feeling about this
12:44:41 <elliott> Deewiant: monqy got that too; I blame you or whatever
12:44:46 <elliott> Apparently it works after the hours of compilations though
12:44:52 <elliott> So I guess it's nothing to worry about
12:44:59 <elliott> Seriously though, make install takes longer than building GHC
12:45:46 <Patashu> deewiant: what
12:45:48 <Deewiant> I probably blame your old cc
12:46:03 <elliott> My gcc is a bit old but producing extra warnings it weird? w/e/
12:46:03 <Deewiant> Patashu: Compiling mercury
12:46:38 <fizzie> Oh no, it's spreading; now Deewiant is infected too.
12:46:43 <elliott> Deewiant: did you see about the unboxed float thing in the configure
12:46:52 <elliott> I think you're meant to bootstrap it after compiling but I was just uh
12:46:55 <Deewiant> No
12:46:57 <elliott> fuck that I can deal with boxed floats to not go through this again
12:47:00 <Deewiant> I'm just installing from AUR
12:47:11 <elliott> Oh
12:47:12 <elliott> What version
12:47:19 <elliott> OMG mine finished
12:47:23 <Deewiant> 11.02 or something?
12:47:41 <Deewiant> 11.01
12:47:48 <elliott> Darn, can't mock you for being out of date
12:48:10 <elliott> -- Don't forget to add /usr/local/bin to your PATH,
12:48:10 <elliott> -- /usr/local/man to your MANPATH,
12:48:10 <elliott> -- and /usr/local/info to your INFOPATH,
12:48:10 <elliott> -- to copy deep_profiler/mdprof_cgi to /usr/lib/cgi-bin,
12:48:10 <elliott> -- and to add the following lines to the `.emacs' file
12:48:10 <elliott> -- in your home directory:
12:48:12 <elliott> Sure is demanding
12:48:32 <Deewiant> I wonder if it'll tell me that, I don't have emacs installed
12:49:03 <elliott> Deewiant: http://www.mercury.csse.unimelb.edu.au/information/papers/book.pdf is a good introduction BTW
12:49:12 -!- Lymee has joined.
12:49:39 <Deewiant> elliott: I don't really care right now, I'm just installing this because I like to have language implementations installed in case I need them
12:49:50 <elliott> Smooth
12:50:27 <nooga> this whole Mercury language looks sad
12:51:17 <elliott> nooga: For what value of sad
12:51:17 <Taneb> Aaargh pins and needles
12:52:55 <Taneb> They're almost gone
12:53:24 <elliott> Deewiant: BTW shiro got down from over one second to 0.76s on Mycology just by changing the Vector type from tuples to something strict and unboxed
12:53:40 <Deewiant> Yes, that would make sense
12:54:06 <elliott> Only point seven seconds to go until I'm par with CCBI and cfunge
12:54:26 <elliott> I guess redoing my stack might have a similarly beneficial effect
12:54:39 <elliott> I should probably profile at this point
12:56:06 -!- ais523 has joined.
12:56:14 <elliott> Hi ais523
12:56:26 <ais523> hi elliott
12:56:26 <Taneb> I made a Suffolk implementation
12:56:36 <ais523> that was fast, I had to wait for things to stop stealing focus before I could reply
12:56:46 <ais523> what's Suffolk, again? I know it's one of mine but I've forgotten the details
12:56:55 <ais523> I was just trying to fix TCness in someone else's language
12:57:00 * ais523 reads http://esolangs.org/wiki/Suffolk
12:57:00 <Taneb> The one for making minsky machines or something
12:57:21 <elliott> ais523: good news: Shiro is faster on Mycology (OBVIOUSLY EVERYONE CARES)
12:58:27 <ais523> I do care, but only very slightly
12:59:00 <Taneb> Let's see if I know what you're on about
12:59:17 <Taneb> Mycology is your Funge-98 implementation in Haskell
12:59:21 <elliott> Nope
12:59:29 <elliott> Deewiant: Correct this injustice
12:59:40 <Taneb> Have I got it backwards?
12:59:44 <ais523> indeed
12:59:46 <Deewiant> http://iki.fi/deewiant/befunge/mycology.html
12:59:51 <ais523> Shiro is elliott's Funge-98 implementation in Haskell
12:59:52 <elliott> Yes, Haskell is my Funge-98 implementation in Mycology
13:00:02 <ais523> and Mycology is the best-known Funge-98 testsuite, written by Deewiant
13:00:22 <Taneb> I knew what they were, just I had them backwards
13:00:28 <fizzie> Elliott is an implementation of "is" on Haskunge-Mycology.
13:00:33 <elliott> True
13:21:49 -!- Taneb has changed nick to TanebIsNotHere.
13:30:30 -!- copumpkin has quit (Ping timeout: 246 seconds).
13:30:55 -!- copumpkin has joined.
13:32:03 -!- TanebIsNotHere has changed nick to Taneb.
13:48:26 -!- derdon has quit (Remote host closed the connection).
13:50:37 <elliott> Deewiant: Woot, my new stacks work perfectly except now Mycology hangs
13:50:46 <Deewiant> That's... not perfect
13:50:56 <elliott> GOOD: { transfers cells correctly
13:50:56 <elliott> GOOD: { sets storage offset correctly, and p uses it
13:51:05 <elliott> And I just badly tried to rewrite the transfer parts of { and }, so woooo
13:51:17 <elliott> stackTake 0 _ = []
13:51:17 <elliott> stackTake n stk = stackHead stk : stackTake (n-1) (stackTail stk)
13:51:17 <elliott> Looks fine to me though
13:52:26 <elliott> Admittedly the function I'm replacing is kind of wack
13:52:48 <elliott> Deewiant: Oh, I can just run it for like ten seconds and it'll spike on the profiling report :-D
13:52:52 <elliott> BEST WAY TO GET A STACK TRACE EVER
13:56:27 -!- TeruFSX2 has quit (Ping timeout: 260 seconds).
13:59:36 -!- GuestIceKovu has joined.
14:00:02 <Taneb> About Uniquode, what should A do?
14:01:39 -!- Slereah has quit (Ping timeout: 264 seconds).
14:01:41 -!- GuestIceKovu has changed nick to Slereah.
14:03:04 <itidus20> "Sigmund Freud himself experienced fleeting derealization when visiting the Acropolis in person; having read about it for years and knowing it existed, seeing the real thing was overwhelming and proved difficult for him to perceive it as real."
14:03:32 <Taneb> Freud was weird
14:04:29 <elliott> also an idiot
14:04:58 <Taneb> He heard about someone dreaming about giraffes and thought he was dreaming about his parents
14:05:08 <elliott> was the person a giraffe
14:05:13 <elliott> because that might be quite reasonable if so
14:05:36 <Taneb> No, he wasn't
14:05:40 <elliott> ah
14:06:00 <itidus20> dreams do not deal in reason :D
14:06:07 <Taneb> I reckon Colonel Gadaffi would make a good theoretical psychologist
14:11:22 <elliott> Deewiant: So what situation is it when Mycology freezes after
14:11:24 <elliott> GOOD: { transfers cells correctly
14:11:24 <elliott> GOOD: { sets storage offset correctly, and p uses it
14:11:36 <elliott> I think my code freezes up trying to find an instruction but I may be wrong
14:11:40 <Deewiant> Run ccbi on it, I can't remember
14:11:43 <elliott> ISTR I had a problem like this before but all my code looks dandy
14:11:53 <elliott> Deewiant: How'd ccbi help, it's presumably doing jiggery with { and }
14:11:57 <elliott> Or do you mean the weirdo trader
14:11:59 <elliott> tracer
14:12:05 <Deewiant> It's not weirdo :-P
14:12:11 -!- Taneb has quit (Quit: Goodbye).
14:12:25 <elliott> Anything I don't know is weirdo
14:13:45 <elliott> GOOD: } resets storage offset
14:13:45 <elliott> GOOD: } transfers cells correctly
14:13:48 -!- FireFly has joined.
14:14:00 <elliott> Deewiant: Does it happen to test both before outputting? I can see that I might be transferring cells incorrectly MAYBE, but if it's definitely the storage offset...
14:14:30 <Deewiant> I'm pretty sure I never do that
14:14:37 <elliott> Never do what, test two at once?
14:14:38 <Deewiant> But it probably calls } only once there
14:14:42 <elliott> Well right
14:15:08 <elliott> Alright, working assumption is that stackAt is broken
14:15:17 <Deewiant> I'm pretty sure I never do "test a, test b, output a, output b", instead of "test a, output a, test b, output b"
14:15:31 <elliott> Oh, duhhh
14:15:33 <elliott> It should be + not -
14:16:39 <elliott> Deewiant: Good lord, how big a stack do you use in Mycology
14:16:49 <elliott> ***GROWING STACK***
14:16:49 <elliott> ***GROWING STACK***
14:16:49 <elliott> Testing fingerprint FPSP... not loaded.
14:16:49 <elliott> ***GROWING STACK***
14:16:49 <elliott> ***GROWING STACK***
14:16:50 <elliott> Testing fingerprint FPDP... not loaded.
14:16:54 <elliott> ***GROWING STACK***
14:16:56 <elliott> ***GROWING STACK***
14:16:58 <elliott> Testing fingerprint 3DSP... not loaded.
14:17:00 <elliott> ***GROWING STACK***
14:17:02 <elliott> ***GROWING STACK***
14:17:04 <elliott> Testing fingerprint FRTH... not loaded.
14:17:06 <elliott> ***GROWING STACK***
14:17:08 <elliott> ***GROWING STACK***
14:17:10 <elliott> Testing fingerprint IIPC... not loaded.
14:17:12 <elliott> ***GROWING STACK***
14:17:14 <elliott> That's EXPONENTIAL
14:17:33 <Deewiant> elliott: ccbi -s
14:17:39 <Deewiant> Stack contained: 6185 cells at maximum
14:17:49 <elliott> Hmm
14:17:53 <elliott> Well this is Wrong then
14:18:34 <Deewiant> Maybe you resize it to something smaller on occasion? E.g. on n
14:19:19 <elliott> Hmm, right, n just pushes an empty stack
14:19:21 <elliott> Which is stupid
14:19:42 * elliott adds a clearStack :P
14:20:15 <elliott> Actually wait, that just drop length
14:20:46 <elliott> Wow, why is this so slow??
14:21:03 <elliott> And why is it freezing up after testing NULL... SOMETHING is slowing stack pushes down to a glacial pace here
14:24:39 <elliott> stackCons Shiro.Stack 76.1 9.9
14:24:39 <elliott> mergeByteString Shiro.FungeSpace 5.9 26.8
14:24:40 <elliott> WOW :P
14:24:50 <Deewiant> What's your data structure? :-D
14:25:39 -!- nooga has quit (Ping timeout: 264 seconds).
14:25:51 <elliott> Deewiant: Just an exponentially growing vector... I have NO IDEA why it's so collosally slow :P
14:25:55 <elliott> stackCons :: Value -> Stack -> Stack
14:25:56 <elliott> stackCons x (Stack 0 v) = stackCons x (grow v)
14:25:56 <elliott> stackCons x (Stack p v) = Stack (p-1) $ v V.// [(p-1, x)]
14:25:56 <elliott> grow :: V.Vector Value -> Stack
14:25:58 <elliott> grow v = trace ("***GROWING STACK*** " ++ show sz) $ Stack sz $ V.replicate sz 0 V.++ v
14:26:00 <elliott> where sz = V.length v
14:26:02 <elliott> SO INEFFICIENT
14:26:20 <elliott> Even if I make the stack huge enoug that it never grows during Mycology, it STILL makes things absolutely glacial
14:26:23 -!- CakeProphet has quit (Ping timeout: 264 seconds).
14:26:25 <elliott> stackCons x (Stack p v) = Stack (p-1) $ v V.// [(p-1, x)]
14:26:28 <elliott> Literally the slowest operation.
14:26:38 <Deewiant> // seems O(n)
14:26:41 <Deewiant> Isn't it?
14:26:58 <elliott> Deewiant: In the elements of the list of updates, yes
14:27:00 <elliott> So n = one
14:27:08 <Deewiant> Oh
14:27:11 <elliott> Unless I greatly misunderstand.
14:27:30 <elliott> I can use unsafe indexing but I have NO idea how this could be so slow... I don't have built up thunks either
14:27:35 <elliott> data Stack = Stack !Int !(V.Vector Value) deriving (Show)
14:27:45 -!- CakeProphet has joined.
14:27:52 <elliott> Deewiant: Oh hmm
14:27:54 <elliott> (//)Source
14:27:54 <elliott> :: Unbox a
14:27:55 <elliott> => Vector a
14:27:57 <elliott> initial vector (of length m)
14:27:59 <elliott> -> [(Int, a)]
14:28:01 <elliott> list of index/value pairs (of length n)
14:28:03 <elliott> -> Vector a
14:28:05 <elliott> O(m+n) For each pair (i,a) from the list, replace the vector element at position i by a.
14:28:07 <elliott> Maybe it is slow
14:28:11 <elliott> But c'mon, it's eight thousand unboxed elements
14:28:15 <elliott> How slow can it possibly be
14:28:28 <elliott> I guess vectors aren't a panacea in the world of persistent data structures
14:31:17 <elliott> Deewiant: I suppose the fact is that it's copying like a hundred kilobytes per push and that just doesn't work
14:31:23 -!- MDude has joined.
14:31:32 <elliott> I probably want something tree-based, or else make it mutable (gross, can't store history)
14:32:24 <Deewiant> Yeah, it's O(n) because it has to copy the whole thing
14:32:34 <elliott> Not with UNIQUENESS TYPING
14:32:39 <Deewiant> Try a list of vectors?
14:32:40 <elliott> ...aka a mutable variable :P
14:32:43 <Deewiant> Yeah :-p
14:32:51 <elliott> Deewiant: You mean just divide it into vectors of constant size?
14:32:56 <Deewiant> Yeah
14:33:10 <elliott> That could work, but each vector would have to be super-tiny, or it'd _still_ be copying like a kilobyte each push which will be slower than a list any day
14:33:25 <elliott> I suppose I could have like, a list of the top sixteen elements, and stuff the rest into a vector... but that basically reduces to a vector.
14:33:27 <elliott> Erm
14:33:28 <Deewiant> True enough
14:33:28 <elliott> I suppose I could have like, a list of the top sixteen elements, and stuff the rest into a vector... but that basically reduces to a list.
14:33:37 <Deewiant> What you need is a JIT
14:33:47 <Deewiant> So that you can optimize pop-push to a modification
14:33:48 <elliott> Deewiant: What /might/ work is (Int,[Value]), where the list always ends with [0..] and the Int maintains the length
14:34:04 <elliott> That means O(1) length calculation, and no checks for TOS/SOS/etc.
14:34:13 <elliott> And the [] would be strict and unboxed etc. :P
14:34:26 <elliott> That's kind of not massively better than the current dumb list representation, but oh well
14:35:54 <Deewiant> Have you tried Data.Sequence?
14:36:12 <Deewiant> I forget what it's good at but maybe it's good at something relevant
14:36:23 <elliott> Well, it's a finger tree, they're good at everything
14:36:34 <elliott> I'll probably try it if this doesn't pay off well
14:36:49 <elliott> They support efficient accessing from the end though, which is quite thoroughly irrelevant to my case
14:36:58 <elliott> But they're basically functional Python-lists
14:37:00 <elliott> So maybe it'll work
14:40:54 <elliott> I do like this "being able to swap out an implementation without rewriting bits of all the rest of the code" thing
14:40:57 <elliott> ABSTRACTION, WHAT IS IT
14:42:14 <elliott> $ ext/mycology
14:42:14 <elliott> shiro: <<loop>>
14:42:17 <elliott> Deewiant: I'm clever
14:42:19 <Deewiant> Indeed
14:42:23 <elliott> data StackElems = !Value :- !StackElems deriving (Show)
14:42:30 <elliott> Deewiant: Behold my incredibly well-inhabited data type
14:42:35 <elliott> STRICTLY UNBOX EVERYTHING
14:43:50 <elliott> Oh come on, you can't tell me that didn't help performance even a little
14:43:52 <elliott> Not even a little bit?
14:49:19 <elliott> Yeah, I'm going to try Data.Sequence.
14:50:00 <elliott> Deewiant: How is CCBI so fast anyway, it doesn't do cfunge's ridiculousness and the fungespace doesn't exactly help for Mycology
14:50:46 <Deewiant> Maybe it does help :-P
14:51:14 <elliott> Deewiant: Not point eight seconds of help
14:51:35 <Deewiant> It's .8 faster than cfunge for you?
14:52:03 <elliott> Nope, but it's .eight faster than shiro
14:52:34 <Deewiant> Well, profile your slowness
14:52:45 <Deewiant> Its stack is a mutable array, that probably helps
14:52:48 <elliott> I did; it's my fungespace, but that's still only like thirty-five percent of it
14:53:07 <elliott> Yeah; I'm really reluctant to switch from persistent structures, though
14:53:14 <elliott> For obvious reasons of goodness
14:54:49 -!- TeruFSX2 has joined.
14:55:35 -!- nooga has joined.
14:58:35 <nooga> what mycology
14:59:09 <elliott> Question insufficiently coherent
14:59:28 <elliott> Deewiant: I swear to god the first Google suggestion for "mycology" is "mycology deewiant"
14:59:31 <elliott> Maybe that's just because of my search history :P
14:59:54 -!- Taneb has joined.
14:59:57 <Deewiant> Yeah it's "mycology supplies" for me :-P
15:00:06 <nooga> ah, the test suite
15:00:08 -!- cheater has quit (Ping timeout: 268 seconds).
15:00:12 <Taneb> Greetings! Hearty salutations!
15:01:30 <elliott> nooga: Did you ever expand on that nugget of wisdom wrt. Mercury being "sad"
15:01:52 <Taneb> It's not loved, despite its brilliance
15:02:04 <Taneb> Thousands of people love C++
15:02:10 <elliott> Thousands
15:02:16 <elliott> Bit low don't you think
15:03:27 <Taneb> But who loves Mercury?
15:03:36 <Taneb> Confused astronomers
15:04:51 <nooga> elliott: sad -> not amusing
15:05:02 <elliott> nooga: Which means what
15:05:05 <elliott> Not an esolang?
15:05:22 <Taneb> I just found myself watching the House of Commons live
15:05:39 <Taneb> And thought "I've been there! Those seats are comfy"
15:05:45 <nooga> elliott: which means that it looks like a mix of sad prolog with haskell
15:05:56 <elliott> How exactly do you define amusing
15:06:14 -!- TeruFSX2 has quit (Read error: Connection reset by peer).
15:06:37 <Taneb> I have to say, watching the house of commons live is a good cure for insomnia
15:07:22 <nooga> not amusing -> i don't think it's bad but somehow i don't find a use for it and it's not interesting enough to play with it
15:08:18 <elliott> Now that we've successfully unpacked your thought, I'll say it's sad
15:08:52 <nooga> what's sad?
15:09:12 <elliott> Your thought.
15:09:13 <Taneb> The Titanic
15:09:30 <nooga> elliott: okay
15:09:35 <nooga> brb, feeding time
15:10:14 <Taneb> I would learn Mercury if I wasn't currently procrastinating learning Haskell
15:12:06 -!- Phantom_Hoover has joined.
15:12:56 <Gregor> I would fly to Mercury if I wasn't currently procrastinating flying to Mars.
15:13:40 -!- nooga has quit (Ping timeout: 240 seconds).
15:18:52 <elliott> modifyIPList Shiro.Monad 18.4 31.5
15:18:58 <elliott> How the HELL can this take twenty percent of execution time.
15:19:12 <elliott> modifyIPList :: (([IP],[IP]) -> ([IP],[IP])) -> Shiro ()
15:19:12 <elliott> modifyIPList f = modify $ \st -> st{ ipList = f (ipList st) }
15:19:34 <elliott> Oh wait, stack modifications happen in there :P
15:22:03 <Gregor> <elliott> What is it with having to specify X = X.Next
15:22:26 <Gregor> elliott: Just because that's how it works with many operators doesn't mean you want that to be enforced.
15:22:40 <elliott> Fair enough
15:22:49 <elliott> It might want to be default though :P
15:23:35 <Gregor> Currently my grammar syntax has no way to delete, so default = forced X-P
15:29:35 -!- zid has left.
15:51:53 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:59:48 -!- cheater has joined.
15:59:52 <elliott> Deewiant: What's with you having one fungespace per IO
15:59:53 <elliott> IP
16:00:15 <Deewiant> Eh?
16:00:27 <elliott> Oh, wait, never mind
16:00:28 <elliott> alias .FungeSpace!(dim, befunge93) FungeSpace;
16:00:29 <elliott> deceived me
16:01:05 <Taneb> I would like to see something self-modifying to the level of Befunge designed to be easy to compile
16:01:31 -!- cheater has quit (Client Quit).
16:01:49 -!- cheater has joined.
16:02:25 -!- cheater has quit (Client Quit).
16:03:16 -!- cheater has joined.
16:03:30 <elliott> Deewiant: Holy shit, slowdown stack overflows
16:03:42 <elliott> ...and then doesn't the next time
16:03:47 <elliott> And then does
16:04:16 -!- pikhq_ has joined.
16:06:40 <elliott> Deewiant: How random is slowdown exactly
16:06:55 <Deewiant> The location is random, nothing else
16:06:59 -!- pikhq has quit (Ping timeout: 260 seconds).
16:07:18 <elliott> Deewiant: Right, so it could be right next to it or on the other side of the world :)
16:07:23 <elliott> That stack overflow sure is worrying though
16:07:36 <elliott> Oh what the heck
16:07:41 <Deewiant> The odds are that it's on the other side of the world, of course
16:07:47 <elliott> hat the fuck just happened
16:07:56 <Deewiant> 2^32 possible values and "right next to it" is about 1000 of them
16:07:56 <Taneb> Not hat the fuck!
16:08:00 <elliott> GOOD: u reflects when stack stack has only one stack
16:08:00 <elliott> GOOD: u with zero count does nothing
16:08:00 <elliott> GOOD: u with a positive count transfers cells correctly
16:08:00 <elliott> GOOD: u with a negative count transfers cells correctlyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
16:08:02 <elliott> yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[...]
16:08:05 <Deewiant> yyyyyyyyyyyyyyyyyyyyyyyy
16:08:07 <elliott> Yes.
16:08:08 <tiffany> ._.
16:08:08 <elliott> yyyyyyyyyy.
16:08:12 <Deewiant> Noooooooooooooo
16:08:15 <elliott> CORRECTLYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
16:08:23 <elliott> Then it just keeps spamming ys forever.
16:10:08 <elliott> Deewiant: Grmbl, fixing the stack overflow you caused slows down my Mycology performance
16:10:12 <elliott> Please only write one program, thnx
16:10:23 <Deewiant> Too late, sorry :-/
16:11:08 <elliott> V. disappointed in you.
16:11:16 <elliott> I'ma implement FING
16:11:18 <elliott> Seems easy enough
16:11:19 <Deewiant> What was the stack overflow
16:11:28 <elliott> stackDrop :: Int -> Stack -> Stack
16:11:29 <elliott> stackDrop _ s@(Stack 0 _) = s
16:11:29 <elliott> stackDrop 0 s = s
16:11:29 <elliott> stackDrop m (Stack n (_ :- xs)) = stackDrop (m-1) (Stack (n-1) xs)
16:11:38 <elliott> Where Stack is strict in all fields and I guess that did something? Fucked if I know
16:11:39 <elliott> Replaced with
16:11:42 <elliott> stackDrop :: Int -> Stack -> Stack
16:11:42 <elliott> stackDrop amount (Stack elems xss) = go amount elems xss
16:11:42 <elliott> where go _ 0 xs = Stack 0 xs
16:11:42 <elliott> go 0 n xs = Stack n xs
16:11:42 <elliott> go m n (_ :- xs) = go (m-1) (n-1) xs
16:11:52 <elliott> It might not actually be slower, I get quite a bit of variance
16:13:10 <ais523> what proportion of errors in Befunge-98 interps are actually anticipated by Mycology?
16:13:19 <ais523> half the deviations from expected output aren't BAD: at all but complete nonsense
16:13:29 <elliott> Surprisingly many
16:13:40 <elliott> Once I got Mycology actually running, it said BAD about almost every mistake I mdae
16:13:41 <elliott> made
16:13:48 <elliott> Apart from concurrent funge shit which just spewed crap
16:13:50 <Deewiant> ais523: You just hear more about the nonsense because the BADs are comparatively easy to fix
16:14:00 <elliott> The BADs were usually really unhelpful messages, though :P
16:14:08 <elliott> Deewiant: Also because the BADs aren't as entertaining
16:14:13 <elliott> Correctlyyyyyyyyyyyyyyyyyyy
16:14:19 <Deewiant> It's not supposed to tell you what the problem is, just that there is a problem
16:14:54 <elliott> "Mycology failed. Your interpreter is wrong. Fix it."
16:15:32 <Deewiant> Well, with (typically) instruction-level granularity
16:17:05 <elliott> Woot, I might be able to avoid my global/IP state table at all
16:17:09 <elliott> And with it all burdensome existentials
16:17:22 <Taneb> How are trefunge programs formatted?
16:17:37 <Deewiant> Form feeds
16:17:51 <Taneb> Okay
16:23:30 <elliott> BAD: after 'X'AZ, X reflected
16:23:30 <elliott> GOOD: after f7+0Z, A reflects
16:23:31 <elliott> Huuh
16:27:33 -!- Taneb has quit (Quit: Goodbye).
16:30:03 -!- copumpkin has quit (Ping timeout: 246 seconds).
16:30:28 -!- copumpkin has joined.
16:34:47 <elliott> Deewiant: Hmm, wrt FING
16:35:12 <elliott> Deewiant: If an invalid (i.e. out-of-range) sem is popped, should one reflect immediately, or pop all values and /then/ reflect?
16:35:19 <elliott> Mycology seems to want the latter
16:35:21 <elliott> Erm
16:35:23 <elliott> rm
16:35:24 <elliott> The former
16:35:27 <elliott> Which is counter-intuitive to me
16:36:06 <Deewiant> Shrug, it's what's done
16:36:14 <elliott> Source :P
16:36:21 <Deewiant> I implemented FING last, dude
16:36:25 <elliott> Fiiiiiiiine
16:36:30 <Deewiant> Blame Vorpal/Mike
16:36:42 <elliott> Vorpal did FING before you? Weird
16:37:01 <Deewiant> I was working on CCBI2, not adding fingerprints
16:43:15 <elliott> GOOD: 'yY reflected
16:43:16 <elliott> yROMA unloaded.
16:43:16 <elliott> GOOD: after bc+0Z'V'BZ"ROMA"4), A pushes 10 and B pushes 5
16:43:38 <elliott> Ugh
16:43:40 <elliott> That "y" isn't right
16:43:41 <elliott> :-(
16:43:46 <elliott> ls
16:43:47 <elliott> oops
16:44:23 <elliott> I wonder where the heck that is coming from?
16:44:59 <elliott> The rest of the output is spotless.
16:49:42 * elliott considers asking, realises Deewiant will tell him to CCBItrace it, considers doing so.
16:52:42 -!- derdon has joined.
17:01:40 <elliott> Deewiant: Oh, I see why you need to keep the fingerprint with FING
17:01:52 <elliott> Because if you swap it around, the top fingerprint on the stack could be the wrong one to unload, right?
17:01:57 <elliott> You want to unload lower down
17:04:16 <Deewiant> Err, that doesn't sound right at all
17:04:28 <Deewiant> Unloading a fingerprint just pops the semantics
17:04:36 <Deewiant> It doesn't care which semantics they are
17:05:08 <elliott> Uhh, really?
17:05:09 <elliott> Okay
17:05:13 <elliott> Why DO you need it then
17:05:58 <Deewiant> I'm not sure what you're talking about
17:06:18 <elliott> Oh hm
17:06:24 <elliott> struct Semantics {
17:06:24 <elliott> cell fingerprint;
17:06:24 <elliott> // Needed for FING/FNGR, since you can't just tell from the instruction
17:06:24 <elliott> // being executed: 'A' in QWFP might be mapped to 'B' in ARST
17:06:24 <elliott> char instruction;
17:06:25 <elliott> }
17:06:29 <elliott> Yeah, what's that instruction about :P
17:06:41 <Deewiant> The comment isn't helpful? :-P
17:06:45 <elliott> Nope
17:06:46 <Deewiant> I want to execute A
17:06:53 <elliott> Oh, I see
17:06:56 <Deewiant> So I check out what fingerprint it is
17:07:01 <elliott> Doesn't apply to me as I do everything as actions :P
17:07:02 <Deewiant> And then what instruction in that fingerprint it is
17:07:06 -!- calamari has joined.
17:07:06 <Deewiant> Yep
17:07:24 <elliott> Pretty distinct problem here though...
17:07:31 <Deewiant> If you just store a function pointer, that should be enough for FING
17:07:34 <Deewiant> Not sure about FNGR
17:07:42 <Deewiant> (Memories point to "no")
17:07:49 <elliott> I'm changing [(FPIns, Shiro ())] into Shiro [(FPIns, Shiro ())], so that it can create its own mutable variables and maps and the like so that state can stay local
17:08:04 <elliott> The problem is, how do I know which instructions to unload without needlessly making it create the mutable variables just to throw them away :P
17:08:13 <elliott> I guess I can assume that it's "free" to do
17:08:15 <elliott> But it's still kind of lame
17:08:18 <elliott> Not as lame as keeping two lists, though
17:11:46 -!- zzo38 has joined.
17:13:20 -!- Taneb has joined.
17:14:04 <elliott> Wow, this is making things so much better.
17:14:55 <Taneb> I may try to create a funge-98 interpreter
17:15:12 <elliott> Good luck, you'll need it
17:15:37 <Taneb> IN VISUAL BASIC 2005!
17:15:39 <elliott> Gah, that somehow slowed down my performance somehow
17:15:48 <elliott> Taneb: I suspect you of underestimating the task
17:16:14 <Taneb> VB2005 is my mother programming language
17:16:36 -!- SgeoISNOWHERE has changed nick to Sgeo.
17:16:44 <Taneb> Also I am mad
17:16:50 -!- pikhq has joined.
17:16:59 -!- pikhq_ has quit (Ping timeout: 260 seconds).
17:18:02 <Taneb> And I would never finish it whatever language I choose
17:18:16 <Taneb> Actually, I'm going to lower my aim a tad
17:18:20 <Taneb> Befunge-93
17:19:24 <elliott> "Tad"
17:19:27 <elliott> More like five miles
17:20:45 <elliott> Wow, that helped
17:21:13 <elliott> ^source
17:21:14 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
17:21:36 <elliott> Got FING, ain't got STRN, SOCK, SCKE or REXP
17:21:38 <elliott> Let's roll
17:24:59 <elliott> ais523: thought: Funge-98 isn't so much an esolang as an eso interpretation model
17:25:18 <ais523> hmm
17:25:23 <elliott> I mean, it's kind of like running your program as a CA with a bunch of foreign API hooks, kind of like a gigantic event machine, and kind of like machine code except with a really ridiculous code structure
17:25:29 <elliott> And yet it's all communicating with the same APIs doing the same stuff
17:25:34 <ais523> I'd say it is an esolang, specifically
17:25:37 <elliott> Well, yes
17:25:41 <elliott> But it's more eso in the other aspect
17:25:43 <ais523> it's just one that happens to be good at linking to existing libraries
17:25:54 <ais523> I mean, imagine an esolang that's nothing but a set of /really good/ FFIs
17:26:06 <ais523> if you want to do flow control, you outsource to, say, C or Prolog or something to do your flow control
17:26:13 <elliott> ais523: well, for a second when thinking about SOCK I thought "oh, I'll have to spawn off threads and all sorts of stuff to avoid blocking the Funge code"
17:26:16 <ais523> likewise, if you want to do numerical calculations, you FFI to Fortran
17:26:21 <elliott> I had honestly mistaken Funge for some ridiculous asynchronous event-driven CA
17:26:29 <elliott> Rather than something being interpreted as an actual sequential language
17:26:34 <elliott> that's just how insane the model is
17:26:45 <ais523> Funge is nothing like a CA, anyway
17:26:51 <elliott> It isn't
17:26:55 <elliott> But I managed to think it was one for several seconds
17:27:28 <calamari> sounds like a fun variant
17:31:42 <zzo38> Make the FFI CA esolang.
17:35:18 <Vorpal> <Deewiant> Blame Vorpal/Mike <-- blame Mike. I asked him iirc.
17:36:36 <Vorpal> <Deewiant> So I check out what fingerprint it is <-- a possibly simpler solution is to push function pointers
17:36:49 <Vorpal> (as you said a bit further down)
17:37:58 <elliott> Less debuggable, one assumes
17:38:11 <Vorpal> <elliott> Got FING, ain't got STRN, SOCK, SCKE or REXP <-- iirc it also uses TOYS in the code to reload the bot.
17:38:35 <Vorpal> elliott: was that last line in reply to function pointers?
17:38:55 <elliott> Yes
17:39:19 <elliott> Let's see how much slower this persistent refstore is
17:39:20 <Vorpal> if so, not really, in gdb printing out a variable that contains a function pointer will print the nameoffunction+0 iirc
17:39:32 <elliott> Dude, I mean in his tracer
17:39:35 <Vorpal> oh
17:39:36 <Vorpal> right
17:39:38 <Vorpal> true
17:40:18 <Vorpal> elliott: anyway you can see TOYS is loaded only on reloading, and unloaded after. So yeah you need to include that to support the bot fully
17:40:22 -!- a93nadk2m has joined.
17:40:29 <elliott> Deewiant: Guess who just shaved something like 0.03s off his average runtime by switching from a hyper-optimised mutable hashtable library to a simple IORef containing a persistent IntMap
17:40:33 <Vorpal> (see like 178 in fungot)
17:40:34 <elliott> THIS GUY
17:40:34 <fungot> Vorpal: mr president, given the astonishing recent growth of india’s economy and its emerging global fnord status, our partnership must now deepen. therefore i can only agree to proposed amendments 4 and 7 is not correct, and if there is one question we disagree on. i am therefore of the utmost importance. hence, it is not a continental practice and by suddenly imposing it we would have been voluntary. this agreement was gree
17:40:52 <elliott> Still gonna be pretty hard to do global state rewind because it's decentralised, but I'll think of something.
17:41:01 <Vorpal> elliott: is that statistically significant?
17:41:03 <elliott> Aaand there goes a dependency
17:41:07 <elliott> Vorpal: Nope, which is why it's excellent
17:41:11 <Vorpal> XD
17:41:23 <elliott> It means I can be more functional at no cost
17:41:30 <Vorpal> elliott: so as far as you can tell "about the same" (averaged over several runs I hope?)
17:41:41 <elliott> Woot, I now depend on nothing that isn't in the Haskell Platform I think
17:41:44 <elliott> Vorpal: Yeah, about the same
17:41:46 <elliott> Maybe a little better
17:41:51 <elliott> My runtime fluctuates too much to tell
17:41:55 <Vorpal> right
17:42:32 -!- a93nadk2m has left.
17:42:44 <elliott> I also have no unsafeCoerce or anything now :)
17:42:46 <elliott> Or existential types
17:42:48 <elliott> Or anything freaky
17:43:00 <Vorpal> elliott: hm I should add support to use AVX somewhere in cfunge. I mean, doing static funge space filling with SSE instructions helped significantly, at least in the version of gcc that was around then, because it didn't auto-vectorise it.
17:43:30 <Vorpal> elliott: what integer size are you using?
17:43:51 <elliott> Vorpal: Thirty-two
17:43:55 <elliott> (Maximum integer)
17:44:07 <Vorpal> XD
17:44:31 <elliott> 1174 Shiro.pristine haskell=1174
17:44:31 <elliott> 1159 Shiro haskell=1159
17:44:32 <elliott> Feels good
17:44:39 <elliott> And it's quite a bit faster too :P
17:45:41 <Vorpal> elliott: 0.03?
17:45:50 <elliott> No :P
17:46:01 <Vorpal> ah
17:46:17 <elliott> Average Mycology runtime is now between 0.75s and 0.86s.
17:46:20 <elliott> And I implement FING.
17:46:45 <elliott> GOOD: put 'foo=bar' with P
17:46:46 <elliott> BAD: "foo"G failed
17:46:46 <elliott> Huuh
17:47:28 <Vorpal> elliott: FING was easy with the way I did fingerprints. Just had to make a few static functions available outside the fingerprint manager and use them from the FING code
17:47:42 <Vorpal> bbl food
17:47:55 <elliott> http://sprunge.us/eXAX
17:47:59 <elliott> No outside support required
17:48:12 <elliott> A bit ugly because my map structure for the FPInses kind of sucks
17:53:41 -!- kwertii has quit (Ping timeout: 276 seconds).
17:59:48 -!- nooga has joined.
18:03:43 -!- kwertii has joined.
18:15:35 -!- ais523 has quit (Ping timeout: 245 seconds).
18:25:00 <elliott> ?hoogle [a] -> (a,[a])
18:25:01 <lambdabot> Data.Char readLitChar :: ReadS Char
18:25:01 <lambdabot> Language.Haskell.TH.Ppr split :: Type -> (Type, [Type])
18:25:01 <lambdabot> Numeric readFloat :: RealFrac a => ReadS a
18:25:04 <elliott> hmph :P
18:25:23 <elliott> oh duh
18:26:41 <cheater> ?hoogle [herp] -> [derp]
18:26:42 <lambdabot> Prelude map :: (a -> b) -> [a] -> [b]
18:26:42 <lambdabot> Data.List map :: (a -> b) -> [a] -> [b]
18:26:42 <lambdabot> Prelude concatMap :: (a -> [b]) -> [a] -> [b]
18:45:13 -!- oklopol|2 has quit (Read error: Connection reset by peer).
18:51:55 -!- augur has joined.
18:53:11 <elliott> Deewiant: Do you have docs for NCRS anywhere
18:53:15 <elliott> Or is NCRS the terrible one, I forget
18:54:29 <Deewiant> NCRS is from Jesse van Herk
18:54:50 <Deewiant> elliott: http://sprunge.us/ViCQ
18:55:39 <elliott> Thanks
18:55:47 <elliott> NCRS is the non-awful one, right
18:56:46 <Deewiant> TERM is from RC/Funge-98
19:00:12 * elliott looks at STRN
19:00:13 <elliott> Oh boy
19:02:18 <elliott> Hmph, this FING seemingly-error is really worrying
19:07:36 -!- calamari has quit (Quit: Leaving).
19:13:10 <elliott> ?undo [(ins, reflect) | ins <- [A .. Z]]
19:13:11 <lambdabot> concatMap (\ ins -> [(ins, reflect)]) [A .. Z]
19:13:12 <elliott> ?. pl undo [(ins, reflect) | ins <- [A .. Z]]
19:13:12 <lambdabot> flip (,) reflect `fmap` [A..Z]
19:13:16 <elliott> Lame :P
19:13:24 <elliott> zip [A .. Z] (repeat reflect) is good though
19:13:43 <Deewiant> -XTupleSections
19:13:48 <Deewiant> map (,reflect) [A..Z]
19:14:09 <elliott> I don't like tuple sections
19:14:09 <elliott> Well
19:14:11 <elliott> I want them to exist
19:14:13 <elliott> But I don't like using them
19:14:46 <Deewiant> Why not :-P
19:15:07 <zzo38> I don't think it is bad. It is good in some cases.
19:15:17 <elliott> Deewiant: Kinda ugly
19:16:08 <zzo38> You have the series of tuple constructors: () id (,) (,,) (,,,) (,,,,) (,,,,,) (,,,,,,)
19:16:37 <zzo38> (Of course id is not a constructor but close enough)
19:16:40 <elliott> Deewiant: BTW, I completely eliminated the hs-boot :P
19:16:50 <elliott> And indeed all circular dependencies.
19:16:56 <Deewiant> How'd you do it
19:17:53 <elliott> Deewiant: Realised that my Shiro.Utils was actually four functions that should be in Shiro.Interpreter, some functions that should become Shiro.RefStore, and a few little helpers that are at home perfectly in Shiro.MOnad
19:17:53 <elliott> Monad
19:18:21 <elliott> So I divided it up, placed a piece of the map in each corner of the globe, and a few hundred years later hired Guybrush Threepwood to clean up my code.
19:18:30 <elliott> Or I just divided it up and suddenly the circular dependency went away, you decide.
19:18:42 <elliott> Somehow this has actually sped up runtime.
19:19:06 <Deewiant> Fair enough
19:20:34 <elliott> GOOD: 'yY reflected
19:20:34 <elliott> yROMA unloaded.
19:20:34 <elliott> WHYYYYYYYYYYY
19:20:37 <elliott> YYYYYYYYY
19:20:46 <Deewiant> yyyyyyyy
19:20:50 <Deewiant> You have a problem with y's
19:20:59 <elliott> Yeah
19:21:03 <elliott> But why the hell is it printing one :P
19:21:09 <elliott> I traced in CCBI, nothing weird at all.
19:21:50 <Deewiant> Time to write a tracer into Shiro? ;-)
19:22:01 <elliott> I had a tracer in Shiro, it just printed out every instruction
19:22:03 <elliott> Didn't work too well
19:22:18 <elliott> My BEAUTIFUL DESIGN would of course make a tracer easy, I'm just really lazy
19:22:29 <Deewiant> That kind of tracer might be enough for this
19:22:32 <elliott> It's literally a matter of changing doNextIns :P
19:22:41 <elliott> Deewiant: It just took way too long to print every instruction
19:22:57 -!- pikhq_ has joined.
19:23:07 <elliott> But anyway, that'd involve me looking at Mycology source
19:23:15 <elliott> I'd prefer to just stare at the code until I feel stupid and fix it
19:23:27 <elliott> I'm pretty sure FING works at least
19:23:36 <elliott> It's become the simplest possible implementation
19:24:38 <nooga> http://www.ai-class.com/
19:24:41 <nooga> ouch
19:24:52 <elliott> http://www.ai-class.com/media/img/artificial_intelligence_header.jpg how did they find my picture
19:26:42 <Deewiant> Your eyes are unhealthily red, you might want to get a doctor to check them out
19:26:51 -!- pikhq has quit (Ping timeout: 264 seconds).
19:31:54 <Taneb> Well, VBefunge-93 is going well
19:33:22 <elliott> Oh good, I was afraid SOCK was going to be well-documented
19:33:38 <Deewiant> :-)
19:34:12 <elliott> I have absolutely no idea how to implement WIND portably but dammit I'll find a way.
19:34:47 <elliott> I have this sneaking feeling I'm never going to actually bother with MVRS.
19:36:08 <elliott> I should really rename my strict-tuples-of-values to something better than Vector, considering the rather popular library named that.
19:36:21 <elliott> With the data type named that. That I use. In the same few lines as my Vector.
19:38:49 <elliott> Deewiant: What fingerprints actually have per-IP storage, I haven't found a single one yet
19:38:54 <elliott> My horizons are unbroadened
19:39:10 <Deewiant> MODE
19:39:15 <elliott> Oh
19:39:22 <elliott> All the terrible ones that will require reimplementing fucking everything
19:39:23 <Deewiant> Just the first that came to mind
19:39:33 <Deewiant> IIPC, maybe
19:39:42 <Deewiant> TRDS
19:39:44 <Deewiant> (Of course)
19:39:45 <elliott> Ha
19:39:59 <Deewiant> Nothing else comes to mind
19:39:59 <elliott> I can't express how intense my rage is at window-shopping CCBI code leading to me realising it's better-abstracted than Shiro
19:40:02 -!- sllide has joined.
19:40:05 <elliott> Please tell me the first version was awful
19:40:21 <Deewiant> Depends on what abstractions you're talking about :-P
19:40:29 <elliott> I like how the first version isn't even available any more apparently
19:40:34 <Deewiant> Yeah, I lost it
19:40:39 <elliott> Seriously? :P
19:40:44 <Deewiant> Yep
19:40:53 <Deewiant> * b609b65 Initial import - 1.0.4a.
19:41:01 <elliott> I'm sure Vorpal has a copy on DVD 999 out of 999999999999 of month 9
19:41:13 <Deewiant> Before that my version control system was "write detailed changelogs, you can reverse the changes based on that"
19:41:25 <Vorpal> <elliott> I'm sure Vorpal has a copy on DVD 999 out of 999999999999 of month 9 <-- of what?
19:41:26 <Deewiant> (I'm not kidding, I actually explicitly thought that at some point)
19:41:40 <elliott> Deewiant: That's what a patch is, so it's not an unreasonable thought
19:41:42 <Deewiant> This was before DVCS was used by ~anybody
19:41:51 <elliott> Deewiant: My VCS is obsessive cp -R Shiro Shiro.whataridiculousdescription
19:41:53 <Vorpal> elliott: backups? or what?
19:42:00 <Deewiant> And setting up my own SVN was something I knew to be a pain
19:42:09 <elliott> Shiro/ Shiro.fpstate/ Shiro.newbutfpclass/ Shiro.newbutoldfpins/ Shiro.newvectoroldstack/ Shiro.nofingerprints/ Shiro.pristine/
19:42:09 <elliott> Shiro.fpinsmap/ Shiro.lens/ Shiro.newbutnolens/ Shiro.newfungespace/ Shiro.noconcurrency/ Shiro.nomaybet/ Shiro.twodee/
19:42:09 <Deewiant> And I didn't grok monotone, which was the only one I had tried
19:42:23 <elliott> Also Shiro.nomkfingerprint/ when I introduced a whole new function and quickly refactored the fingerprint definitions to us eit
19:42:34 <elliott> "newbutoldfpins" Me, I...
19:42:41 <Vorpal> elliott: you haven't started using a proper vcs?
19:42:52 <elliott> Vorpal: I can't bring myself to commit FungeSpace.hs, it's too awful
19:42:58 <Vorpal> elliott: ...
19:43:03 <elliott> When I have some kind of new fungespace that isn't terrible it'll go into darcs or git
19:43:10 <elliott> (Even if it's not the Super Perfect one)
19:43:13 <elliott> But seriously, that file is so awful
19:43:16 <elliott> I don't want a permanent record of it
19:43:23 <Taneb> My twitter following to followers ratio is 4
19:43:33 <zzo38> Which things in Haskell should be defined using Kan extensions? Is there Kan extensions in Haskell?
19:43:33 <Vorpal> Deewiant: if you want I *may* have a copy of ccbi1 on my hdd somewhere still. Could try to dig it out for archival purposes
19:43:56 <elliott> Vorpal: I would enjoy that, for feeling-better-about-my-code purpose
19:43:56 <Vorpal> elliott: anyway I stopped backing up to DVD some time ago. I use an external HDD these days.
19:43:56 <elliott> s
19:44:24 <elliott> I'm so tempted to immediately drop the current codebase and write Shiro 2 in Mercury for no good reason at all
19:44:44 <elliott> I spent inordinate amounts of effort on giving love to neat languages
19:44:58 <Vorpal> elliott: Mercury? Is it a language?
19:45:08 <Vorpal> or the VCS, doesn't make much sense as that
19:45:08 <elliott> No, I'm just planning a suicide.
19:45:15 <elliott> The VCS is Mercurial.
19:45:29 <Vorpal> oh hey I found pikhq's ski in C
19:45:37 <Vorpal> no sign of CCBI1 yet
19:45:52 <elliott> Mercury is that pure Prolog you might have heard about (no cut or IO outside of uniqueness-type based IO system); it has higher-order predicates, type classes, blah blah blah. It's basically Prolog if it was designed by Haskell/Clean freaks.
19:45:59 <pikhq_> Vorpal: Oh, that thing.
19:46:03 <elliott> Also it has a compiler that produces really efficient code.
19:46:05 <elliott> Inexplicably.
19:46:06 <pikhq_> That was some fun strangeness.
19:46:16 <Vorpal> pikhq_: in case you lost it I have a copy that may or may not be the last version
19:46:18 <Deewiant> Vorpal: If you have pre-1.0.4a versions I'd be glad to have 'em
19:46:20 <elliott> And it does things like compile semidet finite predicates into hash tables if it thinks it'll help.
19:46:35 <pikhq_> Well, I seem to have a copy that doesn't work.
19:46:38 <elliott> Deewiant: You realise that by first version I just mean anything pre-two right :P
19:46:41 <Vorpal> Deewiant: hm. Let me look around. Was that before or after I started cfunge?
19:46:47 <Vorpal> if before I can say I definitely do not have it
19:46:54 <pikhq_> This was written before I actually used version control.
19:46:55 <elliott> Just realised you probably didn't realise that, so
19:47:04 <pikhq_> So, I'd definitely like a copy.
19:47:15 <Vorpal> pikhq_: hm sec, *navigates back*
19:47:37 <Vorpal> pikhq_: wait a second, that i isn't THAT old. It is the lambda in C stuff, with ski
19:47:39 <Deewiant> Vorpal: March 2008 and earlier
19:47:45 <Vorpal> Deewiant: not sure. Will look
19:48:01 <Vorpal> $ ls ski
19:48:01 <Vorpal> a.out calc.lazy closure.h lambda.h main.c primes.lazy rot13.lazy sort.lazy test.lazy testing.lazy thunk.h xgc.c xgc.h
19:48:07 <Vorpal> pikhq_: there is that. Anything interesting?
19:48:15 <Vorpal> I have a tarball for it still around
19:49:44 -!- pikhq has joined.
19:49:58 <Vorpal> Deewiant: which file of the source do you keep the version number in
19:50:02 <Vorpal> <Vorpal> pikhq_: hm sec, *navigates back*
19:50:02 <Vorpal> <Vorpal> pikhq_: wait a second, that i isn't THAT old. It is the lambda in C stuff, with ski
19:50:04 <Vorpal> pikhq_: ^
19:50:07 <Vorpal> <Vorpal> $ ls ski
19:50:07 <Vorpal> <Vorpal> a.out calc.lazy closure.h lambda.h main.c primes.lazy rot13.lazy sort.lazy test.lazy testing.lazy thunk.h xgc.c xgc.h
19:50:08 <Vorpal> that too
19:50:26 <Deewiant> Vorpal: changelog.txt
19:50:31 <Vorpal> Deewiant: it is 1.0.13 the one I found.
19:50:32 <pikhq> Vorpal: Yes, I still don't have a functioning version.
19:50:45 <Vorpal> pikhq: will upload it somewhere. Is filebin still gone?
19:50:56 <Deewiant> Vorpal: About 5 months too new, damn :-P
19:51:03 <Vorpal> Deewiant: ah
19:51:03 <pikhq> Seems to be.
19:51:16 <Vorpal> it was gone for a bit I think?
19:51:22 <pikhq> Could just hand me the .c and .h stuff.
19:51:25 <Vorpal> filebin.ca times out for me. Will scp it somewher
19:51:28 <elliott> Deewiant: But seriously, do you have any one point x version :P
19:51:38 <elliott> I thought you meant you lost literally all of them.
19:51:42 <Deewiant> elliott: 1.0.4a and up is in git
19:51:49 <elliott> Which git
19:51:58 <Vorpal> pikhq: http://whotookspaz.org/~anmaster/tmp/ski.tar.gz
19:52:02 <Deewiant> ~/programming/projects/ccbi/ccbi
19:52:06 <elliott> Pro
19:52:15 <Vorpal> Deewiant: I like the double ccbi there
19:52:38 -!- pikhq_ has quit (Ping timeout: 276 seconds).
19:52:47 <Vorpal> Deewiant: I might have had older versions around, but I remember replacing my copy with newer ones when you told me you updated.
19:53:12 <Deewiant> There's some vaguely funge-related stuff of mine in the single ccbi, haven't bothered to clean it up
19:53:14 <pikhq> Seems I did a lot of stupid micro-optimisation on the copy I have for god-knows-what-reason.
19:53:29 <Vorpal> pikhq: what about the one I uploaded?
19:53:42 <Vorpal> pikhq: anyway I can't believe you didn't use version control...
19:54:12 <Vorpal> pikhq: I mean I do bzr init even when writing a lab report in LaTeX. I'm paranoid about being able to go back to earlier versions like that.
19:54:30 <elliott> Paranoid internet nerd chastises other internet nerd about not using version control system for one-off hacks; internet literally explodes with not giving a shit.
19:54:30 <Vorpal> /etc is of course in bzr too
19:54:43 <pikhq> To be fair, I didn't grok version control at the time. I blame CVS.
19:54:56 <Vorpal> pikhq: wait what, this was less than a year ago. Come on.
19:55:03 <pikhq> Vorpal: I'm also a lazy bastard.
19:55:15 <olsner> pikhq used CVS less than a year ago?
19:55:21 <Vorpal> yes.... seems so
19:55:23 <pikhq> olsner: No.
19:55:34 <pikhq> olsner: But at the time, my only experience with versioning was CVS.
19:55:39 <pikhq> And I went "Fuck that shit".
19:55:53 <Vorpal> well yes. fuck cvs and fuck svn
19:56:06 <elliott> And fuck bzr and git and hg too
19:57:55 <olsner> everything sucks, but cvs and svn both suck way more
19:58:06 <Vorpal> darcs is kind of cool
19:58:08 <Deewiant> elliott: https://github.com/Deewiant/CCBI
19:58:12 <Vorpal> which is why no one uses it
19:58:23 <Vorpal> oh wait, ais does
19:58:27 <elliott> Deewiant: BAM ZAP POW
19:58:27 <Vorpal> and I do occasionally.
19:58:39 <elliott> I use darcs when i'm not collaborating and using VCS (never)
19:58:46 <Taneb> Uniquode has commands based on SKI combinatory logic... that operate on IPs
19:59:14 <Taneb> I replaces the IP with itself
19:59:19 <elliott> Deewiant: Man, when did CCBI two actually come out? I remember this shit happening
19:59:21 <Deewiant> Evidently it's 2% Perl
19:59:31 <Vorpal> anyone else here want to check if I have an old copy?
19:59:34 <Deewiant> elliott: April last year
19:59:49 <Vorpal> I actually found the copy in question on a disk image I made from my old hdd when it died
19:59:55 <Vorpal> so okay. That means over one year old.
20:00:05 <Vorpal> More like 1.8 years or slightly older
20:00:13 -!- derdon has quit (Remote host closed the connection).
20:00:36 <elliott> Deewiant: Jesus you commit a lot
20:00:39 <zzo38> Are there comma categories in Haskell?
20:00:51 <Deewiant> elliott: You should see mushspace
20:01:14 <elliott> Deewiant: May I interest you in sg, which was originally designed around an editor committing your every single action
20:01:22 <Deewiant> No, that's too much
20:01:30 -!- Taneb has quit (Quit: Goodbye).
20:01:33 <elliott> Deewiant: Nah, but it sorted them under larger commits
20:01:45 <elliott> You basically just build commits out of larger ones forever
20:01:48 <elliott> Smaller ones I mean
20:02:08 <elliott> I can't tell where CCBI two starts in this log
20:02:16 <Deewiant> It has tags
20:02:38 <Deewiant> Or wait, does the github-copy-pasted push not push tags
20:02:47 <Vorpal> <Deewiant> Evidently it's 2% Perl <-- hm?
20:02:52 <elliott> "Switch Tags (0)"
20:02:54 <Vorpal> where is that statistic from?
20:02:56 <Deewiant> Vorpal: https://github.com/Deewiant/CCBI/graphs/languages
20:03:02 <elliott> Well, there is PERL
20:03:06 <Vorpal> ah
20:04:13 <Deewiant> $ git push --all
20:04:13 <Vorpal> pikhq: did you do just closures or did you do continuations too? I don't remember
20:04:16 <Deewiant> I guess that should do it
20:04:33 <Deewiant> Oh right, PERL
20:04:36 <elliott> What is an archive/puttergetter
20:04:48 <Vorpal> elliott: a kind of small steam ship
20:04:49 <elliott> Deewiant: If it can detect a few lines of perl in a .d file I'm impressed
20:04:53 <Deewiant> Ditto
20:05:09 <Vorpal> Deewiant: maybe some helper script was in perl at some point?
20:05:15 <elliott> Thank god, CCBI 1 is almost as messy as shiro
20:05:23 <Vorpal> elliott: only almost?
20:05:29 <Deewiant> Vorpal: Nope
20:05:34 <elliott> Vorpal: shiro is pretty fucking messy
20:05:34 <Vorpal> elliott: anyway, you learn a lot from your design mistakes.
20:05:43 <elliott> Shiro isn't really badly designed
20:05:44 <elliott> It's just a mess
20:05:55 <elliott> Every individual hideous part fits together beautifully
20:06:25 <elliott> https://github.com/Deewiant/CCBI/blob/1.0.20/instructions.d
20:06:27 <pikhq> Vorpal: Continuations already exist in POSIX 2001.
20:06:29 <elliott> I like the alignment, Deewiant
20:06:34 <Vorpal> elliott: right. Well I did rewrite large parts of cfunge. I was too lazy to start again from the beginning. But certainly some code does need cleaning up. Mostly i and o code (eww the o code) and some of the stack-stack code
20:06:42 <Vorpal> pikhq: ah you used those?
20:06:48 <pikhq> No, I had no need.
20:07:07 <elliott> Vorpal: Shiro's cleanup needs to be: Fungespace fungespace fungespace; making everything abstract and separate; the end.
20:07:22 <Vorpal> pikhq: not really continuations in the sense of call/cc though. Not quite as versatile if you mean setcontext/getcontext. Or do you mean something else I'm not aware of?
20:07:33 <elliott> Deewiant: Oh my God, you did Minifunge?
20:07:42 <Deewiant> Yep
20:07:48 <elliott> Deewiant: How painful is it
20:07:50 <Vorpal> Deewiant: does ccbi2 have minifunge?
20:07:52 <elliott> No
20:07:53 <Deewiant> Nope
20:07:57 <Vorpal> Deewiant: why not?
20:08:07 <Deewiant> Conflicting standards, haven't got around to it
20:08:20 <Vorpal> ah
20:08:22 <pikhq> Vorpal: setcontext et al. is more flexible than you think.
20:08:43 <elliott> Deewiant: How painful :P
20:08:48 <elliott> I must implement EVERY FINGERPRINT TOTALLY PORTABLY
20:08:56 <Deewiant> I can't remember
20:09:09 <Deewiant> With my new system it should be easy, like MVRS
20:09:14 <Deewiant> But haven't got around to it so dunno
20:09:23 <elliott> You do MVRS?
20:09:31 <Deewiant> No, haven't got around to that either
20:09:34 <elliott> lol
20:09:35 <pikhq> Vorpal: Still: no, I didn't do anything further. If you really want lambda-based continuations, just do CPS.
20:09:38 <elliott> What's your new system
20:09:49 <Vorpal> pikhq: hm
20:10:32 <Vorpal> pikhq: sadly POSIX.1-2008 removed setcontext et al.
20:10:34 <Vorpal> very sad
20:10:54 <pikhq> Yup.
20:10:55 <Vorpal> "POSIX.1-2008 removes the specification of getcontext(), citing portability issues, and recommending that applications be rewritten to use POSIX threads instead."
20:11:13 <olsner> heh, cmake spells endif and else as endif() and else()
20:12:29 <Vorpal> olsner: yes cmake is quite terrible. Anyway those are there because originally you had to *repeat the condition from the if() in there*
20:12:35 <Deewiant> elliott: FungeMachine instead of globals, essentially
20:12:42 <olsner> Vorpal: lol
20:12:44 <Vorpal> olsner: not repeating it verbatim was a syntax error.
20:13:17 <elliott> Deewiant: Lol, people who use globals
20:14:13 <Vorpal> well cfunge isn't going to do anything but one funge space easily. It is globals. And I know you are going to laugh at the reason. It was faster on 32-bit x86 to not pass around the funge space pointer everywhere. Because 32-bit x86 sucks.
20:14:21 <Vorpal> as in statistically significant.
20:14:25 <Deewiant> Mycology's up
20:14:38 <elliott> Deewiant: Whu
20:14:42 <Vorpal> Deewiant: new version?
20:14:44 <elliott> Oh, github
20:14:46 <Deewiant> No, hub
20:14:46 <Vorpal> ah
20:14:59 <elliott> Deewiant: Your capitalisation disgusts me to an incomprehensible degree
20:15:07 <Deewiant> Tough
20:15:10 <elliott> It's worse than death
20:15:10 <Vorpal> elliott: ?
20:15:36 <Deewiant> Fungicide too ([F]ungicide)
20:15:41 <elliott> 2011-02-07 - Make the 1k[ error message not rely on stringmode having
20:15:42 <elliott> working spaces.
20:15:45 <elliott> Was that because of myoutput
20:15:50 <Deewiant> Maybe
20:16:32 <elliott> You should fix the bug where I have a weird extra y output :P
20:16:44 <Vorpal> elliott: uh, that is your bug
20:17:02 <elliott> GOOD: 'yY reflected
20:17:02 <elliott> yROMA unloaded.
20:17:08 <elliott> There's no possible way that y could be output; his bug.
20:18:25 <pikhq> /usr/include/x86_64-linux-gnu/sys/ucontext.h:139:5: error: unknown type name ‘stack_t’
20:18:27 <Deewiant> [f]ungify
20:18:28 <pikhq> Fuck you GNU.
20:19:04 <Deewiant> pikhq: ISTR you'd be the guy to ask: what's the smallest more or less fully functional libc in terms of LOC
20:19:20 <pikhq> Deewiant: Define "fully functional".
20:19:37 <Deewiant> The necessities of C99
20:19:41 <pikhq> musl
20:19:50 <elliott> musl
20:19:52 -!- KingOfKarlsruhe has joined.
20:20:02 <elliott> dietlibc is probably shorter but dietlibc is so shitty uou have no idea.
20:20:06 <Deewiant> Cool, thanks
20:20:11 <Vorpal> <pikhq> /usr/include/x86_64-linux-gnu/sys/ucontext.h:139:5: error: unknown type name ‘stack_t’ <-- eh?
20:20:27 <elliott> Deewiant: P.S. I pioneered miniature Linuxing 'round these parts >:|
20:20:59 <Deewiant> Whatever, the GNU complaint just reminded me that he'd been talking about libc's at some point
20:21:07 <Vorpal> pikhq: where is stack_t defined?
20:21:12 <Vorpal> not in that file certainly
20:21:35 <pikhq> Vorpal: ucontext.h should define stack_t.
20:21:49 <Vorpal> pikhq: yeah that file is quite useless
20:22:13 <Vorpal> pikhq: it can't possibly be used even.
20:22:31 <Vorpal> compiler can't know size of stack_t
20:22:36 <Vorpal> pikhq: anyway it is obvious: report the bug
20:22:39 <pikhq> *sigh*
20:22:45 <pikhq> It works with _GNU_SOURCE
20:22:49 <Vorpal> pikhq: what
20:23:06 <Vorpal> pikhq: why is that
20:23:34 <Vorpal> it should work with _POSIX_C_SOURCE=200112L
20:24:52 <pikhq> Yes.
20:25:15 <pikhq> Oh, wait, it needs XOPEN.
20:25:19 <Vorpal> ah
20:25:35 <Vorpal> well that is less annoying
20:42:57 -!- NihilistDandy has joined.
20:43:42 <elliott> hi
20:52:43 -!- impomatic has joined.
20:52:52 -!- monqy has joined.
20:59:12 -!- impomatic has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]).
20:59:57 -!- elliott has quit (Ping timeout: 258 seconds).
21:03:46 -!- Taneb has joined.
21:07:38 <Phantom_Hoover> Man, SMBC really hates people with humanities degrees.
21:09:03 -!- Taneb has quit (Quit: Goodbye).
21:10:24 -!- FireFly has quit (Quit: FireFly).
21:23:28 <Gregor> Who doesn't?
21:37:34 <CakeProphet> help how do I interrupt an uninterruptable process?
21:37:42 <zzo38> You turn off the computer.
21:37:43 <CakeProphet> kill kill kill kill kill
21:38:17 <CakeProphet> seems to be stuck on "encryptfs_init_persistent_file"
21:38:24 <CakeProphet> that's the waiting channel
21:39:17 <nooga> gaargh
21:39:26 <nooga> i want to code something interesting
21:39:55 <CakeProphet> code something will kill this process plz.
21:40:47 <KingOfKarlsruhe> nooga: you could write a nice tutorial, how to write oop code with plain C
21:41:02 <CakeProphet> s/oop/functional/
21:41:51 <KingOfKarlsruhe> no oop
21:42:09 <monqy> functional
21:42:16 <monqy> oop is boring
21:42:17 <CakeProphet> grrrrr!!!!
21:42:19 <CakeProphet> >_>
21:42:25 * CakeProphet mans the axes and pitchforks
21:46:03 -!- oerjan has joined.
21:55:11 -!- Lymee has quit (Ping timeout: 245 seconds).
21:58:39 * Phantom_Hoover → sleep
21:58:40 -!- Phantom_Hoover has quit (Quit: Leaving).
22:08:27 -!- sllide has quit (Ping timeout: 252 seconds).
22:21:56 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 6.0.1/20110830092941]).
22:45:37 -!- augur has quit (Remote host closed the connection).
23:02:21 -!- Patashu has joined.
23:25:27 -!- nooga has quit (Ping timeout: 252 seconds).
23:30:59 -!- azaq23 has quit (Quit: Leaving.).
23:52:36 -!- kwertii has quit (Quit: bye).
←2011-09-04 2011-09-05 2011-09-06→ ↑2011 ↑all