00:13:13 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87475&oldid=87467 * PixelatedStarfish * (-85) 00:49:49 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87476&oldid=87475 * PixelatedStarfish * (+130) 00:50:05 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87477&oldid=87476 * PixelatedStarfish * (+2) /* Memory */ 00:52:07 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87478&oldid=87477 * PixelatedStarfish * (+72) /* Broken Truth Machine */ 00:52:23 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87479&oldid=87478 * PixelatedStarfish * (+0) /* Accumulator Test */ 00:54:52 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87480&oldid=87479 * PixelatedStarfish * (+71) 00:56:26 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87481&oldid=87480 * PixelatedStarfish * (+46) 00:56:42 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87482&oldid=87481 * PixelatedStarfish * (-2) 01:00:17 -!- impomatic has quit (Quit: impomatic). 01:00:39 -!- impomatic has joined. 01:04:48 -!- impomatic has quit (Client Quit). 01:05:11 -!- impomatic has joined. 01:12:27 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87483&oldid=87482 * PixelatedStarfish * (+434) /* Grammar */ 01:13:05 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87484&oldid=87483 * PixelatedStarfish * (+0) /* Grammar */ 01:13:37 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87485&oldid=87484 * PixelatedStarfish * (+2) /* Grammar */ 01:13:51 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87486&oldid=87485 * PixelatedStarfish * (+4) /* Grammar */ 01:15:15 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87487&oldid=87486 * PixelatedStarfish * (+68) /* Grammar */ 01:16:50 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87488&oldid=87487 * PixelatedStarfish * (+30) /* Syntax */ 01:17:29 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87489&oldid=87488 * PixelatedStarfish * (+4) /* Broken Truth Machine */ 01:17:42 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87490&oldid=87489 * PixelatedStarfish * (+4) /* Broken Hello World */ 01:18:10 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87491&oldid=87490 * PixelatedStarfish * (+4) /* Accumulator Test */ 01:18:20 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87492&oldid=87491 * PixelatedStarfish * (-4) /* Accumulator Test */ 01:19:21 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87493&oldid=87492 * PixelatedStarfish * (+1) 01:20:09 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87494&oldid=87493 * PixelatedStarfish * (-4) /* Instructions */ 01:20:36 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87495&oldid=87494 * PixelatedStarfish * (+6) /* Grammar in EBNF */ 02:05:45 . o O ( broken preview button ) 02:20:17 -!- impomatic has quit (Quit: impomatic). 02:20:38 -!- impomatic has joined. 02:24:48 -!- impomatic has quit (Client Quit). 02:25:09 -!- impomatic has joined. 03:20:10 -!- spruit11 has quit (Ping timeout: 240 seconds). 03:27:15 -!- spruit11 has joined. 03:33:34 -!- impomatic has quit (Quit: impomatic). 04:30:48 -!- impomatic has joined. 04:32:42 -!- impomatic has quit (Client Quit). 04:48:13 [[Matrixfuck]] M https://esolangs.org/w/index.php?diff=87496&oldid=87390 * Heptor * (+27) 04:48:44 [[Matrixfuck]] M https://esolangs.org/w/index.php?diff=87497&oldid=87496 * Heptor * (-137) /* Implementations */ 04:49:31 [[Matrixfuck]] M https://esolangs.org/w/index.php?diff=87498&oldid=87497 * Heptor * (+1) /* Implementation notes */ 04:50:57 -!- oerjan has quit (Quit: Nite). 04:51:56 [[Matrixfuck]] https://esolangs.org/w/index.php?diff=87499&oldid=87498 * Heptor * (+54) /* Syntax */ 04:53:04 [[Matrixfuck]] https://esolangs.org/w/index.php?diff=87500&oldid=87499 * Heptor * (-825) /* Implementation notes */ 04:53:55 [[Matrixfuck]] https://esolangs.org/w/index.php?diff=87501&oldid=87500 * Heptor * (+111) /* Implementation notes */ 04:58:22 [[User:Heptor]] N https://esolangs.org/w/index.php?oldid=87502 * Heptor * (+62) Created page with "hello i exist if you need me talk to me on discord: @balt#6423" 04:58:31 [[User:Heptor]] https://esolangs.org/w/index.php?diff=87503&oldid=87502 * Heptor * (+1) 06:20:49 -!- src has quit (Quit: Leaving). 07:09:10 -!- impomatic has joined. 07:21:55 -!- impomatic has quit (Ping timeout: 268 seconds). 08:05:13 -!- hendursa1 has joined. 08:07:57 -!- hendursaga has quit (Ping timeout: 244 seconds). 08:33:25 [[Special:Log/newusers]] create * UiOpL4504 * New user account 08:37:00 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=87504&oldid=87457 * UiOpL4504 * (+76) 08:37:46 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=87505&oldid=87504 * UiOpL4504 * (+79) 08:57:22 -!- Sgeo has quit (Ping timeout: 252 seconds). 08:58:36 -!- immibis has joined. 09:29:22 -!- imode has quit (Ping timeout: 250 seconds). 09:55:49 -!- mnrmnaugh has quit (Quit: Leaving). 10:12:25 -!- Koen_ has joined. 12:12:07 -!- arseniiv has joined. 12:12:34 `? password 12:12:37 The password of the month is too long for this irc message 12:13:03 I seem to be back if someone wondered! 13:07:51 -!- arseniiv has quit (Ping timeout: 268 seconds). 13:11:09 wb! 13:11:32 it has been quiet here 13:17:11 -!- src has joined. 13:18:02 -!- arseniiv has joined. 13:33:33 -!- riv has quit (Quit: Leaving). 13:35:17 -!- riv has joined. 13:35:49 -!- riv has quit (Client Quit). 13:59:40 -!- arseniiv has quit (Ping timeout: 268 seconds). 14:08:30 -!- Koen__ has joined. 14:10:52 -!- Koen_ has quit (Ping timeout: 252 seconds). 14:18:27 -!- arseniiv has joined. 14:40:46 -!- delta23 has joined. 15:15:13 -!- arseniiv has quit (Ping timeout: 252 seconds). 15:32:26 -!- arseniiv has joined. 16:02:30 -!- riv has joined. 16:03:38 -!- ais523 has joined. 16:39:40 -!- arseniiv has quit (Ping timeout: 250 seconds). 16:56:41 -!- mnrmnaugh has joined. 16:56:46 -!- mnrmnaugh has quit (Remote host closed the connection). 17:11:56 -!- arseniiv has joined. 17:54:32 [[Special:Log/upload]] upload * Dominicentek * uploaded "[[File:Keyboardsmash numbers.png]]" 17:58:37 -!- Koo has joined. 17:58:42 -!- Koo has left. 18:00:38 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87507&oldid=87495 * PixelatedStarfish * (+180) /* Crash Probability Formula */ 18:01:30 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87508&oldid=87507 * PixelatedStarfish * (+15) /* Crash Probability Formula */ 18:02:58 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87509&oldid=87508 * PixelatedStarfish * (+51) /* Crash Probability Formula */ 18:03:45 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87510&oldid=87509 * PixelatedStarfish * (+8) /* Crash Probability Formula */ 18:06:27 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87511&oldid=87510 * PixelatedStarfish * (-27) /* Crash Probability Formula */ 18:07:02 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87512&oldid=87511 * PixelatedStarfish * (-12) /* Crash Probability Formula */ 18:10:34 Hm. Is it just me, or could Broken Calculator be generalized? It doesn't seem like the underlying deterministic language has constructs which influence crash probability. 18:15:55 it might be interesting to generalize it in a way where you could reduce crash probability rapidly enough that it didn't reach 1 in the limit 18:16:08 Ha, yeah, thinking the same thing. 18:19:00 * APic grins magically. 18:21:57 a magical grin? like that of a Cheshire caRT? 18:21:59 a magical grin? like that of a Cheshire cat? 18:28:07 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87513&oldid=87512 * PixelatedStarfish * (+477) /* Crash Probability Formula */ 18:29:30 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87514&oldid=87513 * PixelatedStarfish * (+56) /* Crash Probability Formula */ 18:30:10 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87515&oldid=87514 * PixelatedStarfish * (-215) /* Crash Probability Formula */ 18:34:56 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87516&oldid=87515 * PixelatedStarfish * (+141) /* Crash Probability Formula */ 19:12:14 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87517&oldid=87516 * PixelatedStarfish * (+1322) 19:12:52 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87518&oldid=87517 * PixelatedStarfish * (-3) /* Instructions */ 19:14:02 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87519&oldid=87518 * PixelatedStarfish * (-151) 19:14:36 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87520&oldid=87519 * PixelatedStarfish * (+42) /* External Links */ 19:15:24 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87521&oldid=87520 * PixelatedStarfish * (+2) 19:15:28 -!- hendursa1 has quit (Quit: hendursa1). 19:15:38 -!- Sgeo has joined. 19:15:55 -!- hendursaga has joined. 19:16:17 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87522&oldid=87521 * PixelatedStarfish * (+32) 19:17:45 [[User:PixelatedStarfish]] https://esolangs.org/w/index.php?diff=87523&oldid=87141 * PixelatedStarfish * (+29) /* Esolangs */ 19:20:07 [[User:PixelatedStarfish]] https://esolangs.org/w/index.php?diff=87524&oldid=87523 * PixelatedStarfish * (+149) /* Broken Calculator */ 19:21:30 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87525&oldid=87522 * PixelatedStarfish * (+24) /* External Links */ 19:21:40 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87526&oldid=87525 * PixelatedStarfish * (+2) /* External Links */ 19:21:47 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87527&oldid=87526 * PixelatedStarfish * (+0) /* External Links */ 19:22:49 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87528&oldid=87527 * PixelatedStarfish * (+68) /* External Links */ 19:22:57 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87529&oldid=87528 * PixelatedStarfish * (+0) /* External Links */ 19:23:05 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87530&oldid=87529 * PixelatedStarfish * (+0) /* External Links */ 19:23:34 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87531&oldid=87530 * PixelatedStarfish * (+0) /* External Links */ 19:25:23 [[Truth-machine]] https://esolangs.org/w/index.php?diff=87532&oldid=87357 * PixelatedStarfish * (+164) /* BRASCA */ 19:36:28 -!- arseniiv has quit (Ping timeout: 252 seconds). 19:42:59 -!- Lord_of_Life_ has joined. 19:43:24 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 19:44:16 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 19:50:30 What's the proper register for talking about this community? I wanted to say something like "our definition contrasts with the other wiki"; how should I say "our" and "the other wiki"? 19:51:55 -!- imode has joined. 19:54:24 I should think that you should mention what other wiki it is. 19:57:36 It's not always English Wikipedia? Which other wikis do we have configured? I'm happy to learn; I'm used to communities where "the other wiki" is always WP. 20:00:08 why not just name it wikipedia? it's clearer and shorter 20:05:48 yeah, esowiki and wikipedia 20:06:19 This isn't a Voldemort situation. 20:07:31 lol 20:09:09 (Which may be the case for some wikis that only exist because Wikipedia deletes the contest for lack of relevance... I think we're in agreement that esoteric programming languages are a fringe topic.) 20:09:18 contest -> contents 20:11:13 [[Functionality]] https://esolangs.org/w/index.php?diff=87533&oldid=87187 * Dominicentek * (-39) 20:12:44 I'm an inclusionist, so I don't really like that way of thinking about things. I think that wiki federation is more about diffusion of power and responsibility, since some topics can require specialized moderation approaches. 20:12:46 I guess we do say "the wiki" for esowiki here. 20:14:13 you don't like calling things by their name? 20:15:20 No, I mean that I disagree with the idea that it's okay for WP to delete lots of stuff, and that fringe wikis should therefore exist. 20:15:34 I have no problem talking about things using commonly-accepted names. I'm asking what those names are! 20:16:16 WP wants to be an online encyclopedia with trustworthy contents. You can't have that and free for all topic selection. Which is fine to me, there's plenty of other venues. So... definitely not my fight. 20:17:16 yeah, I don't want a disambiguation page on wikipedia for "the tin can" - "the tin can is an item that can be picked up in the kitchen of the restaurant in level 54 of some obscure video game" 20:17:54 but if there's a thisobscurevideogame.wiki.org then a "tin can_(item)" page is welcome 20:21:47 -!- chiselfuse has joined. 20:22:32 Going to be polite and assume that y'all have not actually seen how deletionism acts on WP. It's a censorship mechanism used by patrician administrators to avoid culturally-inconvenient topics at best, and to remove entire subcultures at worst. 20:22:58 NGL, your attitudes kind of destroyed my gumption. I'm going to go get some pizza and try again later. 20:25:35 ?! 20:25:35 Maybe you meant: v @ ? . 20:26:03 I guess I'm sorry for not sharing your hostility towards Wikipedia?! This took a really strange turn... 20:31:11 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87534&oldid=87531 * PixelatedStarfish * (+43) /* External Links */ 20:31:33 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87535&oldid=87534 * PixelatedStarfish * (+26) /* External Links */ 20:31:43 int-e: Esolang is at least partially a method of giving somewhere to put esolang articles that are unacceptable for Wikipedia 20:32:11 this arrangement seems, in practice, to be beneficial to everyone involved (Esolang, Wikipedia, and people interested in the language) 20:34:14 [[Broken Calculator]] https://esolangs.org/w/index.php?diff=87536&oldid=87535 * PixelatedStarfish * (+353) 20:36:12 Heh I didn't even know about https://en.wikipedia.org/wiki/Esoteric_programming_language ...obviously one could argue at length about which languages should have the privilege of being listed there 20:37:39 But it has a pretty good list of early and influential ones, I think. 20:42:18 ais523: Anyway, I agree that it's a good arrangement, and my impression is that for the most part, people are happy with it. *shrugs* 20:43:52 this page is awful in so many ways https://en.wikipedia.org/wiki/List_of_programming_languages_by_type 20:44:35 "curly-bracked languages" :D 20:49:34 it's a good arrangement, but I'm also glad that at least a few occasionally chunks of junk get deleted from the esowiki too. I just looked up one of the notorious ones that was there for at least a year, and I'm delighted to see it gone. 20:50:18 trivial brainfuck substitutes? 20:50:22 but the standard is very low 20:50:41 myname: no no, it has to be actively bad to get deleted, not just useless and uninspired 20:55:43 heh, category Uninspired language 20:58:56 https://en.wikipedia.org/wiki/Chinese_BASIC 21:01:27 https://terrytao.wordpress.com/2021/08/19/undecidable-translational-tilings-with-only-two-tiles-or-one-nonabelian-tile/ I probably linked this already 21:03:02 if I take some another language with long arithmetics to implement RASEL, which one should I choose? 21:03:12 looking at https://en.wikipedia.org/wiki/List_of_arbitrary-precision_arithmetic_software 21:04:10 didn't know there are so many llbs for c/c++ 21:04:23 nakilon: what is your goal with the implementation? do you wish it to be fast, or portable and easy to distribute? 21:05:16 b_jonas the goal is speed 21:05:42 speed for usually large numbers, or speed for when the numbers are usually small? 21:05:43 for distribution ruby gem is already good enough 21:05:55 hm 21:06:01 when small 21:08:02 for large numbers, http://mpir.org/ is usually the best (it's forked from GMP and gives mostly the same interface), but its docs recommend you to wrap around it if your numbers are usually small (the original purpose was probably at least partly cryptography, which explains optimizing over large fixed size numbers); alternatives include https://www.boost.org/doc/libs/release/libs/multiprecision/ which 21:08:08 has three backends including GMP, https://www.libtom.net/ which is educational and not too optimized, and https://bellard.org/softfp/ which is Fabrice Bellard's so you know what to expect 21:09:38 oh, and there's also GP/PARI's library I think, plus many language interpreters including Python and Ruby and ghc (for Haskell) come with a bignum library 21:11:38 more or less every high level language has one thrown in these days, though of course sometimes they use one of the previous ones as a backend 21:16:02 I'm thinking about Crystal, C, C#, Zig 21:16:57 I have no idea what Crystal is 21:18:27 it's like Ruby but LLVM 21:18:28 GMP has at least one wrapper to just about any language you can think of from its native C interface, sometimes multiple wrappers 21:18:58 it can be as fast as C basically 21:19:33 the difference from Ruby is that you have to declare types ahead, at least it was like that some years ago 21:20:01 in what way is it like Ruby? 21:20:37 it was the initial idea to have the same syntax 21:22:24 weird 21:26:13 -!- river has joined. 21:29:13 -!- riv has quit (Ping timeout: 268 seconds). 21:33:05 or maybe I should try truffleruby first if it's already usable enough 21:33:25 berry in August? no way. wait for next spring or summer. 21:34:02 https://github.com/kostya/benchmarks 21:41:16 I think most recent practical languages have bignum ability in their standard library or their package manager, although some of the bignum packages are of dubious quality (not in terms of accuracy, but in terms of performance or features) 21:43:24 well yes, if you include package manager, you always find mostly bad packages 21:44:05 "Colobot: Gold Edition - alpha 0.2.0 released yesterday" 21:44:26 the hard part is finding the good packages, and knowing when to give up and just write your own 21:52:04 (and by write your own, I mean write your own wrapper around an existing good quality library obviously, not invent your own wheel for every language) 22:01:15 well, integrating well with the language's type system is often a major feature for me 22:01:18 and that can be hard to wrap 22:02:01 one of my major concerns about Rust's pure-Rust bignum package, apart from the size of bignum objects, is that it's bad at mixing signed bigints and unsigned bigints 22:02:22 yes, it varies a lot 22:02:44 some libraries are trivial to wrap, others are almost impossible 22:03:22 and yes, it depends on the language too 22:06:10 I wonder if the rust type system is now strong enough that you could write a library like eigen (which is in C++) in it, but there's no way you can just do a straightforward port 22:14:19 -!- immibis has quit (Ping timeout: 252 seconds). 22:25:37 -!- hendursaga has quit (Ping timeout: 244 seconds). 22:27:50 -!- hendursaga has joined. 22:56:54 [[Special:Interwiki]] seems disabled somehow? Is there a public list of interwiki prefixes? 22:58:56 -!- Koen__ has quit (Quit: Leaving...). 23:00:08 it might just not be installed? 23:00:12 Corbin: https://esolangs.org/w/api.php?action=query&prop=info&meta=siteinfo&format=xmlfm&siprop=general|namespaces|namespacealiases|interwikimap|specialpagealiases|magicwords 23:00:16 I think we use the default MediaWiki list of interwiki prefixes, though 23:00:25 of which wikipedia: is the only one people use in practice 23:01:04 also, that URL for OEIS looks really odd 23:01:46 Are there any interesting distributed systems sorts of esolangs? 23:01:59 https://esolangs.org/w/api.php?action=query&prop=info&meta=siteinfo&format=xmlfm&siprop=interwikimap should be a list of just the interwikis 23:03:11 I think there may be some languages designed for programming games that run in a distributed sort of way 23:03:23 b_jonas, ais523: Impressive technique. Bookmarked, thanks. 23:03:43 but I can't think of much that works in a delay-insensitive way (which is normally important for distributed programming) 23:04:08 cellular automata are pretty similar to distributed systems, but they typically rely on lock-step to work correctly 23:04:57 incidentally, I was once designing a version of cyclic tag with multiple queues, which effectively ran on different threads, but never got around to finishing it – that was fairly similar to a distributed system 23:05:03 (it was intended to compile into something, but I forget what) 23:05:21 [[Concatenative language]] N https://esolangs.org/w/index.php?oldid=87537 * Corbin * (+1375) Break ground on an important esolang concept which is poorly-handled by existing wikis. 23:06:29 -!- vyv has joined. 23:06:56 Corbin: I agree we need an article about that, but what you've written so far isn't good at expressing the concept – the example isn't even concatentative 23:07:07 the important definition is that program concatenation is function composition 23:07:45 what you're writing about is just composability, which is also important, but there are ways to do that other than being concatenative 23:09:07 hmm, that concatenative wiki is missing Underload, so I'm not sure I can take it seriously [add appropriate emoticon here, I'm not sure which one to use offhand but this sentence feels like it needs one] 23:12:54 ais523: Please be patient; I am writing each section one-at-a-time because I don't like losing lots of progress. 23:13:16 The important definition is the Von Thun one, with monoid homomorphisms, but we have to work up to that. 23:14:03 ah, fair enough 23:14:07 maybe I'd rename "introduction" to "background" 23:15:34 ais523: Yes, I mean asynchronous systems in particular. 23:15:59 Currently working on "classical theory". After that is a yet-untitled section on Von Thun's results, but gently enough to not make people drown in category theory. Finally, I want "modern generalizations" so that I can document interesting stuff unique to our study, like 2D langs. 23:15:59 Including individual node failures and so on. 23:16:55 I think that's a niche enough area that either a) there are no esolangs in that area, or b) every language in that area is automatically an esolang 23:16:59 and I'm not entirely sure which 23:17:07 ais523: Selfishly, I want at least enough on this page so that I could mindlessly tell you whether [[Cammy]] is concatenative. 23:17:09 I went to a neighborhood free book giveaway yesterday and there was a book about categorical type theory 23:17:17 was slightly surprised but not that surprised, this is san francisco 23:17:25 i didn't grab it though 23:17:42 i got a book about digital filter design which was sadly lacking the included 5.25" diskette with source code 23:17:55 now i'll have to type it in from the book 23:18:00 Well, I'd be interested in non-esolangs in that area too, I guess! 23:18:15 "the important definition is that program concatenation is function composition" hmm. is there a terminology for languages where if you concatenate two programs, then the resuling program performs all the side effects (including interactive IO) of the first one, then of the second one, like eg. brainfuck where the tape is not guaranteed to be initialized to zeros? 23:19:00 There's heavyweight terminology, invoking what's known as "native type theory", but if I have to use that then I've probably failed. 23:19:32 shachaf: my previous job was in that area, but it was mostly in terms of implementing things at the library level, and I didn't learn much in terms of languages for the purpose (we were using general-purpose languages, not languages designed for distributed programming) 23:19:32 I'm mostly asking because Consumer society programs can be concatenated like that 23:20:24 b_jonas: I think most imperative languages allow that sort of program concatenation (barring questions about when the main program runs), although it probably isn't unique to imperative languages 23:21:20 the company's aim/thesis/goal was to prove that a special language wasn't necessary for that sort of thing, so we didn't spend that much effort on looking for one 23:21:25 ais523: What sorts of things in that area? 23:21:54 I was implementing the runtime support to allow programs to transparently access data on other machines, call stacks to span multiple machines, etc. 23:22:08 ais523: yes, many imperative languages allow that, though C doesn't 23:22:12 Oh, I see, running unmodified programs. 23:22:15 That sounds tricky. 23:22:16 right 23:23:10 hmm, are there languages which let you define functions multiple times and the definitions get concatenated? that seems like it might be useful for literate programming 23:23:25 Prolog's syntax and semantics would both let you do that, except that there's a specific rule that you aren't allowed to 23:23:41 (I think there might be a pragma to allow it?) 23:23:51 ais523: hmm 23:24:09 interesting idea 23:24:15 Consumer Society can't allow that 23:24:46 but I think there must be some language (possibly esoteric) that's based on hooks or gosub-come-froms that might allow it 23:24:54 what are those called? sub from? 23:25:05 in INTERCAL, NEXT FROM, but I think it's a nonstandard name 23:25:07 no, probably no 23:25:12 if it were a standard name, it would need to be renamed 23:25:26 I'm more interested in programs and semantics that are suited for a distributed environment and take advantage of it than pretending it doesn't exist. 23:26:12 also, if you have two NEXT FROMs aiming at the same line in INTERCAL, the two subroutines run in parallel (and if they both return, the subsequent code runs twice in parallel – this is arguably a bug) 23:27:03 shachaf: I understand; unfortunately I'm not sure I can help because I don't have much experience in that direction, even though I was working in the field 23:27:21 I think there might be some GUI widget libraries where if you register two callbacks to an event, both get called in sequence 23:27:23 I vaguely remember various forms of calculus based on Greek letters other than lambda 23:27:45 oh yeah, I know what I recall this from 23:28:04 https://en.wikipedia.org/wiki/%CE%A0-calculus for example 23:28:09 maybe that would be a good starting point? 23:28:20 -!- V has quit (Ping timeout: 256 seconds). 23:28:34 but, I don't think it's exactly what you're looking for 23:29:33 b_jonas: I think Java works like that, but am not sure, they might run in parallel 23:29:34 One big difference between multithreading on one computer and distributed systems is that failures are expected in the latter case. 23:29:46 I think Pi-calculus types of things don't account for that too much. 23:30:04 if you're using a sufficiently pure language, you can just retry 23:30:28 Well, you might want guarantees of systemwide progress even if any particular node fails. 23:30:32 javascript's https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise can call multiple handlers 23:30:52 you can register a handler, and if you register multiple, they're call called when the promise is fulfilled 23:33:55 also https://nodejs.org/dist/latest-v16.x/docs/api/events.html#events_events can have multiple callbacks 23:34:46 heck, atexit in C can register multiple functions and all of them get called one after the other 23:35:14 but of course that's just one (or a few) stack of callbacks, not any number of user-defined functions behaving this way 23:35:27 Prolog has both assert/assertz and asserta 23:36:02 [[Language list]] M https://esolangs.org/w/index.php?diff=87538&oldid=87462 * PythonshellDebugwindow * (+24) /* B */ Language 23:36:11 and I think you can even inject cases into the middle of a predicate, although that involves more than a simple library predicate call 23:37:59 yeah 23:44:16 Mathematica and I think Maple allows you to define cases for a function in multiple different places of the source code with other definitions in between, the way that would be natural in prolog or perhaps in haskell but is not allowed. in all of these, cases will match by default so another definition won't be tried unless you specifically fail, but that's already true for prolog. 23:44:57 normally the cases are distinguished by different patterns for their arguments, but the pattern matching is powerful enough to do anything including side effects of course 23:46:00 hmm, that's an interesting point; I think Prolog's pattern matching does *not* allow side effects (or indeed function calls generally) 23:46:24 IIRC Rust allows side effects in match guards but not on the patterns themselves 23:46:57 although, pattern matching in Rust is a pain to define formally/comprehensively because the language allows insane definitions of == 23:47:02 ais523: yes, but in prolog you can fail from the body 23:47:09 I don't know if you can fail from the body of a Mathematica function 23:47:14 you probably can 23:47:32 right, I think that's why Prolog doesn't bother with function calls in patterns, because you can retroactively unmatch the pattern later on 23:47:58 ais523: that's more like because prolog also doesn't bother with function calls in expressions 23:48:19 wait, does Rust pattern matching invoke the overloaded ==? 23:48:25 I thought it was only structural 23:48:36 -!- vyv has quit (Quit: Konversation terminated!). 23:49:16 keegan: it doesn't, but the semantics are designed such that you can't use it at the same time as an overloaded == 23:49:17 (plus boolean guards) 23:49:28 to avoid confusion about whether it would invoke it or not 23:49:34 what do you mean 23:49:45 [[Concatenative language]] M https://esolangs.org/w/index.php?diff=87539&oldid=87537 * Corbin * (+2145) Explain the classical and categorical theories. 23:49:52 #[derive(Eq)] implements an unsafe trait that you can't safely implement any other way 23:49:56 and pattern matching needs that trait to work 23:50:04 ais523: but rust now has pattern guards as part of patterns now, don't they? I'm not quite sure, I don't follow what exactly they did there 23:50:13 oh, weird 23:50:15 that must be new-ish 23:50:41 hmm, this is for matching constants only, it seems 23:50:55 matching enum variants, etc., doesn't use Eq and you can use any enum you want 23:51:24 https://github.com/rust-lang/rust/issues/31434 23:52:10 still unstable, so very new 23:52:20 I have been learning Rust in a kind-of weird order, stumbling over parts of it, of various newness, at random 23:52:46 ah 23:53:31 no, I'm wrong. rust added *alternatives* in patterns, but match guards (which can contain arbitrary code to decide if the pattern matches) can still only go to top level, not into patterns 23:54:01 I think right now, my primary languages for writing programs that are intended to do something are Rust and Perl 23:54:10 (it used to be a mix of C and Perl, but Rust has displaced the C) 23:54:19 ais523: LMK how feel I could improve. I need to survey the various langs on our wiki which call themselves concatenative and see if there's anything notable that needs to be discussed or explained. 23:55:03 I think it's probably worth discussing row polymorphism, but I'm not an expert on the subject 23:55:47 (if I understand it correctly, and I might not, it's a way to have typed concatenative stack-based languages using functions that are polymorphic over the unexamined parts of the stack) 23:56:15 although Wikipedia's definition implies it's more general than that, I first came across it in the concatenative contextt 23:56:52 I think the page is in a usable, if somewhat, barebones state at the moment 23:56:57 * usable, if somewhat barebones,