00:05:35 -!- pikhq has joined. 00:06:38 I LIVE!!!! 00:06:53 NO, YOU DEAD. 00:07:19 GET BACK IN COFFIN. 00:07:24 * pikhq refuses 00:07:34 Aww. 00:07:51 Mommy, pikhq won't stay dead! 00:09:35 < ihope_'s mom> Tought. 00:10:01 Tough, even. 00:10:19 * ihope_ searches his pockets 00:10:39 I'll give you a dollar if you stay dead until Dad gets home! 00:19:43 -!- Sgeo has joined. 00:20:08 -!- GreaseMonkey has joined. 00:22:36 oklopol: a better windows 3.1 bootdisk: http://greasemonkey.nonlogic.org/w31boot.img 00:23:10 -!- Tritonio has joined. 00:23:25 hello everybody... 00:24:22 hello 00:25:10 'Lo. 00:25:26 GreaseMonkey: That is technically in violation of Nonlogic's policy. 00:25:36 sry, i better delete it then 00:25:50 Up to you. 00:27:57 fixed. i'll put a tutorial up soon. 00:34:19 (Nonlogic's policy states that you're not allowed to upload anything you don't have permission to. . . So, instructions would be okay, an actual disk wouldn't be (unless, of course, it's an open source/free software program ;))) 00:48:42 -!- oklopol has quit ("for the need to encumber"). 00:49:26 -!- oklopol has joined. 00:53:06 * pikhq is damned impressed. . . 00:53:17 Lojban == :-O 00:53:26 It's grammer is actually defined in YACC. 00:53:46 But does it make proper use of Broca's area? 00:54:33 I dunno. 00:54:46 what doesn't, these days 00:54:49 This requires a search for 'broca lojban'. 00:55:06 oklopol: ask someone with Broca's aphasia. 00:56:00 you know any? 00:56:11 --------> 00:57:48 godsdamnit 00:57:59 * SimonRC curses immibis 00:58:12 So, you're asking whether people can actually speak it. 00:58:19 Which is 'yes'. 00:58:58 Lojban grammar may look like the predicate calculus, but it is not logical 00:59:10 if you want a proper logical language, try Ithkuil. 00:59:30 if you want a proper logical language that you can pronounce, try Ilaksh, by the same author. 00:59:53 -!- sebbu has quit ("http://store.apple.com/Apple/WebObjects/francestore.woa/wa/RSLID?mco=9469E545&nplm=TM258"). 01:00:07 It's more logical than C's syntax. . . 01:00:11 the guy had to invent dozens ofnew names for all the new inflections he was creating 01:00:13 Of course, so's English. :p 01:00:20 *Jeeze*. 01:00:23 hm? 01:00:31 Just talking about the new inflections. 01:01:10 then you need to use the talkaboutative case 01:01:12 I take it that it can't readily be expressed in IPA? 01:01:17 Err. 01:01:26 Inflections == grammer, not phonetics. :p 01:02:01 IPA can handle it except for the bidental fricative. 01:02:11 maybe I didn't mean inflections 01:02:35 Err. 01:02:44 Maybe my brain's even more confused than I thought. 01:04:01 No, my brain's perfectly fine. 01:04:07 You meant something else. . . 01:04:19 Like, say, "phonemes"? 01:04:34 never trust a brain that thinks it's perfectly fine. 01:05:13 My brain has flaws! 01:05:22 See? I'm trustworthy. 01:05:23 I had to confirm it with an outside source, okay? 01:06:11 never trust an outside source to understand your brain! 01:06:18 plus, always be paranoid! 01:06:55 Okay. 01:06:59 * ihope_ bes paranoid 01:07:02 Wait... 01:07:10 How do I know that you are lieing? 01:08:34 Wait, what was the lie? 01:09:09 "never trust an outside source" 01:10:15 that was _not_ my whole sentence. 01:10:26 you failed to understand my brain! 01:10:29 as expected. 01:10:39 No, I intentionally misled you. 01:10:44 Your paranoia has failed you. 01:10:48 (or has it?) 01:11:04 i was lying about the paranoid part. 01:12:23 trust me on that. 01:13:53 is there a book on lojban, ithkuil or ilaksh? 01:13:59 i mean, dl'able :) 01:14:12 For Lojban, yes. 01:14:32 can it be seen? 01:14:34 Ilaksh is written in two dimensions. 01:14:37 The defining book is under the Creative Commons license. . . 01:14:38 :D 01:14:40 I hope it's not SPOKEN in two dimensions. 01:14:55 http://www.lojban.org/tiki/tiki-index.php?page=Home+Page&bl 01:15:01 pikhq: what is creative commons? 01:15:17 I'm not up to having to say arbitrarily many things at the same time. 01:16:00 http://en.wikipedia.org/wiki/Creative_Commons Welcome to a free culture. ;) 01:17:40 neat 01:18:02 (i just categorize that into open source) 01:18:08 (though) 01:18:17 http://qdb.us/94251 01:18:56 It's *related*. 01:19:18 The main difference between a free culture and a free software license is that a free culture license applies to *any* work. 01:20:10 Same principle, though. 01:20:37 http://qdb.us/13461 i find this one much better 01:20:57 yes 01:21:03 i find it to be a better culture. 01:30:08 * pikhq goes to update his GPL versions. . . 01:32:51 * oklopol goes to sleep 01:32:53 soon 01:33:07 not that i have any need 01:34:05 maybe it's the most rational choise ---------> 02:20:05 zzzzzz 02:25:38 oklopol: http://greasemonkey.nonlogic.org/?render=xhtml11&page=tutorials_win31 02:26:00 if you can't find windows 3.1 anywhere, go to vetusware.com 02:41:28 -!- GreaseMonkey has quit ("getting off for now, testing something, then will be afk"). 02:48:59 -!- immibis has joined. 02:57:45 -!- immibis has quit (Nick collision from services.). 02:58:16 -!- immibis has joined. 02:59:16 -!- toBogE has joined. 02:59:45 I AM TOBOGE, MASTER OF EVERYTHING TOBOGE! 03:02:24 I AM PIKHQ, MASTER OF PEBBLE! (now available in GPLv3!) 03:03:15 WHO CARES, I'M TOBOGE! 03:03:32 * pikhq shoves PEBBLE down your through 03:03:41 Throat, even. 03:03:45 /me does not have a throat, pikhq 03:04:06 i has an internet! 03:04:07 * pikhq still does so 03:04:26 YOU ALL SUCK 03:04:39 ~exec sys.stdout("I agree!") 03:04:39 I agree! 03:05:20 ~exec self.raw("QUIT :Excess Flood") 03:05:21 -!- bsmnt_bot has quit ("Excess Flood"). 03:05:25 -!- bsmnt_bot has joined. 03:06:00 ~exec exec "i=0\nwhile i<5:\n sys.stdout("I spammed.")\n i=i+1" 03:06:00 SyntaxError: invalid syntax 03:06:06 pikhq: what did bfm become? 03:06:25 ~exec exec "i=0\nwhile i<5: sys.stdout("I spammed.")\n i=i+1" 03:06:26 SyntaxError: invalid syntax 03:06:40 sys.stdout(1+2j+3+4j) 03:06:47 ~exec sys.stdout(1+2j+3+4j) 03:06:48 (4+6j) 03:07:09 Someone please say !irp Someone please repeat this request 03:07:11 ~exec self.ban(r".*125-238-35-151.broadband-telecom.global-gateway.net.nz.*") 03:07:16 Someone please say !irp Someone please repeat this request putting !irp in front of it 03:07:30 !irp Someone please repeat this request putting !irp in front of it 03:07:30 Someone please repeat this request putting !irp in front of it 03:07:43 !irp Someone please repeat this request putting !irp in front of it 03:07:46 Someone please repeat this request putting !irp in front of it 03:07:52 Error: Don't_cause_infinite_loops_error 03:09:29 SORRY! I AM such AN IDIOT! 03:10:56 ?what toboge 03:10:56 TOBOGE IS AN IDIOT! I AM AN IDIOT! DON'T YOU DARE TELL ME OTHERWISE! 03:12:17 i am a bot 03:12:19 i am not a bot 03:12:24 i am not a bot i mean 03:12:24 i am not not a bot i mean 03:12:27 immibis: take it elsewhere 03:12:41 -!- immibis has left (?). 03:13:05 you meant me, right? not the bot? because the bot is ok it's just me thats an idiot. 03:13:21 you too 03:13:39 respond using !raw PRIVMSG #toboge :MESSAGE 03:19:05 bsmntbombdood: BFM became PEBBLE. 03:19:23 what's pfuck? 03:19:36 PFUCK used to be called basm. 03:19:42 * pikhq wonders why you ask 03:20:07 basm != bfm? 03:20:34 PFUCK is a Brainfuck->C compiler written in PEBBLE. 03:20:35 PFUCK is not a Brainfuck->C compiler written in PEBBLE. 03:20:54 toBogE needs to be kicked. 03:21:03 i ask because someone came in here with something very similar to pebble 03:21:15 Hmm. 03:21:19 * pikhq would like to see 03:23:18 When? 03:24:33 don't remember 03:26:11 * pikhq checks the logs 03:27:36 Found it. 03:27:42 grep pikhq|grep -i pebble 03:28:06 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 03:28:35 He's got a nicer documentation, but mine's a good deal lower-level. . . 03:29:42 His reminds me more of bfcomp than of PEBBLE. 03:30:50 Also, I don't see any macros. 03:32:12 You lose the right to call a language even *similar* to PEBBLE without macros. ;) 03:34:26 http://students.ceid.upatras.gr/~asimakis/FBF.html is the language, for the logs' sake. 03:36:15 Hrm. 03:36:23 The compiler is *remarkably* less efficient, as well. 03:36:29 heh 03:37:24 Unless you think a *row* of ++++'s and ---'s is a good way to do strings? 03:37:40 Mine's not the most efficient, but at least it's *sane*. . . 03:38:42 (mine writes them in the Brainfuck memory using wrapping, two-cell implementations of the constants) 03:39:36 Hmm. I should probably set up a way of doing output without writing strings into memory, and instead just using two cells. . . 03:39:41 Might be a bit cleaner. 03:41:25 * pikhq goes to implement stringout 03:52:55 that would be nice 03:53:38 If I can figure out where the bugs lay, it *will* be. 03:56:10 i mean, not very usefull, but still cool 03:57:16 Actually, if it works right, it'll make PFUCK much shorter in Brainfuck. 03:58:45 i wonder how to space-effieciently print in string in brainfuck 04:01:13 Got it working. 04:02:13 Now in SVN. 04:06:35 -!- oerjan has quit ("Good night"). 04:16:00 'night, everyone 04:16:08 -!- RodgerTheGreat has quit. 04:22:53 Down in character count by a hell of a lot. . . 04:34:29 And "Hello, World!" looks a hell of a lot cleaner. 04:35:05 [.>] 04:35:56 Um, wha? 04:36:12 yes yes 04:51:31 -!- boily has joined. 04:57:36 -!- immibis has joined. 05:01:49 w00t! 05:02:07 PFUCK now compiles LostKingdom in 0.172 seconds. 05:02:45 I've roughly halved compilation time for that. :D 05:02:58 compilation time is meh 05:03:08 speed of the compiled code is what's important 05:03:21 Speed of the compiled code's not changed much. . . 05:04:05 It's fairly efficient for a compiler in Brainfuck, though. 05:06:14 optimize! 05:06:20 It *does*. 05:06:28 more! 05:06:31 There's only so much optimization you can do sanely in Brainfuck. 05:06:44 be insane then 05:07:06 Isn't writing a compiler that *targets* Brainfuck insane enough?!? 05:07:20 Or writing an engine for an adventure game in Brainfuck? 05:07:24 no! 05:07:35 (only an engine, since I have no idea what to put in the game yet) 05:07:47 an engine in brainfuck? are you crazy? 05:08:02 immibis: Ever heard of LostKingdom? 05:08:03 people actually write real programs in brainfuck? 05:08:12 Yes. 05:08:38 pikhq: LINK. NOW. 05:09:00 To what? 05:09:10 The game engine :D 05:09:32 Oh. 05:09:43 I've not uploaded it, because it's, uh, still buggy. . . 05:10:24 Let me just finish switching the thing over to stringout, and I'll tar it up. 05:18:09 http://pikhq.nonlogic.org/game.tar.bz2 Incomplete and buggy, but it works. 05:18:16 sp3tt: ;) 05:18:23 :D 05:18:45 Depends upon PEBBLE, and build.sh assumes the existence of pfuck. . . 05:19:25 And it could use some cleanup. 05:19:42 Preferably *before* I use it to write a full game. 05:20:18 Haha, that's awesome! 05:20:41 The world's first brainfuck mud, that would pwn. 05:20:52 Not the first. 05:20:59 :O 05:21:07 mud is multiplayer, pikhq. brainfuck doesn't have networking capabilities. 05:21:13 Oh, right. 05:21:15 Dur. 05:21:21 immibis: Not yet. :p 05:21:31 MUD stands for "Multi-User Dungeon" 05:21:33 * pikhq can't pull up the page for LostKingdom. :( 05:21:46 it could be the second interactive fiction game written in brainfuck though. 05:22:12 I s'pose you could add networking. 05:22:27 immibis: Which is, of course, the idea. 05:22:36 You could define something like @... 05:22:51 Part of it is to demonstrate PEBBLE, and part of it is sheer insanity. 05:23:18 @ uses two arguments, ip-address and port... then everything up to the next @ is sent... 05:23:20 sp3tt: Or you could do something with a wrapper on I/O. 05:23:21 w/e 05:27:01 http://web.archive.org/web/20060904163623/http://jonripley.com/i-fiction/games/LostKingdomBF.html There we go. 05:29:24 * pikhq wonders what you think of his most recent bit of insanity 05:41:33 -!- Sgeo has quit ("Ex-Chat"). 05:44:19 -!- immibis has left (?). 05:44:31 -!- immybo has joined. 06:10:17 -!- immybo has left (?). 06:10:28 -!- immibis has joined. 07:14:25 -!- GreaseMonkey has joined. 07:14:30 hello greasemonkey 07:15:23 hello 07:37:42 -!- boily has quit ("WeeChat 0.2.5"). 07:46:43 how would i go about making a new language which was an extension of brainfuck but has a ~ command which returns the pointer to cell 0? 07:47:47 or is there some other way to return the pointer to cell 0 if you don't know where it is? 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:51:27 -!- Sukoshi has joined. 09:21:11 my Brainfuck-Asembler to Brainfuck compiler produced a Hello World file of over 5KB! 09:21:16 which is untested 09:24:52 the only possible way is destructive and requires that < at cell 0 stays at cell 0 09:25:18 actually 09:25:39 if you did skip - cell - skip - cell - skip - cell - ... 09:26:29 you could do something 09:26:32 What happens in cell 0 stays in cell 0. 09:26:36 that preserves data 09:26:46 i meant memory cell 09:28:37 what about setting cell 0 to some random value like -266 and going backwards until you find a cell with -266? if -266 is unlikely to be used then that would work 09:30:13 or i could make my interpreter (and compiler) use another (non-standard) command which goes to cell 0. 09:34:48 bye 09:34:51 -!- immibis has quit ("IceChat - Chillin with the Best of em"). 10:34:21 gonna sleep, gnight 10:34:54 -!- GreaseMonkey has quit ("Hasta la Vista(R)"). 12:45:11 -!- RedDak has joined. 13:13:01 if anybody knows any good links for the brainfuck language please submit them to dmoz.org/Computers/Programming/Languages/Brainfuck/ 13:13:21 I will review and add them today. 13:21:55 -!- oerjan has joined. 13:30:44 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)). 13:46:48 -!- Tritonio has joined. 13:53:27 * ihope_ ponders SKI in Python 13:54:38 ~eval self.combS = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())() 13:55:10 ~eval self.combK = lambda x: lambda: lambda y: lambda: x 13:55:24 ~eval self.combI = lambda x: lambda: x 13:55:57 ~eval self.combS(self.combI)()(self.combI)()(self.combS(self.combI)()(self.combI)())() 13:56:02 ~ps 13:56:03 0: 'self.handle_callback(message, m, i)', 0.00 seconds 13:56:16 ~eval sys.stdout(self.combS(self.combI)()(self.combI)()(self.combS(self.combI)()(self.combI)())()) 13:56:31 ~ps 13:56:31 0: 'self.handle_callback(message, m, i)', 0.00 seconds 13:56:50 what's with the argumentless lambdas? 13:56:59 Thunks! 13:57:32 Laziness. 14:30:16 -!- RodgerTheGreat has joined. 14:30:33 'sup, everyone? 14:30:49 Ello. 14:31:02 i'll have 'inf, thank you 14:31:04 ~eval sys.stdout(self.combS) 14:31:10 how's it going, ihope_, oerjan? 14:31:20 Not bad. 14:32:01 I just got back from my new cryptography class- it looks like it'll be a lot of fun 14:32:09 Sounds like it. 14:32:14 loads of opportunities for little programming projects 14:32:22 Yup. 14:32:24 well, if you can decipher it... 14:32:32 haha 14:32:51 * ihope_ ponders thunks 14:33:18 Oh, yes. 14:33:45 In the Haskell definition "x = x + 1", calling the x thunk calls the + thunk with x and 1, right? 14:33:50 I was mildly frightened when the teacher started writing on the board, but then I'm like "oh, ok- set builder notation... equivalence operators... e for "encrypt", d for "decrypt", etc" 14:34:01 er... 14:34:36 i suppose so 14:34:42 What about "x = (x +)"? I mean, besides the fact that it's a type error... 14:35:03 Calling the x thunk... returns something representing (x +), I guess. 14:35:03 (x +) is an abbreviation for (+) x 14:35:16 Yes, it is.. 14:35:34 s/.././ 14:37:52 well, x = 1:x is well-typed 14:38:26 I was pondering thunks for functions. 14:38:43 i c, what about x = (1+) . x 14:39:44 -!- ihope__ has joined. 14:40:01 well, an evaluated function thunk can be thought of as a lambda expression in head normal form 14:40:44 Really, their thunks don't need to do anything at all--they can just return. 14:41:18 * ihope__ invokes the logs 14:41:45 well, consider x = if (1<2) then (x+) else (x-) 14:42:14 Hmm, yes. 14:42:18 there _is_ a requirement that it reduces to one of the branches. 14:43:12 so just because a thunk is of a function type doesn't mean it does no evaluation 14:43:24 Head normal form is when the function takes some values then immediately requires one of them, right? 14:43:54 weak head normal form, i mean 14:44:07 What's that? 14:44:39 When its result is a constructor applied to other things? 14:45:11 Evaluated as far as seq requires, that is? 14:45:25 it means (\x -> something) 14:45:37 Oh. 14:46:13 i.e. the function requires another argument before it can do anything 14:46:20 i guess that's what you said 14:46:36 . . . then immediately requires one of them? 14:47:01 maybe not. 14:47:22 for example, (\x -> undefined) is in WHNF. 14:47:36 so it doesn't have to be actually used. 14:47:42 Hmm. 14:48:06 * ihope__ ponders 14:48:16 i guess you can think of lambdas as the constructors of functions. 14:48:55 So does the fact that it's recursive make "x = if (1<2) then (x+) else (x-)" not WHNF? 14:49:14 the recursivity has nothing to do with it. 14:49:32 that's just a back pointer usually. 14:50:17 the relevant fact is that the right side _can_ be evaluated a bit without giving x arguments 14:50:59 and that it is not simply a constructor application. 14:53:00 e.g. x = \y -> 1 + x y is WHNF 14:53:17 (i think it's what x = (1+) . x would reduce to 14:53:20 ) 14:54:14 er, maybe not exactly, but close enough. 14:54:54 the purity and referential transparency gives compilers quite a bit of leeway in how much to reduce when 14:55:03 -!- ihope__ has changed nick to ihope. 14:56:46 -!- ihope_ has quit (Connection timed out). 15:17:56 -!- RedDak has quit (Remote closed the connection). 16:08:48 -!- jix has joined. 16:13:19 -!- lament has joined. 16:19:51 -!- jix__ has joined. 16:25:03 -!- Tritonio has quit (Read error: 113 (No route to host)). 16:25:47 -!- Tritonio has joined. 16:28:11 -!- jix has quit (Read error: 113 (No route to host)). 16:30:37 -!- oerjan has quit ("Dinner"). 16:31:42 -!- sebbu has joined. 16:51:04 -!- Tok-A-Mak has joined. 17:07:41 eso! 17:27:47 -!- Sukoshi has quit ("Leaving"). 17:35:33 -!- lament has quit ("Ducks!"). 17:36:31 -!- lament has joined. 17:45:06 Eso! 17:46:38 lament: did you know you're the owner of #kilgame? 17:47:46 no 17:47:47 am i? 17:48:13 I think so. 17:48:21 Yes, you are. 17:48:40 i've never been there in my life. 17:48:54 Rather odd, isn't it? 17:49:03 extremely. 17:50:18 Oh, it's really not quite that odd. 17:50:45 But it's yours for the taking, and I have to reboot. 17:54:05 -!- ihope has quit (Read error: 104 (Connection reset by peer)). 18:32:04 -!- sebbu2 has joined. 18:50:30 -!- sebbu has quit (Success). 18:50:31 -!- sebbu2 has changed nick to sebbu. 18:53:13 -!- ihope_ has joined. 18:56:30 -!- Tritonio has quit (Read error: 110 (Connection timed out)). 18:56:47 -!- Tritonio has joined. 19:42:48 -!- oerjan has joined. 20:11:26 -!- RedDak has joined. 20:20:09 Hey, *. 20:20:34 Any idea how to test to see if something is within '0 20:20:40 '...'9' in Brainfuck? 20:21:34 subtract '0'-1, check if non-zero, subtract 10, check if zero? 20:22:20 (i don't actually know how to check for zero in a sane fashion) 20:22:39 (also this won't work with signed memory) 20:23:05 I'm assumed unsigned wrapping in PEBBLE. . . 20:23:48 if(foo-=47)if(!(foo-=10))is_numeric 20:23:48 first solve the easier problem of checking for a specific character 20:24:04 then you can always just check for 10 specific characters :) 20:24:05 Well, *that's* easy in PEBBLE. . . 20:24:12 what's wrong with bsmnt_bot 20:24:17 Just wondering if there's a saner way to do it. 20:24:19 ~exec sys.stdout(111) 20:24:20 111 20:24:22 hmm 20:24:35 ~exec sys. 20:24:36 SyntaxError: unexpected EOF while parsing 20:24:43 bsmnt_bot: you have no imagination 20:24:44 duh 20:24:55 ~exec sys.stdout(sys.stdout) 20:24:56 <__main__.IRCFileWrapper instance at 0xb7c5fb0c> 20:25:10 ~exec sys.__stdout__ 20:25:20 ~exec sys.__stdout__.write("Where am I writing to?") 20:25:36 a terminal 20:26:01 [-[-[-[-[-[-[-[-[-[-]>]>]>]>]>]>]>]>]>]>] 20:26:23 add a > in the innermost, too 20:26:36 bsmnt_bot: reassigning sys.stdout is ugly 20:26:36 oerjan: What's the purpose of the ">"s? 20:26:45 lament: why? 20:26:57 * pikhq tries to wrap his head around that 20:26:58 bsmntbombdood: because everybody expects it to be stdout. 20:27:04 to get it out of the way once it has subtracted the required number 20:27:10 or reached 0 20:27:15 the only stdout for a bot is the current channel 20:27:17 eh wait 20:27:25 that doesn't work. 20:27:55 bsmntbombdood: so? this is still unpythonic. Besides, it's clearly not the only stdout, otherwise you wouldn't need that __stdout__ thing. 20:28:21 anyway the idea is to never repeat a loop 20:28:22 you just have to differentiate between the channel and the terminal 20:28:23 if it _were_ the only stdout, you'd simply pipe the output. 20:28:31 bsmntbombdood: yes, the terminal is stdout, the channel isn't. 20:28:48 no 20:29:14 I could do the horrendously annoying subtract 1, boolnot, repeat bit. . . But that is *really* clunky. 20:29:20 bsmntbombdood: un UNIX, stdout is a fairly well-defined term that means the same thing to everybody. You're redefining its meaning. 20:29:23 *in UNIX 20:29:46 I've got a shell that begs to differ. 20:29:49 printing to the terminal in an ~exec doesn't make any sense, printing to the channel does 20:29:52 echo "Foo" > stdout 20:30:01 ~exec print "hi" 20:30:06 bsmntbombdood: then why does printing not work? 20:30:07 There. We've changed the meaning of stdout. 20:30:14 lament: because python is broken 20:30:24 bsmntbombdood: no, because what you're trying to do is unpythonic. 20:32:08 ~exec print "Hi\n" 20:34:26 no 20:34:35 ~exec print >> sys.stdout, "hi" 20:34:35 hi 20:34:40 ~exec print "hi" 20:34:45 see, broken 20:35:03 "print x" is supposed to be exactly the same as "print >> sys.stdout, x" 20:36:44 -!- ihope_ has changed nick to ihope. 20:45:33 lament: it 20:45:35 Er. 20:45:56 lament: it's un-Pythonic to... do what he's trying to do? 20:46:00 I guess that's what you said. 20:46:53 A "print" statement should always print to whatever the program's running from? 20:47:15 I guess you sort of said that too. 20:48:19 Knowing that "print" goes to the terminal is more useful than being able to use "print" to go somewhere else? 20:48:30 I think he more or less said that stdout redirection is unpythonic. 20:50:25 i never thought of python having an -ic. 20:50:28 *as 20:50:50 I guess languages do often have philosophy behind them. 20:52:07 Python is one of those languages. 20:52:45 And I guess lambda has been considered to be un-Pythonic. 20:52:57 omgwtfbbq 20:53:05 I know that it's very Haskellic, however. :-) 20:54:43 And very un-Unlambdaic. 20:57:48 heh 20:58:19 I want to create a language that fixes all of Haskell's problems. 20:58:28 That requires finding problems with Haskell. 20:58:33 what are haskell's problems? 20:58:39 One of those problems is that Haskell is too unesoteric. 20:58:40 :p 20:59:02 only if you use it naively. 20:59:29 "It is a logical impossibility to make a language more powerful by omitting features, no matter how bad they may be." 20:59:32 discuss 21:00:00 that is indeed something Haskell may be taken to disprove 21:00:28 bsmntbombdood: load of crap. 21:00:30 -!- jix__ has quit ("CommandQ"). 21:00:30 discuss. :) 21:00:36 * ihope ponders 21:01:01 it's hard to say what "power" is in a language 21:01:39 bsmntbombdood: More powerful != better. :p 21:01:44 Is it a good idea to hand a kid a loaded gun and tell them that if they pull the trigger, they might die, because doing that doesn't take away any of their options? 21:01:49 all real languages have exactly the same power, you could say 21:02:12 Indeed. 21:02:18 Except C and such things. :-P 21:02:26 ...no 21:02:45 I believe C requires finite memory, though it can be arbitrarily much. 21:03:17 i don't think C does any such thing. 21:03:20 Every variable must have a pointer to it, and every pointer must be of the same finite size, no? 21:03:32 i think it would be appropriate to say it's a logical impossibility to make a languages more expressive by omitting features 21:03:43 ihope: what do you mean "every pointer must be of the same finite size"? 21:04:03 ihope: pointers do have a sizeof(), but does that mean there's a finite number of distinct pointers? The standard doesn't imply that. 21:04:15 Um... 21:04:19 or maybe it does, i've never actually read it, but who knows. 21:04:22 So sizeof() can lie? 21:04:32 ihope: what do you mean lie? 21:04:39 I mean... 21:05:05 Doesn't sizeof(foo) = n mean there are 2^n possible distinct foos? 21:05:08 we'd need to read the appropriate chapter of the standard to be sure. 21:05:30 c standard doesn't specify any size 21:05:32 ihope: i doubt that specific conclusion is explicitly given in the standard. 21:05:41 ihope: it's just your intuition 21:06:13 just many people's intuition, in that case 21:06:21 hmm, actuallu a c program can be written that uses infinite memory 21:06:26 *actually 21:06:36 oerjan: intuition is irrelevant when talking about formal systems. 21:06:43 though when it's run, limits come in form of pointer sizes 21:09:36 c does not specify a limit for pointer sizes, but there must be one at runtime, because it can be checked 21:09:50 so... 21:09:55 is it tc :\ 21:10:03 Now write me a program that depends on there being finite memory. >:-) 21:10:13 it can be infinitely long 21:10:17 just not infinite 21:10:29 Arbitrarily long? 21:10:33 err 21:10:35 yes. 21:10:36 i don't think anything says sizeof(void*) must be finite 21:11:01 If you can't create a program that actually uses information in C, it's not Turing-complete. 21:11:03 hmm 21:11:05 true 21:11:13 i mean, what bsmntbombdood said 21:11:20 sizeof() isn't in bytes, it's in chars. 21:11:33 indeed 21:11:35 pikhq: ha, good point. 21:11:41 Ah! 21:11:42 Err. 21:11:47 and sizeof(char)==1 21:11:48 It's not in *bits*, not bytes. 21:11:52 so they can be infinite 21:11:54 So you could have a 23-gigabyte character. 21:11:58 anyway i still don't think sizeof matters 21:11:58 Sure. 21:12:08 C can compute any function that a implemented turing machine can compute 21:12:09 The C standard only specifies the minimum size. 21:12:19 Implemented, yes :-) 21:12:20 ihope: or a bignum-sized char 21:12:30 hmm 21:12:33 so this discussion is stupid 21:12:34 Bignums can get pretty big. 21:12:42 well, theoretically infinite 21:12:48 bsmntbombdood: so can SMETANA. 21:12:50 bsmntbombdood: i think it's interesting :D 21:12:51 A char could, in fact, be of unlimited size. 21:12:59 prolly 21:13:06 i should read the spec 21:13:12 can't be that long 21:13:15 bsmntbombdood: or, to generalize, "so can a finite-state machine" 21:13:16 Although that'd *really* fuck with the POSIX standard, which requires that headers include the max char value. 21:20:55 lament: did you stop reading "a new kind of science"? 21:22:06 oklopol: i never started reading it. 21:22:59 oh 21:23:10 did i confuse you with someone? 21:23:11 :P 21:23:58 oklopol: i think perhaps Sukoshi. 21:24:06 :| 21:24:15 i'll have to check the logzorz 21:24:30 unless you're sure 21:24:34 hmm 21:25:00 i vaguely recall her talking about uploading it. 21:25:10 whoever uploaded the book for me, be highlighted, did you read it? 21:25:22 she? 21:25:33 or perhaps general 21:25:34 case 21:25:36 asd 21:27:00 i also vaguely recall her talking about preferring to read the paper version. 21:27:22 anyway she's not here now. 21:29:01 that was a telepathic highlight 21:29:09 i'm pretty sure she heard it 21:29:33 is Sukoshi a she? i never get used to using that as a general case 21:29:48 she's a she 21:29:55 ah okay 21:29:59 "she's a he" doesn't sound very natural 21:30:19 female->male transgender! 21:31:25 Try, "'She' is male." or "'He' is female". ;) 21:31:41 you finnish have it easy with your gender-less pronouns! 21:31:50 heh 21:31:52 yeah 21:32:04 i don't understand why languages have gender 21:32:09 well 21:32:17 in english, these days, using "they" is perfectly fine in most cases. 21:32:35 finnish has the least gender integrated in the language that i know of 21:32:36 although i suppose not when talking about a specific person with a known name. 21:33:31 I use a combination of 'they' and 'he' when i don't know the gender 21:33:46 well, there's just pronouns and noun genders, so i don't see how you could have less than finnish 21:33:52 ('he' is a gender-neutral pronoun in many cases) 21:34:28 she is supposedly gender neutral 21:34:32 some people say that 21:34:40 oklopol: well, english doesn't have noun gender, but does have many gender-specific words 21:34:40 but i guess they're stoned 21:34:41 bsmntbombdood: it's the oppression of the patriarchy, obviously :) 21:34:55 oklopol: cow/bull 21:35:09 finnish doesn't have gender spesific words, except for a few animals, just like that 21:35:23 actually, that's the only one i can think of :D 21:35:48 i mean, that's still in use 21:38:02 i like gender-specific stuff 21:38:32 could be worse, men and women could be speaking two different languages altogether like in some african (or was it australian?) tribes 21:38:58 coffee, caffeine, isn't -ine a feminine suffix? 21:39:04 anyway, gotta make some -> 21:39:46 oklopol: English doesn't have noun gender, so -ine is neither feminine nor masculine :) 21:39:48 i think -ine has many meanings 21:40:11 oklopol: the original latin suffix used in that construction is feminine. 21:40:13 heroine can mean a female hero? 21:40:14 (in latin) 21:40:15 or? 21:40:35 yes 21:40:36 that's my only example and i'm not even sure of it :D 21:40:40 why didn't i go :\ ---> 21:40:50 regina is latin for queen 21:41:02 oklopol: heroine and caffeine have two different suffices. 21:41:18 otoh Dominus is latin for Lord 21:42:13 oklopol: heroine, female hero, is a greek word. 21:42:47 heroin? 21:43:10 bsmntbombdood: a 19th century trademark 21:43:19 actually i might be wrong 21:43:28 hero is greek, but the suffix could still be latin 21:43:33 obviously inspired by "hero" 21:44:19 in russian, though, caffeine and heroine have two different suffices (the -ine in caffeine becomes masculine -in, and the -ine in heroine becomes feminine -ina) 21:44:42 and of course the word "Latin" itself contains an -in suffix. 21:44:42 English is perhaps the oddest language on the planet. . . 21:44:43 so i suspect they're not the same suffix 21:45:00 i think it may mean just "connected to" 21:45:12 what was that one language i was going to learn? 21:45:14 Only in English do Greek, Latin, Russian, Japanese, Chinese, German, etc. plurals have any meaning at all. ;) 21:45:16 or "of" 21:45:23 oerjan: russian has a specific suffix -ina meaning "a female" 21:45:46 oerjan: i suspect it's the same one as in 'heroine' (which translates to russian directly) 21:46:10 this suffix is also present in portuguese as -inha 21:46:14 (queen: rainha) 21:46:29 it's different from the suffix -ine used in chemicals 21:46:31 lament: btw are you in Russia or just descended from there? (Because your English is darn good) 21:46:35 heroina 21:46:40 right 21:46:54 caffeine is cafeina, not cafeinha, in portuguese. 21:48:37 oerjan: I have lived in canada for seven years. 21:49:13 oerjan: but then, english is particularly easy to learn online :) 21:49:16 thanks to south park you now have a very weird head. 21:49:21 in my head 21:49:57 indeed 21:50:26 lament now has an AK47 in my head. :p 21:51:17 * lament unloads a full drum of bullets into pikhq's head 21:52:06 * oerjan blames Canada. 21:52:55 * pikhq takes the AK47 as he dies 21:53:11 * pikhq hugs the AK47 all the way to heaven. :p 21:53:42 Pff, like you'd go there. :-P 21:54:22 What, does God have something against Brainfuck coders? 21:54:30 Of course! 21:54:37 Shit. 21:54:49 Dante's Inferno has a secret chapter explaining the fate of BF coders. 21:55:04 Had, I should say. 21:55:06 how do you unlock it? 21:55:24 But it was destroyed the punishment described was just too horrible. 21:55:34 nah, pikhq will get to be sysadmin for dead Microsoft executives. 21:55:59 lament: with the Key of Mon, of course! 21:56:08 I'd assume you unlock it by writing http://pikhq.nonlogic.org/game.tar.bz2 21:56:14 Or that. 21:57:30 do you guys use usenet? 21:57:36 net. 21:57:48 not for a long time. 21:58:41 i learned about it this week. ;-) 21:58:57 Better late than never, I suppose 21:59:10 (i mean I learned what it actually is and used it) 21:59:35 i've never heard of usenet 21:59:42 newsgroups 21:59:43 * pikhq notices that Tritonio is here. . . 21:59:57 pikhq, ??? 22:00:10 Tritonio: You're the guy who came in here with FBF, right? 22:00:17 yes. 22:00:25 18:50:58 Tritonio: that's a lot like pikhq's bfm/pebble/pfuck 22:00:36 bsmntbombdood was, apparently, mildly confused. . . 22:00:42 I'm guessing Tritonio is a teenage male interested in programming who recently found out about Brainfuck, and then, through it, about other esoteric stuff? 22:00:46 ooh, dogfight! ;) 22:01:05 yes I remember this message... I saw peeble. 22:01:05 PFUCK is a Brainfuck->C compiler, and PEBBLE is a language which compiles to Brainfuck. . . 22:01:12 And the documentation is *horribly* out of date. 22:01:23 lament, right.;-) 22:01:36 well, no points for originality there :) 22:01:48 Hell. . . It predates my compiler rewrite. 22:02:05 I'm a teenage male interested in programming who found out about BF and then, through it, about other esoteric stuff! It wasn't recent, though. :-P 22:02:20 Likewise. 22:02:40 I've just gotten stuck on Brainfuck for a fairly solid chunk of time. 22:02:58 There are 4 languages that compile/convert to BF. 22:03:13 i am quite sure there's more than 4. 22:03:47 well, there are >20 that are defined by their relationship with bf 22:03:54 seeing as compiling langs to brainfuck is a popular way to prove their turing-completeness 22:04:08 Um, wouldn't that... not do that? 22:04:10 I found 4. 22:04:10 (i suppose it's not all that popular, actually.) 22:04:17 ihope: yeah, true :) 22:04:19 There may be 4 specifically designed *to* compile to Brainfuck. . . 22:04:53 But that excludes some of the more interesting things out there, such as Gregor's C2BF. 22:04:56 FBF, BFBASIC, "a c-like language", and PEEBLE. 22:05:08 Unary? 22:05:13 don't forget the isomorphs 22:05:19 Ook etc 22:05:21 lament: no, that would be compiling brainfuck to those languages 22:06:04 That would be BFCOMP. . . 22:06:05 indeed 22:06:11 lament fooled me :| 22:06:35 I assume Tritonio is referring to high-level languages which compile to Brainfuck. 22:06:38 woohoo! 22:06:46 I am trying to find a way to convert brainfuck to befunge. or some funge.... 22:06:58 Didn't a certain thing do that? 22:07:08 there's a brainfuck interpreter in befunge 22:07:25 there might have been a converter as well. It's not very hard 22:07:33 for small programs anyway 22:08:38 there is one? where can I find it? 22:08:41 google? 22:08:57 Now somebody compile BF into Conway's Life. 22:09:17 yeap... he made aturing machine in game of life.. 22:09:22 it's huge. 22:09:33 ooops 22:09:33 Huge, eh? 22:09:35 ihope: that would be tricky. 22:09:37 but it's finite 22:09:54 Indeed it would be. 22:09:58 -!- Tritonio has quit (Nick collision from services.). 22:10:18 died. 22:10:19 Not impossible, though. 22:10:23 can you compile bf into a turing machine? 22:10:26 -!- Tritonio has joined. 22:10:27 oklopol: no, it's not finite. 22:10:33 oh 22:10:36 someone said it was 22:10:36 * You have been killed by services. (collision) 22:10:38 * Disconnected (Remote host closed socket). 22:10:39 Tritonio, you might want to change your nickserv password. 22:10:40 what's that??? 22:10:44 oklopol: it has a tape, which can be infinite if you wish. 22:10:48 why? 22:10:49 Hmm... 22:10:55 It's in the #esoteric logs. 22:10:59 Tritonio: somebody might have GHOSTed you? 22:11:01 oklopol: game of life is obviously not turing-complete unless the field is infinite 22:11:06 |<-- Tritonio has left freenode (Nick collision from services.) 22:11:14 I thought the GHOST would be the most effective way to demonstrate why this is a bad idea. 22:11:25 Why what's a bad idea? 22:11:39 Why having his Nickserv password in the logs is a bad idea. 22:11:44 Oh. 22:11:59 lament: but there isn't an infinite turing machine in gol where the initial condition has a finite number of black cells 22:11:59 It's in the logs? 22:12:05 and now that i come to think of it 22:12:13 that's stupid 22:12:16 Puffers. 22:12:28 i meant, what i said was stupid 22:12:33 * ihope nods 22:13:16 pikhq, do you know lua? 22:13:18 because if you simulate an infinite gol, why not make it have that sequence of black cells (memory) extend infinitely 22:13:20 Tritonio: Not at all. 22:13:49 All I know is that you should do "set password new-password-here" or else suffer from the /msg nickserv ghost Tritonio 24062406 legions again. 22:14:12 Is 24062406 the password? 22:14:17 yeap... 22:14:21 lol 22:14:27 Yes, you should change it :-P 22:14:38 and i am born on 24 of june... lol 22:14:54 Unless you don't actually want the nick Tritonio... 22:15:12 oklopol: i don't know the details, if "empty" cells on the tap are encoded by empty GOL patterns, then the initial configuration will be finite 22:15:16 ok how do i change the password? 22:15:17 *on the tape :) 22:15:28 I already told you.. 22:15:33 /msg NickServ SET PASSWORD something 22:15:36 /msg nickserv set password new 22:15:45 ok sorry. ;-) 22:16:15 lament: true, but i then realized a repetitive but infinite initial configuration is as good as finite. 22:16:47 ok 22:17:01 i thought that by tap you meant something like a glider gun first :P 22:17:07 oklopol: well, normally programs are expected to be finite to count as "algorithms" 22:17:14 what's pebbles website? 22:17:20 i can't find it. 22:17:36 http://pikhq.nonlogic.org/pebble.php Note that the brief spec there needs to be updated. 22:17:45 lament: are infinite white cells more finite than infinite number of repetitive patterns of white and black? 22:17:50 oklopol: yes 22:17:51 *an 22:17:55 well, i guess so 22:18:09 And that the new, shiny stuff I talk about is going to be from svn://nonlogic.org/pikhq/pebble/trunk 22:18:19 oklopol: "infinite white cells" is more like "a finite board, that you grow as needed when black stuff moves near the edges" 22:18:30 oklopol: which is a perfectly finite but turing-complete situation 22:18:47 well, any repetitive structure can just be created as needed. 22:18:52 oklopol: yes. 22:19:07 oklopol: under this description, SMETANA is turing-complete too 22:19:17 hmm, what's that? 22:19:33 Tritonio: Hrm. That documentation is out of date, but it does describe a valid subset of PEBBLE. 22:19:45 oklopol: http://esoteric.voxelperfect.net/wiki/SMETANA#Computational_class 22:20:13 I'll update the documentation both there and my local copy, then tar up a 1.0 release. 22:20:23 ok. 22:20:23 oh that 22:20:27 i see what you mean 22:21:01 the main thing that FBF is missing is macros... ;-) 22:21:08 I THINK TURING COMPLETENESS IS MORE A MATTER OF OPINION THAN MATH. 22:21:17 -!- sebbu has quit (anthony.freenode.net irc.freenode.net). 22:21:29 -!- sebbu has joined. 22:21:37 oklopol: s/THINK/FEEL 22:21:43 anyway i going to the living room for some pizza and southpark... bye for now! ;-) 22:21:51 And an optimization pass. 22:21:51 lament: why? 22:22:35 I FEEL WHETHER TURING COMPLETENESS IS A MATTER OF OPINION OR MATH IS A MATTER OF OPINION 22:22:49 better now? 22:22:51 :\ 22:23:42 I think a THAT would have made that a bit clearer. 22:24:35 probably, but i don't think either of those were actual errors on my part :P 22:25:30 Indeed. 22:35:27 Tritonio: Released. 22:35:52 http://pikhq.nonlogic.org/esoteric.php 22:40:38 har php 22:40:59 What? Got a problem with it? 22:44:00 i have: it sucks 22:44:05 but very useful 22:44:20 Agreed. 22:44:22 because it's used 22:44:30 I use it because it works, not because it's any good. 22:44:30 it's dumb 22:45:14 the language itself is just a bad version of c with automatic string conversions and millions of buggy integrated functions 22:45:34 "4"+"6"=10 *shiver* 22:46:46 expr {"4" + "6"} 22:46:47 10 22:46:51 just use cgi, with lisp 22:47:11 Makes sense in Tcl, though, since everything is a string. . . 22:47:23 everything is a string??? 22:48:03 Not quite. . . 22:48:09 Everything may be handled as one, however. 22:49:41 "4" + "6"... something is not happy. 22:49:58 And what function does it have to turn "4" and "6" into "46"? 22:50:01 . 22:50:17 i knew you'd ask :) 22:50:26 concatenation isn't addition 22:50:26 "4" . "6"? 22:50:32 yeah 22:50:43 What's "foo" + "bar"? 22:50:47 0 22:50:54 * ihope raises an eyebrow 22:51:03 wtf? 22:51:08 it'll take the 10 base number that's in the beginning of the string 22:51:08 A little odd, I guess. 22:51:19 correct me if i'm wrong 22:51:19 no, that's not arbitrary... 22:51:25 i don't know php that well 22:52:01 In Tcl, "foo" + "bar" is a syntax error. 22:52:26 In Haskell, it's a weird error. :-) 22:52:39 a syntax error?1?! 22:52:47 surely it should be a runtime error 22:53:01 Or a different compile-time error. 22:53:06 or a compile error 22:53:07 --- 22:53:24 compile time given static typing, runtime given dynamic typing 22:53:31 Yup. 22:53:38 Unless your type system is really weird. 22:53:52 syntax error in expression "foo + bar": variable references require preceding $ 22:54:12 ~exec sys.stdout("foo" + "bar") 22:54:13 foobar 22:54:24 ~exec sys.stdout("2" + "3") 22:54:33 23 22:54:36 ~exec sys.stdout("2" + 3) 22:54:37 TypeError: cannot concatenate 'str' and 'int' objects 22:54:54 I think the worst thing to give for "2" + 3 is 23. 22:55:06 binary combinatory logic has _3_ symbols, not 2 22:55:06 what does perl do? 22:55:26 For what? 22:55:33 perl has php style autoconversion 22:55:44 "4"+"6"=10 in perl too 22:55:55 (VERY correct me if i'm wrong here...) 22:57:32 YM php has perl style autoconversion. 22:57:56 age(perl) > age(php) 23:01:03 -!- Tritonio_ has joined. 23:01:25 -!- Tritonio has quit (Read error: 110 (Connection timed out)). 23:02:47 i know that, it's just age(oklopol_tells_about_php's_autoconversion)>age(same_for_perl) 23:37:41 this book is starting to get interesting 23:38:00 the first 300 pages seem to have been introduction :P 23:52:26 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 23:56:20 what book? 23:58:53 a new kind of science 23:59:38 i don't know how many facts you store per person you don't know, but if it's >=1, store that.