←2008-01-27 2008-01-28 2008-01-29→ ↑2008 ↑all
00:00:07 <ehird> my concatentative language will have a way to run functions in a specific stack :D
00:00:19 <ehird> [2 3] {+} runInStack
00:00:32 <ehird> -> [5]
00:00:43 <ehird> this incidentally makes a repl very easy. :p
00:01:01 <ehird> (methinks a stack will also have a lexical closure: so variables inside it are local to it)
00:01:17 <ehird> which is VERY esoteric :)
00:01:33 <pikhq> :)
00:04:15 <ehird> pikhq: stacks have lexical closure idea: y/n
00:04:22 <pikhq> y
00:05:21 <ehird> :D
00:05:52 <slereah__> I should make a C version of Lazy Bird.
00:06:02 <slereah__> Though the idea of going back to C doesn't thrill me.
00:07:09 <slereah__> What's a good C tutorial?
00:08:31 <pikhq> The C Programming Language.
00:09:11 -!- Tritonio_ has joined.
00:10:37 <slereah__> Thank god for Bittorrent.
00:19:24 -!- Asztal has joined.
00:20:04 -!- ehird has quit ("This computer has gone to sleep").
00:36:48 -!- adu has joined.
00:37:01 <adu> hi
00:37:24 <adu> My hash-language has reached version 0.0.1!
00:37:29 <adu> this is a big step
00:43:51 * pikhq now has time for PEBBLE-tastic stunts
00:43:59 <pikhq> Hmm.
00:44:14 <pikhq> Now, back to the drawing board for the ultimate in Brainfuck-targetting languages. :p
01:08:53 <adu> my hash-language is so advanced, you can make classes in it now :)
01:09:35 <pikhq> PEBBLE is so unadvanced, I don't have arrays in it now.
01:09:37 <pikhq> :)
01:09:40 <adu> counter = (count = 0, tick = (counter = (counter.count = (counter.count + 1))))
01:09:57 <adu> thats how you make a counter object
01:10:51 <adu> counter.tick increments the count by redefineing the object as the output of that expression
01:11:40 <adu> to make a class, just abstract the name with a pattern
01:12:28 <adu> makeCounter = (\name = (count = 0, tick = (\name = (\name.count = (\name.count + 1)))))
01:12:31 <adu> so simple
01:13:13 <oerjan> should there really be \'s on the \names after the first one?
01:13:41 <adu> oerjan: i dunno I haven't implemented patterns yet, just hash's and lists :)
01:15:08 <adu> oerjan: but not that you mention it, I think you're right, only the first one needs a pattern escape
01:15:27 -!- Corun has joined.
01:15:37 <oerjan> possibly you need the first to be doubled
01:16:02 <oerjan> one for the actual pattern, one for assigning to it
01:16:05 <adu> oerjan: why? for obfuscation purposes?
01:16:17 <adu> hmm
01:16:34 <oerjan> well i am thinking lambda calculus
01:16:49 <adu> oerjan: this is close to lambda calculus, its hash-calculus :)
01:17:50 <adu> since the objects of my lang are kind of bastardizations of both lambdas and hashes, I'm thinking of calling them something else...
01:18:12 <adu> phrases
01:18:31 <adu> but then again, that doesn't really make it clear
01:19:08 <adu> I'll let you know when I implement patterns
01:19:51 -!- adu has quit (Remote closed the connection).
02:10:37 -!- chuck has joined.
02:59:34 -!- oerjan has quit ("leaving").
03:00:24 -!- GreaseMonkey has joined.
03:01:36 -!- adu has joined.
03:03:27 -!- Corun has quit ("This computer has gone to sleep").
04:07:14 -!- adu has quit ("Computer went to sleep").
04:17:55 -!- oerjan has joined.
04:25:52 <RodgerTheGreat> oh, joy. We will begin learning scheme in my programming languages class tomorrow!
04:26:04 <RodgerTheGreat> I already know some lisp, so this should be fun
04:26:38 <RodgerTheGreat> I'm not sure it'll beat out LOGO as my favorite Lisp-derivative, though
04:36:43 <GreaseMonkey> RodgerTheGreat: i'm learning an esolang known as "Java"
04:36:48 <GreaseMonkey> you might know it
04:37:28 <RodgerTheGreat> I've heard of it
04:38:40 <GreaseMonkey> i'm trying to get the jvm running under linux
04:40:17 -!- GreaseMonkey has quit (Remote closed the connection).
04:42:00 <RodgerTheGreat> shouldn't be that difficult
05:16:05 -!- adu has joined.
05:55:21 -!- GreaseMonkey has joined.
05:56:49 -!- oerjan has quit ("leaving").
07:21:04 -!- adu has quit (Remote closed the connection).
07:23:21 -!- Hiato has joined.
07:40:12 -!- Hiat1 has quit (Read error: 110 (Connection timed out)).
07:50:02 -!- AnMaster has quit (Client Quit).
07:54:22 <slereah__> Hell, I don't remember C having such a strict syntax.
07:54:36 <slereah__> Or maybe it's just my compiler
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:45 <oklopol> zibii dibbi doubibay!
08:06:50 <oklopol> *zibbi
08:07:48 <oklopol> o
08:08:04 <oklopol> slereah__: whutta ya mean?
09:25:32 -!- GreaseMonkey has quit ("i can has sleep").
09:33:03 -!- Hiato has quit (Read error: 110 (Connection timed out)).
09:50:52 -!- AnMaster has joined.
10:15:31 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
10:15:42 -!- slereah__ has joined.
10:17:21 <slereah__> oklopol: I tried {\nprintf("Hello, world!"\n}, (replace \n with as appropriate), and it didn't work.
10:17:40 <slereah__> I had to put *two* carriage return after the printf.
10:17:50 <slereah__> My mind was quite boggled.
10:19:54 <oklopol> what language is that?
10:21:59 <slereah__> C.
10:22:18 <slereah__> It seems like such an arbitrary difference!
10:22:32 <oklopol> umm wut
10:26:39 -!- oklofok has joined.
10:26:39 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
10:33:32 -!- Slereah has joined.
10:48:30 -!- slereah__ has quit (Read error: 110 (Connection timed out)).
10:51:37 <AnMaster> slereah__, err? aren't you missing a ; after the printf statement
10:52:12 <AnMaster> Slereah, printf("Hello, world!\n"); looks like *normal* C
10:53:00 <oklofok> apparently two newlines equals a semicolon :-)
10:53:11 <AnMaster> ah
10:53:16 <AnMaster> it does?
10:53:30 <oklofok> well, didn't Slereah say so?
10:54:20 <AnMaster> oklofok, gcc doesn't think it does
10:54:44 <oklofok> me neither
10:55:23 <Slereah> Well, I put in a semicolon
10:55:34 <Slereah> But it wasn't that
10:56:05 <Slereah> Somehow, some way!
10:56:07 <AnMaster> err btw why do you consider C an esoteric language?
10:56:08 <oklofok> well, the last character does have to be a newline
10:56:20 <Slereah> AnMaster: I don't
10:56:21 <oklofok> AnMaster: i don't think he does
10:56:23 <AnMaster> ah
10:56:31 <Slereah> I'm trying to make an interpreter for Lazy Bird on it
10:56:33 <AnMaster> Slereah, well if you could post a test case I would be interested
10:56:41 <AnMaster> "lazy bird" being?
10:56:52 <oklofok> i'm pretty sure he meant there needed to be a newline after }
10:56:54 <Slereah> http://www.esolangs.org/wiki/Lazy_Bird
10:56:59 <oklofok> at least in c++ you need that newline
10:57:03 <Slereah> It can be quite painfully slow in Python
10:58:15 <AnMaster> http://rafb.net/p/ZzXas459.html
10:59:09 <AnMaster> and well I set my emacs to always make sure there is one ending newline, stuff like diff doesn't like it otherwise
10:59:17 <Slereah> Apparently.
10:59:32 <Slereah> Crazy crazy world.
11:00:14 <AnMaster> huh?
11:00:21 <Slereah> Forget it.
11:42:10 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
11:42:53 -!- puzzlet has joined.
12:01:21 -!- Corun has joined.
12:01:59 -!- Corun has quit (Client Quit).
12:11:36 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:13:49 -!- puzzlet has joined.
12:49:22 -!- puzzlet has quit (Remote closed the connection).
12:57:35 -!- puzzlet has joined.
13:06:49 -!- ais523 has joined.
13:08:52 -!- ais523 has changed nick to ais523_.
13:09:28 -!- ais523_ has changed nick to ais523.
13:49:17 -!- puzzlet_ has joined.
13:55:12 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
13:55:17 -!- puzzlet_ has joined.
14:02:02 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
14:02:21 -!- helios24 has joined.
14:02:40 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
14:06:14 -!- Slereah has joined.
14:10:09 -!- RedDak has joined.
14:12:37 -!- ehird has joined.
14:17:47 <ehird> I just realised how ugly OS X's link cursor is
14:17:51 <ehird> It looks like it' from OS9. probably is. :|
14:18:42 <RodgerTheGreat> link cursor?
14:18:54 <RodgerTheGreat> the hand?
14:20:26 <ais523> BTW, ehird, I rewrote the Underload compiler in Haskell
14:20:48 <ais523> how do I show you the new changes? Is it just darcs push (I've already 'record'ed it)
14:21:40 -!- oerjan has joined.
14:25:41 -!- puzzlet_ has quit (Remote closed the connection).
14:50:12 -!- puzzlet has joined.
14:51:57 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
14:53:01 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
14:55:13 -!- puzzlet has joined.
15:00:13 -!- ehird has quit (Read error: 113 (No route to host)).
15:21:31 -!- puzzlet_ has joined.
15:27:37 -!- timotiis has joined.
15:34:21 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
15:47:43 -!- RedDak has quit (Read error: 110 (Connection timed out)).
15:48:35 -!- RedDak has joined.
15:55:28 -!- ais523 has quit ("back in maybe about 70/80 mins, maybe longer").
15:58:18 -!- danopia` has joined.
16:10:55 -!- jix has joined.
16:15:21 -!- danopia has quit (Connection timed out).
16:40:55 -!- molchuvka has joined.
16:41:36 -!- molchuvka has quit (Client Quit).
16:57:41 -!- ehird has joined.
16:57:46 <ehird> INTERESTING IDEA:
16:58:00 <ehird> lambda calculus self-interp
17:03:13 <Slereah> It fills me with fear.
17:09:40 <ehird> nah
17:14:13 -!- Corun_ has joined.
17:28:23 <ehird> I am writing a languae with this syntax:
17:28:37 <ehird> expr := '0' | '1' expr expr expr
17:28:41 <ehird> I don't know the semantics yet!
17:29:55 <Slereah> WHAT IF IT WAS BINARY CODE FOR SOMETHING :o
17:30:41 <Asztal> is that "('0') ('1' expr expr expr)" or "('0' | '1') expr expr expr"?
17:31:09 <oerjan> nah, clearly it is a continuation-passing combinator calculus
17:32:04 <oerjan> Asztal: the latter could never end...
17:32:27 <ehird> Asztal: former
17:32:31 <Slereah> Well, why not.
17:32:37 <ehird> oerjan: continuation passing combinator calculus = win
17:32:47 <ehird> but.. not much use for it.. you could drop all but the last expression
17:32:48 <ehird> :P
17:33:06 <Slereah> Man, I hate C.
17:33:34 <ehird> Slereah: You're trying to use it like a high level language. stop it.
17:33:46 <Slereah> Or am I?
17:33:49 <Slereah> I don't know.
17:33:49 <ehird> oerjan: I want to make it involve state somehow!
17:34:02 <ehird> Slereah: think about the raw hardware, and machine code.
17:34:03 <oerjan> yuck! impurity!
17:34:06 <ehird> you'll understand c a lot better
17:34:17 <ehird> oerjan: It's being implemented in haskell, so that's okay. You can pretend they're monads. :(
17:34:22 <Slereah> Will I also use it a lot better?
17:34:36 <ehird> Slereah: Yes
17:35:22 <Slereah> Can't I just hire a million monkeys on a million laptops to do the job instead?
17:35:26 <ehird> No
17:36:04 * oerjan wonders if there actually are that many monkeys in the world
17:36:12 <ehird> oerjan: I don't get the State monad. Just StateT :D
17:36:25 <Slereah> Well, I'm not picky.
17:36:32 <ehird> What return type should my stateful function have?
17:36:46 <Slereah> I'll take any chimps, otters and raccoon too
17:36:50 <Slereah> As long as they have some sort of fingers
17:37:10 <oerjan> the State monad is isomorphic to StateT Identity
17:37:20 <oerjan> Identity is the trivial monad
17:37:49 <ehird> oerjan: Very helpful. Now can you take off your pointy hat and explain how 'I can has state'? :P
17:37:50 <oerjan> no side effects included
17:38:59 <Slereah> Magic, obviously
17:39:21 <oerjan> um State WhateverStateYouUse WhatEverValueYourActionReturns
17:41:05 <ehird> WhateverStateIUse = like, Int if i want to store an int?
17:41:16 <ehird> Should be State Expr Expr then.
17:41:23 <oerjan> right
17:43:43 <ehird> evalState, yes?
17:43:57 <ehird> and I can just call my state function recursively and it'll all get updated into my monad, and al ltaht crap
17:43:59 <ehird> Good.
17:44:05 <oerjan> if you only want the value returned, evalState
17:44:18 <oerjan> if you also want the final state, runState
17:44:52 <oerjan> (if you only want the final state, execState)
17:45:37 <ehird> Um how do I update the state D:
17:45:45 <ehird> and retreive it, inside the monad
17:45:49 <oerjan> put and get
17:45:54 <ehird> kthx :P
17:46:08 -!- ais523 has joined.
17:46:15 <ehird> HELLO ais523
17:46:20 <ais523> hello ehird
17:46:32 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-State-Lazy.html
17:46:35 <ais523> I wrote a Haskell version of the Underload compiler
17:46:38 <ais523> just like you asked
17:46:47 <ais523> how do I commit it with darcs?
17:46:51 <oerjan> um wait
17:47:03 <ehird> ais523: haha
17:47:05 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-State-Class.html
17:47:07 <ehird> darcs record
17:47:09 <ehird> then darcs push
17:47:13 <oerjan> for get, put and a couple more
17:47:19 <ehird> and i'll nitpickily fix it around ;)
17:47:25 <ehird> ais523: does it produce the exact same output?
17:47:32 <ais523> ehird: no
17:47:42 <ais523> it combines identical codeblocks into the one case element
17:48:07 <ais523> with that turned off, though, it's identical output except with some of the codeblocks in a different order and with different numbers
17:48:32 <ais523> I've pushed 5 patches at you
17:48:49 <ais523> I was using darcs record for versioning by myself while I didn't have Internet access
17:49:56 <ais523> and oerjan: I did think about using a state monad, but in the end decided it was overkill because a simpler method would work
17:50:00 <ais523> I do like monads in general, though
17:50:13 <ais523> I used Parsec's Parser monad for the parsing
17:51:04 <ehird> ais523: oh damn
17:51:07 <ais523> what?
17:51:13 <ehird> nothing, i'll ahve to look at the code
17:51:30 <ehird> because there was an obscure problem i ran into doing something like that the first time i wrote it.
17:51:37 <ais523> what was the problem?
17:51:42 <ehird> i forgot :|
17:52:14 <ehird> also, parsec is pretty useless for thius.. it'll just make the code bigger
17:52:37 <ais523> it's decent at nesting the ()
17:53:05 <ais523> and it produces great error messages!
17:53:38 -!- RedDak has quit (Read error: 113 (No route to host)).
17:54:06 <Slereah> Segmentation fault (core dumped)
17:54:11 <ais523> you do need some sort of monad for parsing, though; there's no other easy way to chain together the 'how much have I already parsed'ness
17:54:12 <Slereah> By Lucifer's beard!
17:54:14 <ehird> Slereah: you fucxked up memory.
17:54:20 <Slereah> Apparently.
17:54:31 <Slereah> Either that or the warp core was dropped.
17:54:59 <ais523> with assigning unique numbers to codeblocks the full monadness wasn't needed because they followed a reasonably predictable-in-advance pattern
17:55:12 <ais523> so there was no need to return the new next number, just whether you'd used up a number or not
17:56:49 <ais523> besides, optimising the compiler for size isn't really that important; it's the size and speed of its output that's important
17:56:52 <Slereah> Ah, the string's too long.
17:56:58 <ais523> and the output is still apparently leaking memory...
17:58:12 <ehird> ais523: i made a change
17:58:16 <ehird> pull?
17:58:41 <ais523> darcs failed: Not a repository: elliotthird.org:/home/darcs/underload (user error ((scp) failed to fetch: elliotthird.org:/home/darcs/underload/_darcs/inventory))
17:58:45 <ehird> o_O
17:58:55 <ehird> wtf
17:59:02 <ais523> it confused me too
18:03:27 <ais523> ehird: http://elliotthird.org doesn't list underload anywhere, but I'm not sure if it's meant to
18:03:55 <ais523> I can ssh to your server without problem, so it's not an auth problem, although I just logged out again rather than looking around to find out what the problem could have been
18:04:18 <ehird> wtf
18:04:20 <ehird> that's bizzare
18:04:25 <ehird> it should list it yes
18:18:26 <ais523> oerjan: I've just blocked the spambots you were having trouble with on Saturday
18:19:22 <oerjan> ais523: ok btw there were a couple new pages included which need to be deleted
18:19:28 <ais523> done that as well
18:21:18 <oerjan> thanks
18:22:31 <oerjan> oh no i've been doomed... :)
18:22:42 <ais523> sorry
18:30:12 <oklofok> !
18:30:16 <EgoBot> Huh?
18:34:29 <Asztal> !emo
18:34:32 <EgoBot> Huh?
18:35:21 <ais523> EgoBot will generally respond to anything starting with !.
18:35:25 <ais523> !ul (Huh?)S
18:35:28 <EgoBot> Huh?
18:59:46 -!- UnrelatedToQaz has joined.
19:00:18 <UnrelatedToQaz> Who's BP? The fuel company?
19:01:42 <ais523> that was somewhat out of context
19:02:09 <UnrelatedToQaz> I've only just come in, I exist outside of context.
19:02:14 <UnrelatedToQaz> I just saw the title.
19:03:26 <ais523> it's probably an old topic from years ago
19:03:33 <ais523> they seem to be in vogue at the moment
19:06:55 <ehird> no
19:06:56 <ehird> it isn't
19:07:03 <ehird> it's based on my The Last Question topic nostalgia lame gag
19:07:16 -!- ehird has set topic: And fuel companies--.
19:09:22 <UnrelatedToQaz> What time is i
19:09:25 <UnrelatedToQaz> t?
19:09:32 <ais523> 19:09 UTC
19:09:41 <ais523> sorry, 19:10 UTC
19:09:45 <UnrelatedToQaz> not utc, local
19:09:58 * ais523 lives in UTC at the moment
19:10:07 <ais523> and in UTC+1 during summertime
19:10:07 <oerjan> 20:10
19:10:15 <UnrelatedToQaz> oh, ok then
19:10:29 <UnrelatedToQaz> utc's me too
19:11:03 <UnrelatedToQaz> it's just it seemed quiet
19:12:27 -!- UnrelatedToQaz_ has joined.
19:12:36 -!- UnrelatedToQaz_ has quit (Client Quit).
19:21:06 <RockerMONO> hi
19:26:00 <ais523> hello
19:30:02 -!- UnrelatedToQaz has quit (Read error: 110 (Connection timed out)).
19:34:31 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
19:35:32 -!- puzzlet has joined.
19:40:43 -!- danopia` has changed nick to danopia`school.
19:42:41 -!- danopia`school has changed nick to danopia.
19:44:14 -!- danopia has quit ("2b || !2b").
19:44:29 -!- danopia has joined.
20:08:25 -!- ehird has quit ("This computer has gone to sleep").
20:10:07 -!- Insane has joined.
20:10:09 <Insane> Hey
20:10:21 <Insane> I'm trying to run the 99 bottles of beer program in Malbolge
20:10:22 -!- eagle-101 has joined.
20:10:29 <Insane> On my homemade interpreter
20:10:38 <Insane> But apparantly it's "gzipped" and "uuencoded"
20:11:24 <ais523> you must have the old program that just printed out the literal text
20:11:30 <Insane> Yeah
20:11:33 <ais523> rather than using a loop
20:11:40 <ais523> there's a newer version on 99-bottles-of-beer.net
20:11:42 <ais523> that does loop
20:11:44 <Insane> Well the new program only pritns out three characters that are well above the 20k range
20:11:51 <Insane> For some reason
20:11:59 <ais523> uuencoded gzip should be plaintext
20:12:00 <Insane> It's the only program that didn't run correctly so far
20:12:05 <ais523> because that's what uuencode does
20:12:25 <Insane> Hrm
20:12:34 <Insane> Why can't WinRAR open the file when saved as .zip?
20:12:37 <Insane> the old version
20:12:54 <Insane> ACtually, can somebody unzip and uudecode it for me, and upload the resulting program?
20:13:07 <Insane> Otherwise, I'll just forget 99 bottles and stick with the ~5 text outputting programs
20:16:35 <ais523> the program itself isn't zipped and uuencoded
20:16:38 <ais523> it's the output that is
20:16:49 <Insane> Ooh
20:16:52 <ais523> because they couldn't fit the entire song into the program otherwise
20:16:53 <Insane> so why does it fail to run?
20:17:01 <ais523> don't know
20:17:04 <Insane> Meh
20:17:17 <ais523> BTW, you can recognise uuencoded text by a line that generally starts begin 644
20:17:25 <ais523> although the numbers are sometimes different
20:17:28 <Insane> I think it's becasue I'm following wikipedia's simplified guide instead of the actual specification
20:17:43 <ais523> the spec and sample interpreter contradict each other
20:17:48 <Insane> Well that too
20:17:49 <Insane> I mean
20:17:53 <ais523> most programs are written to follow the interpreter rather than the spec
20:17:55 <Insane> I'm not even following the sample interpreter
20:18:05 <Insane> I'm following what I say on wikipedia
20:18:12 <Insane> *saw
20:18:32 <eagle-101> ais523, follow the sample interpreter :)
20:18:35 <eagle-101> gah Insane
20:19:05 <bsmntbombdood> hey, this is a delicious drink
20:19:15 <Insane> Bah
20:19:39 <Insane> I'll just accept the fact that it works for the small programs
20:20:02 <ais523> Esolang seems to agree with Wikipedia, anyway
20:20:16 <Insane> hm
20:20:36 <Insane> The guide on wikipedia says nothing of decryption, and nothing of "subtracting 33" at any time, while the example interpreter does both of that
20:20:39 <Insane> so I wonder
20:21:58 <ais523> one of the decryption stages cancels itself out
20:22:12 <ais523> or to be more precise, instead of decrypting the program, you can encrypt the spec to get the same result
20:22:20 <ais523> which is what the Wikipedia and Esolang guides do
20:22:45 <Insane> Hmm
20:22:47 <Insane> oh ok
20:22:49 <Insane> That explains it
20:23:00 <Insane> So why doesn't 99 bottles of beer run on mine?
20:23:00 <SimonRC_> apparently ESR didn't write the Jargon Dictionary, Steele did http://www.infoq.com/presentations/fortress-steele
20:23:04 <SimonRC_> (see summary)
20:23:06 <SimonRC_> X-P
20:23:15 <ais523> maybe there's a bug in your interpreter
20:23:27 <ais523> are you encrypting commands correctly after they've run, for instance?
20:23:45 <ais523> after you run a command, you encrypt the command immediately before the next command to be run
20:24:01 <ais523> which is usually the command that just run, but usually not if the command that just run was a jump
20:24:13 -!- SimonRC_ has changed nick to SimonRC.
20:24:17 <ais523> most simple Malbolge programs avoid jumps altogether so that the encryption doesn't matter
20:24:31 <Insane> Well that's what I think I have wrong
20:24:39 <Insane> Since the wikipedia guide was extremely fuzzy on that matter
20:24:42 <Insane> Here's what I'm doing:
20:25:02 <Insane> After execution, if it WASN't a jump, it encrypts the current instruction
20:25:15 <Insane> if it was a jump, it encrypts the instruction before the current one
20:25:21 <ais523> no
20:25:26 <Insane> hm?
20:25:30 <ais523> if it wasn't a jump, it encrypts the instruction that just run
20:25:36 <Insane> after that, it increases C and D regardless
20:25:40 <ais523> if it was a jump, it encrypts the instruction before the one jumped to
20:25:41 <Insane> erm
20:25:47 <Insane> hm
20:25:53 <Insane> ISn't that the same thing?
20:26:13 <ais523> you said 'encrypts the current instruction' the first time
20:26:16 <Insane> Look:
20:26:19 <ais523> although it's probably not what you meant
20:26:29 <Insane> if it wasn't a jump, it encrypts [C]
20:26:34 <Insane> if it was a jump, it encrypts [C-1]
20:26:50 <Insane> Where jump is defined as C = [D]
20:27:07 <Insane> Isn't that correct?
20:27:10 <ais523> no
20:27:12 <ais523> command runs
20:27:16 <ais523> then [C] is encrypted
20:27:19 <ais523> then C is incremented
20:27:35 <Insane> Where's the difference?
20:27:48 <ais523> so in a jump, C = [D], then [C] is encrypted, then C is incremented to give the new command
20:27:54 <Insane> ok
20:28:03 <ais523> outside a jump, something happens, then [C] is encrypted, then C is incremented to give the new command
20:28:49 <Insane> So I get rid of my: if (not jump) encrypt [C] else encrypt [C-1] and replace it with just encrypt [C]?
20:28:55 <ais523> that's it
20:28:58 <Insane> ok
20:29:06 <Insane> lemme test
20:29:11 <ais523> as long as that step happens before the place where you increase C and D
20:29:12 -!- puzzlet has quit (Remote closed the connection).
20:29:17 -!- puzzlet has joined.
20:29:50 <Insane> Hello world works
20:30:37 <danopia> Bye world?
20:30:50 <RockerMONO> danopia: fail
20:33:16 <Insane> Hmm
20:33:23 <Insane> the 99 bottles loop version doesn't work
20:33:29 <danopia> World, how are you today?
20:33:41 <danopia> Insane, did you try it wiht teh official compiler?
20:33:46 <Insane> not yet
20:33:53 <Insane> hmm
20:33:54 <danopia> try
20:33:59 <RockerMONO> Insane: so try it with the official one, damnit =P
20:33:59 <Insane> but the text outputting version works
20:34:00 -!- jix has quit (Remote closed the connection).
20:34:02 <Insane> ok
20:34:08 <Insane> The fake 99 bottles one works with my compiler
20:34:12 <RockerMONO> heh
20:34:21 * RockerMONO pokes the topic and wonders if anyone knows what happened to it
20:34:26 <Insane> heh
20:34:57 <Insane> The official one works
20:34:59 <Insane> hrm
20:35:10 <Insane> So the real loop version is the only one I need to get to work on mine
20:35:12 <ais523> people have been messing with the topic a lot recently
20:35:15 <Insane> Should I upload my source?
20:35:19 <ais523> you may as well
20:35:26 -!- danopia has set topic: And fuel companies--they overprice fuel.
20:35:27 <danopia> there
20:35:31 <danopia> topic is better
20:35:31 <danopia> :P
20:35:34 <ais523> http://pastebin.ca used to be in the topic as a place to do so, before people started messing with it
20:35:38 <RockerMONO> danopia: lol
20:35:38 <Insane> lemme comment it
20:35:43 * danopia only aded on a compile words
20:35:46 <ais523> the topic that is, rather than the pastebin
20:35:46 <danopia> couple*
20:36:05 -!- RockerMONO has set topic: And fuel companies--they overprice fuel || http://pastebin.ca (ais52's idea to put this here).
20:36:07 <RockerMONO> =P
20:36:18 -!- danopia has set topic: And fuel companies--they overprice fuel || http://pastebin.com (ais52's idea to put this here).
20:36:23 <RockerMONO> er......
20:36:27 <danopia> what?
20:36:32 <RockerMONO> danopia: way to change the topic without fixing a typo >.>
20:36:37 * RockerMONO adds the 3 and stops before people get mad
20:36:40 -!- RockerMONO has set topic: And fuel companies--they overprice fuel || http://pastebin.com (ais523's idea to put this here).
20:36:44 * RockerMONO 's done now =P
20:36:55 <danopia> ok
20:37:01 <ais523> now, a sane topic would mention Esolang (http://esolangs.org/wiki), and the logs (http://tunes.org/~nef/logs/esoteric)
20:37:17 <eagle-101> ais523, {{sofixit}} :D
20:37:37 -!- RockerMONO has set topic: http://pastebin.com for pastes || Esolang - http://esolangs.org/wiki || logs - http://tunes.org/~nef/logs/esoteric.
20:37:52 <ais523> RockerMONO beat me to it
20:37:55 <RockerMONO> =P
20:37:59 <ais523> but I was busy sofixiting, honest
20:38:05 <eagle-101> :)
20:38:08 <RockerMONO> lol
20:38:30 <ais523> anyone noticed how sofixit is mentioned far more often than it's actually used?
20:38:41 <eagle-101> http://pastebin.com for pastes || Esolang - http://esolangs.org/wiki || logs - http://tunes.org/~nef/logs/esoteric || fuel companies -- overprice fuel
20:38:43 <ais523> not particularly on-topic here, though, but the conversation often isn't anyway
20:38:44 <eagle-101> gah
20:39:11 <RockerMONO> ais523: it seems to be bursts of on-topic every once in a while ;)
20:39:13 <ais523> and how did pastebin.ca end up changing to pastebin.com anyway?
20:39:24 <RockerMONO> ais523: danopia's fault
20:39:35 -!- RockerMONO has set topic: Pastebin - http://pastebin.ca || Esolang - http://esolangs.org/wiki || logs - http://tunes.org/~nef/logs/esoteric.
20:39:55 * RockerMONO will smack the next person who changes the topic needlessly in the face =P
20:39:59 <ais523> they both seem to work
20:40:06 <ais523> but neither has syntax highlighting for Malbolge
20:40:30 <RockerMONO> ais523: malbolge has a syntax?
20:40:44 <ais523> syntax highlighting is incredibly useful in Malbolge
20:40:45 <eagle-101> RockerMONO, you beat me :)
20:40:52 <ais523> you use the colours to see what the commands mean
20:40:57 <ais523> and the characters to see what the commands area
20:41:01 <ais523> s/a$//
20:41:14 <ais523> because it's kind of hard to read otherwise
20:41:20 <RockerMONO> ais523: once again
20:41:29 <RockerMONO> ... it has a syntax?
20:41:39 <ais523> different letters mean different commands in different locations
20:41:45 <ais523> so you highlight according to which command is which
20:42:05 * ais523 tends to write syntax highlighters for just about anything, when the fancy takes them
20:42:05 <eagle-101> RockerMONO, I take it... it has a syntax :)
20:42:15 <RockerMONO> =P
20:42:33 <eagle-101> now... my question is this... is there a language harder to code in then malbolge?
20:42:57 <ais523> have you seen Malbolge Unshackled?
20:43:22 <eagle-101> ais523, uh... no
20:43:33 <Insane> http://insane.pastebin.com/f66aa2388
20:43:37 <Insane> Now help me with that code :P
20:43:40 <Insane> I can't find the error
20:43:43 * eagle-101 is interested though :P malbolge looks bad enough I'd be shocked if there was something worse
20:43:47 <ais523> nobody's figured out how to code in Xigxag, nor do anything but constant-string output in Dupdog, but neither is known to be programmable in at all
20:43:48 <Insane> And everything but the 99 bottles loop runs
20:44:00 <ais523> eagle-101: all 3 languages have pages on Esolang IIRC
20:44:16 <eagle-101> oh ok
20:44:22 <Insane> Xigxag?
20:44:49 <eagle-101> ais523, and it has not been proven that it is not possible to code in either right?
20:44:58 <ais523> no, it hasn't
20:45:04 <Insane> To my knowledge that's the first Malbolge interpreter ever written in C#
20:45:05 <ais523> it's suspected that both are impossible to code in, in fact
20:45:07 <oerjan> yay, someone mentioned my language :)
20:45:14 <eagle-101> http://esoteric.voxelperfect.net/wiki/Xigxag
20:45:29 <ais523> Malbolge Unshackled is oerjan's, I think
20:46:09 <oerjan> aye
20:47:12 <ais523> I take it the enctable is correct?
20:47:20 <ais523> if there was a typo there it would be unlikely anyone would notice
20:47:21 <Insane> You can re-read it
20:47:27 <ais523> s/was/were/
20:47:27 <Insane> I took the values from wikipedia
20:48:06 <Insane> If the enctable was incorrect, why would every non-loop program work?
20:48:21 <ais523> because it doesn't affect programs that don't loop
20:48:29 <ais523> because commands are encrypted only after they've run
20:48:41 <ais523> and your problem may be that you have the wrong enctable
20:49:10 <ais523> the one on Esolang starts 5z]
20:49:13 <Insane> hmm, right
20:49:18 <ais523> but it's written as corresponding ASCII characters rather than numbers, which makes comparison hard
20:49:24 <ais523> it's not the same as yours, anyway
20:50:15 <ais523> I think...
20:50:47 <ais523> ah, I see
20:50:55 <ais523> Esolang's table starts at 33, whereas Wikipedia's starts at 0
20:51:09 <ais523> as it's modular arithmetic anyway you could start anywhere, I suppose
20:51:09 <Insane> The enctable is correct
20:51:30 <ais523> so yes, it is the right enctable
20:51:30 <Insane> hm
20:51:43 <Insane> I double-checked every single value, they're all correct
20:51:49 <Insane> according to wikipedia
20:52:36 <ais523> the crazy looks right as well
20:52:40 <Insane> yh
20:52:51 <Insane> And I've double and triple and quadruple tested the Ternary encoding/decoding
20:53:25 <ais523> does the Ternary stuff always return exactly 10 trits?
20:53:28 <danopia> Insane, boot Kragoth
20:53:45 <Insane> k
20:53:55 <Insane> ais523, Yeah. Always 10
20:54:14 <Insane> danopia, get you server up
20:54:32 <Insane> *your
20:55:44 <ais523> you don't seem to be doing the chained-crazy method of filling uninitialised memory, but I don't think that would cause the problem you're seeing
20:56:01 <Insane> Yes I did
20:56:03 <Insane> *I do
20:56:21 <Insane> while (__c < 59048)
20:56:24 <Insane> *49
20:56:29 <Insane> That does the crazy
20:56:43 <ais523> ah yes, I missed that bit
20:57:04 <ais523> you should probably check to make sure c is at least 2 first, though, or you'll get a buffer underflow
20:57:09 * RockerMONO hugs his soon-to-have-networking version of brainfuck
20:57:19 <Insane> probably
20:57:42 <Insane> RockerMONO, I made a brainfuck spin-off that supports strings, numbers, networking, file i/o and shell commands
20:57:56 <Insane> The interpreter enver made it past loops though
20:58:00 <RockerMONO> heh
20:58:04 <Insane> I didn't know how to do them back then
20:58:09 <Insane> but my C# brainfuck interpreter works now
20:58:31 <ais523> http://esolangs.org/wiki/L33t is BF-like and supports network connections
20:58:35 <RockerMONO> mine's already functional as a true brainfuck interpreter, embedded loops and all, even breaks out of endless loops and alerts you of them
20:58:41 <Insane> Same
20:58:47 -!- jix has joined.
20:58:49 <Insane> Did you get 99 bottles of beer running on it
20:58:50 <Insane> *?
20:58:51 <Insane> I did
20:58:54 <RockerMONO> Insane: haven't tried
20:58:56 <RockerMONO> got the code?
20:59:13 <Insane> 99-bottles-of-beer.net
20:59:25 <RockerMONO> can you get me the full link so i can try it once i get networking done? ;)
20:59:41 * RockerMONO pokes Insane
20:59:50 <Insane> k
21:00:02 <RockerMONO> :D
21:00:09 <SimonRC> :-)
21:00:22 <RockerMONO> hi SimonRC
21:00:46 <ais523> http://www.bf-hacks.org/programs.html is probably worth looking at if you want some Brainfuck test programs
21:02:35 <ais523> Insane: I can't see anything obviously wrong with your implementation, and I've been staring at it a while
21:02:54 <Insane> Hmm
21:02:57 <Insane> Same for me
21:03:03 <Insane> Which is why the 99 bottles thigny confuses me
21:03:08 <Insane> especially because: (here it comeS)
21:03:16 <Insane> It never calls any output or input command.
21:05:12 <ais523> most likely some jumps are going wayward, or some encryptions are failing
21:05:16 <ais523> I can't see why they would, though
21:05:38 <Insane> Exactly
21:05:45 <Insane> :/
21:14:52 <Insane> Maybe I should debug the C code, printing all of the instructions as they're executed (instead of output), and then do the same with mine
21:14:56 <Insane> And see what went wrong
21:15:17 * ais523 has used that method to debug Underload implementations in the past
21:15:18 * eagle-101 covers his eyes from the bright light that just went on.
21:15:30 <ais523> eagle-101: what?
21:16:10 <eagle-101> ais523, it was a around about comment noting the good idea Insane had (when you get an idea, its similar to the lightbulb turning on)
21:16:25 <ais523> aha
21:16:43 <ais523> but when that happens, the lightbulb's normally above your head, so you can't see it
21:16:56 <eagle-101> ais523, yeah, its above Insane's head, not mine :)
21:17:02 <ais523> but I suppose that if you're looking at someone's head, you can be dazzled by their lightbulb
21:17:08 <eagle-101> exactly!
21:17:09 <oerjan> unless you have a hole in your head
21:17:48 <eagle-101> oerjan, that hole would have to have some visual sensors (like a third eye...)
21:18:07 <ais523> or it could just impinge on your retina from behind
21:18:17 <eagle-101> mmm true :)
21:18:18 <ais523> after all, the light-sensitive part of the retina is at the back
21:18:43 <ais523> the blood vessels, nerves, etc., which supply it are in front of the retina, which isn't the most obvious arrangement
21:18:56 <ais523> as they block the light you would otherwise be looking at
21:19:05 <Insane> I think everybody here knwos that
21:19:51 <RodgerTheGreat> indeed
21:19:56 <Insane> Heh
21:20:25 <Insane> can somebody recompile the C one to output the instruction (JUMP, MOVE, OUT, IN etc.), and have OUT simply do nothing?
21:20:31 <RodgerTheGreat> eyes have a semi- reflective rear coating, however.
21:25:13 <oerjan> ais523: let's all bow down to the squids
21:26:03 <ais523> http://pastebin.ca/876533
21:26:17 <ais523> I think it's a Malbolge debug version in C like Insane requested, although I haven't tested it
21:26:53 <RodgerTheGreat> y'know, now that I think about it, the reference malbolge interpreter is quite compact
21:27:32 <ais523> even if it does do the pointless first layer of encryption
21:28:25 <RodgerTheGreat> the first layer of encryption is there simply to add insult to injury.
21:28:34 <ais523> the second layer is the only one with any real effect on the program
21:33:21 -!- helios24 has quit ("Leaving").
21:37:11 <Slereah> Anyone got an idea on why the string in the AE function is actually just the first char of the string it's supposed to be followed by empty chars? http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird%20C.c
21:38:32 <ais523> Slereah: you aren't responsible for HOMESPRING, are you?
21:38:46 <ais523> I ask because of that code's behaviour on a null input
21:38:56 <Slereah> No.
21:39:07 <RodgerTheGreat> heheh
21:39:09 <ais523> HOMESPRING uses pretty much the same solution to avoid null quines
21:39:45 <RodgerTheGreat> a better way to ask that would be something like "Slereah powers HOMESPRING?"
21:40:35 <ais523> Slereah: with a max string length of 10, you're simply asking for a buffer overflow
21:40:46 <Slereah> ais523: It's just for the tests.
21:40:52 <ais523> and RodgerTheGreat, you're right, I should have tried to work some of the HOMESPRING keywords in there
21:41:02 <Slereah> I'm just using ^aa and ^ab so far
21:41:16 <Insane> Who wants me to write a Piet interpreter?
21:41:33 <RodgerTheGreat> wow, that's a perfect handle
21:42:52 <ais523> Slereah: I've decided that C is probably the wrong language to write that code in
21:43:00 <Slereah> Probably.
21:43:08 <ais523> there's just too much working-around of the lack of a string datatype...
21:43:09 <Slereah> But that's the only other language I know enough
21:43:40 <Insane> Waht are you intepreting?
21:43:40 <Slereah> I could try Scheme or some other functional I guess
21:43:56 <Slereah> Insane: http://www.esolangs.org/wiki/Lazy_Bird
21:44:08 <Slereah> I have an interpreter on Python, but it's just too slow.
21:44:21 <Slereah> The expression tends to grow rapidly in size.
21:44:42 <Slereah> Especially with DER JUGGERNAUT
21:45:55 <ais523> compiling into a functional language is one good way to deal with functional languages
21:46:02 <ais523> when the option is open to you
21:46:41 <Slereah> Well, I suppose I should learn one someday.
21:46:55 <Slereah> Any advice?
21:48:03 <ais523> I would probably try to write something like that in Perl first, but that's just personal preference, and if Python is too slow it's possible Perl would be as well (at least the way I write it)
21:48:25 <ais523> in terms of functional languages, I learnt Haskell on Saturday, and rather like it, but it isn't very good for combinator stuff
21:48:52 <oerjan> o_O
21:48:57 <ais523> and of course, if you're used to C, you could just write C-like C++
21:49:03 <ais523> using just the string type
21:49:07 <oerjan> ah
21:49:16 <ais523> and oerjan, before you complain, try writing a reasonable mockingbird in Haskell
21:49:26 <ais523> the type system just gets too much in the way
21:50:21 <oerjan> it is perfectly well-suited for manipulating combinators, however
21:50:32 <ais523> you just can't write all of them literally
21:50:47 <oerjan> as a data type
21:50:50 <ais523> here's a Haskell problem that I came across:
21:51:16 <ais523> is it possible to write a function that takes a function and a pair as its arguments, applies the function to each element in the pair, and returns the new pair
21:51:24 <ais523> sort of like map, but across pairs rather than lists
21:51:47 <oerjan> join (***)
21:51:49 <ais523> the problem is that the two pair elements can have different types (but functions like show can work on different types, so that shouldn't be a problem)
21:52:03 <oerjan> oh
21:52:09 <oerjan> well that's worse
21:52:23 <ais523> the problem is that the type signature needs to be something like (a -> a2 AND b -> b2) -> (a, b) -> (a2, b2)
21:52:38 <ais523> but Haskell doesn't allow AND in type signatures like that
21:53:38 <oerjan> it allows forall though, with a higher rank types extension
21:53:46 <oerjan> but it will still be awkward
21:54:23 <ais523> in the end I just gave up and passed in the first argument twice
22:01:41 <Slereah> Is Pascal any good?
22:01:52 <Slereah> I used to program in it two years ago
22:03:04 <ais523> it's a bit outdated nowadays
22:03:08 <ais523> the modern version is Delphi
22:03:12 <ais523> but I don't know much about it
22:03:24 <ais523> Pascal was a teaching language, really
22:03:33 <ais523> but it's quite lightweight, which will be good here
22:03:58 <Slereah> I still have my notebook.
22:04:03 <oerjan> i hear Free Pascal is still doing well on language shootout(s(?))
22:04:31 <Slereah> Ah yes, it's the one full of begin and end.
22:04:45 <SimonRC> ais523: maybe you hit the monomorphism restriction...
22:04:56 <SimonRC> did you give the function an explicit type signiture?
22:04:58 <Slereah> As long as it deals well with strings, I guess it's okay.
22:05:00 * ais523 has never heard of that
22:05:09 <ais523> and I always try to give functions a type signature
22:05:12 <oerjan> SimonRC: no, he was probably just stretching polymorphism too far
22:05:19 <ais523> but in that case I couldn't figure out what the type signature ought to be
22:05:33 <SimonRC> what did you want to do?
22:05:41 <Corun_> Monomorphism: http://arcanux.org/lambdacats/type-error-2.jpg
22:06:04 -!- jix has quit ("CommandQ").
22:07:43 <ais523> Corun_: amusing, but not very helpful
22:07:48 <Corun_> Sorry
22:07:52 <Corun_> Try: http://www.haskell.org/haskellwiki/Monomorphism_restriction
22:08:10 <ais523> another thing that annoys me is the different-number-of-params error that GHC gives sometimes
22:08:27 <ais523> where I explicitly have to put junk parameters at the ends of some of the functions just to make the numbers add up
22:08:27 <SimonRC> that is an effect of currying
22:08:33 <SimonRC> um
22:08:42 <ais523> I don't see why I can't write some patterns in a curried form and others uncurried
22:08:48 * SimonRC wonders if ais523's Haskell style isn't a bit skewiff
22:08:59 <SimonRC> ais523: well, you could...
22:09:02 <ais523> it's my functional programming style in general
22:09:11 <SimonRC> just pass in one argument that is a tuple
22:09:18 <SimonRC> can I see the code?
22:10:01 <ais523> it was on ehird's website for a bit, but then disappeared again
22:10:05 <ais523> I'll paste it...
22:11:16 <ais523> http://pastebin.ca/876584
22:11:21 <ais523> but that's a corrected version that compiles
22:11:28 <ais523> even though some of the workarounds are a bit ugly
22:11:46 <SimonRC> so what was wrong there?
22:13:07 <ais523> one example is around line 205
22:13:21 <ais523> where cancelling out the x at the end of the first two cases would be neater in my opinion
22:13:36 <SimonRC> ah, so I see
22:13:42 <SimonRC> yes that would be nice
22:13:50 -!- chuck has changed nick to unixfact.
22:13:53 <SimonRC> though the last line could be written:
22:14:02 <ais523> the example I was discussing earlier is on line 73
22:14:18 <SimonRC> (h:).(replaceExtension t)
22:14:24 -!- unixfact has changed nick to chuck.
22:14:43 <ais523> SimonRC: I know I could make it point-free, but generally I do so only when it makes the code clearer
22:14:50 <SimonRC> just what expression was it not accepting?
22:15:48 <ais523> map2 a p = (a (fst p), a (snd p))
22:16:06 <ais523> where p is of type (t1,t2) not (t,t)
22:16:25 <SimonRC> and what type is a?
22:16:42 <ais523> (t1 -> o1) and also (t2 -> o2)
22:16:48 <ais523> but there's no way to express that easily
22:17:15 <SimonRC> indeed
22:17:17 <ais523> in this exact case, t1 and t2 are both list types with different elements
22:17:18 <SimonRC> that is odd...
22:17:29 * ais523 has to go, anyway
22:17:36 -!- ais523 has quit ("Bye!").
22:18:49 <Slereah> http://shootout.alioth.debian.org/gp4/chartvs.php?test=all&lang=python&lang2=fpascal
22:18:59 <Slereah> I suppose Python isn't all candy and bikerides.
22:24:01 -!- GreaseMonkey has joined.
22:37:07 -!- ehird has joined.
22:37:30 <ehird> ais523 disappeared? blah
22:37:38 -!- ehird has set topic: IRRELEVANT TOPIC.
22:37:46 <ehird> the topic in #esoteric must not be relevant. that's the rule.
22:39:52 <Slereah> But it must have the logs :o
22:40:06 <Slereah> Otherwise, A POX ON US
22:40:22 <ehird> Slereah: bah, if any staff come looking
22:41:00 <Slereah> They'll give us blankets.
22:41:04 <Slereah> Infected with POX
22:41:19 -!- GreaseMonkey has set topic: Pastebin - http://pastebin.ca || Esolang - http://esolangs.org/wiki || logs - http://tunes.org/~nef/logs/esoteric || goatse - http://tinyurl.com.
22:42:13 <Slereah> That's no goatse.
22:43:00 -!- ehird has set topic: goatse.
22:44:01 -!- oerjan has quit ("coughs and wonders what those black spots on his skin are").
22:44:43 -!- timotiis has quit ("leaving").
22:46:08 -!- eagle-101 has set topic: --. --- .- - ... ..
22:49:06 <ehird> 12:58:35 <RockerMONO> mine's already functional as a true brainfuck interpreter, embedded loops and all, even breaks out of endless loops and alerts you of them
22:49:09 <Slereah> I see an O, and an S.
22:49:13 <Slereah> That's not a good sign!
22:49:17 <ehird> RockerMONO: do you know nothing of computer science?
22:49:19 <ehird> Halting problem
22:49:28 <RockerMONO> ehird: erm?
22:49:28 <ehird> But I guess you store every state. That'll really work for real programs on infinite tapes!
22:49:42 <ehird> RockerMONO: it is impossible to detect infinite loops
22:49:48 * RockerMONO took out the endless loop thing, because he's writing an irc bot in it
22:50:00 <ehird> it is impossible
22:50:09 <Slereah> Well, it's impossible for all programs.
22:50:10 <RockerMONO> ehird: true... i sorta took a hackish aproach and made it break after 10,000 loops through the same thing
22:50:18 <ehird> RockerMONO: that's not an infinite loop detector
22:50:20 <RockerMONO> but i took that out
22:50:20 <Slereah> There's plenty of cases where it can be done.
22:50:33 <RockerMONO> and [] is an easy endless loop to detect, btw ;)
22:50:51 <Slereah> For such trivial case for instance!
22:51:32 <Slereah> Hell, if undecidable problems were totally undecidable, I'd have even more trouble with DER JUGGERNAUTEN MACHINE
22:52:55 <RockerMONO> ok lets see if this brainfuck IRC bot works
22:53:01 <RockerMONO> YESSSSSSSSS
22:53:13 <ehird> RockerMONO: what a pointless waste of time
22:53:25 <RockerMONO> ehird: but i have time to waste ;)
22:53:52 <Slereah> If you're here, obviously.
22:54:21 * Slereah <- has a Free Pascal
22:54:27 <Slereah> Let's now tackle the bird.
22:56:10 <RockerMONO> http://pastebin.com/d244e44c3 <-- fun :)
22:57:02 <ehird> lame it has strings.
22:57:38 <RockerMONO> ehird: that's more of a test case
22:57:42 <RockerMONO> i'm working on storing it in memory :)
23:03:53 -!- eagle-101 has quit ("Leaving").
23:06:04 -!- pgimeno has joined.
23:07:58 -!- Insane has quit ("Have a nice day!").
23:14:30 <oklofok> making a brainfuck irc bot is not a waste of time
23:15:28 <Slereah> Don't we already have one?
23:15:39 <Slereah> Egobot, destroy all humans.
23:15:44 <oklofok> do we?
23:15:56 <oklofok> EgoBot is not in brainfuck
23:16:05 <Slereah> Oh, in BF.
23:16:10 <Slereah> I though with a BF interpreter
23:16:34 <oklofok> well, we have dozens of those
23:16:48 <Slereah> Is it enough to kill all humans?
23:16:52 <oklofok> every bot does brainfuck
23:17:02 <oklofok> sure, but killing humans != being made in brainfuck
23:17:37 <pgimeno> has anyone seen graue recently?
23:17:44 <ehird> yes
23:18:46 <pgimeno> there's apparently a problem with the wiki cache, see http://esoteric.voxelperfect.net/wiki/Kayak
23:20:17 <ehird> the wiki is fcsked.
23:21:29 <pgimeno> I have asked in #mediawiki, it seems to be a problem with the page cache because the rest seems to work
23:22:47 <pgimeno> see e.g. http://esoteric.voxelperfect.net/w/index.php?title=Kayak&oldid=7834
23:24:12 <pgimeno> apparently truncating the mw_objectcache table might fix the problem (unless the table structure is so broken as to not being possible to truncate it)
23:25:40 <pgimeno> ehird: could you please tell him if you see him?
23:26:13 <ehird> okay.
23:26:18 <pgimeno> thanks :)
23:28:14 <SimonRC> does GHC have that feature that allows you to partly specify types, and tell the compiler to fill in the rest?
23:28:17 <SimonRC> so instead of writing: (.) (f :: b -> c) (g :: a -> b) = ... you could write (.) :: (b -> c) -> (a -> b) -> _ ; (.) = ...
23:28:28 <SimonRC> and what is it called?
23:31:26 <Corun_> Suggestion: can you just write it without a type and the :t the function to find out it's 'most general' type, then merge what you want with what that says?
23:31:49 <SimonRC> I suppose
23:32:00 <SimonRC> but it might get tricky for some of the uglier types
23:32:04 <SimonRC> just a thought
23:32:07 * SimonRC goes
23:32:21 * SimonRC goes
23:32:24 -!- RockerMONO has changed nick to RockerMONO[enfr].
23:32:24 <Corun_> I guess that's true. Mine was just a thought too :-P
23:32:31 <SimonRC> and wrong window
23:51:38 <Slereah> I'd better go to sleep or I'll regret it.
←2008-01-27 2008-01-28 2008-01-29→ ↑2008 ↑all