00:00:28 <pikhq> brainfuckcode(string, null);
00:01:29 <pikhq> And to make a Glass interpreter:
00:01:32 <Asztal> that reads in some brainfuck code then executes it?
00:01:49 <pikhq> brainfuckcode("[>,]", string);
00:01:55 <pikhq> glasscode(string, null);
00:04:18 * Sgeo wants Asztal's statements to look like 2.
00:05:03 <Asztal> I was thinking of a syntax more like ASSURE,CASVS etc
00:05:24 <Asztal> the stack ones were going to be:
00:05:32 <Sgeo> Does anyone like my branches?
00:05:36 <Asztal> var1, meet var2 (for merging stacks)
00:07:18 <Sgeo> How many statements are Stackaware?
00:07:21 <Sgeo> Just Asztal's?
00:07:54 <jix> well p00p and q00q are
00:08:07 <jix> they are defined to store eveyrything associated with a variable
00:08:26 <oerjan> well UNDO probably uses its own stacks :)
00:08:30 <Sgeo> Ahh, so it will have to store the whole variable stack?
00:08:40 <jix> including all bitsinks
00:08:41 <Sgeo> oerjan, let's make those stacks manipulable!
00:09:00 <Sgeo> The programmer can break UNDO!
00:09:26 <oerjan> UNDO is broken by design, in case you haven't noticed :)
00:10:41 <oerjan> (i.e. interleaving UNDOs for different statements is going to be really weird)
00:10:45 -!- bsmntbom1dood has joined.
00:10:54 <Sgeo> Hi bsmntbom1dood
00:11:00 <Sgeo> http://www.harderweb.de/tmp_jix/allofthem.txt
00:11:05 -!- Sgeo has set topic: the international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - for brainfuck-specific discussion, go to ##brainfuck - http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory | http://www.ha.
00:12:17 <Sgeo> Incidentally, unless there's a GOTO, only statements in branch 0 are executed >.<
00:12:24 <Sgeo> (At least, that's what I intended)
00:13:20 <Sgeo> wrt the "poop stack"
00:13:33 <Sgeo> "poop" should be a predeclared variable
00:13:34 <GregorR-L> I read them like line labels from olde BASIC
00:13:49 <oerjan> Branches are essentially cases of statements :)
00:14:08 <Asztal> is it a p00p stack or a p00p stack stack? or stack stack stack?
00:14:40 -!- GregorR-L has quit ("kill(getpid(), SIGTHISJOKEISNOWSTALE)").
00:14:43 <Sgeo> "cases of" statements?
00:15:08 <Sgeo> WARNING: Parsing error in English
00:15:09 -!- bsmntbombdood has quit ("foo").
00:15:20 <oerjan> in the sense of CASVS: the order of statements in different branches don't matter?
00:15:27 -!- bsmntbom1dood has changed nick to bsmntbombdood.
00:15:28 <Asztal> switch(branch){ case 0: ASSURE 1=x;}
00:16:06 <Sgeo> I intended it to basically be like each branch is a seperate program
00:16:22 <Sgeo> Well, variables and stuff stay
00:16:25 -!- bsmntbombdood has left (?).
00:16:37 -!- bsmntbombdood has joined.
00:17:04 <oerjan> ERROR: ILLEGAL BRANCH <0>
00:17:07 <Sgeo> <0> isn't allowed
00:17:35 <Sgeo> Branch 0 is simply the branch when you don't specify the branch
00:17:49 <Sgeo> you can't specify the default branch >.<
00:18:08 <Asztal> ERROR: BRANCH 0 IS THE TRUNK
00:18:39 <Sgeo> Branches like <-1> are allowed
00:19:10 -!- bsmntbombdood has left (?).
00:19:20 <Sgeo> allowing vars in branch labels would be, erm, interesting
00:19:35 <oerjan> Those would be roots, then
00:19:39 <Sgeo> jix, what if I said that in the email?
00:20:06 <jix> it is hard enough ...
00:20:14 <Asztal> he means "no, for the love of god, do you have to make this any more difficult!?"
00:20:30 <Asztal> well, that's what I read it as .
00:20:44 -!- bsmntbombdood has joined.
00:20:48 <Sgeo> But wouldn't he have had to have if it was in the original email?
00:21:48 <Asztal> 2222231231231232113123
00:23:34 <oerjan> 5213111213111213111213122113111213
00:25:21 <Asztal> that we both accidentally typed numbers :P
00:25:32 <oerjan> mine wasn't accidental
00:25:36 <Asztal> I was trying to change views in trackmania, but this had stolen focus :(
00:26:17 <oerjan> i was trying to be a smartass :)
00:26:37 <Sgeo> Incidentally, can one CHANGE branch labels?
00:27:12 <Sgeo> but almost anything else can be CHANGEd, right?
00:27:24 <Sgeo> What if an ASSURE is changed after it has been executed?
00:27:41 <oerjan> hm, the 0th used value could be the branch label
00:27:59 <Asztal> Sgeo, I imagine it will use the change value next time you land on the assume?
00:28:34 <Sgeo> Would the branch label need to be present?
00:29:05 <Sgeo> And I think it's impossible to change something TO branch 0 >.<
00:29:49 <pikhq> ASSURE <<foo==WHINE var var=brainfuckcode("[>,]", var);>>
00:29:51 <oerjan> bah, that's not impossible at all compared to some other things in this language :)
00:30:00 <pikhq> This is a very, very evil language.
00:30:17 <Sgeo> you can't change the 0th value because it's declared illegal
00:30:23 <jix> i'll read logs tomorrow and start writing a spec in the wiki
00:30:58 * Sgeo wish he saw the possibilities of var branch labels and accessibility via CHANGE
00:30:59 <oerjan> i see no such declaration.
00:30:59 <pikhq> The saddest thing is that each of these alone would be enough for a crazy language.
00:31:13 <Sgeo> "5 and 6 can be replaced with any positive integer except 0."
00:31:20 <Sgeo> Bleh at redundency
00:31:32 <Sgeo> pikhq, yours is sensible
00:31:51 * oerjan is going blind apparently
00:32:20 <pikhq> Sgeo: You've never seen Glass, have you?
00:32:22 <Sgeo> Oh, and GOTO 3 is illegal
00:32:23 <oerjan> mine makes no attempt at being a whole language
00:32:38 <pikhq> Mine is 2 languages in one.
00:32:45 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
00:33:01 <Asztal> pikhq: /me wonders about adding stacks to each cell to befunge
00:33:09 <pikhq> Asztal: Dear lord.
00:33:13 <Asztal> But it's slow enough already
00:33:46 <oerjan> i had an idea about a language in which everything is a stack, including the values in stacks
00:34:04 <pikhq> "A stack is defined as a stack of stacks."
00:34:08 <Sgeo> How would var_b = var_a work?
00:34:22 <Sgeo> (Or whatever equiv.)
00:34:30 <Sgeo> Is the stack copied over, or just the top value
00:34:54 <pikhq> push(pop(var_b), pop(var_a));
00:35:00 <pikhq> Sorry; first one was wrong.
00:35:01 <Asztal> I know there was a language where everything is a queue
00:35:43 <pikhq> That, in his hypothetical language, would (in theory) make the first stack's first stack be the second stack's first stack.
00:35:53 <Sgeo> Strings count as values for CHANGE's purposes btw
00:36:17 <Sgeo> I meant in ABCDEF, not the stack language
00:36:50 <Sgeo> Look at the title of the contest
00:37:57 <oerjan> the title of the contest is Adjudicated Blind Collaborative Design Esolang Factory, which has _absolutely_ nothing to do with ABCDEF. this is official contest policy.
00:38:54 <Sgeo> And what will the language be called?
00:39:11 <oerjan> see the logs for when we discussed the name
00:40:36 <oerjan> <jix> oh and NEVER abbreviate Adjudicated Blind Collaborative Design Esolang Factory
00:40:47 <oerjan> http://meme.b9.com/cview.html?channel=esoteric&date=061021
00:41:55 <oerjan> we haven't decided a name for the language.
00:42:28 <oerjan> although there were some suggestions on that page
00:42:43 <Sgeo> oO /me liked to read FRC archives
00:43:21 <oerjan> yeah, those were the days
00:43:31 <pikhq> WHINE whinecode("Ow")
00:44:48 <pikhq> Where Have I Seen Programs Esoterically Remarked
00:45:18 * Sgeo wrote up a compiled ruleset for Zuber
00:46:34 -!- tgwizard has quit (Remote closed the connection).
00:47:47 * Sgeo found a contradiction incidentally
00:48:42 <Sgeo> The rules wrt U
00:50:15 <Sgeo> Dangit, why can't I get the thing?
00:50:27 <Sgeo> ftp://ftp.nvg.ntnu.no/pub/frc/24 is the thing, right?
00:50:35 <oerjan> it's a bit slow, i noticed
00:51:08 <oerjan> i'm reading that page now
00:52:13 <Sgeo> "Special letter (vowel): 'U'. No pieces may be moved or placed on the board. 'U' can only
00:52:13 <Sgeo> be removed by being surrounded. (This seems to contradict an earlier rule: "Pieces of type
00:52:13 <Sgeo> {W,X,Z} may not be placed on the board." If you wish to use the earlier rule, you may
00:52:13 <Sgeo> disregard anything about 'U' not being destroyable.)
00:52:13 <Sgeo> " is what is in my compilation
00:53:14 <Sgeo> http://sgeo.diagonalfish.net/Zuber.pdf
00:53:53 * Sgeo also slightly changed the rule for winning
00:55:28 <oerjan> what number is that rule?
00:56:15 * Sgeo shrugs. I wrote the thing a long time ago
00:58:34 <Sgeo> The "no other pieces" is 24.29
00:59:33 <Sgeo> 24.18 is "No pieces of {W,X,Z}
01:00:00 <Sgeo> Imean, I guess 24.29 includes 24.18..
01:02:25 -!- pgimeno has quit (zelazny.freenode.net irc.freenode.net).
01:02:26 -!- puzzlet_ has quit (zelazny.freenode.net irc.freenode.net).
01:02:49 -!- puzzlet_ has joined.
01:02:49 -!- pgimeno has joined.
01:03:19 <Sgeo> SAPERLIPOPELEPET
01:05:53 <oerjan> yes, it does seem to include it. so it is not a direct contradiction.
01:06:39 * Sgeo thinks that U is too powerful
01:08:00 <oerjan> that would not be so unusual for FRC :)
01:08:44 <Sgeo> Yeah, but my compilation thing was also to make it usable
01:08:59 <Sgeo> Or at least, no terrible stuff
01:09:34 <Sgeo> 14 Feb 2005 was the last time I edited that thing
01:09:52 -!- wooby has joined.
01:10:03 <oerjan> oh, i note the style comment on 24.29: the judge clearly noted the 24.18 issue.
01:11:22 * Sgeo should make it be the 24.18 thing with a note about the 24.29 thing
01:13:17 <oerjan> strange. i don't understand how 24.34 could be valid, given 24.29...
01:15:27 * Sgeo should get back to working on MKBL-LN
01:37:19 <Sgeo> In the Factory language thing
01:37:43 <Sgeo> SOLVE « x*2/2 = 5 » FOR x
01:38:17 <oerjan> not the most difficult...
01:39:00 <Sgeo> But there was a (no identity operations) thing
01:39:16 <Sgeo> But *2/2 still makes it simple
01:43:04 <oerjan> for that matter, you could do SOLVE << x+1 = 5+1 >> FOR x (can't be bothered to find the write quotes)
01:43:49 <Sgeo> Well, ASSURE « x = 5 » would work
01:44:00 <Sgeo> If you wanted x to effectively be a constant
01:44:58 <oerjan> hm, something tells me in this case the command name should be BEHOLD
01:45:02 <Sgeo> Is jix's comment thing the only way to comment?
01:45:09 -!- calamari has joined.
01:45:17 * pikhq figures out a paradox
01:45:51 <Sgeo> pikhq, it could use a CHANGE >.<
01:45:53 <pikhq> Sgeo: I've got two options for it.
01:46:22 <pikhq> First: in brainfuckcode blocks. Second: in glasscode blocks.
01:47:00 <calamari> ASSURE <<pi=3.141592653589793238462643383279502884197>>
01:47:04 <Sgeo> the SWAP thing was intended to foil comments and the language itself if it was a brainfuckish language
01:47:43 <pikhq> calamari: Then you've got it trying to assure pi=3,235, and pi.
01:47:50 <pikhq> Good luck with that.
01:48:05 <calamari> I have no idea what you're doing.. just being silly
01:48:12 <Sgeo> http://www.harderweb.de/tmp_jix/allofthem.txt
01:48:30 <Sgeo> pikhq, like I said, one of the ASSURE's could CHANGE another ASSURE, right?
01:48:48 * Sgeo wonders if anyone really likes his CHANGE idea
01:51:37 <Sgeo> It was a contest thingy
01:51:50 <Sgeo> We each sent in statements without seeing the other statements
01:51:52 <oerjan> http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory
01:52:19 <oerjan> entries at http://www.harderweb.de/tmp_jix/allofthem.txt
01:53:06 <pikhq> Sgeo: The ASSUREs are ran after each statement is executed.
01:53:30 <pikhq> Thus, that would, after each statement, ASSURE that pi=three things.
01:55:19 <Sgeo> Idea: If ASSURE cannot make the expression TRUE, destroy the universe
01:55:25 <Sgeo> (or maybe just the users HD)
01:55:51 <Sgeo> Really though, the source file
01:56:07 <Sgeo> There's another thing that deletes source file 0:)
01:57:57 <oerjan> it could just remove the ASSURE statement itself from the source file :)
01:59:34 <oerjan> an interpreter that fixes unsolvable problems with revisionism...
02:02:18 <pikhq> Make it remove nonvalid syntax.
02:06:38 -!- deltab has quit (Read error: 104 (Connection reset by peer)).
02:26:32 -!- GregorR-L has joined.
02:29:05 -!- CakeProphet has quit (Excess Flood).
02:30:04 -!- CakeProphet has joined.
02:34:09 <Sgeo> GregorR-L, do not put the baby in the Solar Death Ray
02:34:24 <Sgeo> http://www.solardeathray.com/baby.html
03:04:43 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)).
03:05:15 -!- GregorR-L has joined.
03:26:00 -!- oerjan has quit ("Good night.").
03:49:14 -!- ihope_ has joined.
04:05:52 -!- ihope has quit (Connection timed out).
04:07:09 -!- |wez| has joined.
04:07:33 <|wez|> damn this Insomnia =(
04:16:06 <Sgeo> zero/-0 in the main thread is a good way to quit
04:16:14 * Sgeo wonders why it has to be a variable
04:20:40 <|wez|> atleast the insomnia made me release a new verson of monkeycode to night
04:21:33 <|wez|> Soo I guess it wasn't a totaly waste of perfectly good sleep
04:23:59 <Sgeo> Why why why is there a statement:
04:24:00 <Sgeo> /<multiple lines of code>*^&/_'@<multiple lines of code>%!/(?`_.,
04:24:06 <Sgeo> //<multiple lines of code>*^&/_'@<multiple lines of code>%!/(?`_.,
04:28:24 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
04:31:16 <Sgeo> Is SOLVE the only way to do math on numbers?
04:32:47 <Sgeo> If I don't want the result to be a constant..
04:33:01 <Sgeo> Suppose I want to put x+y into result
04:33:26 <Sgeo> SOLVE « x+y+1=result+1 » FOR result;
04:33:48 <Sgeo> If I didn't want result permanantly tied to x and y, that's the only way?
04:34:34 -!- GregorR-L has quit (Read error: 148 (No route to host)).
04:34:45 <Asztal> oh, you can use brainfuck() and glass() too
04:35:10 <Sgeo> Well, gnight all
04:38:16 <Sgeo> Is it in any way possible to predict which variable ASSURE will change?
04:38:54 <Sgeo> Oh, and ASSURE «x+y=result» might preserve result and change x or y
04:38:58 <Asztal> Sounds awfully implementation-defined to me
04:39:04 <Sgeo> If result is just assumed to be 0
04:39:20 <Sgeo> So the safest thing is SOLVE
04:39:38 <|wez|> http://nocluestudios.com/MonkeyCode any comments?
04:40:49 <Sgeo> Gnight all forreal
04:41:51 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:00:42 <RodgerTheGreat> some vague similarities to BF, some unique characteristics.
05:30:17 <RodgerTheGreat> it was an analogy- it's a shitload of extended opcodes for x86 introduced with the pentium.
05:37:49 <|wez|> now I need a shower, damn insomnia, I wants to go to sleep
05:43:06 -!- anonfunc has joined.
05:55:13 -!- calamari has quit ("Leaving").
06:10:47 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
06:14:10 -!- GregorR-L has joined.
06:38:46 -!- |wez| has quit ("school'n'stuff").
07:59:15 -!- GregorR-L has quit ("kill(getpid(), SIGNEWJOKE)").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:11:05 -!- jix has joined.
11:11:26 -!- jix has quit (Remote closed the connection).
11:33:33 -!- ihope__ has joined.
11:33:44 -!- ihope__ has changed nick to ihope.
11:50:33 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
13:11:41 -!- jix has joined.
14:59:29 <fizzie> There was a "do not put the baby" moment in the speech processing lecture today. The lecturer was talking about speech recognition, more specifically on how humans possibly learn to recognize speech, and said (paraphrased from the Finnish to be more dnptb.com-like) "it's probably not wise to put the baby in the white noise".
15:14:49 -!- Asztal has joined.
15:33:12 -!- anonfunc has quit (Remote closed the connection).
16:27:41 -!- kipple_ has joined.
16:31:22 -!- tgwizard has joined.
16:35:01 -!- sekhmet has quit ("leaving").
16:37:42 -!- sekhmet has joined.
16:53:01 * SimonRC wonders if ASSURE should actualy be spelt ENSURE, which more accurately describes its effects.
16:57:52 -!- oerjan has joined.
17:03:20 <oerjan> and have it take money
17:19:30 <oerjan> pikhq: the second comment in basm.bfm contains a comma
17:21:51 <oerjan> in general having comments go into the bf code may not be a good idea if the point is to make the result as short as possible. Maybe an alternative command?
17:22:28 <oerjan> Perhaps tcl's comment syntax is available automatically, whatever it is
17:24:49 <pikhq> oerjan: Tcl's comment syntax would be easy to add.
17:25:02 <oerjan> actually you could probably define it as a macro: macro comment x {}
17:25:23 <pikhq> interp alias slave # {} #
17:25:28 <pikhq> I'll do just that.
17:27:12 <pikhq> oerjan: And said second comment isn't in the current BASM build, anyways.
17:27:46 <oerjan> right, it's not necessary after cons59 was modified
17:28:32 <oerjan> perhaps rename "comment" to "inline"?
17:28:56 -!- |wez| has joined.
17:29:24 <pikhq> I'll make "comment" "inline", and "com" "forceinline".
17:29:28 <oerjan> although calling it comment is obviously more esoteric :)
17:30:39 <SimonRC> oerjan: WTF?! you responded to a comment I made 5 minutes befre you joined!
17:30:43 <pikhq> And "#" shall be the comment delimitr.
17:30:48 <pikhq> SimonRC: He looks at logs.
17:35:05 <oerjan> has there been any other changes to basm.bfm since then?
17:36:01 <pikhq> I'll upload the new tarball of both packages here.
17:37:57 <pikhq> http://pikhq.nonlogic.org/basm.tar.bz2 and http://pikhq.nonlogic.org/bfm.tar.bz2
17:41:29 <pikhq> Shit; basm.b is broken.
17:42:58 <oerjan> you forgot to remove "comment" from the foreach loop
17:43:25 <oerjan> or rather, there was a duplicate to begin with
17:44:18 <pikhq> Fixed basm up. . .
17:48:22 -!- wooby has quit (Read error: 113 (No route to host)).
17:51:57 <oerjan> there are a number of places in basm.bfm where it seems like you are expanding cons* macros...
17:52:59 -!- GregorR-L has joined.
17:56:59 <oerjan> you are actually subtracting constants. then, it might have been an idea to have macros for that, too.
17:59:22 <oerjan> well, later. need to buy groceries.
17:59:32 -!- oerjan has quit ("Bye").
18:53:24 <pikhq> Well, basm.b is currently 5334 characters. . .
18:58:51 -!- wooby has joined.
18:59:00 -!- wooby has quit (Remote closed the connection).
19:02:06 * pikhq has finally figured out *why* basm.b fails on large pointer movements
19:02:34 <pikhq> The loop I've set up to make it handle that correctly, unfortunately, drops a character from being processed.
19:03:02 <pikhq> Not sure how to fix it, though.
19:03:08 <pikhq> GregorR-L: Care to take a look?
19:05:16 * pikhq realises that bfm could probably be refactored significantly. . .
19:05:46 <pikhq> The Brainfuck version, at least, could be defined in terms of "inline", "forceinline", "#", and "macro".
19:07:57 <pikhq> "while" could be defined in terms of that, though. ;)
19:08:12 <pikhq> And "out" and "in" and "set".
19:11:59 * pikhq has no idea *how* to fix his bug; will work on it after school
19:24:12 * pikhq will ask oerjan if/win he returns
20:00:03 -!- GregorR-L has quit (Read error: 148 (No route to host)).
20:02:17 -!- paparent has quit ("leaving").
20:28:18 -!- oerjan has joined.
20:53:18 -!- CakeProphet has joined.
20:55:39 -!- |wez| has quit.
21:04:57 -!- oerjan has quit ("Leaving").
21:07:20 -!- Sgeo has joined.
21:21:01 <Sgeo> For the ASSURE statement
21:21:29 <Sgeo> It could attempt to first change the variable that was altered the longest time ago
21:55:33 -!- cmeme has quit (Remote closed the connection).
21:56:28 -!- cmeme has joined.
21:56:57 -!- cmeme has quit (Remote closed the connection).
21:57:29 -!- cmeme has joined.
22:02:43 -!- pgimeno_ has joined.
22:03:12 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
22:04:03 -!- pgimeno_ has changed nick to pgimeno.
22:05:48 <CakeProphet> I'm conceptualizing a language whose primary focus is iterations... of any sort
22:06:08 <CakeProphet> I'd want it to be able to do stuff like....
22:07:49 <CakeProphet> Which would take each item in ListName and add 5 to it
22:09:42 <CakeProphet> That would add all the contents of a sequence together.
22:29:58 <CakeProphet> and then being able to "goto" a specific iteration in a foreach loop.
23:16:21 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
23:17:28 -!- pikhq has joined.
23:21:41 -!- tgwizard has quit (Remote closed the connection).
23:25:34 -!- kipple_ has quit (Read error: 110 (Connection timed out)).
23:53:15 <Sgeo> Should brainfuck() and glass() be changed to use and modify the entire variable-stack?
23:53:22 <Sgeo> instead of just the top value?
23:56:01 <Sgeo> var something = 0 should be different from var something
23:57:48 * pikhq has declared that brainfuckcode(); sets the BF memory to the var-stack, and that glasscode(); just starts with it's stack that of the var-stack.
23:58:10 <Sgeo> brainfuckcode()?
23:58:20 <pikhq> That's the name of the operation.
23:58:30 <Sgeo> I see "brainfuck()"
23:58:38 <Sgeo> no "brainfuckcode()"
23:59:32 * pikhq should flesh his contributions out into a full language