←2005-06-15 2005-06-16 2005-06-17→ ↑2005 ↑all
00:12:32 <{^Raven^}> g'night peeps
00:45:00 <Keymaker> nite
00:45:10 <Keymaker> wow. clock is already 3 am
00:45:26 <Keymaker> time has gone fast when i have been studying jurassic park trespasser
00:46:35 <lament> Keymaker: i have already made a language that does nothing
00:47:26 <lament> i can perhaps find it given the esolang archive
00:47:29 <lament> or perhaps not
00:50:47 <lament> hee, found my original post suggesting to place the irc channel on freenode :)
00:54:01 <lament> 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 <calamari_> hi
00:58:48 <kipple> ho
00:59:22 <lament> cpressey_: ha
00:59:23 <Keymaker> sorry lament, i didn't know that
00:59:40 <lament> cpressey_: theres a mail by you to esolang from 2001
00:59:52 <lament> cpressey_: about turing-complete vs. "useful"
01:00:29 <lament> cpressey_: and you propose to differentiate useful languages by building a "controlled oscillator" in them
01:00:40 <lament> http://esoteric.sange.fi/archive/2001-q3
01:01:23 <calamari_> 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 <cpressey_> lament: yes, i remember that
01:01:56 <cpressey_> (why do i have a tail all of a sudden...?)
01:02:00 <calamari_> 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 <lament> cpressey: convergent evolution
01:03:14 <lament> Keymaker: that's okay, i think it's because i never published it...
01:03:55 <lament> 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 <calamari_> might need a table of contents :)
01:04:48 <lament> Keymaker: i.e. not only each program was a quine, but also a (self'executing) ZEN interpreter
01:06:47 <Keymaker> calamari: ok
01:07:07 <Keymaker> lament: ok
01:08:14 * lament dies, temporarily
01:08:17 <Keymaker> 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 <Keymaker> hey, good work calamari!
01:08:32 <Keymaker> :)
01:08:54 <calamari_> thanks.. nice language there :)
01:09:00 <Keymaker> heh, thanks
01:09:40 <calamari_> keymaker: are you familiar with flex/bison/yacc, etc ?
01:09:48 <Keymaker> nope
01:09:57 <calamari_> neither am I... unfortunately
01:10:07 <Keymaker> why should you be?
01:10:08 <calamari_> I suspect they would be the best way to redo bfbasic
01:10:13 <Keymaker> ah
01:10:23 <Keymaker> what about this python..?
01:10:33 <calamari_> it would take care of all the parsing ,which is where the big mess comes in
01:10:41 <calamari_> python is cool, I guess...
01:10:46 <calamari_> but Java is better! :)
01:10:51 <Keymaker> nooo!
01:11:19 <calamari_> I'm getting more comfortable in python, but I still don't like it nearly as much as Java
01:11:53 <calamari_> something about it just seems tacked together and fragile
01:12:17 <Keymaker> hmm
01:14:36 <calamari_> I also like Java's library much more than python's
01:14:59 <calamari_> although python does have lots of nifty string stuff.. that makes it bearable :)
01:15:13 <Keymaker> yes
01:15:26 <Keymaker> because of that i was suggesting it
01:16:20 <calamari_> 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 <calamari_> the bugs seem to be centralized in the array code
01:17:12 <calamari_> 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 <GregorR> Java eh...
01:17:25 <GregorR> My only problem with Java is that it sucks horribly in every way.
01:17:30 <GregorR> Other than that, it's good.
01:17:48 <Keymaker> :)
01:18:22 * GregorR pets C.
01:18:28 <GregorR> Ahh, my good friend ...
01:18:29 <calamari_> calamari once thought as you do.. you don't know the POWER of the Java side :)
01:18:54 <calamari_> I must obey my master
01:19:03 <GregorR> 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 <GregorR> 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 <calamari_> you can do functional programming in Java if you'd like
01:19:40 <calamari_> just declare your methods statci
01:19:43 <GregorR> But anyway, I just got off work, so now I am to leave :P
01:19:44 <calamari_> err imperative
01:19:47 <Keymaker> mmh.. popcorn..
01:20:02 <Keymaker> hehe
01:20:15 <calamari_> cya gregor, have fun using c.. I'll toss you some free()'s :)
01:20:34 <Keymaker> perhaps ORK would be good for this project?
01:20:58 <calamari_> perhaps we should just cut out all this fancy stuff and write it in bf
01:21:32 <Keymaker> yes
01:21:44 <calamari_> I would like to bootstrap it someday.. but we're not far along enough yet
01:21:50 <Keymaker> hehe
01:22:00 <Keymaker> i was just going to say that :)
01:22:00 <calamari_> hey! I got bfasm bootstrapped
01:22:16 <Keymaker> that's cool
01:22:17 <cpressey> 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 <cpressey> calamari_: re bfasm: right on!
01:22:45 <cpressey> bootstraps R kewl
01:22:51 <Keymaker> yeah
01:23:03 <calamari_> 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 <Keymaker> hehe
01:23:43 <Keymaker> have you even uploaded it anywhere?
01:23:48 <Keymaker> the bootstrap?
01:23:50 <calamari_> yeah, it's on my webpage
01:24:03 <Keymaker> ah. i need to check
01:24:03 <calamari_> its in the bfasm zip
01:24:05 <Keymaker> it out
01:24:05 <Keymaker> ok
01:24:08 <calamari_> the c file is actually the one in extras
01:24:21 <calamari_> yeah, I don;t think I released it before the bootstrap was done
01:24:32 <calamari_> it's been a while tho
01:25:13 <calamari_> I need to redo some of the stuff.. bfbasic has made improvements to some of the bf code
01:25:45 <calamari_> well anyhow.. I need to go home.. cya all later on
01:26:02 -!- calamari_ has quit ("<=K").
01:26:23 <Keymaker> bye
01:26:39 <Keymaker> wow. that bfasm.b sure is neat.. :)
01:26:50 <Keymaker> anyways, i need to go to. it's 3:30 am.
01:26:55 -!- Keymaker has quit ("I've seen this dj vu before..").
02:37:48 -!- calamari has joined.
02:38:24 <calamari> hi
02:39:28 <{^Raven^}> hullo
02:41:29 <calamari> 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 <calamari> raven: I'm fine.. a little tired :)
03:00:52 <calamari> good ideas about strings.. cool. Are they basic-like or c-like?
03:01:03 <calamari> 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 <calamari> of course
03:03:32 <calamari> 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 <calamari> no I'm saying it doesn't need to be null terminated
03:05:16 <GregorR> It would be easiest to navigate around strings if they were double-null-terminated...
03:05:17 <calamari> or are you suggesting something different than a numeric array?
03:05:43 <{^Raven^}> no, just a rehular numeric array
03:05:58 <calamari> if you want the string to be immutable, then you don't even need to skip cells
03:06:04 <calamari> then you could null terminate it
03:06:56 <calamari> what about a bunch of immutable strings and a malloc?
03:07:15 <{^Raven^}> haven't thought about that
03:07:19 <calamari> then you could imitate variable length strings
03:08:00 <calamari> it'd be similar to current array code, but each "cell" would have a width value
03:08:08 <GregorR> Whoops, I just bought another year on codu.org when I already had XD
03:08:18 <GregorR> Now I'm good through '07 though, so no prob :P
03:08:59 <calamari> hm.. now that I think of it.. that wouldn't really work
03:09:20 <calamari> 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 <calamari> it'd be an interesting challenge
03:09:47 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> probably needs a bit of tweaking .. need to map it out on paper
03:14:37 <calamari> 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 <calamari> you don't need one
03:15:31 <{^Raven^}> hence the fixed allocations
03:15:47 <calamari> there'd just be a "temporary" string that is used
03:16:29 <calamari> 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 <calamari> then A$=TEMP$
03:16:57 -!- harkeyahh has joined.
03:17:19 <calamari> only problem with this scheme is that things like MID$ wouldn't work
03:17:29 <calamari> that's probably not great
03:17:51 <{^Raven^}> not at all. MID$ is fairly simple
03:17:56 <calamari> 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 <calamari> 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 <calamari> but if you're saying MID$(A$,X,Y), you're stuck
03:19:07 <calamari> because it has no way to get to element X on its own
03:19:27 <calamari> 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 <harkeyahh> calamari, {^Raven^} is always right, get over yourself.
03:19:41 <calamari> harkeyahh: hahaha
03:19:56 <harkeyahh> talking about VB?
03:20:17 <{^Raven^}> rofl
03:20:36 <GregorR> Hmmmmmmm, implementing VB in BF.
03:20:39 <GregorR> Now that sounds like fun.
03:20:45 <GregorR> Almost as fun as self testicular mutilation.
03:21:02 <harkeyahh> self testicular gesticulation bahaha
03:21:29 <calamari> 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 <harkeyahh> self testicular mastication my ass calamari
03:22:11 <{^Raven^}> the string itself is stored in _strA(2)..._strA(42)
03:22:20 <calamari> 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 <calamari> harkeyahh: umm.. I didn't say that ;)
03:23:19 <harkeyahh> it was hypothetically implied calamari
03:23:31 <harkeyahh> for your convenience
03:23:33 <calamari> raven: unless you'd like to use regular array code, in which case this whole malloc scheme becomes irrelevant :)
03:23:52 <harkeyahh> please come again calamari, and bring some fish with you
03:24:02 <calamari> harkeyahh: are you high?
03:24:13 <harkeyahh> no i'm actually below sea level
03:24:18 <calamari> 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 <calamari> raven: yeah..probably best
03:25:43 <calamari> raven: might be able to make the strings mutable with that.. but maybe it's too much work
03:26:06 <calamari> 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 <calamari> it'd be just like regular array operatings, as you say.. but there'd be a lot of them
03:28:29 <calamari> SPACE$ and STRING$ are nice too
03:28:37 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> you'd still need a temp variable..
03:32:17 <calamari> that's something to think about
03:32:43 <calamari> 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 <calamari> and also.. check out something like A$ = B$ + MID$(C$ + MID$(D$, A, B), X, Y) + E$
03:34:44 <calamari> hmm.. I think it can work :)
03:35:00 <calamari> there isn't really any complex order of operations with strings
03:35:18 <calamari> one temp variable can handle th entire thing, step by step
03:35:31 <calamari> 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 <calamari> it'd need to be the rest of memory.. take input for an example of that
03:36:52 <calamari> unless you wanted to do something like INPUT$(numchars) which would be more responsible
03:37:09 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> thanks .. we should fact check that array code .. hehehe
03:51:12 <calamari> still weird, because i did test it while writing it and all seemed fine
03:51:49 <calamari> need to port my bfadebug to linux
03:53:44 <GregorR> w00t, just got DN b0.6 out, much nicer build system now :)
03:54:02 <calamari> 0.6 already? I'm way behind with my 0.4
03:54:24 <GregorR> 0.4 to 0.5 was a huge change, 0.5 to 0.6 had no code changes :P
03:55:02 <GregorR> 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 <calamari> yay, it complained about my lack of gmp
03:57:59 <GregorR> Heheh :P
03:58:16 <GregorR> I assume you just got CVS?
04:02:16 <calamari> yeah
04:02:31 <calamari> "cvs update -d"
04:03:19 <GregorR> Is there any reason you haven't downloaded gmp and cyfer/
04:03:21 <GregorR> *?
04:06:11 <calamari> what are they?
04:07:09 <calamari> synaptics says I did have libgmp3
04:17:40 <GregorR> It compiles them in statically because they work a bit funkily in DN.
04:17:47 <GregorR> You have to run getcyfer.sh (like it says)
04:17:50 <GregorR> Then it'll all be happy.
04:17:59 <GregorR> GMP = GNU Muli-Precision library
04:18:03 <GregorR> 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 <GregorR> Ahh, the one on the Cyfer page.
04:31:32 <GregorR> 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 <tokigun> hmm
04:58:15 <GregorR> http://gregorr.homelinux.org/scrabble/scrabble.php = libc scrabble values :)
04:59:13 <tokigun> scrabble?
04:59:53 <tokigun> GregorR: you mean English word game?
05:00:29 <GregorR> Except that I'm making it libc :)
05:00:41 <tokigun> ;)
05:00:43 <GregorR> libc scrabble > luser English scrabble
05:01:12 <GregorR> fprintf is worth 7 points
05:01:39 <tokigun> libc scrabble... good!
05:01:49 <GregorR> pthread_mutex_lock is worth 21 XD
05:02:34 <tokigun> i wondered why is there "_" letter ;)
05:02:56 <GregorR> Heheh :)
05:05:54 <tokigun> http://page.tokigun.net/obfuscation/file/2004/md5calc.bf
05:05:59 <tokigun> oops
05:06:35 <tokigun> i have to paste it in other window.. :S
05:26:46 <lament> lalala
05:34:21 <GregorR> Grr, how do you change the bgcolor of a td in JS >_<
05:37:54 <tokigun> GregorR: if you hate MSIE, use :hover css psuedo-selector. if not, use this.style.backgroundColor(probably) in inline script.
05:43:01 <lament> found my SMETANA interpreter that i don't think I ever published:
05:43:02 <lament> (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 <lament> except it dosen't work
05:44:16 <lament> but i remember it working with an older python :(
05:44:19 <lament> fuck
05:44:46 <lament> oh, i forgot to pass a command-line argument, nvm
05:46:20 <tokigun> lament: do you like obfuscated python? ;)
05:46:44 <lament> okay, this interpreter officially doesn't work :(
05:46:56 <lament> tokigun: you bet
05:47:15 <tokigun> i think you like this one: http://page.tokigun.net/obfuscation/file/2004/tenma.py
05:47:31 <tokigun> (not very obfuscated however)
05:48:26 <lament> pretty
05:49:02 <calamari> 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 <tokigun> it contains interpreter, assembler, disassembler of whitespace.
05:49:45 <calamari> 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 <GregorR> OK, scrabble board = incredibly difficult to parse O_O
06:57:57 <GregorR> http://giki.sourceforge.net/scrabble.php
06:58:07 <GregorR> 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 <lament> should this go in wiki somehow?
10:31:32 <lament> http://z3.ca/~lament/pictures/flow.gif
10:31:41 <lament> 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 <kipple> hey calamari: did you see the article on slashdot today about that javascript shell?
20:34:08 <kipple> reminded me of Esoshell :)
20:36:04 <calamari> hi kipple, all
20:36:20 <calamari> no, let me look .. had /. open just haven't read it yet :)
20:36:39 <tokigun> kipple: JS/UIX?
20:36:42 <kipple> well the site is off-line (big surprise)
20:36:43 <kipple> yes
20:36:49 <kipple> mirrordot link: http://www.mirrordot.org/stories/1c1bf041ca7144dbe4b35249a8db7dff/index.html
20:37:09 <tokigun> kipple: yes /. effect ;) i saw the site months ago.
20:40:24 <calamari> cool!
20:40:52 <calamari> whoever wrote this has even less of a life than I do :)
20:43:57 <tokigun> i'm thinking about 99 bottles of beer in Whirl.
20:44:22 <tokigun> it makes my head dizzy... :S
20:45:04 <kipple> you should not drink the beer until after you're finished programming
20:45:17 <jix> uhm http://esolangs.org/wiki/BF_instruction_minimalization i got down to 4 instructions (but thats a .. hack)
20:46:55 <calamari> hix: what are the 4 instructions?
20:46:58 <calamari> err jix
20:47:22 <tokigun> kipple: i cannot drink the beer ;)
20:47:29 <jix> X U M and L
20:47:58 <jix> but U M and L have arguments ( there are still just X U M and L in the code)
20:48:14 <jix> X is flip the current bit
20:48:22 <jix> U is User and is used for in and output
20:48:28 <jix> M is used for moving
20:48:31 <jix> and L for looping
20:49:14 <sp3tt> Ow. That instruction minimalization hurts my brain even more than standard BF.
20:49:15 <tokigun> hmm
20:49:18 <calamari> bf instructions don't take arguments :)
20:49:23 <jix> yes
20:49:28 <jix> it isn't brainfuck
20:49:39 <tokigun> then... what is THE arguments?
20:49:50 <jix> X U M and L
20:50:14 <jix> ULX moves up or down (i don't know.. have to recheck my specs)
20:50:16 <tokigun> like UX, UM, UL, LX, ....?
20:50:17 <calamari> how can u be used for both input and output?
20:50:21 <jix> uh... MLX moves up or down
20:50:55 <jix> 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 <jix> after the argument is evaluated the current cell is set to the value of the cell before the evaluation stated
20:51:45 <calamari> I'm pretty sure what I have for the 5 instructions isn't going to work.. but that's okay :)
20:52:01 <jix> and because i didn't wanted to ad () or []{} i used a hack for the arguments
20:52:14 <jix> L takes one instruction as argument LL takes 2 LLL take 3...
20:52:50 <jix> and if you want an L instruction as argument of L you have to add 2 X instructions
20:53:02 <tokigun> jix: ah... then one instruction "block" (instruction + arguments) ends with X always?
20:53:05 <calamari> 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 <jix> tokigun: no
20:53:23 <tokigun> hmm
20:53:27 <jix> calamari: your 8->7 translation is unoptimal
20:54:06 <jix> http://www.rpi.edu/~hughes/boof/ here is a shorter one
20:54:09 <tokigun> i didn't understand... have to think about it
20:54:09 <calamari> jix: the goal wasn't to have 7 instructions
20:54:18 <jix> yes but your [ code is sooooo long
20:54:25 <calamari> jix: I don't care :)
20:54:39 <jix> ok
20:54:40 <calamari> that wasn't the point.. just wanted to dshow that it was bf complete
20:55:08 <calamari> I quote from the article: " (most likely not optimized)"
20:55:13 <jix> i didn't say it isn't bf complete.. i just wanted to inform you that there is a shorter conversion
20:55:34 <calamari> 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 <jix> i have an idea for 5 instructions
20:57:14 <jix> but the memory usage may explode
20:59:44 <jix> i'm trying to combine . and ,
20:59:55 -!- sp3tt has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]").
21:02:41 <calamari> 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 <jix> no it's just a replacement table
21:03:28 <calamari> no idea what you meant by that
21:04:17 <jix> 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 <calamari> so .. would be output output
21:04:52 <calamari> how do I do input?
21:05:03 <jix> wait i'm writing it down atm
21:05:28 <calamari> note: any number of .'s will still be output :)
21:05:34 <jix> yes
21:05:37 <jix> of course
21:06:32 <jix> the definition of ; is [<.}]<}[<,}]<
21:07:27 <jix> 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 <jix> oh wait
21:08:30 <jix> '>' doesn't exists
21:08:38 <jix> i create a new table
21:11:12 <calamari> 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 <jix> if else .. where?
21:12:41 <jix> my reduction can be represented the same as yours .. i don't see a difference
21:12:51 -!- lindi- has joined.
21:13:14 <calamari> jix: i'm not saying its invalid.. i'm just saying it feels like cheating to me :)
21:13:41 <jix> it's like the 8->7 translation
21:13:45 <calamari> but I'm still checking it out
21:14:45 <calamari> seems like you'd want [}<}. rather than [<. because otherwise you're always outputting a 0 for on of the bits?
21:14:57 <calamari> on->one
21:15:40 <jix> why do i output 0 for them?
21:16:06 <jix> ah wait there is another mistake
21:16:13 <calamari> well, maybe it's not that simple
21:16:35 <jix> ok i need to expand the memory by 3
21:16:50 <calamari> 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 <jix> every 2nd bit is a bit only used for the ; instruction
21:17:22 <jix> data temp data temp....
21:17:38 <calamari> ; doesn't exist.. I use . and ,
21:17:49 <calamari> they are a little different than bool
21:18:02 <jix> oh
21:18:03 <calamari> since they input and output all 8 bits at once
21:18:16 <jix> no problem
21:18:30 <calamari> I think that should actually make it easier :)
21:18:37 <jix> then i think i wanted yours.. and i can use the temp bit used in + and -
21:19:04 <jix> what bit is the temp bit .. 0 or 8 ?
21:19:13 <jix> 0 ok
21:19:41 <calamari> [}<}.<}]
21:20:01 <jix> hmm does that work
21:20:15 <jix> no will loop forever
21:20:28 <jix> no
21:20:37 <jix> will destroy the bit 0 of the output byte
21:21:01 <calamari> 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 <calamari> I'm using < = < and } = >@
21:21:38 <jix> i too
21:21:45 <jix> doesn't [}.<] work ?
21:21:54 <jix> urg no
21:22:16 <jix> i think it should be [}<}.<<}]
21:22:28 <calamari> . doesn't move the pointer
21:22:43 <jix> write it with > and @
21:23:02 <jix> [>.<@] is [}<}.<<}]
21:23:17 <jix> > => }<} < => < and @ => <}
21:23:31 <calamari> hmm, yeah you're right
21:23:36 <jix> but than we have a problem
21:23:51 <calamari> because @ = <}
21:23:57 <calamari> no problem, why
21:24:09 <jix> we destoryed the input or output bit
21:24:18 <calamari> that's okay.. just use two
21:24:35 <calamari> for example (I'll use the easier syntax so I don't mess it up):
21:24:56 <jix> ok but we have to rewrite the bf=> 5ins table
21:25:15 <calamari> >[>.<@]<[>,<@]
21:26:03 <jix> }<}[}<}.<<}]<[}<},<<}]
21:26:23 <calamari> :)
21:26:56 <calamari> anyone else have an opinion on this?
21:27:06 <jix> no one understands us ;)
21:27:17 <calamari> 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 <jix> uhm why are you skipping 10 bits in the 8->7 translation?
21:27:57 <calamari> jix: because I'm unoptimal
21:28:05 <jix> yes but can't we reuse that bit
21:28:12 <jix> its bit 0 and 9 right ?
21:28:21 <calamari> daniel is a bf genius
21:28:28 * tokigun also has no opnion but headache
21:28:37 <tokigun> opinion*
21:28:39 <calamari> I could never get close to the bf optimization he can do
21:29:16 <calamari> jix: that stuff doesn't matter though.. that's only when translating back to bf
21:30:07 <calamari> jix: but if I'm understanding you, yeah, the bf translation might need to change.. dunno
21:30:20 <jix> 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 <calamari> do you have an account on the wiki?
21:30:56 <jix> yes
21:30:57 <jix> jix
21:31:05 <calamari> okay, I'll edit, one sec
21:31:39 <jix> >>>>>>>>>[<<<<<<<<.>>>>>>>>@]<<<<<<<<<[>,<@] would work without changing the current translation
21:32:08 <jix> or }<}}<}}<}}<}}<}}<}}<}}<}}<}[<<<<<<<<.}<}}<}}<}}<}}<}}<}}<}}<}<}]<<<<<<<<<[}<},<<}]
21:32:40 <tokigun> i introduced cfdg at hanirc and some people interested in it. (especially my friend)
21:33:01 <jix> hmm is it ok to ad a }<} at the beginning of every translation ?
21:33:22 <jix> because than we could use the short ; representation AND the old translation table
21:33:34 <jix> calamari: ?
21:34:42 <jix> away for 15 min
21:34:49 <calamari> If you'd like to optimizae the translations, that's cool
21:35:00 <calamari> doesn't matter much to me, though :)
21:35:34 <tokigun> 5:36 am... oops.
21:36:08 <jix> i don't want to optimize it.. i just don't want to change it (because thats to much work)
21:36:10 <jix> away
21:37:55 <calamari> I think [}<}.<<}]<[}<},<<}] is better
21:38:24 <calamari> the leading > wasn't needed, because it's taken care of in the ., translations
21:40:53 <tokigun> away
21:40:57 -!- tokigun has changed nick to tokigun^away.
21:47:50 <calamari> 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 <calamari> cool.. looks good, I'm going with it :)
21:51:18 <jix> no that doesn't work
21:51:42 <jix> wait
21:51:49 <jix> what is your . and , translation
21:52:22 <calamari> . = [@]>[@]>[@]@; (before } tanslation)
21:52:48 <jix> no need for [@] arn't the bits always 0 ?
21:52:49 <calamari> , = [@]>[@]@>[@];
21:53:00 <calamari> jix: depends on what was there
21:53:31 <jix> that can't work the. is at position 0 (relative to ; call) and the , at position -1
21:53:54 <jix> but i have another idea
21:54:20 <calamari> jix: huh?
21:54:27 <calamari> it's fine
21:54:32 <jix> [.<]<[,<]
21:54:35 <calamari> trace it through on paper if you need to
21:54:53 <calamari> it's a little tricky, sure.. but it works
21:55:09 <calamari> start with 0 0 1 and the pointer at 1
21:55:35 <jix> the pointer is at 2
21:55:50 <calamari> I meant at the 1.. sorry
21:56:15 <jix> than it may work but with . = [@]>[@]>[@]@; and , = [@]>[@]@>[@]; it doesn't
21:58:29 <calamari> even better would be [.@]<[,<]
21:58:36 <jix> does . and , output the current bit+7 or the next bit+7
21:58:46 <calamari> current bit
21:59:19 <calamari> actually, nm on [.@]
21:59:34 <calamari> that messes up the original value, so it couldn't be converted back to .
22:00:13 <jix> how do you do the ] is still ] thing at 8->7 ?
22:00:43 <calamari> what?
22:01:23 <jix> on the 8->7 instruction step ] is still ] .. but can't the current bit be zero but the data bits not?
22:02:03 <calamari> huh? [ only tests a single bit
22:02:12 <calamari> ] does not test anything
22:02:44 <jix> yes but.. take a look at the BF BitChanger table
22:02:55 <calamari> ] just jumps back to [
22:03:08 <calamari> so all the weight of testing the byte is in [
22:03:18 <jix> yes and [ jumps back to after the ] if value is zero
22:03:29 <calamari> right
22:04:17 <jix> 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 <calamari> did you put this in an interpreter to check?
22:05:59 <jix> no
22:06:01 <jix> did you ?
22:06:05 <calamari> nope :P
22:06:40 <jix> i think we should use the boolfuck thing.. the boolfuck interpreter is pd .. i assume the documentation too
22:06:41 <calamari> I should...
22:06:47 <calamari> I need to get going for now, though
22:06:52 <calamari> it's been fun :)
22:07:14 <jix> 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 <lament> we need to get urban to come here as well
23:37:32 <kipple> hehe
23:37:44 <kipple> I don't think he's much into esoteric languages these days...
23:38:31 <lament> kipple: "programming is like sex, you make one mistake and support it the rest of your life"
23:38:36 <lament> he clearly made his mistake :)
23:38:51 <kipple> haha :D
23:41:58 <kipple> I don't think he's done too much work supporting it...
23:42:13 <lament> yeah, what an asshole
23:42:20 <lament> stupid parachute dude
23:42:30 <kipple> err... huh?
23:47:53 <deltab> he enjoys skydiving and juggling hard drives, according to Wikipedia
23:48:05 <lament> there was a picture of him skydiving on his page
23:48:07 <lament> but i can't find it
23:48:09 <lament> or the page
23:51:30 <lament> google image search for brainfuck gives all the wrong results
23:54:50 <kipple> I think it gives several interesting results :)
23:54:57 <kipple> like this: http://my.2000i.de/esolang2002/esolang-teaser.jpg
23:55:25 <lament> hahaha wtf is that.
23:55:41 <lament> brilliant.
23:56:32 <kipple> I think it is a poster for a talk about esoteric programming
23:57:00 <lament> hmmm
23:57:12 <lament> i don't get it
23:57:17 <lament> what does this smetana program do?
23:57:26 <lament> Step 1. Swap step 1 with step 2
23:57:29 <lament> Step 2. Go to step 1
23:58:10 <kipple> swaps indefinitely?
23:58:18 <cpressey> swaps 2 times then halts
23:58:18 <lament> why?
23:58:24 <lament> why?
23:58:53 <lament> cpressey: yeah, that's what i think it should do
23:59:30 <kipple> yes. that seems to be right
←2005-06-15 2005-06-16 2005-06-17→ ↑2005 ↑all