00:00:07 <calamari> so there can be multiple loops
00:00:53 <calamari> 3.141592653589793238462643383279502884?
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:02:24 <calamari> although it did inspire bos :)
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:13:23 <ihope> Or just leave whatever you're popping to as it already is.
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:26:02 * ihope wonders where the java console went, and if chatzilla kidnapped it
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: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:56 -!- ihope has joined.
00:35:49 * ihope wonders whether this is a coincidence or a minor prank :-)
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: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:41:04 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/colorspaces.txt anyone have any comments for me?
00:42:05 -!- ihope has joined.
00:43:17 <ihope> (argh: yes, I'll use a verticon) o_o
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:47:20 <ihope> Start: applet not initialized.
00:49:14 <calamari> ihope: that usually means you're using ie
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: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: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:06 <calamari> btw Keymaker, what's your real name so I can give you better credit
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: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:51 <Wildhalcyon> Anyone get a chance to look at the file link I posted above?
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: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:14:31 <calamari> Keymaker: there is an unnecessary interpreter in esoshell
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:27 <ihope> Make brainf*** able to open files.
01:18:42 -!- calamari_ has joined.
01:19:49 <ihope> Nah, just stick all the files in one big chuck in negative memory.
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: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: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: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:26:33 <calamari_> then the next char is the function
01:26:37 <ihope> Wait... is output a comma or a period?
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:48 <Keymaker> it's the language i'm designing
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:45:08 <Keymaker> the instructions are selected by pattern of ()
01:45:26 <Keymaker> but i haven't yet selected all of them
01:47:50 <Keymaker> i may have another design idea for this, gotta think
01:58:09 <telemakh0s> Wildhalcyon: I'd love a copy of that article... I can't find it online either
01:59:14 <telemakh0s> Also, can you point me to a link to OWL?
02:01:34 <Keymaker> which one is used usually more, push or pop?
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: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:04:05 <Wildhalcyon> That's correct, but I assumed he meant simple popping
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:48 <Wildhalcyon> I wonder if kemaker is trying to make a bf with a stack...
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:10:38 <telemakh0s> yes, in fact you argue that [ and ] are the two most important instructions, as they provide for branching...
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: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: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
03:34:59 <Sgep> Would it be safe to say that Network-Headache doesn't have an implementation?
03:44:20 -!- kipple has quit (Read error: 110 (Connection timed out)).
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: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.
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: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: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:11:39 <Wildhalcyon> enters an infinite loop of pushing a's (10) onto the stack.
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: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: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: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:38 <Wildhalcyon> and it uses the binary representation of the character string
05:28:35 -!- Arrogant has joined.
05:28:48 <heatsink> okay, so all numbers will print as a sequence of the character #
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: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:52 <heatsink> oh. You're writing a different program for class.
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: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: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: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: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: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)).
06:00:21 -!- Wildhalcyon has joined.
06:01:34 -!- calamari_ has quit ("Leaving").
06:28:18 <Wildhalcyon> anyhow, Im off to bed, thank you very much heatsink!!
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:36:03 <Arrogant> http://paragon.pastebin.com/366910
09:37:13 <Arrogant> Condensed: {fibo:(~=)->+>+<<[>>%>*<<[->+<]>>%<<*<-]>},{fibo}!
09:39:43 -!- calamari_ has joined.
09:42:10 -!- calamari has quit (Read error: 110 (Connection timed out)).
10:15:58 <Arrogant> Pretty useless little hack of a language
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:46:40 -!- jix has joined.
10:50:15 -!- Arrogant has quit (" Want to be different? HydraIRC -> http://www.hydrairc.com <-").
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: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:56 <jix> moin Wildhalcyon
15:57:50 -!- Sgep has joined.
16:28:29 <Wildhalcyon> How come IRC commands seem to be centered around death and kevin kline?
16:34:11 -!- Keymaker has joined.
16:35:30 <Keymaker> well, haven't done much anything
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:54 <Wildhalcyon> which Im sure is good, but its yours, not mine
16:37:07 <Wildhalcyon> Would you mind reading the updated spec? I've been working on it this morning a lot.
16:37:45 <Wildhalcyon> http://www4.ncsu.edu/~bcthomp2/CRAWL_spec.txt
16:45:47 <Keymaker> gotta be one of the clearest specs i've ever read
16:50:51 <Wildhalcyon> Aside from the duplicate entry for the character ' (fixed on my local copy)
16:54:23 <Keymaker> nothing comes to my mind(s) at the moment
16:55:12 <Wildhalcyon> Hmm, I have 14 instructions to work with in my spur-of-the-moment adage derivative
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:55 <Wildhalcyon> that's why heatsink's help last night was so valuable.
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:58:23 <Keymaker> but this current should be fine
16:59:05 <Keymaker> i'm worried about one thing though
16:59:20 <Keymaker> i think i want this time my language be turing-complete
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: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:41 <Keymaker> the stack can be reversed by instruction
17:02:08 <Keymaker> that memory model probably isn't turing-complete
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:27 <Keymaker> with proper instructions.. and they being popping, pushing, and changing the stack, and reversing
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: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: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: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:13:15 <jix> there are different kinds of (linked) lists
17:14:13 <jix> my code executes without throwing exceptions ... maybe it even works!
17:15:03 <jix> i'm working on my website
17:18:39 <jix> why does it return nil
17:19:07 <jix> it shouldn't return nil
17:20:24 <jix> i think it's a stupid typo
17:20:31 <jix> it's always a stupid type *g*
17:20:51 * jix searches the ActiveRecord::Base doc
17:21:45 <Keymaker> so, would this make TC memory?
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: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:23 <jix> just 2 typos ;)
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: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: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:48 <Keymaker> the one i'm designing currently?
17:45:06 <Wildhalcyon> what else have you designed? Because I have a short attention span and dont remember
17:45:48 <Keymaker> http://koti.mbnet.fi/yiap/trigger/trigger.html
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: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: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:32 <jix> Wildhalcyon: thanks
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: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: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:05:05 <Wildhalcyon> Im trying to design a tree structure out of it, but its difficult
18:09:49 <Keymaker> i guess i'm now doing fifth draft..
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: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:20:13 <Keymaker> i probably won't be back until next wednesday.. important exam stuff that day..
18:20:38 <Keymaker> on wednesday i'm free for a while, though, and have some more spare time :)
18:21:00 <Keymaker> i'll try to get this thing ready by wednesday
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: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: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:15:34 <jix> 660 with html templates
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:19:57 <jix> 0 ops, 326 total... never saw that anywhere except here at freenode
20:20:33 <jix> an irc channel with 326 users and 0 ops
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: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: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: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:35:10 <jix> conditional looping is a bit difficult
20:35:30 <jix> you don't have a test operator
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:20 <jix> and do not remove multiplication
20:36:36 <jix> that's needed for conditional looping
20:36:48 <jix> because you can multiply the relative adress with the test result
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: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:10 <kipple> IF you include a conditional operator that is :)
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:44:18 <jix> using negation and swap you can make < > <= and >=
20:44:48 <kipple> so, which operator has to go to make room for test?
20:45:33 <jix> but reversing program flow is cool
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: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:50:00 <kipple> how is the source code supposed to look? are the syntax for comments? is whitespace instructions or ignored?
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: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:49 <Wildhalcyon> Im not aiming for "nice", Im aiming for interesting.
20:53:09 <jix> use an image for storing symbols
20:53:47 <jix> and a good code + any image => code-image would be possible
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: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:02:02 <Wildhalcyon> Hmmm, okay. I guess it'll be set in stone now then.
21:03:06 <kipple> btw, I don't understand why you can't have instructions like cbaa etc...
21:03:39 <Wildhalcyon> Each instruction resets the symbol definitions
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: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:40 <jix> no i'm doing the straight ascii => glypho conversion
21:05:44 <jix> without comments
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:56 <jix> if i pop from the empty steck.. 0 or error?
21:12:00 <kipple> I think a shorthand notation-to-glypho converter will be essential to any programmer :)
21:12:18 <jix> makes implementation easier
21:12:42 <jix> kipple: but it won't work with reverse mode
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: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: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:23:16 <jix> aabb ..... t
21:23:19 <jix> should be d instead of t
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: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: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:31:03 <kipple> though there might not be too many such pais
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:57 <jix> it's ascii
21:32:03 <jix> but i only needed a and b
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: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:36:11 <jix> am i evil -- yes i am
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:50 <Wildhalcyon> I've rearranged them to "vaguely" reflect the symmetry in some of the instructions
21:45:08 <jix> ok changed it
21:45:41 <jix> http://www.harderweb.de/jix/glypho.rb
21:49:02 <jix> it's not clean ruby code
21:49:28 <jix> the first 2 lines are.. ugh
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:57:56 <grim_> seems like my connection problems have sorted themselves out
22:08:55 <grim_> what's the language?
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:13:42 -!- Arrogant has joined.
22:14:12 <grim_> looks like it should be
22:14:26 <grim_> but that jump instruction is a horror
22:15:50 <grim_> so you want to test positive, multiply by n+c, negate, then skip
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:56 <Wildhalcyon> Glypho, my brand new state of the art headache language
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: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:26:17 <grim_> but it still feels like it should be...
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: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:29 <Wildhalcyon> In order to put a 0 on the stack, you have to type 11-+
22:44:13 <grim_> yes, that is a bit nuts
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: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: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: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: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: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:17:42 <Sgep> Oh, and incidentally, it's not designed to be coded in directly, although that is possible
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.