00:00:10 -!- Sgeo_ has quit (Read error: Connection reset by peer). 00:00:30 You know, most of the Scandinavia dudes have nice and short words. You've got your Swedes, your Finns, and your Danes. 00:00:45 But Norway and Iceland can't cooperate; they have to have Norwegians and Icelanders. 00:02:05 We ought to call them Nords and... something. 00:03:45 Nords and ice. They don't get a proper noun, or a word that distinguishes between the singular and the plural. They're just ice. 00:05:03 You know, I'm fine with calling them Icelanders. 00:06:13 Norons and Cubes. 00:06:23 -!- elliott has joined. 00:07:14 Or maybe "noroms" 00:11:24 if you keep half-insulting us like that, we may have to rejuvenate "vikings". 00:11:29 -!- Sgeo has joined. 00:12:06 Those Noroms are so sensitive 8-D 00:14:24 ur a morom 00:14:26 mormon 00:16:04 targ norn dead 00:16:56 enum 4 0 0 dead next 00:20:36 -!- elliott has quit (Remote host closed the connection). 00:21:32 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:22:21 -!- elliott has joined. 00:27:49 TeX is interpreted programming language, not compiled. It can be compiled into a binary code but not the native code, but they also have category codes 00:39:50 -!- crystal-cola has quit (Quit: leaving). 01:26:58 -!- azaq23 has quit (Quit: Leaving.). 02:39:53 -!- MDude1350 has changed nick to MSleep. 02:48:13 -!- calamari has quit (Quit: Leaving). 02:53:18 -!- elliott has quit (Remote host closed the connection). 03:04:26 Is "BIDAK IQUOOD" the good name for D&D characters??? 03:09:16 -!- mrjbq7 has joined. 03:13:16 -!- mrjbq7 has quit (Client Quit). 03:18:56 That is not there proper name, but it is the name that everyone else has to use for them. 03:25:45 -!- augur has joined. 03:35:13 -!- oerjan has quit (Quit: leaving). 03:54:28 -!- TeruFSX has joined. 04:12:18 -!- sebbu2 has joined. 04:12:18 -!- sebbu2 has quit (Changing host). 04:12:19 -!- sebbu2 has joined. 04:15:58 -!- sebbu has quit (Ping timeout: 260 seconds). 05:12:39 -!- pizearke has joined. 05:12:48 yo 05:14:39 -!- TeruFSX has quit (Read error: Operation timed out). 05:25:05 -!- TeruFSX has joined. 05:29:52 oy 05:31:36 -!- TeruFSX has quit (Ping timeout: 276 seconds). 06:35:52 -!- sebbu2 has quit (Ping timeout: 264 seconds). 06:42:53 -!- sebbu has joined. 06:46:19 Is it? 07:21:00 -!- zzo38 has quit (Remote host closed the connection). 07:41:22 -!- XXX-76C28611432 has joined. 07:42:33 -!- XXX-76C28611432 has quit (Client Quit). 08:57:56 -!- monqy has quit (Quit: hello). 09:08:36 Anyone awake and willing to help me? 09:10:38 Hellohello? 09:25:24 That'll teach me to math 09:25:26 -!- siracusa has joined. 09:26:06 I went from x' - x0 = -(y - y0) to forgetting to distribute that - to the y 09:47:24 I'm awake. 09:47:26 What's up? 09:47:38 (I mean, I probably can't help you, but I might as well try, right?) 09:49:21 sgeo 09:49:21 -!- ais523 has joined. 09:49:51 I already solved my problem 09:49:55 Oh. Derp. 09:50:01 ty anyway 09:50:44 out of curiosity, what were you trying to do? 09:51:25 Figure out some rotation stuff 09:51:47 http://pastie.org/1856142 09:52:14 oh, ok. 09:52:30 I wanted verification that that was correct. After I fixed another bug with my rotation stuff, realized for certain that that was incorrect. Some annoying debugging later, I see that I lost a - 09:52:51 Oh, I see what you're doing. 09:52:52 NEat. 09:52:57 bah. *e 09:55:52 I should say 90 degrees somewhere in there, but me 09:55:53 meh 09:55:57 Under the gun right now 10:16:34 -!- pizearke has quit (Ping timeout: 240 seconds). 10:19:17 -!- pizearke has joined. 11:00:31 -!- augur has quit (Remote host closed the connection). 11:11:50 -!- clog has joined. 11:25:16 -!- crystal-cola has joined. 11:48:33 -!- augur has joined. 11:52:14 someone tell me what is wrong with this 11:52:25 regcomp(regex,".*rvm(.+)-([0-9]+)-([0-9]+)\\.log$",REG_NEWLINE) 11:53:04 in every regex tester i've tried that in, it matches "rvmtestseg-1000-100.log" 11:53:11 in my program it doesn't match that 11:53:47 blithely reports no match on the exact same string 11:53:52 WHAT'S THE DIFFERENCE 12:00:48 -!- TeruFSX has joined. 12:07:48 -!- TeruFSX has quit (Remote host closed the connection). 12:17:04 quintopia, what, are you writing a your own regex library? 12:17:14 s/\ba\b// 12:18:41 you left an extra space in there 12:18:51 no this is the only regex i need to work 12:21:17 quintopia: Sure you don't need REG_EXTENDED for $? 12:21:53 i dropped the $ and it still didn't work, so the problem is obviously elsewhere 12:22:13 use \(...\) instead of (...). 12:22:37 uhm, i was sleepy and missed sisacusa's answer. well, basically similar. 12:22:46 aha 12:22:51 making it extended worked 12:22:59 i guess the parens are extended RE 12:23:16 Parens without \ in front are extended-style. 12:26:11 What does a rectangular matrix of integers define? 12:26:17 is that like a lattice or something? 12:36:30 it's a projection 12:36:55 i mean 12:37:02 why do you ask of integers in particular 12:38:18 -!- Sgeo has quit (Ping timeout: 240 seconds). 12:59:52 -!- FireFly has joined. 13:14:20 -!- MSleep has changed nick to MDude. 13:26:50 im just wondering about integers 13:27:18 I know that matrices represent linear transforms but there are probably other interpretations too (?) 13:38:02 > gcd 111111111 11111 13:38:03 1 13:38:06 > gcd 111111111 111111111111111 13:38:07 111 13:38:09 > gcd 1111111111 111111111111111 13:38:10 11111 13:38:16 I misread "gcd" there as "god" 13:38:21 I was wondering what the god function was. 13:38:34 @let god = gcd 13:38:35 Defined. 13:38:48 > foldr god 1 [2,4..100] 13:38:50 1 13:38:59 O_drugnb 13:38:59 All this time, and god was just the greatest common divisor. 13:39:03 > foldr god 0 [2,4..100] 13:39:05 2 13:41:47 I don't know why gcd 111111111...11 111111..111 = 111...1111 13:43:16 -!- BeholdMyGlory has joined. 13:44:01 > 1000100010001 * 1111 13:44:02 1111111111111111 13:44:42 > 111111111^2 13:44:43 12345678987654321 13:45:08 http://en.wikipedia.org/wiki/Repunit 13:46:27 > map length $ group .sort . show $ 11111111111111111111111111111111111111111111111111111111^2 13:46:29 [12,8,13,12,12,12,12,12,6,12] 13:46:36 > map length $ group .sort . show $ 111111111111111111111111111111111111111111111111111111111111111111111111111111111111^2 13:46:38 [18,11,20,19,18,18,18,18,9,18] 13:46:45 > map length $ group .sort . show $ 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111^2 13:46:47 [28,16,30,30,30,30,30,30,16,29] 13:47:45 > 111111111^2 12345678987654321 <-- huh, neat 13:48:25 it's 13:48:27 111111111 13:48:32 = 1111111110 13:48:33 oops 13:48:35 tht should be a plus 13:48:56 crystal-cola, which one should be a plus? 13:49:04 11111 13:49:10 + 111110 13:49:13 + 1111100 13:49:13 ah 13:49:29 right 13:52:15 Is there any nice proof 13:52:31 gcd 111..111 111..111 = 111..111? 13:54:38 crystal-cola, wait is that not the same as gcd x x = x ? 13:54:53 the ... are different 13:55:01 crystal-cola, oh okay 13:55:51 crystal-cola, what happens for other bases than base 10? does the same work if you read the number as, say, an octal number? 13:56:47 yes it's the same in all bases 13:57:14 hm. There is probably a reason but I have no clue what it could be 13:57:56 > gcd 999999999999999 99999999999 13:57:57 9 13:57:58 > gcd 999999999999999 999999 13:57:59 999 13:58:18 > gcd 777777 777 13:58:19 777 13:58:21 > gcd 77777777777777 777777 13:58:22 77 13:58:23 hm 13:58:29 > gcd 333333333 333333333333333333333333 13:58:30 333 13:58:44 I'd really like to know why 13:58:50 > god 666666666666 666666 13:58:53 > gcd 5555555555555555 555555555555555555 13:58:53 666666 13:58:53 55 13:58:59 > gcd 5555555555555555 555555555555555555555555555555555555555555 13:58:59 55 13:59:01 hm 13:59:10 > gcd 5555555555555555 5555555555555555555555555555555555555555555 13:59:11 5 13:59:17 right 13:59:26 > gcd 1313131313131313 1313131313 13:59:27 13 13:59:29 > gcd 1313131313131313 1313131313131313 13:59:31 1313131313131313 13:59:44 > gcd 13131313131313131 13131313131313131 13:59:45 13131313131313131 13:59:47 aha 13:59:50 > gcd 13371337133713371337133713371337 133713371337133713371337133713371337 13:59:51 1337 14:00:03 > gcd 12341234 1234123412341234 14:00:04 12341234 14:00:18 crystal-cola, there better be a good reason for this! 14:00:36 it can't be a coincidence :P 14:00:45 imagine if no others than the ones we happened to try out did this 14:01:10 crystal-cola, imagine that most but not all did this 14:01:23 not very likely though 14:01:28 that would eb weird 14:01:57 crystal-cola, well, some stuff only have counter-examples for very very large numbers. 14:08:27 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:12:17 wait 14:12:27 crystal-cola: it reduces to showing 10..010..010..01 does not have common divisors with (that same thing with more ..) 14:12:39 10..010..010..01 = 11111 in base 1000! 14:12:41 rather 14:12:44 that they are coprime 14:14:11 yeah, dividing by 111..111 may be the thing to do to see that 14:15:32 -!- MigoMipo has joined. 14:30:25 -!- augur has quit (Remote host closed the connection). 14:31:59 -!- augur has joined. 15:32:00 -!- augur has quit (Remote host closed the connection). 15:34:57 -!- augur has joined. 15:40:38 WANTED: Grammar description language capable of describing indentation-sensitive languages which isn't just "BNF + indentation bullshit" 15:42:33 Gregor: just preconvert the indentation to braces 15:43:30 That doesn't give me anything fundamentally interesting. 15:44:37 What I want is to find a set of languages slightly greater than CFLs that includes indentation-sensitive languages, but still has some meaningful guarantees (parseable in finite time?) 15:46:16 Err, obviously "parseable in finite time" is not a good property since that's CSLs :P 15:47:23 Basically, I wonder if there's something in between that includes Python's grammar but excludes English, which is fundamentally more interesting than "CFLs + Python" 15:48:06 (Also Haskell, etc) 15:54:00 For instance, if I allow this: IfStatement = / /*n /if/ IfCondition /:/ Newline NestedStatements(n) \ NestedStatements(n) = / /*(m>n) Statement (Newline NestedStatements(n)){opt} 15:54:57 Somewhere one of those should be marked as a peek, but anyway. 15:55:12 What property can allow me to describe the carrying of these "repetition values"? Clearly this is not a CFL, and yet if I had a strict description of what allowed this it would be much weaker than CSLs. 16:12:21 -!- elliott has joined. 16:12:25 so i hear obama died 16:13:05 yes the world is free of islam now 16:13:22 you misspelled muslin 16:13:56 15:40:38: WANTED: Grammar description language capable of describing indentation-sensitive languages which isn't just "BNF + indentation bullshit" 16:14:00 Gregor: Is this for Fythe? :P 16:14:07 elliott: I asked in the otehr channel 16:14:13 Will the death of Osama bin laden lead to any new insights into the Riemann hypothesis? 16:14:13 what other channel 16:14:21 absolutely 16:14:39 Gregor: BTW, Haskell and Python do it differently. 16:14:55 Indentation-for-braces is totally non-context-free-and-all-sorts-of-shit, Haskell's is probably even worse. 16:15:06 Gregor: Preprocessing is pretty much the only option /shrug 16:17:25 Gregor: go invent two-dimensional BNF 16:17:42 as in, see the file as a two-dimensional image, not as a sequence of bytes 16:17:49 I think there might be merit to that approach 16:22:53 -!- elliott has quit (Remote host closed the connection). 17:04:13 -!- poiuy_qwert has joined. 17:09:21 elliott (not here): Well, my plan is to just make it so any general function can be used as a parser, which solves all problems, but I was just wondering if I could find a middle-ground. 17:09:31 Gregor: go invent two-dimensional BNF 17:09:31 as in, see the file as a two-dimensional image, not as a sequence of bytes 17:09:32 This I like. 17:10:28 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 17:12:46 -!- variable has quit (*.net *.split). 17:12:46 -!- myndzi has quit (*.net *.split). 17:13:33 -!- variable has joined. 17:13:33 -!- myndzi has joined. 17:24:59 -!- sebbu2 has joined. 17:24:59 -!- sebbu2 has quit (Changing host). 17:24:59 -!- sebbu2 has joined. 17:28:44 -!- sebbu has quit (Ping timeout: 260 seconds). 17:33:52 -!- tzxn3 has quit (Read error: Connection reset by peer). 17:43:53 -!- Slereah_ has quit (Ping timeout: 260 seconds). 17:47:38 -!- Slereah has joined. 17:50:18 -!- elliott has joined. 17:59:07 I'll bet (note: no actual bet) that you could divide indentation-sensitive languages into two CFL (or near-CFL?) parsing steps given the "view it as a 2D array" approach, one of which is top-to-bottom-then-left-to-right and essentially ends up being the brace-adding preprocessing step (this in the case of Python where it really is just brace-adding), and the other is a standard left-to-right-then-top-to-bottom by-the-book parser. 18:00:32 http://www.aftertherapturepetcare.com/ 18:00:54 elliott: the URL is enough, there's no need to even visit the website 18:00:58 ais523: haha 18:01:11 Gregor: Yeah, but you need to be thinking about Haskell here, where you can freely mix {;}-style blocks and aligned-or-indented blocks 18:01:12 That is, both 18:01:13 do abc 18:01:16 def 18:01:16 and 18:01:18 ... = do 18:01:20 abc 18:01:22 def 18:01:24 are valid block styles. 18:01:26 Basically it's a mess, lexer-wise. 18:01:53 (I'm pretty sure you can do it as just "everything must line up with the first code line, and the first code line can have arbitrary whitespace before it", but still.) 18:02:41 "Who are these Volunteer Pet Caretakers and how do I know they'll take good care of my pets? 18:02:42 Most Volunteer Pet Caretakers fit this description: 18:02:42 They are atheist or another non-Christian religion. 18:02:48 Oh god I have to sign up as a caretaker it's too hilarious not to. 18:02:53 Ugh, I got throttled. 18:02:56 I hate you freenode. 18:03:20 "As far as the data about all registered pets, it is located on Google servers (the most secure servers in the world) as well as our own server in Lansing, Michigan (away from political and military hot spots to minimize chance of destruction if there is a post-Rapture war)." 18:06:04 elliott: thinking about it, the people in charge of that site are probably very smart 18:06:14 ais523: I'm /thinking/ it's a joke 18:06:16 they're likely hoping that their services are completely useless 18:06:17 "You have a responsibility, as a good steward of your pets, to ensure your pet is taken care of if something happens to you, such as death or rapture." 18:06:20 but it's so well-done I can't tell 18:06:25 I love how this sentence starts totally reasonable, then goes retarded. 18:06:31 and if they can charge for them anyway, and people will purchase it, it'll make a fortune 18:06:42 Gregor: wow, it turns amazing in the last word 18:06:48 ais523: It's only ten dollars initial signup :P 18:06:57 ais523: And NO MONTHLY FEES 18:07:23 elliott: I hope it allows a method of payment other than credit card 18:07:38 otherwise it triggers that "number required for buying and selling" bit of Revelations 18:07:43 The great thing is it even sort of makes sense from a Christian point of view... you might not trust atheists to follow up on their word, but shit, who's gonna be an atheist after the fuckin' Rapture? 18:08:01 ais523: hahaha 18:08:12 p.s. nitpick it's Revelation 18:08:45 that bit's great, as it sets the sort of people who interpret the Bible literally against the sort of people who spend their time thinking up of new ways to deny human rights for their own profit 18:08:56 otherwise it triggers that "number required for buying and selling" bit of Revelations // they're not trying to STOP the rapture 18:09:09 X-D 18:09:13 This thing has SO MANY LAYERS 18:09:20 At this point I want it to be real :P 18:09:40 Gregor: but the people buying the services might be afraid that by buying the rapture petcare service, they're willingly accepting the mark of the beast 18:09:45 Anyway, obviously you just have to convert your pets to Christianity and they'll get raptured with you. 18:09:47 so that later on, when the rapture actually happens, they won't be included 18:09:57 If they don't, well, it's their fault for not accepting Animal Jesus' love. 18:10:01 "Woof Jesus woof woof" 18:10:07 Meowsus 18:10:08 -!- Gregor has changed nick to Yahweasel. 18:10:21 <-- guaranteed anti-rapture insurance. 18:10:21 And Yahweasel said to Meowsus... 18:10:40 googled "furry bible", was not disappointed 18:10:51 D-8 18:10:51 "[...] a Bible fanfic - FanFiction.Net" 18:10:56 Also known as the Book of Mormon. 18:11:03 X-D 18:11:33 i'm not sure the person who wrote this furry bible ever actually read a bible 18:13:11 [22] And the rib, which the LORD God had taken from man, made he a catperson, and brought her unto the man. 18:13:28 (Amen) 18:14:40 Hay guiyz, bf joust 18:14:47 I nose, rite? 18:14:54 I keep wanting to catch up, but haven't had the time. 18:15:05 slowpoke still reigns 18:15:10 ais523: are you sure the idea you had is unbeatable? 18:15:53 Yahweasel: quintopia: Are you ever gonna code that fixed-point system or do I have to 18:16:02 elliott: You have to. 18:16:10 I don't wanna ;_; 18:16:11 I never was going to, btw. 18:16:14 -!- Slereah has quit (Ping timeout: 240 seconds). 18:16:19 elliott: Enjoy doing that without a 1-8 btw. 18:16:20 Yeah but maybe you changed your mind :| 18:16:25 Yahweasel: It'll be great. 18:16:40 Here, have a "#" so you can #define 18:16:44 Thanks bro 18:17:06 Now you just need #define ONE (9/9) #define TWO (ONE+ONE) etc 18:17:14 elliott: i started it but then i had to do these huge stupid projects. i finished the lrvm thing and so i should be able to finally get back to that next week 18:17:36 Yahweasel: Excellent 18:17:46 quintopia: Hooray, maybe I'll even write lance. 18:17:51 elliott: I don't think slightly-improved-slowpoke is unbeatable; but I can't find any viable way to beat it with a defensive program 18:17:52 NO DEADLINE BITCHES 18:18:05 ais523: that doesn't matter if the hill has enough good attacker programs, though 18:18:10 thankfully, matches don't exist in a vacuum 18:18:11 it can definitely be beaten by programs similar to itself and slightly tweaked 18:18:12 -!- Slereah has joined. 18:18:17 ais523: THEN WHY ISN'T IT ON THE HILL 18:18:20 and maybe by different aggressive strategies altogether 18:18:52 and because I haven't written slightly-improved-slowpoke yet; a) it's theoretical, b) there's no point as it'd just get one win that slowpoke doesn't, against anticipation 18:19:12 the slight improvement would make slowpoke rather longer, by a factor of 4 or so, as it doesn't RLE well 18:19:38 maybe we need a new construct, <...> 18:19:51 basically, it runs the innards as a regular-BF-without-input-and-with-BF-Joust-shorthand program 18:19:57 and then inserts the output into the program 18:19:59 Brilliant isn't it 18:20:01 they can even nest 18:20:05 what I really want is (?number) from Perl 18:20:15 to do what? 18:20:17 although even that wouldn't compress anticipation all the way 18:20:29 elliott: basically, "replace this with a copy of the nth paren group in the program" 18:20:37 ais523: that's subroutines 18:20:39 cheating 18:20:40 :D 18:20:45 elliott: recursive subroutines 18:20:52 and obviously it's cheating 18:20:54 ais523: it can do recursion? ugh 18:20:55 how 18:21:00 by putting it inside itself 18:21:05 wouldn't it expand to an infinite string, conceptually? 18:21:08 as in, (a(?1)?b) 18:21:09 and thus be disallowed by a sane implementation? 18:21:20 and yes, it would, you'd need to put some sort of limit on there 18:21:45 ugly 18:21:53 I'd be ok with something like 18:21:54 (code)=name 18:21:56 and then 18:22:02 (name)[at sign] 18:22:03 or something 18:22:08 for efficiently-interpreted macros 18:22:10 I mean 18:22:11 it's cheating 18:22:15 but it's better than huge programs 18:23:41 I've thought of an interesting alternative for a separate hill, which bans huge and highly-nested programs, which works like this: a) all programs must fit in one line of IRC (510 chars minus headers); b) ({})% abbreviation can't be used, just ()*; c) defensive tiebreak rule 18:24:17 the defensive tiebreak rule is, if the run times out, whenever a program used . at least 59 times in a row, it gains 1 point for each time it used it in excess of the 58th 18:24:17 yeah, but that's boring :) 18:24:24 and whichever program got more points wins 18:24:58 basically, the motivation behind this is that a full-tape clear is the typical way defense programs win, but takes a lot of space to write 18:24:58 -!- elliott has quit (Read error: Connection reset by peer). 18:24:58 -!- elliott_ has joined. 18:25:18 if you have at least 59 cycles spare, and know the number exactly, you can fit in part of a full-tape clear 18:25:25 so just let the program do . a lot and imply the clear for them 18:27:47 I think that change will leave aggressive and defensive programs of similar complexity the same length 18:27:48 -!- elliott has joined. 18:27:51 ais523: arguably, for the main hill, we /really/ need a TC macro language 18:27:52 because in the long run, it'll either be that or gigantic programs 18:27:54 because BF has almost zero abstraction capability, and with BF Joust, the fact that every cycle matters reduces that to flat out zero 18:28:22 -!- elliott_ has quit (Read error: Operation timed out). 18:29:22 [19:24] if you have at least 59 cycles spare, and know the number exactly, you can fit in part of a full-tape clear 18:29:24 [19:24] so just let the program do . a lot and imply the clear for them 18:29:25 [19:26] I think that change will leave aggressive and defensive programs of similar complexity the same length 18:29:31 seen in logs 18:29:36 and yes, the only reason defense programs work is laziness 18:29:44 and the program size limit 18:29:53 define laziness 18:29:57 -!- Slereah has quit (Ping timeout: 258 seconds). 18:29:57 otherwise, it's trivial to unroll loops and get them to do something slightly different each time 18:30:04 laziness in the normal English sense, not the programming sense 18:30:12 howso 18:30:20 -!- Slereah has joined. 18:30:28 well, you can just change all whiles into nested ifs 18:30:41 well, right 18:30:50 and ifs by changing a if(*tape) c else d; e into a[ce]de 18:31:07 the resulting programs would be larger than the size of the universe if done naively 18:31:09 but who cares 18:31:18 not /that/ large 18:31:44 it gets larger by a factor of about 2 for every if used 18:31:52 hmm 18:31:55 and so it goes exponential, and could easily get to 2^128 or even 2^1000 18:32:01 fair enough 18:32:08 if only we had the bits 18:32:59 Yahweasel: Anyway, re: Python/Haskell, proggit has just reminded me that C isn't context-free either... preprocessing of some kind (usually in the lexer) is kind of inevitable for a ton of languages. 18:33:07 And the twodee thing won't fix it for C either. 18:33:50 elliott: What's the issue for C? Hopefully not di/trigraphs ... 18:33:57 Yahweasel: typedef-name: identifier 18:34:00 f((T)[asterisk]x) 18:34:03 T [asterisk] x; 18:34:05 Oh, of course. 18:34:10 etc. 18:34:21 Oh and it's even worse than that... http://eli.thegreenplace.net/2011/05/02/the-context-sensitivity-of-c%E2%80%99s-grammar-revisited/ 18:34:24 Because of shadowing. 18:34:52 "I don’t really see a problem with that. The context is pretty clear. 18:34:52 You must not parse C code with a bunch of regex. YACC should know how to deal with scopes 18:34:52 in python you can have str pointing to the number 5 and, at some other point, back to the string class 18:34:52 This also can be an extension of the SFINAE rule… I guess" 18:34:55 --incoherent commenter 18:35:36 Yay for imbeciles. 18:35:45 Yahweasel: BTW, http://scottmcpeak.com/elkhound/ seems like a pretty good parser generator as far as language support and speed goes... "Elsa can parse most C++ "in the wild". It has been tested with some notable large programs, including Mozilla, Qt, ACE, and itself." 18:35:59 Oh, it's not a parser generator. 18:36:02 Is it? 18:36:03 Yes it is. 18:36:08 Elsa is a C++ generator written in Elkhound. 18:36:17 It's still restricted to context-free though, like everything. 18:36:37 Yahweasel: You want imbeciles? I'll give you imbeciles: 18:36:37 Sunnil Gupta Says: 18:36:38 May 2nd, 2011 at 12:01 18:36:38 Why do you not put the downloads here for people to get your softs? It is very troublesome otherwise. 18:36:51 The softs for context sensitivity of C's grammar. 18:36:59 typedef char AA; 18:36:59 void foo() 18:36:59 { 18:36:59 int aa = sizeof(AA), AA, bb = sizeof(AA); 18:36:59 } 18:37:00 LAAAAAAAAAAWL 18:37:05 That is delightfully evil. 18:37:14 It's brillant. 18:37:21 C: MAYBE KIND OF SHITTILY DESIGNED???? 18:39:00 However, all of the examples I see can be pushed past parsing by just adding a single nonsensical parsing rule and rejecting it as a semantic error. e.g. make "declaration = identifier identifier" valid, then consider that case in light of the actual compiler's understanding of scopes. 18:39:23 Probably missing something, or maybe the issue is simply that the definition says it's a syntax error instead of a semantic error. 18:39:32 Yahweasel: Well, sure, you can make your parser just parse any number of characters and do nothing with them and handle everything later... 18:39:39 But a parser that doesn't produce a useful AST sucks :P 18:39:44 -!- poiuy_qwert has joined. 18:39:49 I think my example AST here is still useful. 18:39:50 Since the handling of both cases in e.g. f((T)[asterisk]x) is totally different. 18:40:08 Yeah, that's true >_> 18:40:16 Bleh, that really is the grottiest case, stupid unary. 18:40:40 I suppose if you do it visitor-pattern style, then the node can look at global data, construct a new proper AST node, and forward the message on... 18:40:43 But that's horrible. 18:40:57 Especially since multiplication now becomes uncertain :P 18:41:05 (OK, it could special-case "statement with just multiplication" but BLERGH) 18:41:07 Yahweasel: Oh wait it's worse 18:41:07 IVE code 18:41:09 T [asterisk] x, y 18:41:22 Yahweasel: Is that seq(multiply(T,x),y) or decl(T,[x,y]) 18:41:28 EVERYTHING IS AMBIGUOUS YAAAAAAAAY 18:41:33 Hyuk. 18:41:39 typedef: Worst ever? 18:41:46 BEST 18:41:56 typedef int A; 18:41:56 void func() 18:41:56 { 18:41:56 A A; 18:41:56 } 18:41:57 Bahahahaha why is that even legal 18:41:57 Comma: worst ever? 18:42:08 Deewiant: Considering that the ambiguity exists entirely independently of the comma... 18:42:11 The comma just makes it worse :P 18:42:34 Disallow no-op expressions at the language level and it's always decl 18:42:43 Firstly, gross. 18:42:46 Secondly, f((T)[asterisk]x) 18:43:01 Thirdl 18:43:02 y 18:43:04 typedef char AA; 18:43:05 void foo() 18:43:05 { 18:43:05 int aa = sizeof(AA), AA, bb = sizeof(AA); 18:43:05 } 18:43:31 Disallow shadowing :-) 18:43:43 I can see you're approaching this language flaw in the best way :P 18:44:28 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 18:44:29 OK, I want a grammar description language that captures C, Python, Haskell and all CFLs. 18:44:30 GO GO GO. 18:44:35 (PS: Screw C++) 18:44:35 Yahweasel: C 18:44:51 Or any other Turing-complete language, you're welcome. 18:44:52 OK, I want a grammar description language that captures C, Python, Haskell and all CFLs but is not itself TC. 18:44:55 GO GO GO. 18:44:57 (PS: Screw C++) 18:45:21 Yahweasel: That one I mentioned plus HeyHandleC/Python/Haskell declarations. 18:45:43 elliott: u r so helpful thx 8-D 18:46:01 Yahweasel: It's pretty much inherently going to be ad-hoc, dude :P 18:46:23 Bahahahaha why is that even legal <-- is it? 18:46:25 wtf 18:46:28 Vorpal: Yep. 18:46:31 elliott: Is it just me, or to types ruin EVERYTHING. 18:46:31 Yahweasel: If I were you, I'd extend Fythe's grammar thing to allow portions of ad-hoc TC code mixed in with the rest of the grammar... then you can localise the ugly. 18:46:40 Also, yes; let's use Forth forever. 18:46:47 elliott, do typedefs live in a difference "name space" from the variable names? 18:46:48 or what 18:46:58 Vorpal: Yes, except variables shadow them. 18:47:00 Yahweasel: If I were you, I'd extend Fythe's grammar thing to allow portions of ad-hoc TC code mixed in with the rest of the grammar... then you can localise the ugly. 18:47:03 elliott: That's how it's intended to work, I just haven't gotten around to adding "terminals" which are functions. 18:47:04 Yahweasel: And make the rest of it that GFL thing. 18:47:04 elliott, *augh* 18:47:05 Or whatever. 18:47:16 So you get all context-free languages without that. 18:47:22 elliott, so... 18:47:26 A A; is valid there 18:47:28 Vorpal: Again, 18:47:30 but A B; following that line 18:47:30 typedef char AA; 18:47:31 void foo() 18:47:31 { 18:47:31 int aa = sizeof(AA), AA, bb = sizeof(AA); 18:47:31 } 18:47:31 is not? 18:47:35 elliott, ^ 18:47:37 see above 18:47:41 I think A B; /is/ valid afterwards because it's unambiguously the typedef. 18:47:41 asking about shadowing 18:47:43 Maybe not though. 18:47:44 Dunno. 18:47:45 ah 18:47:46 I repeat, 18:47:49 typedef char AA; 18:47:49 void foo() 18:47:49 { 18:47:50 int aa = sizeof(AA), AA, bb = sizeof(AA); 18:47:52 } 18:47:54 ah 18:47:55 bb == sizeof(int). 18:47:58 augh 18:47:59 But aa == sizeof(char). 18:48:16 Uh, also known as one :P 18:48:18 that is quite crazy 18:48:32 Never again can a C programmer complain that C++ is impossible to parse. 18:48:41 elliott, from now on I will say sizeof(char) instead of 1 18:48:49 if I don't forget it 18:48:52 Vorpal: Awesome, now I can type numbers in my C code 18:48:56 (9/9) was slow because it used division 18:49:01 But sizeof(char) will be resolved at compile time 18:49:02 :D 18:50:00 elliott, I just realised you can probably apply space-filling curves for the storage layout of infinite-in-all-directions chunks. <-- how efficient? 18:50:06 WRONG CHANNEL BRO 18:50:11 elliott, you weren't in there 18:56:02 ais523: Maaaan, slowpoke looks SO SIMILAR to FFSPG. 18:56:04 *sues* 18:56:28 it is similar in several ways 18:56:35 but there are important differences too 18:56:58 I mean, slowpoke beat more or less the entire field without tweaking (it did after I finished fixes for obvious bugs), FFSPG didn't even after tweaking 18:57:56 and the reason is, slowpoke tries to set up decoys quickly and start attacking quickly, FFSPG spends a long time setting up 18:58:36 Yahweasel: It's even better. 18:58:40 although slowpoke outruns one major program (it might be FFSPG) by only a few cycles 18:58:42 (a)-(b) 18:58:43 and I didn't realise while making it 18:58:45 That could be a typecast. 18:58:50 Yahweasel: Typecast and minus have different precedence. 18:58:52 :DDDDDDDDDDDDDDDDDDDDDDDDDDD 18:59:01 ;D::D;DDDD;DDDDDDDDDDDDDD;DDD 18:59:16 oh, a could be either a type or a variable, so how it parses depends on the identifier table 18:59:17 that's evil 18:59:29 ais523: Yes, we've already covered that, this is just making it even worse ;P 18:59:30 :P 18:59:33 Stupid keyboard. 18:59:54 it's like return (a, b) in Perl 18:59:57 we were both shocked by that one 19:00:06 hmm, what does that do? 19:01:08 -!- zzo38 has joined. 19:01:23 I made program in TeX for recording a D&D game. Did you play this D&D game? 19:01:50 elliott: parses it as an array constant or comma operating depending on whether the subroutine it's in was called in scalar or list context 19:02:01 ais523: haha, wow 19:02:11 ais523: is that the trick that one package uses to tell you how you're being called? 19:02:17 or something like it 19:02:18 at least, I think that's the explanation you came up with for the behaviour 19:02:29 and probably not; wantarray and caller are both builtin functions 19:02:40 so no need for tricks like that 19:02:58 aww 19:03:17 I'm fairly certain that Perl literally cannot be parsed. 19:03:26 Even perl doesn't parse Perl. 19:03:37 It just runs around and screams then barfs out some data. 19:03:45 X-D 19:04:24 Yahweasel: How can that??????????? 19:04:39 Wow, I think you segfaulted zzo38, Yahweasel. 19:07:11 -!- sebbu2 has quit (Read error: Connection reset by peer). 19:07:37 -!- sebbu has joined. 19:07:37 -!- sebbu has quit (Changing host). 19:07:37 -!- sebbu has joined. 19:09:05 the tricky part is making it scream the right things and run in the right direction 19:09:41 Yes, it will have to be 19:11:51 reddit title: An Alternative to Floating-Point Arithmetic 19:11:59 hmm, I wonder what it is? 19:12:03 actual post title: Fixed-Point Arithmetic 19:12:07 clap clap clap 19:13:14 yhbt, I guess 19:15:46 -!- monqy has joined. 19:16:00 I often use fixed-point so that the calculation can be done by integers and calculation by integers will be the same on all computers, while with floating-point some computers might have different precision or other differences. TeXnicard does not use floating point for anything at all, except to optimize compression of PNGs (which are compressed losslessly anyways, so it is not a problem). 19:33:37 -!- oerjan has joined. 19:34:11 oerjan once joered an an but don't take _my_ word for it 19:34:31 joered? 19:34:34 yes 19:34:48 so hey I think self-BCT in Thue is easy 19:34:50 is that a verb? 19:35:12 yes 19:35:18 what does it mean? 19:35:21 joering 19:37:10 BCT (or self-bct) does look like a thing that would not be hard to write in Thue 19:38:28 I think I've done the cyclic part, and the 0 command 19:38:44 congratulations 19:39:03 tahnks oeslern 19:39:24 elliott: regarding the /// /\ quine, i should note that i'm not able to write /\ only programs myself without somewhat auto-generating them. in case you had any doubt about that. 19:39:38 oerjan: ok mr computer :| 19:39:53 you could have an end-of-string marker and a marker for "put bit at end in progress" that moves forward until it reaches the end 19:40:15 olsner: you have to go back first mind 19:40:32 oh and avoid destroying commands as you execute them 19:41:00 for more freestyle programs it's easier, and i mainly use a bit of s/[\\/]/.\&/g for convenience 19:42:01 elliott: I don't think what I said is an argument against needing to do other things as well :) 19:42:04 *\\\/ 19:42:25 I don't need any weapon. I have marble and slate board! 19:43:23 i guess in principle BCT is almost easier in /// than thue since you can "easily" move data to the other end of the string 19:43:26 http://sprunge.us/LYTN ;; what I have so far 19:43:47 all that's left is making 1x move to the right, append, and go back, if it's one 19:44:02 oerjan: yeah, but it loops 19:44:05 so with /// you need quining 19:44:14 thus the "almost" 19:45:50 http://sprunge.us/ZLVX 19:45:53 I think this is all of it? 19:45:55 no output, mind 19:46:57 you can have blank lines inside thue programs? 19:47:32 oerjan: i dunno, it was just for my ease of coding 19:47:43 first block handles 0 (and also getting back to ip going forwards, used later) 19:47:48 second block handles one 19:48:00 third, fourth and fifth block handle one's effects 19:48:07 last block handles cycling 19:48:09 yeah i found the first block intuitive 19:48:12 untested, mind you 19:48:18 oerjan: basically the only problem is getting around 19:48:28 one has to go all the way to the left, /then/ all the way to the right, /then/ back to the IP 19:48:41 elliott: i think you sort of end up emulating a turing machine, almost. 19:48:47 heh, cool 19:48:53 well self-BCT is arguably a turing machine 19:48:57 actually 19:49:06 BCT is basically a turing machine specification language, obviously 19:49:14 and self-BCT is ... yeah 19:49:16 when do you need to go all the way to the left except after IP reaches end-of-program? 19:49:24 olsner: 0 deletes leftmost bit 19:49:44 aha! the leftmost bit, I thought it deleted at IP 19:49:48 nope :) 19:50:05 gah the thue js interp is down 19:50:23 i might have to be unlazy 19:50:24 elliott: i think you may be able to identify < and { 19:50:39 oerjan: possibly; that's just confusing though :) 19:50:41 Do you like to read Dungeons&Dragons recordings? 19:50:57 can I just say that Thue's IO is incomprehensibly ugly 19:51:07 elliott: agreed 19:52:19 zzo38: it's more fun to play than to read other people's games 19:52:39 ais523: maybe you like it, but just never do it? 19:52:42 if zzo38 can be a fan of cricket... 19:52:42 well the dread gazebo was pretty funny 19:52:47 elliott: if you need to run some Thue code and have a spare apache server lying around ... :P 19:52:52 olsner: :D 19:53:09 ais523: Yes it is, but still is sometimes good to read it too (it also includes all character data, as well as the events in the game). 19:53:31 I haven't posted the new version of the compiler or its runtime system though 19:53:40 i'm not sure if i have read any others. except darths & droids which doesn't really count 19:53:57 olsner: runtime system lol 19:54:59 well cpressey is the one with an "implement multiple esolangs in javascript" project, isn't he 19:55:04 oerjan: Yes there are some of those. Perhaps look at mine see if it interests you at all. If you have additional questions/comments I can also take them into considerations 19:55:23 oerjan: it's actually java 19:55:27 oh right 19:55:38 elliott: yeah :) I should extend the compiler to output it automatically though - I just didn't know how to output constant strings from sed when I originally wrote the code 19:55:44 olsner: :D 19:56:00 Yes, is Java. But there are some mistakes on those program, but it can be improved later, hopefully 19:56:42 do the mistakes include having a comprehensible ui 19:57:16 elliott: No, I mean things that fail to work properly, although some of them might have been corrected by now (I haven't checked). 19:57:40 The two other player characters I do not have their character sheets, so I have not put their data in. But you can guess by the story text, what their data might be? 19:59:00 * oerjan swats elliott -----### 19:59:03 Did you read it yet? 19:59:15 i'm not really interested 19:59:43 Do you ever play D&D game? 19:59:54 If so, would the program I used to record it, helping you at all? 19:59:57 only once, at a convention 20:00:36 elliott: if you extend your interpreter to several in-progress instructions, e.g. by having a couple of different instruction pointers, you could make it parallelisable by a parallel thue interpreter 20:00:46 olsner: lol 20:00:51 I have played Big Eye Small Mouth game once at an anime convention. 20:01:01 olsner: it might even work if you have multiple ips 20:01:07 as-is 20:01:19 it'll get stuck if two movers meet though i think 20:02:02 yeah, but obviously you won't get any speedup unless the thue interpreter is also doing replacements in several threads :) 20:02:29 speedup of a totally different language :P 20:03:02 I think you need to make sure movers never cross each other, so the output ends up in the right order 20:03:12 elliott: your program is of course intrinsically single-threaded, because it is essentially using one char as TM head all the time 20:03:22 oerjan: not if you add two IPs 20:03:27 yeah 20:03:30 it _might_ even not break :D 20:03:37 you'd need rules for the movers to move around each other really 20:03:40 not hard 20:03:43 instruction-level parallelism :) 20:03:58 heh 20:04:29 or maybe elliott is talking about multiself-bct 20:04:36 wat 20:04:40 i was assuming he was 20:04:47 define multiself 20:04:54 Tell me, one thing, what is missing from this D&D recording program? Is there any improvement to suggest? 20:05:05 elliott: the current IP being the self, i guess 20:05:10 right, yes 20:05:18 just put multiple |s in different places in the same program :P 20:06:02 elliott: oh! you might in fact end up with a "thread" changing between IPs this way 20:06:16 oerjan: you mean e.g. >< or similar? 20:06:17 since the X's are not distinguished 20:06:21 oh 20:06:22 well that's fun :) 20:06:41 -!- zzo38 has left. 20:06:53 but what I meant was making the singlethreaded self-bct just run faster by parallelising the interpreter, not changing its behaviour in any way 20:07:06 actually this might mean you always run either the first or the last X, dependent on which instruction you did last 20:07:12 since that's what you hit 20:07:52 oh and what if two threads are running the same X simultaneously... can we get racing condition :D 20:08:10 (with instructions for the same X being done in the "wrong" order) 20:08:31 both threads, racing to the end of the string :) 20:09:50 -!- cpp_programmer has joined. 20:10:24 cpp_programmer: I program in the C preprocessor too 20:10:29 although I've never got that list library to work 20:10:31 heh, I completely missed the "if L>0:" part as well 20:10:40 Hey :) 20:10:43 olsner: that won't work because there is always just one possible substitution. well i guess you could parallelize the search for where it is. 20:10:49 olsner: I don't think self-BCT can be parallelized 20:11:43 CPP programmer?? 20:11:49 one time I tried programming in the c preprocessor. it was nightmarish. 20:12:02 child porn processing 20:12:04 monqy: you misspelled fun 20:12:17 crystal-cola: hey, it's TC 20:12:26 elliott: I guess not, at least not unless you start by adding the ridiculous extra steps required to implement it in Thue 20:12:26 modulo probably-OK-by-the-standard implementation limits 20:12:26 only when put into a wwhile loop 20:12:29 crystal-cola: wrong 20:12:32 ?? 20:12:34 crystal-cola: there's a full functional language implemented in cpp 20:12:43 see chaos-pp and order-pp 20:12:47 order-pp being the language 20:13:34 crystal-cola: btw both are actually defined for real whirrled usage :D 20:13:44 so what you can parallelise is having several in-flight movers (and checkers) to the left and appenders to the right 20:13:44 is that C++ templates? 20:13:47 crystal-cola: no 20:13:50 it's the c preprocessor 20:14:01 former is a big generic library, latter is a functional language that can actually be used to automate code generation 20:14:10 Well, the answer is simply that the preprocessor is _not_ Turing complete, at least not if the program is preprocessed only once 20:14:13 crystal-cola: I'll find that Usenet post with the bignum fibonacci in cpp 20:14:15 It _is_ 20:14:17 You are incorrect 20:14:25 no 20:14:28 hmm... I think you should be able to start running every instruction in the program at the same time? 20:14:44 crystal-cola: this is pointless, you're wrong but you're not even backing your claim up with any evidence 20:14:59 elliott: i see a bug in your _ handling - what if a 1x command is wrapping? 20:15:05 oerjan: oh, ugh 20:15:10 "you are incorrect! 20:15:38 hmm, well, almost at the same time... you have to find the boundaries between instructions before starting work on them I guess 20:15:43 crystal-cola: prove it; I have my own proof: there's a full functional language with lambdas and recursion implemented in cpp 20:16:00 as well as, separately, enough infrastructure to write a (I forget whether iterative or recursive) bignum fibonacci 20:16:31 crystal-cola: http://groups.google.com/group/comp.lang.c/msg/082ffefaaed3b450 20:16:34 there's the fibonacci 20:16:41 elliott: other than that it looks eminently plausible 20:16:53 "The program above computes the 500th Fibonacci number with the 20:16:53 preprocessor. It takes about 20 seconds to compile with GCC on the Linux 20:16:53 VM that I'm running on a mid-range machine." 20:17:29 "Note, BTW, that I'm not suggesting that computing Fibonacci numbers with the preprocessor is advisable." 20:17:40 yeah :D 20:17:48 Lmao! 20:18:05 granted, this is #esoteric and such things are COMPLETELY NORMAL, but that's the kind of dramatic understatement we all live for 20:18:23 crystal-cola: so what's your evidence that the c preprocessor is sub-turing 20:19:10 because I caouldn't google chaos-pp 20:19:26 it gives the sf project for the top result here... 20:19:37 I googled chaos preprocessor and I got it as top result too 20:20:00 http://cvs.sf.net/viewcvs.py/chaos-pp/order-pp/example/lambda/lambda.c?view=markup 20:20:16 http://chaos-pp.sourceforge.net/ 20:20:19 that's a fourohfour 20:20:20 the fisrt link 20:20:20 blank 20:20:24 exactly 20:20:28 what 20:20:32 just check out the repository ... 20:20:37 http://sourceforge.net/projects/chaos-pp/ 20:20:39 http://sourceforge.net/projects/chaos-pp/files/ 20:20:41 no files 20:20:44 REPOSITORY 20:20:47 This project has no files. 20:20:49 REPOSITORY 20:20:55 http://chaos-pp.cvs.sourceforge.net/chaos-pp/ 20:21:11 hello these are files?? 20:21:11 What is the definition of the CPP? 20:21:17 crystal-cola: C Preprocessor. 20:21:20 you know, the stuff with hashes. 20:21:22 monqy: nice find 20:21:24 -!- Mannerisky has quit (Ping timeout: 260 seconds). 20:21:30 "nice find"??? 20:21:32 elliott: language definition 20:21:34 It's linked right there on the SF project page 20:21:37 monqy: you should've just said "REPOSITORY" until he got it 20:21:38 crystal-cola: see C99 standard 20:21:44 well it wasn't linked there when I looked 20:21:50 code->cvs browse 20:21:53 what monqy said 20:22:11 http://chaos-pp.cvs.sourceforge.net/viewvc/chaos-pp/order-pp/example/fibonacci.c?revision=1.8&view=markup this is what fibonacci looks like in teh functional language btw 20:22:15 the 20:24:24 elliott: ugh this thing is so long 20:24:28 what is 20:24:35 if you're trying to read the source to order don't bother, it's insane 20:24:39 chaos-pp is a bit more readable 20:25:56 I guess it's all about #include then? 20:25:57 I'll bet (note: no actual bet) that you could divide indentation-sensitive languages into two CFL (or near-CFL?) parsing steps given the "view it as a 2D array" approach, one of which is top-to-bottom-then-left-to-right and essentially ends up being the brace-adding preprocessing step (this in the case of Python where it really is just brace-adding), and the other is a standard left-to-right-then-top-to-bottom by-the-book parser. 20:26:03 to get loops and stuff 20:26:20 crystal-cola: nope 20:26:26 how is it done? 20:26:34 crystal-cola: I don't even know, all my similar attempts have failed 20:26:39 and _i'll_ bet (note: no actual yadda yadda) that won't work for haskell's "add implicit } on error" rule 20:26:40 I think you basically have to write a sort of FSM 20:26:45 using token pasting to generate macro names 20:26:50 Yahweasel: ^ 20:29:36 although i approve of the idea, since that's one way bfjoust (({{}})%)% can be parsed 20:31:34 so i hear obama died 20:31:36 wat 20:31:45 ya they killed him outside his home 20:31:49 in pakistan 20:31:52 Will the death of Osama bin laden lead to any new insights into the Riemann hypothesis? 20:31:55 and now he isn't president any more 20:32:11 my impression is a lot of people think osama died years ago 20:32:30 and all the recordings are fake 20:32:38 osama died because of cqpitalism 20:32:50 sorry obama 20:32:52 missepeld 20:32:54 I did too, but I think I might have confused him with saddam hussein 20:33:01 -!- Yahweasel has changed nick to Gregor. 20:33:07 Gregor: shut up gorgor 20:33:08 (something about how the video always stops whenever he speaks about something recent) 20:33:23 leaving just an easily faked audio part 20:33:25 Argh, I'm so tired of bip renaming me whenever I reconnect :P 20:33:27 -!- Gregor has changed nick to Yahweasel. 20:33:36 You're a bip. 20:33:53 Yahweasel: ^ 20:34:31 Yah're a weasel. 20:35:01 yahreaweasel 20:35:21 this is just a sign that humanity will soon become slaves of our new weasel overlords 20:35:33 lead by obama 20:35:35 (RIP) 20:35:40 whom i for one welcome, of course 20:35:46 Yahwe Asel 20:35:46 in fact forget the obama 20:35:52 Y Ahweasel 20:36:00 y u a weasel 20:36:44 elliott: what was the bug about _ in that interpreter of yours? 20:36:45 asdfghjkl;'\\ 20:36:50 olsner: basically one can wrap 20:36:51 i.e. 20:36:54 -!- Slereah_ has joined. 20:36:54 you can have the last bit be one 20:37:00 and its "parameter" (bit to append) be the first bit 20:37:05 so you potentially need to wrap in that case 20:37:07 which is a bitch 20:37:14 you just need another mover character 20:37:44 eugh, can't you just remove that particular rule and say that a final 1 is invalid or something? 20:37:58 that's hideous 20:38:00 it's bitwise _cyclic_ tag 20:38:08 the fact that you need a beginning and an end is an implementation detail 20:38:12 ok the fact that you can append sort of makes it not 20:38:14 but i don't care 20:38:16 it's much prettier this way 20:38:21 bitwise left-to-right repeating tag 20:38:23 also I'd doubt its TCness if that was invalid 20:39:04 Oh man. 20:39:09 Haskell guys getting it from both ends. 20:39:12 -!- Slereah has quit (Ping timeout: 240 seconds). 20:39:17 #esoteric and now, #fsharp. 20:39:41 don't swear in this channel please "fsharp" is very offesnive 20:40:00 http://codepad.org/sy6mvs1j 20:40:07 I am personally offended by that word. 20:40:10 -!- elliott has set topic: ouer heaerts go out to htose in the recent nfunctionslkaj disotasietr whenjk jtwentyfurou don stewrarts losjot theries liveseils to fsharppe | "Programming may one day be about getting the maths right" -- Alan Alda | "Functional programming is more than just esoteric; it’s becoming somewhat cool." -- Tiger Woods | "Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/es. 20:40:20 Is anyone professionally offended? 20:40:29 yes i'm paid to be offend 20:40:39 hmm, I kind of agree that it should loop... that loopiness probably interferes with my plans for parallelising it 20:40:42 elliott: That explains it. 20:41:26 elliott: got cut off after /logs/es 20:41:28 gcd 111..111 111..111 = 111..111? 20:41:34 oerjan: i doinaent coiarje 20:41:44 those are (10^n-1)/9 and (10^m-1)/9. 20:41:45 yuorew uro so sinsensentive to htohe djon stewrajkrts of htiosj lowrlds 20:42:19 multiplying by 9 won't change anything much, so... 20:43:07 or maybe you could like wait for all other activity to finish before a wrapping final 1 starts executing, and that would potentially solve itself by the same mechanism that makes all the other instructions take effect in the right order 20:43:27 why don't we just make super-parallel self-bct 20:43:32 every instruction in the string is executed simultaneously 20:43:37 forever 20:43:38 beautiful 20:44:06 so essentially the question reduces to whether gcd (a^n-1) (a^m-1) = a^gcd(m,n)-1 always 20:44:17 excuse me i just invented the most elegant language 20:44:41 elliott: exactly what I said like 30 minutes ago 20:44:51 well i said it better because im better than you obviously duh 20:44:53 god 20:44:57 lol, ok 20:45:02 (the latter always divides the former, at least) 20:45:05 oerjan: make that olsner guy stop talking hes silly 20:46:02 http://upload.wikimedia.org/math/6/1/f/61f34aa25871e9546b6a11243e1bed31.png 20:46:03 elliott: i'm sorry i'd rather not; the last time i banned someone for silly reasons a regular left in a huff for _weeks_ 20:46:04 let's play this game again 20:46:20 Mo'ammerEl Khadhdhaffy 20:46:23 oerjan: did you unban them again? 20:46:31 ais523: yes 20:46:47 antiantioptbot is no longer banned 20:46:54 afair 20:47:41 "Mu'ammaral" lol what is this name even 20:47:55 -!- Slereah_ has quit (Ping timeout: 276 seconds). 20:48:10 the -al is the definite article, and should not attach to the previous word. 20:48:15 elliott: there's a space there - consult the color coding of the image 20:48:37 olsner: hmm, are you sure? The blue segment ends with dash or space or nothing 20:48:48 Which would lead to the possibility of "Foo- Bar" or "Foo Bar" which is just stupid 20:48:53 I suppose you're right 20:49:14 Moamer elKuzzafy 20:49:28 Moamer -Kuzzafy 20:50:07 hmm, you have a point there... maybe the "r" is actually "r " 20:50:23 olsner: It probably just means that the space can be replaced with those. 20:50:41 Kedthaffy hahaha this are just so great 20:50:55 Ked Taffy 20:51:01 yesss 20:51:49 -!- Phantom_Hoover has joined. 20:52:10 I RETURN TO CIVILISATION 20:52:28 crystal-cola: lessee (a^(m+n)-1) = a^(m+n)-a^m + a^m-1 = (a^n-1)*a^m + (a^m-1), meaning gcd(a^(m+n)-1, a^n-1)) = gcd(a^m-1, a^n-1); then gcd(a^m-1, a^n-1) = gcd(a^gcd(m,n)-1) follows by noting that each such step does a part of the euclidean algorithm on the exponents. 20:52:29 -!- Slereah has joined. 20:52:41 woah 20:52:43 Phantom_Hoover: FINALLY 20:52:58 cool oerjan 20:53:42 s/)) =/) =/ 20:53:54 -!- cpp_programmer has quit (Quit: Ex-Chat). 20:54:53 er s/gcd(a^gcd(m,n)-1)/a^gcd(m,n)-1/ as well 20:57:37 Vorpal: ^ you wondered about this as well 20:58:13 and quintopia 20:59:55 -!- Slereah_ has joined. 21:02:25 -!- Slereah has quit (Ping timeout: 276 seconds). 21:10:18 -!- Slereah has joined. 21:11:30 -!- Slereah_ has quit (Ping timeout: 240 seconds). 21:15:06 hmm, just wrote a really complicated haskell program that (in effect) multiplies some peano numbers and determines that mo'amer khuzzaffi has 38400 names 21:15:27 olsner: the page says that some combinations are invalid :) 21:15:38 However, not all are possible, as some alternatives are most probably combined with others, or even impossible with others (for example, simplification of geminated [m:] usually implies simplification of [a:]). 21:15:39 I know, but I don't care :P 21:15:39 hmm 21:15:41 but only USUALLY 21:15:46 FIGHT THE (PRESCRIPTIVIST) POWER 21:15:58 olsner: can you make a random bin laden/gaddafi name bot plz 21:16:25 elliott: nah 21:16:29 awwwwwwwwwwwwwww 21:16:43 I only have an IRC bot in sed, and I don't want to rewrite this in sed :P 21:16:43 http://en.wikipedia.org/wiki/Osama#Variations_of_Osama_bin_Laden.27s_name 21:16:45 NO CHART :( 21:17:28 olsner: I have to say the zz is very stylish 21:17:30 I want a zz in my surname 21:17:32 -!- Slereah_ has joined. 21:17:38 not a dhdh? 21:17:45 well that's ok too 21:18:09 مُعَمَّر ٱلْقَذَّافِيّ‎ wow that's a mess 21:18:16 even has one character my system can't render unless it's an actual square 21:18:28 -!- Slereah has quit (Ping timeout: 276 seconds). 21:18:29 also lol bidi fail 21:19:12 urgh 21:19:23 how do I just do something simple like plot the zeros of a polynomial? 21:21:22 -!- ais523 has quit (Remote host closed the connection). 21:22:08 -!- Yahweasel has changed nick to Gregor. 21:22:18 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:22:19 I HAVE DISCOVERED: BEST LICENSE 21:22:28 oh god 21:22:34 "You may, at your option, use this software under the terms of any of the following licenses:" 21:22:51 (list every license approved by OSI, FSF and Debian) 21:23:19 Because license disjuncts are the bestest! 21:24:13 X-D 21:24:16 What's that from? 21:24:28 Gregor: Also, it should be "This software is licensed under all the below licenses simultaneously:" :P 21:25:17 That's not "from" anything, but it stems from my amusement at e.g. jQuery being licensed under the retarded MIT/GPL disjunct (AKA a license by people who have no fucking clue what a license is), and Mozilla being under the bizarrely-redundant MPL/GPL/LGPL disjunct. 21:25:34 For some reason, every license disjunct seems to include at least one strict subset relationship. 21:26:01 MIT/GPL... why 21:26:08 There is... literally no reason to ever pick the latter :P 21:26:13 Even if you want to make a horrible GPL-only fork you can do that with MIT. 21:26:36 Yup. 21:26:43 It is the "we have no understanding of licenses" license. 21:26:59 Well, Reisig is a Mozilla guy, so he must have inherited the stupid :P 21:27:30 At least with the Mozilla situation, two of the licenses are strictly incompatible. 21:27:31 "Used by over 43% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today.[2][3]" 21:27:35 SADLY NEITHER CITATION WAS GREGOR'S PAPER 21:27:41 Noooose :P 21:27:43 Gregor: Isn't the MPL thoroughly fucked up? 21:27:49 It's a pretty lolsy license. 21:27:58 Gregor: It's like the Apache license, right? 21:28:03 Which I have down in my head as "most stupid license ever never use". 21:28:29 No, as I recall, the MPL is relatively short and simplish, but just happens to disagree with the GPL for some stupid reason. I don't quite recall though. 21:28:32 Apache is incompatible with GPL [two], I wonder how it managed that 21:28:38 (But compatible with [three]) 21:28:43 (Relatively short) 21:28:49 The Apache Software Foundation and the Free Software Foundation (FSF) agree that the Apache License 2.0 is a free software license, compatible with version 3 of the GNU General Public License (GPL).[7] Compatibility in this case means that since the GPL version 3 is considered a superset of the Apache License 2.0, a project combining GPL version 3 and Apache License 2.0 code will need to be licensed under the GPL version 3[8]. 21:28:49 However, the Free Software Foundation considers all versions of the Apache License (as of 2007) to be incompatible with the previous GPL versions 1 and 2.[9][10] 21:29:00 elliott, have you *still* not got your number keys fixed? 21:29:20 That might be true, PH, it might be ture. 21:29:21 true. 21:41:54 -!- cpressey has joined. 21:43:42 A while ago I reminisced on this channel about coding Minesweeper in Turbo Pascal back in the day, then got confused about the timing and figured it must have actually been in Turbo C++. Well, I found the source code, and it turns out it was indeed Turbo Pascal. 21:44:13 Just wanted to post that erratum here, for all who care deeply about historical accuracy. 21:44:34 cpressey: thank you 21:44:36 ive been losing sleep over it 21:44:50 hey can you link to yoob i hear it does thue 21:45:03 -!- azaq23 has joined. 21:48:25 I care deeply about contemporary accuracy too. Therefore: yes, yes it does do Thue. http://bit.ly/yoob 21:48:40 wat 21:48:44 is this the new yoob 21:48:47 new and improved 21:49:02 It does INTERCAL too 21:49:08 And Befunge-9eight 21:49:13 I implemented it in a couple of hours 21:49:27 http://catseye.tc/lab/yoob/applet.html <-- Dear future people: this had all these languages way back 21:49:35 cpressey: how did you fit turbo pascal in ther 21:49:36 e 21:50:02 ...at least it wasn't goatse. 21:50:11 it so is goatse 21:50:14 its the goatsest 21:50:22 note to the future// goatse is a slang meaning "un-gay and hip" 21:52:55 what do un-gay and hip mean in the future 21:52:59 goatse 21:55:03 un-gay is of course the term for what we now call heterosexual or straight. 21:55:41 no 21:55:48 this is of course wildly looked down on in general 21:55:50 un-gay just means you are a robot silly oerjan stop trolling the future 21:55:53 oh well yes that is true 21:56:00 it is the only solution to over popperlation 21:56:05 do robots have hips 21:56:17 does the future have hips 21:56:29 no 21:56:37 robots and industrious people have hips 21:56:40 (dear future hips are vestigal limb meaning jisdfo) 21:56:48 lazy people however have evolved into blobs, which don't 21:56:48 (what jisdfo is, is self-evident) 21:57:03 you're a perol 21:57:56 the word "perol" started out as a pun after a nuclear disaster caused by a computer program having an "o" for "i" typo 21:58:04 youorea a petrl 21:58:42 however over the centuries its meaning shifted to clumsy people (with hips) 21:59:28 dear future: "its" means what "it's" means for you, and vice versa 22:00:19 this was decided by robot arbitration to stop the Great Grammar War 22:00:46 (i mean the future meaning) 22:01:40 its's it's future meaning? 22:01:48 yes 22:01:49 oerjan: lead by the grammar nazi's 22:01:53 and the grammar satlins 22:02:36 -!- cpressey has quit (Quit: Living in the Past). 22:03:40 * Phantom_Hoover → sleep 22:04:23 "satlins" is a portmanteau of "satellite" and "earthlin" (which lost the final g). this was a utopian society formed in (mostly) low earth orbit. it went the way of all utopian societies of course. 22:04:38 elliott, the Illiteracy Communists. 22:04:38 oerjan: yes this is also communism 22:04:47 Phantom_Hoover is talking while asleep by using advanced science 22:04:49 YOU WILL NEVER DISCOVER IT FUTURE 22:04:50 NEVER 22:04:57 NEVERRRRRRRRR 22:04:58 BWAHAHAHA 22:05:02 THIS SECRET DIES WITH ME 22:05:05 AND ME 22:05:08 AND EVERYONE IN THE PAST MWAHAHAHA 22:05:11 Let us never speak of it again. 22:05:16 LOST WISDOM OF THE ANCIENTS NE NE NE NE NE 22:05:23 -!- cheater2 has quit (Quit: Leaving). 22:05:33 i want to dedicate my life to fucking with historians now 22:05:37 NOT THAT THAT HAS ANY RELEVANCE TO ANY OF THIS 22:05:45 (note: sarcasm does not exist in this time so i cannot be using it) 22:05:56 there is a difference of opinion whether nazis or satlins were the worst, if you ignore scale. the former at least never sterilized australia. 22:07:30 (note: sterilized here means in the disinfectant sense, not the fertilization sense. the latter they did with great britain instead, as part of their effort to exterminate gingers.) 22:07:40 *fertility 22:07:55 *the british isles 22:08:05 OK seriously → sleep 22:08:08 -!- Phantom_Hoover has quit (Remote host closed the connection). 22:08:57 oh and the satlins weren't communist, they were libertarians. at least for the first twenty years, before all went really downhill. 22:10:22 (note to the future: downhill means approximately what down orbit means to you.) 22:10:46 xD 22:10:49 (xD is the face of a gerafe) 22:13:54 the "gerafes" or german apes were a hugely successful experiment in cloning technology. the satlins nuked most of them alas. 22:14:34 the remainder artificially interbred with humans until the species merged completely. 22:15:50 (note to the future: the word "artificially" here may seem redundant to you, but wasn't at the time (or ours)) 22:17:11 (at the time it was still possible for > 90% of the population to breed without the help of technology.) 22:18:04 only fourteensj percent now alas 22:18:07 (sj means dsf) 22:18:47 this reduced to about 40% after some satlin nuking, then as elliott mentions to 14% when genetic engineering started making people _really_ diverge. 22:18:59 im half horse 22:19:41 his mother is a famous artist by the name of Sarah Jessica Parker. 22:19:45 *actor 22:19:48 what the hell are you guys talking about o_O 22:20:05 myndzi: we are just explaining things to future logreaders 22:20:30 do log readers exist? 22:20:38 the concept scares me 22:20:49 elliott has been known to do so 22:21:00 just imagine every time in the future when anyone reads this log 22:21:11 I can't know how many it would be 22:21:53 oh, ok then. proceed. 22:22:18 crystal-cola: it's infinite 22:22:21 thanks to sianuirnglarity 22:22:40 you don't actually believe that, do you? 22:22:57 myndzi is the inventor of conversational unicode dancing. sadly he dies in a freak accident just as it really takes off. 22:23:28 -!- Slereah has joined. 22:23:45 -!- azaq23 has quit (Quit: Leaving.). 22:23:58 i'll never know vOv 22:24:10 crystal-cola: belieeeyeve wat 22:24:16 it will gradually evolve into a new form of electronic calligraphy 22:24:19 i didn't program it for that one, too possible to crop up in conversation somehow 22:24:19 -!- Slereah_ has quit (Ping timeout: 276 seconds). 22:24:27 that this log will be read INFINITELY many time 22:25:50 and become a part of ornamental mobile 3d printing design 22:27:00 :/ 22:27:28 i am still talking about myndzi's dancing, btw 22:27:37 I was asking elliott 22:27:48 crystal-cola: INFINITELY 22:27:55 4? 22:28:03 well if i was immortal i'd probably read it like once every ten trillion gajillion years 22:28:05 just to prove you wrong 22:28:33 :S 22:28:41 You irrational 22:28:47 until around 2140, when it becomes deader than disco, ironically at the same time as a new music form fusing disco and scruff takes off 22:30:37 (disco here refers to another dance form from the 1970s, not to its future meaning of flat rotating habitats) 22:31:43 thisr function 22:31:59 ((x)) = 0 if x is an integer x - floor(x) - 1/2 otherwise 22:32:04 I thogh, this functions kind of a dick head 22:32:08 being 0 when its an integer 22:33:11 hm but the limits from each side are -1/2 and 1/2, so it's a sort of average 22:33:32 yeah this was before I realized that 22:33:37 my gut reaction 22:36:02 -!- pikhq has joined. 22:42:12 -!- Slereah_ has joined. 22:42:47 -!- Slereah has quit (Ping timeout: 240 seconds). 22:44:12 -!- crystal-cola has quit (Quit: leaving). 22:53:28 heres a cool function 22:53:43 f(n) = chaitin's omega to the power of n if n is computable 22:53:49 else the closest computable number to n 22:54:20 um, surely there is no such thing as "closest computable number" 22:54:44 oerjan: why not 22:54:47 WHY NOT 22:55:00 because all rational numbers are computable 22:55:08 and? 22:55:10 some reals are computable 22:55:39 -!- Slereah has joined. 22:55:48 yes. but if a real number is non-computable, it will not be rational, and for every candidate there will be a rational number that is closer 22:56:09 so there can be no closest computable number. 22:56:40 -!- Slereah_ has quit (Read error: Operation timed out). 22:57:04 oerjan: hmm 22:57:06 f(n) = chaitin's omega to the power of n if n is computable 22:57:15 else the closest irrational computable number to n 22:57:29 ...there's no such thing as that either 22:57:39 WHYYYYYYYYYYYYYYY 22:57:53 because you can always adjust it by adding a rational to get it a little closer 22:58:24 irrational computable + rational = irrational computable 22:58:39 else the closest irrational computable number with a kolgomorov complexity of no more than log_two(n) squared 22:58:41 bitches 22:58:43 (this applies to irrational and computable separately, of course) 22:59:04 heh 22:59:08 best function 22:59:24 i'll admit that one :D 22:59:38 btw the "bitches" is part of the definition obviously 22:59:45 O KAY 23:00:40 oerjan: can you write a paper on that function plz 23:00:56 oerjan: preferably with a graph 23:01:07 nah. 23:01:33 graphing uncomputable functions isn't my kind of thing, really. 23:02:47 -!- FireFly has quit (Quit: swatted to death). 23:04:24 oerjan: isnt it everyones thing 23:04:39 nope. 23:05:08 * oerjan wonders about that RobotRollCall guy on reddit 23:06:14 most of the time he writes nice scientific comments (and has a huge karma to show for it), but sometimes it looks like he keeps insisting that he is right when he isn't. 23:06:23 hes a robot 23:06:27 they cant accept that theyre wrong 23:06:44 oerjan: examples of the latter? his first page of comments seem ok 23:07:19 what set me off this time was this conversation http://www.reddit.com/r/Physics/comments/h1eb7/black_hole_question/c1rxhc1 23:08:03 admittedly the opponent is more rude, but i _still_ think robotrollcall is wrong there 23:08:45 respond be sure to mention you have a phd 23:09:01 i _still_ don't have an account :D 23:09:28 oerjan: "Wikipedia, eh? Imagine my surprise." ;; it seems like he's the typical intelligent-and-well-educated-but-dicky nerd :P 23:09:43 -!- elliott has quit (Remote host closed the connection). 23:10:13 * oerjan should have mentioned he hasn't read the conversation to the bottom yet 23:10:31 -!- Slereah has quit (Ping timeout: 252 seconds). 23:10:50 -!- elliott has joined. 23:10:51 whops. 23:11:00 * oerjan should have mentioned he hasn't read the conversation to the bottom yet 23:11:19 "The Big Bang can be likened to the Great Depression in the United States of America." 23:11:22 want to take out of context forever 23:11:46 the big bang is really cool 23:11:55 it's weird to think of mutable physics 23:12:07 hmm, self-modifying physics, even 23:13:20 -!- Slereah has joined. 23:16:04 -!- pikhq has quit (Quit: Lost terminal). 23:26:26 -!- Slereah_ has joined. 23:27:37 -!- Slereah has quit (Ping timeout: 260 seconds). 23:27:40 -!- wareya_ has quit (Read error: Connection reset by peer). 23:28:33 -!- wareya has joined. 23:44:31 !slashes /CB/C\\1\/\/C\\1\/C\\2\/\/W\\B\//CE/\/\/C\\2\///WD/worCB ZOMG A COMMENT! CEld!/Hello, WD 23:44:34 CEWDC1WB 23:44:43 ..apparently not. 23:46:08 !slashes /CB/C\\1\/\/C\\1\/C\\2\/\/W\\B\///CE/\/\/C\\2\///WD/worCB ZOMG A COMMENT! CEld!/Hello, WD 23:46:09 Hello, world! 23:46:39 !slashes /CB/C\\1\/\/C\\1\/C\\2\/\/W\\B\///CE/\/\/C\\2\///WD/worCB ZOMG A COMMENT! CEldCB AND ANOTHER ONE! CE!/Hello, WD 23:46:40 Hello, world! 23:46:51 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:47:33 -!- Slereah has joined. 23:48:21 -!- Slereah_ has quit (Ping timeout: 240 seconds). 23:48:59 oerjan: wat 23:49:20 figuring out how one might put comments inside a /// substitution 23:50:10 (this won't work for substitutions that need to repeat themselves on their result, of course) 23:51:26 are you trying to make it a usable language? :D 23:51:28 it would be particularly useful inside a main program quoted loop 23:51:51 ...is _plenty_ usable 23:52:32 you would note i have always used methods to achieve proper indentation. 23:54:18 with the deadfish interpreter i even managed to indent without extra [] around the lines _and_ still have the program print spaces and newlines 23:57:40 -!- elliott has quit (Remote host closed the connection).