←2004-05 2004-06 2004-07→ ↑2004 ↑all
2004-06-01
00:03:16 <kosmikus> well, sk combinators are a way of "encoding" closed untyped lambda calculus expressions
00:03:44 <kosmikus> i.e. every closed expression in lambda calculus can be defined in terms of sk combinators
00:03:57 <kosmikus> and you can compute the sk combinator expressions from the lc expression
00:04:22 <kosmikus> in untyped lc, you can encode booleans
00:05:10 <kosmikus> true == \t . \f . t
00:05:18 <kosmikus> false == \t . \f . f
00:05:45 <kosmikus> both are closed expressions, and can thus be translated into an sk combinator representation
00:06:05 <kosmikus> similarly, functions like and, or, xor, ... can be translated
00:19:14 <kosmikus> in fact, possible translations are true == K and false == K I
00:22:48 <lament> kosmikus: and what is the application?
00:25:48 <kosmikus> I'm not sure I understand the question. The application is that you can write functions on booleans.
00:27:00 <lament> um
00:27:04 <lament> if true is K
00:27:07 <lament> and false is K I
00:27:13 <lament> then what is K (K I) ?
00:32:05 <kosmikus> well, it cannot be reduced, because K takes two arguments
00:32:30 <kosmikus> furthermore, it does "not make sense", because you're trying to apply true to false
00:32:36 <lament> yes
00:32:48 <kosmikus> the whole system is untyped, though, and does not prevent you from doing things that do not make sense
00:33:58 <lament> what _i_ was talking about
00:34:23 <lament> is a way to map any combinator expression to T or F
00:34:41 <lament> (a way which would make at least some amount of sense)
00:35:11 <kosmikus> why do you want to do that?
00:35:40 <lament> So i can put XOR together with S, K, I :)
00:37:41 <kosmikus> if you want to view it like that, you can choose any mapping from combinator expressions to T or F that you like
00:38:19 <kosmikus> but I'm afraid that this has nothing to do with the encodings of true and false, then
00:41:38 -!- kosmikus has changed nick to kosmikus|away.
04:02:43 -!- clog has joined.
04:02:43 -!- clog has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:13:12 -!- clog has joined.
10:13:12 -!- clog has joined.
14:52:53 -!- Keymaker has joined.
14:53:07 <Keymaker> yo
16:03:08 <Keymaker> mh, need to go
16:03:11 -!- Keymaker has quit.
17:03:50 -!- calamari_ has joined.
17:04:09 <calamari_> hi
17:50:26 -!- Keymaker has joined.
17:50:41 <Keymaker> hay
17:51:33 <lament> hi
17:51:37 <Keymaker> hi lament
17:51:44 <Keymaker> how's going?
17:51:57 <lament> slowly, painfully
17:52:00 <lament> and in the wrong direction
17:52:06 <Keymaker> :(
18:02:03 -!- kosmikus has changed nick to kosmikus|away.
19:00:54 -!- Keymaker|sauna has joined.
19:00:55 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
19:01:25 -!- Keymaker|sauna has changed nick to Keymaker.
19:12:46 <Keymaker> Do you listen any (music)?
19:16:37 <lament> not right now.
19:18:10 <Keymaker> ok
19:18:20 <Keymaker> what kind of, when listening?
19:19:58 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
19:20:17 <lament> Bach
19:20:54 <Keymaker> ah i see
19:21:17 <Keymaker> i'm not very familiar with his works but some what i've heard has been quite good
19:22:56 <lament> 'quite good' is a serious understatement wrt Bach :)
19:23:25 <Keymaker> hee
19:23:32 <Keymaker> i meant 'heh' :)
19:26:59 <lament> Aside from being the ultimate music, it also happens to be the ultimate geek music
19:27:28 <Keymaker> i didn't know that, well, usefull tip :)
19:27:56 <lament> The reason for that is that it's so mind-bogglingly hugely complex.
19:28:17 <lament> I mean structurally.
19:28:27 <lament> Not emotionally or something wishy-washy like that.
19:28:47 <Keymaker> i see
19:29:01 <Keymaker> well, that classic music often is -- complex
19:29:58 <lament> Bach is by far more complex than most other classical music.
19:30:02 <lament> Well
19:30:09 <lament> not really by far
19:30:37 <Keymaker> :)
19:30:55 <Keymaker> i like (almost) allkinds of electronic music
19:30:59 <lament> reasonably modern symphonic music is very complex as well
19:31:37 <Keymaker> yeah
19:32:39 <lament> but, arguably, this complexity is less significant in the overall design.
19:32:48 <lament> i.e. it's there but you aren't really supposed to pay attention to it.
19:33:10 <Keymaker> i see
19:33:37 <Keymaker> closer listening reveals it :)
19:34:44 <lament> yes, but there's not much meaning to it.
19:34:53 <Keymaker> ok
19:35:27 <lament> at least that's what it seems like.
19:35:32 <lament> i'm probably wrong, too.
19:36:24 <Keymaker> :) well, music can be hard to [some word i can remember here]
19:36:45 <Keymaker> rrg, i meant [some word i can't remem....]
19:42:36 <lament> ... :)
19:43:21 <lament> anyway, the structural complexity in most music (where it's present at all) is secondary.
19:44:02 <Keymaker> then, what is 'firstary'? :)
19:45:58 <lament> Other kinds of structural complexity :)
19:46:28 <Keymaker> hah
19:46:33 <Keymaker> :)
19:47:45 <lament> in bach, the complexity is polyphonic.
19:49:01 <Keymaker> hmmm
19:49:13 <lament> in most symphonic music the complexity is either development-related ("serial" as opposed to "parallel" in bach)
19:50:07 <lament> or related to the instruments and the arrangement.
19:50:25 <lament> (and quality of the sound produced)
19:50:30 <Keymaker> ah
19:50:57 <lament> in modern music, probably including electronic music, the emphasis is shifted very strongly towards the quality of the sound
19:51:15 <lament> some modern classical pieces have nothing else :)
19:51:54 <Keymaker> i see :)
19:52:23 <lament> anyway. of all these kind of complexity, polyphonic complexity is the most geeky :)
19:52:39 <Keymaker> i guessed that :)
19:52:50 <Keymaker> well, it might be good for me to listen some bach some day
19:53:39 <lament> (because it's just so hard to understand and because it's fairly mathematical in nature)
19:54:03 <Keymaker> ok
19:56:29 <lament> neal stephenson wrote a bit about that in cryptonomicon
19:56:51 <Keymaker> hmm
19:57:06 <Keymaker> haven't heard of them :(
19:57:18 <Keymaker> i mean i don't know about neal or cryptonomicon
19:57:30 <Keymaker> some site?
19:57:44 <lament> you have the excuse of being finnish.
19:57:53 <Keymaker> hm?
19:58:15 <Keymaker> oh :)
20:45:48 -!- Keymaker[-] has joined.
21:03:32 -!- Keymaker has quit (Read error: 110 (Connection timed out)).
21:22:54 <Keymaker[-]> hmmm
21:23:05 <Keymaker[-]> seems that it's goodbye for this nite
21:23:12 -!- Keymaker[-] has quit.
23:01:43 -!- calamari_ has joined.
23:01:49 <calamari_> re's
23:03:17 <calamari_> the way to handle these unary operators is really stumping me
23:04:34 <calamari_> well, they are handled.. it just doesn't match c very well :)
2004-06-02
01:02:14 <calamari_> yay,. found the bug :)
01:09:35 <Toreun> yay
01:09:40 <Toreun> what was it?
01:10:11 <calamari_> bad peek function
01:11:04 <calamari_> unique unary works great.. need to put in some lookahead for +/- (to decide whether it is minus or negation, etC)
01:11:50 <Toreun> ah
01:25:14 <calamari_> cool
01:25:28 <lament> I hope you're writing it in sed?
01:26:08 <calamari_> sorry, not that skilled hehe
01:26:55 <calamari_> postfix ++ has higher precedence than prefix --.. can you guys think of an expression where that matters?
01:29:23 <Toreun> random - a quote I just saw:
01:29:23 <Toreun> "Yow! I've just lost the SOURCE CODE for all my QUINE PROGRAMS! What
01:29:23 <Toreun> will I DO NOW with just the BINARIES?"
01:29:23 <Toreun> -David Madore
03:20:53 -!- calamari_ has quit (Connection timed out).
03:33:01 -!- echo has joined.
07:53:19 <fizzie> I can't, because there are no equivalent-precedence non-unary operators and you can't apply postfix-++ and prefix-'--' to a same object.
07:53:26 <fizzie> oh, he left already.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:59 -!- kosmikus|away has changed nick to kosmikus.
08:12:59 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
09:06:19 -!- echo has left (?).
11:45:54 -!- kosmikus has changed nick to kosmikus|away.
15:52:57 -!- calamari_ has joined.
15:55:21 -!- Keymaker has joined.
15:55:30 <Keymaker> hi
16:22:39 <calamari_> hi Keymaker
16:23:05 <fizzie> calamari; 09:49:04 < fizzie> I can't, because there are no equivalent-precedence non-unary operators and you can't apply postfix-++ and prefix-'--' to a same object.
16:23:14 <Keymaker> hiya
16:25:43 <fizzie> but with other postfix/prefix operator combinations it obviously matters.
16:26:15 <Keymaker> what's postfix/prefix operator?
16:26:59 <fizzie> "combinations of postfix and prefix operators", I mean.
16:27:20 <fizzie> keymaker; you missed the original question, too, I think:
16:27:21 <fizzie> 03:22:41 < calamari_> postfix ++ has higher precedence than prefix --.. can you guys think of an expression where that matters?
16:28:25 <Keymaker> yeah i missed, well, can't understand anyways...
16:28:43 <fizzie> he's writing that C compiler.
16:28:49 <Keymaker> ah !
16:29:30 <fizzie> C has funky precedence rules anyway.
16:30:54 <fizzie> why do bitwise shift operators have higher precedence than the comparison operators (<, >, ==, !=) while the bitwise ands, ors and xors don't?
16:31:47 <calamari_> fizzie: I asked in C and was forcefully enlightened :)
16:31:49 <calamari_> err #c
16:32:07 <fizzie> mhmm?
16:32:25 <calamari_> *a++ vs *++a
16:33:05 <calamari_> or actually, even a++ vs ++a.. they return different values
16:33:36 <fizzie> well sure, their only difference is in the value they return.
16:35:29 <fizzie> but maybe I understand the reasoning with the postincrement thing, it'd be funny to have *++a behave like "*(++a)" and *a++ behave like "(*a)++".
16:36:38 <fizzie> what I don't understand is the lowness of the bitwise operators. I'd think "if(a & b == c)" would more often mean "if((a & b) == c)" (when using bitmasks for example) than what it currently means, "if(a & (b == c))"
16:36:57 <fizzie> uh, iirc, that is.
16:37:03 <fizzie> maybe I should test just in case.
16:38:34 <fizzie> 1 & 2 == 2: 1
16:38:34 <fizzie> (1 & 2) == 2: 0
16:38:34 <fizzie> 1 & (2 == 2): 1
16:38:43 <fizzie> stupid it is.
16:39:31 <calamari_> I still need a good bf way of doing bitwise operators
16:39:59 <fizzie> that's like asking a good intercal way of doing arithmetic operations, only worse.
16:40:05 <calamari_> yeah
16:40:30 <calamari_> the "best" way I know of right now is expanding to binary then going back.. horribly slow and memory wasting
16:41:52 <calamari_> for now I'll just leave 'em out
16:42:34 <fizzie> I think I needs to go work->home now. away for a while.
16:42:50 <calamari_> cya.. thanks for the fresh insight :)
16:47:08 <Keymaker> ok bye
17:06:11 <fizzie> back.
17:06:22 <Keymaker> welcome :)
17:24:39 -!- edwinb has quit (Read error: 60 (Operation timed out)).
17:27:36 -!- edwinb has joined.
17:35:04 <Keymaker> ..i'm away for a while..
17:35:08 -!- Keymaker has quit.
18:48:27 -!- calamari- has joined.
19:03:17 -!- x0r4n0nzx has joined.
19:04:33 -!- calamari_ has quit (Read error: 104 (Connection reset by peer)).
19:04:56 -!- x0r4n0nzx has quit (Client Quit).
22:17:50 -!- calamari- has quit (calvino.freenode.net irc.freenode.net).
22:19:33 -!- calamari- has joined.
22:29:00 -!- calamari- has quit (Read error: 110 (Connection timed out)).
2004-06-03
00:47:31 -!- kosmikus|away has changed nick to kosmikus.
01:08:37 -!- Toreun has joined.
02:28:57 -!- dbc has joined.
02:29:16 <dbc> You know why the bitwise operators have such low precedence?
02:30:35 <dbc> They were originally used in many places where the logical operators are now. And so after they introduced the logical operators, they still didn't want anything else to have higher precedence than the logical operators but lower precedence than the bitwise operators, so as to avoid breaking that old code.
02:31:53 <dbc> Not a good reason--at least, not given that C turned into the most widely-used programming language. I think i read Ritchie acknowledging it was a mistake.
02:38:37 <dbc> In K&R2, introduction, page 3, there's a vague reference to it: "C, like any other language, has its blemishes. Some of the operators have the wrong precedence;..."
02:56:21 <lament> silly.
02:56:28 <lament> C just sucks :)
03:36:43 -!- cmeme has quit (Remote closed the connection).
03:37:03 -!- cmeme has joined.
07:13:13 -!- lament has changed nick to lament_.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
14:07:53 -!- Keymaker has joined.
14:08:01 <Keymaker> hello all!
14:08:10 <Keymaker> it's good to be back..
14:08:34 <fizzie> hello.
14:08:37 <fizzie> you missed dbc again. :p
14:08:40 <Keymaker> hello
14:08:43 <Keymaker> d'oh!
14:08:56 <Keymaker> hey, i see his name there but..
14:09:00 <Keymaker> ..he's gone?
14:12:49 <fizzie> idle: 11 hours.
14:12:56 <Keymaker> :(
14:13:14 <Keymaker> but well, is that idling time so special on this channel? :)
14:20:17 <Keymaker> hmm, just changed some colours, looks nice.
14:39:38 <fizzie> oh I just love j2me, an applet can not write to a file in the phone filesystem.
14:40:45 <Keymaker> :(
14:40:50 <fizzie> so if I have a chunk of binary data I have to a) send it over gprs to a remote host, which costs muchly b) send it as a multimedia message to myself with the straaange^2 wireless messaging api c) send it to a computer with the bluetooth api that's not supported by the standard build tools d) write a viewer to examine the data using the device.
14:41:56 <Keymaker> d
14:48:04 -!- Keymaker has changed nick to Keymaker|eat.
14:56:04 <fizzie> ok, the audio data I get from a Manager.getPlayer("capture://audio?rate=8000"); is completely bonkers. that's it. I've done enough of this crap for today - time to stop.
14:59:10 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
14:59:59 -!- Keymaker|eat has changed nick to Keymaker.
15:00:24 <Keymaker> "I've done enough of this crap for today - time to stop." what now? :)
15:00:53 <fizzie> I.. dunno. I guess I should try getting home or something.
15:00:58 <Keymaker> hhm
15:01:01 <Keymaker> good plan
15:01:19 <fizzie> I feel weak. haven't eaten since I don't-remember-when.
15:01:35 <Keymaker> i know the feeling
15:02:18 <fizzie> so eating would be another good idea.
15:02:28 <fizzie> too bad there's probably nothing here except maybe cookies.
15:02:36 <fizzie> another good reason for getting home.
15:02:38 <Keymaker> well, those good :)
15:02:58 <Keymaker> i'm always too lazy to cook - that's why noodles are my best friend
15:03:09 <fizzie> I think I'll take this 3com bluetooth stick with me home to play with.
15:03:48 <Keymaker> ok
15:06:47 <fizzie> committed my stupid java test thing to the cvs since "well, everything should be in cvs". feels bad to commit broken stuff though.
16:10:17 <fizzie> well, I plugged an usb bluetooth stick to one of my linux boxen and now I have bluetooth in here. now if I could only figure out what to do with it..
16:11:28 <fizzie> in theory I could use the phone as a small bluetooth-based remote control thing, but with a 18m^2 apartment (and six computers usable as terminals) the need for a remote control device isn't that great.
16:19:14 <Keymaker> yeah :)
16:19:29 <Keymaker> wow, pretty nice sounding flat -- six computers!
16:20:43 <Keymaker> NOOOOO!!!! i just converted cd to mp3 (for my own use of course), and accidentally deleted the files.. :(
16:23:25 <fizzie> well, now. I just said "usable as terminals".
16:24:09 <fizzie> one of them for example is a macintosh performa 5260, a rather silly powerpc thing.
16:24:58 <Keymaker> i see
16:25:23 <fizzie> and another is a SGI indy (commonly described as "indigo without the go"), which achieves impressive levels of uselessness too. especially since it has irix 6.5.something installed and using it is "a bit" sluggish.
16:25:51 <Keymaker> :)
16:26:08 <fizzie> and the sparcstation 5 (this I didn't even include in the count because:) doesn't even have a monitor or a keyboard attached.
16:26:44 <fizzie> I have a habit of gathering junk, if you didn't notice. :p
16:26:49 <Keymaker> heh
16:27:01 <Keymaker> i was just going to ask have you bought them all :)
16:27:30 <fizzie> well, I got the indy for free when the computer science department was getting rid of them.
16:27:41 <fizzie> and I bought the sparc and performa from huuto.net. :p
16:27:46 <Keymaker> i se
16:27:50 <Keymaker> *see
16:28:08 <Keymaker> huuto.net has been useful source for me too getting some stuff
16:31:47 <Keymaker> ah, today i probably finally have time to work on my keen site :)
17:20:24 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
17:21:23 -!- cmeme has joined.
17:27:43 <Keymaker> hello
17:35:46 -!- lament_ has changed nick to lament.
17:35:54 <lament> hello
17:35:57 <Keymaker> hi
17:36:11 <Keymaker> doing anything?
17:36:31 <lament> drinking water.
17:36:44 <Keymaker> i see
17:36:54 <Keymaker> i'm trying to eat some fruit
17:54:18 <fizzie> wheee. I convinced my phone to open a ppp connection to my linux box, over a bluetooth serial line.
17:54:35 <fizzie> and managed to access local web pages using opera on the phone.
18:03:48 <Keymaker> heh
18:03:54 <Keymaker> what it looked like?
18:04:04 <Keymaker> the sites?
18:19:08 <lament> /j lua
18:19:10 <lament> oops
18:21:43 <Keymaker> ?
18:22:03 <Keymaker> anyways -- too bad i'll go for a little walk now.. :( fresh air :( :(
18:22:08 -!- Keymaker has quit.
18:34:21 -!- kosmikus has changed nick to kosmikus|away.
22:20:01 -!- dbc has quit (Read error: 110 (Connection timed out)).
22:47:45 -!- Toreun has joined.
23:21:15 -!- dbc has joined.
2004-06-04
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
14:43:42 -!- dbc has quit ("you have no chance to survive make your time.").
16:13:18 -!- Keymaker has joined.
16:13:23 <Keymaker> hi
16:13:29 <fizzie> hi.
16:13:37 <fizzie> you missed dbc, by the way.
16:13:43 <fizzie> 16:39:21 -!- dbc [ttm@130-94-161-238-dsl.hevanet.com] has quit ["you have no chance to survive make your time."]
16:13:43 <Keymaker> no no no :(
16:13:49 <fizzie> 18:08:57 -!- Keymaker [~Keymaker@wire74.adsl.netsonic.fi] has joined #esoteric
16:13:59 <Keymaker> :(
16:14:05 <fizzie> your timing is, as always, quite impressive.
16:14:11 <Keymaker> i've noticed
16:14:23 <Keymaker> but well, this time it wasn't totally my own fault
16:15:30 <Keymaker> today i've had problems with the net, here's some new connection and dunno, maybe some people somehow roam all the bandwidth or whatever (i really dunno these terms) :(
16:16:34 <fizzie> aren't adsl connections supposed to have a fixed amount of bandwidth allocated for every user? or is that some kind of shared-by-lots-of-people connection thing?
16:16:51 <Keymaker> shared-by-lots-people
16:17:11 <fizzie> ah. hard to determine from the hostname in this case.
16:17:17 <Keymaker> yeah
16:17:35 <fizzie> I'm still very happy with my current internet connectivity :) :) <3 :)
16:17:42 <Keymaker> :)
16:17:54 <Keymaker> i believe that
16:19:18 <fizzie> although the thrill did wear off after the first few months, and now when I have to download something from the Real Internet (as opposed to the local network here or funet) it feels _really really slow._ (usually ~100-500kB/s)
16:19:39 <Keymaker> only...
16:19:41 <Keymaker> :)
16:20:03 <fizzie> I guess I'm becoming bandwidth-spoiled or something.
16:20:08 <Keymaker> i see
16:20:44 <Keymaker> i'm probably never be one, since there are those bandwidth-monsters..
16:20:53 <Keymaker> *i'll
16:21:58 <fizzie> but, well, as you can see in http://gehennom.org/mrtg/vr0.php I don't really use this much.
16:22:54 <fizzie> although in the 'yearly' graph one can clearly see when I moved in. (beginning of september.)
16:23:08 <Keymaker> heh
16:26:09 <Keymaker> by the way, know any good, lite, ASCII text editor?
16:26:36 <fizzie> well, vim, but it's not too light any more.
16:26:56 <fizzie> depends on your definition of 'light' of course.
16:27:06 <fizzie> it's no emacs, if you catch my drift. :p
16:27:18 <Keymaker> i see :)
16:27:21 <Keymaker> i've heard of that
16:27:49 <deltab> ed
16:28:14 <fizzie> ed's a bit.. too minimalistic for my tastes.
16:28:41 <deltab> nano
16:28:59 <fizzie> nano might be good, but it's not a vi-clone.
16:29:52 <fizzie> <fact type="false">did you know the name EMACS comes from 'Eventually malloc()s All Computer Storage'?</fact>
16:30:21 <Keymaker> :)
16:30:54 <fizzie> hm, lang's been surprisingly active lately.
16:31:22 <Keymaker> lang?
16:32:03 <deltab> "Computer" seems rather redundant there; I suggest "Connected"
16:32:16 <fizzie> the esoteric.sange.fi email list.
16:32:33 <Keymaker> ah email list..
16:32:42 <Keymaker> too bad i'm not on any..
16:32:44 <fizzie> another version I've heard was 'Eight Megs And Continuously Swapping', but these days 8M of memory is ~nothing.
16:33:08 <Keymaker> yeah :(
16:34:16 <Keymaker> hmmm, there's some brainfuck archive on that site *drool*
16:34:25 <Keymaker> i haven't noticed it before :)
16:34:37 <Keymaker> (or at least can't remember)
16:36:11 <fizzie> I've gotten >50 "undeliverable mail; returning to sender" spam emails during the last couple of hours.
16:36:33 <fizzie> is this the national "let's forge fizzie's email address as the sender of spam" day or what?
16:36:53 <Keymaker> hmm too bad :(
16:36:58 <Keymaker> spam's really annoying
16:38:21 -!- tav has joined.
16:41:54 <Keymaker> oh wow! how this: http://esoteric.sange.fi/brainfuck/bf-source/prog/PI16.BF can be even possible? *confused*
16:42:17 <Keymaker> there are some really good bf codes out there..
16:46:19 <Keymaker> whoaly .. :O
16:47:14 <fizzie> I would like to see a brainf*ck pi calculator that worked the same way as the one ioccc entry.
16:48:41 <Keymaker> d'oh, i'll be away some minutes, there's icecream available
16:49:11 <fizzie> this http://www.ioccc.org/1988/westley.c one
16:49:20 <fizzie> "if you want more digits, write a bigger program."
17:01:07 <Keymaker> wow
17:01:12 <Keymaker> very confusing :)
17:02:26 <Keymaker> oh no
17:02:27 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
18:04:47 -!- Keymaker has joined.
18:04:54 <Keymaker> phew..
18:07:49 <Keymaker> darn, i have something wrong in my bf code..
18:12:56 <fizzie> something in your bf code made you do 'Read error: 104 (Connection reset by peer)' and stay away from irc an hour?
18:13:06 <Keymaker> nope
18:13:13 <Keymaker> that's my lousy internet connection
18:13:20 <Keymaker> as i told, this is really annoying
18:13:35 <Keymaker> (or ok, i didn't say "it's annoying" but..)
18:13:49 <Keymaker> every 5 min i tried to come back, but no success
18:14:29 <fizzie> I need a terminal in my bathroom, I think.
18:14:49 <Keymaker> :)
18:16:10 <fizzie> I wonder if the bluetooth thing has enough range. I could use my phone as a terminal if it does.
18:16:19 <fizzie> "just thinking."
18:16:47 <Keymaker> good plan :)
18:17:20 <fizzie> I also wonder if the psion-linux kernel loader could be made to work on said phone.
18:17:40 <fizzie> probably not, though.
18:43:56 <Keymaker> hmmm, how or can i contribute some bf files to that 'http://esoteric.sange.fi/' archive, sometime (or is it possible)?
18:44:34 <fizzie> "To submit new programs, email pkalliok@helsinki.fi."
18:44:47 <Keymaker> ok
18:44:56 <Keymaker> i must be blind..
18:46:49 <fizzie> the archivist used to visit ircnet, too, but he either stopped or changed nicks.
18:47:24 <Keymaker> ok
18:51:14 <lament> phones suck.
18:51:55 <Keymaker> yep
18:55:13 <fizzie> another good reason to try running linux on it - I doubt it'd much work as a phone then.
18:59:26 <Keymaker> argh.. i should rewrite some php code.. :(
19:03:23 <lament> don't.
19:04:54 <Keymaker> but but... :(
19:05:19 <Keymaker> i really should, because there's serious error with mysql database :)
19:05:56 <Keymaker> or well, serious means in this case that the script overwrites data it shouldn't and so on..
19:06:45 <Keymaker> all caused by the fact i didn't know new entries go "up" in the table and not under older ones (or that's what i think is problem)
21:34:07 <Keymaker> hmmm, goodbye for this nite :)
21:34:10 -!- Keymaker has quit.
21:35:28 <fizzie> "night."
2004-06-05
05:45:03 -!- Dabomber has joined.
05:46:07 <Dabomber> Hi all
05:48:05 -!- Dabomber has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:02:09 -!- tav has changed nick to tav|offline.
15:23:57 -!- Keymaker has joined.
15:24:11 <Keymaker> hiya
15:24:47 <Keymaker> my legs hurt, i've been standing and walking all the day..
15:35:19 -!- Keymaker has changed nick to Keymaker|eat.
16:03:41 -!- Keymaker|eat has changed nick to Keymaker.
16:47:26 <fizzie> m'hi.
16:50:24 <Keymaker> hi
16:50:41 <Keymaker> dbc been around?
16:51:18 <mtve> no
16:51:22 <Keymaker> ok
16:51:52 <fizzie> wonder if I'm still actively ircing by the time you manage to catch him.
16:52:53 <Keymaker> :)
16:53:00 <Keymaker> 'actively'
16:53:42 <Keymaker> or, it can be he reads the logs and checks the times carefully; so that he can idle safely many hours and get out just before i join channel..
16:54:50 <fizzie> erm, well.. I fail to see how anyone can deduce from the logs when you will appear. the other way it'd work; maybe _you_ are reading the logs and only join after he has left.
16:55:21 <Keymaker> you're right
16:57:33 <Keymaker> just small opinion: do you think program should ask 'are you sure you want to ..' things or just do something, or should there be something where user can set it to ask or deactive the feature?
17:00:18 <fizzie> well, generally speaking everything should be configurable.
17:00:22 <Keymaker> i see
17:03:25 <fizzie> I doubt the 'are you sure you want to' dialogs even help much, if you're decided enough to screw up you'll manage to do that even if you have to click through dozens of warnings.
17:04:07 <Keymaker> i've noticed that pretty well :)
17:04:58 <Keymaker> *delete all the files?* *ok* *still want to delete them?* *yes* darn! :(
17:22:48 <Keymaker> aaaargh, it's sauna, bye for a while..
17:47:44 <Keymaker> done
19:16:56 -!- Keymaker has changed nick to Keymaker|movie.
20:29:52 -!- Keymaker[-] has joined.
20:30:19 -!- Keymaker[-] has changed nick to Keymaker.
20:38:24 -!- Keymaker|movie has quit (Read error: 60 (Operation timed out)).
22:15:50 <Keymaker> hmm, byes
22:15:50 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
22:20:53 <fizzie> bye.
2004-06-06
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
12:35:17 -!- dbc has joined.
2004-06-07
04:15:56 <lament> it's dbc
04:15:59 <lament> where're the fractals?
07:40:24 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
07:40:24 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
07:40:26 -!- Toreun has quit (calvino.freenode.net irc.freenode.net).
07:40:26 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
07:40:28 -!- kosmikus|away has quit (calvino.freenode.net irc.freenode.net).
07:40:29 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
07:40:30 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
07:40:30 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
07:40:30 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
07:40:30 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
07:40:30 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
07:40:31 -!- grumpy_old_one has quit (calvino.freenode.net irc.freenode.net).
07:40:31 -!- lament has quit (calvino.freenode.net irc.freenode.net).
07:42:50 -!- ChanServ has joined.
07:42:50 -!- dbc has joined.
07:42:50 -!- Toreun has joined.
07:42:50 -!- cmeme has joined.
07:42:50 -!- grumpy_old_one has joined.
07:42:50 -!- lament has joined.
07:42:50 -!- kosmikus|away has joined.
07:42:50 -!- mooz- has joined.
07:42:50 -!- Taaus has joined.
07:42:50 -!- deltab has joined.
07:42:50 -!- fizzie has joined.
07:42:50 -!- mtve has joined.
07:42:50 -!- irc.freenode.net has set channel mode: +o ChanServ.
07:43:18 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
07:43:18 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
07:43:18 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
07:43:18 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
07:44:12 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
07:44:12 -!- grumpy_old_one has quit (calvino.freenode.net irc.freenode.net).
07:44:13 -!- lament has quit (calvino.freenode.net irc.freenode.net).
07:47:56 -!- mooz- has joined.
07:47:56 -!- Taaus has joined.
07:47:57 -!- deltab has joined.
07:47:57 -!- fizzie has joined.
07:48:05 -!- edwinb has joined.
07:48:08 -!- dbc has joined.
07:48:08 -!- grumpy_old_one has joined.
07:48:08 -!- lament has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:13:00 -!- dbc has quit (Read error: 60 (Operation timed out)).
17:48:08 -!- kosmikus|away has quit (Read error: 60 (Operation timed out)).
17:48:13 -!- kosmikus|away has joined.
18:12:07 -!- Keymaker has joined.
18:12:16 <Keymaker> hi
18:12:47 <mtve> dbc was here again
18:13:06 <fizzie> uh-huh.
18:13:06 <fizzie> impressive timing indeed.
18:13:30 <Keymaker> grrrr..
18:13:33 <Keymaker> :(
18:13:44 <Keymaker> heh, well better luck next time
18:14:35 <Keymaker> 04:15:58 <lament> it's dbc
18:14:36 <Keymaker> 04:16:01 <lament> where're the fractals?
18:14:37 <Keymaker> :D
19:43:20 <Keymaker> eek, gotta switch channel quickly!
19:43:22 <Keymaker> bye
19:43:23 -!- Keymaker has quit.
19:44:54 <fizzie> hm, he left. I wonder if dbc's coming.
19:45:22 <mtve> it's the same person
21:09:49 -!- Keymaker has joined.
21:23:42 -!- tav|offline has changed nick to tav.
21:47:22 <fizzie> keymaker; hey, you didn't manage to miss dbc.
21:50:18 <Keymaker> oh :)
21:50:22 <Keymaker> yeah, not this time
21:51:06 <fizzie> I thought you had a feeling he might be coming and quitted because of that.
21:51:38 <Keymaker> hehe
21:51:39 <Keymaker> no
21:51:56 <Keymaker> i visited a commander keen channel where i use different name
21:53:29 <fizzie> uh, er, okay.
21:53:42 <Keymaker> :)
21:54:22 <Keymaker> you know that game?
21:54:36 <fizzie> sure.
21:54:53 <fizzie> I think I have a "Keen1-6.zip" somewhere on my hd.
21:54:58 <fizzie> haven't played them lately though.
21:55:27 <fizzie> don't think I could read the galactic alphabet now.
21:56:14 <Keymaker> ok
21:56:27 <Keymaker> you should try again :)
21:56:56 <fizzie> and I've forgotten all funny secrets. I vaguely remember that in that one place in keen4 you needed to gather all the silly worms to one place to get to the secret pyramid.
21:58:39 <fizzie> and in was-it-keen1-or-what there were all those semi-invisible tiles.
21:58:43 <Keymaker> hehe "11 inch makes a foot" and your way to the Pyramid of Forbidden
21:58:51 <Keymaker> yeah
21:58:57 <Keymaker> in keen 1 for example
21:59:30 <fizzie> I didn't illegally-copy keen 2, 3 and 5 until much later than I played 1 and 4.
22:00:40 <fizzie> and keen dreams wasn't really much fun.
22:00:54 <Keymaker> yeah, many don't like keen dreams that much
22:01:02 <Keymaker> there's many annoying bugs
22:01:15 <Keymaker> (meaning programming errors)
22:02:01 <fizzie> I'd like to quote a userfriendly comic but you can't grep for the stuff in those unfortunately.
22:02:37 <Keymaker> too bad :(
22:05:36 <fizzie> and I don't feel like reading through the userfriendly archives. :p
22:07:52 <Keymaker> :)
22:08:14 <fizzie> hey, you can grep those.
22:08:26 <fizzie> see http://ars.userfriendly.org/cartoons/?id=20000316
22:08:36 <fizzie> don't know what reminded me of that.
22:09:49 <Keymaker> :)
22:12:42 <fizzie> wonder if I should just sleep, I don't think I'll be getting anything done today.
22:16:38 <Keymaker> well, you have more than 23 hours to sleep :)
22:17:16 <fizzie> I mean 'logical today'.
22:18:10 <Keymaker> i see :)
22:18:27 <Keymaker> well, i suggest sleeping, i don't have even tried to do anything useful this nite
22:18:43 <Keymaker> today is my birthday, by the way :)
22:18:55 <fizzie> logical or physical today?
22:19:05 <Keymaker> 8th june
22:20:05 <fizzie> well, I'd say "happy birthday", if I hadn't just declared this to be 7th still.
22:20:19 <Keymaker> hehe
22:23:46 <Keymaker> hmm
22:23:47 -!- Keymaker has quit (Read error: 54 (Connection reset by peer)).
22:24:08 <fizzie> interesting.
23:11:11 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
23:36:19 -!- kosmikus|away has changed nick to kosmikus.
2004-06-08
00:39:16 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
00:39:16 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
00:47:32 -!- ChanServ has joined.
00:47:32 -!- mtve has joined.
00:47:32 -!- irc.freenode.net has set channel mode: +o ChanServ.
01:31:16 -!- kosmikus has changed nick to kosmikus|away.
02:49:44 -!- tav has left (?).
02:50:42 -!- andreou has joined.
03:18:10 -!- andreou has quit ("If it doesn't have 36 bits, you're not playing with a full DEC.").
04:52:12 <lament> hm
04:52:35 <lament> what would be a good instruction set for a 4-bit computer? (with 16 memory addresses)
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:24:23 <fizzie> "substract and branch if negative"
08:24:33 <fizzie> that's all.
08:25:25 <fizzie> don't know. 16 memory addresses sounds awfully limited, so maybe you should add a "DWIM" instruction to make it possible to actually do stuff.
10:28:50 -!- kosmikus|away has changed nick to kosmikus.
10:35:06 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
10:35:06 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
10:35:06 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
10:35:06 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
10:37:58 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
10:37:58 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
10:38:01 -!- grumpy_old_one has quit (calvino.freenode.net irc.freenode.net).
10:38:01 -!- lament has quit (calvino.freenode.net irc.freenode.net).
10:38:03 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
10:38:04 -!- kosmikus has quit (calvino.freenode.net irc.freenode.net).
10:38:04 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
10:38:40 -!- mooz- has joined.
10:38:40 -!- Taaus has joined.
10:38:40 -!- deltab has joined.
10:38:40 -!- fizzie has joined.
10:43:18 -!- ChanServ has joined.
10:43:18 -!- mtve has joined.
10:43:18 -!- irc.freenode.net has set channel mode: +o ChanServ.
10:45:01 -!- kosmikus has joined.
10:45:01 -!- lament has joined.
10:45:01 -!- grumpy_old_one has joined.
10:45:01 -!- edwinb has joined.
10:45:01 -!- cmeme has joined.
10:48:14 -!- grumpy_old_one has quit (calvino.freenode.net irc.freenode.net).
10:48:14 -!- lament has quit (calvino.freenode.net irc.freenode.net).
10:48:15 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
10:48:17 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
10:48:17 -!- kosmikus has quit (calvino.freenode.net irc.freenode.net).
10:50:27 -!- grumpy_old_one has joined.
10:50:27 -!- lament has joined.
10:50:31 -!- edwinb has joined.
10:51:17 -!- kosmikus has joined.
10:51:17 -!- cmeme has joined.
18:10:00 -!- calamari_ has joined.
18:10:09 <calamari_> hi
19:17:28 <fizzie> hi.
19:37:04 -!- kosmikus has changed nick to kosmikus|away.
21:13:42 -!- calamari- has joined.
21:15:20 -!- calamari- has quit (Client Quit).
21:27:33 -!- calamari_ has quit (Read error: 104 (Connection reset by peer)).
2004-06-09
01:41:30 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
01:41:30 -!- kosmikus|away has quit (calvino.freenode.net irc.freenode.net).
02:56:38 -!- kosmikus|away has joined.
02:56:38 -!- cmeme has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:21:54 -!- kosmikus|away has changed nick to kosmikus.
17:02:56 -!- calamari_ has joined.
17:03:01 <calamari_> hello
17:08:23 <fizzie> hello. how goes the brainf*ck-c?
18:10:55 <calamari_> haven't worked on it much.. been job hunting :(
18:11:12 <calamari_> had a chance to mess around this morning
18:11:51 <calamari_> I'm pondering whether I should really do c, or just a c-type language so that I don't have to worry about ansi
18:21:15 <calamari_> gotta clear the phone line..bbl
18:21:18 -!- calamari_ has quit ("Leaving").
19:44:33 -!- kosmikus has changed nick to kosmikus|away.
22:44:21 <lament> Why is brainfuck so damn cool.
22:45:09 <deltab> it's beautifully symmetrical
22:45:44 <deltab> like a regular crystal structure
22:45:46 <lament> Yes.
22:46:13 <deltab> none of this "subtract and jump if negative"
22:46:53 <lament> you could have a language with two instructions.
22:47:02 <lament> "subtract and jump if negative" and "add and jump if positive"
22:47:34 <deltab> I was trying to remember a one-instruction one
22:47:44 <deltab> not sure if I succeeded
22:47:50 <lament> You have.
22:48:07 <deltab> ah, I see what you meant
22:48:15 <lament> What brainfuck needs is a better macro system.
22:48:32 <lament> there're several, but everybody insists on writing their own.
22:48:38 <deltab> no, that's what programmers need
22:49:37 <lament> Ok.
22:49:56 <lament> Are you subscribed to friends-of-brainfuck?
22:50:23 <deltab> I think so
22:50:32 <deltab> I mainly get spam, though
22:50:57 <lament> do they ever discuss anything worthwile?
22:53:06 <deltab> ah, it's become more relevant recently
22:53:30 <lament> I'm especially interested in optimizing compilation.
22:54:25 <deltab> > (Personally I've made a
22:54:25 <deltab> > practice of not using negative numbers at all. They're never
22:54:25 <deltab> > necessary.)
22:54:25 <deltab> Oh, well, I'd wish you to write the next version of the accounting
22:54:25 <deltab> software my bank uses for my giro account :-)
22:55:38 <lament> I don't even know what the current state of the art is wrt optimizing bf compilers :(
22:58:59 <deltab> 215723Z #esp <sbp> http://www.ecs.soton.ac.uk/~sdh300/stuffage/bf.net/
22:58:59 <deltab> 215725Z #esp <supybot> Title: BrainFuck.Net (at www.ecs.soton.ac.uk)
22:58:59 <deltab> 215733Z #esp <sbp> best bit: [[[
22:58:59 <deltab> 215733Z #esp <sbp> # Does BrainFuck.Net use the controversial Microsoft Passport system for authentication?
22:58:59 <deltab> 215733Z #esp <sbp> No. The Brainfuck language has only 8 commands, and none of them are related to authentica
22:59:00 <deltab> ting remote network users.
22:59:02 <deltab> 215734Z #esp <sbp> ]]]
23:00:43 <deltab> 220014Z #esp <sbp> hello #esoteric
23:03:14 <lament> I know the guy who wrote that.
23:03:38 <lament> Not IRL but in another, totally unrelated online community.
23:04:20 <lament> what's #esp?
23:49:40 -!- Toreun has joined.
2004-06-10
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:58 -!- kosmikus|away has changed nick to kosmikus.
08:38:03 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
08:38:03 -!- kosmikus has quit (calvino.freenode.net irc.freenode.net).
08:40:23 -!- kosmikus has joined.
10:38:59 -!- trman has joined.
10:41:02 -!- trman has quit ("Leaving").
15:28:57 -!- cmeme has joined.
17:37:44 -!- calamari_ has joined.
17:37:47 <calamari_> hi
17:38:00 <lament> hi
20:15:19 <lament> know what's cool?
20:15:31 <fizzie> ice!
20:15:34 <lament> yes.
20:15:59 <lament> also, the non-turing-completeness of systems with finite memory makes it possible to prove whether a program halts in that system.
20:16:12 <Taaus> That's cool?
20:16:30 <lament> it's cool because at least Brainfuck does prescribe limited memory.
20:17:06 <lament> Taaus: I can play the C# minor fugue from WTC book I!
20:17:16 <Taaus> Okay, so have you made a program that tests/proves halting/non-halting for an arbitrary BF program?
20:17:28 <lament> no
20:17:33 <lament> a naive one would be trivial to implement
20:17:48 <Taaus> Ah, c# is a lot of fun. How many voices is it?
20:17:51 <lament> it would also require a fucking big computer
20:17:52 <lament> five
20:17:59 <Taaus> Ah, that's what I thought.
20:18:02 <lament> five voices and three subjects
20:18:14 <lament> s/subjects/themes
20:18:26 <Taaus> It's pretty unique in that respect. Like the two-voice e-minor fugue.
20:18:29 <fizzie> is that really on-topic? I didn't think c# was an especially esoteric language.
20:18:30 <lament> i can't say i understand it, but at least i can play it.
20:18:44 <lament> Taaus: the Bb-minor one is also five-part
20:18:49 <lament> i can play it as well
20:18:55 <lament> it only has one subject though.
20:19:23 <lament> (and there's another triple fugue in book II)
20:19:43 <Taaus> I know c# isn't the only 5-part fugue, but the vast majority in WTC I+II are 3- and 4-parters :)
20:19:56 <lament> WTC II is boring. It only has 3 and 4.
20:20:19 <lament> C# minor is probably the most complex one in the entire WTC, structurally.
20:21:26 <lament> for brainfuck
20:21:41 <lament> you could just execute the program
20:21:51 <lament> keeping track of all memory states that occured.
20:22:04 <lament> if a memory states repeats, you're done - the program won't halt.
20:22:08 <lament> *state
20:22:24 <lament> since there's only a finite number of memory states, you'll be done eventually.
20:22:26 <Taaus> Well... In theory, it's trivial... :P
20:22:42 <Taaus> Just 64000^256. Lovely.
20:22:52 <fizzie> plus the pointer position.
20:22:52 <lament> 64000? not really
20:23:02 <lament> didn't mueller specify 4000?
20:23:15 <lament> or something like that.
20:23:16 <fizzie> 64k is pretty popular though.
20:23:22 <Taaus> He did? My bad.
20:23:23 <lament> but yeah, it's still a big number.
20:23:40 <fizzie> bfvga is a funny toy. too bad it's awfully hard to do anything pretty with it.
20:24:07 <lament> still it would be interesting to try to prove haltingness of at least some programs that halt.
20:24:17 <lament> then you can compile them into a singe statement.
20:25:19 <lament> (naturally this doesn't apply to programs which use ,)
20:26:06 <lament> it's a reasonable, if not always valid, assumption for a compiler to make, that a program containing a ',' will not halt.
20:26:35 <Taaus> Alternatively, you could figure out how long (runtime-wise) the longest running halting program runs, then run all programs for that long.
20:26:52 <Taaus> Ah, yes... "," is bothersome.
20:27:08 <lament> the longest running halting program...
20:27:12 <lament> it would have to visit all states
20:27:41 <fizzie> fizzie needs to depart for an evening walk out there. is away.
20:28:25 <Taaus> Hehe, true... So actually, you can just run the program for memory * cell_size^memory, and see if it's halted.
20:28:33 <lament> yes.
20:28:55 <lament> how long would that take? :)
20:29:01 <fizzie> then you don't need a computer with heaps of memory, just lots of patienec.
20:29:10 <lament> yeah. It's a better approach.
20:29:14 <Taaus> lament: Constant time! :D
20:30:27 <calamari_> does this "halt"? +[++]
20:30:29 <lament> it's just 1e768 different states for 4000-byte memory
20:30:57 <lament> calamari_: depends on the semantics of our machine. Those would of course have to be agreed upon.
20:31:03 <fizzie> is brainf*ck's cell-size defined?
20:31:43 <lament> It's usually taken to be either 8 bit, or infinite. Of course, 'infinite' won't work here.
20:31:43 <calamari_> I could make a version that alternates between say, 1 and 2 that still wouldn't exit
20:32:04 <lament> calamari_: yes, but then it would be immediately seen that it repeats the memory state
20:32:12 <calamari_> oic
20:32:55 <lament> even the naive halting proofer will prove that in reasonable time
20:33:00 <lament> (i.e. almost instantly)
20:36:02 <calamari_> fizzie: where is the bfvga that you spoke of earlier?
20:40:00 <lament> i have once written a graphics extension for befunge.
20:40:08 <lament> but never wrote a single program for it :(
20:43:57 <lament> What techniques could be used to prove the haltingness of at least some programs that halt?
20:44:00 <calamari_> I was able to use ansi to extend bf a little, but that still managed to be standard bf
20:44:05 <lament> Clearly a program without loops will halt.
20:44:40 <calamari_> halt = exit?
20:44:44 <lament> Yes.
20:44:45 <Taaus> Yes.
20:45:05 <lament> And a program that only has balanced loops will probably halt as well.
20:46:07 <lament> er.
20:46:14 <calamari_> balanced loops?
20:46:15 <lament> no.
20:46:19 <lament> not just balanced.
20:46:33 <lament> i'm talking about loops that move numbers from one cell to another.
20:47:06 <lament> the loop has to decrement the starting cell and always end on the same cell it started on.
20:47:12 <lament> e.g. [->+>+<<]
20:47:32 <lament> [->+<+] clearly won't terminate.
20:47:40 <lament> which sucks.
20:48:44 <calamari_> lament: *[ ... *-] or *[- ... *]
20:48:52 <calamari_> (* = same memory cell)
20:49:06 <calamari_> not counting nested loops at the ... of course
20:49:09 <lament> calamari_: [->+<+] is a [- ...]
20:49:26 <lament> so is [->+]
20:49:33 <calamari_> lament: yes, specific case of it
20:49:44 <lament> calamari_: those loops don't halt.
20:50:14 <calamari_> lament: wait a sec, I thought you repeated yourself
20:50:32 <calamari_> lament: those don't fit the description of * = same memory cell
20:50:46 <lament> calamari_: [->+<+] does.
20:51:18 <Taaus> Uh, wrapping notwithstanding, can a [...+] loop terminate? Surely the cell is always non-zero due to the "+".
20:51:24 <calamari_> hmm.. good point.. however -+ really isn't -
20:51:40 <lament> Taaus: correct.
20:51:53 <deltab> are negative numbers allowed?
20:52:26 <Taaus> Well... That depends on what semantics we choose :)
20:52:30 <calamari_> so [->+<+] is [>+<] and that doesn't fitthe pattern
20:52:31 <lament> deltab: not usually.
20:52:57 <lament> My favourite semantics is
20:53:05 <lament> 8-bit unsigned cells
20:53:12 <lament> infinite memory space
20:53:20 <lament> going left of the origin crashes
20:53:32 <lament> overflow and underflow crashes
20:54:01 <calamari_> lament: if you have infinit memory space what do you do about something like +[>+] ?
20:54:40 <lament> calamari_: what do you mean "what do you do"?
20:54:51 <lament> calamari_: as taaus said, it's a loop that ends with a +.
20:55:02 <lament> it doesn't halt.
20:55:40 <calamari_> lament: what about [-]-
20:55:54 <calamari_> never mind
20:56:33 <lament> You don't have to subscribe to my favourite semantics, though.
20:56:43 <lament> Most people prefer to have wraparound instead of overflow/underflow
20:56:48 <lament> or so it seems.
20:56:49 <calamari_> actually, ending with a plus doesn't matter, it's the combined effect of the cell, right? .. for example +[>++-]
20:56:55 <Taaus> Unfortunately, [->++-] matches [...-]
20:57:01 <Taaus> Oh, heh. :)
20:57:03 <Taaus> GMTA.
20:57:19 <lament> that's because matching [...-] is silly.
20:57:35 <calamari_> lament: right, I just wanted to emphasize that :)
20:57:43 <lament> Any sequence of <>+- can be converted to a "normal form"
20:57:55 <lament> which is trivial to do and should be done prior to examining the program.
20:59:42 <lament> (existing optimizing compilers do it)
20:59:49 <lament> (hopefully)
20:59:55 * lament checks
21:01:20 <lament> no, they don't :(
21:01:38 <lament> well, they do to an extent
21:01:43 <calamari_> +[[>]<]
21:02:01 <Taaus> Ah, nested loops. We haven't even begun to worry about those yet!
21:02:10 <lament> nor about unbalanced loops
21:03:16 <lament> ok
21:03:34 <lament> the compiler bfc by Panu does it.-
21:03:40 <lament> sort of.
21:03:53 <Taaus> At which point do we realise the futility of this endeavour?
21:04:22 <calamari_> taaus: when we read that it's impossible to solve the halting problem?
21:04:48 <lament> bfc optimizes this [+>-<-] to this:
21:05:01 <lament> for(;a[p];p+=0){a[p+0]+=0;a[p+1]+=-1;}
21:05:10 <Taaus> Well... It depends on the semantics... We proved earlier that Urban's original BF is halting-decidable.
21:05:31 <calamari_> taaus: that was with a finite memory space
21:05:37 <Taaus> Yes.
21:05:46 <lament> calamari_: obviously you can't do it with infinite memory space.
21:05:49 <Taaus> Like I said, semantics :)
21:06:04 <calamari_> lament: "<lament> infinite memory space"
21:06:15 <lament> calamari_: that's just my favourite semantics.
21:06:33 <Taaus> What we're looking at now is better heuristics to check for halting-ness. Even though complete decidability is impossible :)
21:06:43 <calamari_> with finite space +[>+] this eventually exits
21:06:56 <calamari_> (assuming cell wraparound)
21:07:20 <lament> yes, and the halting prover would happily prove it.
21:07:32 <calamari_> how about better ways to optimize bf code -> bf code
21:07:54 <lament> that's a lot harder than optimizing compilation to c
21:08:48 <lament> but the aforementioned "converting -+<> sequences to their normal form" would be the first step.
21:08:59 <calamari_> right, but thats simple stuff
21:09:32 <lament> i've never heard of optimizing a language in that same language.
21:09:35 <lament> Has it ever been doen?
21:09:39 <lament> *done
21:09:53 <lament> automatic refactoring or something?..
21:14:44 <calamari_> perhaps going to a higher level language and back again to bf?
21:15:06 <lament> Converting -+<> sequences to normal form (preferrably to shortest form) isn't trivial either
21:15:10 <lament> or so it seems
21:15:18 <lament> try doing it in BF: P
21:15:34 <calamari_> but, that doesn't seem very promising either, because higher level languages have other baggage problems
21:16:28 <calamari_> lament: aren't you talking about figuring out that +--++ is the same as + ?
21:16:48 <lament> that's part of it.
21:19:46 <calamari_> using the higher level form above, I get [+>-<-] => [>-<].. however if there were nested loops, that might not work right
21:20:48 <lament> nested loops clearly aren't parts of -+<> sequences.
21:20:52 <lament> Lunch.
22:20:59 <lament> hrm.
22:21:12 <lament> finding the 'normal form' isn't all that trivial.
22:21:21 <lament> it's annoyingly annoying
22:24:44 <lament> took me 53 lines of Python code!
22:24:50 <lament> >>> normal('+>+<-')
22:24:51 <lament> '>+<'
22:24:53 <lament> woohoo
22:26:13 <calamari_> what does it give for >>+>>++<-<-<-<-
22:26:42 <lament> '>>>>++<-<<-<-'
22:27:26 <lament> let's try >>+>>++<-<-<-<->>>>
22:27:36 <lament> '->->>->++' :)
22:28:10 <lament> it returns the provably shortest path, although i'm certainly not going to prove that.
22:28:11 <calamari_> cool
22:33:41 <fizzie> bfvga is a proggie which maps the vga 320x200x256 mode display memory as a 64k brainf*ck array. I think it was in scene.org somewhere.
22:34:47 <fizzie> http://www.pouet.net/prod.php?which=5060 I think.
22:48:31 <lament> i don't like the comments in that thread.
22:49:04 <fizzie> well, they are sceners.
22:49:09 <fizzie> not esoteric-language-people.
22:51:55 <lament> that makes them wrong!
22:51:59 <lament> my program doesn't quite work :(
22:52:41 <lament> but, i applied it to the BF mandelbrot generator and it didn't change anything at all.
23:01:34 <fizzie> re bfvga, I tried the analogous befvga, the befunge version of that, with a 320x200 playfield and the playfield positions mapped to the screen.
23:01:46 <fizzie> it wasn't any more fun than bfvga though.
23:06:00 <lament> oh actually
23:06:23 <lament> my program does make the mandelbrot generator 30 characters shorter :)
23:06:38 <lament> 11421 vs. 11451
23:08:08 <lament> it also does a lot of funky rearrangement of questionable quality
23:08:14 <lament> for example, it converts this:
23:08:20 <lament> [->++>>>+++++>++>+<<<<<<]
23:08:22 <lament> into this:
23:08:28 <lament> [>>>>>>+<++<+++++<<<++<-]
23:08:48 <fizzie> maybe you should make it not apply the modifications if they are not shorter.
23:09:42 <lament> also this:
23:09:49 <lament> [->+<]
23:09:50 <lament> into this:
23:09:53 <lament> [>+<-]
23:10:17 <lament> maybe.
23:10:58 <lament> but then the original idea was to convert everything to a "normal form" that would make it easier to process by other tools.
23:11:40 <lament> but that task is probably not compatible with that of always writing the _shortest_ version.
23:20:29 -!- calamari_ has quit (Read error: 104 (Connection reset by peer)).
2004-06-11
00:22:23 <lament> oh god.
00:22:58 <lament> my Normalizer decreases the size of wib from 6287 to 6097 instructions.
00:23:27 <lament> that's 3%!
00:23:39 <lament> i wonder if it still works afterwards... :)
00:27:16 <lament> Clearly people don't bother about optimizing their Brainfuck code at all!
00:28:28 <lament> oh, and there has to be a way to normalize things containing ., and not just +-<>
00:28:53 <lament> or maybe not...
00:29:53 <lament> >>>>>.<<<<<+>+>+>+>+> clearly should be +>+>+>+>+>.
00:30:13 <lament> but my normalizer would not touch it.
00:30:54 -!- andreou has joined.
00:33:50 <fizzie> well, isn't it enough to gather all the +s and -s affecting the cell you're .ing or ,ing from/to and make sure those happen in order. not sure how your "normal form" is specified though.
00:34:13 <fizzie> uh-oh, it's already past 02:30 here, I think I'll sleep some.
01:38:03 <andreou> one hour later, same situation
01:38:04 -!- andreou has quit ("If it doesn't have 36 bits, you're not playing with a full DEC.").
02:42:51 -!- andreou has joined.
03:54:53 -!- calamari_ has joined.
03:54:56 <calamari_> hi
04:14:56 <Toreun> g'evening
04:16:54 <lament> hi
04:16:56 <calamari_> I was thinking about the c compiler.. a valid way to do it is c -> asm, then asm -> binary (bf). That would actually be pretty neat, because then the c compiler doesn't have to worry about many details
04:17:25 <Toreun> yeah
04:17:29 <lament> perhaps even asm->basic? :)
04:17:32 <lament> basic->brainfuck
04:17:39 <Toreun> that's disgustingly complex
04:17:40 <Toreun> I like it
04:18:01 <calamari_> lol
04:19:02 <calamari_> bfbasic could be rewritten to support the asm, removing a lot of the limitations
04:19:39 <lament> that will certainly be quite neat.
04:21:54 <calamari_> I was thinking about 32-bit cells.. it would take a lot of work and bloat the code if 32-bit cells had to be emulated with four 8-bit cells.
04:23:15 <calamari_> so the bf interpreter/compiler will probably need to be 32-bit
04:24:46 <lament> that's fine.
04:26:36 <calamari_> afaict signed and unsigned math is pretty much the same (except when reporting overflow situations), but comparisons don't work the same way
04:30:05 <calamari_> any suggestions on how to do a signed compare of > or <?
04:34:48 -!- andreou has quit ("If it doesn't have 36 bits, you're not playing with a full DEC.").
05:01:51 * lament is reading the paper on the Analytical Engine
05:01:55 <lament> absolutely amazing stuff.
05:03:29 <calamari_> aha, I think I have found a way. if after a decrement a number equals 127 then an answer reversal byte is toggled. it has to be toggled because if both numbers were negative then the compare works like if it were positive
05:04:18 <calamari_> (i.e. -2>-3 is the same as 6>5 in a 3-bit mode)
06:18:36 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:35:02 -!- andreou has joined.
09:40:50 -!- captor has joined.
10:00:42 -!- andreou has quit (Read error: 113 (No route to host)).
10:09:15 -!- captor has quit (Read error: 60 (Operation timed out)).
14:18:01 -!- grumpy_old_one has quit (calvino.freenode.net irc.freenode.net).
14:18:01 -!- lament has quit (calvino.freenode.net irc.freenode.net).
14:18:03 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
14:18:06 -!- kosmikus has quit (calvino.freenode.net irc.freenode.net).
14:18:06 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
14:18:07 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
14:18:08 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
14:18:08 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
14:18:09 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
14:18:09 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
14:18:09 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
14:18:47 -!- grumpy_old_one has joined.
14:18:47 -!- lament has joined.
14:18:55 -!- edwinb has joined.
14:19:14 -!- ChanServ has joined.
14:19:14 -!- kosmikus has joined.
14:19:14 -!- mtve has joined.
14:19:14 -!- irc.freenode.net has set channel mode: +o ChanServ.
14:19:44 -!- cmeme has joined.
14:19:44 -!- mooz- has joined.
14:19:44 -!- Taaus has joined.
14:19:44 -!- deltab has joined.
14:19:44 -!- fizzie has joined.
16:50:06 -!- calamari_ has joined.
16:50:17 <calamari_> hi
17:48:05 <lament> hi
18:02:10 <lament> optimizing BF .,<>+- sequences is tough.
18:02:20 <lament> i'm trying to figure out a nice way to do it.
18:03:04 <lament> for example, >+<.>,<- should be optimized to .->,
18:04:27 <lament> ideally, the optimizer should be written in brainfuck.
18:07:49 <calamari_> why?
18:08:08 <calamari_> just convert it to bf when you're done :)
18:08:23 <lament> what, you've already written your c->BF compiler? :)
18:08:45 <calamari_> nope.. working on the assembler. it's going slow, though, because I'
18:08:57 <calamari_> m only using if's, labels, and gotos
18:09:11 <calamari_> (for easy translation of the assembler to bfasm :)
18:09:14 <lament> how would you do IO?
18:09:22 <lament> assembly programs call the kernel for that.
18:09:26 <lament> You'll be emulating the kernel?
18:09:49 <calamari_> ?? there are two asm instructions in_ and out, for that
18:10:23 <lament> er
18:10:31 <lament> these instructions are actually produced by GCC?
18:10:36 <calamari_> no
18:10:36 <lament> when compiling a printf?
18:10:39 <lament> there :)
18:10:46 <calamari_> I'm not using gcc
18:10:49 -!- kosmikus has changed nick to kosmikus|away.
18:10:51 <lament> what are you using?
18:11:04 <lament> the asm compiler would be not very interesting if you wouldn't be able to use it to compile C to BF
18:11:45 <calamari_> gcc isn't the only way to compile c to asm.. I was writing my own c compiler
18:12:00 <lament> oh.
18:12:11 <calamari_> I realized that if I wrote an assembler, the c compiler would be a lot easier to do
18:13:35 <calamari_> besides, gcc doesn't really put much code at all for a printf.. it pushes the operands and calls printf
18:13:58 <calamari_> printf can do whatever you want.. that's handled during linking
18:15:58 <calamari_> but, I gave up trying to figure out the gcc backend. I'm sure there is documentation somewhere on how to do it, but I couldn't find any that I understood
18:48:17 <fizzie> meh, was writing my own '.,<>+-'-sequence-optimizer but managed to forget that ">,<." cannot be optimized to ".," really.
18:49:44 <fizzie> uh, I obviously mean ".>,"
18:50:41 <lament> fizzie: no! let me write it!! :)
18:52:07 <lament> although i'm not entirely sure how to do it.
18:53:25 <lament> Of course it has to be able to optimize ++++++, to ,
18:54:29 <fizzie> other than the IO-in-order problem I think a relatively clean way is to gather the strings of operations applied to every cell to an array, then optimize those and recreate a suitable >[ops]>[ops]-like thing. but that would happily transform >,<. to .>,
18:55:07 <fizzie> "optimize those" would mean at least "remove all +-s before a ," and "combine all series of +-s"
18:56:17 <lament> what are you writing it in?
18:57:30 <fizzie> well, I wrote few lines (80) in C but I'm not sure whether I want to think about the IO ordering. maybe I'll indeed let you write it.
18:58:51 <lament> :)
18:59:22 <lament> my 72-line python program optimizes +-<> sequences.
18:59:37 <lament> i'll probably have to rewrite it from scratch though :|
19:00:44 <lament> but really, it should be written in Brainfuck.
19:00:50 <lament> The trick is to find a good algorithm.
19:05:08 <calamari_> yay, bfasm parses the instructions and operands.. now to do the hard work of generating bf code
19:10:17 <lament> Ooh, i think i came up with an algorithm.
19:10:51 <lament> implementing should be trivial now.
19:11:35 <lament> it's almost easier than my original implementation.
19:44:21 * lament is stumped
19:44:24 <lament> <+>>+<
19:45:10 <lament> correction
19:45:14 <lament> <+>>>+<<
19:45:29 <lament> >>+<<<+>
19:45:30 <lament> ...
19:45:32 <lament> wicked.
20:16:52 <lament> woohoo!
20:16:54 <lament> i think i wrote it
20:17:05 <Taaus> Show us the source!
20:17:07 <lament> er
20:17:11 <lament> no, i haven't :)
20:19:07 <lament> ok, i think i have now.
20:19:24 <lament> Can you give me some +-,.<> sequences to optimize? :)
20:20:02 <lament> gah more bugs
20:20:55 <lament> :(
20:21:17 <Taaus> How does it optimise ">>>>,<<"?
20:21:39 <lament> you can't optimize that.
20:21:52 <calamari_> ,+[-.,+]
20:23:25 <calamari_> hmm cool, if eof=0 then it's ,[.,]
20:24:01 <calamari_> never thought of that before.. dunno why :)
20:24:05 <lament> ok, now it's definitely done
20:25:24 <lament> give me sequences! :)
20:25:41 <lament> fuck.
20:25:54 <calamari_> >++.>+.+++++++..+++.>++.<<++++++++++++
20:25:55 <calamari_> +++.>.+++.------.--------.>+.>.
20:26:00 <calamari_> oops
20:26:19 <calamari_> >++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
20:26:33 <calamari_> it shouldn't be able to do anything with that
20:31:35 <lament> give me better sequences
20:31:40 <calamari_> lol
20:31:47 <calamari_> did it stay the same?
20:32:55 <calamari_> ,,,,,
20:33:05 <lament> ...
20:33:11 <lament> well actually
20:33:37 <lament> yeah. blah.
20:33:43 <lament> None of them got any shorter.
20:33:50 <calamari_> good
20:34:06 <lament> FUCK
20:34:13 <lament> I just accidentally deleted the source.
20:34:19 <lament> :)))))))))))))))))))))))))))))
20:35:12 <calamari_> really?
20:35:26 <calamari_> hope you're using fat/fat32 .. undelete :)
20:36:00 <lament> ext2
20:36:40 <lament> phew
20:36:45 <lament> i had vim open in another window
20:36:54 <lament> with that file
20:37:27 <lament> it's safe.
20:42:23 <calamari_> +++.---
20:43:02 <calamari_> +-+.-+-
20:43:19 <lament> more bugs though :|
20:45:01 -!- calamari- has joined.
20:54:13 <lament> this needs a rewrite anyway.
21:03:04 <lament> ok
21:03:07 <lament> i think _now_ i did it.
21:03:49 <lament> it's much simpler now too.
21:04:45 <lament> also broken.
21:04:47 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
21:05:25 <lament> crap.
21:05:46 <lament> crap, crap.
21:08:15 <lament> crap.
21:15:37 <lament> ok
21:15:43 <lament> it better work now!!!
21:16:08 <fizzie> there's a nice ook-like bf "variant": crap! "crap. crap. crap? crap! crap! crap?"
21:17:22 <lament> yeah.
21:17:38 <lament> but i'm _sure_ i got it working now.
21:17:39 <lament> :)
21:18:54 <lament> ... and i'm still wrong :(
21:19:53 <lament> I hate programming.
21:20:09 <calamari-> lament: do you have bfbasic? I'd be curious to know what your program does with some of the compiled examples
21:20:18 <calamari-> or I can dcc
21:20:36 <calamari-> actually, nm.. it can't do [] yet
21:22:52 <calamari-> bbl.. work
21:22:53 -!- calamari- has quit ("Leaving").
21:58:05 <lament> :[
22:07:47 <lament> graah
22:07:53 <lament> i thought i have a bug
22:07:58 <lament> but actually i don't
22:08:12 <lament> oh the humiliation.
22:08:16 <fizzie> no bug for you, lament!
22:08:26 <lament> well, now i'm _damn sure_ i'm done :)
22:08:37 <fizzie> just like the last N times?
22:08:49 <lament> no.
22:08:52 <lament> those times, the bugs were real.
22:09:03 <lament> give me a sequence! :)
22:10:17 <fizzie> well uh I haven't written much befunge, and this hw2.bf (t-106.231 course homework) doesn't seem to have any long sequences to optimize.
22:10:37 <lament> it's a brainfuck, not befunge, optimizer
22:10:56 <fizzie> hw2.bf is brainf*ck.
22:11:00 <fizzie> I use .bef for befunge.
22:11:09 <lament> 14:10 <fizzie> well uh I haven't written much befunge,
22:11:21 <fizzie> well, that just means my brain is misfired.
22:11:24 <lament> what does hw2.bf do?
22:11:31 <fizzie> miswired. gah.
22:11:52 <fizzie> converts ascii-binary to ascii-decimal, I think. something like that anyway.
22:12:13 <fizzie> actually it converts ascii-binary to "real binary" (single brainf*ck cell) and then prints that as decimal.
22:12:18 <fizzie> a short four-line ditty.
22:12:42 <lament> paste it!
22:13:16 <fizzie> it's not very nice brainf*ck, I think.
22:13:21 <fizzie> +[>,----------[>++++++[<------>-]<-->>[->++<]>[-<+>]<<<[>>+<<[-]]<+>]<-]>>>
22:13:22 <fizzie> >>>++++++++++>+<<<<[>>>>>+[->>+>+<[<<+>>-]<<[>+>+<<-]++++++++++>[<->-]<[[-]>>+++
22:13:26 <fizzie> +++++++>>-<<<<]>>---------->>+]+[-<<[<<+>>-]<<[>+>+<<-]>----------[<+>[+]]<]<-]>
22:13:29 <fizzie> >>>->>>>[>>>>]<<<<[<<++++++[>++++++++<-]>.<<<]++++++++++.
22:13:30 <fizzie> plus that might be the buggy version too.
22:13:43 <fizzie> the printer didn't like '0's.
22:14:09 <fizzie> I have a non-buggy version too, but I'm not quite sure where.
22:15:14 <fizzie> first line is the 'read ascii binary' line, last three are an ugly "print as decimal" routine.
22:15:55 <fizzie> uses lots of cells too, something like 3*decimal-digits or 4*decimal-digits of the number.
22:16:54 <lament> ok, you're right.
22:17:08 <lament> the optimizer does nothing of interest.
22:17:28 <lament> apart from rearranging the code to its liking.
22:17:55 <fizzie> well yeah, I see no reason to write unoptimized ><+-,. sequences when writing code manually. :p
22:19:48 <lament> you could do it accidentally.
22:20:08 <fizzie> I see no reason to make mistakes.
22:21:18 <lament> heh.
22:21:29 <lament> heh.
22:21:41 <lament> Compared to my +-<> optimizer, this thing is almost useless.
22:22:15 <lament> wib.b (the brainfuck->c compiler) is 6288 instructions.
22:22:35 <lament> optimized +-<> it's 6098 instructions.
22:22:46 <lament> optimized +-<>,. it's 6092.
22:23:42 <lament> would be interesting to try it on calamari's generated code, though.
22:32:21 <lament> heh.
22:32:25 <lament> it's surprisingly efficient.
22:32:30 <lament> (calamari's bfbasic)
22:33:56 <fizzie> next optimize .,<>+-[] strings.
22:34:26 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
22:34:27 <fizzie> to provably shortest possible equivalent code.
22:34:39 <lament> :)))
22:34:40 <lament> Right.
22:34:52 <lament> Now, there's just the simple matter of that being impossible.
22:35:00 <fizzie> excuses.
22:35:07 <fizzie> just write some python code to do it.
22:35:17 <fizzie> I hear python makes the impossible possible.
22:36:46 <lament> true.
22:40:56 <lament> hm
22:41:05 <lament> optimizing -+,.<>[] is of course impossible.
22:41:11 <lament> but what about -+,.<>[ ? :)
22:46:18 <lament> hahaha
22:47:14 <lament> the optimized version of 99 bottles produces _longer_ binary when compiled with bfc
22:48:16 <lament> (although the C code is of equal size for both)
23:07:11 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
23:07:11 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
23:07:11 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
23:07:11 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
23:07:13 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
23:07:14 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
23:07:15 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
23:07:15 -!- kosmikus|away has quit (calvino.freenode.net irc.freenode.net).
23:07:40 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
23:07:45 -!- ChanServ has joined.
23:07:45 -!- edwinb has joined.
23:07:45 -!- kosmikus|away has joined.
23:07:45 -!- mtve has joined.
23:07:45 -!- cmeme has joined.
23:07:45 -!- mooz- has joined.
23:07:45 -!- Taaus has joined.
23:07:45 -!- deltab has joined.
23:07:45 -!- fizzie has joined.
23:07:45 -!- irc.freenode.net has set channel mode: +o ChanServ.
23:35:56 -!- Toreun has joined.
2004-06-12
01:02:50 -!- grumpy_old_one has quit ("ERC Version 4.0 $Revision: 1.600 $ (IRC client for Emacs)").
03:03:15 -!- sanxiyn has joined.
03:04:09 <sanxiyn> Hello, my friend implemented rule 30 random number generator in Befunge.
03:04:10 <sanxiyn> http://dev.tokigun.net/funge/rule30.bf
03:47:28 -!- sanxiyn has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:14:33 -!- Keymaker has joined.
09:14:40 <Keymaker> hi
09:15:18 <Keymaker> long time no see(?)
09:17:58 <fizzie> morn.
09:18:58 <Keymaker> morning
09:23:14 <fizzie> egh, still sleepy.
09:28:39 <Keymaker> i see
09:28:59 <Keymaker> darn, there's breakfast >:(
09:41:10 <fizzie> ho-hum. I was trying to download windows drivers for this bluetooth adapter and now it requires me to confirm that "Neither I or the intended user of this product is involved, directly or indirectly, in any of the following, nor will this product be used directly or indirectly in any of these applications:
09:41:15 <fizzie> (1) Research, design, development, construction, fabrication, testing or operation of nuclear facilities or nuclear weapons.
09:41:18 <fizzie> (2) Research, design, development, production or use of rocket systems, space launch vehicles, sounding rockets, missles, drones, or unmanned air vehicle systems.
09:41:21 <fizzie> (3) Research, design, development, production, use or stockpiling of chemical or biological weapons or precursor chemicals or agents."
09:41:32 <fizzie> "yes, I will construct nuclear weapons with your bluetooth adapter MWAH MWAH MWAH HAA!"
09:44:11 <Keymaker> LOL :D
09:44:30 <Keymaker> is that true?
09:44:48 <fizzie> that I will construct nuclear weapons with it? not really.
09:44:56 <Keymaker> i meant that text
09:45:05 <Keymaker> you really had to confirm that? :)
09:46:30 <fizzie> copy-pasted straight from the device download page. go see for yourself, select 'support / download drivers' or somesuch from the web page, then write "3CREB96B" to the quick search box there and try to download bub1_2_10en.exe, the first thing it will ask is that confirmation.
09:50:22 <Keymaker> lol, very strange :)
09:56:38 <fizzie> quite a lot of stuff here at hut would fall under those categories. we probably do rocket system research, and there's that small research nuclear reactor here.
09:56:38 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
10:26:06 <fizzie> meh, perl 'map' and single-line-foreach both use '$_' so I can't combine them well.
10:26:17 <fizzie> I wanted a more unreadable version of this.
10:28:58 <fizzie> ($n = $_, print "entry: " . join(", ", map { "$_ -> " . $n->{$_} } keys %{$n}) . "\n") foreach @entries;
10:29:02 <fizzie> pretty perl.
10:35:29 -!- grumpy_old_one has joined.
12:19:01 -!- Keymaker has joined.
12:22:00 <Keymaker> hmmm, time to read some logs..
12:23:16 <fizzie> not much has happened though.
12:25:02 <Keymaker> hmm i see
12:26:29 <Keymaker> why on this log http://meme.b9.com/clog/esoteric/04.06.11
12:26:47 <Keymaker> around ~14 everyone leaves and joins?
12:27:40 <fizzie> freenode had a split?
12:27:56 <Keymaker> hmm no idea
12:28:16 <fizzie> [2004-06-11 16:13:27] -!- Netsplit orwell.freenode.net <-> irc.freenode.net quits: clog, Toreun, lament, @ChanServ, kosmikus, mtve, grumpy_old_one, edwinb
12:28:19 <fizzie> [2004-06-11 16:13:49] -!- Netsplit over, joins: edwinb
12:28:22 <fizzie> [2004-06-11 16:14:01] -!- Netsplit over, joins: @ChanServ, kosmikus, mtve
12:28:24 <fizzie> [2004-06-11 16:14:25] -!- Netsplit over, joins: grumpy_old_one, lament, Toreun, clog
12:28:55 <Keymaker> ok
12:33:50 <Keymaker> been doing anything useful today fizzie?
12:36:26 <fizzie> eh-ehehe.
12:36:32 <fizzie> "sure, lots."
12:37:36 <Keymaker> :)
12:37:52 <Keymaker> i should soon try doing something..
12:38:01 <Keymaker> "or die trying"
13:14:20 <Keymaker> i'll visit some local market, bye for a while
13:14:30 -!- Keymaker has changed nick to Keymaker|store.
13:18:18 -!- Keymaker|store has changed nick to Keymaker.
13:18:20 <Keymaker> oh now
13:18:37 <Keymaker> it's pouring rain! i'll have to wait..
13:38:06 <Keymaker> hmm, i'll check one other channel..
13:38:08 -!- Keymaker has quit.
13:41:24 -!- Keymaker has joined.
14:04:47 <Keymaker> now there's my change, to store!bye
14:42:43 <Keymaker> hmmm back
15:44:02 <Keymaker> i need to go :(
15:44:03 -!- Keymaker has quit.
16:27:57 <fizzie> rainy.
19:41:21 <lament> hi
19:42:11 <fizzie> hi. optimized any brainf*ck lately?
19:42:17 <lament> no.
19:42:41 <lament> there's gotta be some content-inference scheme for brainfuck.
19:43:01 <lament> i.e. being able to prove that at a certain point during execution, the value in this cell will be X.
19:43:09 <lament> or, perhaps, not X.
19:43:33 <lament> Also being able to prove that a loop like [...>] will stop after reaching at most cell Y.
19:43:54 <lament> doing that will certainly allow nice optimizations.
19:44:06 <lament> (not brainfuck->brainfuck optimizations, but brainfuck->C)
20:00:01 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
20:03:17 -!- Toreun has joined.
21:38:18 -!- grumpy_old_one has left (?).
22:10:45 -!- Toreu1 has joined.
22:10:45 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
22:10:51 -!- Toreu1 has changed nick to Toreun.
2004-06-13
06:31:56 -!- heatsink has joined.
06:45:52 -!- heatsink has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:53:47 -!- lament has quit (Read error: 60 (Operation timed out)).
11:01:46 -!- lament has joined.
12:19:33 -!- lament has quit (Read error: 110 (Connection timed out)).
12:19:54 -!- lament has joined.
13:47:26 -!- grumpy_old_one has joined.
19:10:35 -!- grumpy_old_one has quit ("ERC Version 4.0 $Revision: 1.600 $ (IRC client for Emacs)").
2004-06-14
04:02:51 -!- nop0x90 has joined.
04:03:21 -!- nop0x90 has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
17:55:29 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
17:55:31 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
17:55:31 -!- kosmikus|away has quit (calvino.freenode.net irc.freenode.net).
17:59:17 -!- ChanServ has joined.
17:59:17 -!- kosmikus|away has joined.
17:59:17 -!- mtve has joined.
17:59:17 -!- irc.freenode.net has set channel mode: +o ChanServ.
20:59:40 -!- calamari_ has joined.
21:35:53 -!- calamari_ has quit ("Leaving").
22:06:01 -!- ChanServ has quit (calvino.freenode.net irc.freenode.net).
22:06:02 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
22:06:02 -!- kosmikus|away has quit (calvino.freenode.net irc.freenode.net).
22:06:06 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
22:06:06 -!- deltab has quit (calvino.freenode.net irc.freenode.net).
22:06:06 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
22:06:06 -!- cmeme has quit (calvino.freenode.net irc.freenode.net).
22:06:06 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
22:06:07 -!- edwinb has quit (calvino.freenode.net irc.freenode.net).
22:07:41 -!- ChanServ has joined.
22:07:41 -!- mtve has joined.
22:07:41 -!- kosmikus|away has joined.
22:07:41 -!- edwinb has joined.
22:07:41 -!- cmeme has joined.
22:07:41 -!- mooz- has joined.
22:07:41 -!- Taaus has joined.
22:07:41 -!- deltab has joined.
22:07:41 -!- fizzie has joined.
22:07:41 -!- irc.freenode.net has set channel mode: +o ChanServ.
2004-06-15
07:16:53 <lament> graaar.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:01 -!- kosmikus|away has changed nick to kosmikus.
08:44:23 -!- edwin2 has joined.
08:45:16 -!- edwinb has quit (Read error: 60 (Operation timed out)).
09:11:21 -!- edwin2 has quit (Read error: 60 (Operation timed out)).
09:45:21 -!- sanxiyn has joined.
09:45:32 <sanxiyn> http://puzzlet.org/puzzlet/Funge~Interpreter
09:46:21 <sanxiyn> (Table of Funge interpreters, from Korean Fungists wiki.)
09:57:51 -!- sanxiyn has quit ("Leaving").
10:01:11 -!- calamari_ has joined.
10:01:15 <calamari_> hi
10:05:56 <calamari_> for those wondering.. I have bfasm working with simple programs. Next I need to do arrays, then the stack, and finally put in text -> memory storage
10:06:15 <calamari_> tired.. bbl
10:06:20 -!- calamari_ has quit ("Leaving").
15:58:38 -!- Keymaker has joined.
15:58:43 <Keymaker> hello
15:58:47 <fizzie> hello.
15:58:56 <Keymaker> hi..
15:59:52 <fizzie> it's been an exciting day. our cs department just closed all services and they'll stay offline to ~midnight. (no electricity.)
16:06:28 <Keymaker> noo!
16:09:56 <fizzie> yes!
16:10:45 <Keymaker> :)
16:12:08 <fizzie> I should go home.
16:14:01 <Keymaker> i see
16:14:18 <Keymaker> better hurry, it'll be dark in seven hours
16:15:43 <fizzie> mmm.
16:24:58 <Keymaker> i'm feeling really hungry, i'll go now for a while and get some noodles.
17:20:09 <Keymaker> hmm
17:20:18 <fizzie> mm-hmm.
17:20:26 <Keymaker> :) home yet?
17:20:29 <fizzie> yes.
17:20:33 <Keymaker> ok
17:20:46 <fizzie> I am thinking about replacing the linux distro in colin (my main linux box here) with gentoo.
17:21:19 <Keymaker> what is 'distro in colin' and 'gentoo'?
17:21:29 <fizzie> colin is the name of the box.
17:21:34 <fizzie> and gentoo's www.gentoo.org.
17:22:17 <fizzie> but to have enough disk space to backup my previous /etc, /usr and /var directories I probably need to burn random stuff on dvds.
17:22:50 <Keymaker> ah i see
17:26:05 <Keymaker> hmm, log reading time again..
17:28:20 <Keymaker> well, haven't missed anything really important.,
17:29:03 <lament> oh god
17:29:11 <lament> that's a lot of funge interpreters.
17:29:43 <lament> why do koreans have a funge wiki?
17:29:53 <Keymaker> don't ask :)
17:30:17 <lament> I just did.
17:30:24 <Keymaker> i see
17:45:07 <Keymaker> hmmm, i think i'll leave
17:45:13 <Keymaker> simpsons-time :)
17:45:15 -!- Keymaker has quit.
17:59:02 -!- calamari_ has joined.
18:12:50 -!- calamari_ has quit ("Leaving").
18:36:16 -!- edwin2 has joined.
18:51:44 -!- kosmikus has changed nick to kosmikus|away.
21:09:07 -!- calamari_ has joined.
21:17:22 <calamari_> hi
21:46:16 <lament> unhi
21:59:26 <calamari_> ununhi
22:01:12 <calamari_> reunhi
22:01:13 <calamari_> bbl
22:01:17 -!- calamari_ has quit ("Leaving").
2004-06-16
01:34:23 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
02:20:55 -!- Toreu1 has joined.
02:21:09 -!- Toreu1 has changed nick to Toreun.
07:44:05 -!- kosmikus|away has changed nick to kosmikus.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
14:45:30 -!- edwin2 has quit (Read error: 110 (Connection timed out)).
14:45:58 -!- edwin2 has joined.
15:48:27 -!- deltab_ has joined.
15:52:29 -!- deltab has quit (Nick collision from services.).
15:52:36 -!- deltab_ has changed nick to deltab.
17:37:59 -!- kosmikus has changed nick to kosmikus|away.
18:05:05 -!- edwin2 has quit ("[x]chat").
20:15:22 <lament> "[MULTICS] was designed to support hundreds of users on a machine only slightly more powerful than an intel 386, although it had much more I/O capacity. This is not quite as crazy as it sounds, since peolpe knew how to write small, efficient programs in those days, a skill that has subsequently been lost"
21:19:12 -!- psi has joined.
22:02:27 -!- psi has left (?).
22:42:57 <lament> wow.
22:43:04 -!- lament has set topic: http://catseye.mine.nu:8080/ -- http://fasd.ethz.ch/qsf/ || http://www.randelshofer.ch/fhw/gri/holzi.html.
2004-06-17
05:50:02 -!- deltab has quit ("BitchX-1.0c19 -- just do it.").
05:58:47 -!- deltab has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:24:12 -!- kosmikus|away has changed nick to kosmikus.
17:39:19 -!- kosmikus has changed nick to kosmikus|away.
19:51:04 <lament> bah.
19:52:09 <lament> I'm looking at http://esoteric.sange.fi/essie2/
19:52:13 <lament> It's so completely amazing.
19:52:19 <lament> Great languages.
19:52:30 <lament> What happened to the golden age of esoteric programming?...
20:02:30 * lament cries
22:47:19 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
22:56:39 -!- cmeme has joined.
22:56:39 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
23:27:37 -!- Toreun has joined.
2004-06-18
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:56:28 -!- fizzie has quit ("[about to lose electricicicity soon]").
11:48:56 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
11:48:56 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
11:50:51 -!- mooz- has joined.
11:50:51 -!- Taaus has joined.
11:50:56 -!- sanxiyn has joined.
12:02:13 -!- mooz- has quit (calvino.freenode.net irc.freenode.net).
12:02:14 -!- Taaus has quit (calvino.freenode.net irc.freenode.net).
12:03:44 -!- mooz- has joined.
12:03:44 -!- Taaus has joined.
12:21:47 -!- sanxiyn has quit ("Leaving").
14:44:43 -!- kosmikus|away has changed nick to kosmikus.
16:36:34 -!- deltab has changed nick to deltab|x.
16:37:43 -!- deltab has joined.
17:25:58 -!- kosmikus has changed nick to kosmikus|away.
20:15:37 -!- fizzie has joined.
20:32:31 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
21:36:38 -!- Toreun has joined.
2004-06-19
00:10:35 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
00:47:31 -!- Toreun has joined.
01:39:01 -!- Toreu1 has joined.
01:39:01 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
01:39:11 -!- Toreu1 has changed nick to Toreun.
02:39:51 -!- calamari_ has joined.
02:39:55 -!- calamari_ has quit (Client Quit).
02:40:12 -!- calamari_ has joined.
02:40:22 <calamari_> hi
03:37:28 -!- calamari_ has quit ("Leaving").
04:13:42 -!- calamari_ has joined.
05:17:59 -!- deltab|x has left (?).
05:34:04 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
21:26:56 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
2004-06-20
04:21:58 -!- heatsink has joined.
05:13:43 -!- heatsink has quit (Read error: 60 (Operation timed out)).
05:23:28 -!- heatsink has joined.
05:58:15 -!- heatsink has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
17:20:10 -!- kosmikus|away has changed nick to kosmikus.
17:31:56 -!- calamari_ has joined.
17:32:02 <calamari_> hi
17:32:45 <fizzie> 'vening.
17:37:16 <calamari_> morning :)
17:40:45 <fizzie> I must do a physical relocation; away 30 minutes.
17:42:40 <calamari_> ran into a small hiccup with call(gosub) & return.. it needs a place to return to (the next instruction). I've thought of 3 schemes to handle it. 1) start temp labels at -1 (problem: big number when 32-bit) 2) labels 2x, temp labels 2x+1 (problem: on-gosub,goto get messed up), 3) have user specify and create return label (problem: annoying)
17:45:22 <calamari_> I'm leaning toward 3, because it is the easiest to implement, but it doesn't remove the main problem: there is no IP (instuction pointer)
17:53:12 <calamari_> hrm.. I think I'm going with 3.. seems like it gives the most power (don't have to return to where you came from) and least problems
18:00:28 <fizzie> returned.
18:01:11 <fizzie> still doing the assembly language?
18:04:15 <calamari_> yeah
18:04:46 <calamari_> I realized I don't really need a call/gosub if I'm going to do it this way.. return is nice tho
18:04:56 <fizzie> do call/cc.
18:04:59 <calamari_> (call = push, jmp)
18:06:07 <calamari_> fizzie: call would have been jsr.. return is ret
18:06:19 <calamari_> unless I misunderstood what you were saying
18:07:21 <fizzie> no, I mean I want a "call/cc" instruction in your assembly language, the call-with-current-continuation from scheme.
18:07:43 <calamari_> I don't know what that is
18:08:00 <calamari_> (never used scheme)
18:08:10 <fizzie> it probably doesn't make much sense in a language without closures.
18:08:41 <calamari_> I have the major stuff done, just a few things remain now
18:08:47 <fizzie> it's a bit like setjmp/longjmp in C.
18:09:45 <calamari_> jmp's are all register based, so an ongoto is simple
18:10:29 <fizzie> then you "just" need a c compiler which creates code for your assembler.
18:10:37 <calamari_> right
18:11:27 <fizzie> does your assembly language look like a 'normal' computer? I mean registers, labels you can use as storage and such?
18:11:28 <calamari_> I haven't finished implementing the STK command (to set the stack size).. also need to understand/use a few of dbc's compare and divide/mod routines
18:11:39 <calamari_> fizzie: yes & no..
18:11:54 <calamari_> there are 4 registers
18:12:12 <calamari_> stack (accessible via push & pop only)
18:12:32 <calamari_> memory (random access)
18:13:07 <calamari_> labels are made with code
18:13:55 <fizzie> mhm-well, it doesn't sound too strange.
18:14:33 <calamari_> jmp's are made up an "endless" loop and of a bunch of tests, i.e.: this is line 4, you wanted 13, keep going, etc, until a match is found
18:14:56 <calamari_> (same way as bfbasic)
18:15:36 <calamari_> yeah, I tried to make it as nmormal as possible, except this gosub thing was being a pain
18:15:36 <fizzie> sounds that any non-trivial C programs will compile to rather big blobs of brainfuck.
18:15:43 <calamari_> yes
18:16:02 <calamari_> the code will be huge
18:16:32 <calamari_> I need to write a new bf interpreter that can handle large code and data
18:16:39 <calamari_> (unless you know of one)
18:18:32 <fizzie> nnope. but you can write a brainf*ck->befunge translator, probably some funge98 interpreters handle pretty big source files since the spec defines an infinite playfield.
18:18:36 <calamari_> oh.. also need to put in some kind of automated text -> bf at the beginning, because I use a lot of strings for bfasm
18:18:47 <fizzie> plus that would get you a nice constant-ish "times n" increase to the "binary" size.
18:19:26 <calamari_> lol
18:28:29 -!- Toreun has joined.
18:36:10 <calamari_> bbl
18:36:12 -!- calamari_ has quit ("Leaving").
22:56:10 -!- kosmikus has changed nick to kosmikus|away.
2004-06-21
00:50:40 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
01:05:08 -!- calamari_ has joined.
01:09:53 <calamari_> hi
01:19:24 -!- calamari_ has quit (calvino.freenode.net irc.freenode.net).
01:21:43 -!- calamari_ has joined.
01:23:06 -!- calamari_ has quit ("Leaving").
04:59:09 -!- clog has joined.
04:59:09 -!- clog_ has joined.
05:14:20 -!- clog has quit (Read error: 110 (Connection timed out)).
05:14:20 -!- clog_ has changed nick to clog.
05:40:55 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:09:18 -!- kosmikus|away has changed nick to kosmikus.
12:15:42 -!- Keymaker has joined.
12:15:50 <Keymaker> hello!
12:15:55 <fizzie> ehlo.
12:16:02 <Keymaker> :)
12:16:22 <Keymaker> haven't been for a while, but that isn't completely my own fault
12:21:21 <fizzie> I'm getting muchly tired of this java crap.
12:21:28 <Keymaker> i see
12:22:37 <fizzie> there's a function foo() that works when run in the main thread of the midlet, then there's the near-identical function bar() which doesn't-really-work-but-almost when run in a separate thread, and manages to hang up the phone completely when run in the main thread.
12:48:58 <Keymaker> grrhh.. selecting right colours is hard. :(
12:50:50 <fizzie> black, black and black. :p
12:50:58 <Keymaker> :)
12:54:10 <fizzie> there, that wasn't so hard.
13:34:03 <Keymaker> hmm, i think i'll go, i probably come back later if i can
13:34:06 <Keymaker> bye
13:34:07 -!- Keymaker has quit.
13:53:53 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
13:53:53 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
13:53:58 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
13:54:04 -!- kosmikus has quit (sterling.freenode.net irc.freenode.net).
14:04:19 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
14:04:20 -!- lament has quit (sterling.freenode.net irc.freenode.net).
14:04:34 -!- ChanServ has joined.
14:04:34 -!- deltab has joined.
14:04:34 -!- kosmikus has joined.
14:04:34 -!- mtve has joined.
14:04:34 -!- irc.freenode.net has set channel mode: +o ChanServ.
14:06:59 -!- cmeme has joined.
14:06:59 -!- lament has joined.
17:26:36 <lament> evil. just evil.
17:30:07 <fizzie> who is?
17:31:54 <lament> The universe.
17:32:17 <fizzie> what did it do now?
17:37:28 -!- calamari_ has joined.
17:37:34 <calamari_> hi
17:39:20 <calamari_> well.. bfasm is fully working
17:40:25 <calamari_> this morning I made a new ansi c bfi.. can handle big programs and allocates more memory as needed
17:41:22 <fizzie> ansi C you say! want to submit to comp.lang.c so they can tear it apart when it doesn't completely conform to some really obscure bit of the Standard?
17:41:57 <calamari_> no thanks :P
17:42:27 <calamari_> how about gcc -W -Wall -ansi -pedantic C then? :)
17:42:47 <fizzie> do you return EXIT_SUCCESS; from main() on a successful termination?
17:43:13 <calamari_> I had to write it because the program I assemblewd last night was over 100k (lots of string data)
17:43:18 <calamari_> fizzie: yes
17:43:23 <fizzie> hm, good.
17:43:34 <calamari_> gotta go
17:43:38 <calamari_> bbiafm
17:43:55 <fizzie> "be back in a f* manual", I read.
17:52:24 -!- calamari- has joined.
17:52:41 <calamari-> re's
18:03:48 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
18:06:59 <calamari-> afk.. rewriting bfasm in asm
18:08:23 <fizzie> in bfasm?
18:08:49 -!- kosmikus has changed nick to kosmikus|away.
18:11:23 <calamari-> yeah
18:12:03 <fizzie> are you going to write the c compiler in C and then make it compile itself?
18:12:22 <calamari-> eventually
18:12:42 <fizzie> funky.
18:28:12 -!- Toreun has joined.
20:16:28 -!- calamari- has quit ("Leaving").
21:00:12 -!- calamari_ has joined.
21:10:19 <calamari_> ran into a speed problem
21:10:49 <calamari_> [-]'ing a negative 32-bit int takes a long time
21:32:45 <calamari_> made a temp workaround.. if the interp sees [-] it clears the cell
23:18:32 <calamari_> hrm
2004-06-22
00:20:51 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:35:55 -!- kosmikus|away has changed nick to kosmikus.
15:14:16 -!- Toreun has left (?).
16:19:36 -!- kosmikus has changed nick to kosmikus|away.
17:47:33 -!- Toreun has joined.
18:07:33 -!- Keymaker has joined.
18:07:33 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
18:07:44 <Keymaker> hi
18:07:58 <fizzie> n'hi.
18:08:22 <Keymaker> hiya
18:08:28 <Keymaker> working on that java? >:)
18:08:57 <fizzie> nah, just got home.
18:09:17 <fizzie> and if I have any luck I'll get to do something !java tomorrow.
18:10:09 <Keymaker> i'm really knowledgeless about java, is that some other java?
18:12:44 <fizzie> "!java" as in "anything else except java".
18:14:17 <Keymaker> ah, i see! :) i should've thought it that way, well, for some reason i didn't
18:14:30 <Keymaker> well, that's good
19:06:54 <Keymaker> hmmm, i think i'll do some work with bf..
19:07:12 <fizzie> I'll go for a walk.
19:07:12 <fizzie> back in an hour or so.
19:07:17 <Keymaker> ok
19:07:23 <Keymaker> beware bears
19:08:57 <fizzie> yes, I've heard in finland there are ice bears all over the place.
19:09:06 <Keymaker> that's true :)
19:10:30 <fizzie> I guess otaniemi/tapiola-region is full of them too.
19:10:42 <fizzie> away now. I'll try not to get eaten.
19:34:14 <Keymaker> otaniemi/tapiola is the most dangerous territory
19:51:55 <Keymaker> i'll go to eat something
20:44:44 <Keymaker> done
21:13:44 <fizzie> managed to avoid being eaten by a grue.
21:13:44 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
21:13:55 <fizzie> maybe because it was so un-dark out there.
2004-06-23
00:30:50 -!- Toreu1 has joined.
00:31:00 -!- Toreu1 has changed nick to Toreun.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:15:54 -!- kosmikus|away has changed nick to kosmikus.
15:38:25 -!- kosmikus has changed nick to kosmikus|away.
15:44:17 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
15:44:17 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
15:44:18 -!- Toreun has quit (sterling.freenode.net irc.freenode.net).
15:44:18 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
15:44:18 -!- kosmikus|away has quit (sterling.freenode.net irc.freenode.net).
15:51:13 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
15:51:13 -!- lament has quit (sterling.freenode.net irc.freenode.net).
15:51:14 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
15:51:14 -!- mooz- has quit (sterling.freenode.net irc.freenode.net).
15:51:14 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
15:55:56 -!- ChanServ has joined.
15:55:56 -!- deltab has joined.
15:55:56 -!- mtve has joined.
15:55:56 -!- kosmikus|away has joined.
15:55:56 -!- Toreun has joined.
15:55:56 -!- lament has joined.
15:55:56 -!- cmeme has joined.
15:55:56 -!- fizzie has joined.
15:55:56 -!- Taaus has joined.
15:55:56 -!- mooz- has joined.
15:55:56 -!- irc.freenode.net has set channel mode: +o ChanServ.
16:01:45 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
16:01:45 -!- Toreun has quit (sterling.freenode.net irc.freenode.net).
16:01:45 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
16:01:45 -!- kosmikus|away has quit (sterling.freenode.net irc.freenode.net).
16:08:45 -!- ChanServ has joined.
16:08:45 -!- Toreun has joined.
16:08:45 -!- kosmikus|away has joined.
16:08:45 -!- mtve has joined.
16:08:45 -!- irc.freenode.net has set channel mode: +o ChanServ.
18:26:02 -!- deltab has quit (Read error: 60 (Operation timed out)).
18:36:20 -!- deltab has joined.
20:11:21 -!- calamari_ has joined.
20:11:28 <calamari_> hi
20:11:58 <Taaus> Aloha.
20:13:07 <calamari_> still working on the bfasm rewrite in bfasm.. some of it is working, but some not, probably due to typos
20:13:13 <lament> Should i double major in math and computer science
20:13:16 <lament> or just major in math?
20:13:44 <Taaus> That really depends on the math courses.
20:13:52 <calamari_> major in cs then get masters in math
20:14:18 <fizzie> how big is your partially-working bfasm when brainf*cked?
20:14:36 <calamari_> I think it's about 190k atm
20:15:19 <lament> calamari_: why major in CS at all?
20:15:26 <lament> Taaus: they seem interesting.
20:15:48 <Taaus> lament: Any statistics?
20:15:57 <calamari_> lament: to get a job
20:16:00 <Taaus> Stats courses, that is.
20:19:10 <calamari_> fizzie: most of the 190k is because of the string data (bf code for each instruction)
20:19:46 <calamari_> I didn't implement anything to optimize +'s.. it just puts as many as it needs
20:26:29 <fizzie> mmm.
20:29:11 <lament> Taaus: very little
20:29:22 <lament> stats is a separate specialization from math
20:31:12 <Taaus> Okay. In that case, I'd say go for pure maths.
20:31:29 <lament> hrm
20:31:31 <lament> Well
20:31:45 <lament> The reason to take CS would be so I have some kind of job afterwards.
20:31:56 <lament> What I really don't want to be is a high-school math teacher.
20:32:28 <Taaus> And a degree in mathematics isn't enough? Strange.
20:32:49 <Toreun> a bachelor's degree in math won't help that much. go with CS.
20:33:33 <mooz-> both sounds like a good compromise :)
20:33:41 <lament> I'm certainly not taking pure CS.
20:34:02 <Toreun> I couldn't do a double major. But that's just me and my lack of work ethic.
20:34:12 <lament> well, it's not really a double major.
20:34:15 <lament> it's a combined major.
20:34:19 <Toreun> oh
20:34:46 <lament> so i lied.
20:38:16 <Toreun> well, if you're gonna be going for a graduate program, do something in undergrad that won't be too hard or time consuming, and will be able to get you a job when you're through
20:40:14 <Toreun> note that I'm not talking from experience, being still stuck in high school. so don't take what I said that seriously.
20:40:49 <Taaus> Heh.
20:48:56 <lament> ok. I'll just ignore you, then :)
20:57:58 <Toreun> sounds good
20:58:03 <Toreun> :-P
20:59:26 * lament whistles
22:40:05 -!- kosmikus|away has changed nick to kosmikus.
23:08:53 -!- sexygirl153 has joined.
23:09:27 -!- sexygirl153 has changed nick to iamcal.
23:10:44 <Toreun> wow someone new here
23:11:09 <iamcal> not exactly new
23:11:14 <iamcal> just not been around for a while
23:11:31 <iamcal> a member of the mailing list for the last x years (where x>5 i think)
23:11:31 <Toreun> oh
23:11:59 <iamcal> is Milo from the list on here?
23:12:01 <Toreun> ahh, yes, the infamous mailing list that has my server blacklisted
23:12:11 <iamcal> eek
23:18:04 <lament> Toreun: It's only just, you understand.
23:18:30 <Toreun> oh?
23:44:23 <calamari_> bbl
23:44:24 -!- calamari_ has quit ("Leaving").
2004-06-24
00:06:37 -!- Breadman has joined.
00:25:12 <lament> woo-hoo i got a bank account
00:33:44 -!- Breadman has quit (Read error: 60 (Operation timed out)).
02:08:31 <iamcal> i need one of those
02:08:31 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
03:44:50 -!- iamcal has quit ("buh bye").
04:43:46 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
04:43:46 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
04:43:46 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
04:43:46 -!- kosmikus has quit (sterling.freenode.net irc.freenode.net).
04:43:48 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
04:43:48 -!- lament has quit (sterling.freenode.net irc.freenode.net).
04:43:48 -!- mooz- has quit (sterling.freenode.net irc.freenode.net).
04:43:49 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
04:43:49 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
04:47:48 -!- ChanServ has joined.
04:47:48 -!- deltab has joined.
04:47:48 -!- mtve has joined.
04:47:48 -!- kosmikus has joined.
04:47:48 -!- lament has joined.
04:47:48 -!- cmeme has joined.
04:47:48 -!- fizzie has joined.
04:47:48 -!- Taaus has joined.
04:47:48 -!- mooz- has joined.
04:47:48 -!- irc.freenode.net has set channel mode: +o ChanServ.
05:19:25 -!- calamari_ has joined.
05:19:33 <calamari_> hi
05:20:28 <calamari_> bfasm seems to be working.. testing it against its own source to see if it generates the same program
05:21:06 <calamari_> it's taking a long time, though.. probably won't be done for more than a hour :P
05:21:57 <calamari_> I guess my bf interpreter is partially to blame for that, tho
05:27:56 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
05:27:56 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
05:27:56 -!- kosmikus has quit (sterling.freenode.net irc.freenode.net).
05:27:56 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
05:27:56 -!- calamari_ has quit (sterling.freenode.net irc.freenode.net).
05:27:57 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
05:27:57 -!- lament has quit (sterling.freenode.net irc.freenode.net).
05:31:15 -!- ChanServ has joined.
05:31:15 -!- calamari_ has joined.
05:31:15 -!- deltab has joined.
05:31:15 -!- cmeme has joined.
05:31:15 -!- lament has joined.
05:31:15 -!- kosmikus has joined.
05:31:15 -!- mtve has joined.
05:31:15 -!- irc.freenode.net has set channel mode: +o ChanServ.
05:34:22 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
05:40:15 -!- lament has quit (sterling.freenode.net irc.freenode.net).
05:40:30 -!- cmeme has joined.
05:40:33 -!- calamari_ has quit (sterling.freenode.net irc.freenode.net).
05:49:51 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
05:53:03 -!- cmeme has joined.
06:02:28 -!- lament has joined.
06:12:21 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
06:12:21 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
06:12:21 -!- kosmikus has quit (sterling.freenode.net irc.freenode.net).
06:12:22 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
06:18:49 -!- ChanServ has joined.
06:18:49 -!- deltab has joined.
06:18:49 -!- kosmikus has joined.
06:18:49 -!- mtve has joined.
06:18:49 -!- irc.freenode.net has set channel mode: +o ChanServ.
06:22:04 -!- lament has quit (sterling.freenode.net irc.freenode.net).
06:22:05 -!- cmeme has quit (sterling.freenode.net irc.freenode.net).
06:22:05 -!- ChanServ has quit (sterling.freenode.net irc.freenode.net).
06:22:05 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
06:22:05 -!- kosmikus has quit (sterling.freenode.net irc.freenode.net).
06:22:05 -!- deltab has quit (sterling.freenode.net irc.freenode.net).
06:22:06 -!- mooz- has quit (sterling.freenode.net irc.freenode.net).
06:22:06 -!- fizzie has quit (sterling.freenode.net irc.freenode.net).
06:22:06 -!- Taaus has quit (sterling.freenode.net irc.freenode.net).
06:32:15 -!- ChanServ has joined.
06:32:15 -!- calamari_ has joined.
06:32:15 -!- mtve has joined.
06:32:15 -!- kosmikus has joined.
06:32:15 -!- deltab has joined.
06:32:15 -!- lament has joined.
06:32:15 -!- cmeme has joined.
06:32:15 -!- fizzie has joined.
06:32:15 -!- Taaus has joined.
06:32:15 -!- mooz- has joined.
06:32:15 -!- irc.freenode.net has set channel mode: +o ChanServ.
06:32:29 -!- clog has joined.
06:32:29 -!- clog has joined.
06:49:17 <calamari_> wow, it's still running, lol
06:53:28 <calamari_> so far everything is matching up great
06:58:28 <lament> are you using an optimizing brainfuck compile?
06:58:31 <lament> *compiler
06:58:51 <lament> Because you certainly should.
07:02:37 <calamari_> lament: know of any that handle 16-bit numbers and large programs?
07:02:51 <lament> probably all of them
07:03:13 <calamari_> how about 0=eof
07:03:42 <calamari_> anyhow.. gotta go
07:03:51 <calamari_> tired
07:03:55 -!- calamari_ has quit ("Leaving").
07:38:12 -!- WildHalcyon has joined.
07:38:31 <WildHalcyon> Hey, whats going on?
07:54:04 -!- WildHalcyon has quit ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:57:37 -!- kosmikus has changed nick to kosmikus|away.
11:14:45 -!- lament_ has joined.
11:21:10 -!- lament has quit (Read error: 110 (Connection timed out)).
13:02:23 -!- cmeme has quit (orwell.freenode.net irc.freenode.net).
13:02:23 -!- lament_ has quit (orwell.freenode.net irc.freenode.net).
13:02:25 -!- ChanServ has quit (orwell.freenode.net irc.freenode.net).
13:02:25 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
13:02:26 -!- kosmikus|away has quit (orwell.freenode.net irc.freenode.net).
13:02:26 -!- deltab has quit (orwell.freenode.net irc.freenode.net).
13:05:03 -!- ChanServ has joined.
13:05:03 -!- lament_ has joined.
13:05:03 -!- mtve has joined.
13:05:03 -!- kosmikus|away has joined.
13:05:03 -!- deltab has joined.
13:05:03 -!- cmeme has joined.
13:05:03 -!- irc.freenode.net has set channel mode: +o ChanServ.
13:05:27 -!- cmeme has quit (orwell.freenode.net irc.freenode.net).
13:05:28 -!- lament_ has quit (orwell.freenode.net irc.freenode.net).
13:05:28 -!- ChanServ has quit (orwell.freenode.net irc.freenode.net).
13:05:29 -!- deltab has quit (orwell.freenode.net irc.freenode.net).
13:05:29 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
13:05:29 -!- kosmikus|away has quit (orwell.freenode.net irc.freenode.net).
13:05:47 -!- ChanServ has joined.
13:05:47 -!- lament_ has joined.
13:05:47 -!- mtve has joined.
13:05:47 -!- kosmikus|away has joined.
13:05:47 -!- deltab has joined.
13:05:47 -!- cmeme has joined.
13:05:47 -!- irc.freenode.net has set channel mode: +o ChanServ.
14:19:35 -!- Keymaker has joined.
14:19:44 <Keymaker> hi
14:57:17 <fizzie> hi.
15:05:57 <Keymaker> hi
15:06:09 <Keymaker> so.. you're alive
15:06:56 <Keymaker> d'oh, i think i'll have to go, bye.
15:06:57 -!- Keymaker has quit.
15:13:46 -!- Breadman has joined.
16:09:06 -!- calamari_ has joined.
16:10:03 <calamari_> hello
16:27:29 -!- Breadman has quit (Read error: 110 (Connection timed out)).
17:09:44 <calamari_> ahh, goog idea.. ha_bf2c makes things much more bearable
17:11:45 <fizzie> so you write a c-to-brainf*ck compiler in c, compile it with itself to get a c-to-brainf*ck compiler in brainf*ck, then compile the resulting brainf*ck back to c to get a c compiler in c?
17:16:10 <calamari_> not yet.. still just working on the asm part
17:16:22 <calamari_> I wanted a native assembler first
17:16:28 <calamari_> still testing it
17:17:26 <calamari_> quick c question.. I have a getchar().. if it's negative (error) I want it to set to zero.. can I do something like getchar()?:0
17:17:55 <calamari_> I can't really do getchar()?getchar():0
17:18:40 <calamari_> I haven't messed with ? very much
17:18:51 <fizzie> you have to do something like (c=getchar())>0?c:0
17:19:47 <fizzie> just '(c=getchar())?c:0' would be rather pointless, it'd return what getchar returns if it's true (non-zero) and 0 if getchar returned zero.
17:21:03 <calamari_> but you'd still need the c= ?
17:21:27 <fizzie> well, yes. a?b:c can't return the value of 'a' if you don't assign it somewhere.
17:35:30 <calamari_> had to adjust ha_bf2c to have EOF return 0 (my assembler expects that)
17:37:20 <lament_> hi
17:37:41 <calamari_> hi lament.. thanks for the optimizing compiler idea
17:40:10 <calamari_> yay! they are exactly the same
17:40:28 <calamari_> guess that means I need to write up some documentation
17:43:03 -!- lament_ has changed nick to lament.
19:10:11 <calamari_> bbl
19:10:19 -!- calamari_ has quit ("Leaving").
20:16:09 -!- WildHalcyon has joined.
21:34:02 -!- WildHalcyon has left (?).
21:44:37 -!- lament has quit (orwell.freenode.net irc.freenode.net).
21:44:37 -!- ChanServ has quit (orwell.freenode.net irc.freenode.net).
21:44:38 -!- deltab has quit (orwell.freenode.net irc.freenode.net).
21:44:38 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
21:44:38 -!- kosmikus|away has quit (orwell.freenode.net irc.freenode.net).
21:47:42 -!- ChanServ has joined.
21:47:42 -!- deltab has joined.
21:47:42 -!- kosmikus|away has joined.
21:47:42 -!- mtve has joined.
21:47:42 -!- irc.freenode.net has set channel mode: +o ChanServ.
21:48:12 -!- lament has joined.
23:22:58 -!- iamcal has joined.
2004-06-25
01:12:34 -!- calamari_ has joined.
01:13:44 <calamari_> hi
01:16:09 <iamcal> hi
01:17:07 <calamari_> hello iamcal
01:17:30 <iamcal> just 'cal' is fine ;)
01:18:01 <calamari_> that would be very confusing, almost like I'm talking to myself.. I guess here that would be perfect :)
01:18:26 <iamcal> :)
01:24:35 <lament> 12 people!
01:24:38 <lament> amazing.
01:25:01 <lament> s/people/agent
01:25:04 <lament> s
01:28:27 <calamari_> hi lament
01:52:13 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:48 -!- WildHalcyon has joined.
08:18:30 -!- iamcal has quit ("buh bye").
08:31:08 -!- WildHalcyon has quit ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/").
09:01:22 -!- andreou has joined.
09:03:12 <andreou> what happened to cmeme?
09:15:40 -!- andreou has quit ("A tree excells at being a tree.").
10:56:52 -!- andreou has joined.
11:20:43 -!- andreou has quit ("A tree excells at being a tree.").
11:34:07 -!- andreou has joined.
11:46:13 -!- andreou has quit ("A tree excells at being a tree.").
15:45:49 -!- andreou has joined.
15:57:08 -!- andreou has quit ("A tree excells at being a tree.").
16:55:51 -!- calamari_ has joined.
16:56:09 <calamari_> hi
17:00:43 * calamari_ suggests: Welcome to the esoteric programming channel! Logs of previous discussions are available at http://tunes.org/~coreyr/date.php?chan=esoteric
17:34:06 -!- andreou has joined.
17:53:56 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
18:13:46 -!- andreou has quit (Read error: 113 (No route to host)).
19:20:21 -!- calamari_ has joined.
19:21:13 <calamari_> I was thinking about bf optimizations...
19:22:22 <calamari_> if a program takes no input, and produces no output then it can be replaced by either a program that immediately exits or freezes (depending on if the original exits)
19:23:11 <calamari_> if it takes no input, and exits, any output produced could be captured and reproduced
19:23:44 <calamari_> also, given a particular set of inputs, it is the same as having no inputs
19:25:02 <calamari_> if input is not predetermined and there is no output, it still can't be optimized, because the act of exiting the program provides information (could return a binary answer that way, say 1=exit, 0=didn't exit)
19:25:49 <calamari_> anyhow.. that was my random thought on optimizations :)
19:26:09 <mtve> heh, the only you should know will it exits or not :)
19:28:14 <calamari_> mtve: it could be assumed that all programs will eventually exit, by loss of power, malfunction, etc
19:30:00 <calamari_> so then, I guess we should say with no i/o commands, an empty program is the best optimization?
19:31:57 <calamari_> or should the malfunction be considered an input that is not predetermined? that would mess up the whole idea
19:31:59 <mtve> +++++++++++++ (ord 'n' times) .++++++++ (ord 'o' times). []
19:39:29 -!- andreou has joined.
19:50:58 -!- calamari_ has quit ("Leaving").
20:07:57 <fizzie> there is no such thing as a malfunction. current probabilistic primality testing algorithms are less likely to err than a "correct" primality tester is to give a wrong answer thanks to a flipped bit due to some random electromagnetic radiation (at least so 'they' tell me), but we still think the second algorithm is always correct.
20:36:01 -!- andreou has quit ("A tree excells at being a tree.").
22:51:03 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
22:51:21 -!- cmeme has joined.
22:51:21 -!- cmeme2 has joined.
22:53:17 -!- cmeme has quit (Remote closed the connection).
22:53:17 -!- cmeme2 has quit (Read error: 104 (Connection reset by peer)).
22:53:56 -!- cmeme has joined.
23:09:07 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
23:20:21 -!- cmeme has joined.
23:21:02 -!- cmeme has quit (Read error: 54 (Connection reset by peer)).
23:25:08 -!- cmeme has joined.
2004-06-26
01:13:35 -!- iamcal has joined.
03:45:21 -!- Toreun has joined.
05:45:27 -!- Tril has joined.
06:38:19 -!- iamcal has quit ("buh bye").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:37 -!- WildHalcyon has joined.
08:13:09 -!- WildHalcyon has quit ("Goin' away now!").
19:02:49 -!- bbls has joined.
19:03:00 <bbls> hello
19:03:44 <Toreun> hi
19:03:56 <bbls> hi Toreun
19:04:14 <Toreun> how are you, bbls?
19:04:18 <bbls> hmm
19:04:29 <bbls> thinking to create a new language :)
19:04:40 <bbls> [yes.. yet another one :)]
19:05:16 <Toreun> hehe
19:05:30 <Toreun> how many have you made
19:05:31 <Toreun> ?
19:05:50 <bbls> well i have no ideea :)
19:05:57 <bbls> actually it's the same language
19:06:11 <bbls> improved, name changed several times, etc
19:06:21 <Toreun> ah, I know how that is
19:06:24 <Toreun> how's it work?
19:06:24 <bbls> :)
19:06:27 <bbls> well
19:06:31 <bbls> i have certain problems
19:07:27 <bbls> especially with floating point stuff
19:07:42 <bbls> because using floats
19:07:46 <Toreun> floating point? an esolang with floats?
19:07:56 <Toreun> not many of those, iirc
19:07:58 <bbls> a+b-a is not necesarly b
19:08:39 <Toreun> that's true
19:08:48 <Toreun> where's the problem arising? comparisons?
19:08:57 <bbls> not just comparisons
19:09:04 <bbls> my plan is to create a language
19:09:23 <bbls> that is designed in a such way so that the compiler can easly prove that it can't generate exceptions for any input value
19:10:48 <Toreun> oh. hmm
19:10:57 <bbls> for example
19:11:03 <bbls> f(x)=1/x
19:11:18 <bbls> the compilation should fail because division is not defined for x=0
19:11:27 <bbls> you have then to define
19:11:38 <bbls> NonZeroReal:= [x | x in Real and x<>0];
19:11:48 <bbls> f(NonZeroReal x):=1/x;
19:11:48 <Toreun> yeah
19:11:57 <bbls> this is ok now
19:12:15 <bbls> althrought the function
19:12:18 <bbls> f(x):=switch
19:12:19 <bbls> {
19:12:28 <bbls> x= 0 : 0;
19:12:38 <bbls> x<>0 : 1/x;
19:12:38 <bbls> }
19:12:47 <bbls> is always defined, so it's ok
19:13:11 <Toreun> yeah
19:13:27 <bbls> more complex situations arise from
19:13:42 <bbls> f(x):=1/(3*x^2-2*x+1);
19:14:01 <bbls> the compiler needs a builtin symbolic algebra engine
19:14:16 <bbls> so that it can solve that equation and find that it has no real solutions
19:14:21 <bbls> so that the function is always defined
19:15:03 <Toreun> yeah
19:15:21 <Toreun> are there any symbolic algebra libraries out there?
19:15:29 <bbls> don't know
19:15:35 <bbls> but i want to code that too
19:15:46 <bbls> not just use some out of the box lib
19:15:52 <bbls> because it need some other stuff
19:16:26 <bbls> like patterns of recursivity that can be proven to be finite by induction, etc
19:16:41 <Toreun> hm
19:16:53 <bbls> because you have to prove that the recusrivity is finite
19:16:57 <Toreun> yes
19:17:07 <bbls> you can't do that in general
19:17:22 <bbls> but for particular algorithms/particular patterns you can
19:18:26 <bbls> so you need to build some kind of database
19:18:39 <bbls> also this database will contain basic identities such a+b=b+a
19:18:54 <bbls> or basic inferences such a>b -> a+c>b+c
19:19:10 <Toreun> yeah
19:20:01 <Toreun> hmm... the TI-89 calculator I *think* uses logic to do most basic inferences, but I have no idea how, rather than a database
19:20:42 <bbls> you need a database and smart algorithms for searching in the database
19:20:57 <Toreun> you need a database?
19:21:23 <bbls> the database of proof tips (identities, etc) just what i told you before
19:21:34 <Toreun> yeah
19:21:45 <Toreun> hmm
19:21:54 <Toreun> I suppose you would need basics, thinking about it
19:22:09 <bbls> obviously there are lot of papers on the net about that
19:22:13 <Toreun> computers can't exactly handle Number Theory, etc.
19:22:24 <Toreun> are there? I haven't looked
19:22:36 <bbls> but i can't find papers that deal with the problem of limited precision
19:22:43 <Toreun> apart from Turing's thesis with deals with computational theory
19:22:45 <bbls> that result in problems like a+b-a<>b
19:26:22 <Toreun> yeah
19:27:18 <bbls> there is no problem for a symbolic math package
19:27:38 <bbls> but since the program is supposed to run on a real machine
19:27:43 <bbls> that results in big trouble
19:27:52 <bbls> a really huge problem
19:27:57 <mtve> two ways: 1) symbolic computations, 2) keeping miscalculation, i.e. keeping two numbers - result and precision
19:28:19 <bbls> or keeping 2 numbers, lower limit and higher limit or result
19:28:33 <mtve> yep, same thing.
19:30:01 <bbls> but the problem is how you do symbolic computation with that
19:30:54 -!- tonsofpcs has joined.
19:31:57 <Toreun> hi there tons
19:35:38 <bbls> hmm
19:35:48 <bbls> it might be possible to write a number
19:35:55 <bbls> as [minlin:maxlim]
19:36:13 <bbls> and still do symbolic computations
19:37:15 <bbls> but you have to provide minlim and maxlim for all primitive operations
19:37:31 -!- Tril has left (?).
20:21:40 <lament> wow we had Tril in here
20:23:07 <lament> bbls: Somehow I don't think precision is your biggest problem
20:23:23 <bbls> lament what you think then that's my biggest problem?
20:38:59 <lament> well
20:39:03 <bbls> ?
20:39:04 <lament> Would this compile?
20:39:13 <lament> for(;;);
20:39:16 <lament> return 1/0;
20:39:16 <bbls> no
20:39:23 <bbls> since the language is a pure functional language
20:39:31 <bbls> not an iterative one
20:39:37 <lament> UM
20:39:44 <lament> You see my point. Hopefully.
20:40:07 <bbls> well that's why is purely functional :)
20:40:18 <bbls> also recursion is limited to specific cases
20:40:22 <lament> ??
20:40:27 <bbls> that are known from database to be finite
20:40:54 <bbls> also 1/0 would be catched
20:41:05 <bbls> because division is not defined for 0
20:41:47 <lament> What database?
20:42:04 <bbls> you need a database
20:42:04 <lament> So your language will be incapable of running a program that doesn't halt?
20:42:09 <bbls> yes
20:42:18 <bbls> it will be impossible to compile a such program
20:42:30 <lament> then it's not Turing-complete
20:42:37 <bbls> also it would be impossible to compile a program that generates exceptions
20:42:42 <lament> hence not very fun
20:42:44 <bbls> not it is not turing-complete
20:43:40 <bbls> but that does not means that ppl really neet turing-complete languages
20:43:45 <bbls> *need
20:44:47 <lament> Well
20:44:55 <lament> If you manage to create a language like that, it will be the first.
20:45:03 <bbls> yes
20:45:08 <bbls> i know that
20:45:13 <bbls> and there are many problems
20:45:15 <lament> I'm not aware of any languages in which non-halting programs are impossible which is of any use.
20:45:39 <lament> Also, how will you construct this database?
20:45:45 <bbls> you need a database
20:45:50 <bbls> that contains all basic identities
20:46:02 <bbls> such "a>b -> a+c>b+c"
20:46:03 <bbls> and so on
20:46:11 <bbls> just like a normal symbolic algebra package
20:46:38 <lament> And what does that have to do with recursion?
20:46:53 <bbls> well
20:47:04 <bbls> you also have to prove that all recursions in the program are finite
20:47:19 <bbls> and for that you need to specify in the database
20:47:25 <bbls> some particular cases
20:47:30 <bbls> when the recusion is finite
20:47:34 <lament> Such as?
20:47:46 <bbls> f(x):=switch
20:47:47 <bbls> {
20:47:56 <bbls> x=0 : 0;
20:48:14 <bbls> x>0 : f(x)-1;
20:48:15 <bbls> };
20:48:31 <bbls> usually functions that respect that pattern
20:48:36 <bbls> can be proven to be finite
20:48:40 <bbls> using induction
20:49:01 <lament> Usually, but certainly not always.
20:49:31 <bbls> as i said
20:49:32 <lament> f(x):=switch
20:49:32 <lament> {
20:49:32 <lament> x=1 : 1;
20:49:37 <bbls> there will always be a program that can't be compiled
20:49:41 <bbls> with a specific version
20:49:55 <lament> x%2 == 0: f(x/2);
20:49:56 <bbls> you you can add support for it in next version
20:50:06 <lament> else: f(x*3 + 1);
20:50:07 <lament> }
20:50:25 <bbls> "else" is banned
20:50:32 <lament> irrelevant
20:50:38 <lament> s/else/x%2!=0
20:50:45 <bbls> not
20:50:47 <bbls> since
20:50:53 <bbls> x%2=0
20:50:57 <bbls> conflicts with first
20:50:58 <bbls> one
20:51:00 <bbls> (x=1)
20:51:06 <bbls> you can't have overlapping conditions
20:51:13 <bbls> nor you can have missing cases
20:51:30 <lament> That's pure nazism :)
20:51:44 <lament> anyway, this is irrelevant
20:51:51 <bbls> it is relevant
20:51:55 <lament> no, it's not
20:51:58 <bbls> because of those restrictions
20:52:03 <lament> no, it's not
20:52:07 <bbls> the compiler will be able to actually do some work
20:52:12 <lament> rewriting my function to fit your restrictions is trivial
20:52:21 <lament> a(x):=switch
20:52:29 <lament> {
20:52:34 <lament> er
20:52:36 * lament thinks
20:52:40 <bbls> first you mix
20:52:47 <bbls> reals with naturals
20:54:18 <lament> a(x):=switch
20:54:22 <lament> {
20:54:22 <lament> x%2==0: b(x/2);
20:54:22 <lament> x%2!=0: b(x*3+1);
20:54:22 <lament> }
20:54:22 <lament> b(x):=switch
20:54:25 <lament> {
20:54:28 <lament> x==1: 1;
20:54:30 <lament> x> 1: a(x);
20:54:33 <lament> }
20:54:35 <lament> what's wrong with it now? :)
20:54:54 <bbls> well
20:55:06 <bbls> b(x) does not catch x<1
20:55:18 <lament> let's pretend there's a clause for that there.
20:55:26 <lament> What now?
20:56:09 <bbls> a output is always real
20:56:32 <lament> Do you see my point or do you not?
20:56:35 <bbls> it is not ok
20:56:40 <bbls> since x is not decreasing
20:56:42 <lament> Because if you don't, there's little sense in talking to you.
20:56:59 <lament> So your language doesn't really support recursion.
20:57:11 <bbls> for a(11) for example
20:57:19 <bbls> you get infinite loop
20:57:24 <lament> It looks a bit like recursion, but actually it's just loops with a decreasing counter.
20:58:10 <lament> Correct?
20:59:02 <bbls> got it now
20:59:10 <bbls> you transform x into a multiply of 2
20:59:16 <bbls> and you keep dividing it
21:04:18 <bbls> anyway that does not means that's impossible
21:04:27 <bbls> it just means that it's hard
21:04:36 <lament> What is?
21:04:52 <bbls> to write the compiler
21:05:04 <bbls> so that it can recognize such patterns
21:05:19 <bbls> if there is something that can be done by a human brain
21:05:26 <bbls> then a computer can do it too
21:05:27 <lament> But it won't be able to compile this program?
21:05:39 <bbls> as long as it is clearly defined
21:05:52 <bbls> if the program is finite it will compile
21:06:05 <bbls> if the compiler proves that it is not finite won't compile
21:06:27 <bbls> in the case that it won't be able to either prove either disprove
21:06:36 <bbls> it will refuse to compile too
21:06:46 <lament> Sounds very, very useless.
21:06:57 <lament> Can't even write hunt the wumpus in it.
21:07:29 <bbls> what algorithm is that?
21:07:37 <lament> It's a game.
21:08:00 <bbls> it is an infinite game?
21:08:08 <lament> Most games are.
21:08:32 <bbls> well, there has to be a solution to that too
21:08:43 <lament> No, there hasn't.
21:09:07 <lament> When a language isn't Turing-complete, it doesn't "have" to have anything.
21:09:35 <bbls> oh
21:09:41 <bbls> there is one thing i've missed
21:09:52 <bbls> you can't get an infinite game
21:09:54 <bbls> ever
21:10:05 <bbls> every program that implements a game is finite
21:10:27 <bbls> just imagine an automata
21:10:42 <bbls> althrought the number of states the system passes thru
21:10:54 <bbls> the actual pass from one state to another is finite
21:11:03 <bbls> always, for any game
21:12:20 * lament doesn't get it
21:12:32 <bbls> ok
21:12:38 <bbls> imagine a function
21:12:46 <bbls> that receives a number of moves
21:12:52 <bbls> (one from every player)
21:12:59 <bbls> and then outputs the state of the game
21:13:22 <bbls> (eg: a bitmap)
21:13:38 <bbls> althrought the size of the list of moves
21:13:40 <bbls> is indefinite
21:13:43 <bbls> the actual process
21:13:47 <bbls> of computing the state
21:13:48 <bbls> is finite
21:13:56 <bbls> (since the number of moves is always finite)
21:14:06 <lament> The number of moves is finite? Why?
21:14:14 <bbls> not the number of POSSIBLE move
21:14:22 <bbls> the number of moves realised by the players
21:14:46 <bbls> let's say you want a game
21:14:54 <bbls> where one person things about one number
21:15:03 <bbls> and the other person tries to guess it
21:15:26 <bbls> for simplicity then game ends at first guess
21:15:39 <bbls> obviously there is an indefinite number of moves
21:15:45 <bbls> but the actual number of moves
21:15:48 <bbls> is always finite
21:16:11 <bbls> look here:
21:16:28 <bbls> State function(move_list list1, list2)
21:16:30 <bbls> {
21:17:07 <bbls> return state
21:17:08 <bbls> };
21:17:24 <bbls> the length of list1 and list2 is indefinite
21:17:25 <bbls> but always finite
21:17:28 <bbls> do you get it?
21:17:58 <lament> no, because it's not
21:18:36 <bbls> the number of moves 2 playes can make is indefinite but ALWAYS finite at a moment of time after they started the game (when you compute the new state)
21:19:07 <bbls> do you get it now?
21:19:20 <bbls> for example
21:19:27 <lament> Sure, the state is finite.
21:19:30 <bbls> let's say we have a game every 10 seconds
21:19:31 -!- tonsofpcs has quit (Read error: 104 (Connection reset by peer)).
21:19:32 <lament> The point is, the program doesn't halt.
21:19:39 <lament> And therefore isn't allowed by your compiler.
21:19:59 <bbls> it is since the actual computation of the state uses a finite number of elements (since the lists are finite)
21:20:07 <bbls> so therefore the program is finite
21:20:12 <bbls> so therefore it can be compiled
21:20:49 <bbls> simply put, f(x):=combine_state(f(x-1), last_move);
21:20:50 <lament> It doesn't halt
21:20:56 <lament> f(;;) is "finite"
21:21:02 <bbls> no
21:21:03 <lament> It doesn't have any state at all
21:21:07 <bbls> f(;;) is not finite
21:21:13 <bbls> and i don;t have a such construct in my language
21:21:28 <lament> er i meant for(;;) but anyway
21:22:02 <bbls> for a specific list of moves the function is always finite
21:22:16 <bbls> that list is taken as players make their moves
21:22:23 <bbls> so therefore it is always finite
21:22:52 <bbls> (althrought it tends to grow towards +infinite, it will never reach that)
21:23:28 <bbls> what is infinite is the number of all possible game end starting with a specific number of moves already done
21:23:56 <bbls> and trying to write a program that finds all thos solutions is invalid in any language you write it
21:24:24 <bbls> do you get it now?
21:25:36 <lament> I think you're crazy.
21:25:53 <bbls> why?
21:26:32 <lament> Just becaues.
21:26:34 <lament> Because.
21:26:50 <lament> I also think your idea can't possibly work, but i don't know enough about it to prove that.
21:36:11 <bbls> at least until you can do that i have innocence asumption :)
21:46:07 -!- tonsbot has joined.
21:47:41 <tonsbot> hi
21:51:52 -!- tonsbot has changed nick to tonsofpcs.
22:27:48 <tonsofpcs> ...
22:27:59 <bbls> hi tonsofpcs
22:31:55 <bbls> gtg
22:31:57 <bbls> bye ppl
22:31:57 -!- bbls has left (?).
2004-06-27
00:38:35 -!- tonsofpcs has quit (Nick collision from services.).
00:42:36 -!- tonsofpcs has joined.
00:42:38 <tonsofpcs> hi
00:43:35 -!- tonsofpcs has quit.
02:55:01 -!- calamari_ has joined.
02:56:47 <calamari_> hi
03:03:16 <lament> hd
03:38:57 <calamari_> space hd .. space hard drive.. hard drive space? are you worried about your hard drive space?
03:48:00 -!- cmeme has quit (Remote closed the connection).
03:48:21 -!- cmeme has joined.
04:06:40 <lament> ye,s i am.
04:22:47 <calamari_> yeah, you might need a new drive if you compile linux to bf :P
04:57:10 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:48 -!- WildHalcyon has joined.
08:10:24 <WildHalcyon> anyone still up?
08:14:56 -!- WildHalcyon has left (?).
08:30:21 <lament> Silly impatient people.
08:30:30 <lament> Of _course_ there're people still up.
11:00:48 -!- bbls has joined.
17:42:44 -!- babygeek has joined.
17:57:00 -!- bbls has quit (orwell.freenode.net irc.freenode.net).
17:57:00 -!- Toreun has quit (orwell.freenode.net irc.freenode.net).
17:57:32 -!- bbls has joined.
17:57:32 -!- Toreun has joined.
18:25:17 -!- bbls has quit.
18:42:11 -!- babygeek has quit ("[BX] Reserve your copy of BitchX-1.0c20cvs for the Nintendo GameCube today!").
2004-06-28
01:08:00 -!- WildHalcyon_ has joined.
01:08:56 <WildHalcyon_> Sorry about my lack of patience yesterday, I was tired, and Im still really sick
01:09:27 <WildHalcyon_> I'd been reading the logs, and I was hoping to run across bbls, so I could comment on some of the ideas he'd put forth regarding his new language
01:09:56 <WildHalcyon_> brb
01:34:35 <WildHalcyon_> back!
01:45:09 -!- WildHalcyon__ has joined.
01:45:18 -!- lament_ has joined.
01:50:51 -!- lament has quit (Connection timed out).
02:02:41 -!- WildHalcyon has joined.
02:03:39 -!- WildHalcyon_ has quit (Read error: 110 (Connection timed out)).
02:08:21 -!- WildHalcyon__ has quit (Read error: 110 (Connection timed out)).
02:16:37 -!- WildHalcyon_ has joined.
02:17:24 <WildHalcyon_> stupid computer...
02:17:51 <Toreun> yay redundantly redundant
02:18:27 <WildHalcyon_> lol, sorry
02:18:45 <WildHalcyon_> I should have said "deathly ill computer"
02:18:58 <Toreun> what's wrong with it?
02:19:36 <WildHalcyon_> Well, it goes through these bouts of freezing
02:20:03 <WildHalcyon_> Im not sure exactly when or why it happens, but the only solution I've found so far has been a clean reinstall of XP
02:21:58 <Toreun> hmm... well, maybe it's not a software problem. could be the motherboard. check with support forums for your computer, see if it happens to other people.
02:22:14 <Toreun> if it happens after you reinstall the OS
02:22:28 <WildHalcyon_> Well, once I reinstall the OS, its okay for a while...
02:22:32 <WildHalcyon_> and I KNOW its a hardware problem
02:22:37 <WildHalcyon_> but I dont have the bling-bling to fix it
02:22:58 <Toreun> well if it's a bug in the hardware, call up the company
02:23:14 <Toreun> they should replace it if it's a common problem, no matter what
02:23:29 <WildHalcyon_> Im not sure which company to call... motherboard? graphics card? memory?
02:23:41 <WildHalcyon_> it might even be my DVD drive
02:23:44 <WildHalcyon_> Im not sure
02:23:50 <Toreun> DVD drive?
02:23:55 <mooz-> try disconnecting parts?
02:24:19 <Toreun> it's prolly not the gfx card
02:24:27 <Toreun> it could be memory
02:24:28 <mooz-> I've got a flaky gfx card actually
02:24:41 <Toreun> but to freeze the computer entirely?
02:24:46 <mooz-> freezes the comp and every reboot I have to boot several times until a pic comes up
02:24:52 <Toreun> weird
02:24:56 <mooz-> yup
02:25:02 <Toreun> check if others have problems with the hardware you have
02:25:16 <mooz-> I got this from work, being a matrox I still like it more than my old voodoo3 despite the oddities :)
02:25:18 <WildHalcyon_> Ive checked and I havent found anything, I posted the problem in several forums
02:25:24 <Toreun> hmm
02:26:02 <WildHalcyon_> all I know is - its only an XP problem, I had windows 2K server, and it didnt freeze up
02:26:16 -!- WildHalcyon has quit (Read error: 110 (Connection timed out)).
02:27:36 <mooz-> first thought would be to run without one of the memory boards
02:27:46 <mooz-> see if that helps
02:27:49 <WildHalcyon_> I've tried switching them out
02:27:52 <WildHalcyon_> nothing yet
02:28:21 <WildHalcyon_> Right now, I think I might just deal until my student loans come in, then I can buy a new one
02:29:46 <WildHalcyon_> oh well
02:29:57 <WildHalcyon_> until then, I'll just bask in the glory of esoteric programming languages
02:31:24 <mooz-> I'm going to go ponder about how much taking care of an iguana would cost, and try to sleep also
02:31:33 <Toreun> at the same time?
02:31:45 <Toreun> sleeping and pondering about iguanas...
02:31:48 <Toreun> interesting
02:32:19 <mooz-> the temperature here fits them better than me so I can't sleep
02:33:46 <WildHalcyon_> maybe you'll have freaky iguana dreams
02:35:15 <Toreun> like Godzilla
02:35:30 <WildHalcyon_> that was one freaky iguana
02:37:34 <WildHalcyon_> Like most estranged youths, I've been trying to create an esoteric language, iguana wouldn't be a bad name for it...
02:38:01 <Toreun> iguana is a pretty good name for an esoteric language
02:38:14 <Toreun> now you'd just have to make a recursive acronym out of it
02:38:37 <Toreun> what's your esolang like?
02:38:38 <WildHalcyon_> That's always the fun part
02:38:47 <WildHalcyon_> Its sadly a little on the boring side..
02:38:59 <Toreun> oh?
02:39:01 <WildHalcyon_> Ive always liked befunge, but I thought it was a little too... I dont know... too much like a toy
02:39:20 <WildHalcyon_> and I thought I would be horrible and make a useful version, one that had some added abilities
02:39:27 <WildHalcyon_> Im debating about lambda calculus
02:40:08 <Toreun> :-D
02:40:44 <WildHalcyon_> either that, or functions/procedures
02:40:59 <WildHalcyon_> but regardless... the part that Im having trouble with is that, since befunge is a 2D language, I want the functions to be 2D as well
02:41:24 <WildHalcyon_> and I want to be able to mark how tall/wide the function is in the definition
02:41:28 <Toreun> you could define functions as being a set of locations in a plane
02:41:57 <WildHalcyon_> I was thinking of having a function definition defined by a vector - a point and an x and y coordinate for a rectangle
02:42:18 <Toreun> yeah
02:42:31 <WildHalcyon_> within the rectangle, the function IP behaves exactly like a regular fungish pointer - on a torus
02:43:24 <Toreun> I have functions uncreatively in my esolang. you can just define characters as including a file
02:43:42 <WildHalcyon_> I dont understand?
02:44:13 <Toreun> well, you could define a character, let's say 'q', as doing whatever is in a file "foobar"
02:44:22 <WildHalcyon_> Ohh!
02:44:23 <WildHalcyon_> I see
02:44:26 <Toreun> yeah
02:44:28 <WildHalcyon_> well, that's not too bad
02:44:40 <WildHalcyon_> That's actually very good
02:44:44 <Toreun> but it's not really a function as it is more like a symlink
02:44:53 <Toreun> because it doesn't have scope or anything
02:45:11 <WildHalcyon_> well, yeah.. but it certainly has modularity - every function is immediately a modular file
02:45:17 <Toreun> yeah
02:45:28 <WildHalcyon_> My crazy comp sci 101 prof. would be thrilled - he LOVED modularity
02:45:30 <Toreun> it made my life easy when proving turing-completeness for my language
02:46:01 <WildHalcyon_> My language isn't special enough to require a very well-thought-out proof for TC
02:46:18 <Toreun> well, mine was pretty obviously turing complete
02:46:23 <Toreun> but I wanted to prove it nonethesame
02:46:29 <Toreun> I just wrote a brainfuck interpreter for it
02:46:30 <Toreun> in it**
02:46:37 <WildHalcyon_> well, that'll prove it then
02:46:40 <Toreun> yeah
02:46:50 <Toreun> it's extremely slow, but that's to be expected
02:47:11 <WildHalcyon_> Yeah, Ive been working on my language for a few months (3.... I think), because I'm having a big issue deciding how to call the functions
02:47:22 <Toreun> see, I wrote my interpreter in PHP, an interpreted language. so I had my brainfuck interpreter being interpreted by my language interpreter being interpreted by a php interpreter being interpreted by the processor
02:47:30 <WildHalcyon_> One option is just to push the function name onto the stack and have an 'execute' command
02:47:42 <WildHalcyon_> It must not have been very fast...
02:47:51 <Toreun> no
02:48:11 <Toreun> one of these days I'll rewrite it in C
02:48:21 <Toreun> hmm... you handle strings?
02:48:28 <Toreun> oh, it's like befunge
02:48:29 <WildHalcyon_> Possibly
02:48:29 <Toreun> yeah
02:48:35 <WildHalcyon_> Im actually debating that
02:48:46 <WildHalcyon_> I might just handle chars and 8-bit ints
02:49:07 <WildHalcyon_> and then support a library of functions to deal with strings and 32/64/9999-bit ints, and floating point numbers
02:50:00 <Toreun> I sort of have string support... I have a buffer that concatenates digits to represent a decimal number
02:50:12 <WildHalcyon_> Another option I was considering was using unicode for the programming and having function names be japanese kanji characters - but I thought that might be too hard to program in
02:50:19 <Toreun> that's... evil
02:50:21 <Toreun> I like it
02:50:27 <Toreun> brb
02:50:31 <WildHalcyon_> I might make it a derivative language ;-)
02:59:07 -!- WildHalcyon has joined.
02:59:12 <WildHalcyon> bah!
02:59:22 <WildHalcyon> computer slightly mad
03:14:16 <Toreun> back
03:17:30 <Toreun> your computer must not like that you're suggesting esoteric programming languages
03:17:32 <Toreun> it's getting scared
03:17:33 -!- WildHalcyon_ has quit (Read error: 110 (Connection timed out)).
03:17:35 -!- WildHalcyon__ has joined.
03:17:59 <WildHalcyon__> my computer fears me
03:18:02 <WildHalcyon__> muahahahaha!
03:18:23 <Toreun> hmm... not so scared as it is frantic.
03:18:36 <Toreun> my computer's afraid of me - it listens to me
03:18:40 <WildHalcyon__> well... every attempt to subvert me only deepens my resolve
03:19:12 -!- iamcal has joined.
03:20:55 <WildHalcyon__> the evening is nigh... project 'iguana' shall be completed before its death
03:21:05 <WildHalcyon__> brb
03:21:18 <iamcal> project iguana?
03:21:40 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
03:21:50 <WildHalcyon__> yes, its the temporary name of my esolang
03:22:01 <WildHalcyon__> toreun and I were discussing it earlier
03:22:08 <WildHalcyon__> fleshing out some bloody annoying details
03:22:57 -!- Toreun has joined.
03:23:12 <Toreun> hmm whatever your computer's got must be contagious, WildHalcyon
03:23:13 <WildHalcyon__> my computer, in its infinite hatred of everything that I was, am, or ever will be, is trying to thwart my creative efforts
03:23:37 <WildHalcyon__> lol, yeah... its infected with RAGE... stupid 28 days later
03:27:00 <WildHalcyon__> its alright though, Im beginning with the good old-fashioned pencil-and-paper technique, I visualize stuff better when I write it down
03:27:30 <Toreun> I can never visualize things on the computer
03:28:12 <Toreun> I can never really be creative on a computer... especially a desktop
03:28:19 <WildHalcyon__> yeah, I have trouble with that too
03:28:46 <Toreun> I need to get my typewriter fixed. I actually prefer writing, like narratives, etc, on a typewriter.
03:29:08 <WildHalcyon__> I think programming in befunge on a typewriter would be a little more than just difficult
03:29:17 <Toreun> yeah
03:29:21 <Toreun> I get that feeling too
03:31:47 <WildHalcyon__> So, I still need a method for calling methods
03:32:04 <WildHalcyon__> the execute-string method isn't necessarily BAD, its just not very esoteric
03:32:29 <Toreun> yeah
03:32:31 <Toreun> hmm
03:32:49 -!- WildHalcyon has quit (Read error: 110 (Connection timed out)).
03:33:37 <WildHalcyon__> at one point I was debating about 2D function names, but I dont think I can do it with just the 127 ascii characters
03:33:58 <Toreun> how about: get rid of methods all together - just have the equivalent of a goto in 2D
03:34:51 <WildHalcyon__> another possibility.
03:35:08 <Toreun> that way you can define "sections" of your code to be about one thing
03:35:08 <WildHalcyon__> I was thinking of having 2 types of gotos - a regular one, and a 'function' one that kept track of where it came from
03:35:17 <Toreun> ah, like gosub
03:35:35 <Toreun> that's what I meant
03:35:42 <Toreun> sorry, I'm speaking basic here, it seems
03:35:54 -!- iamcal has quit ("stuff to do").
03:36:31 <WildHalcyon__> its okay
03:36:42 <WildHalcyon__> I liked the term, and I understood it, even if Ive never learned basic
03:37:05 <Toreun> yeah. that's what basic's about, I guess
03:37:24 <Toreun> BASIC's my roots, though, and it's the only language I can think of with gosub
03:37:43 <WildHalcyon__> well, I might just have to get myself a BASIC education
03:37:46 <WildHalcyon__> ... sorry for the pun
03:38:09 <Toreun> it's okay. I appreciate bad puns.
03:38:26 <Toreun> and I realized that would have been the perfect opportunity for INCLUDING a bad pun within that statement
03:38:30 <Toreun> but unfortunately, I could not think of any
03:38:48 <WildHalcyon__> lol, its what Im here for
03:40:03 <WildHalcyon__> brb
03:40:20 <Toreun> k
03:41:43 <WildHalcyon__> have you ever heard of the language java2k?
03:41:49 <Toreun> nope
03:41:59 <Toreun> but I would gather from the name that it's like a new version of Java
03:42:11 <Toreun> (a language which I cannot stand, btw)
03:42:32 <Toreun> (especially because it's overused WAY TOO MUCH)
03:42:36 <Toreun> (yeah, I'll stop ranting now)
03:42:58 <WildHalcyon__> lol, thats perfectly fine, no.. its more of a joke language
03:43:07 <Toreun> oh?
03:43:14 * Toreun googles it
03:43:29 <WildHalcyon__> it has random undefined behavior
03:43:35 <Toreun> ah, perfect time for my internet to crap out on me
03:43:56 <Toreun> ah, yes, so it's a lot like java
03:43:57 <WildHalcyon__> something works alright only 90% of the time, including the 90%
03:44:24 <Toreun> lol
03:44:28 <Toreun> what about that statistic?
03:45:02 <Toreun> and then that statistic?
03:45:28 <WildHalcyon__> "Java2K is not a deterministic programming language, but a probabilistic one. Even for built-in functions, there is only a certain probability the function will do whatever you intend it to do. All Functions have two different implementations. At runtime, based on a pseudo-RNG, the actual implementation is choosen. This is in line with common physicalist assumptions about the nature of the universe - there is never absolute securi
03:45:42 <WildHalcyon__> ays only probability"
03:45:43 <Toreun> yeah. so I'll stop with the probability theory.
03:47:15 <WildHalcyon__> lol, its crzy
03:47:21 <Toreun> yeah
03:47:39 <Toreun> hmm... I guess if EVERYTHING holds true to the 90% of the time thing, we'd have a paradox
03:47:51 <Toreun> because it would become 0% eventually
03:48:10 <WildHalcyon__> well, theres one instruction which would operate 100%... Im trying to remember what it is, I think its an if statement
03:49:42 <Toreun> ah
03:49:44 <Toreun> that's no fun
03:49:53 <Toreun> I want a 90% chance of the if being an ifnot
03:50:19 <WildHalcyon__> there's one of those too, but this instruction is set up so that you can make it 99.9, or 99.99%
03:50:27 <Toreun> oh
03:50:39 <WildHalcyon__> Im sorry, Im not explaining it right
03:50:46 <WildHalcyon__> http://p-nand-q.com/humor/programming_languages/java2k.html
03:50:59 <Toreun> yeah, I think I'm on that site
03:51:02 <Toreun> yes, I am
03:52:26 <WildHalcyon__> but the manual is 404, you can get it cached one google though
03:52:38 <Toreun> yeah
03:58:13 <WildHalcyon__> brb, phone conversation distracting me
03:58:15 <Toreun> k
04:00:52 <WildHalcyon__> Phew... finally!
04:01:08 <Toreun> heh
04:01:18 <WildHalcyon__> so I've been looking at other langs (especially esolangs) to see what ideas I can 'borrow' (I prefer steal) to include
04:01:42 <Toreun> well, I'm writing up formal specs for my lang right now, actually
04:01:47 <Toreun> it's a 2D language
04:01:54 <Toreun> that was inspired by befunge
04:02:10 <WildHalcyon__> is it very similar to befunge, or is it more like argh or enema?
04:02:19 <Toreun> I'm not familiar with those two
04:02:24 <Toreun> but no, it's not similar to befunge
04:02:34 <Toreun> it's two dimensional
04:02:37 <Toreun> that's about it, I guess
04:03:05 <WildHalcyon__> the thing that I really like about two dimensional languages is that there's no need for for- and while- loop syntax, because you can just write your own
04:03:23 <Toreun> yeah
04:03:54 <WildHalcyon__> what else is special about it?
04:04:01 <Toreun> it has a stack and a queue
04:04:13 <Toreun> and it's self-modifying techniques I consider pretty original
04:05:44 <Toreun> here's the instruction list: http://www.toreun.org/quast/esolang.txt
04:05:49 <Toreun> it's not a specification, though
04:05:57 <Toreun> so a lot might be unexplained and confusing
04:06:31 -!- WildHalcyon has joined.
04:07:52 <WildHalcyon> its looks okay
04:09:11 <WildHalcyon> so there's a stack and a queue?
04:09:23 <Toreun> yeah
04:10:04 <Toreun> an a section called the "void" which is basically temp memory for operations
04:10:08 <Toreun> and a buffer
04:10:13 <Toreun> for numbers
04:11:02 <WildHalcyon> ohh, ok
04:11:25 <Toreun> http://www.toreun.org/quast
04:11:39 <Toreun> there's my interpreter, and my brainfuck interpreter
04:11:52 <Toreun> I'm off to bed, I'll finalize my specification tomorrow
04:12:01 <Toreun> g'night
04:12:01 <WildHalcyon> night then
04:12:34 <WildHalcyon> Im out of here too
04:12:37 -!- WildHalcyon has left (?).
04:22:41 -!- WildHalcyon__ has quit (Read error: 110 (Connection timed out)).
05:38:26 -!- WildHalcyon has joined.
05:57:32 -!- WildHalcyon has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:11:50 -!- deltab has quit (Read error: 110 (Connection timed out)).
11:45:38 -!- kosmikus|away has changed nick to kosmikus.
14:08:33 -!- Toreun has quit (orwell.freenode.net irc.freenode.net).
14:20:39 -!- deltab has joined.
15:10:21 -!- Toreun has joined.
16:46:18 -!- calamari_ has joined.
16:46:20 <calamari_> hi
16:46:46 <Toreun> hi
16:51:30 <Toreun> what's new, calamari_?
16:56:32 <calamari_> not too much.. haven't worked on anything since I released bfasm 0.10
16:56:52 <Toreun> oh, can I take a look at that?
16:57:31 <calamari_> sure :) http://www.kidsquid.com/compilers/bfasm/bfasm.html
16:58:45 <Toreun> what syntax does it use? nasm?
16:59:35 <calamari_> I made up my own syntax for it based on what would be easiest to parse
17:00:47 <calamari_> 3 letter instruction.. operands (spaces or tabs are ignored)
17:01:23 <calamari_> it looks pretty normal, though.. for example: mov r1, r2
17:01:26 <Toreun> yeah, I see
18:10:00 -!- kosmikus has changed nick to kosmikus|away.
18:35:53 -!- kosmikus|away has quit (Read error: 104 (Connection reset by peer)).
18:38:37 <lament_> calamari_: so are you going to compile C to it?
18:39:51 -!- kosmikus|away has joined.
18:53:07 <calamari_> lament: yeah, I still want to do that
18:53:28 <calamari_> it can't be ANSI C, tho
18:53:49 <calamari_> and that might upset some purists
18:54:00 <Taaus> Bah. C is so boring. Implement B instead!
18:54:21 <calamari_> BCPL ?
18:55:07 <Taaus> No, B. I believe it came somewhere in-between BCPL and C.
18:55:15 <deltab> yep
18:55:44 <Taaus> From what I've seen, it's something like a typeless C.
19:03:39 <calamari_> neat, B looks a lot closer to what I'll be doing: http://cm.bell-labs.com/cm/cs/who/dmr/btut.html
19:51:37 -!- lament_ has changed nick to lament.
20:46:17 -!- calamari- has joined.
21:06:20 -!- calamari_ has quit (Read error: 110 (Connection timed out)).
22:14:23 -!- iamcal has joined.
2004-06-29
01:05:14 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
01:25:51 -!- calamari- has quit (Read error: 110 (Connection timed out)).
01:26:05 -!- calamari_ has joined.
02:22:45 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
02:23:55 -!- cmeme has joined.
04:09:33 <calamari_> cyas
04:09:34 -!- calamari_ has quit ("Leaving").
05:07:56 -!- iamcal has quit ("stuff to do").
05:24:27 -!- Toreun has joined.
05:56:37 -!- WildHalcyon_ has joined.
05:57:53 <Toreun> Hi WildHalcyon_
06:07:05 -!- calamari_ has joined.
06:07:35 <calamari_> hi
06:07:52 <Toreun> hi calamari_
06:16:16 -!- WildHalcyon_ has quit (Read error: 110 (Connection timed out)).
06:26:11 <calamari_> bedtime.. bbl :)
06:26:13 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
12:16:27 -!- Toreun has quit (Read error: 54 (Connection reset by peer)).
12:26:24 -!- kosmikus|away has changed nick to kosmikus.
15:42:49 -!- Toreun has joined.
16:35:22 -!- kosmikus has quit (orwell.freenode.net irc.freenode.net).
16:35:23 -!- ChanServ has quit (orwell.freenode.net irc.freenode.net).
16:35:23 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
16:36:28 -!- ChanServ has joined.
16:36:28 -!- kosmikus has joined.
16:36:28 -!- mtve has joined.
16:36:28 -!- irc.freenode.net has set channel mode: +o ChanServ.
17:44:07 -!- calamari_ has joined.
17:44:10 <calamari_> hi
17:48:59 <Toreun> hi
17:52:29 <calamari_> I just had a thought about BF.. it's not quite symmetric. "[ ] = while (*p) { }", but there is no "{ } = while (p) { }".. with that you could do {<} to set p =0
17:53:34 <Toreun> is that really necessary though? do you have to keep track of the absolute pointer location?
17:54:01 <lament> calamari_: pointer locations aren't numbered
17:54:09 <lament> there's just "left" and "right"
17:54:10 <Toreun> I would think that it would detract from the "purity"? of BF
17:54:29 <calamari_> it's not necessary, but neither is - (you can just loop around with +'s)
17:54:43 <lament> calamari_: no, that's implementation-dependent
17:54:46 <calamari_> lament: you are missing the point entirely
17:54:48 <Toreun> and by that logic, neither is < or >
17:54:49 <lament> calamari_: your numbers might be infinite
17:57:06 <lament> your memory space might also be infinite
17:57:27 <Toreun> exactly
17:57:38 <calamari_> lament: there's nothing saying that cells in bf are positive only, or finite.. this is true.. but that makes [-] equally as valid as {<}
17:57:55 <calamari_> because with a negative cell, [-] goes off to infinity
17:58:05 <calamari_> (negative infinity that is)
17:58:12 <lament> but the real problem with {} is that it's so completely useless
17:58:18 <lament> for anything but the {-} construct
17:58:24 <lament> er=
17:58:27 <lament> i mean the {<}
17:58:47 <lament> and so easily replaceable with a sentinel in any case
17:59:06 <calamari_> lament: not true.. you can do "add" loops to set big pointers
18:00:12 <calamari_> but.. like I said, it's not needed... but not as symmetric without it
18:00:41 <lament> meh
18:03:00 <Toreun> just wondering, did anyone ever make brainfuck-native hardware? I read something about it awhile, and I'm just wondering if anything happened with it
18:03:12 <calamari_> hmm.. { } makes it possible to get/set the mp from a cell value during program execution making arrays much less wasteful
18:03:32 <calamari_> toreun: I think they made a chip and showed it at a demo party?
18:03:45 <calamari_> but that could be way off
18:04:23 <Toreun> hmm well I guess that could always be a college engineering design project.
18:04:49 <calamari_> I was reading about a MOVE machine earlier, seems pretty interesting (move is the only "instruction", i/o and jmps are memory mapped)
18:05:47 <Toreun> interesting
18:06:08 <calamari_> http://www.cs.uiowa.edu/~jones/arch/risc/
18:10:06 <lament> http://www.cs.uiowa.edu/~jones/arch/risc/
18:10:09 <lament> oops
18:11:51 <lament> calamari_: hm, that's a fairly neat one
18:11:58 <lament> i like it more than OISC
18:12:34 <lament> cool page
18:26:00 <lament> aww
18:26:25 <lament> this link is broken: http://www.cs.eku.edu/~styer/oisc.html
18:26:26 <lament> :(
18:59:46 -!- kosmikus has changed nick to kosmikus|away.
19:11:57 -!- calamari- has joined.
19:28:51 -!- calamari_ has quit (Connection timed out).
19:48:20 -!- calamari- has quit (Connection timed out).
20:30:48 -!- calamari_ has joined.
20:30:55 <calamari_> lament: http://web.archive.org/web/20030425001315/http://www.cs.eku.edu/~styer/oisc.html
20:32:39 -!- calamari_ has changed nick to calamari.
21:19:52 -!- WildHalcyon has joined.
22:11:05 -!- rapidly_constant has joined.
22:21:24 -!- rapidly_constant has quit ("{Linux|Pakistan} Rocks! - http://www.linuxpakistan.net/chat/").
22:28:30 -!- WildHalcyon has quit (Read error: 110 (Connection timed out)).
22:53:06 -!- kosmikus|away has changed nick to kosmikus.
23:34:44 -!- iamcal has joined.
2004-06-30
00:10:05 -!- calamari has quit ("Leaving").
00:35:09 -!- kosmikus has changed nick to kosmikus|away.
03:04:39 -!- cmeme has quit (orwell.freenode.net irc.freenode.net).
03:04:39 -!- deltab has quit (orwell.freenode.net irc.freenode.net).
03:04:40 -!- lament has quit (orwell.freenode.net irc.freenode.net).
03:04:40 -!- iamcal has quit (orwell.freenode.net irc.freenode.net).
03:04:40 -!- Toreun has quit (orwell.freenode.net irc.freenode.net).
03:08:01 -!- cmeme has joined.
03:12:06 -!- iamcal has joined.
03:12:06 -!- Toreun has joined.
03:20:41 -!- deltab has joined.
03:20:41 -!- lament has joined.
04:12:30 -!- WildHalcyon has joined.
05:22:33 -!- WildHalcyon_ has joined.
05:40:02 -!- WildHalcyon has quit (Read error: 110 (Connection timed out)).
07:15:39 -!- WildHalcyon has joined.
07:33:08 -!- WildHalcyon_ has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:44:05 -!- WildHalcyon has left (?).
10:35:28 -!- kosmikus|away has changed nick to kosmikus.
13:51:22 -!- Keymaker has joined.
13:51:32 <Keymaker> evening
14:04:07 <Keymaker> hmmm, 'dinner' time..
15:06:00 <Keymaker> hmm, bye
15:06:03 -!- Keymaker has quit.
16:53:22 -!- calamari_ has joined.
17:38:18 -!- kosmikus has changed nick to kosmikus|away.
18:20:19 -!- calamari_ has quit ("Leaving").
18:30:47 -!- WildHalcyon has joined.
18:38:59 -!- kosmikus|away has changed nick to kosmikus.
20:56:10 -!- WildHalcyon has quit (Read error: 60 (Operation timed out)).
22:22:00 -!- Toreu1 has joined.
22:22:00 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
22:22:09 -!- Toreu1 has left (?).
22:22:10 -!- Toreu1 has joined.
22:22:15 -!- Toreu1 has changed nick to Toreun.
22:28:54 -!- Toreun has quit ("Download Gaim: http://gaim.sourceforge.net/").
22:38:27 -!- Toreun has joined.
23:18:59 -!- ChanServ has quit (Shutting Down).
23:19:00 -!- Toreun has quit (Read error: 104 (Connection reset by peer)).
23:20:46 -!- ChanServ has joined.
23:20:46 -!- irc.freenode.net has set channel mode: +o ChanServ.
23:50:36 -!- Toreun has joined.
←2004-05 2004-06 2004-07→ ↑2004 ↑all