00:18:57 -!- MDude has joined. 00:37:47 [[Special:Log/newusers]] create * Xanman12321 * New user account 00:37:58 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...). 00:42:45 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=55456&oldid=55453 * Xanman12321 * (+219) 00:43:06 [[User:Xanman12321]] N https://esolangs.org/w/index.php?oldid=55457 * Xanman12321 * (+13) Created page with "Hey, I'm Xan." 00:53:55 -!- ais523 has quit (Remote host closed the connection). 00:55:08 -!- ais523 has joined. 00:59:15 Y'all know about skullcode, right? http://skullcode.com/ 00:59:46 It's this thing. It's not completely obvious what, exactly, it is. 00:59:47 are you going to try to convince me to click the link? 01:00:10 I mean, it's a "self-hex-editor" hosted in some sort of VM. 01:00:29 It's a hex editor running on a VM, where the thing that it's editing is the memory of that VM. 01:01:04 oh 01:01:09 doesn't that make it a codenomic, technically? 01:01:11 hi ais523 01:01:14 hi shachaf 01:01:16 Kind of! 01:01:19 Do you logread? 01:01:40 But it's not multi-player. 01:01:43 not normally; sometimes I logread when I have nothing better to do (not the case right now!) but in such cases I'll typically not be on IRC at the time 01:01:43 shachaf: do I? I don't. 01:01:49 if someone suggests logreading then that'll normally prompt me to read 01:01:56 Anyway, let me segue into my question. 01:02:19 Does anyone know of a browser-hosted VM (similar to skullcode) where you can edit, save, and load snapshots of the VM state? 01:02:27 Preferably a VM with a simple architecture, like MIPS? 01:02:50 I wrote a bit about for-else above but by now I've had a whole bunch of other thoughts. 01:02:59 -!- ais523 has quit (Quit: sorry for my connection). 01:03:11 -!- ais523 has joined. 01:04:02 In Ruby you can write a regular while function that can be used like while(p) { ... }, right? ← this is a defining feature of call-by-name languages 01:04:24 some languages are normally call-by-value but let you explicitly lazify an argument, which makes them effectively call-by-name in that respect 01:05:20 That's not exactly what's going on there, I think. 01:06:03 You can't reevaluate an arbitrary argument, just restart the entire function from the top, including argument evaluation. 01:06:25 Also when people say call-by-name I usually think of languages without mutable variables. 01:06:31 `` ocaml 01:06:32 ​/hackenv/bin/`: line 5: ocaml: command not found 01:06:35 bleh 01:06:37 was going to give an example 01:06:48 I mean, I believe you, it makes sense. 01:06:55 shachaf: that defeats most of the point of call-by-name if you don't have mutable variables 01:07:00 as that makes the calling convention invisible 01:07:18 so you don't know or care if it's call-by-name or not and in most contexts, call-by-value is more efficient 01:08:37 Unless an argument doesn't terminate or something like that. 01:08:45 right 01:08:51 that's effectively an effect too 01:09:04 Sure. 01:16:42 shachaf: here, here's a program I just wrote: http://nethack4.org/pastebin/15.txt 01:16:48 that's Algol 60 01:16:52 and it shows off call-by-name pretty well 01:17:07 although not the control flow behaviour (Algol 60 control flow is painful), more the basic idea of CBN 01:17:19 it shows off re-evaluating arbitrary arguments, at least 01:17:46 (OK, technically it isn't proper Algol 60 as Algol 60 doesn't have a print statement, but my Algol 60 compiler adds one as an extension) 01:22:06 Makes sense. 01:23:55 you can probably guess what output gets printed 01:24:42 [[Roie]] https://esolangs.org/w/index.php?diff=55458&oldid=55448 * Galaxtone * (+112) Just incase. 01:25:35 Yes. 01:30:20 actually that code feels a bit icky to me from a types point of view, functions should be distinguishing between integer lvalues and integer rvalues 01:32:12 -!- erkin has joined. 01:45:19 -!- variable has joined. 01:55:14 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...). 02:14:56 -!- erkin has joined. 02:20:40 -!- Galaxtone has joined. 02:20:48 this roie language is giving me some real trouble to make it actually work 02:20:58 Might have to add yet another instruction 02:34:17 [[User:Xanman12321]] https://esolangs.org/w/index.php?diff=55459&oldid=55457 * Xanman12321 * (+34) 02:40:25 [[User:Xanman12321/Consequences]] N https://esolangs.org/w/index.php?oldid=55460 * Xanman12321 * (+573) Created page with "'''Consequences''' is an esolang very similar to Brainfuck, however each command does something unwanted. {| class="wikitable" |- ! Command !! Extra action |- | > || Decrement..." 02:45:34 Noice he finally made that 02:47:12 that's userspace, so it's probably a draft rather than a final version 02:48:49 I was wondering if it was TC until I saw the side effect of + 02:48:56 now I think it probably is TC, although I'm not sure 02:49:17 there might be something specific you can't do that you need to but I can't see anything obvious 02:49:36 I think you mostly use + to go left, > to go right, - to adjust cells 02:49:55 and leave enough junk elements on the tape that you can throw away most of the side effects in places you don't care about 02:50:23 [[User:Xanman12321/Consequences]] https://esolangs.org/w/index.php?diff=55461&oldid=55460 * Xanman12321 * (-573) Blanked the page 02:51:01 [[User:Xanman12321/Consequences]] https://esolangs.org/w/index.php?diff=55462&oldid=55461 * Xanman12321 * (+573) 02:51:47 [[Special:Log/move]] move * Xanman12321 * moved [[User:Xanman12321/Consequences]] to [[Esolang:Xanman12321/Consequences]] 02:52:01 oh, I think they're trying to move it to mainspace 02:52:06 I'd better intervene, screwed-up moves can be hard to fix 02:52:14 [[Special:Log/move]] move * Xanman12321 * moved [[Esolang:Xanman12321/Consequences]] to [[Xanman12321/Consequences]] 02:52:16 no 02:52:18 he;'s got it. 02:52:23 don't worry I'm in his DM 02:52:32 [[Special:Log/move]] move * Ais523 * moved [[Esolang:Xanman12321/Consequences]] to [[Consequences]]: I assume the author's trying to move this to mainspace 02:52:41 uh ais523 02:53:01 [[Special:Log/delete]] delete * Ais523 * deleted "[[User:Xanman12321/Consequences]]": Broken redirect 02:53:02 He already moved it back berfore you did that 02:53:07 :P 02:53:22 I was trying to warn you. 02:53:23 [[Special:Log/move]] move * Xanman12321 * moved [[Xanman12321/Consequences]] to [[Consequential]] 02:53:34 Consequential 02:53:35 [[Consequential]] https://esolangs.org/w/index.php?diff=55470&oldid=55468 * Xanman12321 * (+1) 02:53:38 nice. 02:54:07 I kind of want to write an implementation of this block language. 02:54:15 But it might be a lot of work. 02:54:16 [[Special:Log/delete]] delete * Ais523 * deleted "[[Consequences]]": Broken redirect 02:54:39 And I'm mostly procrastinating on something important by thinking about it. 02:54:47 [[Special:Log/delete]] delete * Ais523 * deleted "[[Xanman12321/Consequences]]": Broken redirect: redirect left behind after a chain page-move 02:54:49 sorry mate, looks like you were trying to help but just ended up messing up in the end. 02:55:10 no, he didn't move it back 02:55:15 he moved it to three different titles 02:55:19 and I had to clean up after each of them 02:55:32 oh... well I'm confused. 02:55:39 He has been on the discord and just created his account 02:55:41 ‎<‎ais523‎>‎ I'd better intervene, screwed-up moves can be hard to fix ← looks like I was slightly too slow on the intervening, but luckily it was screwed up in a way that was fairly easy for an admin to fix 02:55:43 He's new. 02:55:54 I'll inform him of this redirect "issue". 02:55:57 what's the page name /meant/ to be? if it's Consequential, then all is fine 02:56:07 yep he's fine with that 02:56:19 the basic rule is that you can't move the same page twice without admin help, or things end up getting slightly broken 02:56:39 but quite a few people try to get round this issue via copy-and-paste which makes things a lot worse 02:56:57 that didn't happen so the cleanup wasn't so hard 02:57:02 ok I've sent him an image of this so he knows about it. 02:57:11 so that he doesn't accidentally create redirects unkouwningly 02:57:19 unknowingly* 02:57:23 :-( 02:58:06 incidentally, when you create a new language, it's often worth adding it to categories (see https://esolangs.org/wiki/Esolang:Categorisation) and to the [[e:Language list]] 02:58:11 err, https://esolangs.org/wiki/Language_list 02:58:26 that makes it easier for other people to come across it 02:58:43 which increases the chance that you get comments from other people, implementations, computational class proofs, etc. 02:59:13 if the only places it shows are in Special:RecentChanges (and it stops being recent after a while…) and Special:Allpages, very few people are likely to ever see it 02:59:48 [[Consequential]] https://esolangs.org/w/index.php?diff=55471&oldid=55470 * Xanman12321 * (+44) 03:00:07 [[Consequential]] https://esolangs.org/w/index.php?diff=55472&oldid=55471 * Xanman12321 * (+1) 03:00:49 [[Consequential]] https://esolangs.org/w/index.php?diff=55473&oldid=55472 * Xanman12321 * (+8) 03:01:07 [[Consequential]] https://esolangs.org/w/index.php?diff=55474&oldid=55473 * Xanman12321 * (+0) 03:01:31 [[Consequential]] https://esolangs.org/w/index.php?diff=55475&oldid=55474 * Xanman12321 * (-3) 03:01:37 [[Consequential]] https://esolangs.org/w/index.php?diff=55476&oldid=55475 * Xanman12321 * (-1) 03:01:51 [[Consequential]] https://esolangs.org/w/index.php?diff=55477&oldid=55476 * Ais523 * (-12) site policy: links to userspace must have the "User:" visible 03:31:35 really? 03:31:42 the User: part must be visible? 03:32:07 Wait did you just update your privacy policy?!?! 03:32:42 nah, that's been a policy for years and years 03:32:56 ... 03:32:59 http://esolangs.org/wiki/Esolang:Policy 03:33:04 well I know plently of esolang pages which don't have User: 03:33:19 since 2007: http://esolangs.org/w/index.php?title=Esolang:Policy&oldid=7955 03:33:23 `[[User:Galaxtone|Galaxtone]]` well there goes this. 03:33:23 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: [[User:Galaxtone|Galaxtone]]`: not found 03:33:33 ssh hackeso wasnt talking to you. 03:33:40 right, it's not that enforced because it's easy to miss it 03:33:52 but the point is that we want to separate pages /about/ something or someone from pages /by/ something or somoene 03:34:13 I can write more or less what I like on https://esolangs.org/wiki/User:ais523, but people visiting the page should know that it might be potentially biased or the like 03:34:16 time to go through all my contributions 03:35:05 actually it was policy even before 2007 I think 03:35:33 the Esolang:Policy page started off as observational, i.e. "this is a list of things that people got banned for disobeying even though there were no explicit rules", back when Esolang was pretty much a dictatorship 03:35:38 nowadays we use it as a guide to what the rules are 03:35:47 [[Roie]] M https://esolangs.org/w/index.php?diff=55478&oldid=55458 * Galaxtone * (-10) Just learned it's against esolang "policy" to hide "User:" in user page links. ;-; 03:36:12 well now to apply that to like 5 other pages 03:37:09 [[Seeker]] M https://esolangs.org/w/index.php?diff=55479&oldid=55452 * Galaxtone * (-15) Just learned it's against esolang "policy" to hide "User:" in page links. ;-; 03:37:30 [[Schmuu]] M https://esolangs.org/w/index.php?diff=55480&oldid=55423 * Galaxtone * (-18) Just learned it's against esolang "policy" to hide "User:" in page links. ;-; 03:37:49 [[The Insane Esolang]] M https://esolangs.org/w/index.php?diff=55481&oldid=55420 * Galaxtone * (-10) Just learned it's against esolang "policy" to hide "User:" in page links. ;-; 03:38:14 wait... 03:38:21 Emoji-gramming doesn't show who created the language. 03:47:07 -!- variable has quit (Quit: /dev/null is full). 03:58:21 zzo38: Do you like this? https://www.youtube.com/watch?v=ar9WRwCiSr0 04:04:11 Also I guess that's somewhat on-topic in here. 04:05:42 yo can someone link Brianfukc 04:17:54 oh man 04:17:57 this video is too good 04:48:28 [[Consequential]] https://esolangs.org/w/index.php?diff=55482&oldid=55477 * Galaxtone * (+404) Redid the layout a bit. 04:50:34 Galaxtone: hmm, your friend deleted the end of the article by mistake 05:28:04 -!- arseniiv has joined. 05:29:42 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...). 06:30:43 -!- oerjan has joined. 07:33:44 -!- imode has quit (Ping timeout: 256 seconds). 07:42:49 -!- xkapastel has quit (Quit: Connection closed for inactivity). 07:57:47 -!- oerjan has quit (Quit: Nite). 08:05:20 -!- sebbu2 has joined. 08:07:04 -!- Phantom_Hoover has joined. 08:07:41 -!- sebbu has quit (Ping timeout: 276 seconds). 08:13:36 -!- ais523 has quit (Quit: quit). 09:21:35 [[Special:Log/newusers]] create * Fyr * New user account 09:29:04 -!- wob_jonas has joined. 09:30:18 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=55483&oldid=55456 * Fyr * (+137) 09:31:30 shachaf: no, Rust always had return values from blocks, they were always expressions like do-blocks in perl 09:31:59 shachaf: the new feature is that now you can use a break statement for a bare labeled block, as opposed to just in a while loop with or without a label 09:32:10 and for such a break statement, you can also return a value, which isn't too new 09:32:58 sorry, I mean for a forever loop 09:33:42 it doesn't allow return values for while loops and for loops, for the technical reason that the return value wouldn't be defined if the condition is false the first time in a while loop or there are no iterations on the for loop 09:33:59 but forever loops always have at least one iteration, because they don't start with a condition, so it's no problem there 09:35:15 shachaf: I'd also like to note that my esolang geo has plain blocks and forever loops, and for both you have unconditional and conditional breaks that can deliver a return value for the block, but only for the innermost level, no labels or multi-level breaks 09:36:49 Oh, looks good. 09:37:22 I thought saw an RFC for adding these things to Rust but maybe it was quite old. 09:37:32 and rust has supported multi-level breaks using loop labels for very long, but not through function/lambda boundaries 09:39:05 ruby and mathematica also have values for blocks, with not much difference between statements and expressions 09:40:27 in rust there's some slight difference, as in, you need a brace block (as opposed to just parenthesis) for semicolons or local variable declarations or other declarations, and brace blocks make the lexical scope of identifiers declared inside local into them and gets local variables declared in them destroyed at the end of the block (like C++) 09:41:05 I think I also want possible input values for blocks. 09:41:42 but brace blocks themselves are expressions that you can put anywhere in an expression and have a value, and all the control statements (if, while, for, case, loop) are statements you can put anywhere too (although while and for always return unit) 09:42:41 shachaf: you have those too, if you mean like the limited syntax support for local variables declared in the head condition of an if/while/for like in C++ 09:42:54 I'm not sure what else you mean by input values 09:43:46 Hmm, well, how would you translate { it := for(a); ... } as described earlier? 09:44:03 um... described where? let me check the logs 09:44:56 shachaf: I don't understand the question. can you clarify? 09:45:25 I don't understand it either, exactly. 09:45:57 If you defined a "for" operator that iterates a thing and yields a value to the rest of the block, what code would it turn into? 09:48:30 Maybe something like: { L: Iterator it, end; start: it = a.begin(); end = a.end(); upkeep: if (it == end) break L; goto main; main: { ... }; end: ++i; goto upkeep; } 09:48:41 This is half-C++ 09:49:35 shachaf: in rust, the for loop always returns the unit value (), because that's how it's defined and that's what makes sense when it can have zero iterations. if you want a return value, you use a library method such as map, find, max, sum, fold, ... 09:49:54 Sure, I agree about that. 09:50:11 or you can use a local variable and access it inside a for loop or in the callback of some of those methods 09:50:28 (because lambda magic) 09:51:04 rust has mutable local variables like C++, perl, ruby, scheme, etc, so you can do this easily, unlike in haskell 09:51:27 You can do that but sometimes it doesn't make sense to have an uninitialized variable. 09:51:38 sure, then you can initialize it 09:51:50 or you can use an option 09:52:16 for the fold method, you give an initializer; for the find method, it returns an Option (which is like a Maybe in haskell) 09:53:36 OK, but I'm not talking about Rust. 09:54:24 There's no real reason to talk about C++ iterators either, of course, but they're a reasonable starting point. 09:56:35 shachaf: I think what rust does here is more or less reasonable 10:01:59 For what? 10:04:32 shachaf: for syntax and semantics of loops and statements and expressions, at least in a language that you may want to compile 10:04:48 (as opposed to some fully dynamically typed language that you'll always interpret) 10:05:27 (you know, one like ruby or perl where you can override most builtin ops) 10:09:33 But I specifically want this other syntax and semantis. 10:10:01 It's still all compiled, though, hopefully to equally efficient code. 10:11:04 shachaf: um, but what's the other syntax and semantics you're proposing? 10:14:45 Well, that's what I'm figuring out. 10:15:08 The syntax looks like { x := for(a); ...; } 10:16:09 shachaf: but what would that do? 10:16:22 It would do "for(x : a) { ... }" 10:16:26 ah 10:16:39 For example, I don't know, { i := for(range(n)); j := for(range(m)); if (i < j); print (i,j); } 10:16:51 Each thing affects the rest of the block that comes after it. 10:17:06 I talked about this earlier but probably not very clearly. 10:22:20 makes sense 10:23:35 I think "blocks that have an input" is similar to SSA 10:24:47 Also I guess conditional goto is standard in SSA. 10:25:01 With basic blocks/extended basic blocks and all that? 10:37:49 -!- Galaxtone has quit (Quit: Tis but a scratch). 10:52:40 um, what is "SSA"? 11:32:34 [[Infbf]] N https://esolangs.org/w/index.php?oldid=55484 * Fyr * (+1346) Created page with "'''Infbf''' is an [[esoteric programming language]] by [[User:Fyr]]. It is a derivative of [[brainfuck]] with an infinite-dimensional hypercube tape where each dimension has t..." 11:33:41 [[User:Fyr]] N https://esolangs.org/w/index.php?oldid=55485 * Fyr * (+9) Created page with "[[Infbf]]" 11:37:09 -!- SopaXorzTaker has joined. 12:02:13 -!- xkapastel has joined. 12:40:04 [[Infbf]] https://esolangs.org/w/index.php?diff=55486&oldid=55484 * Fyr * (+200) 12:45:06 -!- variable has joined. 12:55:13 [[Infbf]] M https://esolangs.org/w/index.php?diff=55487&oldid=55486 * Fyr * (+8) 15:39:07 `smlist 464 15:39:07 smlist 464: shachaf monqy elliott mnoqy Cale 15:42:42 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 15:47:39 Cale: Yay 15:54:20 [[Special:Log/newusers]] create * Seigel * New user account 16:01:46 -!- SopaXorzTaker has quit (Remote host closed the connection). 16:07:16 -!- SopaXorzTaker has joined. 16:42:11 -!- erkin has joined. 17:02:26 -!- Melvar has quit (Quit: thunderstorm). 17:19:29 -!- ais523 has joined. 17:25:07 -!- joast has quit (Quit: Leaving.). 17:29:47 -!- Melvar has joined. 17:35:57 -!- joast has joined. 17:39:17 [[Infbf]] https://esolangs.org/w/index.php?diff=55488&oldid=55487 * Fyr * (+88) Added implementation 17:48:24 -!- TIKOALA has joined. 17:49:01 -!- TIKOALA has left. 18:01:40 -!- Naergon has quit (Ping timeout: 260 seconds). 18:03:48 -!- sebbu2 has changed nick to sebbu. 18:47:24 -!- imode has joined. 18:58:16 -!- user24 has joined. 19:05:45 -!- MDude has quit (Ping timeout: 256 seconds). 19:07:27 -!- arseniiv has quit (Ping timeout: 240 seconds). 19:34:32 -!- imode has quit (Ping timeout: 256 seconds). 19:41:24 -!- xkapastel has quit (Quit: Connection closed for inactivity). 20:04:16 -!- sebbu2 has joined. 20:04:19 -!- SopaXorzTaker has quit (Remote host closed the connection). 20:07:59 -!- sebbu has quit (Ping timeout: 276 seconds). 20:38:56 -!- sebbu2 has changed nick to sebbu. 20:39:40 -!- MDude has joined. 21:23:43 [[Infbf]] https://esolangs.org/w/index.php?diff=55489&oldid=55488 * Fyr * (+25) 21:24:24 -!- iconmaster has joined. 22:05:30 -!- heroux has quit (Ping timeout: 260 seconds). 22:06:08 -!- heroux has joined. 22:11:50 -!- iconmaster_ has joined. 22:15:56 -!- iconmaster has quit (Ping timeout: 276 seconds). 22:24:47 -!- xkapastel has joined. 22:28:45 -!- imode has joined. 22:37:00 -!- imode has quit (Ping timeout: 256 seconds). 23:07:57 -!- danieljabailey has quit (Ping timeout: 240 seconds). 23:23:50 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:25:52 -!- user24 has quit (Ping timeout: 260 seconds). 23:38:38 -!- user24 has joined. 23:55:59 -!- iconmaster__ has joined. 23:56:01 -!- oerjan has joined. 23:58:01 -!- friendlyGoat has joined.