←2005-09-17 2005-09-18 2005-09-19→ ↑2005 ↑all
00:00:07 <calamari> so there can be multiple loops
00:00:16 <ihope> 1 2 3 2 1?
00:00:33 <Wildhalcyon> 1 1 2 3 5 8?
00:00:40 <Wildhalcyon> ahem. Sorry.
00:00:43 <ihope> Oh dear.
00:00:53 <calamari> 3.141592653589793238462643383279502884?
00:00:58 <ihope> NO.
00:01:18 <Wildhalcyon> Calamari? What is EsoFunk?
00:01:33 <Keymaker> it's a new funk band
00:01:43 <calamari> we were trying to decide on a bf/befunge hybrid language for the eso os
00:01:50 <ihope> Heh. If an expansion instruction were added to SMETATA or SMATINY, would that language become Turing-complete?
00:01:52 <calamari> it kinda fizzled away
00:02:24 <calamari> although it did inspire bos :)
00:02:30 <Wildhalcyon> Calamari: Something like path or snusp?
00:02:43 <Wildhalcyon> iHope: expansion instruction?
00:02:44 <ihope> Hmm, "esos" sounds like a nice name for an esoteric operating system :-)
00:02:47 <calamari> Wildhalcyon: dunno, I'd have to look at those langs
00:02:57 <ihope> Yes: Add a new instruction at the end of the program.
00:03:58 <Wildhalcyon> For SMETATA, I think it just needs a halting instruction (say, any time it reaches Step 0 or Step -1).
00:04:06 <calamari> Wildhalcyon: yeah, more like path than snusp I think
00:04:29 <ihope> Well, does arbitrary memory make anything Turing-complete?
00:04:30 <Wildhalcyon> Core SNUSP is my favorite, right now. It just feels.. good.
00:04:31 <calamari> Wildhalcyon: it wasn't two dimension yet, though
00:04:41 <int-e> ihope: not necessarily
00:04:49 <ihope> I mean: arbitrary isn't infinite after all...
00:05:00 <int-e> ihope: the classical example is a finite automaton coupled with a single stack
00:05:34 <int-e> the stack is infinite but the automaton can only accept context free grammars, not arbitrary decidable languages.
00:05:43 <int-e> grammars -> languages
00:05:57 <int-e> iow, it's not turing complete.
00:06:32 <Wildhalcyon> Im having trouble implementing jumping in my fungeoid, trying to decide how to deal with connectivity
00:07:55 <ihope> int-e: It essentially has a "window" on the stack that cannot grow or shrink, and the top of the window can't move below the top of the stack.
00:08:09 <ihope> You know, that'd be a great thing to directly put inside a language.
00:11:18 <Wildhalcyon> The language will be way too slow if its not easy enough to determine connectivity between two cells
00:12:36 <Keymaker> btw, should popping empty stack return 0 or cause an error?
00:12:39 <Keymaker> which one is better?
00:12:47 <ihope> Error, I think...
00:13:06 <Keymaker> in a way, yeah
00:13:23 <ihope> Or just leave whatever you're popping to as it already is.
00:13:34 <Keymaker> yeah, that might be good too
00:13:43 <Keymaker> aargh, too many choices..
00:14:09 <ihope> Heh...
00:14:10 <ihope> Wildhalcyon: add jump-points and rails. When moving off a jump-point, you follow the rail to its end. I'm not sure what this'll actually do, but it might do something :-)
00:14:49 <Wildhalcyon> ihope, right now, I'm just implementing it as a topologically independent instruction. I.E. as far as jumping is concerned, two points are ALWAYS connected
00:15:16 <ihope> Hmm... sounds good :-)
00:15:49 <Wildhalcyon> Some of the earlier ideas I had included wormholes, but the syntax for definining them would be difficult at best, so I dumped them. It still might be possible with the A-Z instructions.
00:20:15 <ihope> How about jumpwalls, which are jumped over such that you land just after the next jumpwall?
00:21:06 <Wildhalcyon> like the ; instruction in befunge? Won't work for my language with the current design.
00:23:11 <ihope> ...I don't see a ; instruction.
00:24:15 <Wildhalcyon> Its in the funge-98 specification
00:24:24 <Wildhalcyon> "nothing executed until next semicolon"
00:24:59 <ihope> Ah :-0
00:25:04 <ihope> Erm I mean :-)
00:26:02 * ihope wonders where the java console went, and if chatzilla kidnapped it
00:27:00 <Wildhalcyon> kidnaps chatzilla
00:27:59 <ihope> Thanks.... except I still can't find the Java console...
00:28:44 <Wildhalcyon> I'm retyping out the mini-spec on the topological spaces. I'll post the link when I finish it and upload it
00:31:57 * ihope javaconsoles himself
00:32:14 -!- ihope has quit (Remote closed the connection).
00:32:20 <Keymaker> ha!
00:32:26 <Keymaker> solved one problem i had..
00:32:35 <lament> ha!
00:32:40 <Wildhalcyon> what was that?
00:32:49 <Keymaker> it was in this language design
00:33:02 <Keymaker> i don't want to tell, because that would reveal about the language
00:33:20 <Wildhalcyon> hmmm. That in itself is a clue.
00:33:27 <Keymaker> d'oh!
00:33:29 <Keymaker> :)
00:33:56 -!- ihope has joined.
00:34:03 <lament> ouch
00:34:07 <lament> now the secret is out
00:34:12 <Keymaker> hehe
00:34:37 <ihope> Secret? :-o
00:34:50 <lament> shhh
00:35:21 <Wildhalcyon> exactly
00:35:49 * ihope wonders whether this is a coincidence or a minor prank :-)
00:36:20 <Keymaker> :)
00:36:55 <lament> it's just a coincidence, don't worry
00:36:59 * ihope does a minor wtf at this website
00:37:00 <lament> it doesn't concern you anyway
00:37:06 <lament> not like we would tell you if it did
00:37:06 <ihope> :-)
00:37:13 <lament> s/anyway/in any way
00:38:06 <lament> if i were you, i'd just pretend nothing happened
00:38:49 <ihope> Okay. /me listens to the crickets chirping instead ;-)
00:40:08 -!- ihope has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.6/20050716]").
00:40:17 <Wildhalcyon> Hmm
00:41:04 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/colorspaces.txt anyone have any comments for me?
00:42:05 -!- ihope has joined.
00:42:38 <lament> (shhhh)
00:43:17 <ihope> (argh: yes, I'll use a verticon) o_o
00:43:43 <Wildhalcyon> You too ihope
00:43:50 <calamari> cool, a sinhgle loop seems fine.. implemented bf
00:44:25 <calamari> I may be able to use a single switch statement too (no if's)
00:44:54 <ihope> ...Okay: how do I get EsoShell to work? :-)
00:46:31 <calamari> ihope, just go here.. it should work http://esoshell.kidsquid.com/
00:46:37 <Wildhalcyon> You crazy fool calamari!! muahahahhahaaaaaaa
00:46:44 * Sgep got Java to work under FF
00:46:52 <Wildhalcyon> FF?
00:46:56 <Sgep> FireFox
00:47:20 <ihope> Start: applet not initialized.
00:49:00 <Wildhalcyon> oh, yay
00:49:14 <calamari> ihope: that usually means you're using ie
00:49:16 <Wildhalcyon> Im using esoshell in FF
00:49:41 <ihope> ...But I'm not :-)
00:49:41 <Sgep> I didn't get EsoShell to work in FF though
00:49:55 <ihope> This is Mac OS X... should I try Safari?
00:50:34 <calamari> ihope: it uses java 1.4.. wonder what version os x comes with
00:51:48 <ihope> Aha. Firefox only recognizes 1.3.1.
00:52:11 <calamari> i should cut back then
00:52:23 <calamari> i can probably make do with 1.2 functions
00:52:39 <ihope> Well, it might work in Safari...
00:53:40 <calamari> I tried making a 1.1 compliant awt version but it was horrible
00:54:34 <calamari> no idea how that guy did it in javascript..
00:54:53 <Sgep> Bleh. DNS borked
00:55:15 <ihope> Javascript?
00:55:16 <Wildhalcyon> Hmm, I should probably remove my WIP from the wiki page since I dont have anyone to be collaborative on it with.
00:55:43 <calamari> ihope: http://www.masswerk.at/jsuix/
00:56:10 <calamari> ihope: something similar in javascript.. not free though
00:56:55 <calamari> one adanvatage to the way he is doing it is that you don't actually have a real cursor.. maybe I should do that too
00:59:52 <ihope> Cute. CRITICAL ERROR: The file exists!
01:01:40 <calamari> ihope: that's a cool language, by Keymaker :)
01:02:05 <Keymaker> ?
01:02:06 <calamari> btw Keymaker, what's your real name so I can give you better credit
01:02:13 <calamari> (for unnecessary)
01:02:16 <Keymaker> what language
01:02:17 <Keymaker> ah
01:02:22 <Keymaker> nice that you like it
01:03:11 <Keymaker> oh, and you can find the real name from friends-of-brainfuck list
01:03:53 <ihope> Uh, how do I *create* a file in EsoShell? :-)
01:04:20 <calamari> ihope echo "whatever" > filename
01:04:29 <ihope> Aha
01:04:38 <Keymaker> wah! is f-o-bf down?!
01:05:55 <ihope> .drawkcab gniphce tsuj s'taC .raed hO
01:06:01 <ihope> How do I exit? :-)
01:06:06 <calamari> I searched my mail for "keymaker" but found nothing :)
01:06:30 <Keymaker> well, i'll e-mail the name for you then..
01:08:47 <Keymaker> ok, done
01:08:51 <Wildhalcyon> Anyone get a chance to look at the file link I posted above?
01:08:57 <Keymaker> yes
01:09:22 <Wildhalcyon> Any comments or profanity for me?
01:09:41 <ihope> ...What file? :-)
01:09:52 <Wildhalcyon> If you like, you can right a f*ckf*ck program that prints the comments out for me?
01:10:14 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/colorspaces.txt
01:10:18 <Wildhalcyon> ihope: that file
01:13:04 -!- int-e has left (?).
01:13:21 <ihope> Argh: EsoShell just sorta conked out.
01:13:43 <calamari> keymaker: cool, thanks.. now I can give you proper credit :)
01:13:57 <calamari> ihope: what were you doing?
01:14:13 <Keymaker> btw, credit.. where? :)
01:14:31 <calamari> Keymaker: there is an unnecessary interpreter in esoshell
01:14:37 <Keymaker> ah, cool!
01:14:40 <Keymaker> gotta try
01:15:07 <calamari> I wrote it from scratch, but used the error messages out of your original
01:15:36 <ihope> Oh, uh, I wondered just what "mount" did, then played around with cat...
01:16:59 <calamari> ihope: do you remember what mount command you tried? I'd like to fix any bugs :)
01:17:16 <ihope> "mount wiki README" :-)
01:17:41 <Keymaker> hehe, nice. unnecessary interpreter itself is easy, but can't think of an esolang where unnecessary interpreter could be written..
01:17:56 <ihope> What esolangs open files?
01:18:14 <Keymaker> i know none that could open files
01:18:24 <Wildhalcyon> funge 98 can
01:18:27 <ihope> Make brainf*** able to open files.
01:18:42 -!- calamari_ has joined.
01:18:46 <Keymaker> well, preferably not
01:18:54 <calamari_> re's
01:19:00 <ihope> Why not? :-)
01:19:09 <Keymaker> files are useless!
01:19:25 <calamari_> numberix can open files
01:19:29 <Sgep> PESOIX?
01:19:33 <Sgep> <-- new
01:19:49 <ihope> Nah, just stick all the files in one big chuck in negative memory.
01:20:01 <Keymaker> hehe
01:20:18 <ihope> Well, you'd need an actual filesystem of course :-)
01:20:47 <calamari_> ihope: weird.. I did did that mount and it worked fine
01:21:18 <calamari_> then I did `cat "abc" > wiki:a'
01:21:24 <Wildhalcyon> use braintwist - put the files in the data array, and move to the files using the code array
01:22:06 <Keymaker> for the last time, i don't want to open files! aaargh lol
01:22:09 <Sgep> Is there a brainf*** interpreter that works with PESOIX?
01:22:33 <ihope> Well, it wasn't the mount... I think. The applet just failed to load.
01:22:42 <calamari_> ihope: weird
01:22:50 <Wildhalcyon> But its not opening files... its just... manipulating the data space. Hmm.. might be a project I look into...
01:23:37 <Sgep> http://jonripley.com/easel/api.txt
01:23:43 <calamari_> ihope: if a program freezes you can try ctrl-c
01:24:09 <calamari_> sgep: bos implements esoapi 1.0, but not the full pesoix
01:24:20 <ihope> Hmm... okay :-)
01:24:52 <calamari_> i have a lot of hacks in there.. need to take them out and use real stuff like signals, I know
01:25:33 <ihope> How does one make an API call?
01:25:45 <calamari_> it started out as a shell, and it's getting more and more like an os, so I need to rework a lot of stuff with it
01:25:51 <calamari_> ihope: in esoapi?
01:26:01 <ihope> ...Yeah :-)
01:26:11 <calamari_> output 00 (nul)
01:26:20 <ihope> Ah
01:26:33 <calamari_> then the next char is the function
01:26:37 <ihope> Wait... is output a comma or a period?
01:26:45 <Keymaker> period
01:26:50 <Keymaker> .
01:26:56 <ihope> :-)
01:27:36 <ihope> Okay; my Macintosh skills are limited. I'll run over to Windows...
01:27:42 -!- ihope has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.6/20050716]").
01:31:31 <calamari_> I wonder if I could make something that is lynx compatible :)
01:36:21 -!- calamari has quit (Read error: 110 (Connection timed out)).
01:39:00 -!- calamari_ has changed nick to calamari.
01:42:11 <Keymaker> gentlemen, which one looks better:
01:42:11 <Keymaker> )
01:42:11 <Keymaker> ()()()()
01:42:11 <Keymaker> (((())))
01:42:12 <Keymaker> (
01:42:14 <Keymaker> or
01:42:18 <Keymaker> (
01:42:18 <Keymaker> )()()()(
01:42:20 <Keymaker> ))))((((
01:42:22 <Keymaker> )
01:42:30 <Wildhalcyon> As far as...?
01:42:37 <Keymaker> ?
01:42:48 <Keymaker> it's the language i'm designing
01:42:53 <Keymaker> i like the first better
01:42:58 <Wildhalcyon> I do too, I think
01:43:02 <Wildhalcyon> Is that the name of the language?
01:43:11 <Keymaker> no
01:43:13 <Keymaker> that's code
01:43:15 <Keymaker> lol
01:43:18 <Wildhalcyon> Hmm. Still evil.
01:43:41 <Keymaker> i'll posts specs probably later today
01:43:54 <Keymaker> but since i revealed this much i can tell a bit;
01:44:05 <Keymaker> ) and ( are used as loops, the brainfuck way
01:44:26 <Keymaker> the memory is a stack, that is accessible the brainfuck way
01:44:44 <Keymaker> like one can increase and decrease the current value of stack
01:44:47 <Keymaker> the topmost value
01:45:08 <Keymaker> the instructions are selected by pattern of ()
01:45:16 <Keymaker> like for example ((((()))))
01:45:23 <Wildhalcyon> mmkay
01:45:26 <Keymaker> but i haven't yet selected all of them
01:47:35 <Keymaker> oh, wait..
01:47:50 <Keymaker> i may have another design idea for this, gotta think
01:48:43 <Wildhalcyon> Good luck ;-)
01:58:09 <telemakh0s> Wildhalcyon: I'd love a copy of that article... I can't find it online either
01:58:26 <Wildhalcyon> Whats your email telemakh0s?
01:59:14 <telemakh0s> Also, can you point me to a link to OWL?
01:59:23 <telemakh0s> twobitsprite@gmail.com
02:00:41 <Wildhalcyon> Sent
02:00:47 <telemakh0s> awesome, thanks
02:00:59 <Wildhalcyon> http://it.geocities.com/tonibin/
02:01:34 <Keymaker> which one is used usually more, push or pop?
02:01:59 <Wildhalcyon> I'd say push
02:02:06 <Keymaker> ok
02:02:21 <telemakh0s> Keymaker: I would imagine they would be used about equally, unless you either plan on abandonning things at the bottom of the stack, or trying to top things from an empty stack...
02:02:34 <telemakh0s> s/top/pop/
02:02:38 <Keymaker> hmm
02:02:38 <Wildhalcyon> push(a) push(b) add pop(c)
02:02:46 -!- heatsink has joined.
02:02:55 <Wildhalcyon> see how you use one less pop for each push in this case?
02:03:20 <Wildhalcyon> Plus, many languages pop an operation as a side effect of their main purpose, such as output
02:03:21 <telemakh0s> Wildhalcyon: ahh... but things are still popped, the pop is just implied in the "add"
02:03:35 <Keymaker> hmm
02:03:40 <telemakh0s> no?
02:03:51 <Keymaker> (just thinking..)
02:04:05 <Wildhalcyon> That's correct, but I assumed he meant simple popping
02:04:22 <Wildhalcyon> but I can see your point
02:04:50 <Wildhalcyon> If you're dealing with a language which has registers and a stack, you need to push and pop to/from the stack and the register to do ANYTHING with the values
02:04:58 <Wildhalcyon> so you WILL be pushing and popping just about equally
02:05:05 <telemakh0s> so I guess you meant in terms of which ones a programmer would explicitly use, in which case push definately...
02:05:11 <Wildhalcyon> exactly
02:05:48 <Wildhalcyon> I wonder if kemaker is trying to make a bf with a stack...
02:06:01 <Wildhalcyon> s/ke/key
02:06:11 <Keymaker> nope
02:06:18 <Keymaker> that isn't my purpose
02:06:41 <Wildhalcyon> Oh, darn, that would have been interesting
02:07:09 <telemakh0s> one problem with bf as a language for use in G/A, is that you have to ensure that [] are matched and that you don't have more <'s than you do >'s...
02:07:40 <telemakh0s> unless you just ignore unmatced braces and assume the "tape" wraps arround...
02:07:41 <Wildhalcyon> Right, but that can just be considered a lethal mutation
02:08:23 <Wildhalcyon> The number of mutations that can cause unmatched [] is small with respect to the total number of mutations
02:08:31 <telemakh0s> true..., but if you only have 8 possible states for each element of the program, and each state is equally probable, you'll end up with a _lot_ of fatal mutations...
02:09:15 <telemakh0s> well... if you mutate a single atom of the program, you have a 1/4 chance of it being either [ or ]...
02:09:27 <Wildhalcyon> Hmm, good point
02:09:46 <Wildhalcyon> I hadn't really thought of that
02:10:03 <Wildhalcyon> And BF has a LOT of [ and ]
02:10:38 <telemakh0s> yes, in fact you argue that [ and ] are the two most important instructions, as they provide for branching...
02:10:49 <telemakh0s> you ^could^ argue
02:10:56 <Wildhalcyon> I wouldn't disagree
02:11:18 <Wildhalcyon> but it doesnt mean they aren't mutable
02:11:47 <telemakh0s> I'm not saying that... I'm just trying to figure out a way to mutate them, with out it resulting in mostly fatal mutations
02:11:49 <Wildhalcyon> Since the language isn't rewritable, you always know which [ goes to which ], which is equivalent to knowing how long your loop is
02:12:09 <Wildhalcyon> You can either A) make mutating your braces VERY unlikely
02:12:27 <Wildhalcyon> or B) remove the braces and replace them with "skip n" instructions
02:12:29 <telemakh0s> or make it so that mutatin one brace causes the matching one to mutate?
02:12:43 <Wildhalcyon> hmm, hadn't thought of that either
02:12:58 <telemakh0s> I don't think "skip n" would work, because you have to be able to "skipback n" too...
02:13:16 <Wildhalcyon> not if you implement the language with a function stack
02:13:36 <Wildhalcyon> you have a counter that counts to n, then goes back, counts to n, then goes back
02:14:28 -!- CXI has joined.
02:15:24 <Wildhalcyon> The problem is that n needs to be unbounded
02:18:18 <telemakh0s> well... n would be bounded "to the end of the program"
02:18:37 <Wildhalcyon> What I meant is you can't set a default to the maximum size of a loop
02:19:35 <Wildhalcyon> There's a string-matching idea in the paper too, for dealing with goto-less loops (which is inherantly what a brace-matching mechanism is)
02:23:04 <Wildhalcyon> Im wrestling with whether or not to include my color definition in my esolang.
02:24:27 <Wildhalcyon> If I dont, everything is one big topological space. I can use an operator such as # to say "STOP, wrap here" and everything works fine.
02:25:54 <Keymaker> mh.. it's suddenly 4 am again..
02:26:00 <Keymaker> better get to bed..
02:26:05 <Keymaker> good "night"
02:26:08 <Wildhalcyon> I love when time plays tricks
02:26:13 <Keymaker> heh
02:26:17 <Keymaker> bye
02:26:19 -!- Keymaker has quit ("This quote is unrelated to this context.").
02:26:28 <Wildhalcyon> g'night.. look forward to seeing a finished product soon
02:26:33 <Wildhalcyon> Well shoot. He left
03:26:13 <Wildhalcyon> ASCII is an abomination
03:34:59 <Sgep> Would it be safe to say that Network-Headache doesn't have an implementation?
03:35:19 <Wildhalcyon> I dont think it does
03:44:20 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:13:23 <Wildhalcyon> anybody still up?
04:19:53 * heatsink is
04:21:36 <Wildhalcyon> Feel like looking at a confusing half-written spec for me?
04:29:31 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/alt_spec.txt
04:48:15 <heatsink> It's worth noting that UTF-8 is compatible with ASCII characters 32-127
04:52:01 <Wildhalcyon> I know, that's what I was getting at with Unicode being based on ASCII
04:56:20 <heatsink> I suggest adding, after the "Stack Elements" section, a description of the stack, which is the other datatype for your language.
04:56:42 <heatsink> Also, what happens on an access to an invalid stack location or pop of an empty stack.
04:56:44 <Wildhalcyon> Oh, I probably should. The stack is pretty novel, as far as stack-based esolangs are concerns
04:57:36 <heatsink> Oh, balanced ternary, cool
04:58:02 <heatsink> I invented an esoteric non-programming language which had balanced base-6 numbers :)
04:58:21 <heatsink> I didn't know there was a name for it
04:58:42 <Wildhalcyon> really? that's gotta be pretty cool. I've been a big fan of balanced ternary.
04:59:01 <Wildhalcyon> I even wanted to write a bf varient that used it, called trittyfuck.
04:59:06 <heatsink> LOL
04:59:27 <Wildhalcyon> But bf is base-independent
05:00:21 <Wildhalcyon> It might be possible if each data cell is a balanced ternary digit
05:03:14 <heatsink> I can't think of a way in which the use of balanced ternary would actually change the behavior of bf.
05:03:23 <Wildhalcyon> it really wouldn't
05:03:30 <Wildhalcyon> hence my lack of creating a language as such
05:04:03 <Wildhalcyon> If you try to pop an element from an empty stack, it pops a null string. I think that's the most esoteric approach.
05:04:25 <Wildhalcyon> Except for maybe popping the string "ribbit", which would be pretty crazy too.
05:04:58 <heatsink> It would be more esoteric to make pop-from-empty-stack read from stdin :)
05:05:13 <Wildhalcyon> that would be pretty crazy too, you're right
05:05:26 <heatsink> Okay. So the starting state of the stack is an infinite stack of the empty string.
05:05:35 <Wildhalcyon> Yes, exactly.
05:07:28 <Wildhalcyon> Except that those aren't rotated when the stack is rotated
05:07:47 <heatsink> Oh, I didn't notice the stack rotation functions.
05:08:16 <heatsink> That kinda cuts down the beauty of it.
05:08:20 <Wildhalcyon> They rotate the entire stack forward/backward, so it acts as a circularly linked list
05:08:22 <Wildhalcyon> Perhaps, yes.
05:09:43 <Wildhalcyon> I still think its beautiful though
05:10:58 <heatsink> What does this do?
05:11:06 <heatsink> v{abc}@
05:11:11 <heatsink> > ^
05:11:39 <Wildhalcyon> enters an infinite loop of pushing a's (10) onto the stack.
05:11:44 <heatsink> ok
05:12:05 <heatsink> how about the single character }
05:12:23 <Wildhalcyon> I should probably specify that all sides of the program have an implicit # associated with them.
05:12:41 <heatsink> ok
05:12:47 <Wildhalcyon> I've been debating that. Im thinking that { and } should be interchangable, so {abc} is the same as }abc{
05:13:21 <Wildhalcyon> which would be the same as {abc{ and }abc}
05:13:43 <heatsink> If you traverse {abc} backwards, does it push cba?
05:14:11 <Wildhalcyon> yes. It should.
05:14:18 <Wildhalcyon> I think. I'd rather not have it produce an error
05:14:49 -!- Sgep has quit (Remote closed the connection).
05:16:56 <Wildhalcyon> If you refresh, you'll see the updated spec that reflects the helpful comments and suggestions that you've given me :-) Thank you
05:18:01 <heatsink> np
05:19:15 <Wildhalcyon> Any other suggestions you've got?
05:19:53 <Wildhalcyon> I was originally very keen on color spaces, but the string manipulation is a lot more fun and different - like a 2D muriel language :-)
05:20:41 <heatsink> It's not clear to me what happens when a number is interpreted as a string or vice versa
05:21:08 <Wildhalcyon> Hmm, okay. That's probably something I need to be more explicit on then
05:22:27 <Wildhalcyon> Basically, if you're performing any sort of arithmetic on it, its a number (because it doesnt make sense to add or multiply characters). If you're concatenating, outputting, etc. its a character string.
05:23:07 <Wildhalcyon> in other words, its only a string if the command manipulates bytes
05:25:01 <heatsink> But is it a number in ascii base-10 notation, or in binary base-32 notation, or what?
05:25:49 <heatsink> Also, are leading zeros stripped, and are numbers right-justified?
05:26:16 <Wildhalcyon> leading zeros are not stripped. The numbers are right-justified however. I commented on the leading zeros portion already
05:26:20 <Wildhalcyon> even wrote an example program for removing them.
05:27:18 <heatsink> So, if I subtract 100 from 100 I will get 000.
05:27:25 <Wildhalcyon> yes
05:27:38 <Wildhalcyon> and it uses the binary representation of the character string
05:28:35 -!- Arrogant has joined.
05:28:46 <Wildhalcyon> so "abc" is 97*256^2+98*256+99
05:28:48 <heatsink> okay, so all numbers will print as a sequence of the character #
05:28:55 <heatsink> oh
05:29:06 <heatsink> That's base 256, not base 2
05:29:29 <Wildhalcyon> You're right, sorry
05:29:45 <Wildhalcyon> the logic functions uses bits though
05:30:22 <heatsink> It makes a difference because unicode doesn't specify the number of bytes a character occupies.
05:30:50 <heatsink> If the internal representation were UTF-32 you might expect a base 2**32 interpretation of numbers.
05:32:02 <Wildhalcyon> I mentioned the characters occupying a byte of space, but after reading the paragraph, it is unclear.
05:33:28 <Wildhalcyon> Again, this isn't the official spec, just a sort of.. sandbox spec I guess you could say
05:33:41 <Wildhalcyon> Looking at how all the pieces fit together before I carve it in stone and write an implementation
05:33:55 <heatsink> Good way to do it.
05:34:26 <Wildhalcyon> Anyhow, that's where my desire to remove ASCII from the picture stems. So many ASCII characters are not printable.. I don't see a reason for including them in the language specification.
05:36:11 <Wildhalcyon> I think its looking pretty good now. I'll try to polish the spec and see how it looks tomorrow, but I won't have time to write up a spec this week. I've promised my professor that I'd have my research program running by Friday, so I'll be pretty exhausted doing that.
05:37:36 <heatsink> you're doing this for CLASS?!
05:37:52 <heatsink> oh. You're writing a different program for class.
05:38:09 <Wildhalcyon> yeah, different (in C)
05:38:13 <heatsink> yea okies :)
05:38:38 <Wildhalcyon> I actually thought about doing an esolang for my research, but.. I dont know that the dept. would have let it in
05:38:55 <Wildhalcyon> Its more computer science than biomedical engineering
05:39:12 <heatsink> what will your reasearch program do?
05:39:58 <Wildhalcyon> run a monte carlo simulation on a 3D piece of tissue
05:40:53 <Wildhalcyon> Its for an optical imaging system. I'll need to model the system, then reconstruct the output for a variety of systems
05:42:03 -!- calamari_ has joined.
05:42:26 <Wildhalcyon> hey calamari
05:43:14 -!- calamari has quit (Read error: 110 (Connection timed out)).
05:44:32 <heatsink> This system you are modeling -- is this to test the design before building it?
05:45:06 <Wildhalcyon> Mostly
05:45:36 <Wildhalcyon> There's been some preliminary work to suggest that the system should work fairly well
05:46:13 <Wildhalcyon> part of the goal is to be able to use the system model in the design of the tissue.
05:46:46 <heatsink> How do you make tissue?
05:47:01 <Wildhalcyon> I don't, and Im not entirely sure how they're doing it either.
05:47:13 <Wildhalcyon> I think they're stimulating embryonic stem cells..
05:47:42 <Wildhalcyon> or maybe non-embryonic stem cells
05:52:28 <heatsink> What kidn of tissue are they trying to make?
05:53:45 <Wildhalcyon> tendons right now. Future projects might be aimed more at detecting cancerous tissues embedded in other tissues (such as liver)
05:54:37 <heatsink> Cool. What does surgery currently do for severed or damaged tendons?
05:54:43 <Wildhalcyon> They use a flourescent marker, which is what we're trying to detect.
05:55:36 <Wildhalcyon> I think they try to stretch them to get them to regrow and reconnect
05:55:47 <heatsink> ok
05:56:14 <Wildhalcyon> These are pretty much entirely artificial tendons though, which makes me think that the stretching business doesnt work that great.
05:58:09 <heatsink> If tendons could stretch, they wouldn't be very useful.
05:58:59 -!- Wildhalcyon has quit (Read error: 104 (Connection reset by peer)).
05:59:08 <heatsink> oh, um bye
06:00:21 -!- Wildhalcyon has joined.
06:01:34 -!- calamari_ has quit ("Leaving").
06:06:08 <heatsink> wb
06:07:57 <Wildhalcyon> thanks. Firefox errored out on me
06:28:18 <Wildhalcyon> anyhow, Im off to bed, thank you very much heatsink!!
06:28:34 <heatsink> okay, night-o
06:28:54 -!- Wildhalcyon has quit ("Chatzilla 0.9.68.5.1 [Firefox 1.0.6/20050716]").
06:37:55 * Arrogant is playing with his expandable Brainfuck
06:50:03 -!- heatsink has quit ("Leaving").
07:37:07 -!- calamari has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:05:22 -!- nooga has joined.
09:05:27 <nooga> hello
09:12:37 <calamari> hi nooga
09:16:08 <nooga> hi calamari
09:29:48 <Arrogant> Sup.
09:36:03 <Arrogant> http://paragon.pastebin.com/366910
09:37:13 <Arrogant> Condensed: {fibo:(~=)->+>+<<[>>%>*<<[->+<]>>%<<*<-]>},{fibo}!
09:39:43 -!- calamari_ has joined.
09:40:41 <Arrogant> Hey calamari, net screw up?
09:42:10 -!- calamari has quit (Read error: 110 (Connection timed out)).
10:11:57 <calamari_> hi Arrogant
10:12:11 <calamari_> wasn't really watching.. :)
10:15:58 <Arrogant> Pretty useless little hack of a language
10:17:51 <calamari_> which one
10:18:03 <Arrogant> http://paragon.pastebin.com/366910
10:18:15 <Arrogant> That's the commented version. This is condensed: {fibo:(~=)->+>+<<[>>%>*<<[->+<]>>%<<*<-]>},{fibo}!
10:18:25 <Arrogant> Brainfuck + functions and a few other things.
10:18:29 <Arrogant> Including copy/paste
10:31:10 <nooga> stupid
10:36:58 <Arrogant> thx
10:36:58 <nooga> yw
10:39:10 <Arrogant> I've gotta practice somehow
10:46:40 -!- jix has joined.
10:50:15 -!- Arrogant has quit (" Want to be different? HydraIRC -> http://www.hydrairc.com <-").
10:57:10 <jix> moin
11:04:36 <jix> cool
11:04:44 <jix> i can use my editor for befunge development...
11:08:40 -!- nooga has quit (Read error: 110 (Connection timed out)).
11:09:27 <calamari_> bbl.. :)
11:09:30 -!- calamari_ has quit ("Leaving").
13:14:59 -!- J|x has joined.
13:26:49 -!- kipple has joined.
13:27:33 -!- jix has quit (Read error: 110 (Connection timed out)).
13:31:07 -!- J|x has changed nick to jix.
15:07:01 -!- puzzlet has joined.
15:07:56 -!- puzzlet_ has joined.
15:08:10 -!- puzzlet_ has quit (Client Quit).
15:08:20 -!- puzzlet has quit (Remote closed the connection).
15:08:31 -!- puzzlet has joined.
15:51:23 -!- Wildhalcyon has joined.
15:55:21 <Wildhalcyon> hey ;-)
15:55:56 <jix> moin Wildhalcyon
15:56:05 <Wildhalcyon> how you doin jix?
15:56:18 <jix> hm..
15:57:50 -!- Sgep has joined.
16:05:31 <Wildhalcyon> that good eh?
16:27:27 * Wildhalcyon is proud of his esolang
16:28:29 <Wildhalcyon> How come IRC commands seem to be centered around death and kevin kline?
16:34:11 -!- Keymaker has joined.
16:34:43 <Keymaker> hi
16:34:48 <Wildhalcyon> hey keymaker!
16:34:52 <Keymaker> hey
16:35:14 <Wildhalcyon> how you been?
16:35:30 <Keymaker> well, haven't done much anything
16:35:34 <Keymaker> sleeping lol
16:35:40 <Keymaker> ok, not all this time :)
16:35:46 <Keymaker> reading to exams
16:36:20 <Keymaker> but now i'm going to spend a bit on that new language of mine
16:36:30 <Keymaker> i have some really nice and perhaps unique ideas
16:36:49 <Wildhalcyon> Me too!.. just not about your language
16:36:52 <Keymaker> hehe
16:36:54 <Wildhalcyon> which Im sure is good, but its yours, not mine
16:37:01 <Keymaker> yes
16:37:07 <Wildhalcyon> Would you mind reading the updated spec? I've been working on it this morning a lot.
16:37:14 <Keymaker> well, ok
16:37:17 <Keymaker> link me up!
16:37:45 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/CRAWL_spec.txt
16:38:03 <Keymaker> ok, takes some time.. :)
16:38:30 <Wildhalcyon> I understand
16:45:39 <Keymaker> nice
16:45:47 <Keymaker> gotta be one of the clearest specs i've ever read
16:45:50 <Keymaker> good work
16:46:18 <Wildhalcyon> Thank you!
16:46:45 <Keymaker> yw
16:46:53 <Keymaker> (learned that from logs)
16:46:59 <Keymaker> (that yw)
16:47:13 <Wildhalcyon> Right, fgrom heatsink's help!
16:47:24 <Wildhalcyon> He was very good at giving me pointers
16:47:35 <Keymaker> ok
16:50:31 <Wildhalcyon> Any tips for me?
16:50:51 <Wildhalcyon> Aside from the duplicate entry for the character ' (fixed on my local copy)
16:54:03 <Keymaker> hmm
16:54:23 <Keymaker> nothing comes to my mind(s) at the moment
16:54:37 <Wildhalcyon> Alright, smells good to me.
16:54:42 <Keymaker> :)
16:55:12 <Wildhalcyon> Hmm, I have 14 instructions to work with in my spur-of-the-moment adage derivative
16:56:26 <Wildhalcyon> s/adage/udage
16:56:32 <Keymaker> it's hard to write good specs..
16:56:45 <Keymaker> my language planning seems to go along the spec writing, this time
16:56:48 <Wildhalcyon> It is, because the ideas are clear in YOUR head, not necessarily in someone who's trying to understand
16:56:54 <Keymaker> yeah
16:56:55 <Wildhalcyon> that's why heatsink's help last night was so valuable.
16:57:03 <Keymaker> yeah
16:57:13 <Keymaker> this is my fourth plan of the language
16:57:23 <Keymaker> i made yesterday four plans for it
16:57:38 <Keymaker> although i noticed there was something lethal problem in two of them.. or three x)
16:57:58 <Wildhalcyon> yeah? That's no good!
16:58:23 <Keymaker> but this current should be fine
16:58:29 <Keymaker> and the most clever
16:58:37 <Wildhalcyon> That's always the best
16:58:55 <Keymaker> yeah
16:59:05 <Keymaker> i'm worried about one thing though
16:59:13 <Keymaker> the memory model
16:59:20 <Keymaker> i think i want this time my language be turing-complete
16:59:27 <Keymaker> (just for change ;))
16:59:38 <Keymaker> and not sure if my stack+accumulator system works
16:59:58 <Keymaker> naturally i could replace that system by using two stacks
17:00:11 <Keymaker> hmmm..
17:00:36 <Wildhalcyon> Hmmm, you don't have any other data storage?
17:01:16 <Keymaker> i have currently a stack and an accumulator
17:01:29 <Keymaker> accumulator is just a byte
17:01:39 <Wildhalcyon> Alright
17:01:41 <Keymaker> the stack can be reversed by instruction
17:02:08 <Keymaker> that memory model probably isn't turing-complete
17:02:23 <Keymaker> experts? whadda say?
17:02:50 <Wildhalcyon> Probably not. It doesn't allow random access of the stack
17:03:23 <Keymaker> yeah (i guess i understand what you mean)
17:03:47 <Keymaker> best would be to use two stacks perhaps
17:03:59 <Keymaker> that's been told tc compatible
17:04:03 <Keymaker> or something
17:04:27 <Keymaker> with proper instructions.. and they being popping, pushing, and changing the stack, and reversing
17:04:31 <Keymaker> i think those are fine
17:04:32 <Wildhalcyon> Alright, I think I came up with a gnarly n-symbol udage alphabet
17:04:57 <Wildhalcyon> I think that might be TC Keymaker, to be honest Im not an expert enough to know
17:05:26 <Keymaker> i read it from wikipedia sometime
17:05:52 <Keymaker> i hope it is valid info :)
17:06:33 <Wildhalcyon> I hope so too
17:08:39 <Keymaker> ah yes.. i think i is.. one can use stack memory just like an array if one has two stacks
17:08:50 <Keymaker> although it's naturally not as easy >:)
17:09:09 <Keymaker> but i don't think i want to use array model always
17:09:18 <Wildhalcyon> You can, pop from one push to the other - more like a list than an array
17:09:20 <Keymaker> (actually i have never used it..)
17:09:34 <Keymaker> dunno what's list
17:09:52 <Keymaker> but i just meant one can move it like it were an array
17:10:06 <Wildhalcyon> a list is where you only have access to the element and the element's neighbor(s)
17:10:21 <Keymaker> hmm
17:10:28 <Wildhalcyon> Actually, you CAN keep your stack TC if you have an instruction which pops from one end and pushes to the other
17:10:47 <Wildhalcyon> its a TC single stack model which I use in my language
17:11:06 <Keymaker> aha.
17:13:15 <jix> there are different kinds of (linked) lists
17:13:26 <Wildhalcyon> this is a doubly-linked list
17:13:37 <Wildhalcyon> Jix is right.. check on wikipedia
17:13:40 <Wildhalcyon> lots of 'em
17:13:46 <Wildhalcyon> silly buggers, linked lists are
17:14:13 <jix> my code executes without throwing exceptions ... maybe it even works!
17:14:39 <Wildhalcyon> good luck ;-)
17:15:03 <jix> i'm working on my website
17:16:03 <Keymaker> what code?
17:16:10 <Keymaker> website code?
17:17:17 <jix> yes
17:17:26 <Keymaker> ok
17:17:29 <Keymaker> good lcuk
17:17:31 <Keymaker> *luck
17:17:33 <jix> thx
17:17:40 <Keymaker> :)
17:18:39 <jix> why does it return nil
17:19:07 <jix> it shouldn't return nil
17:19:19 <Wildhalcyon> magic?
17:20:24 <jix> i think it's a stupid typo
17:20:31 <jix> it's always a stupid type *g*
17:20:39 <Keymaker> hehe
17:20:51 * jix searches the ActiveRecord::Base doc
17:21:45 <Keymaker> so, would this make TC memory?
17:21:45 <Keymaker> 3 4 5 a
17:21:45 <Keymaker> %
17:21:45 <Keymaker> a 3 4 5
17:21:45 <Keymaker> -----------------------
17:21:45 <Keymaker> a 3 4 5
17:21:47 <Keymaker> #
17:21:49 <Keymaker> 5 4 3 a
17:21:51 <Keymaker> -----------------------
17:21:53 <Keymaker> 5 4 3 a
17:21:55 <Keymaker> !
17:21:57 <Keymaker> 5 4 3
17:21:59 <Keymaker> accumulator = a
17:22:01 <Keymaker> -----------------------
17:22:03 <Keymaker> 5 4 3
17:22:05 <Keymaker> ?
17:22:07 <Keymaker> 5 4 3 a
17:22:09 <Keymaker> (accumulator = a)
17:22:42 <Wildhalcyon> I think so
17:22:46 <jix> typo...
17:23:00 <Keymaker> hmm..
17:23:39 <Keymaker> is single queue memory tc? (since that can be done with this)
17:24:08 <jix> you can simulate infinite tape with it
17:24:19 <jix> you have data values 0 and 1
17:24:28 <jix> and a special marker 2
17:24:35 <Keymaker> aha
17:24:39 <Keymaker> so, it is?
17:24:41 <jix> if you move in direction a
17:24:46 <jix> you rotate right
17:24:53 <jix> in direction b you rotate left
17:25:11 <jix> and as soon as you reach 2 you add another 0 before the 2 (extend the tape)
17:25:48 <jix> np: Kyuss - Supa Scoopa and Mighty Scoop [ Welcome To Sky Valley ]
17:26:01 <jix> this song is cool
17:26:09 <Keymaker> hmmm
17:26:19 <jix> it works!
17:26:23 <jix> just 2 typos ;)
17:26:27 <Keymaker> :)
17:27:06 <Wildhalcyon> phew.. this freakin' think is HUGE
17:27:14 <Keymaker> ?
17:28:52 <Wildhalcyon> Shoot. it doesn't match any of the integer sequence database entries
17:29:09 <Wildhalcyon> Im enumerating all the possible n-length symbol-independent strings
17:30:01 <Wildhalcyon> I might have a typo (I hope not.. 178 length-6 strings!)
17:33:01 <Keymaker> grgrghh.. there are too many esolangs to try!
17:33:05 <Keymaker> and learn
17:33:13 <Wildhalcyon> Whoops. Typo! (in the number of length-4, not a string typo)
17:33:14 <Keymaker> and new coming all the time :) keep it up though :)
17:34:01 <Wildhalcyon> I found a matching integer sequence! 1 2 5 15 50 178... (next three for lenghts 7,8,9 are 663 2553 and 10086)
17:34:24 <Wildhalcyon> I'm trying. This will be my second real esolang, as opposed to the ones in my head
17:38:07 <Keymaker> hmmmm..
17:40:38 <Wildhalcyon> Im not sure how that integer sequence (which deals with anti-chains in "rooted trees" ?) relates to the symbol problem though
17:44:02 <Wildhalcyon> Your language looks nice and... terse ;-)
17:44:11 <Keymaker> wjpese?
17:44:15 <Keymaker> *shoes?
17:44:18 <Keymaker> *whose
17:44:37 <Wildhalcyon> yours, keymaker
17:44:43 <Keymaker> what language?
17:44:48 <Keymaker> the one i'm designing currently?
17:44:54 <Wildhalcyon> yes
17:44:58 <Keymaker> cheers
17:45:06 <Wildhalcyon> what else have you designed? Because I have a short attention span and dont remember
17:45:13 <Keymaker> trigger (partly)
17:45:16 <Keymaker> and unnecessary
17:45:48 <Keymaker> http://koti.mbnet.fi/yiap/trigger/trigger.html
17:46:00 <Wildhalcyon> Oh, that's right, trigger
17:46:05 <Keymaker> i should update the page with couple of programs..
17:46:32 <Keymaker> one of them doesn't work yet and i should rewrite because i'm too lazy to search for the bug.. when i got time to do that i'll update the site
17:46:41 <Wildhalcyon> That would be nice, some examples
17:47:55 <Keymaker> there are three currently
17:48:32 <Keymaker> jix: on trigger's site i have new version of 99bob.. it's been there for a while, though
17:49:04 <Keymaker> just thought you might want to see it if you haven't..
17:49:52 <Wildhalcyon> Is there already a programming language called Lingua?
17:50:08 <Keymaker> hmm hgavent'ghearhif
17:50:09 <Wildhalcyon> not according to google
17:50:17 <Keymaker> *hmmm haven't heard of
17:50:24 <Wildhalcyon> Hmm, its either Lingua or Glypho
17:50:32 <Wildhalcyon> Which do you guys like better?
17:50:36 <Keymaker> hmm
17:50:42 <Keymaker> both are good
17:50:47 <Keymaker> probably glypho
17:51:00 <Keymaker> yes
17:51:09 <Keymaker> Glypho
17:51:38 <Wildhalcyon> Alright
17:51:48 <Wildhalcyon> I like Glypho too
17:52:19 <Wildhalcyon> The instructions are encoded in a length-n string of symbols (not necessarily characters)
17:52:49 <jix> my best 99bob is stil my subskin version
17:52:50 <jix> http://99-bottles-of-beer.net/language-subskin-868.html
17:52:57 <jix> but still only 2 votes :(
17:53:01 <Wildhalcyon> Glypho takes the first symbol and calls it "a", then it looks at the next symbol, which can either be "a" or something other than "a", which it calls "b"
17:53:54 <Keymaker> yeah, it deserves more! too bad i gave my vote already ;)
17:54:18 <Wildhalcyon> I voted jix
17:54:22 <Wildhalcyon> You're lucky I didnt vote already
17:54:32 <jix> Wildhalcyon: thanks
17:54:47 <Wildhalcyon> Anytime buddy ;-)
17:54:54 <Keymaker> oh
17:55:06 <Wildhalcyon> If Glypho ever gets an implementation running, I'll write a 99bob program and post it up too
17:55:08 <Keymaker> so this glypho isn't the same than the other language you're working?
17:55:33 <Wildhalcyon> Nope, COMPLETELY different
17:55:36 <Keymaker> aaah
17:55:41 <Keymaker> and it sounds very good
17:55:48 <Wildhalcyon> The other language is called.. not sure yet. Its a bit more serious (I'm writing a rogue-like RPG in it)
17:55:57 <Keymaker> aha
17:56:21 <Keymaker> i love languages that do stuff with strings and patterns (like thue (and trigger))
17:56:23 <Wildhalcyon> So, the possible length-3 Glypho strings are: aaa aab aba abb abc
17:57:08 <jix> not sure but isn't the number of length-n glypho string n!
17:57:48 <Wildhalcyon> not that I can see, although it might be related to the factorial function in some manner I can't conceive of
17:58:13 <Wildhalcyon> I haven't written a formula for length-n glypho strings yet
17:59:45 <jix> ah no.. i'm wrong
18:00:08 <Wildhalcyon> Its kind of fun seeing how the enumerations work out
18:01:51 <Keymaker> enumerations? what are them?
18:02:05 <Wildhalcyon> Enumerations are just counting
18:05:05 <Wildhalcyon> Im trying to design a tree structure out of it, but its difficult
18:08:15 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/glypho.txt
18:09:49 <Keymaker> i guess i'm now doing fifth draft..
18:10:03 <Keymaker> better n simpler
18:10:10 <Wildhalcyon> Jix, you could use a 3-symbol string to encode bf instruction minimalization since it only has 5 instructions
18:10:15 <Wildhalcyon> Why a 5th? what was wrong with the 4th?
18:10:20 <Keymaker> nothing
18:10:23 <Keymaker> but i invented new way
18:10:33 <Wildhalcyon> Oh, alrighty
18:10:34 <Keymaker> or change one concept, so to speak
18:11:21 <Wildhalcyon> For the main version of glypho, Im using length-4 strings, that gives me 15 instructions
18:11:57 <Wildhalcyon> I'd like at least 1 NOP (aaaa - at least) so I have 14 "real" instructions to work with
18:16:03 <Wildhalcyon> I haven't quite figured out a way to.. y'know.. encode numbers in the symbols. I'll have to work on that
18:19:54 <Keymaker> well, i must go..
18:20:13 <Keymaker> i probably won't be back until next wednesday.. important exam stuff that day..
18:20:34 <Wildhalcyon> good luck!
18:20:38 <Keymaker> on wednesday i'm free for a while, though, and have some more spare time :)
18:20:38 <Wildhalcyon> talk to you later keymaker
18:20:43 <Keymaker> cheers :)
18:20:44 <Keymaker> yeah
18:20:49 <Keymaker> good luck with esolangs
18:20:52 <Wildhalcyon> thank you
18:21:00 <Keymaker> i'll try to get this thing ready by wednesday
18:21:06 <Keymaker> bye
18:21:09 -!- Keymaker has quit ("This quote is unrelated to this context.").
19:00:14 <Wildhalcyon> Arggggghhh, I have room for one more instruction...
19:00:51 <Wildhalcyon> hmm, and I DO need one more instruction.
19:00:54 * Wildhalcyon ponders for a moment
19:18:41 <Wildhalcyon> I could make it push 0 onto the stack, perform integer division/modulus...
19:19:16 <Wildhalcyon> I could make it unefungeoid and reverse program flow
20:10:09 <jix> i can use my website code for static pages now!
20:10:36 <Wildhalcyon> woohoo!
20:10:52 <jix> and i hope it's faster in production mode with fcgi and lighttpd than in development mode with webrick
20:12:38 <jix> wow it's only 597 lines and i think 30% are auto-generated by rails
20:13:11 <jix> oh wait i didn't counted the .rhtml files (templates)
20:14:39 <Wildhalcyon> Ive almost got the glypho spec done
20:15:34 <jix> 660 with html templates
20:15:41 <Wildhalcyon> rhtml? never heard of it
20:16:12 <jix> it's the extension of erb files... that ruby embedded in html
20:16:22 <jix> it's like php's <?php code ?>
20:16:29 <jix> but it's <% ruby_code %>
20:17:02 <jix> rails views are written using erb .rhtml files
20:17:24 <Wildhalcyon> ohhh, alright
20:17:34 <Wildhalcyon> ruby on rails.. Ive heard of that
20:19:57 <jix> 0 ops, 326 total... never saw that anywhere except here at freenode
20:20:15 <Wildhalcyon> what do you mean?
20:20:33 <jix> an irc channel with 326 users and 0 ops
20:20:51 <Wildhalcyon> ... what's an op?
20:20:59 <jix> on op can kick or ban users
20:21:08 <Wildhalcyon> I only chat on this channel, so I'm not really familiar with them
20:21:15 <Wildhalcyon> *please dont ban me*
20:26:17 <jix> ok next controller... menu
20:26:55 <Wildhalcyon> Can you look at the glypho spec and tell me if you think its TC?
20:27:13 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/glypho.txt
20:29:14 <jix> not sure
20:29:17 <jix> but i think it is
20:29:46 <Wildhalcyon> I think so too, but its sort of hard to be certain I guess
20:30:31 <Wildhalcyon> I KNOW it would be TC if I changed negate and multiply to be increment/decrement - it would look a lot like BUB (a TC bf varient)
20:31:28 <jix> you get inc by abba abbb
20:31:33 <jix> and dec by abba abbc
20:32:06 <Wildhalcyon> alright! TC, here we come
20:32:25 <Wildhalcyon> Do you think I should include the multiply and reverse flow operators?
20:32:28 <kipple> the big question is if the memory is random accessible enough
20:32:49 <Wildhalcyon> There's a typo in the spec - abcb should be "r" not "?"
20:33:05 <Wildhalcyon> It should be kipple - you can rotate the circular stack forward and backwards as much as you like
20:33:22 <kipple> what's the difference between rotate and reverse-rotate?
20:33:52 <Wildhalcyon> rotate: {a b c d -- d a b c} reverse-rotate: {a b c d -- b c d a}
20:34:29 <jix> the stack consists of?
20:34:34 <jix> bignums?
20:34:36 <jix> integers?
20:34:54 <Wildhalcyon> I haven't decided yet ;-)
20:35:01 <jix> hmm
20:35:08 <Wildhalcyon> probably fixed-width integers
20:35:10 <jix> conditional looping is a bit difficult
20:35:11 <Wildhalcyon> maybe 32-bit
20:35:18 <Wildhalcyon> how so?
20:35:30 <jix> you don't have a test operator
20:35:46 <Wildhalcyon> You're right.. hmm
20:35:57 <Wildhalcyon> I may have to nix multiplication then
20:36:02 <Wildhalcyon> or duplication
20:36:05 <kipple> what does reverse do? reverse the IP?
20:36:10 <jix> a test operator that checks if the upper stack value is greater than the 2nd and pushes 1 or 0
20:36:15 <Wildhalcyon> yes kipple
20:36:20 <jix> and do not remove multiplication
20:36:36 <jix> that's needed for conditional looping
20:36:44 <Wildhalcyon> it is?
20:36:48 <jix> because you can multiply the relative adress with the test result
20:36:57 <Wildhalcyon> Oh, good point
20:37:01 <jix> 1 does skip 0 doesn't
20:37:36 <jix> maybe remove q and say outputting a value > 255 terminates
20:38:25 <Wildhalcyon> What if it terminates if it ever skips to a negative instruction reference?
20:38:50 <kipple> Ah, I get the rotates now. I though you actually rotated the entire stack, but you just push/pop between the top and bottom elements
20:38:52 <Wildhalcyon> skip can take a negative number
20:39:00 <jix> yes
20:39:01 <Wildhalcyon> Exactly kipple
20:39:03 <jix> that's possible too
20:39:48 <Wildhalcyon> Well, I think I get bonus points for being obfuscated
20:39:49 <kipple> well, then I agree that the memory should be sufficient for TC
20:40:11 <kipple> as long as the stack is unbounded
20:40:45 <Wildhalcyon> As far as the language spec is concerned, it is. Obviously, implementations will have bounded-storage
20:41:49 <kipple> I think it should be pretty trivial to implement brainfuck in this lang
20:42:00 <Wildhalcyon> probably
20:42:10 <kipple> IF you include a conditional operator that is :)
20:42:28 <Wildhalcyon> I like jix's test operator so far...
20:43:10 <kipple> how about pushing the difference between the top two elements instead of just 0 and 1?
20:43:18 <Wildhalcyon> 11-+ produces 0 on the stack, so does 11t (where t is jix's test operator)
20:43:27 <jix> makes conditional looping difficult kipple
20:43:42 <Wildhalcyon> t is just a greater-than test, right Jix?
20:43:46 <jix> yes
20:44:17 <Wildhalcyon> Alright, then I think we're okay
20:44:18 <jix> using negation and swap you can make < > <= and >=
20:44:35 <Wildhalcyon> good deal
20:44:48 <kipple> so, which operator has to go to make room for test?
20:44:57 <Wildhalcyon> q (quit)
20:45:01 <kipple> is NOP really needed?
20:45:04 <Wildhalcyon> I like having DUP in there
20:45:12 <Wildhalcyon> NOP really isn't, I suppose
20:45:22 <Wildhalcyon> but neither is reversing the program flow
20:45:33 <kipple> true
20:45:33 <jix> but reversing program flow is cool
20:45:38 <Wildhalcyon> I thought so too :-D
20:45:59 <kipple> I agree that q to is not very important
20:47:08 <Wildhalcyon> I suppose it could quit if it tried to access an instruction too far forward too - skip-to-end for instance
20:47:40 <kipple> why not just quit when the end of code is reached? like most langs
20:48:01 <Wildhalcyon> That's basically what I was trying to say just now
20:48:17 <kipple> hmm. you're right :)
20:48:32 <Wildhalcyon> except that since skip can take negative jump values (in order to actually loop), I need to have it do SOMETHING for negative instructions
20:48:36 <Wildhalcyon> that something is quit
20:50:00 <kipple> how is the source code supposed to look? are the syntax for comments? is whitespace instructions or ignored?
20:50:23 <Wildhalcyon> no comments, unfortunately.
20:50:34 <kipple> i.e. is CRCRCRLF just whitespace, or an i operator?
20:51:03 <Wildhalcyon> Source code is defined (arbitrarily) as a set of symbols - minimum of 4.
20:51:14 <Wildhalcyon> The implementation can define what a symbol is or is not.
20:51:18 <kipple> ok
20:51:26 <kipple> then it is nice to have a NOP :)
20:51:44 <kipple> though nice may not be what you're aiming for here...
20:52:27 <Wildhalcyon> For instance, I could make an interpreter in which any BF commands are considered "symbols" while any other ASCII characters are ignored
20:52:45 <kipple> hehe
20:52:48 <jix> image!
20:52:49 <Wildhalcyon> Im not aiming for "nice", Im aiming for interesting.
20:53:03 <kipple> jix: huh?
20:53:09 <jix> use an image for storing symbols
20:53:09 <Wildhalcyon> images should work too, yes.
20:53:47 <jix> and a good code + any image => code-image would be possible
20:54:05 <Wildhalcyon> should be, yeah.
20:54:30 <Wildhalcyon> I wanted to use aaaa as NOP because same-symbols sets are common and boring
20:55:02 <jix> what about saying the stack items have to be 32-or-larger bit signed integers
20:55:20 <Wildhalcyon> That's not a bad stipulation
20:58:11 <kipple> agreed. (incidentally that's exactly what I have put in the update of the Kipple spec)
21:00:00 <jix> i'm going to implement it now
21:00:35 <Wildhalcyon> Are you going to use that symbol->instruction table
21:01:39 <jix> yes
21:02:02 <Wildhalcyon> Hmmm, okay. I guess it'll be set in stone now then.
21:02:43 <Wildhalcyon> Im happy with it :-)
21:03:06 <kipple> btw, I don't understand why you can't have instructions like cbaa etc...
21:03:37 <kipple> never mind
21:03:39 <Wildhalcyon> Each instruction resets the symbol definitions
21:03:40 <kipple> I get it now
21:03:42 <Wildhalcyon> okay
21:03:51 <kipple> it's just a bit alien this conecept :)
21:04:01 <kipple> (that is a good thing by the way)
21:04:10 <jix> def get_instruction(string);string.tr(string.reverse,"dcba");end
21:04:11 <Wildhalcyon> Im basing this off of Udage, it's GOING to be alien to everyone
21:04:23 <jix> converts a 4 byte string to a "aaba" like string
21:04:25 <Wildhalcyon> whats that jix?
21:04:30 <Wildhalcyon> oh, ok
21:04:31 <jix> ruby code
21:05:04 <Wildhalcyon> Are you doing the bf-instruction == symbol, other ASCII == comment idea, or something else?
21:05:17 <kipple> anyway, I take back my previous statement that a BF interpreter would be 'trivial'!
21:05:25 <Wildhalcyon> lol, maybe you should...
21:05:40 <jix> no i'm doing the straight ascii => glypho conversion
21:05:44 <jix> without comments
21:05:59 <Wildhalcyon> Nice and obfuscated then
21:09:09 <Wildhalcyon> Its got a fairly novel instruction set too, gives it its own... flavor?
21:10:30 <jix> abca abcb << is wrong
21:10:43 <jix> abac not abca
21:11:40 <Wildhalcyon> ack, you're right it is wrong!
21:11:56 <jix> if i pop from the empty steck.. 0 or error?
21:11:59 <Wildhalcyon> and Ive included it twice!
21:12:00 <kipple> I think a shorthand notation-to-glypho converter will be essential to any programmer :)
21:12:09 <Wildhalcyon> Probably error I think jix
21:12:13 <jix> good
21:12:15 <Wildhalcyon> it might be kipple
21:12:18 <jix> makes implementation easier
21:12:42 <jix> kipple: but it won't work with reverse mode
21:12:56 <Wildhalcyon> why not jix?
21:13:07 <kipple> depends on how reverse mode works
21:13:21 <kipple> does it work on symbol level or instruction level?
21:13:30 <Wildhalcyon> The instruction set will have to be rearranged and changed to work at the symbol level adequately
21:13:56 <Wildhalcyon> Im working on a set of reversible instructions (increment and decrement come into play) - but this was before Jix pointed out the lack of a test operator
21:15:23 <Wildhalcyon> If you refresh the file, I think I fixed the abca abcb problem (replaced it with abac abcb)
21:17:27 <jix> does test pop?
21:17:51 <jix> the documentation says no
21:18:02 <Wildhalcyon> Hmmm, should it?
21:19:33 <jix> i don't know
21:19:37 <jix> i think it shouldn't
21:19:52 <kipple> it's just a matter of taste, I think. Both should work
21:20:21 <Wildhalcyon> It depends on what you're going to use more - if you want to keep and use the value often, then dont pop, if you're not going to use it much after the test pop is better
21:20:34 <kipple> exactly
21:20:50 <jix> i implemented don't pop
21:21:21 <Wildhalcyon> I'll rewrite the spec in a bit to make that more clear
21:21:44 <jix> 1d+d+d+1d++ is 10 right?
21:21:55 <kipple> if all the other instructions causes a pop you might want to pop just for consitency
21:22:07 <jix> kipple: it's an esolang
21:22:21 <jix> no need for consistency *g*
21:22:47 <kipple> I did say *might*... :)
21:22:53 <Wildhalcyon> touche
21:23:16 <jix> aabb ..... t
21:23:19 <jix> should be d instead of t
21:23:25 <jix> ah
21:24:17 <Wildhalcyon> It is d
21:24:25 <Wildhalcyon> Im sorry, that was a temporary error - its fixed now
21:24:37 <Wildhalcyon> back when I was debating between eliminating d and q.
21:27:39 <jix> interpreter done (in ruby)
21:27:51 <kipple> an I right that when you reverse symbol flow with r you get a completely different set of instructions as the 4 symbols are read backwards?
21:28:25 <Wildhalcyon> That's the question now, isn't it?
21:28:53 <Wildhalcyon> I think right now, it just reverses instruction flow
21:28:57 <jix> i implemented reversed instructions
21:29:10 <jix> but it's easy to change it back
21:29:11 <Wildhalcyon> like unefunge (1D befunge)
21:29:23 <jix> ok i'll change it to act like it
21:29:31 <Wildhalcyon> Well, if I ever implement rGlypho (reversible glypho)
21:29:48 <Wildhalcyon> I'll probably have it reverse the entire set of symbols.
21:30:17 <kipple> if reverse is on symbol level, then it would be nice to have "opposite" instructions being exactly opposite.
21:30:29 <kipple> i.e. < is abaa and > is aaba
21:30:47 <Wildhalcyon> Exactly
21:31:03 <kipple> though there might not be too many such pais
21:31:05 <kipple> pairs
21:31:11 <jix> this is a working example for printing "\n" 011000110111001101110011011101100011011101110010
21:31:27 <Wildhalcyon> there are 4 instruction pairs, 7 "non-reversing" instructions
21:31:48 <Wildhalcyon> is that binary ascii?
21:31:54 <jix> no
21:31:57 <jix> it's ascii
21:32:03 <jix> but i only needed a and b
21:32:07 <kipple> bbl
21:32:18 <jix> and i decided to use 1 and 0 for it
21:32:26 <jix> one could write everything wiht 1 I i and |
21:33:59 <Wildhalcyon> a and b are the primary symbols, c and d are used a lot less
21:34:21 <jix> 0OoQ would work too
21:34:34 <jix> using 0 and O as primary symbols
21:34:35 <Wildhalcyon> you're evil
21:34:52 <Wildhalcyon> Well, not really
21:34:58 <Wildhalcyon> because QQQQ is still an NOP
21:35:17 <Wildhalcyon> it just depends on how obfuscated you want your code to look
21:35:23 <jix> np: Metallica - Am I Evil (bonus track) [ Kill 'Em All ]
21:35:25 <jix> hrhr
21:36:11 <jix> am i evil -- yes i am
21:36:37 <Wildhalcyon> lol
21:37:48 <Wildhalcyon> How hard would it be for you to rearrange the symbol->instruction table in your program?
21:40:12 <jix> pretty easy
21:40:28 <Wildhalcyon> Okay
21:40:50 <Wildhalcyon> I've rearranged them to "vaguely" reflect the symmetry in some of the instructions
21:41:41 <jix> ah
21:41:57 <Wildhalcyon> Is that really annoying, or is that okay?
21:42:51 <jix> it's ok
21:45:08 <jix> ok changed it
21:45:41 <jix> http://www.harderweb.de/jix/glypho.rb
21:47:20 <Wildhalcyon> and it can use any arbitrary symbols?
21:47:27 <jix> yes
21:48:54 <Wildhalcyon> Sweet, man.. ruby is terse.
21:49:02 <jix> it's not clean ruby code
21:49:28 <jix> the first 2 lines are.. ugh
21:50:50 <Wildhalcyon> who cares about clean. It looks great!
21:50:56 <Wildhalcyon> I'll maybe have to try it out a lil;'
21:50:57 <Wildhalcyon> lil'
21:52:05 <jix> g'night
21:52:12 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:53:06 <Wildhalcyon> I guess I'll have to work out a hello world example
21:54:05 <Wildhalcyon> I wonder if his implementation ignores whitespace. I doubt it...
21:54:21 -!- grim_ has joined.
21:54:28 <grim_> lo all
21:54:34 <Wildhalcyon> hey grim
21:57:37 <grim_> yo
21:57:56 <grim_> seems like my connection problems have sorted themselves out
21:58:04 <Wildhalcyon> Sounds good buddy ;-)
22:01:10 * grim_ shrugs
22:01:41 <Wildhalcyon> Im having trouble writing hello world
22:06:19 <Wildhalcyon> I think I've got it printing "Hello"
22:08:55 <grim_> what's the language?
22:09:04 <Wildhalcyon> Glypho
22:09:15 * grim_ must have missed that one
22:09:26 <Wildhalcyon> Im having trouble writing a freakin' loop!
22:09:36 <Wildhalcyon> I wrote it today. Just posted it to the wiki a bit ago
22:09:43 <Wildhalcyon> Jix wrote a ruby interpreter
22:11:06 <Wildhalcyon> Im not really sure if its turing complete
22:13:42 -!- Arrogant has joined.
22:14:01 <grim_> hmmm
22:14:12 <grim_> looks like it should be
22:14:21 <Wildhalcyon> I want to think so
22:14:26 <grim_> but that jump instruction is a horror
22:14:35 <Wildhalcyon> Im noticing :-/
22:15:50 <grim_> so you want to test positive, multiply by n+c, negate, then skip
22:16:04 <Wildhalcyon> I think so
22:16:09 <Wildhalcyon> but Im really not sure!
22:16:12 * Wildhalcyon cries
22:16:41 <grim_> there there ;)
22:17:07 <Wildhalcyon> Im trying to think of a way to write a loop that outputs elements until it reaches a 0
22:18:29 <Arrogant> Easy
22:18:36 <Arrogant> (In a normal language)
22:18:46 <Wildhalcyon> Hmmm, I think Ive got it...
22:18:46 <Arrogant> What are you using?
22:18:56 <Wildhalcyon> Glypho, my brand new state of the art headache language
22:19:21 <Wildhalcyon> Whoa.. I think I wrote the loop:
22:19:25 <Wildhalcyon> <11-+\t1d+d*d**-s
22:19:37 <Wildhalcyon> (in shorthand notation)
22:20:13 <grim_> putting arbitrary numbers on the stack isn't easy eh?
22:20:35 <Wildhalcyon> Its not, but it could be worse. This isn't bf
22:21:03 <Arrogant> Here's the latest sample from my BF extension
22:21:10 <Arrogant> {sub:>*<[->-<]>}+++++++++++++++%>+++++{sub}!
22:22:07 <Wildhalcyon> that moves to the next element, tests if its greater than 0, if it is (and gets a 1 on the stack), it multiplies 1 by -16 and skips 16 instructions back, conveniently to the start of the loop
22:22:16 <Wildhalcyon> except that I forgot to output the character!
22:22:27 <grim_> heh
22:22:31 <grim_> close then
22:22:49 <Arrogant> That seems ... difficult.
22:22:52 <Wildhalcyon> Not too hard
22:23:13 <Wildhalcyon> I can fix it...
22:24:18 <grim_> won't be easy to prove turing complete
22:25:19 <grim_> an arbitrary effect at an arbitrary point isn't straightforward
22:25:35 <Wildhalcyon> Hmm, you may be write
22:25:37 <Wildhalcyon> :-(
22:25:45 <Wildhalcyon> s/write/right/
22:26:17 <grim_> but it still feels like it should be...
22:26:20 <Wildhalcyon> I'll be quite upset if it ISNT TC
22:26:27 <Wildhalcyon> the stack manipulation is at least, I know that
22:29:55 -!- Arrogant has quit (" Like VS.net's GUI? Then try HydraIRC -> http://www.hydrairc.com <-").
22:29:56 <Wildhalcyon> brb, gonna grab a snack and think about this...
22:33:48 <Wildhalcyon> Alright, Im really not liking this looping behavior
22:35:22 <Wildhalcyon> If I change the skip and test instructions to be matching braces (like bf) then its much easier
22:39:11 <grim_> easy isn't everything
22:39:29 <grim_> make it too easy and it's no fun
22:40:01 <Wildhalcyon> True, but I think the language offers enough *unique* challenges to still be difficult to program in
22:40:17 <grim_> you would know ;)
22:40:53 <Wildhalcyon> especially considering aaaabbbbccccdddd is 4 NOP instructions while ababcdcdefefgigi is four dup operations in the SAME program
22:41:26 <grim_> mneme is at the other end of the spectrum, the instruction set is too easy and it's too easy to seperate code from data
22:41:40 <grim_> so it's not fun yet
22:42:32 <grim_> whereas glypho looks like a hair-puller
22:43:20 <Wildhalcyon> It really, REALLY is.
22:43:29 <Wildhalcyon> In order to put a 0 on the stack, you have to type 11-+
22:43:58 <Wildhalcyon> or rather aabcaabcabcbabac
22:44:13 <Wildhalcyon> which could easily be 1123112312321213
22:44:13 <grim_> yes, that is a bit nuts
22:44:45 <grim_> funny though ;)
22:44:50 <Wildhalcyon> so if *maybe* I change my loops to be slightly.. conventional... I think I deserve at least a bit of slack...
22:46:59 <grim_> loops are self-referential in construction, that is nasty
22:46:59 <Wildhalcyon> Anyhow, I guess I'll have to let jix know later, since his interpreter doesn't support "easy" looping
22:47:31 <grim_> the number you have to create in the loop changes the pattern of the loop code
22:47:31 <kipple> I think we need a new language category for the wiki for these pattern-based langs
22:47:54 <Wildhalcyon> exactly
22:48:05 <grim_> and hence changes the number you have to make in the loop!
22:48:15 <grim_> that's blinding XD
22:48:15 <Wildhalcyon> Okay, so here's "Hello" in Glypho shorthand: 1d+d*dddd**++d1d+d*d*1d+*111++-++d1d+dd**1-++dd111+++11-+<[o<]!
22:48:36 <lindi-> hrm, 'blinding' indeed.. maybe i should fix my hilight
22:48:49 <Wildhalcyon> Do you see why I was crying grim?
22:49:13 <grim_> yes, I think it's hilarious, but it's got definite implications for TCness
22:49:34 <Wildhalcyon> I think so too, hence my decision to use the BF-style braces
22:50:26 <Wildhalcyon> man.. I hope that code doesn't have any typos in it
22:50:48 <grim_> it's a fair call, have to see how it works out
22:51:19 <grim_> I've got to go anyway
22:51:28 <Wildhalcyon> thanks for your input
22:51:44 <grim_> any time
22:52:11 <grim_> bye all
22:52:20 -!- grim_ has left (?).
22:55:02 <Wildhalcyon> I'll try to have a C/C++ implemenmtation later tonight
23:10:28 <Sgep> n00b's (read:my) attempt to design something: http://esolangs.org/wiki/User:Sgeo/binbf
23:11:50 <Wildhalcyon> What is NYT?
23:12:00 <Wildhalcyon> And take a look at Spoon before you get too far
23:12:50 <Sgep> AFAIK, Spoon doesn't have RLE
23:13:33 <Wildhalcyon> No, it sure doesnt
23:13:49 <Sgep> "We need some general and straightforward method to transmit symbols which are not yet transmitted (NYT)" --http://en.wikipedia.org/wiki/Adaptive_Huffman_coding
23:14:52 <Wildhalcyon> Ah, okay
23:17:42 <Sgep> Oh, and incidentally, it's not designed to be coded in directly, although that is possible
23:19:32 <Wildhalcyon> haha, neither is glypho
23:19:44 <Wildhalcyon> Actually, Glypho isnt really designed to be coded in period
23:19:50 <Wildhalcyon> but I think thats fairly common among esolangs
23:36:14 <Wildhalcyon> Hmmm, its amazing how NICE those braces make everything
23:36:31 <Wildhalcyon> I don't think the Glypho would be TC without [ and ]
23:55:07 -!- cmeme has quit (Remote closed the connection).
23:55:47 -!- cmeme has joined.
←2005-09-17 2005-09-18 2005-09-19→ ↑2005 ↑all