00:12:32 <{^Raven^}> g'night peeps 00:45:00 nite 00:45:10 wow. clock is already 3 am 00:45:26 time has gone fast when i have been studying jurassic park trespasser 00:46:35 Keymaker: i have already made a language that does nothing 00:47:26 i can perhaps find it given the esolang archive 00:47:29 or perhaps not 00:50:47 hee, found my original post suggesting to place the irc channel on freenode :) 00:54:01 hmm, cant find it 00:54:10 -!- harkeyahh has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]"). 00:55:03 -!- kipple has joined. 00:57:39 -!- calamari_ has joined. 00:57:41 hi 00:58:48 ho 00:59:22 cpressey_: ha 00:59:23 sorry lament, i didn't know that 00:59:40 cpressey_: theres a mail by you to esolang from 2001 00:59:52 cpressey_: about turing-complete vs. "useful" 01:00:29 cpressey_: and you propose to differentiate useful languages by building a "controlled oscillator" in them 01:00:40 http://esoteric.sange.fi/archive/2001-q3 01:01:23 Keymaker: I've been wanting to rewrite a lot of that bfbasic code, but I kept it the way it was so that Jon could write his game.. didn't want to break it and not be able to get it back together before spring break ended :) 01:01:37 lament: yes, i remember that 01:01:56 (why do i have a tail all of a sudden...?) 01:02:00 keymaker: right now all the statements and operators are in a big messy blob.. crappy code basically.. hard to understand and extend 01:02:27 -!- cpressey_ has changed nick to cpressey. 01:02:54 cpressey: convergent evolution 01:03:14 Keymaker: that's okay, i think it's because i never published it... 01:03:55 Keymaker: anyway it was called ZEN, null program was the only one, iti did nothing, and thus ZEN programs executed without any need for a physical computer... 01:03:57 * calamari_ wonders why there isn't a Chris Pressey page yet.. too prestigious? 01:04:41 might need a table of contents :) 01:04:48 Keymaker: i.e. not only each program was a quine, but also a (self'executing) ZEN interpreter 01:06:47 calamari: ok 01:07:07 lament: ok 01:08:14 * lament dies, temporarily 01:08:17 btw, is every Unnecessary program a Unnecessary interpreter too? 01:08:17 * calamari_ just sent everyone an Unnecessary program.. hope you enjoy 01:08:29 hey, good work calamari! 01:08:32 :) 01:08:54 thanks.. nice language there :) 01:09:00 heh, thanks 01:09:40 keymaker: are you familiar with flex/bison/yacc, etc ? 01:09:48 nope 01:09:57 neither am I... unfortunately 01:10:07 why should you be? 01:10:08 I suspect they would be the best way to redo bfbasic 01:10:13 ah 01:10:23 what about this python..? 01:10:33 it would take care of all the parsing ,which is where the big mess comes in 01:10:41 python is cool, I guess... 01:10:46 but Java is better! :) 01:10:51 nooo! 01:11:19 I'm getting more comfortable in python, but I still don't like it nearly as much as Java 01:11:53 something about it just seems tacked together and fragile 01:12:17 hmm 01:14:36 I also like Java's library much more than python's 01:14:59 although python does have lots of nifty string stuff.. that makes it bearable :) 01:15:13 yes 01:15:26 because of that i was suggesting it 01:16:20 I suggest that we stick with the current code for now.. although ugly, it does work (except for the bugs).. so once we get the bugs fixed we can port it or whatever 01:16:42 the bugs seem to be centralized in the array code 01:17:12 I've been meaning to plug it into a bf debugger and check it out.. see if it does what I think it does, etc 01:17:16 Java eh... 01:17:25 My only problem with Java is that it sucks horribly in every way. 01:17:30 Other than that, it's good. 01:17:48 :) 01:18:22 * GregorR pets C. 01:18:28 Ahh, my good friend ... 01:18:29 calamari once thought as you do.. you don't know the POWER of the Java side :) 01:18:54 I must obey my master 01:19:03 Java is too far Object Oriented. Object Orientation is good for certain things, but unlike they hype says, it is NOT good for everything, or even most things. 01:19:23 There are several tasks for which OO is perfect. And for those, I use C++ so I can drop out of OO when necessary. 01:19:23 * cpressey runs to get the popcorn 01:19:25 you can do functional programming in Java if you'd like 01:19:40 just declare your methods statci 01:19:43 But anyway, I just got off work, so now I am to leave :P 01:19:44 err imperative 01:19:47 mmh.. popcorn.. 01:20:02 hehe 01:20:15 cya gregor, have fun using c.. I'll toss you some free()'s :) 01:20:34 perhaps ORK would be good for this project? 01:20:58 perhaps we should just cut out all this fancy stuff and write it in bf 01:21:32 yes 01:21:44 I would like to bootstrap it someday.. but we're not far along enough yet 01:21:50 hehe 01:22:00 i was just going to say that :) 01:22:00 hey! I got bfasm bootstrapped 01:22:16 that's cool 01:22:17 hm, you might be able to do functional programming in java... but you'd have to use objects to handle anonymous functions, i think... 01:22:38 calamari_: re bfasm: right on! 01:22:45 bootstraps R kewl 01:22:51 yeah 01:23:03 cpressey: thanks.. I can't believe my wife put up with me doing it.. I was glued to the computer for days.. couldn't quit :) 01:23:12 hehe 01:23:43 have you even uploaded it anywhere? 01:23:48 the bootstrap? 01:23:50 yeah, it's on my webpage 01:24:03 ah. i need to check 01:24:03 its in the bfasm zip 01:24:05 it out 01:24:05 ok 01:24:08 the c file is actually the one in extras 01:24:21 yeah, I don;t think I released it before the bootstrap was done 01:24:32 it's been a while tho 01:25:13 I need to redo some of the stuff.. bfbasic has made improvements to some of the bf code 01:25:45 well anyhow.. I need to go home.. cya all later on 01:26:02 -!- calamari_ has quit ("<=K"). 01:26:23 bye 01:26:39 wow. that bfasm.b sure is neat.. :) 01:26:50 anyways, i need to go to. it's 3:30 am. 01:26:55 -!- Keymaker has quit ("I've seen this déjà vu before.."). 02:37:48 -!- calamari has joined. 02:38:24 hi 02:39:28 <{^Raven^}> hullo 02:41:29 hi raven.. hows the island? 02:42:05 <{^Raven^}> pretty good, 02:42:51 <{^Raven^}> there was a minor riot in town earlier with the G8 summit peeps but nothing too bad 02:43:16 <{^Raven^}> hows you? 02:46:18 <{^Raven^}> i've been pondering BFBASIC enhancements but am not sure of the current state of play 02:47:57 <{^Raven^}> have got some good ideas about how to implement strings 03:00:20 raven: I'm fine.. a little tired :) 03:00:52 good ideas about strings.. cool. Are they basic-like or c-like? 03:01:03 in other words.. garbage collection 03:02:23 <{^Raven^}> C like with a fixed maximum length set on initialisation. 03:03:10 <{^Raven^}> current idea is that a string can be treated internally as a numeric array 03:03:17 of course 03:03:32 the nice thing is that it doesn't need to be null terminated 03:03:41 <{^Raven^}> with all string handling operations being treated internally as array transformations 03:04:16 <{^Raven^}> yeah, they can be but there is no value in [<] or [>] due to how array elements are stored in memory 03:04:49 no I'm saying it doesn't need to be null terminated 03:05:16 It would be easiest to navigate around strings if they were double-null-terminated... 03:05:17 or are you suggesting something different than a numeric array? 03:05:43 <{^Raven^}> no, just a rehular numeric array 03:05:58 if you want the string to be immutable, then you don't even need to skip cells 03:06:04 then you could null terminate it 03:06:56 what about a bunch of immutable strings and a malloc? 03:07:15 <{^Raven^}> haven't thought about that 03:07:19 then you could imitate variable length strings 03:08:00 it'd be similar to current array code, but each "cell" would have a width value 03:08:08 Whoops, I just bought another year on codu.org when I already had XD 03:08:18 Now I'm good through '07 though, so no prob :P 03:08:59 hm.. now that I think of it.. that wouldn't really work 03:09:20 well it could, I guess with null termination 03:09:36 <{^Raven^}> it seems that it will be more effiecent to define a string as a fixed sized array 03:09:37 it'd be an interesting challenge 03:09:47 yeah, it would be.. 03:10:21 <{^Raven^}> string constants could be handled internally by the interpreter and inlined into the compiled code 03:10:27 but say you did something like A$=B$+C$.. it would take B$ and C$, determinae a new length for A$, and copy B$ and C$ into the space 03:10:29 <{^Raven^}> but I am not sure about their value 03:11:25 <{^Raven^}> you would need to initialise A$ somewhere also specifying the maximum length of A$ 03:11:53 yeah, it'd be right with the variable 03:12:05 -!- kipple has left (?). 03:13:08 <{^Raven^}> lots of string operations seem to be fairly simple 03:13:24 currently I think it's var B A element 0 element 0, etc.. so it'd be something like: maxlength, length, 0, elements, 0 03:13:41 probably needs a bit of tweaking .. need to map it out on paper 03:14:37 there wouldn't really be a free(), strings would just persist and grow, or be overwritten 03:15:20 <{^Raven^}> i am not sure how to make such a heap work in brainfuck 03:15:29 you don't need one 03:15:31 <{^Raven^}> hence the fixed allocations 03:15:47 there'd just be a "temporary" string that is used 03:16:29 for example, in A$=B$+C$, it doesn't know about A$ yet, because of the parsing order.. to it's actually like TEMP$=B$+C$ 03:16:39 then A$=TEMP$ 03:16:57 -!- harkeyahh has joined. 03:17:19 only problem with this scheme is that things like MID$ wouldn't work 03:17:29 that's probably not great 03:17:51 <{^Raven^}> not at all. MID$ is fairly simple 03:17:56 well MID$ would work if the exact offset was given, but otherwise, nope 03:18:13 <{^Raven^}> should still be able to work 03:18:24 for example if it's a constant that can hardcode some >>>>'is the file, you're all set 03:18:40 <{^Raven^}> MID$ can be decomposed into a FOR...NEXT loop 03:18:43 but if you're saying MID$(A$,X,Y), you're stuck 03:19:07 because it has no way to get to element X on its own 03:19:27 that would require using regular arrays with 2 elements per character 03:19:28 <{^Raven^}> no, FOR temp = X TO Y:do something with _strA(temp):NEXT 03:19:35 calamari, {^Raven^} is always right, get over yourself. 03:19:41 harkeyahh: hahaha 03:19:56 talking about VB? 03:20:17 <{^Raven^}> rofl 03:20:36 Hmmmmmmm, implementing VB in BF. 03:20:39 Now that sounds like fun. 03:20:45 Almost as fun as self testicular mutilation. 03:21:02 self testicular gesticulation bahaha 03:21:29 I feel sorry for vb.. it started out great, especially vb-dos 03:21:39 <{^Raven^}> DIM A$(40) becomes DIM _strA(42):_strA(0)=40 (maxlen):_strA(1)=0 (current length) 03:22:04 self testicular mastication my ass calamari 03:22:11 <{^Raven^}> the string itself is stored in _strA(2)..._strA(42) 03:22:20 raven: what I'm trying to say is that you can't access individual array elements because you have no way to get to them.. the first [>] goes straight to the end of the string 03:22:43 harkeyahh: umm.. I didn't say that ;) 03:23:19 it was hypothetically implied calamari 03:23:31 for your convenience 03:23:33 raven: unless you'd like to use regular array code, in which case this whole malloc scheme becomes irrelevant :) 03:23:52 please come again calamari, and bring some fish with you 03:24:02 harkeyahh: are you high? 03:24:13 no i'm actually below sea level 03:24:18 hhahaha 03:24:32 <{^Raven^}> calamari: my current my entire idea is based on using regular array code. Just because I know that in concept it should work 03:25:12 raven: yeah..probably best 03:25:43 raven: might be able to make the strings mutable with that.. but maybe it's too much work 03:26:06 just having the basics would be great :) 03:26:19 <{^Raven^}> calamari: that all depends on what the impact code size/efficiency is 03:27:58 <{^Raven^}> calamari: it should give us at least INPUT PRINT ASC LEFT$ MID$ RIGHT$ INKEY$ 03:28:07 it'd be just like regular array operatings, as you say.. but there'd be a lot of them 03:28:29 SPACE$ and STRING$ are nice too 03:28:37 as well as ASC 03:28:44 <{^Raven^}> that's my only concern is the large amount of code that will be generated, but I am not sure that there is any way to avoid that 03:28:45 oops, didn't see it hiding in there :) 03:29:04 <{^Raven^}> ASC A$ becomes _strA(2) 03:29:27 <{^Raven^}> (if length in _strA(1) is not NULL) 03:29:45 well, if we examine the array clode closely (which I think we'll need to to find the existing bugs), we could probably code bf native versions of each of those and save some statements 03:30:18 otheriwse, we'd be building it on top of existing bbfbasic statements.. that could get bloated 03:30:59 <{^Raven^}> yeah, we might need two variants, one for handling MID$(A$,1,2) and another for MID$(A$,X,Y) 03:31:20 <{^Raven^}> the first variant should be possible to code very efficiently 03:32:11 you'd still need a temp variable.. 03:32:17 that's something to think about 03:32:43 hopefully it'd be to the right of all current memory to allow it to grow very large if needed 03:33:20 <{^Raven^}> yes, I think that we could get away with declaring a temp string as large as the largest string 03:34:06 and also.. check out something like A$ = B$ + MID$(C$ + MID$(D$, A, B), X, Y) + E$ 03:34:44 hmm.. I think it can work :) 03:35:00 there isn't really any complex order of operations with strings 03:35:18 one temp variable can handle th entire thing, step by step 03:35:31 neato 03:35:47 <{^Raven^}> yeah. If we need to print a string larger than the temp we can do it on the fly 03:35:58 <{^Raven^}> but only for printing 03:36:10 it'd need to be the rest of memory.. take input for an example of that 03:36:52 unless you wanted to do something like INPUT$(numchars) which would be more responsible 03:37:09 wouldn't want to be known for bring buffer overflows to bf :) 03:38:32 <{^Raven^}> _t1=0:REPEAT:_to=INKEY:_strA(_t1)=_t0:_t1=_t1+1:UNTIL _t0=10 OR _t0=13:_strA(1)=_t1-1 03:39:17 <{^Raven^}> or UNTIL _t0=10 OR _t0=13 OR _t1>=_strA(0) to avoid the overflow 03:39:50 <{^Raven^}> above would be equivalent to INPUT A$ 03:43:15 well, I'm all for the idea of strings in bfbasic, it'll cause some parsing headaches and such of course, but I think we can handle it. the main thing though is fixing the current bugs first 03:43:31 otherwise we're doomed w.r.t. arrays :) 03:46:13 <{^Raven^}> that's the kick in the teeth really, nothing (string related) can be done until then. 03:48:34 <{^Raven^}> I like the stuff that you put on the brainfuck agorithms page on the esowiki 03:48:42 <{^Raven^}> looks familiar ;) 03:50:33 thanks .. we should fact check that array code .. hehehe 03:51:12 still weird, because i did test it while writing it and all seemed fine 03:51:49 need to port my bfadebug to linux 03:53:44 w00t, just got DN b0.6 out, much nicer build system now :) 03:54:02 0.6 already? I'm way behind with my 0.4 03:54:24 0.4 to 0.5 was a huge change, 0.5 to 0.6 had no code changes :P 03:55:02 0.4 to 0.5 was after implementing tons o' features and then letting it languish while I tracked down one nasty bug for a few months >_< 03:56:54 yay, it complained about my lack of gmp 03:57:59 Heheh :P 03:58:16 I assume you just got CVS? 04:02:16 yeah 04:02:31 "cvs update -d" 04:03:19 Is there any reason you haven't downloaded gmp and cyfer/ 04:03:21 *? 04:06:11 what are they? 04:07:09 synaptics says I did have libgmp3 04:17:40 It compiles them in statically because they work a bit funkily in DN. 04:17:47 You have to run getcyfer.sh (like it says) 04:17:50 Then it'll all be happy. 04:17:59 GMP = GNU Muli-Precision library 04:18:03 Cyfer = an encryption library 04:21:06 <{^Raven^}> GregorR: Nice hacker test you've got on your site, gonna have to go test some peeps with that 04:31:01 * GregorR wonders whether A) {^Raven^} wandered off of my site or B) {^Raven^} is mocking my use of a wiki for DN ... 04:31:29 Ahh, the one on the Cyfer page. 04:31:32 I did not write Cyfer. 04:34:52 * {^Raven^} ponders that it's 4:30 am and he should have been asleep hours ago 04:35:16 <{^Raven^}> I chose option A. 04:36:57 * {^Raven^} waves nite to all the esopeeps and toddles off to bed (again) 04:38:06 -!- harkeyahh has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]"). 04:48:42 -!- ChanServ has quit (brown.freenode.net irc.freenode.net). 04:48:42 -!- fizzie has quit (brown.freenode.net irc.freenode.net). 04:49:47 -!- calamari has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- CXI has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- tokigun has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- malaprop has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- {^Raven^} has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- mtve has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- ZeroOne has quit (brown.freenode.net irc.freenode.net). 04:49:48 -!- cmeme has quit ("Client terminated by server"). 04:50:20 -!- ChanServ has joined. 04:50:20 -!- calamari has joined. 04:50:20 -!- CXI has joined. 04:50:20 -!- fizzie has joined. 04:50:20 -!- tokigun has joined. 04:50:20 -!- malaprop has joined. 04:50:20 -!- lindi- has joined. 04:50:20 -!- {^Raven^} has joined. 04:50:20 -!- cpressey has joined. 04:50:20 -!- puzzlet has joined. 04:50:20 -!- pgimeno has joined. 04:50:20 -!- ZeroOne has joined. 04:50:20 -!- mtve has joined. 04:50:20 -!- irc.freenode.net has set channel mode: +o ChanServ. 04:50:50 -!- cmeme has joined. 04:53:15 hmm 04:58:15 http://gregorr.homelinux.org/scrabble/scrabble.php = libc scrabble values :) 04:59:13 scrabble? 04:59:53 GregorR: you mean English word game? 05:00:29 Except that I'm making it libc :) 05:00:41 ;) 05:00:43 libc scrabble > luser English scrabble 05:01:12 fprintf is worth 7 points 05:01:39 libc scrabble... good! 05:01:49 pthread_mutex_lock is worth 21 XD 05:02:34 i wondered why is there "_" letter ;) 05:02:56 Heheh :) 05:05:54 http://page.tokigun.net/obfuscation/file/2004/md5calc.bf 05:05:59 oops 05:06:35 i have to paste it in other window.. :S 05:26:46 lalala 05:34:21 Grr, how do you change the bgcolor of a td in JS >_< 05:37:54 GregorR: if you hate MSIE, use :hover css psuedo-selector. if not, use this.style.backgroundColor(probably) in inline script. 05:43:01 found my SMETANA interpreter that i don't think I ever published: 05:43:02 (lambda s=__import__('sys'),f=lambda f,l,p,n=lambda l,p:map(int,__import__('re').findall('\d+',l[p])):p>=len(l)and l or len(n(l,p))==3 and f(f,l[:n(l,p)[1]]+[l[n(l,p)[2]]]+l[n(l,p)[1]+1:n(l,p)[2]]+[l[n(l,p)[1]]]+l[n(l,p)[2]+1:],p+1)or f(f,l,n(l,p)[1]):s.stdout.writelines(f(f,file(s.argv[1]).readlines(),0)))() 05:43:47 except it dosen't work 05:44:16 but i remember it working with an older python :( 05:44:19 fuck 05:44:46 oh, i forgot to pass a command-line argument, nvm 05:46:20 lament: do you like obfuscated python? ;) 05:46:44 okay, this interpreter officially doesn't work :( 05:46:56 tokigun: you bet 05:47:15 i think you like this one: http://page.tokigun.net/obfuscation/file/2004/tenma.py 05:47:31 (not very obfuscated however) 05:48:26 pretty 05:49:02 GregorR: sorry for this silly question.. but what do I connect to with directnet? I tried your ip but it did not connect. 05:49:02 it contains interpreter, assembler, disassembler of whitespace. 05:49:45 and what's with all the hex digits.. I assume it's not a Numberix program :) 05:57:31 -!- calamari has quit ("bbl"). 06:19:17 OK, scrabble board = incredibly difficult to parse O_O 06:57:57 http://giki.sourceforge.net/scrabble.php 06:58:07 Still lacking many of the rules of scrabble, but it's basically functional :) 07:09:56 -!- cmeme has quit (Read error: 54 (Connection reset by peer)). 07:10:46 -!- cmeme has joined. 07:11:04 -!- cmeme has quit (Remote closed the connection). 07:11:49 -!- cmeme has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:54:47 -!- puzzlet has quit ("Lost terminal"). 08:59:09 -!- puzzlet has joined. 10:31:31 should this go in wiki somehow? 10:31:32 http://z3.ca/~lament/pictures/flow.gif 10:31:41 probably not :) 11:09:20 -!- kipple has joined. 13:06:34 -!- {^Raven^} has quit (Remote closed the connection). 13:09:26 -!- J|x has joined. 13:10:36 -!- J|x has changed nick to jix. 15:34:55 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 15:36:28 -!- CXI has joined. 15:51:59 -!- CXI has quit (Excess Flood). 15:52:26 -!- CXI has joined. 16:37:27 -!- {^Raven^} has joined. 18:01:29 -!- lament_ has joined. 18:06:52 -!- lament has quit (Read error: 110 (Connection timed out)). 18:34:19 -!- CXI has quit (Connection reset by peer). 18:35:02 -!- CXI has joined. 18:53:39 -!- jix has left (?). 18:58:35 -!- jix has joined. 19:06:05 -!- lament_ has changed nick to lament. 19:47:41 -!- CXI has quit (Read error: 60 (Operation timed out)). 20:06:22 -!- sp3tt has joined. 20:13:29 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 20:25:53 -!- tokigun has joined. 20:27:50 -!- jix has quit ("Banned from network"). 20:28:11 -!- jix has joined. 20:29:26 -!- calamari has joined. 20:33:59 hey calamari: did you see the article on slashdot today about that javascript shell? 20:34:08 reminded me of Esoshell :) 20:36:04 hi kipple, all 20:36:20 no, let me look .. had /. open just haven't read it yet :) 20:36:39 kipple: JS/UIX? 20:36:42 well the site is off-line (big surprise) 20:36:43 yes 20:36:49 mirrordot link: http://www.mirrordot.org/stories/1c1bf041ca7144dbe4b35249a8db7dff/index.html 20:37:09 kipple: yes /. effect ;) i saw the site months ago. 20:40:24 cool! 20:40:52 whoever wrote this has even less of a life than I do :) 20:43:57 i'm thinking about 99 bottles of beer in Whirl. 20:44:22 it makes my head dizzy... :S 20:45:04 you should not drink the beer until after you're finished programming 20:45:17 uhm http://esolangs.org/wiki/BF_instruction_minimalization i got down to 4 instructions (but thats a .. hack) 20:46:55 hix: what are the 4 instructions? 20:46:58 err jix 20:47:22 kipple: i cannot drink the beer ;) 20:47:29 X U M and L 20:47:58 but U M and L have arguments ( there are still just X U M and L in the code) 20:48:14 X is flip the current bit 20:48:22 U is User and is used for in and output 20:48:28 M is used for moving 20:48:31 and L for looping 20:49:14 Ow. That instruction minimalization hurts my brain even more than standard BF. 20:49:15 hmm 20:49:18 bf instructions don't take arguments :) 20:49:23 yes 20:49:28 it isn't brainfuck 20:49:39 then... what is THE arguments? 20:49:50 X U M and L 20:50:14 ULX moves up or down (i don't know.. have to recheck my specs) 20:50:16 like UX, UM, UL, LX, ....? 20:50:17 how can u be used for both input and output? 20:50:21 uh... MLX moves up or down 20:50:55 U takes a code as argument.. if the cell after evaluating the argument is zero input one output (or the other way around) 20:51:17 after the argument is evaluated the current cell is set to the value of the cell before the evaluation stated 20:51:45 I'm pretty sure what I have for the 5 instructions isn't going to work.. but that's okay :) 20:52:01 and because i didn't wanted to ad () or []{} i used a hack for the arguments 20:52:14 L takes one instruction as argument LL takes 2 LLL take 3... 20:52:50 and if you want an L instruction as argument of L you have to add 2 X instructions 20:53:02 jix: ah... then one instruction "block" (instruction + arguments) ends with X always? 20:53:05 I think I tested almost all the really simple solutions.. the problems were that they were very dependent on what the data was.. 0 would stay 0, but 1 might stay 1, or it might go into an infinite loop, etc 20:53:10 tokigun: no 20:53:23 hmm 20:53:27 calamari: your 8->7 translation is unoptimal 20:54:06 http://www.rpi.edu/~hughes/boof/ here is a shorter one 20:54:09 i didn't understand... have to think about it 20:54:09 jix: the goal wasn't to have 7 instructions 20:54:18 yes but your [ code is sooooo long 20:54:25 jix: I don't care :) 20:54:39 ok 20:54:40 that wasn't the point.. just wanted to dshow that it was bf complete 20:55:08 I quote from the article: " (most likely not optimized)" 20:55:13 i didn't say it isn't bf complete.. i just wanted to inform you that there is a shorter conversion 20:55:34 yeah, I think I saw one on a website.. but I wouldn't be able to use that without permission from the author 20:56:18 i have an idea for 5 instructions 20:57:14 but the memory usage may explode 20:59:44 i'm trying to combine . and , 20:59:55 -!- sp3tt has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"). 21:02:41 the only way I can think of to combine . and , would be to have it depnd on which instruction was executed last (or some similar cheating), or having a predefined I/O area, in which case both instructions can be eliminated 21:02:58 no it's just a replacement table 21:03:28 no idea what you meant by that 21:04:17 i removed the . and , instruction and added one which can be represented with the existing ones .. the same thing as you did 21:04:39 so .. would be output output 21:04:52 how do I do input? 21:05:03 wait i'm writing it down atm 21:05:28 note: any number of .'s will still be output :) 21:05:34 yes 21:05:37 of course 21:06:32 the definition of ; is [<.}]<}[<,}]< 21:07:27 and the translation from your 6 instruction set to the new 5 one is: '>' => '>>' , '<' => '<<' , '.' => '}<};' , ',' => '};' 21:07:31 -!- lindi- has quit (Read error: 104 (Connection reset by peer)). 21:08:14 oh wait 21:08:30 '>' doesn't exists 21:08:38 i create a new table 21:11:12 I'm not sure that qualifies either (although maybe my 5 inst solution doesn't either).. in essense you're constructing an if/else that does either one or the other. Feeling like cheating to me, but I dunno 21:11:37 if else .. where? 21:12:41 my reduction can be represented the same as yours .. i don't see a difference 21:12:51 -!- lindi- has joined. 21:13:14 jix: i'm not saying its invalid.. i'm just saying it feels like cheating to me :) 21:13:41 it's like the 8->7 translation 21:13:45 but I'm still checking it out 21:14:45 seems like you'd want [}<}. rather than [<. because otherwise you're always outputting a 0 for on of the bits? 21:14:57 on->one 21:15:40 why do i output 0 for them? 21:16:06 ah wait there is another mistake 21:16:13 well, maybe it's not that simple 21:16:35 ok i need to expand the memory by 3 21:16:50 you'd start with 1, but then it goes left, so you're outputting x 1 x x x x x x 21:17:11 every 2nd bit is a bit only used for the ; instruction 21:17:22 data temp data temp.... 21:17:38 ; doesn't exist.. I use . and , 21:17:49 they are a little different than bool 21:18:02 oh 21:18:03 since they input and output all 8 bits at once 21:18:16 no problem 21:18:30 I think that should actually make it easier :) 21:18:37 then i think i wanted yours.. and i can use the temp bit used in + and - 21:19:04 what bit is the temp bit .. 0 or 8 ? 21:19:13 0 ok 21:19:41 [}<}.<}] 21:20:01 hmm does that work 21:20:15 no will loop forever 21:20:28 no 21:20:37 will destroy the bit 0 of the output byte 21:21:01 if it's 1, it will get 1 x x x x x x x x, then you go left once, then right and flip, so 0 x x x x x x x x, then you exit 21:21:32 I'm using < = < and } = >@ 21:21:38 i too 21:21:45 doesn't [}.<] work ? 21:21:54 urg no 21:22:16 i think it should be [}<}.<<}] 21:22:28 . doesn't move the pointer 21:22:43 write it with > and @ 21:23:02 [>.<@] is [}<}.<<}] 21:23:17 > => }<} < => < and @ => <} 21:23:31 hmm, yeah you're right 21:23:36 but than we have a problem 21:23:51 because @ = <} 21:23:57 no problem, why 21:24:09 we destoryed the input or output bit 21:24:18 that's okay.. just use two 21:24:35 for example (I'll use the easier syntax so I don't mess it up): 21:24:56 ok but we have to rewrite the bf=> 5ins table 21:25:15 >[>.<@]<[>,<@] 21:26:03 }<}[}<}.<<}]<[}<},<<}] 21:26:23 :) 21:26:56 anyone else have an opinion on this? 21:27:06 no one understands us ;) 21:27:17 seems legit to me, according to the rules I laid down in the article 21:27:44 * kipple has no opinion at all about this (except perhaps a headache) 21:27:47 uhm why are you skipping 10 bits in the 8->7 translation? 21:27:57 jix: because I'm unoptimal 21:28:05 yes but can't we reuse that bit 21:28:12 its bit 0 and 9 right ? 21:28:21 daniel is a bf genius 21:28:28 * tokigun also has no opnion but headache 21:28:37 opinion* 21:28:39 I could never get close to the bf optimization he can do 21:29:16 jix: that stuff doesn't matter though.. that's only when translating back to bf 21:30:07 jix: but if I'm understanding you, yeah, the bf translation might need to change.. dunno 21:30:20 yes but i have an idea to make it a bit more optimal (optimal as in we don't have to change the translation ;) 21:30:43 do you have an account on the wiki? 21:30:56 yes 21:30:57 jix 21:31:05 okay, I'll edit, one sec 21:31:39 >>>>>>>>>[<<<<<<<<.>>>>>>>>@]<<<<<<<<<[>,<@] would work without changing the current translation 21:32:08 or }<}}<}}<}}<}}<}}<}}<}}<}}<}[<<<<<<<<.}<}}<}}<}}<}}<}}<}}<}}<}<}]<<<<<<<<<[}<},<<}] 21:32:40 i introduced cfdg at hanirc and some people interested in it. (especially my friend) 21:33:01 hmm is it ok to ad a }<} at the beginning of every translation ? 21:33:22 because than we could use the short ; representation AND the old translation table 21:33:34 calamari: ? 21:34:42 away for 15 min 21:34:49 If you'd like to optimizae the translations, that's cool 21:35:00 doesn't matter much to me, though :) 21:35:34 5:36 am... oops. 21:36:08 i don't want to optimize it.. i just don't want to change it (because thats to much work) 21:36:10 away 21:37:55 I think [}<}.<<}]<[}<},<<}] is better 21:38:24 the leading > wasn't needed, because it's taken care of in the ., translations 21:40:53 away 21:40:57 -!- tokigun has changed nick to tokigun^away. 21:47:50 hmm, what about [.<]<[,<] 0 0(1) gives output and results 0 0 x x x x x x x x, 0 1(0) gives input and results 0 0 x x x x x x x x 21:51:04 cool.. looks good, I'm going with it :) 21:51:18 no that doesn't work 21:51:42 wait 21:51:49 what is your . and , translation 21:52:22 . = [@]>[@]>[@]@; (before } tanslation) 21:52:48 no need for [@] arn't the bits always 0 ? 21:52:49 , = [@]>[@]@>[@]; 21:53:00 jix: depends on what was there 21:53:31 that can't work the. is at position 0 (relative to ; call) and the , at position -1 21:53:54 but i have another idea 21:54:20 jix: huh? 21:54:27 it's fine 21:54:32 [.<]<[,<] 21:54:35 trace it through on paper if you need to 21:54:53 it's a little tricky, sure.. but it works 21:55:09 start with 0 0 1 and the pointer at 1 21:55:35 the pointer is at 2 21:55:50 I meant at the 1.. sorry 21:56:15 than it may work but with . = [@]>[@]>[@]@; and , = [@]>[@]@>[@]; it doesn't 21:58:29 even better would be [.@]<[,<] 21:58:36 does . and , output the current bit+7 or the next bit+7 21:58:46 current bit 21:59:19 actually, nm on [.@] 21:59:34 that messes up the original value, so it couldn't be converted back to . 22:00:13 how do you do the ] is still ] thing at 8->7 ? 22:00:43 what? 22:01:23 on the 8->7 instruction step ] is still ] .. but can't the current bit be zero but the data bits not? 22:02:03 huh? [ only tests a single bit 22:02:12 ] does not test anything 22:02:44 yes but.. take a look at the BF BitChanger table 22:02:55 ] just jumps back to [ 22:03:08 so all the weight of testing the byte is in [ 22:03:18 yes and [ jumps back to after the ] if value is zero 22:03:29 right 22:04:17 lets think of: 0[1 0 0 0 0 0 0 0] the [ part is the data... this will exit the loop with your translation table .. but it shouldn't 22:05:47 did you put this in an interpreter to check? 22:05:59 no 22:06:01 did you ? 22:06:05 nope :P 22:06:40 i think we should use the boolfuck thing.. the boolfuck interpreter is pd .. i assume the documentation too 22:06:41 I should... 22:06:47 I need to get going for now, though 22:06:52 it's been fun :) 22:07:14 hehe sure 22:10:15 -!- calamari has quit ("cya all"). 22:20:44 -!- jix has quit ("Banned from network"). 22:26:27 -!- CXI has joined. 23:05:01 -!- harkeyahh has joined. 23:13:21 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 23:13:43 -!- CXI has joined. 23:35:45 <{^Raven^}> hi y'all 23:35:59 -!- deltab has joined. 23:37:11 we need to get urban to come here as well 23:37:32 hehe 23:37:44 I don't think he's much into esoteric languages these days... 23:38:31 kipple: "programming is like sex, you make one mistake and support it the rest of your life" 23:38:36 he clearly made his mistake :) 23:38:51 haha :D 23:41:58 I don't think he's done too much work supporting it... 23:42:13 yeah, what an asshole 23:42:20 stupid parachute dude 23:42:30 err... huh? 23:47:53 he enjoys skydiving and juggling hard drives, according to Wikipedia 23:48:05 there was a picture of him skydiving on his page 23:48:07 but i can't find it 23:48:09 or the page 23:51:30 google image search for brainfuck gives all the wrong results 23:54:50 I think it gives several interesting results :) 23:54:57 like this: http://my.2000i.de/esolang2002/esolang-teaser.jpg 23:55:25 hahaha wtf is that. 23:55:41 brilliant. 23:56:32 I think it is a poster for a talk about esoteric programming 23:57:00 hmmm 23:57:12 i don't get it 23:57:17 what does this smetana program do? 23:57:26 Step 1. Swap step 1 with step 2 23:57:29 Step 2. Go to step 1 23:58:10 swaps indefinitely? 23:58:18 swaps 2 times then halts 23:58:18 why? 23:58:24 why? 23:58:53 cpressey: yeah, that's what i think it should do 23:59:30 yes. that seems to be right