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: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
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").
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
05:14:20 -!- calamari has joined.
05:20:35 * Sgeo goes to sleep now..
05:20:51 -!- Sgeo has quit ("Ex-Chat").
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: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:45 <Figs> Long time no see...
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: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: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:45:08 <oklopol> someone come up with something witty! the first answer must not be a correct one
14:45:43 <oklopol> there's no propagation really, it can't be, i thinksssss
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: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:32 <ehird`> i am talking about the brainfuck mandelbrot program :P
15:42:40 <ehird`> i have a Brainfuck->D compiler in 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: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:15 <ehird`> oklopol: give me a [, (+- sequence), ] that doesn't halt :P
15:46:40 <ehird`> 'tehre is no trivial one'
15:47:06 <oklopol> if you mean a [<add constant>] loop, it's obvious it always terminates
15:48:17 <Jontte> i should write a brainfuck interpreter
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: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:57:50 <ehird`> it should be optimizing [+++] and [-+--] and [+] and [-]
15:58:09 <oklopol> brainfuck->C is much simpler than a brainfuck interpreter
15:58:24 <oklopol> it's just a textual substitution
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
16:03:11 <ehird`> anyway ok but i'll give you some architechture info first
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:22 <ehird`> it's C + high level language of your choice, watered down
16:04:34 <ehird`> anyway, show me a pastebin with d support :P
16:05:15 <ehird`> damnit, i just did a mod and now my compiler is segfaulting
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: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: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:45 <RodgerTheGreat> if you're optimizing for length, it's not surprising you get some speed hits
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: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:15 <ehird`> it could be trivially changed to C.
16:13:01 <ehird`> while (tape[ptr] != 0) {
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:14:04 <RodgerTheGreat> I've heard very good things from people who like C, C# and Java
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`> while (tape[ptr] != 0) {
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: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:20:22 <oklopol> hmm... not really, you don't have to optimize an infinite loop...
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:15 <ehird`> but i do optimization in passes
16:22:21 <ehird`> (infinite passes until no_opt_done)
16:22:35 <ehird`> would be picked up instantly
16:25:14 <ehird`> while (tape[ptr] != 0) {
16:26:07 <ehird`> tape[ptr] = 0; while (tape[ptr] != 0) {}
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:31:34 -!- jix has quit (Nick collision from services.).
16:31:42 -!- jix has joined.
16:41:45 <ehird`> Done compiling, program:
16:42:01 <ehird`> One optimization step, program:
16:42:09 <ehird`> One optimization step, program:
16:42:17 <ehird`> One optimization step, program:
16:43:13 <ehird`> Done compiling, program:
16:43:21 <ehird`> One optimization step, program:
16:43:29 <ehird`> One optimization step, program:
16:43:37 <ehird`> One optimization step, program:
16:43:45 <ehird`> One optimization step, program:
16:46:41 <pikhq> What sort of optimization do you have running here?
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:54 <ehird`> that's not what it does
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: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: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:22:04 <ehird`> friends-of-brainfuck? what the hell is that.
19:22:35 <Slereah_> But even when I joined, it was already deserted.
19:22:37 -!- RedDak has joined.
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:57 <oklopol> was there... life back then :O
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: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: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:21:56 -!- vickyfi has joined.
20:23:41 <Guilt> who's doing MMIX? :)
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:28 <Guilt> i want to meet such a guy
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:25:01 <ehird`> GregorR: You did? You crazy fuck.
20:25:12 <Guilt> and, is there a gcc backend to mmix/
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:49 <Guilt> i didn't find it in config/
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: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: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:10 <ehird`> In the konq I see a black box,
20:28:34 <Guilt> GregorR, put some compatibility jizz in.
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: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: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:31:28 <ehird`> http://www.codu.org/jsmmix/64bitint.js What the fuck.
20:31:53 <GregorR> What, I needed 64-bit ints in 8-bit bins 8-O
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: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:52 <ehird`> I want to do my client side stuff in C
20:33:12 <GregorR> I just want vim running in JS :P
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: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: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: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: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: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: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: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: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?
21:03:39 <meme_> i have an idea for a lang
21:05:55 -!- sebbu2 has changed nick to sebbu.
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: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:59:32 -!- pikhq has joined.
22:00:26 <GregorR> Oh, I didn't mention, it does run int main() { return 0; } now
22:11:31 -!- meme_ has quit ("Lost terminal").
22:19:00 <pikhq> GregorR: What's this? Actual *work* on C2BF?
22:19:27 <GregorR> http://www.codu.org/jsmmix/test.html
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:24:17 <pikhq> Hmm. Plof->JS runs Plof->C->MMIX? :p
22:24:50 * ihope_ reads up on Javascript
22:28:22 <ihope_> Hmm. ChatZilla has an /eval command for evaluating JavaScript expressions...
22:29:38 <GregorR> ChatZilla was, in fact, written in JavaScript.
22:30:14 <pikhq> Javascript and XUL. Get it right, Gregor.
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: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: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:40 <Sgeo> "An admissions representative will be contacting you shortly."
22:40:01 <pikhq> Sgeo, join me and cherez next year.
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: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: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: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: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: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:41 <pikhq> Ask for the text "By order of the Queen of England, this is legal tender for all debts." ;p
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: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: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:58:11 <ihope_> Queen Except for the Fact that They were Elected?
22:58:30 <ehird`> 'elected useless figurehead'
22:58:59 <ehird`> pikhq: GregorR: you have a chance to force your plof syntax on ltc right now, limited time offer :P
23:00:42 <ehird`> Langugae that is Tiny and Compilable
23:00:55 <ehird`> (Tiny Compilable Language's acronym was taken...)
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: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:15 <ehird`> I want something... I dunno.
23:04:50 <pikhq> var IncAll = (x){map((f){f++})};
23:05:50 <pikhq> var IncAll = (x as Collection){ x.map((f){ f++ }) };
23:05:52 <ehird`> hard to parse manually :P
23:06:03 <ehird`> and variables are typeless
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:11:06 <ihope_> var incAll = {x|something}
23:11:59 <ehird`> var incAll = {x | x.map({f | f+1})}
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: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: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:17:53 <ehird`> So, that's 22 tokens in all.
23:19:46 <ehird`> How many tokens does plof have? *checks*
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:26:21 -!- Guilt has quit ("Leaving").
23:32:09 <ehird`> I don't like | as an argument seperator
23:32:35 <ihope_> Separating argument from result?
23:33:35 <ehird`> so what should it be? :P
23:36:46 <ehird`> space wouldn't work well :P
23:36:59 <ehird`> it'd mean EVERY space would be parsed
23:37:11 <ihope_> ASCII EOF, ASCII DEL...
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: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:40:26 <ehird`> haha, assinging oo to infinity
23:46:45 <ehird`> GregorR: HAY I FOUND BUG IN YOUR LEXER.
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}"