00:07:29 -!- augur has joined. 00:09:52 -!- sleffy has joined. 00:11:57 -!- augur has quit (Ping timeout: 252 seconds). 00:53:41 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:01:58 -!- augur has joined. 01:06:09 -!- augur has quit (Ping timeout: 248 seconds). 01:09:20 -!- sprocklem has joined. 01:20:41 -!- sleffy has quit (Ping timeout: 256 seconds). 01:56:22 -!- augur has joined. 02:00:33 -!- augur has quit (Ping timeout: 240 seconds). 02:05:05 -!- sleffy has joined. 02:24:33 -!- sprocklem has quit (Ping timeout: 248 seconds). 02:26:40 -!- sprocklem has joined. 02:28:03 -!- variable has joined. 02:32:04 -!- imode has quit (Quit: WeeChat 2.0.1). 02:32:28 -!- imode has joined. 02:45:00 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 02:45:21 -!- variable has quit (Quit: /dev/null is full). 02:46:26 -!- augur has joined. 02:48:52 -!- augur has quit (Remote host closed the connection). 02:53:07 why are there no usable languages implemented using a queue? 02:53:19 stacks have had it too good for too long. 02:58:08 imode: usable as in not a tarpit? 02:58:26 yup. 02:58:32 something like a queue-based forth. 02:59:09 I think it's because queue-based languages tend to be inherently O(n) slower than other languages 02:59:22 because once you put something into the queue you have to wait for it to get back to the front before you can use it 03:00:03 well, you encounter some of the same problems with stacks via stack juggling. 03:00:23 yes 03:00:25 and doing deep peeks into the queue is just a matter of shifting. 03:00:29 the thing about stacks, though, is that they're good for temporaries 03:00:43 that said, I've been considering the idea of using a /call/ queue rather than a call stack 03:00:51 telnet into imode.tech, port 1338. 03:01:06 it tends to lead to a naturally concurrent language, as opposed to call stacks which tend to lead to sequential languages 03:01:06 (the UI may be broken.) 03:01:54 this is a prefix expression evaluator. 03:01:58 using a queue. 03:02:07 -!- sleffy has quit (Ping timeout: 256 seconds). 03:02:23 you can do simple things like `+ 1 + 2 3`. repeatedly hitting enter steps through the queue and performs operations. 03:02:48 you can also do definitions. `define square * dup end`. 03:07:12 how do definitions work recursively? 03:07:20 that's obvious with a stack, less so with a queue 03:07:47 if you do something like `square 4`, the queue turns into `4 * dup`. 03:08:31 try defining something recursive! there's no conditionals (yet), so you can't define useful things.. 03:10:09 well, not even recusion 03:10:11 just one function calling another 03:11:04 any definition gets its content enqueued. 03:11:56 so if you have `define foo bar end` and `define bar foo end`, and you type `foo` and hit enter, it'll be replaced with `bar`. likewise, `bar` will be replaced with `foo`. it'll oscillate back and forth. 03:12:26 oh, I see 03:12:31 this isn't really a queue-based language 03:12:41 it's basically lambda calculus with a weird evaluation roder 03:12:43 *order 03:12:58 as operations stay unevaluated unless all their arguments are fully evaluated 03:12:59 it's definitely a queue-based language. everything is held in a queue. 03:13:39 -!- augur has joined. 03:13:52 it's basically a circular string on which rewrite rules run 03:14:19 whereas lambda calculus can be seen as a string on which rewrite rules run 03:14:47 it's definitely the first thing. I don't see how else you'd interpret "queue-based language" aside from... everything's in a queue. 03:15:13 imode: I'd expect its nature as a queue to have some impact on the semantics of the language 03:15:25 it does, though.. 03:15:29 you could literally evaluate this language in a different order other than circular scan and get the same result 03:15:59 ...you could evaluate any RPN language in a different order and get the same result, I don't see your point 03:16:25 here, imagine evaluating the language like this: pick a random instance of an operator, see if it has the right number of operands to its right (wrapping round), if it does evaluate it, if it doesn't reroll 03:16:34 I believe that's 100% equivalent 03:16:46 likewise, RPN (the notation) is not inherently tied to a stack (the data structure) 03:16:53 it's a common way to implement it because it's efficient 03:17:10 rrrrright, as opposed to rewrite rules. 03:17:25 but barring metaprogramming facilities like Underload has, you could implement it using rewrite rules or translation to imperative code or even a queue 03:18:01 also, wait, you just described what my interpreter does. 03:18:18 -!- augur has quit (Ping timeout: 268 seconds). 03:18:30 like, verbatim. try evaluating `+ + 1 2 + 3 4`. type it, then hit enter a couple times. 03:18:43 imode: yes, what you have is basically a polish notation evaluator that uses a queue to determine the eval order 03:19:00 yyyyyes. how else would you really define a queue-based language. 03:19:09 in fact, how else would you really define a stack-based language? 03:19:58 forths (and really any RPN languages) kind of imply a stack as an eval order. both of these things imply some kind of rewrite mechanism. again, I don't see your point. 03:20:26 normally you say the language is inherently stack-based when you go beyond what you can do with just rewrite rules for defining the semantics 03:20:32 although it's quite hard to find an operation that requires that 03:20:44 roll comes to mind. 03:20:54 Underload works entirely with rewrite rules, for example (but tends to cause a "virtual stack" to come into being of operands collecting at the left hand side of the program) 03:21:05 even roll can be defined as a multiple-in multiple-out operator 03:21:07 I have `get` in my language. 03:22:07 so by your logic, RPN langs aren't really stack-oriented languages because there aren't, by default ("canonically, we'll say), operations that explicitly rely on the idea of an underlying stack. 03:22:21 what would you do to make them actually stack-oriented? 03:23:02 I think something like Befunge is inherently stack-oriented because the operands must, by the semantics of the language, be calculated (and thus enstacked) before the operators are even known 03:23:23 so the idea of a hidden stack that's not reflected in the syntax? 03:23:53 from another point of view, C is inherently stack-oriented, despite not mentioning a stack anywhere in the spec, because the way that functions work inherently requires a call stack to exist 03:24:11 ahhh. I get where you're going now. 03:24:37 I guess that's just a division of rewrite-based languages and things where rewrite rules don't really fit. 03:27:14 so, a call queue... 03:28:05 if you're in a procedure, and you call other procedures, do they just get added to the call queue and then called at return from said procedure? 03:28:19 doesn't that just reduce to something like what I have? 03:29:17 I mean imagine something built up like `foo(); bar(); baz(); return;`. when that return hits, `foo` is called, then `bar`, then `baz`. but `foo` can also enqueue stuff that will be executed after `baz`. 03:33:17 ais523: any ideas other than that? those are the assumptions I had when I walked into this. 03:34:43 well, my language with a call queue was trigger-based 03:35:02 procedures ran automatically when variables gained particular values 03:35:16 but a procedure couldn't trigger twice if there was already a copy pending 03:35:22 hm. 03:54:32 -!- augur has joined. 03:59:10 -!- augur has quit (Ping timeout: 264 seconds). 04:18:29 -!- heroux has quit (Ping timeout: 240 seconds). 04:19:06 -!- heroux has joined. 04:21:36 -!- ais523 has quit (Quit: quit). 04:25:44 -!- doesthiswork has joined. 05:09:30 -!- augur has joined. 06:27:03 -!- xkapastel has quit (Quit: Connection closed for inactivity). 06:56:01 -!- augur has quit (Ping timeout: 252 seconds). 07:39:45 -!- doesthiswork has quit (Quit: Leaving.). 07:53:20 -!- sleffy has joined. 08:08:45 -!- sleffy has quit (Ping timeout: 268 seconds). 08:15:02 -!- variable has joined. 10:03:49 -!- imode has quit (Ping timeout: 260 seconds). 10:44:38 [[Special:Log/newusers]] create * Brokenlagorithm * New user account 10:56:35 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=54310&oldid=54305 * Brokenlagorithm * (+106) 10:58:54 -!- AnotherTest has joined. 14:00:31 -!- doesthiswork has joined. 15:02:58 -!- HereToAnnoy has joined. 15:14:34 -!- HereToAnnoy has quit (Ping timeout: 260 seconds). 15:33:29 -!- Sgeo_ has joined. 15:35:36 -!- Sgeo has quit (Ping timeout: 245 seconds). 16:11:46 -!- doesthiswork has quit (Ping timeout: 264 seconds). 16:25:06 -!- xkapastel has joined. 16:26:13 -!- incomprehensibly has quit (Read error: Connection reset by peer). 16:26:35 -!- incomprehensibly has joined. 17:20:45 -!- imode has joined. 17:55:22 -!- ais523 has joined. 18:17:54 -!- ais523 has quit (Quit: sorry for my connection). 18:18:06 -!- ais523 has joined. 18:21:07 -!- danieljabailey has joined. 18:36:21 -!- ais523 has quit (Quit: sorry for my connection). 18:36:34 -!- ais523 has joined. 19:12:01 -!- sprocklem has quit (Ping timeout: 248 seconds). 19:14:01 -!- sprocklem has joined. 19:36:12 [[Special:Log/newusers]] create * Unfixable * New user account 19:41:33 -!- Sgeo__ has joined. 19:43:59 -!- Sgeo_ has quit (Ping timeout: 256 seconds). 19:54:45 -!- variable has quit (Quit: Found 1 in /dev/zero). 19:55:06 -!- laerling has joined. 19:55:27 -!- sprocklem has quit (Ping timeout: 268 seconds). 19:57:21 -!- sprocklem has joined. 20:06:23 -!- sprocklem has quit (Ping timeout: 276 seconds). 20:07:45 -!- sprocklem has joined. 20:17:57 -!- sprocklem has quit (Ping timeout: 240 seconds). 20:20:04 -!- sprocklem has joined. 20:42:41 -!- wob_jonas has joined. 20:43:56 On ebay, after submit the feedback form on an item I bought, the site just asked me "Do you want to sell another item?". I never sold anything on ebay. This is such a nonsequitur. 20:54:17 -!- laerling has quit (Ping timeout: 255 seconds). 20:55:29 -!- erkin has joined. 21:00:53 wob_jonas: well, at least they didn't ask whethet you've stopped beating your wife... 21:09:04 they're suggesting that your feedback is implausible and they don't buy it hth 21:09:58 -!- sprocklem has quit (Ping timeout: 264 seconds). 21:14:16 -!- augur has joined. 21:32:09 -!- grumble has quit (Read error: Connection reset by peer). 21:34:55 -!- grumble has joined. 21:40:45 -!- augur has quit (Remote host closed the connection). 21:53:27 -!- variable has joined. 22:05:30 ? amnesia 22:05:33 `? forget 22:05:34 forget? ¯\(°​_o)/¯ 22:05:34 `? memory 22:05:35 memory? ¯\(°​_o)/¯ 22:05:37 `? amnesia 22:05:39 amnesia? ¯\(°​_o)/¯ 22:05:55 `? recall 22:05:56 recall? ¯\(°​_o)/¯ 22:05:56 `? remember 22:05:57 remember? ¯\(°​_o)/¯ 22:06:10 `? learn 22:06:11 ​`learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] [s][punctuation] [...] 22:06:11 `? study 22:06:13 A study is mostly useless until backed up by further studies. See studies. 22:06:32 `? studies 22:06:34 Studies show lots of things. Nobody reads them, though. Also: this study contradicts this other study. These two studies agree, but were secretly paid for by the same company. 22:09:24 `? mario 22:09:25 Mario is a classic PSPACE-complete problem invented by Nintendo. 22:09:25 `? game 22:09:27 game? ¯\(°​_o)/¯ 22:10:30 `5 w 22:10:35 1/3:false//false is a very old stack-based language. For an authentic experience, run it on an Amiga. It's also not true. \ fsm//An FSM is a state machine with noodly appendages. \ blæg//Blæg is a color that cannot exist under the current understanding of physics. It is used on the #esoteric flag, along with ultraviolet and whatever is conv 22:10:42 `n 22:10:43 2/3:enient. It is a nullary color, meaning that it can be mixed with itself to produce the primary colors. \ norway//Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced. It's a warm, dry place, at least compared to Québec. \ remavas//Remavas is a revolution in human biology. He's cofriends with oerjan. He's ap 22:10:44 `n 22:10:45 3/3:parently from Frankfurt, Germany, but he's actually from Mars. His typing skills are so incredibly bad, some say he writes in a different orthography designed for a different language. 22:26:21 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...). 22:31:17 -!- sleffy has joined. 22:43:31 -!- sprocklem has joined. 22:43:57 -!- ais523 has quit (Remote host closed the connection). 22:44:57 -!- digitalcold has quit (Ping timeout: 240 seconds). 22:45:06 -!- digitalcold has joined. 22:56:01 `? tanebventions: maths 22:56:03 Mathematical tanebventions include D-modules, Chu spaces, the torus, Stephen Wolfram, Klein bottles, string diagrams, the reals, Lambek's lemma, Curry's paradox, Stone spaces, algebraic geometry, locales, and histograms. 22:56:33 `? histogram 22:56:36 Histograms are diagrams showing histamine levels. Taneb invented them. 22:56:41 `slwd tanebventions: maths//s/ms,/& linear logic,/ 22:56:42 Roswbud! 22:56:45 mmm 22:56:49 `slwd tanebventions: math//s/ms,/& linear logic,/ 22:56:51 tanebventions: math//Mathematical tanebventions include D-modules, Chu spaces, the torus, Stephen Wolfram, Klein bottles, string diagrams, linear logic, the reals, Lambek's lemma, Curry's paradox, Stone spaces, algebraic geometry, locales, and histograms. 22:57:16 Oh, I guess Taneb dually invented antihistograms. 22:57:26 . o O ( histograms are diagrams often found in ancient caves? ) 22:57:48 Aren't those prehistograms? 22:59:05 perhaps 22:59:26 perhapstograms 23:10:07 https://twitter.com/stevecheckoway/status/972540498282975234 23:11:04 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 23:38:20 -!- AnotherTest has quit (Ping timeout: 256 seconds).