←2007-11-10 2007-11-11 2007-11-12→ ↑2007 ↑all
00:09:00 -!- puzzlet has quit (Remote closed the connection).
00:09:07 -!- puzzlet has joined.
00:26:16 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
00:27:20 -!- puzzlet has joined.
00:33:09 <bsmntbombdood> You have 5 Moderator Points! Use 'em or lose 'em!
00:35:13 <oklokok> 4 left
00:35:31 <Slereah-> I cast magic missile.
00:35:36 <bsmntbombdood> i hardly ever use my mod points or post
00:36:00 <oklokok> mod points? i take it this is not irc
00:46:31 -!- Jontte has joined.
00:49:37 <Sgeo> oklokok, ping I said something in #psox
00:49:39 <Sgeo> Hi Jontte
00:52:34 <Jontte> hello
01:25:56 <ehird`> Sgeo: ping
01:26:03 <Sgeo> pong
01:26:09 <ehird`> Sgeo: ping
01:26:12 <Sgeo> pong
01:26:17 <ehird`> Sgeo: ping
01:26:19 <Sgeo> pong
01:26:25 <Sgeo> Is this some sort of lesson?
01:26:34 <ehird`> in not pinging people all the time? yes. :P
01:37:37 -!- ehird` has quit ("... and now I'm gone").
01:55:53 <bsmntbombdood> oklokok: slashod
01:55:59 <bsmntbombdood> t
02:04:34 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
02:05:25 -!- puzzlet has joined.
02:18:05 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/IMG_2302.JPG_small.jpg
02:19:35 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/IMG_2328.JPG_small.jpg
02:22:34 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/ladder.jpg
02:25:53 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/slide.jpg
02:25:55 * bsmntbombdood is awesome
05:14:20 -!- calamari has joined.
05:19:05 <Sgeo> Hi calamari
05:19:59 <RodgerTheGreat> hey guys
05:20:35 * Sgeo goes to sleep now..
05:20:51 -!- Sgeo has quit ("Ex-Chat").
05:20:57 <calamari> hi RodgerTheGreat
05:21:08 <RodgerTheGreat> hi, calamari. What's up?
05:22:22 <calamari> not too much
05:23:05 <RodgerTheGreat> I'm doing some work on a bitmapped-font GUI library
05:23:19 <RodgerTheGreat> intelligent wordwrap is kindof a bitch to get perfect
05:52:27 -!- immibis has joined.
05:53:26 <immibis> immibis, you are such a fool!
05:54:00 <immibis> that script is now deleted.
05:57:56 <GregorR> I wrote an ELF64 loader in JavaScript, am I cool yet? 8-D
05:59:34 <immibis> why........................................................did you make...................................an ELF64 loader...........in JavaScript?
05:59:45 <immibis> and what use is it from within javascript anyway?
05:59:52 -!- puzzlet has quit (Remote closed the connection).
05:59:53 -!- puzzlet_ has joined.
06:10:56 -!- calamari has quit ("Leaving").
06:16:43 -!- pikhq has joined.
06:17:13 * pikhq is officially tired as fuck
06:32:17 <RodgerTheGreat> ok
06:38:09 <pikhq> Just got back from a campus visit. . .
06:38:19 <pikhq> And I've *essentially* not slept since Tuesday.
06:39:20 <pikhq> (well, fine. I've had a grand total of 16 hours of sleep since Tuesday night.)
07:31:56 -!- Figs1 has joined.
07:32:15 -!- Figs1 has changed nick to Figs.
07:33:35 <Figs> HELLO.
07:33:37 <Figs> :D
07:33:45 <Figs> Long time no see...
07:33:56 * Figs prods oklokok
07:36:05 <Figs> Eh, anyone alive?
07:46:24 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. Take my advise. I don't use it anyw).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:34:32 <Jontte> *waves*
08:37:00 <Jontte> who wants 781 mb of pascals triangle
08:37:36 <Jontte> i wonder if would it be illegal to share it on bittorrent :D
08:42:12 -!- GreaseMonkey has quit ("kthxbai").
08:44:03 -!- oklokok has quit (Read error: 104 (Connection reset by peer)).
08:44:09 -!- oklopol has joined.
08:53:52 <Figs> hi oklopol
08:58:49 <Figs> bye bye
08:59:13 -!- jix has joined.
08:59:13 -!- Figs has quit ("Java user signed off").
11:24:40 -!- puzzlet has joined.
11:34:02 -!- RedDak has joined.
11:34:57 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
11:40:02 -!- RedDak has quit (Remote closed the connection).
11:52:49 -!- puzzlet_ has joined.
11:52:50 -!- puzzlet has quit (Remote closed the connection).
12:41:30 <Jontte> soo how does this work? can someone please tell me the time?
14:27:52 -!- Slereah_ has joined.
14:27:53 -!- puzzlet has joined.
14:30:24 -!- RedDak has joined.
14:33:16 -!- sebbu2 has changed nick to sebbu.
14:33:39 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
14:38:09 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
14:39:40 <bsmntbombdood> pikhq is being tortured by college administrators!
14:39:50 <bsmntbombdood> alert the media
14:44:14 <oklopol> is pascals triangle tc?
14:44:25 <Jontte> tc?
14:45:05 <Slereah_> Turing Complete.
14:45:08 <oklopol> someone come up with something witty! the first answer must not be a correct one
14:45:10 <oklopol> damn
14:45:16 <Jontte> ohh
14:45:21 <Jontte> i dont know ;P
14:45:43 <oklopol> there's no propagation really, it can't be, i thinksssss
14:45:48 <Slereah_> "No, but your mom is!"
14:45:51 <Slereah_> *rimshot*
14:45:54 <Slereah_> Well, I tried!
14:57:09 -!- pikhq has quit (Read error: 110 (Connection timed out)).
15:08:09 -!- ehird` has joined.
15:08:32 -!- ehird` has quit (Remote closed the connection).
15:09:21 -!- ehird` has joined.
15:39:30 <ehird`> 18sec for mandelbrot.b
15:39:30 <ehird`> not bad
15:41:47 <Jontte> http://www.sipuli.net/joonas/mandelbrot.png
15:42:03 <ehird`> thank you, that's very helpful :|
15:42:11 <ehird`> i totally don't now what a mandelbrot set looks like
15:42:17 <Jontte> aww
15:42:22 <Jontte> :P
15:42:32 <ehird`> i am talking about the brainfuck mandelbrot program :P
15:42:40 <ehird`> i have a Brainfuck->D compiler in D
15:42:44 <Jontte> wow
15:42:50 <Jontte> mines in C++
15:43:13 <ehird`> eww
15:43:16 <ehird`> C++ is the devil
15:43:20 <Jontte> :D
15:43:58 * ehird` wonders if there are any [, followed by + and - sequence, ] that does not eventually terminate with byte cells
15:44:15 <Jontte> can i see your brainfuck program?
15:44:53 <oklopol> ehird`: trivially no
15:45:50 <ehird`> Jontte: mandelbrot.b ain't mine
15:45:58 <ehird`> Jontte: google for it, it's all over the plcae
15:46:00 <ehird`> (the compiler is mine though)
15:46:03 <ehird`> oklopol: 'trivially'?
15:46:06 <Jontte> ok, thanks
15:46:09 <oklopol> well, yeah :|
15:46:15 <ehird`> oklopol: give me a [, (+- sequence), ] that doesn't halt :P
15:46:21 <ehird`> in regexp terms
15:46:31 <oklopol> ...there isn't one
15:46:36 <ehird`> oh
15:46:38 <ehird`> i thought you meant
15:46:40 <ehird`> 'tehre is no trivial one'
15:46:41 <ehird`> XD
15:46:50 <oklopol> oh :)
15:47:05 <Jontte> hmm
15:47:06 <oklopol> if you mean a [<add constant>] loop, it's obvious it always terminates
15:47:13 <oklopol> eh
15:47:37 <oklopol> <> were not brainfuck
15:48:17 <Jontte> i should write a brainfuck interpreter
15:48:21 <Jontte> simple as what :P
15:48:43 <Jontte> or maybe just something that turns it to C
15:51:59 <ehird`> brainfuck interpreter = about 5 lines
15:52:03 <ehird`> brainfuck to C compiler = about 7
15:52:13 <Jontte> hehe
15:52:36 <ehird`> if you add optimization to the mix like i have, and intermediatry compilation stages and shit like i have, for me that brings it to 234
15:55:17 -!- RedDak has quit ("I'm quitting... Bye all").
15:55:53 <ehird`> why the heck isn't this optimizing
15:56:55 <RodgerTheGreat> lol
15:57:50 <ehird`> it should be optimizing [+++] and [-+--] and [+] and [-]
15:57:51 <ehird`> but it isn't
15:58:09 <oklopol> brainfuck->C is much simpler than a brainfuck interpreter
15:58:23 <RodgerTheGreat> well, [-+--] is pretty easy to optimize
15:58:24 <oklopol> it's just a textual substitution
15:58:35 <ehird`> RodgerTheGreat: yeah
15:58:39 <ehird`> RodgerTheGreat: the code is there
15:58:43 <ehird`> RodgerTheGreat: it just isn't... doing anything
15:59:25 <RodgerTheGreat> I always start with an initial pass of removing redundant +- -+ >< <> [] things
15:59:34 <RodgerTheGreat> what language is your optimizer coded in?
15:59:37 <oklopol> c
15:59:53 <RodgerTheGreat> pastebin it and I'll have a look
16:02:54 <ehird`> o
16:02:55 <ehird`> no
16:02:56 <ehird`> it's d
16:03:11 <ehird`> anyway ok but i'll give you some architechture info first
16:03:27 <oklopol> oh you made a new one
16:03:37 <RodgerTheGreat> Hm. Well, I've been interested in learning D recently
16:03:46 <oklopol> who hasn't :P
16:03:53 <ehird`> Bytes of BF code -> BFIns[] -> (optimize over BFIns[] until we can't do anything any more) -> output language X (currently D)
16:03:59 <RodgerTheGreat> some friends of mine convinced me it was sufficiently unlike C++
16:04:11 <ehird`> it is unlike C++
16:04:17 <RodgerTheGreat> I know
16:04:22 <ehird`> it's C + high level language of your choice, watered down
16:04:26 <ehird`> it's nice with Tango
16:04:29 <ehird`> phobos not so much
16:04:34 <ehird`> anyway, show me a pastebin with d support :P
16:04:44 <RodgerTheGreat> hm.
16:05:15 <ehird`> damnit, i just did a mod and now my compiler is segfaulting
16:05:21 <RodgerTheGreat> I could probably get D added to the nonlogic dump...
16:05:21 <ehird`> (Which is oddly rare in D, you barely ever use pointers.)
16:05:28 <ehird`> nonlogic dump reformats my code
16:05:33 <ehird`> which makes ehird` sad
16:05:57 <RodgerTheGreat> in what way?
16:06:28 <RodgerTheGreat> do you mix spaces and tabs or something?
16:06:40 <ehird`> no
16:06:43 <ehird`> but it does SOMETHING to it
16:06:50 <ehird`> added newlines once i think
16:07:56 <ehird`> Hmm. Now it doesn't crash but doesn't do the optimization either.
16:08:00 <RodgerTheGreat> that sounds quite unusual, but it's much more likely you have odd formatting that is not displayed correctly by your editor. The dump really doesn't do much to reformat text for display.
16:08:20 <ehird`> 'much'
16:08:23 <ehird`> what DOES it do?
16:09:23 <RodgerTheGreat> a pre tag inside a div that contains CSS settings for stuff
16:09:23 <ehird`> Also my code seems to be SLOWER with my optimization...
16:09:27 <ehird`> 21s for mandelbrot.b
16:09:45 <RodgerTheGreat> if you're optimizing for length, it's not surprising you get some speed hits
16:11:05 <ehird`> no
16:11:08 <ehird`> i'm optimizing for speed
16:11:24 <ehird`> the optimization that is failing is [-] to tape[ptr] = 0 instead of while (tape[ptr] != 0) { tape[ptr] -= 1; }
16:11:25 <RodgerTheGreat> hm
16:11:31 <ehird`> and
16:11:33 <ehird`> tape[ptr] = 0
16:11:38 <ehird`> is NOT appearing in the compiled code
16:11:40 <ehird`> so something kooky is up
16:11:45 <ehird`> http://tripledoubleyou.pastebin.com/f68c7be75 here
16:11:58 <RodgerTheGreat> oh, holy crap- I didn't realize you were *targeting* D
16:12:02 <ehird`> haha
16:12:03 <ehird`> yeah :D
16:12:10 <RodgerTheGreat> lol
16:12:15 <ehird`> it could be trivially changed to C.
16:12:55 <ehird`> looool
16:12:57 <ehird`> i figured out my bug
16:13:01 <ehird`> while (tape[ptr] != 0) {
16:13:02 <ehird`> tape[ptr] = 0;
16:13:02 <ehird`> }
16:13:20 <Jontte> haha
16:13:26 <RodgerTheGreat> interesting
16:13:45 <Jontte> so how is D as a language? ive never tried or even seen it
16:13:52 <ehird`> now testing "http://en.wikipedia.org/wiki/Special:Search?go=Go&search=--]+-[+"
16:13:53 <ehird`> err
16:13:54 <ehird`> wtf
16:14:00 <ehird`> [ [ -- ] + - [ + ] ]
16:14:04 <RodgerTheGreat> I've heard very good things from people who like C, C# and Java
16:14:05 <ehird`> Jontte: it's cool
16:14:10 <ehird`> Jontte: http://digitalmars.com/d
16:14:21 <ehird`> there's a free-as-in-speech implementation as gdc
16:14:28 <ehird`> dmd though is non-free (the backend. the frontend is open)
16:14:34 <RodgerTheGreat> I like Java and will concede some benefits to C, so it seems nifty
16:15:01 <ehird`> RodgerTheGreat: D is like Java without the 'You'll be safe with me and my protection!' and 'You must type this out so I can understand it properly'
16:15:35 <ehird`> while (tape[ptr] != 0) {
16:15:35 <ehird`> tape[ptr] = 0;
16:15:35 <ehird`> while (tape[ptr] != 0) {
16:15:35 <ehird`> }
16:15:35 <ehird`> }
16:15:38 <RodgerTheGreat> I understand you can compile with runtime checking, or optionally take it out. This seems to me like a very good idea
16:15:40 <ehird`> i uh, think that's broken
16:16:53 <ehird`> tape[ptr] = 0;
16:16:54 <ehird`> tape[ptr] = 0;
16:16:54 <ehird`> }
16:16:55 <ehird`> so's that.
16:19:08 <oklopol> ehird`: sorry, of course any [<add constant>] that has constant=0 will not terminate...
16:19:21 <ehird`> oklopol: doh, you#re right
16:19:29 <oklopol> didn't think that one through
16:19:51 <ehird`> that makes things a LOT harder
16:19:52 <ehird`> :|
16:20:22 <oklopol> hmm... not really, you don't have to optimize an infinite loop...
16:20:30 <ehird`> for the checking#
16:20:32 <ehird`> it makes it really hard
16:21:02 <oklopol> nope, [<add constant>] should be optimized to [] for constant=0 with your optimizations
16:21:13 <oklopol> [] can be your trivial infinite loop
16:21:18 <oklopol> just hardcode a check for it
16:22:12 <ehird`> yes
16:22:15 <ehird`> but i do optimization in passes
16:22:21 <ehird`> (infinite passes until no_opt_done)
16:22:29 <ehird`> and
16:22:31 <ehird`> [+-]
16:22:35 <ehird`> would be picked up instantly
16:25:14 <ehird`> tape[ptr] = 0;
16:25:14 <ehird`> while (tape[ptr] != 0) {
16:25:14 <ehird`> }
16:25:18 <ehird`> that's not right
16:25:43 <oklopol> that's correct
16:25:54 <ehird`> err, but dubious
16:26:07 <ehird`> tape[ptr] = 0; while (tape[ptr] != 0) {}
16:26:07 <ehird`> is the same as
16:26:07 <ehird`> tape[ptr] = 0;
16:26:49 <oklopol> oh
16:26:56 <oklopol> tape[ptr]=0 was a part of it
16:27:06 <oklopol> ...where did you get that?
16:28:09 -!- pikhq has joined.
16:28:28 <ehird`> what
16:28:37 <ehird`> pikhq: oh hi
16:31:34 -!- jix has quit (Nick collision from services.).
16:31:42 -!- jix has joined.
16:41:45 <ehird`> Done compiling, program:
16:41:57 <ehird`> [[--][+]]
16:42:01 <ehird`> One optimization step, program:
16:42:05 <ehird`> [[--][+]]
16:42:09 <ehird`> One optimization step, program:
16:42:13 <ehird`> [[-][]]
16:42:17 <ehird`> One optimization step, program:
16:42:17 <ehird`> [-][]
16:42:17 <ehird`> ^ bizzare
16:43:13 <ehird`> Done compiling, program:
16:43:17 <ehird`> [[--][+]]
16:43:21 <ehird`> One optimization step, program:
16:43:25 <ehird`> [[--][+]]
16:43:29 <ehird`> One optimization step, program:
16:43:33 <ehird`> [[[-][]]
16:43:37 <ehird`> One optimization step, program:
16:43:41 <ehird`> [[[-]]
16:43:45 <ehird`> One optimization step, program:
16:43:45 <ehird`> [[[-]
16:43:45 <ehird`> more bizzare
16:43:45 <ehird`> wow
16:43:45 <ehird`> i'm spamming
16:43:46 <ehird`> sorry :|
16:46:20 <pikhq> Very bizare.
16:46:41 <pikhq> What sort of optimization do you have running here?
16:51:41 <ehird`> crazy optimization
16:51:42 <ehird`> :P
16:51:56 <ehird`> (OK, kate, that's the last straw. I'm setting up gvim on this machine.)
16:52:49 <oklopol> [[--][+]] -> [[-][]] is technically correct, but ...why the fuck does it optimize it like that?
16:53:17 <oklopol> we know the current cell is zero, so [+] can be made into []
16:53:22 <oklopol> that's kinda weird.
16:53:54 <ehird`> that's not what it does
16:53:55 <ehird`> heh
16:54:19 <oklopol> kay :P
16:54:24 <oklopol> then what?
16:55:40 <ehird`> dunno
16:56:49 <pikhq> And the whole thing could be reduced to [-] with ease. . .
16:57:13 <pikhq> (assuming that at the start of that string, current is zero, it'll get transformed into "")
16:57:19 -!- meme_ has joined.
16:57:24 -!- Guilt has joined.
16:57:52 <oklopol> well any [...] can be removed if you know current is 0
17:00:29 <pikhq> True.
17:06:15 -!- Guilt has quit ("Leaving").
17:38:39 <pikhq> bsmntbombdood: No torture involved. Sorry.
17:43:55 <ehird`> pikhq: if you write a stringlib for pebble, i'll write pebble.bfm :P
17:43:59 <ehird`> as it is it would be too painful
17:47:29 <pikhq> ehird, I'd first need to implement arrays.
17:47:35 <ehird`> do so :P
17:47:41 <ehird`> extra points: linked list
17:47:45 <pikhq> calamari's array implementation does not seem to *work*.
17:48:04 <pikhq> In Brainfuck, any sort of complex data structure would need to be done via arrays, I fear.
18:48:05 <dbc> -how many of these optimizations will improve well-written brainfuck code?
18:48:41 <dbc> -why would it be possible to replace [--] with [-]?
18:49:39 -!- oklopol has quit (zelazny.freenode.net irc.freenode.net).
18:49:39 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net).
18:49:39 -!- AnMaster has quit (zelazny.freenode.net irc.freenode.net).
18:51:00 <dbc> I mean, [-]+[--] will not terminate with byte cells.
18:52:51 -!- oklopol has joined.
18:52:51 -!- RodgerTheGreat has joined.
18:52:51 -!- AnMaster has joined.
18:52:58 -!- oklopol has quit (Connection reset by peer).
18:52:58 -!- oklopol has joined.
18:53:14 -!- AnMaster has quit (SendQ exceeded).
18:54:59 -!- AnMaster has joined.
18:56:35 <ehird`> dbc: 1. a few 2. good point
19:11:50 -!- sebbu2 has joined.
19:18:42 <Slereah_> "[Friends-of-brainfuck] Most intimate problems can be solved with WonderCum."
19:18:50 <Slereah_> The FoB mailing list is quite deserted.
19:19:00 <Slereah_> Wild spammers roam free!
19:22:04 <ehird`> friends-of-brainfuck? what the hell is that.
19:22:22 <Slereah_> Some mailing list.
19:22:29 <meme_> fontanel-pervs
19:22:35 <Slereah_> But even when I joined, it was already deserted.
19:22:37 -!- RedDak has joined.
19:22:51 <meme_> fontanellesex
19:25:46 -!- ihope_ has joined.
19:30:47 -!- sebbu has quit (Connection timed out).
19:39:36 <dbc> Yeah. It didn't use to be, seven years ago or so.
19:40:07 <Slereah_> Looks like I missed the train by quite a long shot!
19:43:51 <oklopol> 7 years :|
19:43:57 <oklopol> was there... life back then :O
19:44:11 <Slereah_> Mostly unicellular lifeforms.
19:49:23 <oklopol> hmm, that explains the simpler programming languages
19:50:21 <Slereah_> Later, more complex lifeform evolved, like birds.
19:50:31 <Slereah_> And that's how we got the logical combinator.
19:51:14 -!- Guilt has joined.
19:55:15 -!- Sgeo has joined.
20:16:29 <ihope_> Why are there so many avian combinators?
20:18:08 <GregorR> Me cracks his knuckles for some concept-proving.
20:18:11 <GregorR> Wow.
20:18:17 <GregorR> I did "Me" instead of "/me"
20:18:25 <GregorR> Me slaps himself in the head.
20:18:29 * GregorR cracks his knuckles for some concept-proving.
20:18:32 <GregorR> http://www.codu.org/jsmmix/test.html
20:18:37 <GregorR> Oh yes. That's right.
20:20:13 <Sgeo> GregorR, what's that?
20:20:25 <GregorR> It's a partially-implemented MMIX simulator in JavaScript.
20:20:33 <Sgeo> "partially" I noticed
20:20:37 <Sgeo> What's MMIX?
20:21:01 <GregorR> Knuth's imaginary CPU.
20:21:56 -!- vickyfi has joined.
20:22:02 <Sgeo> Hi vickyfi
20:23:35 <Guilt> MMIX eh
20:23:41 <Guilt> who's doing MMIX? :)
20:23:50 <oklopol> MMIX it up, babeeee
20:23:58 <Guilt> GregorR, sweet. does it run mmixware examples?
20:24:14 -!- vickyfi has left (?).
20:24:16 <Guilt> is there any guy here who has recieved a cheque from DEK?
20:24:17 <GregorR> It runs the hello.mms one.
20:24:19 <ehird`> Whoa, GregorR
20:24:21 <ehird`> YOU DID IT?
20:24:28 <Guilt> i want to meet such a guy
20:24:29 <Guilt> :)
20:24:39 <GregorR> I've actually only been trying hello.c compiled by GCC (I like a challenge :P )
20:24:50 <Guilt> Gregor: what about MMMIX?
20:24:55 <Guilt> jsmmmix
20:24:56 <Guilt> :)
20:25:01 <ehird`> GregorR: You did? You crazy fuck.
20:25:12 <Guilt> and, is there a gcc backend to mmix/
20:25:18 <ehird`> Guilt: yes, there is
20:25:19 <GregorR> Guilt: Yeah.
20:25:27 <ehird`> GregorR: you make my konqueror go slow
20:25:27 <GregorR> I'm thinkin', C->JS would be amusing X-D
20:25:30 <Guilt> sweet. where is it?
20:25:31 <ehird`> konqui will kill you in the night
20:25:32 <GregorR> ehird`: Hahahah X-D
20:25:36 <GregorR> Guilt: It's part of GCC.
20:25:39 <ehird`> he wants revenge
20:25:42 <Guilt> GregorR, no.
20:25:49 <Guilt> i didn't find it in config/
20:25:49 <ehird`> Guilt, yes.
20:25:57 <GregorR> Guilt: Then your version is old :P
20:26:00 <ehird`> GregorR: You load fucking ELF files?
20:26:03 <ehird`> GregorR: What the what.
20:26:03 <Guilt> shit
20:26:04 <Guilt> :P
20:26:10 <Guilt> it's already there
20:26:17 <Guilt> :( damn. someone did my idea
20:26:26 <GregorR> ehird`: Yeah, I didn't want to pay for the definition of MMO files, so I load ELF64 files :P
20:27:05 <ehird`> ...
20:27:07 <Guilt> it says Error: unimplemented instruction
20:27:23 <ehird`> GregorR: So... HOw well does it do gcc-world atm?
20:27:32 <GregorR> Guilt: That's because I haven't implemented that instruction yet :P
20:27:34 <ehird`> You should probably implement a simple console in JS, btw. (Use a table.)
20:27:41 <ehird`> then I/O would be simple
20:27:45 <GregorR> ehird`: I did, does it not show in konqueror?
20:28:06 <GregorR> Oh, yeah, doesn't show in konq.
20:28:07 <GregorR> That sucks.
20:28:10 <ehird`> In the konq I see a black box,
20:28:12 <ehird`> with IP ....
20:28:13 <ehird`> OP ...
20:28:15 <ehird`> repeated 3 times
20:28:24 <GregorR> 3? >_>
20:28:29 <ehird`> IP 0,0,0,0,0,0,1,8
20:28:30 <ehird`> OP 227
20:28:30 <ehird`> IP 0,0,0,0,0,0,1,12
20:28:30 <ehird`> OP 246
20:28:30 <ehird`> IP 0,0,0,0,0,0,1,16
20:28:30 <ehird`> OP 245
20:28:34 <Guilt> GregorR, put some compatibility jizz in.
20:28:37 <Guilt> ::)
20:29:00 <GregorR> ehird`: Ohyeah, I see it. Hm, konq seems to barf out after three instructions :(
20:29:07 <GregorR> ehird`: FFox does it really well, if you have it installed try that.
20:29:10 <ehird`> GregorR: Ok, I'll install firefox :P
20:29:13 <ehird`> (The gtk! It burns!
20:29:26 <ehird`> (... the form controls! They burn!)
20:29:32 <Guilt> GregorR, does it throw an exception?
20:29:34 <GregorR> I'll have to look at konq though, I tried not to do anything FF-specific :P
20:29:46 <GregorR> Guilt: What, when it fails to implement an operator?
20:29:54 <Sgeo> Why doesn't it work in Konq.. oh you're looking into that
20:29:58 <GregorR> Guilt: Erm, when it fails to run an operator because it hasn't implemented it that is.
20:30:02 <GregorR> Guilt: No, it just dies.
20:30:19 <GregorR> Does konqueror have a JS error console?
20:30:33 <Guilt> no but there is a seperate JS console
20:30:43 <Guilt> GregorR, just put alerts and try debugging
20:30:48 <ehird`> GregorR: Now instructions are streeeeeaming
20:30:55 <ehird`> Error! Unimplemented instruction
20:30:55 <ehird`> :)
20:31:11 <GregorR> ehird`: ^^
20:31:28 <ehird`> http://www.codu.org/jsmmix/64bitint.js What the fuck.
20:31:36 <GregorR> It's 64-bit ints.
20:31:40 <ehird`> Yeah./
20:31:42 <ehird`> You are crazy.
20:31:53 <GregorR> What, I needed 64-bit ints in 8-bit bins 8-O
20:32:03 <ehird`> Crazy idea:
20:32:07 <ehird`> Add some sort of javascript interface.
20:32:12 <ehird`> I want to write an AJAX app in MMIX.
20:32:18 <ehird`> in C.
20:32:27 <Guilt> ehird`, if it's AJAX
20:32:34 <Guilt> then you can do all your MMIX on the server
20:32:44 <Guilt> which really isn't a JS implementation then
20:32:48 <ehird`> exactly
20:32:52 <ehird`> I want to do my client side stuff in C
20:32:55 <ehird`> compiled to MMIX
20:32:57 <ehird`> running on jsmmix
20:33:01 <ehird`> with a JS interface
20:33:03 <ehird`> to write an AJAX app
20:33:03 <GregorR> Heh
20:33:12 <GregorR> I just want vim running in JS :P
20:33:21 <GregorR> "just" ;)
20:33:28 <ehird`> Wow.
20:33:29 <ehird`> :P
20:33:37 <GregorR> OK, maybe not ;)
20:33:49 <ehird`> GregorR: I'm considering writing an editor in D because kate wouldn't indent D properly, incidentally :P
20:34:03 <GregorR> ehird`: Awesome, make sure you scream about it on #d
20:34:04 <Guilt> i want the linux kernel with the 16x PCI express and the SIMD unrolled code running in JS
20:34:05 <Guilt> :D
20:34:17 <Guilt> isn't that leet, bitches? :D
20:34:31 <GregorR> I wonder if there's a MMIX Linux port >_>
20:34:39 <ehird`> GregorR: I have screamed about it on #d actually :p
20:34:45 <Guilt> GregorR, mmixware by knuth
20:34:52 <GregorR> Guilt: That's not Linux, that's mmixware.
20:34:58 <Guilt> it runs on Linux. :)
20:35:01 <ehird`> it was more of the 'god damnit, why aren't there any decent gui toolkits' scream though.
20:35:08 <GregorR> I mean a port of the Linux kernel TO mmix :P
20:35:12 <Guilt> and what do you mean by MMIX linux port?
20:35:13 <Guilt> what?
20:35:17 <Guilt> Linux kernel? :o
20:35:25 <GregorR> Linux running /on/ MMIX :P
20:35:30 <Guilt> there is no hardware machine to run it. just the usual stuff..
20:35:34 <Guilt> GregorR, write one.
20:35:36 <GregorR> lol
20:35:48 -!- puzzlet has quit (Remote closed the connection).
20:35:52 -!- puzzlet has joined.
20:35:52 <Guilt> Knuth doesn't have anything regarding peripheral specification, does it?
20:36:04 <Guilt> sorry s/Knuth/MMIX
20:36:08 <GregorR> Not to my knowledge.
20:36:11 <Guilt> does it talk about how to handle busses? :)
20:36:19 <GregorR> Pff, you don't need peripherals to run a kernel >_>
20:36:27 <Guilt> but you need to use it
20:36:32 <Guilt> it's not going to run all by itself
20:37:29 <GregorR> Sure it is - I didn't say it was going to be exciting to look at :P]
20:37:50 <Guilt> :P
20:40:11 <Guilt> If you were a chipmaker, would you design MMIX and gift it to DEK?
20:44:37 <GregorR> If I was a chipmaker, they'd be potato.
20:47:37 <ehird`> So, GregorR, what C programs compiled can your emulator run?
20:47:42 <ehird`> Does this work:
20:47:47 <ehird`> int main(void) { return 42; }
20:48:02 <ehird`> What about this: int main(void) { write(0, "x"); }
20:48:17 <GregorR> I actually haven't tested it with anything short of int main() { write(1, "Hello, world!", 14); }
20:48:20 <GregorR> Which is what's running there.
20:48:32 <GregorR> That's my first goal.
20:49:45 <GregorR> I just wanted to post something before my brain melted :P
20:50:06 <ehird`> I am now going to write the most minimal compiler 'evah'
20:50:16 <GregorR> cat?
20:50:20 <ehird`> hah
20:50:20 <ehird`> no
20:51:09 <ehird`> It will have functions, untyped variables, types of int, string and array, and a few statements (if, else, while, for, return)
20:51:24 <ehird`> So, pretty esoteric to write anything REAL in it. :P
20:51:48 <ehird`> Damnit, I can't call it "Tiny Compilable Language": tcl.
20:52:49 -!- Guilt has quit ("Leaving").
20:53:16 <GregorR> You do of course realize that a BF->C compiler will be more minimal?
20:55:34 <ehird`> Of course.
21:03:33 <meme_> hey
21:03:39 <meme_> i have an idea for a lang
21:05:55 -!- sebbu2 has changed nick to sebbu.
21:08:41 <ehird`> what
21:31:06 -!- Guilt has joined.
21:37:43 <GregorR> Shoot, Konqueror doesn't support Array.concat 8-X
21:39:28 -!- Guilt has quit ("Leaving").
21:39:49 <GregorR> Oh, never mind, I'm doing it wrong X-P
21:39:55 <GregorR> Wow, konq JS == sloooooooooow
21:43:21 <GregorR> OK, http://www.codu.org/jsmmix/test.html now works on Konqueror
21:43:31 <GregorR> I was doing:
21:43:37 <GregorR> Array.concat(a, b, c)
21:43:39 <GregorR> Instead of:
21:43:43 <GregorR> a.concat(b, c)
21:43:52 <GregorR> I don't know why the first syntax worked at all :P
21:44:28 -!- jix has quit ("CommandQ").
21:46:41 <GregorR> Incidentally, I can make it run much faster, but it tends to hang the browser a bit :P
21:54:28 -!- pikhq has quit (Read error: 110 (Connection timed out)).
21:56:16 -!- Guilt has joined.
21:56:29 <Sgeo> Hi Guilt
21:57:12 <Guilt> hi Sgeo :)
21:59:32 -!- pikhq has joined.
22:00:26 <GregorR> Oh, I didn't mention, it does run int main() { return 0; } now
22:04:23 <Sgeo> Hi pikhq
22:11:31 -!- meme_ has quit ("Lost terminal").
22:18:39 <pikhq> 'Lo, Sgeo.
22:19:00 <pikhq> GregorR: What's this? Actual *work* on C2BF?
22:19:11 <pikhq> . . . No.
22:19:21 <GregorR> Heh, no :P
22:19:27 <GregorR> http://www.codu.org/jsmmix/test.html
22:20:04 <pikhq> That is spiffy.
22:20:56 * pikhq suspects a MMIX port of Linux would be possible; IIRC, GCC targets MMIX already
22:22:30 <GregorR> GCC does target MMIX already, that's why I'm using it ;)
22:22:57 <pikhq> ;)
22:23:12 <pikhq> Oh, God. . .
22:23:21 <pikhq> Plof->C->MMIX.
22:23:38 <GregorR> Hahahah
22:23:41 <GregorR> Not quite the plan :P
22:24:17 <pikhq> Hmm. Plof->JS runs Plof->C->MMIX? :p
22:24:41 <GregorR> YES
22:24:42 <GregorR> :P
22:24:50 * ihope_ reads up on Javascript
22:28:22 <ihope_> Hmm. ChatZilla has an /eval command for evaluating JavaScript expressions...
22:28:41 <oklopol> who doesn't
22:29:38 <GregorR> ChatZilla was, in fact, written in JavaScript.
22:30:14 <pikhq> Javascript and XUL. Get it right, Gregor.
22:30:31 <ihope_> Indeed.
22:30:38 * ihope_ sets x to 3
22:30:53 <ihope_> Well, that didn't seem to do much.
22:31:06 * pikhq declares that 0/0=1
22:31:23 <ihope_> i=3 will surely do something more.
22:31:28 * pikhq goes on to prove that black is white, and white black.
22:31:49 <ihope_> Ooh, there's a thing called "document".
22:31:52 * ihope_ sets it equal to 3
22:32:06 <ihope_> Now it's back to normal. Bah.
22:36:01 <ihope_> Cool. This tutorial is recommending people to use JavaScript to prevent people from viewing content which has been sent to their browser.
22:36:10 <pikhq> LMAO
22:37:47 <Sgeo> ihope_, oO
22:38:01 <Sgeo> Ok, there's a college I want to apply to
22:38:13 <Sgeo> But I didn't know if the online form would actually send an email or something
22:38:19 <Sgeo> So I went to the URL that the form goes to
22:38:25 <Sgeo> "The following information has been submitted to our office:"
22:38:31 <Sgeo> Then all the fields, blank
22:38:31 <Sgeo> >.>
22:38:40 <Sgeo> "An admissions representative will be contacting you shortly."
22:40:01 <pikhq> Sgeo, join me and cherez next year.
22:40:09 <Sgeo> ?
22:40:39 <pikhq> cherez is at UMR, and I will be there next year.
22:40:43 -!- AnMaster has quit ("ERC Version 5.2 (IRC client for Emacs)").
22:40:49 <cherez> (Pikhq is following me to college, and has become quite an evangelist.)
22:40:49 * pikhq just returned from a campus visit. . .
22:41:00 <Sgeo> UMR?
22:41:02 <pikhq> (it's a good college. What can I say?)
22:41:07 * Sgeo needs to stay close to home :/
22:41:33 <pikhq> University of Missouri - Rolla. (soon to be Missouri University of Science & Technology)
22:42:40 <ihope_> Have to stay close to home? Why?
22:43:05 <Sgeo> My dad wants me to
22:44:07 <pikhq> And your dad can do *jack shit* about it. . .
22:44:29 <ihope_> :-P
22:44:45 <RodgerTheGreat> that depends heavily upon who's paying for tuition
22:45:24 <pikhq> Ah.
22:45:40 -!- RedDak has quit (Remote closed the connection).
22:45:57 <pikhq> (in my case, it's 'whichever generous souls donate', rather than 'parents'. . .)
22:46:10 <Sgeo> My dad's probably paying..
22:46:44 -!- AnMaster has joined.
22:46:51 <Sgeo> Hi AnMaster
22:47:13 <AnMaster> hmh
22:50:14 <ehird`> pikhq: i'll donate $1
22:50:26 <ehird`> (Which in real money is about £0.00000000001 these days)
22:52:22 <pikhq> Could you just donate a pound? That ought to pay for my entire college education. :p
22:52:39 <oklopol> real money :D
22:52:45 <ihope_> Do you want a pound of feathers or a pound of lead?
22:53:06 <pikhq> ihope_: A Great British Pound, actually.
22:53:24 <ehird`> pikhq: Aww, ok.
22:53:29 <ihope_> I'll make sure they're from Great British chickens.
22:53:31 <ehird`> (That's $6465456498498498498498498494894984.
22:53:42 <pikhq> (although I'll take either a pound of feathers or lead if it's signed by the Queen of England, so that it's legal tender)
22:54:15 <ehird`> pikhq: note to self, ask queen for autograph next time i se her
22:54:17 <ehird`> *see
22:54:21 <pikhq> LMAO
22:54:41 <pikhq> Ask for the text "By order of the Queen of England, this is legal tender for all debts." ;p
22:54:56 <ehird`> XD
22:54:58 <ihope_> I think it'd be fun to have a Queen.
22:56:10 <ehird`> ihope_: Bah, no, it's quite annoying to have 'power' (yeah right) descended by family.
22:56:12 <ehird`> And oh so backwards.
22:56:18 * ehird` wonders what tokens I need
22:56:34 <ihope_> Quite annoying to be a figurehead because one of your parents was one?
22:56:46 <ehird`> ihope_: Quite annoying to have a figurehead because their parents were.
22:56:56 <ehird`> Speaking from the perspective of a citizen.
22:57:05 * ihope_ nods
22:57:21 <ihope_> Well, why can't we elect a Queen, then?
22:57:37 <pikhq> Because then Queen is an inappropriate title.
22:57:39 <ehird`> 'cause then it wouldn't be a queen/king
22:57:43 <ehird`> pikhq, marry me
22:57:44 <ehird`> I mean
22:57:46 <ehird`> that's what I sid
22:57:48 <ehird`> *said
22:58:11 <ihope_> Queen Except for the Fact that They were Elected?
22:58:30 <ehird`> 'elected useless figurehead'
22:58:34 <ihope_> Yeah!
22:58:59 <ehird`> pikhq: GregorR: you have a chance to force your plof syntax on ltc right now, limited time offer :P
22:59:13 <pikhq> ltc?
23:00:42 <ehird`> Langugae that is Tiny and Compilable
23:00:55 <ehird`> (Tiny Compilable Language's acronym was taken...)
23:00:56 <ehird`> ;)
23:01:36 <pikhq> Ah.
23:01:49 <ehird`> Just an experiment of mine :P
23:01:49 <ihope_> I guess Tcl may be good.
23:02:06 <ehird`> The idea is: tiny tiny language->lex->parse->compile to Instruction class of some sort->output C
23:02:09 <ihope_> Wait, ltc's syntax is forceable?
23:02:26 <ehird`> With the newfound language-writing skills I will go on to write DZing :P
23:02:29 <ehird`> ihope_: huh?
23:02:41 <ehird`> I'm just saying that pikhq and GregorR can suggest Plof syntax for me to put in :P
23:02:52 <ihope_> Make it look like this: IncAll x = Map (L \f (Inc f)) x
23:03:05 <ehird`> no, that's a lot of work :P
23:03:29 <ihope_> (= (IncAll x) (Map (L \f (Inc f)) x))? :-P
23:04:10 <ehird`> No! :P
23:04:15 <ehird`> I want something... I dunno.
23:04:16 <ehird`> strange ;P
23:04:50 <pikhq> var IncAll = (x){map((f){f++})};
23:05:08 <pikhq> Erm.
23:05:26 <ihope_> Sure.
23:05:48 <ehird`> (x){y} is kinda bad
23:05:50 <pikhq> var IncAll = (x as Collection){ x.map((f){ f++ }) };
23:05:52 <ehird`> hard to parse manually :P
23:05:54 <ehird`> and
23:05:56 <ehird`> no objects
23:05:59 <ehird`> for now
23:06:03 <ehird`> and variables are typeless
23:06:03 <ehird`> :P
23:06:33 <ehird`> var add = {x,y|x+y} <-- I could probably do that. Is that good enough? :P
23:06:48 <ihope_> Maybe instead of (L \f (Inc f)) I should use (\f -> Inc f). :-P
23:07:24 <ihope_> var incAll = {x,something}?
23:07:36 <ehird`> ihope_: what about multiple arguments
23:07:51 <ihope_> Either currying or multiple arguments.
23:09:22 <ehird`> I want multiple arguments
23:09:34 <ehird`> currying... hard when using C :P
23:09:44 <ihope_> Then multiple arguments.
23:10:19 <ehird`> So how would I do that with your syntax?
23:10:59 <ihope_> Er, oops.
23:11:06 <ihope_> var incAll = {x|something}
23:11:59 <ehird`> var incAll = {x | x.map({f | f+1})}
23:12:00 <ehird`> I guess.
23:12:04 <ehird`> err
23:12:06 <ehird`> var incAll = {x | x.map({f | f+1})};
23:12:32 * pikhq gets bored, tries to curry in Plof
23:12:39 <ehird`> Cancer of the semicolon. :)
23:13:04 <ihope_> Though foo.bar(quux) has never made all that much sense to me, I guess Redivider does have the same sort of thing with bar(quux)[foo].
23:13:12 <ehird`> pikhq: var curry = (f,x){(y){f(x,y)}}
23:13:26 <ehird`> ihope_: Actually, I forgot, no objects
23:13:37 <ehird`> var incAll = {x | map(x, {f | f+1})};
23:13:40 <pikhq> ehird`: I'm not expecting it to take forever. ;)
23:13:47 <ehird`> So..
23:13:49 <ehird`> Let's see.
23:13:53 <ehird`> What tokens do I need...
23:14:27 <ehird`> VAR, ID, EQUALS, LT, GT, PLUS, MINUS, DIVIDE, TIMES, LPAREN, RPAREN, LBRACE, RBRACE, SEMICOLON,
23:14:31 <ihope_> Do you have stuff like f(x): {x = x+1}?
23:14:41 <ehird`> IF, ELSE, ELSEIF, WHILE, FOREACH
23:14:43 <ehird`> and that's it
23:14:48 <ehird`> ihope_: nope, just variable bindings for now
23:15:28 <ihope_> Do you have any way at all for a function to return multiple things, apart from global variables?
23:15:54 <ehird`> aha! of course, I need more:
23:16:03 <ehird`> LBRACKET, RBRACKET, RETURN
23:16:06 <ehird`> err
23:16:07 <ehird`> and COMMA
23:16:09 <ehird`> and that's it!!
23:16:13 <ehird`> oh
23:16:16 <ehird`> and LTEQ, GTEQ
23:17:53 <ehird`> So, that's 22 tokens in all.
23:17:57 <ehird`> Wait, no
23:17:58 <ehird`> 23
23:17:59 <ehird`> Not bad.
23:19:41 <ehird`> Hmm.
23:19:46 <ehird`> How many tokens does plof have? *checks*
23:19:59 <ehird`> ... a few more
23:20:51 <ehird`> OK, in actual fact I have 26
23:21:25 <ehird`> VAR, ID, LPAREN, RPAREN, LBRACE, RBRACE, LBRACKET, RBRACKET, RETURN, COMMA, IF, ELSE, ELSEIF, WHILE, FOREACH, EQ, LT, GT, LTEQ, GTEQ, PLUS, MINUS, TIMES, DIVIDE, MODULO, STRING, NUMBER
23:23:18 <ehird`> Oh! and SET of course
23:26:21 -!- Guilt has quit ("Leaving").
23:32:05 <ehird`> Hmm.
23:32:09 <ehird`> I don't like | as an argument seperator
23:32:35 <ihope_> Separating argument from result?
23:32:40 <ehird`> no
23:32:42 <ehird`> like {x|x}
23:32:42 <ehird`> is id
23:32:46 <ehird`> {x,y|x+y} is +
23:33:22 * ihope_ nods
23:33:32 <ehird`> but | there is ugly
23:33:35 <ehird`> so what should it be? :P
23:34:00 <Sgeo> =?
23:34:15 <ehird`> = is taken for ASSIGN
23:35:57 <ihope_> .?
23:36:07 <ihope_> Space? :-P
23:36:35 <Sgeo> ¿?
23:36:38 <Sgeo> loljk
23:36:46 <ehird`> space wouldn't work well :P
23:36:53 <ehird`> {x,y,z OHNOES}
23:36:57 <ehird`> also
23:36:59 <ehird`> it'd mean EVERY space would be parsed
23:37:00 <Sgeo> ¸˙?
23:37:01 <ehird`> :P
23:37:06 <ehird`> {x . x}
23:37:11 <ehird`> {x, y, z . x + y + z}
23:37:11 <ihope_> ASCII EOF, ASCII DEL...
23:37:11 <Sgeo> »
23:37:13 <Sgeo> «
23:37:14 <ehird`> . is kinda not noticable
23:37:22 <ehird`> Sgeo: something i can actually type :p
23:37:28 * Sgeo can type those =P
23:37:32 <ehird`> {x -> x}
23:37:39 <Sgeo> Compose > >
23:37:39 <ehird`> {x, y -> x + y}
23:37:41 <Sgeo> »
23:37:57 <ehird`> var incAll = {x -> map(x, {f -> f+1})};
23:37:59 <ihope_> ASCII TAB is very noticeable in some cases :-P
23:38:24 <ehird`> ihope_: Hmm.. People who use emacs defaults would get syntax errors randomly.
23:38:26 <ehird`> This is very appealing to me...
23:39:06 <ihope_> :-)
23:40:26 <ehird`> haha, assinging oo to infinity
23:40:28 <ehird`> cute
23:46:45 <ehird`> GregorR: HAY I FOUND BUG IN YOUR LEXER.
23:47:14 <GregorR> I'm sure there are plenty
23:47:15 <ihope_> im in ur lexer, etc. etc.?
23:56:07 <ehird`> GregorR: If a string contains a newline you don't line++
23:56:17 <ehird`> Haha, my lexer will be weiiiird
23:56:24 <ehird`> Since as soon as it finds a token it gives up,
23:56:37 <ehird`> "varx={x->returnx}" is valid
23:56:53 <ehird`> it's, of course, "var x = {x -> return x}"
←2007-11-10 2007-11-11 2007-11-12→ ↑2007 ↑all