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