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