00:09:39 rodgerthegreat: i heard you so i added some output statements. 00:15:33 i have 12 statements done 00:19:22 * SimonRC goes 00:22:30 -!- bsmntbombdood has quit (Remote closed the connection). 00:24:29 -!- bsmntbombdood has joined. 00:24:37 i'll self-terminate. good night 00:24:41 -!- Keymaker has left (?). 00:33:11 wahoo i'm done with my 15 statements 00:35:04 What? Huh? Eh? 00:35:13 Wait, um... 00:35:16 ihope_: what? 00:37:36 -!- oerjan has quit ("Tbbq avtug."). 00:38:01 I see. 00:38:09 ihope_: do you want to participate too? 00:38:50 Sure. 00:38:56 Well. 00:39:07 Can I submit just one statement? 00:39:41 uhm the rules say 5 00:39:57 just think of 4 other stupid features 00:40:13 bet yes if you just submit 1 it won't be a problem 00:40:30 it's about having fun not about enforcing the rules ^^ 00:40:54 Wgat's this? 00:41:05 Sgeo: see tha lst link in the topic 00:41:06 *last 00:41:08 *the 00:43:22 * Sgeo saw 00:43:38 A bit after I asked though 00:43:57 -!- GregorR-L has joined. 00:44:13 Hi GregorR-L 00:44:37 jix, is it possible that two statements can be literally incompatible with eachother being in the same language somehow? 00:46:07 Sgeo: i don't know what you are talking about but i assume yes 00:47:00 uh i just found an article about alpaca http://scienceblogs.com/goodmath/2006/10/a_metalanguage_for_pathologica.php 00:47:19 If one person submits "a = b" to set a to the value of b, and one person submits "a = b" to set b to the value of a, I don't think they'll both get in :P 00:47:36 well one could still say it depends on context 00:47:53 or every even time it gets executed... every odd time it gets executed... 00:47:58 goal is to get them ALL in 00:50:48 * Sgeo can't wait to see the finished product 00:51:21 neither me 00:52:18 jix, but you have some idea 00:52:22 Beforehand 00:52:23 >.< 00:52:32 i know my 15 instructions 00:52:40 i don't look into the other ones beforehand 00:53:21 Ah 00:53:26 Non-cheater >.< 00:53:46 i want the big surprise when i read them all at once 00:53:57 i must be like OMGLOLROFLORLYYARLYNOWAYBBQ!!!! 01:00:28 * Sgeo should write more specs for his language 01:00:29 >.< 01:01:21 If anyone has any opinions/comments about http://sgeo.diagonalfish.net/esoteric/MKBL.txt please state them now. 01:03:04 i go to bed now 01:03:36 Night jix 01:04:47 -!- bsmntbombdood has quit ("leaving"). 01:04:52 * Sgeo sees the irony in "order is never evaluated" 01:05:09 -!- bsmntbombdood has joined. 01:05:22 I should really say that order is evaluated automatically at the beginning of a step, and can't be specified as a table to be evaluated 01:05:24 Hi bsmntbombdood 01:05:45 hi 01:06:42 -!- anonfunc has quit. 01:06:55 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:16:00 -!- bsmntbombdood has quit (Remote closed the connection). 01:17:24 -!- bsmntbombdood has joined. 01:31:44 -!- tgwizard has quit ("Leaving"). 01:34:37 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 01:35:25 -!- bsmntbombdood has joined. 01:42:42 -!- ihope_ has changed nick to ihope. 01:43:51 -!- bsmntbombdood has quit (Remote closed the connection). 01:57:22 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 02:17:33 back 02:19:03 my entry includes some basic flow control, one or two math primitives, some variable related things, and some basic output. I think the main thing we need to be sure to include is a good set of math and flow control operators. 02:32:44 mingle, select, and next/forget ? 02:33:44 that's not what I have, but something similar to that could make a useful addition. 02:35:25 Argh; jix left too soon. . . 02:35:38 ? 02:35:58 Was going to answer his (much) earlier questions. . . 02:36:04 if you're interested in joining the factory run, there's plenty of time, pikhq. 02:36:08 oh 02:36:42 RodgerTheGreat: My previous basm build was about 7100 characters. 02:36:56 ah- still quite an improvement. 02:37:33 my pong game is at 330 bytes, and I think I may be able to shave it down further. 02:37:46 My first attempt was nearly 17000 characters. . . 02:37:53 wow 02:38:02 Incredibly inefficient. ;) 02:38:23 I assume this means your macro package has been gaining some significant upgrades during this process. 02:38:44 Not at all. 02:39:02 Only upgrade was stdcons.bfm, provided by oerjan. . . 02:39:12 Everything else was just dicking with the code. 02:39:21 hm. 02:39:52 The basm.bfm code, that is. 02:40:12 Err. . . I made *one* change; @ automatically calls is0 now. 02:40:37 But that doesn't change the output code much, just makes a variable declaration shorter. 02:43:29 http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory <- do you plan on contributing? 02:43:50 Just for the hell of it. 02:44:09 why else would you? :) 02:48:29 * pikhq is proud of basm. . . 02:48:57 Let's see if I can make it *smaller*. 02:49:34 Looking at the BFM code. . . Hell yeah, but I don't feel like it right now. 02:52:28 you could join my "classic game crunching" competition in ##Nonlogic. 02:53:01 I made pong in Chipmunk BASIC, Zashi built tic-tac-toe, and feesh is working on blackjack. 02:53:11 In Chipmunk BASIC? 02:53:36 hell yeah. I got it down to 330 bytes, which is not too shabby no matter how you look at it. 02:53:57 I might try rock-paper-scissors in an esolang next.. 02:54:33 Zashi's perl implementation of Tic-tac-toe is pretty impressive. 02:58:43 ... 02:59:11 what? It's some light programming fun. 03:01:55 here's my 384-byte version with an AI: http://www.nonlogic.org/dump/text/1161482453.html 03:07:07 If anyone has any opinions/comments about http://sgeo.diagonalfish.net/esoteric/MKBL.txt please state them now. 03:07:33 Someone please state some ideas on how to do ifs 03:08:32 And what operations should I have? 03:08:49 probably add, subtract, mult, div 03:08:57 Anything else? 03:09:26 Hmm 03:09:33 I should have a timetable 03:10:44 perhaps a variable swap operator? 03:10:53 useful for sorting algos and the like. 03:11:21 How would that work? 03:12:18 hm 03:13:14 I guess I don't fully understand your language. 03:14:06 It's meant to be in a metakit dblikething 03:14:50 Think of order[0,"main","outgoing"] as being a row in table "order" with fields that have values 0, "main", and "outgoing" 03:15:32 order[time:I,branch:S,tables:S] specifies the fields in the table. order is the table, time is a field that holds an int, branch and tables hold a string 03:16:28 ok 03:18:23 brb 03:18:50 BTW, Basm's BFM source is now up. . . 03:18:57 http://pikhq.nonlogic.org/basm.tar.bz2 03:21:39 back 03:22:27 bbs 03:31:53 back 03:31:58 :) 03:32:01 Should I explain the language more? 03:35:11 * Sgeo pokes pikhq 03:35:15 and RodgerTheGreat 03:35:23 Not paying attention. :p 03:35:31 hm 03:35:46 * Sgeo goes to add a time table 03:40:37 OMG I just realized that the time table will make it easy to change branches, or even make branches unneccessary 03:45:32 Look at http://sgeo.diagonalfish.net/esoteric/MKBL.txt for an explanation of time 03:46:58 http://sgeo.diagonalfish.net/esoteric/MKBL.txt 03:47:00 err 03:50:33 -!- ivan` has left (?). 04:15:57 -!- bsmntbombdood has joined. 04:22:22 -!- bsmntbombdood has quit (Remote closed the connection). 04:22:50 #esoteric: Where we all talk about our own projects and listen to no-one else :P 04:24:18 I finished the specs for SLUMTP. 04:24:41 (Self-Load UDP Mass Transfer Protocol.) 04:24:47 Japanese, then implementation! 04:25:18 -!- bsmntbombdood has joined. 04:25:24 NOW you're gettin' it! 04:25:41 And your priorities are f***'d up if you're translating the spec before implementing it ... 04:26:29 Well, I would implement it first (which is what I normally do because I'm too lazy to write a spec :P) but I'd forget some key thing I decided on earlier every time I'd neglect to write my notes down. 04:26:51 So I started making some notes so that I wouldn't forget the decisions I made and then decided to flesh the notes into a cursory set of specs. 04:27:14 And this somehow has to do with /translating/ the specs? 04:27:34 Japanese means doing my daily vocabulary in Japanese -_-'' 04:28:16 OH 04:28:21 :P 04:37:43 -!- ihope has quit (Read error: 110 (Connection timed out)). 04:59:28 Heheheh. . . 05:00:27 * pikhq is proud of basm. . . 05:00:34 * pikhq wonders if anyone else cares :p 05:00:41 No. 05:01:05 It's the smallest BF->C compiler in BF. Why should you not care? 05:01:10 I was absolutely shocked that somebody mentioned Plof - that's about the most recognition anybody in this channel will give to anybody else :P 05:01:27 Well, yeah. 05:01:46 -!- Eidolos has quit (Read error: 104 (Connection reset by peer)). 05:02:29 -!- Eidolos has joined. 05:08:02 Plof? 05:08:06 Hi Eidolos 05:08:13 * Sgeo likes BFComp 05:08:28 Hiya. 05:08:36 At least, I think I _would_ like it if I had any interest in writing BF stuff 05:09:29 BFM > BFComp. . . 05:09:45 (for efficiency purposes; for nonesotericness, BFComp wins) 05:09:57 What's BFM? 05:10:37 A macro language for Brainfuck (by me (with much thanks to oerjan)). 05:10:48 oh 05:11:58 (if you request proof of my statement, allow me to show you basm, as done (naively) in BFComp, and as done in BFM. . .) 05:12:29 -!- bsmntbombdood has quit (Remote closed the connection). 05:13:21 ok.. 05:13:26 Whynot? 05:14:01 -!- bsmntbombdood has joined. 05:14:03 http://pikhq.nonlogic.org/basm.tar.bz2 contains the BFM version (BFM source, and compiled). 05:15:12 http://pikhq.nonlogic.org/basm.bfc contains the BFC version, and http://pikhq.nonlogic.org/basm.bf the compilation of the same. 05:15:45 Thing is, you don't really need to understand and work in BF to do BFComp ;) 05:16:13 I think 05:16:18 You don't need to understand BF to do BFM, either. 05:16:30 It just makes things assloads more efficient if you do. 05:18:27 Although BFM has a semiTcl syntax, instead of a semiC one. 05:19:53 What is BF bitwidth? 05:21:13 Most of the included macros assume cells wrap and 8 bits per cell, but BFM can produce code for whatever bitwidth you want (although you might not be able to use stdlib). 05:21:32 * Sgeo meant what is http://esoteric.voxelperfect.net/wiki/Brainfuck_bitwidth_conversions for 05:21:40 Oh. 05:22:02 Some Brainfuck implementations use 8 bits per cell, others 16, and still others 32. . . 05:23:20 Those allow you to convert code between bitwidths, so it can run on other implementations. 05:29:31 And one 64 05:29:50 GregorR-L: And no code. 05:29:59 pikhq: :P 05:30:04 And I wrote those conversions, btw 8-D 05:30:42 Surely there are implementations with unlimited bitwidth? 05:31:04 Not unlimited. 05:31:11 bignum implemenations exist, though. 05:31:23 I meant, limited only to the comps own memory 05:31:30 (these are limited by the available memory on the machine running the program) 05:31:39 Ah ok 05:31:57 I should write bignum support into EgoBF ... 05:32:06 Conversions can be piled on top of conversions, right? 05:32:13 Using GMP? 05:35:21 What's GMP? 05:36:11 GNU MultiPrecision [math library] 05:36:23 Sgeo: Yeah, but it gets exponentially slower 05:44:50 -!- bsmntbombdood has quit (Remote closed the connection). 05:46:02 -!- bsmntbombdood has joined. 05:46:14 -!- bsmntbombdood has left (?). 06:13:54 -!- calamari has quit ("Leaving"). 06:19:24 -!- Sgeo has changed nick to Sgeo[ZadocOnStri. 06:19:56 -!- Sgeo[ZadocOnStri has changed nick to Sgeo[ZadocStriki. 06:20:05 back 06:20:09 what's up? 06:20:10 :) 07:00:17 kick ASS, I think I just had a breakthrough brainstorm. 07:00:24 Whoo. 07:00:33 I shall define the syntax of SYNTHESYS tonight! 07:00:42 Evil bastard. 07:00:49 making it stack-based solves *everything* 07:00:51 haha 07:01:06 Again: evil bastard. 07:02:17 I shall unveil my beautiful creation when a reference interpreter is complete. (still may be a while). 07:02:29 and I shall implement it... in Java. :D 07:04:15 Bad man. 07:13:14 hm, let's see... concat, split, inc/dec, replace, assign... what else do people want to do with strings? 07:19:20 ooh, got it. 07:19:52 a specialized form of replace to avoid needing escape sequences. 07:23:32 DONE! 07:23:48 allow me to tease you all with a hello, world: 07:23:49 "Hello, World!"! 07:24:03 or, the more interesting version: 07:24:04 "XHello, World!X!":# 07:48:41 -!- Asztal has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:01 g'night, everyone. 08:09:11 Hey! BF friends! 08:09:41 Why not create a special cell in BF for Linuxes that let you execute kernel syscalls based on adjacent memory positions? 08:39:33 I like. 09:25:31 -!- GregorR-L has quit ("Leaving"). 10:40:33 -!- tgwizard has joined. 10:45:24 -!- ihope_ has joined. 10:45:42 -!- ihope_ has changed nick to ihope. 10:47:48 -!- oerjan has joined. 11:55:03 -!- lindi- has quit (zelazny.freenode.net irc.freenode.net). 11:55:15 -!- ihope_ has joined. 11:55:17 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net). 11:55:23 -!- lindi- has joined. 11:55:37 -!- RodgerTheGreat has joined. 11:55:45 -!- oerjan has quit (zelazny.freenode.net irc.freenode.net). 11:55:45 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- ghostless has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- pikhq has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- puzzlet_ has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- sp3tt has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- pgimeno has quit (zelazny.freenode.net irc.freenode.net). 11:55:46 -!- CakeProphet has quit (zelazny.freenode.net irc.freenode.net). 11:55:47 -!- bd_ has quit (zelazny.freenode.net irc.freenode.net). 11:55:47 -!- Anders has quit (zelazny.freenode.net irc.freenode.net). 11:55:47 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net). 11:55:48 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net). 11:55:48 -!- EgoBot has quit (zelazny.freenode.net irc.freenode.net). 11:56:11 -!- oerjan has joined. 11:56:11 -!- CakeProphet has joined. 11:56:11 -!- puzzlet_ has joined. 11:56:11 -!- fizzie has joined. 11:56:11 -!- pikhq has joined. 11:56:11 -!- ghostless has joined. 11:56:11 -!- sp3tt has joined. 11:56:11 -!- pgimeno has joined. 11:56:11 -!- bd_ has joined. 11:56:11 -!- Anders has joined. 11:56:11 -!- cmeme has joined. 11:56:11 -!- SimonRC has joined. 11:56:11 -!- EgoBot has joined. 12:08:44 -!- ihope has quit (Nick collision from services.). 12:08:47 -!- ihope_ has changed nick to ihope. 12:21:44 -!- kipple_ has joined. 12:22:49 -!- kipple_ has quit (Client Quit). 12:23:54 -!- kipple_ has joined. 12:28:28 -!- jix has joined. 13:35:12 -!- Asztal has joined. 14:16:49 When's the last time somebody said something? 14:20:00 people are saying things all the time 14:20:16 mu 14:21:36 What is the answer to the question I meant to ask? 14:23:30 42 14:26:24 i don't know i haven't read the logs yet. but no one has spoken since i last logged on. 14:27:43 Nor here. 14:34:34 -!- Arrogant has joined. 14:53:34 [3:39] I like. 14:53:45 Oops 14:53:48 -!- Sgeo[ZadocStriki has changed nick to Sgeo. 14:54:25 Grrrr 14:54:42 I don't really know my own nickserv pass 14:54:52 I just have XChat do it 14:55:30 Lamer. :-P 14:57:25 I can't believe I spoke while "striking" though 14:57:36 Has anyone here read 1/0? 15:03:18 i don't even know what 1/0 refers to 15:06:36 http://undefined.net/1/0/ 15:34:36 -!- ihope has quit (Read error: 110 (Connection timed out)). 15:39:16 -!- Sgeo_ has joined. 15:48:29 -!- Sgeo has quit (Connection timed out). 15:49:15 -!- ihope_ has joined. 15:49:25 -!- ihope_ has changed nick to ihope. 15:50:05 Why do we need so many naive set theory paradoxes? 15:50:07 Isn't one enough? 15:50:26 ...Wrong channel. 15:51:28 so that we don't get to close the holes by just doing simple tricks? 15:52:25 Is removing comprehension one of those simple tricks? 15:54:04 it's not removed, it's divided into lots of little pieces. 15:54:37 most of the ZFC axioms are really just pieces of comprehension... 15:54:39 What happens if it's removed? 15:55:06 you then have nothing to build sets with 15:55:22 So no sets exist, necessarily? 15:55:31 only extensionality and choice 15:55:38 indeed 16:02:22 oerjan: Looked at the basm BFM source yet? 16:02:30 nope 16:02:34 (just assuming you might be interested) 16:02:56 http://pikhq.nonlogic.org/basm.tar.bz2 Source to the smallest BF->C compiler in C (that I know of). . . 16:03:48 in BF, i take you mean 16:03:59 Yes. . . 16:04:13 Brain not working. :p 16:07:08 hm, an immediate problem: that initial comment in basm.bfm contains some brainfuck commands 16:07:31 Grr. . . You're right. 16:07:50 -!- Arrogant has quit ("Leaving"). 16:07:50 Put [] around it. 16:08:54 Done. 16:09:04 -!- oerjan has quit (zelazny.freenode.net irc.freenode.net). 16:09:12 -!- oerjan has joined. 16:09:26 And new tarball up. 16:10:11 haha in my current application i'm calling ruby from objective-c then i call objc from ruby again then javascript from objc..... 16:11:24 ! 16:11:27 Huh? 16:12:50 that strings.bfm - it seems a bit inefficient to use cons* macros for everything 16:14:11 It is a bit. 16:14:14 a bit of copying and small additions could compress that 16:14:36 I've just not bothered with a complete rewrite yet. 16:14:41 ok 16:15:00 Using cons* as a stopgap until I get it completely done. 16:15:05 and still this is the largest part of the program? 16:15:24 should expect some major savings then 16:15:32 Actually, it's now about half of the program. 16:15:55 -!- Azstal has joined. 16:17:17 -!- Azstal has quit (Read error: 54 (Connection reset by peer)). 16:17:19 -!- n1\fijikuwai has joined. 16:17:20 it seems like there really ought to be defaults for the second argument of @ 16:17:24 -!- Asztal has quit (Read error: 54 (Connection reset by peer)). 16:17:32 -!- n1\fijikuwai has changed nick to Asztal. 16:17:54 Could be a good idea; it'd make things much easier in that large of a program. 16:18:03 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 16:19:49 -!- Asztal has quit (Read error: 54 (Connection reset by peer)). 16:19:51 -!- n1\fijikuwai has joined. 16:19:53 -!- n1\fijikuwai has changed nick to Asztal. 16:22:30 -!- n1\fijikuwai has joined. 16:23:47 these out* macros, are they that way to avoid long stretches of > and < ? 16:24:09 Easiest way to avoid it for outputting the strings set by strings.bfm. 16:24:35 that's what i thought 16:24:55 [<]<[<]>[>.]>[>] 16:24:59 Err. 16:25:02 [<]<[<]>[.>]>[>] 16:25:04 ;) 16:32:07 Asztal: DIE 16:32:39 -!- Asztal has quit (Nick collision from services.). 16:32:41 n1\fijikuwai: nickserv ghost. 16:32:46 There you go. 16:32:48 -!- n1\fijikuwai has changed nick to Asztal. 16:32:50 :P 16:33:19 that part setting sc looks suspiciously like cons57 followed by add 2. why not use cons59 instead? 16:35:04 Because doing that adds 2 characters to the compiled output. 16:36:18 i don't understand how that can be.. 16:36:35 . . . Oh. 16:36:41 Just realised what you're saying. XD 16:37:34 Yeah; that works. 16:37:50 while cons59 actually uses 63-4 rather than 57+2, those options have the same length. 16:38:21 Except when I need to set the temp cell used to 10 after I'm done. 16:38:49 cons57 sc : nl;add nl 10 gets the job done just as efficiently; thanks for the tip. 16:39:14 you mean cons59, i think 16:40:04 just remove the add sc 2 line 16:40:47 Err. 16:40:56 cons57 sc : nl;add nl 10;add sc 2 16:40:56 of course those variable should really be included in the complete rewriting for strings.bfm when that happens 16:41:19 cons59 sc : nl;add nl 10 gets the job done inefficiently 16:41:21 Of course. 16:41:39 what's inefficient about it? 16:41:58 2 extra pointless characters. 16:42:03 (pointer movements) 16:42:33 [>+<-]++++++++++>++ vs. [>+<-]>++<++++++++++ 16:42:44 (forgive me for not using the actual loop) 16:43:55 oh, now i realize what you mean 16:45:06 hmm 16:45:49 I suspect that optimisations could be made if you can prove that the pointer is always at a ceretain place relative to some other place at a certain point in the program 16:46:19 well, the out* macros essentially do that 16:47:22 now i've got it: move the set nl 10 first, and use cons59 sc : as 16:47:50 Still some extra pointer movements. 16:47:54 (I've tried it) 16:48:45 [>>sc<>++ vs. [>sc++ 16:49:21 cons57 sc : nl;add nl 10;add sc 2 works. 16:50:27 eh, no, sc and as are just 1 apart, for some reason the addresses are not assigned in order 16:50:39 Oh, right. 16:50:59 I played with that portion of the memory setup a bit. . . 16:51:07 And forgot I did that. 16:51:56 but i think you are still right. 16:52:01 Argh; that still adds 2 extra character movements. 16:52:32 Pointer. 16:53:32 this happens essentially because cons10 is a 1 cell operation 16:53:56 Yeah. 16:53:57 so it pays to do it while you happen to be at nl 16:54:34 Makes things a bit harder to understand, but not severly so. 16:56:53 the only other option is to move nl last in the variable list 16:59:36 hm, no that's not the point either 17:01:53 Or just leave it as-is. ;) 17:02:05 actually there is one possibility for cons59 which does not make any final additions. _that_ would work. 17:02:17 Hmm. 17:03:03 ----[>+++++<----] 17:17:30 i modified my stdcons generating program to prefer algorithms that don't add/subtract at the end. new version at http://home.nvg.org/~oerjan/stdcons.bfm 17:17:39 * RodgerTheGreat wakes up 17:17:44 hi everyone. 17:18:06 'Lo. 17:18:10 oerjan: Yay! 17:18:11 hi 17:18:44 note that it naturally still selects only among the shortest algorithms. 17:19:08 so it affects cons59 but not, say, cons58. 17:19:20 oerjan: That brought the size down radically. 17:19:26 5128 characters now. 17:21:16 wow, it apparently was a widespread problem then. what was the size before? 17:21:36 * Asztal seems to recall 7000 17:21:45 i mean before the latest change 17:21:49 5140. 17:22:22 That somehow wasn't quite as radical as I expected :P 17:22:42 Not much, but it seems rather signifigant for a change that doesn't change the size of the individual macros. 17:23:02 it only avoids some possible pointer movement afterward 17:23:18 Yeah. 17:26:54 it is rather good for a change that only affected a few numbers: 59, 93, 123, 125 and 163. 17:27:13 Indeed. 17:29:27 :o 17:31:50 -!- Sgeo has joined. 17:36:25 a quick check shows that strings.bfm contained 3 instances of cons59 followed by cons10 - to be expected, as this is ";\n". 17:37:35 That would explain it. 17:37:49 Someone should make an esolang based on http://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo. 17:38:32 as well as two instances of 123 10 which is "{\n" 17:38:54 Again: that would explain it. 17:39:05 so by a coincidence two of the affected numbers were very common in C 17:42:21 you know what? change that cons125 cb : end at the beginning of basm.bfm into cons125 cb : nl 17:43:00 That doesn't change a thing size-wise. 17:43:08 hm... 17:43:15 well it might have 17:43:53 Still 5128 characters. 17:45:49 hm, right, it would only change the placement of a movement from end to nl 18:54:29 Sgeo: yet another BF clone? 18:54:39 hm? 18:55:41 buffalo buffalo buffalo = +; buffalo buffalo Buffalo = -... 18:56:02 Easy to make a compiler. 18:56:29 Now, here's an idea that just sort of hit me: for that BF instruction minimalization thing, make it accept Unary programs terminated with an asterisk. 18:57:59 Shouldn't be especially hard to do. 18:58:46 rather hard to program though 18:59:17 Hard to program in, or hard to program? 19:00:02 hard to program in 19:00:18 So is Brainfuck; your point? :p 19:00:44 Just use a compiler. 19:00:49 actually, impossible to program in 19:01:32 Practically impossible, you mean? 19:01:42 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 19:02:04 Unary can be compiled to and from Brainfuck, you know. 19:02:40 sure, if you have more than the lifetime of the universe... 19:05:32 http://thegriddle.net/unary/ 19:07:12 that's fine. now convert basm.b to unary. tell me when you are finished :) 19:08:04 Argh; said script is a bit borken. 19:08:59 oerjan: see, practically impossible. 19:09:25 Use Fibonacci codes if you want something a bit more linear rather than exponential. 19:11:38 Unary could be one way of compressing a BF program. . . 19:11:56 Transmit the number of zeros instead of the actual BF code. ;) 19:12:31 that wouldn't be unary, but binary 19:12:49 That... wouldn't be compression. 19:13:10 Unary gives you a large amount of 0s. 19:13:24 Count the number of 0s, and you've got the compressed BF. 19:13:40 the string of zeros is unary. their number in binary is binary. 19:13:42 Uncompression: run that number of 0s through Unary->BF. 19:13:49 But that wouldn't be compression. 19:13:54 Well. 19:13:58 No, it wouldnt. 19:14:17 You should compress your BF code into more BF code. 19:14:45 ,[.,] vs 56623. 19:15:21 (56623 can be represented very efficiently in binary) 19:15:48 Hmm. 19:15:51 Stupid as hell, but it'd work. 19:16:04 3/8 compression from bf ascii representation to binary 19:16:10 You could probably be more efficient by just representing each BF opcode using 3 bits. 19:16:26 Oh, maybe. 19:16:29 eh, Unary is defined by going through that representation 19:34:48 http://esoteric.voxelperfect.net/wiki/BF-RLE 19:35:09 * Sgeo wrote it :p 19:35:33 BFZ is simpler. :p 19:35:46 BFZ? 19:36:14 Something I wrote for the esoteric programming contest. 19:36:26 RLEs +, -, > and <. 19:37:43 How are loops and I/O done? 19:38:57 []., 19:39:14 It's a compression program for inefficient Brainfuck. . . 19:39:52 Oh 19:39:58 I misunderstood what you said 19:40:29 Are specs available? 19:40:40 Not really; quick hack. 19:41:03 Is it safe to say that BF-RLE is more efficient =P? 19:41:14 * Sgeo keeps trying to find a reason to gloat 19:41:47 No, BF-RLE probably isn't. 19:41:54 BF-RLE isn't even implemented. 19:42:01 BFZ is implemented. . . In Brainfuck. 19:48:10 There's a language somehow based on BF-RLE :p 19:48:50 * pikhq recently discovered Trainfuck. . . 19:49:05 Brainfuck+network I/O+file I/O. 19:49:18 I should write an HTTP daemon in it, just for the hell of it. :p 19:56:06 http://esolangs.org/wiki/User:Sgeo/binbf 19:58:10 hmm 19:58:17 I'm not sure if it's ever even useful 19:59:38 * Sgeo wrote that stuff waaay too long ago 20:01:56 Though if you want pain, look at previous revisions 20:04:58 oO Network Headache is implemented?? 20:28:09 I oughta run my own server. 20:42:13 -!- bsmntbombdood has joined. 21:00:34 -!- Asztal has joined. 21:08:00 * pikhq is bored. . . 21:08:07 I should play with FukYourBrane a bit. 21:08:21 Perhaps a self-replicator? 21:12:44 Sgeo: why use adaptive huffman coding 21:12:56 why not use some arithmetic coding like a range coder? 21:13:01 range coder? 21:13:30 Sgeo: you know arithmetic coding? 21:13:37 no.. 21:14:07 it's a better form of entropy encoding than huffman 21:14:34 huffman approximates the optimal information that is needed for each symbol by whole bit lengths.... but that isn't optimal 21:14:53 arithmetic coding isn't limited to that.... so it generates smaller output 21:14:55 see http://en.wikipedia.org/wiki/Arithmetic_coding 21:15:12 and the range coder is a patent free way of doing arithmetic coding (many others are patented) 21:15:52 one of the big advantages is that there is no sorting involved... you can work right from the probabilities... no need to generate a tree... that makes it faster for adaptive encoders 21:16:38 The thing was really designed for Huffman 21:16:44 Don't know if it can be changed 21:16:51 Sgeo: it can 21:17:08 arithmetic coding does roughly the same as huffman 21:17:10 only a bit better 21:18:24 hmm what's fgk? 21:18:57 "[arithmetic coding] will often approach optimal entropy encoding much more closely than Huffman can." 21:19:09 Whoohooo. I created a program which actually fails against nothing.fyb. 21:19:27 imho fyb is seriously flawed 21:19:45 I was attempting to make a replicator. . . 21:19:52 And I made nothing.fyb win. 21:20:11 jix, I saw it mentioned under the Huffman entry 21:20:23 well it is just too easy to get some non looping code to setup bombs in some critical parts very fast that any attempt to do some logic will fail 21:20:26 I chose FGK just so there's some standard one used 21:22:51 And he's got programs combating that. 21:25:21 pikhq: huh what? 21:27:44 * Sgeo laffs at http://www.inference.phy.cam.ac.uk/mackay/itila/Potter.html 21:30:04 bwahargh 21:30:39 hm? 21:31:29 -!- bd_ has left (?). 21:32:54 In conclusion, we can give a cautious recommendation of Harry Potter only to speakers of Welsh and Latin; for everyone else, we recommend Information Theory, Inference, and Learning Algorithms. 21:39:09 I think I've got a self-replicator. 21:42:41 There is one problem with it. . . As it's a self-replicator, it doesn't really write bombs. 21:57:49 IRP: Please provide the decimal expansion of Ackermann(4,3) 22:08:48 ERROR: Don't wanna. 22:16:30 I've created a guaranteed-lose FYB program. 22:16:44 nothing.fyb beats it. 22:16:49 hmm? 22:16:56 h/o 22:17:24 !fyb http://pikhq.nonlogic.org/foo.fyb 22:17:26 Running... 22:17:28 Watch and laugh. 22:17:33 Grr. 22:17:47 Where are the specs?? 22:17:59 -13. 22:18:03 http://esoteric.voxelperfect.net/files/fyb/ 22:18:14 It lost against ever program EgoBot has. 22:19:04 Including ones you can't lose against. 22:19:06 Wouldn't * be an all-lose? 22:20:18 That would explain why it doesn't work. XD 22:20:38 I meant just a standalone * 22:20:48 Hmm. . . Still an all-lose. 22:20:50 Probably. 22:21:05 Yeah. 22:21:44 My * would lose even against your all-lose I think =P 22:22:31 !fyb http://sgeo.diagonalfish.net/esoteric/all_lose.fyb 22:22:40 Running... 22:23:29 total points: -12 22:23:53 all_lose.fyb 22:23:53 [x] all_lose.fyb 22:24:06 It does. 22:25:23 hm? 22:25:43 oh 22:26:14 {+!>} 22:26:19 Seek and mangle. ;) 22:26:55 pikhq, what about it? 22:27:48 Oh wow couldn't that choke due to trying to commit a @? 22:28:09 It attempts to find the pointer; at the same time, it mangles the array. . . 22:28:09 Well, * would still suicide 22:28:12 Yeah, it would. 22:31:38 * pikhq needs to beat logicex-2.fyb 22:34:19 What is logicex? 22:34:45 !fyb http://pikhq.nonlogic.org/bomber.fyb 22:34:48 Running... 22:34:50 A horrible good FYB program. 22:35:39 6 points on that one. 22:35:48 Beats logicex-1.fyb. :) 23:08:36 * pikhq has it subverting defects now 23:10:14 ah, yes- corewar's painfully deformed cousing- FYB. 23:10:20 *cousin 23:12:48 -!- tgwizard has quit ("Leaving"). 23:18:54 !!!!! 23:18:57 Huh? 23:19:05 lol 23:19:12 (Nothing happened; I just feel like using an extra exclamation mark or two!!!!!) 23:19:18 ah 23:19:32 Dunno why; just... need a vent. 23:19:43 See, my vents are always nice little ones. 23:20:10 Except I need to vent a little of this too: :-) :-) :-) :-) :-) :-) 23:20:14 There. 23:20:50 refreshing. 23:22:55 * ihope registers #vents as a place for venting 23:23:10 Actually, ##vents would be a better channel. 23:23:55 so, anyway, I completed the spec for a language I've been working on for a while last night, and I'm debating between releasing the spec now and trying to get help building libraries for it or waiting until I finish a reference interpreter. 23:24:25 Why not release it now? 23:25:22 well, it always seems pretty lame to come up with a language and show it off before you've completed the hard part- a functioning interpreter. 23:25:49 That's what I've been doing. 23:25:53 Let me implement it; no nasty Java for us. :p 23:26:01 hey who are you calling lame :) 23:26:05 what would you implement it in? 23:26:14 Java2000! 23:26:19 Or whatever that's called. 23:26:25 hm. Java2K 23:26:27 Tcl or C. 23:26:42 Or, if I'm insane, Brainfuck. 23:26:47 Or Thue. 23:26:55 Or Glass. 23:26:56 * Sgeo didn't make an interpreter for BF-RLE.. 23:26:58 Maybe ORK. 23:27:01 Or even Thubi. 23:27:02 well, I'd still most likely implement it in Java regardless, but if there's interest, what the hell... 23:27:03 Then again, I think I'm just lame 23:27:04 Ah, Glass. 23:27:17 And the language is rather trivial 23:30:59 ok, here's my creation- SYNTHESYS: http://www.nonlogic.org/dump/text/1161556217.html 23:32:03 it's a stack-based language with named string variables and some macroing and self-modification abilities. 23:32:40 people where are your entries? 23:32:51 I already sent mine in. 23:33:01 RodgerTheGreat: yeah but you are the only one 23:33:15 woo. I have defined the language spec singlehandedly. 23:34:09 Hmm 23:34:20 I could do statements from MKBL 23:34:32 But that would break the language irreversibly I think 23:36:01 pikhq: is there a bfm tutorial anywhere or documentation or at least something? 23:37:30 jix: I unfortunately rewrite the interpreter much faster than I update the specs. 23:38:23 If anyone wishes it, I shall begin the BFM tutorial here (in a similar manner to the Glass tutorial Gregor did a while back). 23:39:10 ok, I'll take this as showing no interest in synth. 23:39:24 I'm actually wondering how I shall interpret it right now. 23:39:28 * pikhq is rather interested 23:40:05 RodgerTheGreat: i'm interested but i don't get it from the specs 23:40:16 I think this is the best combo of concise syntax and extensibility without being cripplingly hard. 23:40:29 hm. 23:40:47 I could explain one of the code examples, if you think that would help. 23:41:23 I just don't see how one declares macros. 23:42:05 you push a named variable to assign it to, then a string literal (or equivalent), and then use the assignment operator. (@). 23:42:36 then you can call the macro by pushing it's parameters, then it's name, and using the execute operator (#). 23:42:47 ah 23:42:56 Oh. . . I see. 23:42:56 i'm very interested now 23:42:58 So. . . 23:43:20 'sum' "[-~+],"@ 23:43:21 is there a way to split a string literal? 23:43:33 ??sum# 23:43:35 That it? 23:44:03 if I do 'sum' "[-~+~],"@ and then "4""5"'sum'# 23:44:09 then that will add the two. 23:44:20 idea make macro names and string literals the same 23:44:24 So, my call would be ??'sum'#, not ??sum# 23:44:27 "4" 5 'sum' also works. 23:44:37 (adding two chars from stdin) 23:45:07 macros are just strings, in effect, and so invoking them works the same as pushing a string reference (which is what you're literally doing) 23:45:25 I'm thinking about how I'd parse this; it wouldn't be all *that* hard to do. . . Just need to do it. . . 23:45:36 there is a difference between 9 and "9", of course. 23:45:49 one is a numeric literal and one is a string literal. 23:45:55 RodgerTheGreat: but there is adifference between 'asd' and "asd" or is ther none? 23:46:06 I designed it to be pretty easy to parse. 23:46:08 'asd' is a variable, "asd" is a string. 23:46:14 exactly 23:46:15 i say remove the difference 23:46:19 ... 23:46:27 "asd"'asd'@ 23:46:27 then how would you use named references? 23:46:41 RodgerTheGreat: well variables are pushed on the stack right? 23:46:43 strings too right? 23:47:03 variables are *references* to strings, not the string itself. 23:47:11 yeah 23:47:23 nargh 23:47:27 i can't explain 23:47:28 being exclusively stack-based could make this a great deal harder to use. 23:47:53 it would be possible to use strings as references to strings 23:47:54 I see it being a bit easier in some ways. 23:48:04 (stacks don't bother me all that much. . .) 23:50:15 well, the language would need need more stack-management operators. 23:57:39 Pointy is all about pointers. 23:59:52 pikhq: btw i want a bfm introduction...