view paste/paste.32416 @ 12257:1924fe176291 draft

<fizzie> ` sed -e \'s|wisdom|bin|\' < ../bin/cwlprits > ../bin/cblprits; chmod a+x ../bin/cblprits
author HackEso <hackeso@esolangs.org>
date Sat, 07 Dec 2019 23:36:53 +0000
parents cfccf77f13bb
children
line wrap: on
line source

2003-01-25.txt:18:57:15: <exarkun> d'you know if the stack stack is shared between threads in concurrent funge?
2003-01-25.txt:18:57:54: <fizzie> each has its own stack.
2003-01-25.txt:18:58:07: <exarkun> yea, each has its own stack
2003-01-25.txt:18:58:16: <exarkun> but the docs don't say anything about the stack stack
2003-01-25.txt:18:58:52: <fizzie> wellll.. stack is just what's on top of the stack stack.
2003-01-25.txt:18:59:23: <fizzie> in befunge97 or 96 they had shared stacks, which sounds really, really sick.
2003-01-27.txt:23:21:52: <lament> well if someone finds it offensive, fuck that btich!
2003-02-07.txt:05:06:00: <lament> "height in wavelengths"? What the fuck.
2003-04-20.txt:01:51:43: <lament> Many people who are into Scientology don't suspect how fucked up it is, either
2003-07-09.txt:04:09:41: <dbc> And I wouldn't broaden it too far. Stack machines are fine, but a four-function calculator isn't. Again, I'm trying to match common usage, which doesn't speak of "programming" anything very different from a computer...
2003-07-09.txt:04:13:19: <lament> In common usage, somebody says "HTML is a programming language, i learned it at school", and the response is "FUCK YOU!" *ban*
2003-07-12.txt:00:47:31: <andreou> power and shit...
2003-07-26.txt:04:25:32: <andreou> well, if i direct him to the UHH he'll start shouting at me ``what kind of the worst lamer has written that piece of trinary shit''
2003-07-30.txt:20:32:00: <lament> Taaus: so they wanted to rename the language to "fuck"
2003-08-06.txt:19:20:43: <lament> but THIS is fucked up
2003-09-04.txt:02:28:14: <lament> Therefore, timbre can go fuck itself!
2003-09-04.txt:02:53:42: <lament> very shitty music, certainly.
2003-10-21.txt:00:49:56: <lament> that wouldn't be fucked up enough
2003-10-21.txt:04:24:40: -!- lament has quit ("fuck").
2003-10-22.txt:03:32:16: <andreou> lament "ante gamisou" is "fuck off"
2003-10-22.txt:03:37:23: <stevaras> or a forgotten cut dick
2003-11-21.txt:02:32:43: <Taaus> I'm not sure.. It doesn't have any looping constructs, as far as I can see... Although it might be possible to implement it with a stack.. Hmm.
2003-11-21.txt:02:37:34: <Taaus> Cool. I made it blow the stack with a loop.
2003-11-21.txt:02:39:07: <Taaus> @+<coord> is "push <coord> onto stack", @@<coord> is "do <coord> for each item in stack"
2003-11-21.txt:02:41:41: <Taaus> A stack operation counts as a <coord>. And { ... } is just to group more <coord>s as one <coord>.
2003-11-21.txt:02:42:42: <Taaus> Well, the <coord> popped from the stack is placed in a special variable called the "current coordinate".
2003-11-21.txt:02:43:26: <Taaus> The @+ operation doesn't affect the current coordinate, but it does push its argument onto the stack.
2003-11-21.txt:02:59:07: <Taaus> I guess you could implement a kind of truth values using empty/non-empty stacks...
2003-11-21.txt:02:59:23: <Taaus> It's possible to save stacks in variables, BTW.
2003-11-21.txt:03:24:37: <lament> is a stack just a type of coordinate? :)
2003-11-21.txt:03:41:04: <Taaus> Grr... Saving stacks in variables seems to be... Limited, somehow... It seems it has to take place directly after the stack has been initialised.
2003-12-29.txt:21:56:40: <lament> any time you need more stack for example
2003-12-29.txt:21:56:57: <lament> neither does c, if you consider the stack
2004-02-08.txt:05:10:13: <lament> the whole terminology is extremely fucked up.
2004-02-08.txt:20:48:59: <Toreun> two dimensional, using a stack and a queue
2004-02-08.txt:20:58:38: <fizzie> er, with a stack and a queue, wouldn't the "obvious" way to do that be to stack everything from the queue to the stack, and then enqueue them back in the queue? (hee, that sounds fun. stack to the stack and enqueue in a queue.)
2004-02-08.txt:21:13:49: <Toreun> I'm probably gonna end up just using source-editing, so I can have the stack for other things
2004-02-08.txt:21:24:14: <fizzie> like that can't-remember-the-letter instruction in funge98 which pops the new delta vector from the stack.
2004-02-11.txt:00:16:55: <mooz-> I made a multitasking befunge befunge interpreter, but it doesn't keep the processes' stacks separate yet, making it quite useless
2004-02-11.txt:00:18:11: <fizzie> my glfunge98 knows how to multithread with separate stacks (using the funge98 multithreading instructions) but it's otherwise ultra-mega-sucky.
2004-02-11.txt:00:27:56: <Toreun> and the void is a stack with a max size of two
2004-02-13.txt:00:37:56: <calamari_> using c I could make a loop executing g() with void f() { g(); f() }, however, eventually the stack would overflow.  I wonder if there's a way to avoid that without using "if" "while", "for", etc.
2004-02-13.txt:01:01:59: <Toreun> I'm thinking 'quack' because it has a queue and a stack
2004-04-29.txt:03:30:51: <Toreun> I talked about it awhile back here... it's a two dimensional programming language with a stack and a queue
2004-04-29.txt:06:08:52: <andreou> ah shit.
2004-04-30.txt:07:49:01: <heatsink> Well, brainfork is not actually known to be turing-complete; besides which brainfooey is not something any sane programmer would want to program in. For more info on brainfufu, look at the website (...). Of course, it's not actually called Brainflock, but we don't want to mention bad words and all that shit.
2004-04-30.txt:07:50:45: <lament> "And I can't quite make out that last one... And even if I could, i wouldn't say it. Because there're kids present, and I wouldn't want to fuck with their brains"
2004-04-30.txt:08:34:23: <lament> holy shit
2004-05-01.txt:04:05:28: <andreou> shit, yeah.
2004-05-04.txt:00:50:43: <andreou> by the way, the wikied code is stacked on my todo que (as #1), since i have to learn latex right now, i'll restart work on it tomorrow or the day after.
2004-05-27.txt:16:00:32: <fizzie> oh, and between '93 and '98 there was that funky funge with multithreading but a shared stack between all threads. (can't remember if it was '96 or '97)
2004-05-27.txt:16:06:04: <fizzie> they just push the corresponding number to stack.
2004-05-27.txt:16:06:30: <fizzie> there are no variables, just the stack. oh, and you can write/read to/from the playfield.
2004-05-27.txt:16:06:48: <fizzie> oh, right, funge98 also includes the "stack stack"
2004-05-27.txt:16:07:05: <fizzie> where instead of a single stack you actually have a stack of stacks, and you can manipulate those.
2004-05-27.txt:16:08:18: <fizzie> (if you're not familiar with forth, it just reaches into the stack and pulls out a number from an arbitrary depth.)
2004-05-27.txt:16:13:24: <fizzie> oh, and another difference: '93 had a defined 8-bit playfield and 32-bit stack. in funge98 the actual amount of bits is implementation-defined, but stack cells and playfield cells will be the same size.
2004-05-27.txt:16:14:27: <fizzie> but you can put anything from the stack to the playfield without having to worry about it being too big.
2004-05-27.txt:16:15:51: <Keymaker> it isn't pretty useful to have 32-bit stack and 8-bit playfield in 93'?
2004-05-27.txt:16:17:16: <fizzie> sorta-makes sense. the playfield is "text", composed of eight-bit octets, and the stack isn't 8-bit to allow you to calculate with larger numbers.
2004-05-27.txt:23:03:11: <lament> oh, fuck logic then :)
2004-05-28.txt:20:51:07: <calamari_> also, I'm not sure how big a stack I'll need
2004-05-31.txt:21:59:52: <fizzie> book's by philip k. dick, who has written lots of excellent books, imho. not about robots though.
2004-06-10.txt:20:17:51: <lament> it would also require a fucking big computer
2004-06-11.txt:20:25:41: <lament> fuck.
2004-06-11.txt:20:34:06: <lament> FUCK
2004-06-15.txt:10:05:56: <calamari_> for those wondering.. I have bfasm working with simple programs.  Next I need to do arrays, then the stack, and finally put in text -> memory storage 
2004-06-20.txt:18:11:28: <calamari_> I haven't finished implementing the STK command (to set the stack size).. also need to understand/use a few of dbc's compare and divide/mod routines
2004-06-20.txt:18:12:12: <calamari_> stack (accessible via push & pop only)
2004-06-28.txt:02:47:30: <WildHalcyon_> One option is just to push the function name onto the stack and have an 'execute' command
2004-06-28.txt:04:04:01: <Toreun> it has a stack and a queue
2004-06-28.txt:04:09:11: <WildHalcyon> so there's a stack and a queue?
2004-07-02.txt:06:38:15: <heatsink> Can a single datum (a cell, the stack contents, etc.) be arbitrarily big? Because then you could pack the lambda function into a single value, and then unpack it in-place... In fact, I've been wanting to do an esolang sort of like that
2004-07-02.txt:06:39:20: <WildHalcyon> Stack contents possibly, but an actual cell is limited to a 8-bit value
2004-07-06.txt:07:12:00: <WildHalcyon> like regular lambda functions in false - they're pushed onto the stack and executed like normal
2004-07-08.txt:17:04:39: <mtve> there was small tcpip stack in php and it shouldn't be more than 64k of bf-asm code i think.
2004-07-08.txt:17:10:52: <fizzie> there's all kinds of stuff like explicit congestion notification (RFC2884), syncookies, window scaling (RFC1323), Nagle's algorithm and loads of others if you want a funky tcp/ip stack.
2004-07-12.txt:21:02:01: <calamari_> is there an easy way to deal with that (I'm using something similar to recursive descent, using a stack rather than recursive calls)
2004-07-17.txt:22:13:29: <Lord_AnthraX> fuck the 8-ball
2004-08-05.txt:04:41:43: <JoeyP> WHAT THE FUCK REALTIME LOGGIN OMG LOL
2004-08-05.txt:04:46:05: <lament> What the fuck is esper.net?
2004-08-05.txt:04:50:05: <LinkMasterSab> Shit*
2004-08-05.txt:04:56:39: <LinkMasterSab> The two stacks don't interact.
2004-08-05.txt:05:01:25: <JoeyP> shitty++
2004-08-05.txt:15:00:38: <JoeyP> I'll take that as a "NO BITCH, NOW FUCK OFF YOU FUCKING CUNT"
2004-08-12.txt:01:26:05: <JoeyP> oh shit
2004-08-12.txt:01:26:22: <JoeyP> i know, just a stack
2004-08-12.txt:01:26:36: <LinkMasterSab> Stacks are coo <23
2004-08-12.txt:01:27:41: <LinkMasterSab> pop(0) unless the callback stack isn't empty.
2004-08-12.txt:01:30:01: <JoeyP> it will be shitty though
2004-08-12.txt:01:30:27: <LinkMasterSab> Optimizing with large numbers causes it to use stacks you might not want it to :/
2004-08-12.txt:01:30:51: <LinkMasterSab> Plus I couldn't figure out how the fuck to make it work with the stacks to being with.
2004-08-12.txt:01:39:26: <JoeyP> this is shitty
2004-09-14.txt:21:27:53: <ZeroOne> something has to be thought for orphan letters which probably will appear. maybe if a letter set doesn't form an instruction, it could be pushed to stack
2004-09-14.txt:21:36:51: <fizzie> was going to write a befunge variant with "define", "call" and "return" instructions. 'define' would take an (x,y) pair that defines the start of an function and a small integer 'n' which would be the "name", 'call' would pop n and go to the function, but push the return address to stack, and 'return' would pop the return address off the stack and go back.
2004-09-14.txt:21:37:10: <fizzie> not sure if I wanted a separate "execution stack" or to use the normal stack for it.
2004-09-14.txt:21:38:03: <lindi-> separate stack would be too easy
2004-09-14.txt:21:38:19: <fizzie> yes, but if I use the normal stack then delivering parameters to functions will be hard.
2004-11-07.txt:03:35:33: <slava> i'm working on stack effect inference for postfix languages
2004-11-07.txt:03:36:21: <slava> eg, the stack effect of 2 2 + is [ 0 | 1 ] because it takes no values from the stack, but leaves one
2004-11-07.txt:03:36:38: <slava> the stack effect of dup * is [ 1 | 1 ], because it takes one value, duplicates it, multiplies the two duplicates, to yield one value
2004-11-07.txt:03:37:07: <heatsink> Doesn't 2 2 + take two values from the stack and then add one?
2004-11-07.txt:03:37:48: <heatsink> so what is the stack effect of printf?
2004-11-07.txt:03:39:17: <slava> so the stack effect of 2 2 + is [ 0 | 1 ] * [ 0 | 1 ] * [ 2 | 1 ]
2004-11-07.txt:03:40:27: <jDoctor> it should lead to computer-generated stack effects, right?
2004-11-07.txt:03:41:29: <heatsink> do both branches of an if-then-else have to have the same stack effect to be legal?
2004-11-07.txt:03:42:44: <slava> since after the ifte, the stack height is constant, sonce the two branches are balanced
2004-11-07.txt:03:43:54: <slava> this is valid, since i have proofs that balanced sets of stack effects behave just like the maximimal element under pairwise composition
2004-11-07.txt:03:44:26: <slava> words that take variable numbers of arguments off the stack?
2004-11-07.txt:03:51:40: <slava> yes, but I don't infer stack effects of code involving them.
2004-12-26.txt:12:52:04: <nooga_> code space, output window and stack listener :)
2004-12-26.txt:13:55:36: <nooga_> because i dont pop from the stack when | or _ are noticed
2005-01-16.txt:12:07:01: <mtve> _ operator pops the stack
2005-01-16.txt:12:15:59: <Keymaker> will the first in stack be 0 or the one that is followed by "
2005-01-16.txt:12:16:19: <Keymaker> "hi"   would there be on stack  0 h i
2005-01-16.txt:12:17:34: <mtve> and most of implementations pop zero from empty stack.
2005-02-05.txt:22:19:15: <arke> and in a loop, you can fuckit all up because you forgot to scroll once!
2005-02-15.txt:16:49:45: <Keymaker> aarrggh. public commander keen forum has been attacked with shit-eating pictures and other grotesque material :(
2005-02-16.txt:22:45:26: <Keymaker> would it be a stack, array etc...
2005-02-25.txt:00:37:24: <Rogue> cool, i like'm cuz languages like C and VB, are fucking annoying
2005-02-25.txt:00:46:02: <Rogue> a lil fuck aroiund thing
2005-02-25.txt:01:47:44: <Rogue> well, all declared variables are set in a linear array into a stack, so each variable can expand easier, you have a variable declared at code block 7,8 would beput in the next available slot on an array
2005-02-25.txt:01:54:19: <Rogue> the variablables that are in the array/stack would be the z axis
2005-02-25.txt:19:41:28: <Keymaker> "16:37:24 <Rogue> cool, i like'm cuz languages like C and VB, are fucking annoying"
2005-02-28.txt:23:32:57: <arke> teh brainfuck is teh fucking with my teh brain
2005-03-05.txt:22:07:57: <cpressey> the horrific part would be the stack management, i think :)
2005-03-06.txt:08:38:07: <calamari> cpressey: esoapi could be made to work with a stack based language as well
2005-03-06.txt:08:42:21: <calamari> If a language doesn't have a current cell.. then they'd use their stack, or whatever.. up to the language implementor
2005-03-16.txt:06:07:49: <Tefad> i'm using a stack for those
2005-03-16.txt:23:42:43: <arke> then I'm gonna change to eliminate all return stack tricks
2005-03-17.txt:00:52:20: <calamari> arke: I did something similar in a previous contest.. first I wrote it in basic, using functions.. then I removed the functions and used gosub, then I removed the gosubs, just using if/goto/stack.  then I saw that someone had it to something like 37 bf instructions, and I gave up :)
2005-03-17.txt:00:57:18: <arke> I think the best bet is to use the BF pointer as a stack, in pretty much every situation
2005-03-18.txt:19:28:54: <{^Raven^}> difficult without a stack
2005-03-20.txt:06:53:31: <{^Raven^}> a TCP/IP stack written in BF
2005-03-20.txt:06:53:43: <calamari> you wouldn't need a full stack
2005-03-20.txt:06:57:19: <calamari> if you do go crazy and decide to do it, check out the network stack written for the old 8-bit computers.  I think they have one for c64 and another for atari8
2005-04-04.txt:11:26:42: <graue> should using ? on an empty stack be an error, or just a nop?
2005-04-05.txt:15:37:51: <kipple> you can define custom stacks
2005-04-05.txt:15:38:59: <kipple> on the positive side, it will remove the need for the @ stack (which is an abomination) as a language feature
2005-04-05.txt:15:39:50: <Keymaker> will the output be read from @ stack before o stack?
2005-04-05.txt:15:41:28: <kipple> so the next version will add one operator and remove the special stack @
2005-04-05.txt:15:41:49: <Keymaker> and the one operator is that custom stack?
2005-04-05.txt:15:42:37: <kipple> which lets you load custom stacks from a dll/so, a java class or a kipple file
2005-04-05.txt:15:44:53: <Keymaker> by the way, question about the + operator; so, if there are values [8 4 3] in stack b, will the code b+2 cause it to have values [8 4 5] or [8 4 3 5]?
2005-04-05.txt:15:47:04: <Keymaker> and this would be a way to clear that stack: 0>b?  , right?
2005-04-05.txt:15:48:49: <Keymaker> so the only way to basically delete one value from stack is to move it to some other stack (and clear that stack where moved if one likes to)
2005-04-05.txt:15:49:54: <kipple> I usually use one of the stacks for this purpose only
2005-04-05.txt:15:50:14: <Keymaker> how big are the stacks?
2005-04-05.txt:15:50:36: <kipple> they are standard java stacks
2005-04-05.txt:15:51:41: <Keymaker> and in empty stack this code a+a would cause the stack have value [ 0 ] ?
2005-04-05.txt:15:52:50: <Keymaker> and a+b have the same [ 0 ] in a stack and nothing in b
2005-04-05.txt:16:18:08: <Keymaker> ah, i just realized that way to dublicate a value in stack is to add zero to it
2005-04-05.txt:19:42:44: <graue> the main idea was to learn C++ by making an interpreter for some stack-based language
2005-04-06.txt:12:05:47: <Keymaker> kipple: what program a-500 should do. let's assume there is for example value [1] in the stack.
2005-04-06.txt:12:19:16: <kipple> then the stack should be [1  -499]
2005-04-14.txt:20:08:15: <Keymaker> "Good shit, huh? Dozer makes it. It's good for two things: degreasing engines and killing brain cells."
2005-04-14.txt:20:23:45: <graue> i wrote some shit there to start it off
2005-04-16.txt:03:20:05: <graue> i tried programming in brainfuck, and it, like, it FUCKED UP MY BRAIN!
2005-04-28.txt:17:36:22: <fizzie> And, as said, creates buggey code. Probably one of my optimization passes. I do some stack-content-analysis to avoid writing conditional jumps that never get taken, and to do constant-folding.
2005-05-04.txt:19:18:03: <GregorR-L> * = all stack and IO operations, + = branch
2005-05-04.txt:19:44:52: <fizzie> BrainFuck (and 2l, apparently) operate on a tape, not a stack. A stack would be a FIFO structure. Other than that, looks like a language I wouldn't want to _have_ to use for some real project. :)
2005-05-04.txt:19:45:37: <pgimeno> a stack would be a LIFO ;)
2005-05-04.txt:19:50:54: <GregorR-L> Just changed stack to tape and operation to symbol
2005-05-04.txt:20:04:30: <fizzie> I think the befungey parts of blank are its stack-basedness, plus the instruction set is befunge-inspired. The program sits in a one-dimensional ring, however.
2005-05-05.txt:13:12:30: <pgimeno> anyway stack-based languages are not among my favorites
2005-05-05.txt:13:13:07: <Keymaker> i'm not such fan of stacks, probably because i have never used them before esolangs
2005-05-05.txt:13:13:39: <pgimeno> that's probably why I don't like stacks
2005-05-06.txt:13:17:26: <Keymaker> the quine works the way that first it reads it own instructions to stack (stuff inside " ")
2005-05-06.txt:13:17:53: <Keymaker> the instructions tell it to print out '"'s and the stuff there is in stack
2005-05-08.txt:18:45:49: <Keymaker> i'm not sure if the place allows to use 'fuck' in the domain name
2005-05-09.txt:23:50:27: <kipple> difficult handling multiple stacks in such a language I would think
2005-05-10.txt:04:34:53: <Keymaker> GregorG: by its stacks?
2005-05-10.txt:04:42:35: <Keymaker> but not that much, just remember that stack names are one character (a..z or @)
2005-05-10.txt:04:47:33: <Keymaker> as well remember that a stack can be "connected" with two stuff like a>b<499
2005-05-10.txt:17:07:47: <kipple> the stacks are 1 dimentional, but since there are several stacks one could perhaps argue that it is 2D?
2005-05-10.txt:17:56:21: <GregorR-L> Mainly, do I want the data pointer to just be in a stack or tape...
2005-05-11.txt:05:24:47: <GregorR> If you stack two +s, they can't be pushed
2005-05-12.txt:01:13:32: <kipple> so how do you manage to do stacks?
2005-05-12.txt:01:14:20: <GregorR-L> But their design happens to be particularly condusive to stacks.
2005-05-12.txt:01:17:27: <kipple> There is such a thing as a stack item. 
2005-05-12.txt:01:17:28: <kipple> A stack item has an item below which is a stack item. 
2005-05-12.txt:01:17:28: <kipple> A stack item has an item on top which is a stack item.
2005-05-12.txt:19:16:43: <GregorR-L> A 2D programming language where you draw a stack, then physically move data above it and drop it in :-P
2005-05-12.txt:19:16:59: <GregorR-L> So you have to navigate your program pointer above the stack, then do a "drop" operation
2005-05-12.txt:20:20:34: <Keymaker> GregorR: nice idea about that 2D language where you actually need to collect stuff from the stack
2005-05-13.txt:09:13:19: <lament> no shit
2005-05-13.txt:23:52:27: * pgimeno prefers fuck rather than dead
2005-05-14.txt:08:06:36: <GregorR> I can read in a kipple file and figure out what's a number, what's a stack, what's an operation, and organize it as such.
2005-05-18.txt:23:20:59: <kipple> btw, the @ stack will probably be gone in the next version... :D
2005-05-19.txt:00:21:49: <kipple> no it duplicates the top value on the stack
2005-05-19.txt:00:26:07: <kipple> public void execute() throws StackException { 
2005-05-19.txt:00:53:54: <kipple> the @ stack works a bit differently, but otherwise it seems to work fine :)
2005-05-19.txt:19:24:55: <kipple> and the @ stack pads up to six (i think) zeroes 
2005-05-21.txt:00:58:31: -!- wooby has quit ("[BX] Were you born a fat, slimy, scumbag, puke, piece of shit or did you have to work on it?").
2005-05-27.txt:01:13:02: <malaprop> kipple: Well, if you're volunteering to write the TCP/IP stack...
2005-05-27.txt:01:19:12: <GregorR> The stack begot a register.
2005-05-27.txt:14:26:53: <jix> with a 3rd binary stack instructions it is turing complete (because i know how to implement a BF interpreter)
2005-05-27.txt:23:31:24: <kipple> well, the next version of Kipple will allow code modules, so then you can write a division stack once, and then reuse it...
2005-05-28.txt:00:38:44: <jix> i'm not using the input stack as a temp stack
2005-05-28.txt:00:58:18: <kipple> btw, there is NOTHING wrong with using the input stack as a temp stack!
2005-05-28.txt:22:18:53: <jix> i'm going to parse the code into a struct-structure and than execute it.. the stack functions/structures are done..
2005-05-28.txt:22:49:45: <jix> using the stack _ poping it is reading a char and pushing it is writing a char
2005-05-28.txt:22:51:08: <kipple> the next version of the language has the ability to load customized stacks, so then you could do that 
2005-05-28.txt:22:59:21: <kipple> ah, because of stack limitations?
2005-05-28.txt:23:41:26: <kipple> handling the 26 different stacks in BF would be a nightmare IMHO, but good luck!
2005-05-28.txt:23:46:06: <Keymaker> harder than the stacks would be the big numbers, i guess
2005-05-29.txt:12:41:47: <jix> hmm.. is it possible to implement the @ stack in kipple
2005-05-29.txt:12:42:31: <jix> i push a number, read from the stack, push a number, read from the stack
2005-05-29.txt:12:45:26: <kipple> a stack that adds 1 to all pushed values?
2005-05-29.txt:12:45:50: <kipple> well it can't be named a (a-z are reserved for normal stacks)
2005-05-29.txt:12:48:52: <jix> hmm.. for the @ stack every push would be optimal.. but if one would like to have the opposite of @ every pop would be better
2005-05-29.txt:12:49:25: <kipple> currently a push sets the "evaluate" flag. On a pop the code is executed if the flag is set. then the topmost value of the custom stack's o is popped
2005-05-29.txt:13:08:23: <jix> yes because adding a value and adding a value popped from a stack are two different things
2005-05-29.txt:13:12:12: <jix> but my interpreter is written for speed and it's faster if it knows if it has to add a value stored in the program or stored in a stack
2005-05-29.txt:13:13:42: <jix> i think i still have to finetune the values for reallocating the stack memory 
2005-05-29.txt:13:22:21: <jix> "a<12" check 'a' is 'a' an instruction ? no.. next char: '<' .. instruction! it needs a stack on the left site.. ok end on the right site is.. a number so seek until the end of the string OR to a nonnumber char
2005-05-29.txt:13:28:20: <jix> hmm.. one for every stack .. and one for every instruction
2005-05-29.txt:13:28:48: <jix> but i inline the stack methods !
2005-05-29.txt:13:28:51: <kipple> I have one object for every stack, instruction and operand (including numbers)
2005-05-29.txt:13:29:57: <jix> 	union { stack* s; int i;} op_a;
2005-05-29.txt:13:30:20: <jix> for stack and int.. op_b has also an p for a sub program (looping)
2005-05-29.txt:15:00:35: <jix> but the @ stack doesn't work
2005-05-31.txt:01:23:08: <kipple> I think it is the sub-recipes that's the problem. Each sub-recipe call results in all the stacks being copied every time
2005-05-31.txt:15:31:41: <Keymaker> so it would finally have 1 1 1 in b stack?
2005-05-31.txt:15:32:00: <kipple> no it would have 1 1 1 1 in the b stack
2005-05-31.txt:16:06:08: <kipple> all input is pushed onto the i stack BEFORE the program is executed
2005-05-31.txt:16:08:16: <pgimeno> whenever a program tries to use the input stack for the first time, the input will be read
2005-05-31.txt:16:09:11: <kipple> the problem is that the input stack might be used for other purposes (it is not exclusively for input)
2005-05-31.txt:16:11:04: <pgimeno> kipple: imagine that you keep a count of elements on the 'i' stack
2005-05-31.txt:16:11:38: <malaprop> it's be weird for the interpreter to pause for input when code tries to push onto the input stack.
2005-05-31.txt:16:13:15: <kipple> as it is now it is perfectly legal to pop from an empty stack (will return 0). so you can easily check if the program has recieved any input. this will not work if a pop will result in a getchar()
2005-05-31.txt:16:15:51: <pgimeno> if you pop from the 'i' stack and there's input, you don't receive a 0
2005-05-31.txt:16:16:36: <graue> why would the interpreter have to pause for input when code pushes on the input stack?
2005-05-31.txt:16:16:38: <pgimeno> similarly, if you pop from the 'i' stack in 'lazy input' mode, then all input is gathered and pushed and you don't receive a 0 either
2005-05-31.txt:16:16:50: <kipple> as far as I understood your solution, if you pop the i stack and it's empty, then you would trigger a getchar(), no?
2005-05-31.txt:16:19:44: <kipple> the difference being that you cannot pop the i stack, and find out if any input was passed to the program, because that would trigger input to be read
2005-05-31.txt:16:24:12: <kipple> consider the following program: it checks to see if there is any input by popping the i stack, and checking for 0. if 0 then print "please provide input!" and terminates. else it performs some operations on the input
2005-05-31.txt:16:25:31: <malaprop> print "please provide inpurt: ", pop input stack
2005-05-31.txt:16:29:04: <pgimeno> kipple: in other words, it's the implementation of the pop operation the one which reads the input: if the instruction is a pop, and the stack is 'i', and the number of elements is 0, then read the input (if any) and return the first byte (or 0 if none); otherwise perform as any other stack pop
2005-05-31.txt:16:30:08: <malaprop> pgimeno: And, if stack is empty and no input is given, the stack stays empty and future calls don't try to get input.
2005-05-31.txt:16:31:05: <pgimeno> and if it's used as any other stack but it never is popped when empty, no input will be read
2005-05-31.txt:16:45:24: <graue> how many stacks does a language need to be Turing-complete?
2005-05-31.txt:16:47:18: <graue> so a single deque would be enough, since it can be treated as two stacks, right?
2005-05-31.txt:16:49:13: <fizzie> According to some googling there is a working representation of two stacks in a single queue.
2005-05-31.txt:17:28:31: <Keymaker2> "According to some googling there is a working representation of two stacks in a single queue."
2005-05-31.txt:17:30:41: <fizzie> Well, http://jackson.cs.miami.edu/~burt/papers/1993.1/Saq-JAIIO-2.ps has a proof of the queue-automata-is-equivalent-to-turing-machine thing, but it doesn't (unless I misread, I just briefly looked at it) use two-stacks-in-a-queue, that one was a CS assignment or something.
2005-05-31.txt:18:01:14: <kipple> the problem is the copying of ALL the stacks each time a sous chef is called
2005-05-31.txt:22:05:56: <kipple> quoted from 99-bottles-of-beer.net: "What the fuck is going on here? In fact we got two Chef submissons within a couple of hours. As soon as I have some time on my hands, I will add support for showing several examples for each language cuz I don't want to be the one who decides which is the better one etc. For now I activated the first submission." :D
2005-06-01.txt:23:52:20: <graue> a literal number or string just pushes itself onto the stack
2005-06-01.txt:23:52:36: <pgimeno> I missed the stack part
2005-06-02.txt:04:36:03: <GregorR> So, stack elements are a sort of "variant," that can be either a number or a string?
2005-06-02.txt:04:49:11: <graue> an expression that is evaluated must result in exactly one value on the stack
2005-06-02.txt:21:20:10: <cpressey> or... no, even befunge has a stack, making it a PDA
2005-06-03.txt:16:34:26: <sp3tt> Basically uses a stack to print Hello world, when it can be done without one. Also demonstrates how to use userdefined vars in functions.
2005-06-04.txt:12:41:17: <kipple> graue: I've read the Sortle spec. it's not clear to me how to push values onto the stack.
2005-06-04.txt:12:41:50: <kipple> there are a list of operators that work on the stack, but I can't find how to acutally get any data on the stack in the first place...
2005-06-04.txt:13:10:01: <graue> kipple, literal numbers or strings push themselves onto the stack
2005-06-04.txt:13:11:38: <kipple> ok. so will the expression "12" push 12 or 1 and 2 onto the stack?
2005-06-04.txt:13:46:09: <kipple> i assume my interpreter will give an invalid stack identifier error or something
2005-06-04.txt:13:48:57: <kipple> hmm. here's a thought: If I allow < to be used as a stack name, then this expression could be used: a<<b (a.push(<.pop()); <.push(b.pop())  )
2005-06-04.txt:13:51:41: <kipple> hmm. I think I will allow ANY character as a stack name in the next version, except numbers, whitespace and #
2005-06-04.txt:14:07:33: <jix> no a stack
2005-06-04.txt:14:07:49: <kipple> it's either a stack or an operator
2005-06-04.txt:14:19:26: <kipple> hmm. should I keep stack names case insensitive, or change to case sensitive? 
2005-06-04.txt:17:42:19: <kipple> "k">( would give an error that ( is not a stack
2005-06-04.txt:19:02:18: <GregorR> My peptide chains will stack rather than fold, and simply based on every-other amino acid being "compatible"
2005-06-04.txt:19:50:02: <kipple> isn't fuckfuck one of those as well?
2005-06-04.txt:19:53:03: <kipple> I think we should aim to include every esolang, even ook, fuckfuck, cow etc. but those could be bunched together in one article, referenced from the BF article
2005-06-04.txt:20:13:07: <kipple> for instance: I think we should have a "stack-based" category
2005-06-04.txt:20:13:46: <CXI> stack-based meaning which languages?
2005-06-04.txt:20:14:00: <kipple> but what exactly is that? only langs with only one stack, like befunge, or including languages like Chef and Kipple?
2005-06-04.txt:20:14:36: <pgimeno> I think that including all; that makes it easier to look for a particular language which is stack based
2005-06-04.txt:20:15:01: <jix> languages that use stacks as its main/only data structure
2005-06-04.txt:20:19:32: <sp3tt> FuckYorBrane XD
2005-06-04.txt:21:41:38: <lament> but shit
2005-06-04.txt:21:55:33: <sp3tt> The program should output "Your brain is fucked" XD
2005-06-04.txt:22:06:38: <fizzie> I seem to recall some pushdown-automata-like language (single stack, no other real storage), but now I've forgotten it. How is befunge classified, btw? At least '93 has that 80x25 fixed size limit...
2005-06-04.txt:22:08:23: <lament> fuck.
2005-06-04.txt:22:48:11: <sp3tt> Ok, Brainfuck totally rocks, pwns, and is teh shit!
2005-06-04.txt:22:52:53: <sp3tt> That prints "Your brain is fucked!"
2005-06-04.txt:23:13:41: <sp3tt> And the text is a brainfuck program that outputs "Your brain is fucked".
2005-06-05.txt:00:46:53: <jix> auto converted (BF=>BOOF=>XUML) programs are going to be so fucked long
2005-06-05.txt:17:59:49: <sp3tt> It prints "Your brain is fucked!"
2005-06-05.txt:20:48:31: <graue> it seemed unclear what was or wasn't by reference, "deep copies" and "shallow copies" left my brain all fucked, so i stopped working on it
2005-06-05.txt:20:56:49: <sp3tt> graue: you mean python fucked up your brain less that bf?
2005-06-06.txt:10:06:32: <lament> a stack...
2005-06-07.txt:22:19:55: <lament> each line controls a separate stack
2005-06-07.txt:22:20:21: <lament> instructions < and > access data from neighDbouring stacks
2005-06-07.txt:22:21:19: <graue> so the stacks run in parallel?
2005-06-07.txt:22:21:48: <lament> < gets data from the stack above (with wraparound)
2005-06-07.txt:22:21:56: <lament> > gets data from the stack below (with wraparound)
2005-06-07.txt:22:22:23: <lament> will add to both stacks the top value on the other swap
2005-06-07.txt:22:22:26: <lament> *other stack
2005-06-07.txt:22:25:42: <lament> (without the use of a third stack)
2005-06-07.txt:22:27:24: <lament> even with the third stack it's not trivial :(
2005-06-07.txt:22:28:03: <lament> with the use of the third stack, swapping values in the first two:
2005-06-07.txt:22:37:32: <lament> because you're not limited to two stacks
2005-06-07.txt:22:43:57: <kipple> when you say "# drop last value", you mean the top of the stack, right?
2005-06-07.txt:22:50:39: <kipple>  does the ^ and v alter the stack above/below ,or just peek at it?
2005-06-07.txt:23:23:24: <lament> the bottom stack keeps growing?
[too many lines; stopping]