←2006-06-04 2006-06-05 2006-06-06→ ↑2006 ↑all
00:09:29 <SimonRC> hehehe
00:11:02 * SimonRC has worked out the definitive difference between scripting languages and "real" programming languages: in scripting languages, a simple string can be like 'foo' or "foo", but "real" languages only accept one of these (usually the former).
00:11:30 <lament> usually the altter
00:11:32 <lament> latter
00:11:43 <SimonRC> erm, *latter
00:11:50 <SimonRC> yeah, thanks
00:11:54 <kipple> bah, real languages doesn't have strings...
00:12:04 <SimonRC> counterexample: Smalltalk
00:15:43 <GregorR> Counterexample: C++
00:27:49 <SimonRC> eh?
00:28:41 <SimonRC> it's really all to do with how short a short program is.
00:28:47 <SimonRC> The quoting rules are just a symptom of that.
00:30:00 <SimonRC> Is it bad style for the operator that puts objects into a hash-like object to modify the objects as they are put in? :-)
00:33:08 <ihope> Is it that hard to write "modify, then add"?
00:33:27 <ihope> Then again, some people would get annoyed at having to put modify *everywhere*.
00:33:37 -!- wildhalcyon_ has joined.
00:33:52 -!- wildhalcyon_ has changed nick to _wildhalcyon_.
00:34:08 <_wildhalcyon_> Alright!... my system has recovered from a serious error!
00:34:11 <_wildhalcyon_> I love XP
00:34:33 <ihope> modify (if modify (modify 3 + modify 2) == modify 5 then modify (putStr (modify "Success")) else modify (putStr (modify "Failure")))
00:35:13 <SimonRC> well...
00:35:18 <SimonRC> I am writing a roguelike
00:35:36 <_wildhalcyon_> in what language?
00:35:40 <SimonRC> ruby
00:35:47 <_wildhalcyon_> oh
00:36:45 <SimonRC> while Haskell absolutely rocks on the complicated-datastructure-initialisation front, it sucks on the complicated-datastructure-mutation front.
00:37:18 <SimonRC> each object has an ID, knows its position, and has a reference to the map it is on.
00:38:01 <SimonRC> each level contains a hash from IDs to objects that it contains, and a grid of tiles, each of which contains a set of IDs of objects that are in it.
00:38:47 <SimonRC> the map[pos]=object operator updates all of these except the object's ID
00:39:03 <SimonRC> similarly for the map.delete(object) operator
00:44:53 <_wildhalcyon_> that's pretty thorough. Most of it is all pretty basic RL stuff though
00:46:54 <SimonRC> yeah
00:47:12 <SimonRC> waitamo, all that was in the wrong window
00:47:32 <SimonRC> I shall add the relevent pre-comment
00:47:37 <SimonRC> Is it bad style for the operator that puts objects into a hash-like object to modify the objects as they are put in? :-)
00:47:44 <SimonRC> ^^ there ^^
00:50:58 -!- wildhalcyon has quit (Read error: 110 (Connection timed out)).
01:16:00 <ihope> Hmm? Wuh?
01:16:55 <ihope> Where?
01:18:55 <bsmntbombdood> SimonRC: yeah that's bad style
01:19:23 <ihope> What's the roguelike called?
01:19:41 <bsmntbombdood> boring?
01:29:14 <bsmntbombdood> waste of time?
01:29:37 <SimonRC> doesn't have a name yet
01:31:03 <ihope> Give it a name! :-P
01:41:45 <ihope> Um, I'm more than halfway through this song and I didn't notice it was playing?
01:56:44 <SimonRC> ye gods! I actually managed to eliminate some rows on tetris level 10
01:57:05 <ihope> Whee.
02:04:20 <SimonRC> bah
02:04:59 <SimonRC> Is it a bad sign that my computer has trouble keeping up with the redraw rate of tetris
02:05:11 <SimonRC> though I am playing the Gnome version, I suppose
02:06:14 <GregorR> Play hextris, man.
02:06:20 <GregorR> Hextris is teh rawx0rz
02:07:09 * ihope thinks of a way to define "computer of everything"
02:07:59 <ihope> It's possible to build a Turing machine that computes everything that can be computed, but how can we define whether or not a machine computes something or not?
02:09:37 <SimonRC> hmm
02:09:42 <SimonRC> ask edwinb
02:09:47 <SimonRC> he's on this network
02:09:55 <SimonRC> in my timezone, too
02:09:59 <SimonRC> don't mention my name
02:10:05 <ihope> Why not?
02:10:06 <GregorR> He hates you, eh?
02:10:13 <GregorR> What'd you do to 'im?
02:10:16 <SimonRC> on second thoughts, maybe do mention my name
02:10:26 <GregorR> Was it ... nasty? Vile? Evil in perverse ways?
02:10:29 <ihope> Eh, it's bedtime.
02:10:34 <SimonRC> on third thouhgts, don't bother him with it
02:12:29 <calamari> GregorR: hehe I guess I need more than a new video card.. my computer froze up when I ran flightgear, then a minute later killed fgfs (ran out of memory)
02:12:48 * SimonRC installs ghextris
02:13:54 -!- ihope has quit ("The answer to the well-known P=NP problem, eh? Well, I can answer that easily. It's the most simple thing in the world--it do).
02:18:24 * SimonRC <3 the debian menu standards
02:18:39 * GregorR concurs.
02:18:40 <SimonRC> it allows me to get my menu items the same everywhere
02:19:02 <SimonRC> even ratmenu, the menu designed for ratpoison users
02:19:26 <SimonRC> hmm, ghextris has no settings :-S
02:19:54 <SimonRC> and it's on 0.9.0
02:21:08 <GregorR> ...so?
02:26:59 <SimonRC> well, this version is a bit unpolished...
02:27:29 <SimonRC> where do you recommend I get it from/?
02:29:41 <GregorR> hextris has never been polished :P
02:35:45 <SimonRC> ghextris doesn't even have a loss notification
02:36:22 -!- kipple has quit (Read error: 110 (Connection timed out)).
02:40:41 <SimonRC> hmm, this is quite tricky
02:40:51 <SimonRC> I'm only scoring a couple of rows per game
02:41:29 <bsmntbombdood> tetris is laaaaaaaame
02:45:10 <_wildhalcyon_> thank goodness this is hextris
02:45:12 <_wildhalcyon_> phew
02:49:47 <GregorR> lol
02:49:58 <GregorR> SimonRC: That's why I told you to play hextris ^^
02:50:21 <SimonRC> indeed
02:50:48 * SimonRC is mildly amused at the idead of an esolanger considering something lame
02:51:30 <bsmntbombdood> lots of things are lame
02:54:41 <GregorR> Like spelling "dude" "dood"
02:54:57 <GregorR> And having referencins to AYB in your /quit message.
02:55:01 <GregorR> *references
02:55:08 <GregorR> Worst spelling ever :P
02:55:14 <bsmntbombdood> thats not lame at all
02:55:23 <_wildhalcyon_> or typing like you're in a chatroom.
02:55:30 <_wildhalcyon_> AYB?
02:55:36 <bsmntbombdood> all your base
02:55:51 -!- bsmntbombdood has left (?).
02:55:51 -!- bsmntbombdood has joined.
02:56:03 <bsmntbombdood> like in me /quit message
02:57:45 * SimonRC didn't see a /quit message
02:57:58 <GregorR> The quit message that shows when he quits, not when he /parts :P
02:58:04 <bsmntbombdood> whoops
02:58:28 <SimonRC> yeah, you use a /part message for that
02:58:39 <SimonRC> /part AYBRB2U
02:59:49 <bsmntbombdood> yeah, yeah, yeah, whatever
03:01:08 -!- bsmntbombdood has quit ("all your basment are belong to bsmntbombdood").
03:05:03 -!- bsmntbombdood has joined.
03:05:11 <bsmntbombdood> whoops
03:07:18 <SimonRC> heh
03:11:12 -!- _coder_ has joined.
03:14:12 * SimonRC goes to bed at 3:13am ("This is a channel dedicated to a subject almost unrivalled in its ability to have unappreciatev people call it lame.")
03:16:23 <bsmntbombdood> I never said esolangs were lame
03:22:49 <GregorR> ESOLANGS ARE LAME
03:22:54 <GregorR> UR ALL TEH FAGZ0RZ
03:22:56 <GregorR> ROFLCOPTER
04:28:34 -!- calamari has quit (Connection timed out).
04:51:24 -!- calamari has joined.
04:57:07 <_wildhalcyon_> Hey Calamari
04:57:48 <_wildhalcyon_> I like your new website, but the articles are all missing. I remember reading about ESO OS, and now...?
06:20:08 <calamari> ahh, is it also missing from the old section?
06:21:30 <calamari> http://kidsquid.com/old/programs/eso/catseye/catseye.html
06:22:16 <calamari> you're right tho, I need to finsih transferring all that stuff back over
06:45:26 <_wildhalcyon_> but still, great website
06:45:33 <_wildhalcyon_> and thanks for the former linky
06:49:27 <lament> http://z3.ca/~lament/tankers.jpg
06:51:15 <_wildhalcyon_> nice black and white. Where is that?
06:51:17 -!- _coder_ has quit ("Leaving").
06:51:57 <lament> vancouver
06:52:51 <_wildhalcyon_> that's such a beautiful area
06:53:01 <lament> yes
06:53:05 <lament> i know :D
06:53:20 <lament> have you been here?
06:54:49 <_wildhalcyon_> a long time ago, yes.
06:54:54 <_wildhalcyon_> I used to live in Seattle
06:55:00 <_wildhalcyon_> Those were the good old days
06:55:16 <_wildhalcyon_> I haven't been to Vancouver since I was little. Before I could drive a car, at least.
06:55:33 <_wildhalcyon_> I'd love to go again, but every time I'm back in Washington, I've got so much other stuff going on
06:56:27 <lament> i still can't drive a car and i'm 21....
06:56:52 <calamari> _wildhalcyon_: thanks.. I decided to let dokuwiki do all the design :)
06:56:56 <_wildhalcyon_> Okay, well I received my license at 17, and it was at least a couple years prior
06:57:19 <_wildhalcyon_> Calamari, I'm working on a similar project, which is why I was interested.
06:57:34 <_wildhalcyon_> Well, dokuwiki did an excellent job then
06:57:42 <calamari> yeah it's a decent wiki
06:57:51 <_wildhalcyon_> I couldn't figure out how to add a comment though
06:57:53 <calamari> I had to customize on it a little bit tho
06:57:57 <calamari> oh yeah?
06:58:06 <calamari> that may be broken.. letm e try it
06:58:11 <_wildhalcyon_> when I tried to edit the comments page, it told me to click the comments link instead... which didn't really go anywhere
06:59:02 <calamari> hmm, seems to work here, except that the page is locked
06:59:22 <calamari> I clicked Comments, then Create this Page (or Edit this page)
06:59:40 -!- nooga has joined.
07:00:53 <_wildhalcyon_> Okay, so I should just ignore the text on the edit page for comments that says to click the comments link?
07:01:01 <_wildhalcyon_> I was just getting confused is all
07:01:08 <calamari> I must be blind.. I don't see that tgext
07:02:07 <_wildhalcyon_> it shows up when I tried to edit comments:main
07:02:28 <calamari> ahhh.. that
07:02:35 <_wildhalcyon_> So I suppose I can ignore it hten
07:02:37 <_wildhalcyon_> then*
07:02:52 <calamari> yeah, that is because a bunch of idiots were editing pages with things like "does this work?"
07:03:05 <calamari> so I wanted them to use the comments page/playground
07:03:15 <_wildhalcyon_> Oh, well alrighty then
07:03:29 <calamari> thanks for noticing the problem hehe
07:03:48 <_wildhalcyon_> Well, its just me being a little obtuse and not wanting to risk editing the wrong thing
07:04:02 <calamari> nah you're fine
07:04:25 <calamari> I'll try to think of a way to not display that text when editing the comments page
07:04:39 <calamari> thanks again for mentioning it :)
07:04:42 <_wildhalcyon_> no worries.
07:05:08 <nooga> where?
07:05:08 <_wildhalcyon_> So I saw on the forum that you're looking at reviving ESO?
07:05:24 <calamari> I am? :)
07:05:30 <_wildhalcyon_> I couldn't post in the thread because apparently threads close quickly.
07:05:32 <_wildhalcyon_> Oh, wait, its not you
07:05:36 <_wildhalcyon_> Someone else.
07:05:45 <calamari> I reember posting some time ago when they were talking about eso, with some ideas
07:06:00 <_wildhalcyon_> only early november :-)
07:06:11 <calamari> yeah, 7 mos ago ;)
07:06:40 <calamari> I did some work on the original eso's but it never went anywhere because nobody would decide
07:06:54 <calamari> the problem was that no one was in charge and a comitte wasn't forming
07:07:16 <_wildhalcyon_> Ah, yeah.. that's part of what makes online collaborative projects difficult
07:07:20 <calamari> the closest I've made to it is bos (bf os)
07:09:09 <_wildhalcyon_> I vaguely remember that. How well did it work?
07:09:39 <calamari> well it works, but I was cramming things into the 512 byte bootsector, so the environment is rather hostile ;)
07:10:09 <_wildhalcyon_> Hmm, interesting
07:10:27 <calamari> it used an i/o-based interface to extend bf
07:10:41 <_wildhalcyon_> what do you mean?
07:11:11 <calamari> for example, bf cannot read/write disk sectors, but if you wrote the correct escape sequence to output, now it can (it is intercepted)
07:11:50 <_wildhalcyon_> Oh, I see.
07:11:52 <calamari> the default program is a "quine" that reads itself from the floppy
07:12:06 <calamari> so it cheats, but demonstrates the system
07:12:33 <_wildhalcyon_> That's actually a pretty useful interface. It was something I was looking into developing for CRAWL before it finally left the realm of sanity
07:12:50 <calamari> that i/o interface has been expanded into PESOIX
07:13:26 <_wildhalcyon_> which, amazingly enough, I just googled to read up upon
07:13:44 <calamari> it was all out of the original eso ideas.. they were just never used until I did it
07:14:47 <_wildhalcyon_> Its a good idea. I was trying to find a way to add some more powerful program control to Befunge and considered IP- and I/O- abstraction layers
07:15:13 <calamari> I was working on a pesoix filter, but ran into some major troubles
07:15:40 <calamari> the idea was that any interp using stdout/in could be automatically extended
07:15:53 <_wildhalcyon_> Right, that's what I liked about it.
07:16:26 <calamari> however, linux seems to have some major issues with streams (blocking/non blocking, all that)
07:16:53 <_wildhalcyon_> what do you mean by blocking and non-blocking?
07:17:05 <GregorR> Yeah, blame it on the OS :P
07:17:07 <calamari> well, for example
07:17:25 <calamari> the interpreter writies something to stdout, but doesn't flush
07:17:41 <calamari> then, pesoix doesn't know, so it's just waiting around
07:17:51 <GregorR> That's ... not even GNU/Linux-specific ... that's not even UNIX-specific. That's C.
07:17:55 <calamari> then deadlock, because the interpreter was waiting on a response
07:18:08 <calamari> GregorR: quit trying to make sense ;)
07:18:21 <GregorR> Then quit blaming the OS I love so very much :P
07:18:35 <calamari> hahah
07:19:08 * _wildhalcyon_ blames linux for Kevin Federline's career.
07:19:42 <calamari> _wildhalcyon_: anyhow, the jist of it is that interpreters would have to be redone anyways to include flush commands, if they aren't already there
07:20:15 <calamari> so its not as automatic as we all wanted.. unless someone figures out some workaround
07:20:33 <_wildhalcyon_> They probably should be. C is funky with that sort of stuff.
07:21:00 <fizzie> If you write(2) to file descriptor 1, the standard output one, instead of using the C library streams, you don't need to flush it.
07:21:23 <GregorR> fizzie: The idea was to use interpreters absolutely unmodified, so what they do isn't in our control.
07:21:32 <calamari> fizzie: whats the difference between rewriting the interp to do that vs adding a flush
07:21:35 <GregorR> I'm imagining an environment variable controlling whether libc uses blocking I/O ...
07:21:52 <calamari> GregorR: thanks hehe
07:22:49 * calamari goes back to the BOOTDISK-howto
07:23:09 <calamari> blah, bad caps on that hehe
07:23:40 <fizzie> Now, really: whether stdout is line-buffered or not has nothing to do with blocking/non-blockingness; the write doesn't block, the output just isn't visible yet.
07:23:54 <GregorR> Erm, yeah, sorry.
07:24:05 <GregorR> Bad terminology.
07:24:12 <calamari> fizzie: yeah, sorry
07:24:22 <calamari> its internal buffering
07:24:37 <calamari> seems liek that wasnt the only problem tho
07:24:47 <calamari> but it was a major one
07:25:16 <calamari> ahh here go.. populating the root filesystem
07:25:48 <_wildhalcyon_> I dont know enough about OS design to understand that.
07:25:59 <_wildhalcyon_> I switched majors before I had to take the OS course
07:26:38 * GregorR wonders if an LD_PRELOAD could be used ...
07:27:00 <calamari> possibly, but it'd be library specific
07:27:29 <calamari> and would also mean that interpreters couldn't be statically linked
07:27:40 <GregorR> Ooh, that's true :(
07:27:46 <fizzie> Still, fixing badly-written interpreters should be the interpreter-writer's job; the C standard says that only writing a newline or calling fflush() is guaranteed to make output visible. Anyway, you can always setbuf(stdout, 0); before executing the interpreter.
07:28:03 <GregorR> fizzie: Does that survive exec?
07:28:19 <GregorR> I was under the impression that it didn't ... sort of the whole problem.
07:29:50 <fizzie> I don't have any official documentation on that, but it does survive exec here.
07:29:59 <GregorR> O_O
07:30:03 <calamari> cool
07:30:21 <GregorR> I ... feel stupid.
07:30:23 <fizzie> Or perhaps not!
07:30:26 <nooga> good
07:30:30 <_wildhalcyon_> I feel stupider
07:30:35 <_wildhalcyon_> err.. more stupid?
07:30:37 <fizzie> I might have forgotten to recompile my test program. :p
07:30:41 * _wildhalcyon_ isn't sure.
07:31:07 <calamari> _wildhalcyon_: dumberer
07:31:18 <fizzie> Indeed it does not. Aw.
07:31:39 <_wildhalcyon_> There we go calamari
07:31:47 <lindi-> would be interesting if it survived, where would that information be stored?
07:32:02 <fizzie> Perhaps I should read the context to this discussion.
07:32:05 <GregorR> fizzie: Figured. std* are abstractions created at runtime, so I was wondering.
07:32:28 <calamari> thats nice, my statically linked copy of busybox seems to have disappeared.. good thing I noticed that before I really needed it
07:33:52 <GregorR> [Whoot 2 Busybox]
07:33:59 <_wildhalcyon_> whats busybox?
07:34:22 <calamari> a replacement for a lot of the gnu utils that are much smaller
07:34:34 <GregorR> All compiled into one executable.
07:34:56 <_wildhalcyon_> oh, alrighty
07:35:23 <_wildhalcyon_> Oh, for embedded systems huh?
07:35:47 <GregorR> Yeah
07:35:48 <_wildhalcyon_> (according to the website)
07:36:25 <_wildhalcyon_> I love embedded systems. Reading an article on car computers is what made me chose Comp Sci as a major.
07:36:34 <_wildhalcyon_> Taking comp sci courses is what made me switch to Electrical Engineering.
07:36:47 <fizzie> (Of course there's _always_ a workaround: perhaps adding an evil library (to mangle the stdout in an __attribute__((constructor)) routine) to LD_PRELOAD might work, if stdout exists already when those are called.)
07:36:48 <GregorR> Hahahah
07:37:57 <calamari> GregorR: which menu is devfs under in 2.4?
07:38:15 <GregorR> Sorry, don't know off the top of my head ...
07:38:41 <fizzie> I seem to recall it'd be with the other file systems (ooh!), but that might be the situation in 2.6.
07:38:49 <calamari> ahh maybe its only 2.6
07:39:02 <fizzie> It's deprecated in 2.6 in favour of udev, anyway.
07:39:09 <fizzie> But I think it already existed in 2.4.
07:40:00 <fizzie> I think I should focus on work now, though.
07:40:04 <calamari> I tried a 2.2 kernel, but it wouldn't compile.. gcc is probably too new
07:41:51 <GregorR> Go with 0.99
07:42:21 <calamari> nah, I don't use the minix fs
07:42:36 <GregorR> *snaps*
07:45:28 <calamari> ahh, it is in the filesystem menu, but I didn't have experimental selected so it was invisble
07:49:05 <GregorR> I love how devfs survived for like a year :-P
07:49:34 <calamari> yeah, what was wrong with it? worked for me
07:50:04 <GregorR> I really don't know.
07:50:08 <GregorR> Always worked great for me.
07:57:56 <_wildhalcyon_> Yay! I updated the forum with my CRAWL progress!
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:18 <fizzie> It's just that udev's better. :p
08:01:43 <fizzie> (Earlier 2.6 kernels had some deprecation rational in the kernel help, but none of the ones I have source for seem to include devfs at all.)
08:01:57 <fizzie> s/al/ale/
08:02:00 <nooga> and when the cloud bursts thunder in your ear
08:02:13 <nooga> erm
08:02:15 <nooga> excuse me
08:02:54 <_wildhalcyon_> that sounds a lil' kinky nooga
08:03:04 <_wildhalcyon_> stay out of those.. erm... iffy channels
08:03:45 <nooga> it's a quote
08:03:49 <lindi-> calamari: heh, i managed to avoid devfs completely, never used it on any machine :)
08:03:57 <nooga> from Pink Floyd's song ;p
08:04:15 <calamari> same question, no answer: http://kerneltrap.org/node/4893
08:04:28 <calamari> lindi-: hehe
08:04:50 <_wildhalcyon_> nooga: suuuuure it is
08:05:05 <_wildhalcyon_> Actually, knowing pink floyd, that could still be iffy
08:05:09 <_wildhalcyon_> but I like floyd, so you're good
08:05:23 <nooga> meh
08:05:24 <nooga> g2g
08:05:27 <nooga> bye
08:05:39 -!- nooga has quit.
08:06:51 <_wildhalcyon_> actually, its 3am here and I've gotta get up at 8, so I'll catch you folks later
08:06:57 <calamari> cya wild
08:07:41 <_wildhalcyon_> g'night folks
08:07:48 -!- _wildhalcyon_ has quit ("Chatzilla 0.9.73 [Firefox 1.5.0.4/2006050817]").
08:12:53 * calamari hacks the kernel source..
08:16:28 <calamari> fixed! :)
08:16:48 <fizzie> Hack, hack, hack the boat.
08:16:52 <fizzie> Or is it "row"?
08:17:41 <lindi-> calamari: i'm quite sure i had such a floppy somewhere
08:17:51 -!- sedimin has joined.
08:18:05 <sedimin> hi there
08:18:41 <calamari> lindi-: It is getting confused because I'm doing the rather odd thing of not having a compressed root filesystem, so it figures it must be on a different disk
08:18:46 <fizzie> I seem to recall also having a combined boot+root disk which did not require a keypress. But it's been a long time since last booting with a floppy.
08:19:18 <calamari> fizzie: yeah, the code checks for that situation
08:19:30 <calamari> fizzie: if it is compressed, that is
08:19:43 -!- sedimin has left (?).
08:19:50 <lindi-> calamari: i even found the script i used to generate it, http://rafb.net/paste/results/DaAgyd94.html
08:19:54 <calamari> anyhow :) commenting out the keypress request did the trick
08:20:35 <fizzie> lindi; "Language: C++"?
08:20:45 <lindi-> didn't bother to change the default :P
08:21:05 <fizzie> test.C:1:2: error: invalid preprocessing directive #!
08:21:05 <fizzie> test.C:5:7: error: invalid suffix "k" on integer constant
08:21:05 <fizzie> test.C:6:7: error: invalid suffix "k" on integer constant
08:21:05 <fizzie> test.C:11:7: error: invalid suffix "k" on integer constant
08:21:05 <fizzie> test.C:2: error: expected constructor, destructor, or type conversion before ‘=’ token
08:21:09 <fizzie> "It doesn't compile!"
08:21:49 <lindi-> now tell rafb.net to add automatic compilation as a feature ;)
08:41:45 -!- sedimin has joined.
08:51:14 -!- bsmntbombdood has quit ("all your basment are belong to bsmntbombdood").
09:10:28 -!- sedimin has quit (Read error: 110 (Connection timed out)).
10:09:24 -!- kipple has joined.
11:43:35 -!- calamari has quit ("Leaving").
11:57:49 -!- jix has joined.
12:34:50 -!- wooby has joined.
12:50:45 -!- wooby has quit (Remote closed the connection).
13:18:51 <SimonRC> (hmm... the ESO/OS makes no mention of PEOSIX)
13:23:13 <SimonRC> "< fizzie> Still, fixing badly-written interpreters should be the interpreter-writer's job; the C standard says that only writing a newline or calling fflush() is guaranteed to make output visible." <---- so, change the esoapi to put a newline at the end of every command?
14:47:42 <SimonRC> "The n option is slow." "There is no way to selectively follow symbolic links." :-)
14:54:44 -!- ihope has joined.
14:55:01 <ihope> Well, sheesh, it should be easy to write an Unlambda interpreter in Unlambda!
14:55:26 <jix> it's easier to write an lazy-k interpreter in lazy-k
14:55:31 <ihope> Of course, you got the evaluation order issues, but that shouldn't be too durn important.
14:57:47 <ihope> Just parse all your input, using the "reprint character read" function to deal with the output functions. Then use a fold to turn the resulting tree into Unlambda code, and have the rest of the interpreter evaporate.
15:08:05 <ihope> Yeah, the interpreter would be vaporware! :-)
15:10:58 -!- Arrogant has joined.
15:21:14 -!- Arrogant has quit ("Leaving").
15:21:38 * SimonRC goes.
15:23:38 <ihope> Hmm, so all the most popular channels are about Linux?
15:24:10 <lindi-> ihope: on freenode?
15:24:15 <ihope> Yeah.
15:25:09 <lindi-> hard to say what are most popular but certainly free software related channels are more popular than linux related, #kernelnewbies is the only linux related channel i know
15:26:00 <ihope> A /list will tell you what the most popular channels are :-)
15:26:12 <ihope> Erm, wait.
15:26:22 <ihope> A /join'll do it on my client.
15:27:46 <ihope> Merging #gentoo, #ubuntu, and #debian would produce a large channel :-)
15:28:36 <lindi-> ihope: yes but none of those is about linux
15:28:43 <ihope> Um...
15:29:08 <ihope> Okay, then. All the most popular channels are about GNU/Linux distributions.
15:41:07 -!- tgwizard has joined.
15:54:00 -!- nooga has joined.
15:55:02 <lindi-> ihope: dunno, i'm not on any such channel on freenode
16:03:58 <nooga> huh?
16:26:37 -!- GregorR-W has joined.
16:26:40 <ihope> <ihope> Hmm, so all the most popular channels are about Linux?
16:27:10 <GregorR-W> On Freenode, all the most popular channels are about FOSS, and GNU/Linux is the flagship.
16:28:17 <nooga> ahm
16:28:49 * GregorR-W enjoys responding out of context.
16:30:17 <ihope> Freenode is supposedly all about FOSS.
16:30:50 <ihope> However, apparently *I'm* all about FOSS, as I had mistaken Freenode for one of the big guys for a longish time.
16:31:48 <ihope> #esoteric here, #nethack here, #haskell here, #math here, #spore there, and #sporks somewhere else.
16:32:05 <GregorR-W> Freenode is /not/ one of the "big guys"
16:32:10 <GregorR-W> Freenode is one of the niche guys.
16:32:25 <GregorR-W> And it's a good thing, most IRC networks are terrifying, whereas Freenode is a pleasurable experience.
16:32:46 <jix> GregorR-W: fack
16:33:17 <GregorR-W> ...
16:33:18 <GregorR-W> ?
16:33:20 <ihope> I don't frequent anything at any of the "big guys".
16:33:23 <jix> full ack...
16:33:42 <ihope> Google "define:fack".
16:33:45 <GregorR-W> Arr
16:33:51 <GregorR-W> Damn IRC :P
16:33:53 <ihope> The one result: "One circle of a coil of rope."
16:34:11 <GregorR-W> Wow, awesome.
16:34:37 <ihope> Quakenet, EFnet, um... IRCnet? Then that other one...
16:34:57 * jix is building a robot that is going to KILL YOU ALL!
16:35:02 <ihope> Undernet!
16:37:09 <ihope> So how come the big guys seem to use one-letter service bots? I guess because it's harder to typo one of those, and such typos probably won't be more than 3 characters long at worst, so all nicks that are 3 letters or shorter could be banned.
16:37:12 -!- ihope has changed nick to ih.
16:37:25 <ih> ...Owned by someone else? Aww.
16:37:28 -!- ih has changed nick to ihope.
17:26:06 -!- sedimin has joined.
17:26:12 <sedimin> hey
17:26:59 <lament> hi
17:27:17 <sedimin> how are things going?
17:27:24 <lament> slowly
17:27:31 <sedimin> heh
17:27:49 <sedimin> quite the same
17:28:15 <lament> it's monday morning and i'm at work
17:28:26 <sedimin> it's morning there?
17:28:30 <sedimin> where you at?
17:28:40 <sedimin> I have evening here, and I came back recently
17:30:11 <GregorR-W> Yay timezones :)
17:30:16 <GregorR-W> <-- also at work Monday morning
17:31:27 <lament> whenever you feel bad, just remember: somewhere on earth there's a beautiful sunrise right now :D
17:33:35 <GregorR-W> Whenever you are feeling very small or insecure, just remember how unlikely is your birth! And hope that there's intelligent life somewhere out in space, because it's bugger all down here on Earth!
17:34:25 <sedimin> hehehe
17:34:45 <sedimin> Timezones truly rule
17:34:50 <GregorR-W> [For some reason, lament's line seemed Pythonesque to me :P]
17:35:00 <sedimin> hmm
17:35:32 <sedimin> it reminds me the Whenever esolang
17:36:23 <sedimin> listen guys, i have one kind of problem
17:36:29 <lament> you're lucky
17:36:32 <lament> i have many kinds of problems
17:36:47 <sedimin> correction - i have one kind of problem right now :)
17:37:09 <sedimin> do you know how to emulate infinite array with a queue? I just can't get it
17:38:02 <GregorR-W> You need two queues, IIRC
17:38:18 <sedimin> I think so, so it's not possible with one
17:39:06 <lament> no, it's not
17:39:16 <lament> wait
17:39:17 <lament> yes it is
17:39:21 <lament> wait
17:39:23 <sedimin> hm
17:39:23 <lament> no it's not :)
17:39:23 * GregorR-W is too tired to think about this :P
17:39:37 <sedimin> too tired and it's just monday morning? :)
17:39:51 <GregorR-W> sedimin: Couldn't get to sleep last night :(
17:39:52 <lament> "just"
17:40:11 <lament> the obvious answer to your question is that infinite arrays don't exist.
17:40:17 <sedimin> :/
17:40:21 <lament> It's possible to emulate an array of arbitrary length with a queue.
17:40:47 <sedimin> I did not obviously mean truly infinite array, as one cannot have infinite memory and stuff
17:40:49 <sedimin> :)
17:40:56 <lament> It's not possible to emulate an infinite array even with two queues
17:41:01 <sedimin> but let's take and array of arbitrary length
17:41:13 <lament> yes
17:41:18 <lament> then just put it in a queue
17:41:38 <lament> remember what index is at the head of the queue
17:41:46 <sedimin> head?
17:41:48 <lament> and any time you need to get some element, just cycle through the queue
17:41:59 <lament> until you get to the corresponding index
17:42:08 <sedimin> aha
17:42:09 <sedimin> i see
17:42:15 <lament> (cycle by taking an element off the queue, then putting it right back)
17:42:50 <lament> with an infinite array, of course, you can't cycle
17:42:54 <sedimin> so I should have one variable that holds the position of the start of the queue
17:42:58 <lament> yes
17:43:11 <sedimin> and when I cycle, then the value will change respectively
17:43:53 <sedimin> thanks
17:44:32 <sedimin> How do you call an array that changes its size when needed? something like inflating array?
17:47:18 <lament> arrays suck anyway
17:47:26 <lament> they're the most boring data structure
17:49:34 <fizzie> "flexible array" is used somewhere.
17:52:15 <fizzie> C99 calls "a" in "struct foo { int x; long a[]; };" a "flexible array member", IIRC.
17:52:32 <sedimin> flexible, yes
17:53:09 <sedimin> sometimes I think my English is worse than the one of primary school kid... :/
17:55:05 <GregorR-W> sedimin: Well, my Slovak is far worse than your English ;)
17:56:47 <sedimin> Isn't it just ''null''? :)
17:57:12 <GregorR-W> Yup :P
17:57:30 <sedimin> you see. and no exceptions in real life when you try to speak it
18:40:30 -!- nooga has quit (Read error: 110 (Connection timed out)).
19:24:04 -!- sedimin has quit (Read error: 110 (Connection timed out)).
19:47:56 -!- fuse has joined.
19:51:32 <ihope> To simulate an infinite "tape" using a queue, you can just use a | to represent the tape head, and a $ to represent the "end" of the tape.
19:52:15 <ihope> So a 00011000 with the head right in the middle could be 0001|1000$, $0001|1000, 0$0001|100, 00$0001|10...
19:53:58 <GregorR-W> An infinite tape with an end, that's a new one :P
19:54:42 <ihope> Just add zeroes around the $ whenever you need more.
19:57:31 <ihope> Apparently those guys over in Hell are going to celebrate Tuesday.
20:00:39 <ihope> Now, it'd be rather weird if the world DID end then...
20:04:38 <kipple> The question is: will it be "The End" or "To be continued"
20:04:53 <jix> 2nd
20:05:53 <kipple> haven't seen any doomsday prophecies in the news here. I would have thought some fanatics would have made at least some attempts to scare people
20:13:10 <fuse> so what's happening tuesday?
20:13:30 <kipple> the world ends
20:13:44 <fuse> uhm. why?
20:13:57 <fuse> oh. i see. 6/6/6.
20:14:01 <kipple> yes
20:14:28 <kipple> of course, it's actually 6/6/2006, but who cares...
20:15:37 <ihope> Heh.
20:15:43 <fuse> i think i read somewhere that, according to recent archaeological, the actual number is actually the far less ominous 616.
20:16:09 <fuse> *findings
20:17:39 <ihope> How is 616 less ominous than 666, eh?
20:18:05 <fuse> supposedly, 666 has some numerological properties
20:18:29 <fuse> oh, nevermind, wtf do i know.
20:55:02 <ihope> So... do I *have* to study?
20:56:03 -!- sedimin has joined.
20:57:53 -!- fuse has left (?).
21:03:25 -!- Asaph has joined.
21:04:40 -!- jix has quit (kornbluth.freenode.net irc.freenode.net).
21:04:40 -!- CXI has quit (kornbluth.freenode.net irc.freenode.net).
21:04:41 -!- tgwizard has quit (kornbluth.freenode.net irc.freenode.net).
21:04:41 -!- kipple has quit (kornbluth.freenode.net irc.freenode.net).
21:04:42 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
21:04:42 -!- cp has quit (kornbluth.freenode.net irc.freenode.net).
21:04:42 -!- ChanServ has quit (kornbluth.freenode.net irc.freenode.net).
21:04:43 -!- cmeme has quit (kornbluth.freenode.net irc.freenode.net).
21:04:43 -!- sekhmet has quit (kornbluth.freenode.net irc.freenode.net).
21:04:44 -!- sedimin has quit (kornbluth.freenode.net irc.freenode.net).
21:04:44 -!- poiuy_qwert has quit (kornbluth.freenode.net irc.freenode.net).
21:04:44 -!- EgoBot has quit (kornbluth.freenode.net irc.freenode.net).
21:04:44 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
21:04:44 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
21:04:45 -!- ihope has quit (kornbluth.freenode.net irc.freenode.net).
21:04:45 -!- Robdgreat has quit (kornbluth.freenode.net irc.freenode.net).
21:04:45 -!- pgimeno has quit (kornbluth.freenode.net irc.freenode.net).
21:04:45 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
21:04:45 -!- sp3tt has quit (kornbluth.freenode.net irc.freenode.net).
21:05:23 -!- ChanServ has joined.
21:05:23 -!- ihope_ has joined.
21:05:23 -!- sedimin has joined.
21:05:23 -!- tgwizard has joined.
21:05:23 -!- ihope has joined.
21:05:23 -!- jix has joined.
21:05:23 -!- kipple has joined.
21:05:23 -!- cmeme has joined.
21:05:23 -!- CXI has joined.
21:05:23 -!- poiuy_qwert has joined.
21:05:23 -!- sekhmet has joined.
21:05:23 -!- cp has joined.
21:05:23 -!- GregorR has joined.
21:05:23 -!- EgoBot has joined.
21:05:23 -!- SimonRC has joined.
21:05:23 -!- pgimeno has joined.
21:05:23 -!- mtve has joined.
21:05:23 -!- sp3tt has joined.
21:05:23 -!- puzzlet has joined.
21:05:23 -!- irc.freenode.net has set channel mode: +o ChanServ.
21:05:35 <jix> it's a self built robot using some µC some lego some wires one loudspeaker.. some sensors...
21:05:41 <jix> some motors
21:06:21 -!- puzzlet has quit (Remote closed the connection).
21:06:24 -!- puzzlet has joined.
21:07:45 <SimonRC> lol: "They had a process on Skylab. In the storage compartment there were 2000 lockers, on the ground there was a team of six working in shifts with a pair of redundant computers keeping track of what was put in which locker."
21:08:23 <ihope_> Heh/
21:08:35 <GregorR-W> A fairly route loss?!
21:08:40 <ihope_> What's that?
21:08:43 <GregorR-W> The fairly ones are the worst kind!
21:08:59 <ihope_> NOO! NOT A FAIRLY ROUTE LOSS!
21:14:56 <GregorR-W> Hahahah
21:15:02 <SimonRC> actually, regarding 6/6/2006: http://imdb.com/title/tt0466909/
21:17:57 <SimonRC> heheh
21:18:11 * SimonRC watches the trailer
21:18:40 <SimonRC> I like the birthmark with 666 in Aribic (i.e. English) numerals. *sigh*
21:21:01 -!- sedimin has quit (Read error: 110 (Connection timed out)).
21:21:13 -!- ihope has quit (Read error: 110 (Connection timed out)).
21:22:06 <SimonRC> Hmm, actually, after reading the plot outline of that, the beginning of _Good Omens_ makes more sense.
21:24:30 <kipple> Good Omens is an awesome book. One of the funniest I've read
21:26:17 -!- _wildhalcyon_ has joined.
21:27:21 <SimonRC> kipple: yup
21:27:33 <_wildhalcyon_> hello
21:27:38 <SimonRC> hi
21:28:51 <_wildhalcyon_> How are you Simon?
21:30:00 <SimonRC> fine
21:30:48 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)).
21:30:55 <jix> moin _wildhalcyon_
21:31:03 <_wildhalcyon_> moin jix
21:31:16 -!- bsmntbombdood has joined.
21:40:19 -!- sp3tt has joined.
21:40:21 * SimonRC goes
21:40:47 <ihope_> !help
21:40:50 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
21:40:52 <EgoBot> 1l 2l adjust axo befunge bch bf{8,[16],32,64} fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail rhotor sadol sceql trigger udage01 unlambda whirl
21:41:09 <ihope_> M
21:42:27 <ihope_> E
21:42:46 <ihope_> O
21:44:22 -!- ihope_ has changed nick to ihope.
21:45:10 <ihope> A
21:45:18 <jix> what's that?
21:45:28 <ihope> U
21:45:47 <jix> umlaut-y p with a too large | and a big U???
21:46:15 <ihope> N
21:47:05 <ihope> <CTCP>ACTION g
21:47:27 <ihope> Ahem.
21:47:31 <ihope> That was weird.
21:47:33 <jix> yes
21:47:50 <ihope> <ihope> Ack!
21:47:56 <ihope> <jix> 睨慴❳⁴桡琿
21:48:04 <ihope> <ihope> UTF-16.
21:48:10 <ihope> <jix> 畭污畴⵹⁰⁷楴栠愠瑯漠污牧攠簠慮搠愠扩朠唿㼿
21:48:14 <jix> LOL!
21:48:17 <ihope> <ihope> No, it's UTF-16!
21:48:23 <ihope> *ihope giggles
21:48:54 <jix> hmm my client assumes all server traffic is utf16 if i switch the charset
21:49:14 <ihope> All of it?
21:49:36 <jix> yes
21:49:55 <jix> but why should i use utf-16 at all?
21:50:00 <jix> it's not ascii compatible
21:51:44 <fizzie> The þ is called a thorn, not "p with a too large |". :p
21:51:52 <fizzie> Or should I say, :þ.
21:52:11 <jix> but it is a p with a too large |
21:52:41 <fizzie> That's just what it looks like; I don't think it's a "p".
21:53:01 <ihope> p + b = þ
21:53:04 <jix> i was describing the look
21:53:30 <jix> and q + d = ?
21:53:41 <ihope> Um...
21:53:42 <jix> is there a q with a too long | too?
21:53:50 <ihope> e + y = ?
21:54:12 <jix> € + ¥ = ?
21:54:16 <ihope> Ack!
21:54:30 <jix> C + = = €
21:54:33 <ihope> Oh, of course.
21:54:34 <jix> Y + ? ? ¥
21:54:46 <jix> | + = = $
21:54:49 <ihope> € + ¥ = C + Y + = + =
21:55:09 <jix> | + - = †
21:55:12 <ihope> | + S = $?
21:55:17 <fizzie> ? + ! = ‽
21:55:28 <_wildhalcyon_> That one's my favorite
21:55:30 <jix> fizzie: WTF? how did you got THIS?
21:55:56 <fizzie> That's U+203D, "INTERROBANG".
21:56:34 <fizzie> I assume it's a close friend of ‼, the DOUBLE EXCLAMATION MARK.
21:56:53 <ihope> % - / - o = °
21:57:21 <ihope> O + / = Ø
21:57:42 <fizzie> X + | = ᛡ (U+16E1, RUNIC LETTER IOR)
21:58:14 <jix> 한글 << is that hangul?
21:58:26 <_wildhalcyon_> yup
21:58:27 <fizzie> And U + | = ᛘ. (U+16D8, RUNIC LETTER LONG-BRANCH-MADR-M)
21:58:32 <_wildhalcyon_> Coolest alphabet in the world
21:58:36 <_wildhalcyon_> except maybe mayan
21:58:41 <jix> i switched my keyboard layout to hangul and tried to type the word hangul
21:59:02 <jix> i want to learn korean
21:59:14 <ihope> 2¹¹ = 2048
21:59:16 <ihope> :-P
21:59:29 <fizzie> | + \ = ᚢ, RUNIC LETTER URUZ UR U. These have funky names.
21:59:38 <fizzie> Although the OGHAM SPACE MARK trumps all of these.
21:59:56 <ihope> What funky character set are all these?
22:00:27 <ihope> Is what I say still intelligible?
22:00:50 <fizzie> 2⁽⁴⁺⁷⁾ = 2048.
22:01:00 <ihope> Ack.
22:01:05 <ihope> Wuh?
22:01:32 <fizzie> Unicode has superscript versions of [0-9], +, -, =, ( and ).
22:01:36 <fizzie> (And subscript versions, too.)
22:01:45 <ihope> Whew.
22:01:51 <ihope> Or whoo, or whatever.
22:01:57 <ihope> But what character set was that?
22:02:35 <jix> i just red a bit of information about the korean language.. i don't wont to learn it anymore....
22:03:00 <ihope> I never wanted to learn it in the first place :-)
22:03:36 <SimonRC> ooh, misc garbage...
22:04:57 <SimonRC> UTF-16 sux, UTF-8 rox
22:05:03 <SimonRC> IMHO
22:05:53 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
22:06:15 <fizzie> UTF-16 might be useful for minor space-saving in CJK text; most of the characters would be 3 bytes in UTF-8.
22:06:29 <ihope> Quick, let's all suddenly switch over to UTF-16!
22:06:29 -!- cmeme has joined.
22:06:37 <SimonRC> and many would be 4 bytes in UTF-16
22:06:45 <ihope> H
22:07:00 <SimonRC> that looks like thingy-thingy-H
22:07:14 <SimonRC> where thingy is the sign for unkonw char/corrupted UFT char
22:07:47 <jix> SimonRC: ÿöü döñt hävë ÿ???
22:08:29 <jix> öööööööööõöööööööööö which one doesn't belong here?
22:09:32 <ihope> <CTCP>ACTION A
22:09:50 <ihope> T
22:10:11 * ihope coughs
22:10:27 <ihope> The answer's ╡?
22:10:39 <ihope> Oh, that's not an answer; it's an emoticon.
22:15:34 <pgimeno> ńó ĺáýéŕ śíźé íń úśé
22:15:54 <ihope> Uh oh.
22:16:41 <fizzie> Err; not _many_ are 4 bytes in UTF-16, only the characters outside the BMP, and those are some pretty freaky characters.
22:17:24 <pgimeno> 64K characters should be enough for anybody!
22:18:36 <ihope> :-)
22:19:06 -!- cmeme has quit ("Client terminated by server").
22:19:07 <SimonRC> jix: I see a load of o:, one o~, and more o:
22:19:22 <jix> SimonRC: right
22:19:26 <fizzie> Well, it _should_: do you really need characters like VARIATION SELECTOR-42, TETRAGRAM FOR VASTNESS OR WASTING or MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3.
22:19:40 -!- cmeme has joined.
22:19:41 <ihope> Wow.
22:20:41 -!- ihope has quit (SendQ exceeded).
22:20:49 <SimonRC> and the best use of private use are award goes to: http://www.evertype.com/standards/csur/
22:21:34 -!- ihope_ has joined.
22:21:37 -!- ihope_ has changed nick to ihope.
22:21:45 <ihope> Hee hee.
22:21:51 <fizzie> Apple has their Apple logo as the was-it-last-or-what letter in the private use area in OS X -bundled fonts.
22:22:24 <ihope> Well, it is the private use area.
22:22:49 <fizzie> I'm a bit disappointed that Klingon got nixed from Unicode proper.
22:23:05 <SimonRC> aye
22:23:28 <fizzie> Considering what the Interweb is like, I'm sure there'd be much more use for klingon characters than, say, OLD PERSIAN SIGN XSHAAYATHIYA.
22:23:35 <fizzie> (U+103CB.)
22:24:30 -!- cmeme has quit.
22:25:01 -!- cmeme has joined.
22:25:09 <lament> shmeme
22:25:17 <lament> fizzie: i'm not disappointed at all
22:25:21 <lament> star trek is lame
22:25:38 <SimonRC> thwap! It's "tlhIngan"
22:25:47 <fizzie> Lame, schmame; there's still Real Use (tm) for that stuff.
22:26:06 <lament> no there isn't.
22:26:13 <ihope> "U+E06ETENGWAR DUODECIMAL LEAST SIGNIFICANT DIGIT MARK"
22:26:15 <ihope> Ick?
22:26:25 <lament> hahaha
22:27:24 <ihope> "U+E0BCCIRTH LETTER KHUZDUL RIGHT-POINTING SCHWA"
22:28:18 <ihope> "U+F8FFKLINGON MUMMIFICATION GLYPH"
22:28:26 <ihope> What's a mummification glyph?
22:28:51 <SimonRC> There are 2^21 codepoints in Unicode. We can afford to allocate gigantic amounts to miscellaneous crap.
22:29:10 <SimonRC> Look at the IPv6 address allocations for another good example.
22:29:59 <SimonRC> Argh! My eyes! http://www.dcs.gla.ac.uk/SF-Archives/Misc/Eye_Of_The_Argon
22:30:04 <SimonRC> Worst. Writing. Ever.
22:32:07 <ihope> I think I've seen worse.
22:36:57 <_wildhalcyon_> brb
22:37:00 -!- _wildhalcyon_ has quit ("Chatzilla 0.9.73 [Firefox 1.5.0.4/2006050817]").
22:42:51 -!- _wildhalcyon_ has joined.
22:43:31 <_wildhalcyon_> Im back :-D
22:44:24 <ihope> No, brb ends the program right then and there, doesn't it?
22:44:59 <_wildhalcyon_> I thought that was afk
22:45:09 <ihope> Hmm...
22:45:25 <kipple> no, its stfu
22:45:40 <ihope> !help
22:45:43 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
22:45:45 <EgoBot> 1l 2l adjust axo befunge bch bf{8,[16],32,64} fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail rhotor sadol sceql trigger udage01 unlambda whirl
22:45:55 * ihope whaps GregorR
22:50:42 <GregorR-W> Ouch
22:50:51 <GregorR-W> ?
22:51:03 <ihope> No Omgrofl? Get with the times, man! ;-)
22:51:36 <GregorR-W> Glass > omgrofl
22:51:42 <ihope> Oh.
22:51:48 * ihope relearns Glass
22:51:58 <GregorR-W> Glass will be better than every language until somebody makes Glass with derivation ^^
22:52:46 <ihope> !glass {M[m(_o)O!"Har!"(_o)o.?]}
22:52:49 <EgoBot> Har!
22:53:14 * GregorR-W doesn't even know what tldr means :P
22:53:51 <kipple> heh, I had to look that one up too
22:54:36 <GregorR-W> Too Long Didn't Read?
22:54:38 <GregorR-W> XD
22:55:47 <ihope> No, the "ldr" is short for "loader", and the "t" stands for the same thing as it does in "Windows NT".
22:57:35 <jix> i'm writing an omgrofl interperetr
22:57:51 <GregorR-W> jix: For a decent OS I presume :)
22:57:58 <jix> portable
22:57:59 <jix> ruby written
22:58:03 <GregorR-W> *thumbs up*
22:59:07 <jix> <insert some incompatible buggy z80 clone that was only produced once as a prototype> inline assembler in ruby is portable isn't it?
22:59:59 <ihope> Inline assembler?
23:00:16 <ihope> Why not add inline assembler to Haskell, to? :-P
23:00:28 <jix> well you know ruby inline? it allows to insert code written in other languages into ruby source
23:00:44 <jix> (it has only c and c++ support atm but who cares...)
23:01:03 <jix> oh and my interpreter is going to be interactive!
23:01:05 <ihope> Like the Haskell FFI, slightly.
23:01:32 <jix> you can write lines and the are going to be interpreted as soon as you input them...
23:01:48 <ihope> Like Easy?
23:01:48 <jix> and if you start it with the -r flag you can use readline!
23:01:53 <jix> ihope: like irb
23:02:22 <ihope> Institutional Review Board?
23:02:35 <jix> interactive ruby
23:02:41 <jix> do you have ruby installed?
23:02:48 <ihope> Maybe.
23:02:55 <jix> if you do just start irb from the shell
23:02:59 <jix> and type 10+20
23:04:21 <GregorR-W> Then it'll reformat your hard disk.
23:04:31 <jix> GregorR: Pshhhh....
23:04:34 <GregorR-W> It's the default overload for the + operator.
23:05:47 <ihope> Okay. A Turing machine is now called a No-Grape machine.
23:06:47 <ihope> A Brainhype program with brace nesting level 1 is a One-Grape machine, one with nesting level 2 is a Two-Grape machine, etc.
23:06:56 <ihope> A Brainhype interpreter is a One-Banana machine.
23:07:31 <GregorR-W> I will kill you in your sleep.
23:08:54 <jix> uhm?
23:09:56 <GregorR-W> HI
23:09:58 <GregorR-W> 8-D
23:10:02 <ihope> HELLO!
23:10:07 * ihope hugs GregorR-W
23:14:52 <lament> ihope: can a one-banana machine tell if a one-banana machine will halt?
23:15:03 <ihope> lament: no, but a two-banana machine can.
23:15:25 <ihope> A one-banana machine can tell if *any* machine on the grape hierarchy can halt.
23:15:48 <lament> we need a class that will be able to tell if other stuff in the same class can halt.
23:15:56 <lament> (a superset of TC, of course)
23:16:26 <ihope> Oh, but you don't just want it to tell if other stuff in the same class will halt.
23:16:36 <ihope> You want it to be able to act on that in a Turing-complete manner.
23:16:39 <lament> i guess brainhype CAN do that.
23:17:14 <jix> lament: no there is a proof it can't
23:17:44 <ihope> lament: well, the "Brainhype-complete" class isn't in the Brainhype language.
23:17:56 <ihope> Brainhype defines grape machines.
23:18:06 <ihope> *Any* grape machine.
23:18:26 <lament> jix: um
23:18:29 <lament> jix: it can, by definition
23:18:53 <ihope> lament: for every Brainhype program, there is a *different* one that will solve its Halting problem.
23:19:51 <lament> yes.
23:19:54 <GregorR-W> However, the brainhype program that solves some other Brainhype program's halting problem can be trivially shown to halt.
23:19:59 <GregorR-W> It has no branches or conditionals.
23:20:06 <jix> lament: argh i thought about one brainhype program that is able to solve tha halting problem for all brainhype programs...
23:20:19 <ihope> There's no Brainhype program that can answer the question "will this Brainhype program with this input halt?".
23:20:27 <ihope> For all programs and inputs, that is.
23:20:44 <GregorR-W> Hm, input is a good point.
23:20:47 <lament> Right. but a brainhype interpreter can do that.
23:20:52 <GregorR-W> The Brainhype description doesn't even go into it.
23:20:56 <lament> err
23:20:57 <jix> yes you are all right i was wrong i am stupid ....
23:21:19 <GregorR-W> It's OK jix, you're cool because you've written both FYB and Glass code :P
23:21:30 <lament> if there's no IO, then the brainhype interpreter can check if a brainhype program halts.
23:21:42 <ihope> lament: that just means that a Brainhype interpreter isn't in Brainhype.
23:21:46 <lament> it would just do that by interpreting a _different_ program that adds braces around the old one.
23:21:48 <jix> GregorR-W: i have some simple ORK code on my HD too!
23:22:00 <lament> but if there's IO, then the brainhype interpreter can't do anything
23:22:00 <GregorR-W> jix: Ah, coolio, that makes you even more cool :P
23:22:12 <GregorR-W> By definition, if you've used a language I wrote, you're cool X-P
23:22:15 <jix> GregorR-W: but what if i don't want to be cool?
23:22:21 <GregorR-W> Too late.
23:22:29 <GregorR-W> Your coolness has been irrevocably established.
23:22:48 <GregorR-W> You could feed puppies to blood-sucking mutated babies and still be cool.
23:23:18 <jix> for ext in fyb glass ork; do find / -name "*.$ext" | xargs rm ;done
23:23:28 <lament> it would probably be best to remove all IO from brainhype
23:23:55 <jix> (don't try this at home)
23:24:08 <lindi-> jix: find / -name "*.fyb" -o -name "*.glass" -o -name "*.ork" -type f -print0 | xargs -0 rm would do only one pass
23:24:20 <jix> lindi-: but it's longer
23:24:23 <GregorR-W> lol
23:24:45 <jix> and i didn't know about the -o option
23:24:56 <jix> but that's useful...
23:25:11 <lindi-> find / \( -name "*.fyb" -o -name "*.glass" -o -name "*.ork" \) -type f -print0 | xargs -0 rm
23:28:09 <GregorR-W> stupid() { for i in $1/*; do if [ -d "$i" ] ; then stupid $i ; elif [ "`echo \"$i\" | grep -F '\.fyb$|\.glass$|\.ork$'`" ] ; then rm -f $i ; fi ; done } stupid /
23:28:48 <GregorR-W> Whoops, missed one set of quotes, that won't work if you have files with spaces:
23:28:53 <GregorR-W> stupid() { for i in $1/*; do if [ -d "$i" ] ; then stupid $i ; elif [ "`echo \"$i\" | grep -F '\.fyb$|\.glass$|\.ork$'`" ] ; then rm -f "$i" ; fi ; done } stupid /
23:29:13 <lindi-> GregorR-W: that will break if filename contains spaces
23:29:34 <GregorR-W> Damn, still missed a " or two :P
23:29:42 <GregorR-W> Pft, well the stupid idea is sound :P
23:29:51 <GregorR-W> And by 'sound' I mean 'ridiculous'
23:36:05 <jix> the negation part in omgrofl is not clear..
23:36:26 <jix> the text sais the nope has to be placed in front of iz the example says it's placed after iz...
23:36:42 <jix> should i allow both?
23:36:45 <lament> Consider lambda calculus extended with a function (will-halt f), that checks whether its argument halts
23:36:51 <lament> and is itself guaranteed to halt
23:36:52 <poiuy_qwert> yeah, a lot of stuff in omgrofl seem unclear
23:37:03 <lament> we can call this language Banana LC
23:37:04 <ihope> lament: how do you guarantee it to halt?
23:37:11 <lament> ihope: magic.
23:37:27 <lament> it's a wholly magical function.
23:37:38 <GregorR-W> Uuuuuuuuuuuse your imaaaaaaaaaaaaaaaaagiiiiiiiinaaaaaaaaaaaaaaaaaaaaation.
23:37:40 <lament> Can you write a banana lc interpreter in banana lc? I don't see why not.
23:37:54 <ihope> Is it restricted to those programs that will halt?
23:37:59 <ihope> That's the easy way :-)
23:37:59 <lament> Can you write a brainhype interpreter in banana lc? I don't see why not
23:38:24 <lament> no, it's not restricted to anything
23:38:26 <lament> it's just magical
23:38:31 <ihope> Um...
23:38:46 <ihope> So (\x.xx)(\x.xx) halts in this language?
23:38:51 <lament> no, it doesn't
23:38:52 <jix> ihope: no
23:39:02 <jix> but (will-halt (\x.xx)(\x.xx)) halts
23:39:03 <lament> but (will-halt (\x.xx)(\x.xx)) does, and returns false
23:39:08 <ihope> Ah.
23:39:09 <lament> (some LC equivalent of false)
23:39:35 * ihope thinks
23:40:08 <lament> i don't see any halting-related problems banana lc can't solve.
23:40:18 <ihope> Wait a second...
23:40:43 <jix> (?x. x x)(z. (if (will-halt z) (infinity-loop) false)) what about this?
23:40:53 <ihope> Ermp, hey!
23:41:14 <ihope> (\x.(\y.y(xx))(\y.y(xx)))(\x.(will-halt x)((\x.xx)(\x.xx))(\x.x))
23:41:24 <jix> this program can't be interpreted in a proper way and this shows that a will halt can't be existent....
23:41:24 <lament> jeez
23:41:32 <lament> :(
23:41:32 <ihope> That's the fixed point of the function (\x.(will-halt x)((\x.xx)(\x.xx))(\x.x)).
23:41:52 <jix> ihope: is it the same thing as my (not so lambdaish) example?
23:41:52 <lament> :(
23:41:56 <lament> :(
23:42:07 <lament> i'm stupid
23:42:09 <ihope> jix: depends on what ? is, I think.
23:42:24 <jix> uhm it's \
23:42:34 <jix> it's lambda
23:42:41 <ihope> I don't think it's the same, then.
23:42:43 <jix> but it's wrong anyway
23:43:00 <lament> But brainhype is consistent?
23:43:08 <jix> well i wanted to write a program that halts if it doesn't halts and doesn't halts if it halts
23:43:37 <ihope> (z. (if (will-halt z) (infinity-loop) false))(z. (if (will-halt z) (infinity-loop) false)) = (if (will-halt (z. (if (will-halt z) (infinity-loop) false))) (infinity-loop) false) = (if true (infinity-loop) false) = infinity-loop
23:44:26 <ihope> lament: yes, because this contradiction depends on moving the "braces" to enclose themselves, or something.
23:44:48 <ihope> Everything in lambda calculus is dynamic, but the braces of Brainhype are static.
23:46:57 -!- kipple has quit (Read error: 110 (Connection timed out)).
23:47:05 <lament> right.
23:47:12 <lament> but what about the brainhype interpreter?
23:47:33 <ihope> The Brainhype interpreter cannot solve its own halting problem because it is not a Brainhype program.
23:47:35 <lament> i guess that means that the brainhype interpreter can't be written in _anything_?
23:47:49 <lament> no matter how "superturing"?
23:48:19 <ihope> No, you just have to make it higher than anything in the grape hierarchy.
23:48:32 <ihope> That will bring it into the banana hierarchy.
23:48:52 <lament> i'm not sure there is a banana hierarchy
23:49:12 <ihope> Oh, lemme think...
23:49:14 <lament> i have a gut feeling that the brainhype interpreter would be equivalent to Banana LC in power
23:49:22 <lament> and, therefore, inconsistent
23:49:23 <ihope> No, it wouldn't.
23:49:44 <ihope> The Brainhype interpreter could only be inconsistent if a Brainhype program were inconsistent, I think.
23:50:27 <ihope> Even though a Brainhype interpreter can solve the Halting problem for anything in the grape hierarchy, it doesn't have to solve that for anything in the banana hierarchy.
23:51:11 <jix> what about: (\x. x x)(\e. (if (will-halt (e e)) (infinity-loop) false))
23:51:36 <ihope> jix: I think that'll work.
23:52:46 <jix> that's a function that halts if it doesn't halt and the other way around
23:53:57 <lament> so a brainhype interpreter interpreter is step 2 in the banana hierarchy?
23:54:03 <jix> so there is no one-banana right?
23:54:13 <jix> lament: no
23:54:23 <lament> jix: why not?
23:54:25 <jix> lament: a brainhype interpeter doesn't even have to be a banana
23:54:38 <jix> lament: because i showed a function that is valid banana but it can't exist
23:54:54 <jix> because it neither halts nor does it not halt
23:54:55 <ihope> It's not a valid banana, is it?
23:55:15 <ihope> Where is it on the banana hierarchy, then?
23:55:29 <lament> jix: banana lc is not on the banana hierarchy, apparently.
23:55:45 <jix> lament: ah
23:55:49 <lament> so it must be renamed to turnip lc :(
23:55:55 <ihope> :-)
23:56:14 <lament> one banana is the brainhype interpreter. Two banana is a program capable of telling whether a brainhype interpreter will halt?
23:56:17 <jix> but you can't have an lc with a will-halt...
23:56:45 <GregorR-W> jix: That's a pretty mean contrived example :P
23:57:14 <ihope> lament: yep.
23:57:21 <ihope> Hey, wait...
23:57:44 <jix> GregorR-W: well adding a will halt to an lc is like saying it can solve EVERY problem... and gödel showed that this can't exist... he did it that way... (a bit different)
23:57:48 <ihope> One banana is a machine that can invoke a Brainhype interpreter.
23:57:54 <lament> right.
23:58:04 <ihope> I thought it was Turing that did that.
23:58:27 <jix> ihope: turing showed that it is impossible to decide wether it halts or not
23:58:36 -!- GregorR-W has quit ("And then, Gregor went home.").
23:58:49 <ihope> Well, isn't this just an extension of that?
23:59:08 <jix> ihope: nargh i can't explain it in english...
23:59:16 <lament> i'm still not sure that there is a banana hierarchy
23:59:43 <ihope> lament: okay. You can have any machine in the banana hierarchy, then prove it doesn't exist.
←2006-06-04 2006-06-05 2006-06-06→ ↑2006 ↑all