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