00:06:32 -!- Trieste has quit (Ping timeout: 240 seconds).
00:07:45 -!- Trieste has joined.
01:28:37 -!- Everything has joined.
01:57:13 <esolangs> [[2Deadfish]] https://esolangs.org/w/index.php?diff=91568&oldid=90151 * Squidmanescape * (+18)
01:58:40 <esolangs> [[HQ9+2D]] https://esolangs.org/w/index.php?diff=91569&oldid=89914 * Squidmanescape * (+2)
02:36:20 -!- eli_oat has joined.
02:38:28 -!- delta23 has quit (Quit: Leaving).
02:43:32 -!- eli_oat has quit (Quit: eli_oat).
02:48:14 -!- ais523 has joined.
02:49:01 <ais523> fizzie: I use stalker mode frequently, it's my usual method of reading #esoteric
02:49:52 <ais523> a) because it's a convenient way to see the logs for the last several days (i.e. since i last read it), b) because my IRC client and network connection are both really unreliable so it's a more reliable way to see what people are saying in pseudo-realtime than actually connecting to IRC is
02:50:48 <ais523> oerjan: Uggaman doesn't have the same style as any banned user I'm aware of, I think it's someone new (and probably immature rather than malicious)
02:50:59 -!- FreeFull has quit.
02:51:39 <ais523> languages without control flow are an interesting issue – I get the feeling that esolangs.org has really taken off in the last few years, compared to when it was first created, and lots of people like the idea of making their own programming language but have no real idea how to go about it
02:52:33 <ais523> and, well, for "typical" mass-produced esolangs (think BF derivatives and other things in the same sphere), implementing loops or other forms of control flow is hard compared to anything else you'd likely be doing
02:57:36 <imode> what languages don't have control flow?
02:58:02 <ais523> languages in the Deadfish family
02:58:11 <imode> they aren't TC, then?
02:58:40 <ais523> the complaint is about the spam of languages that are unusable for programming due to having no sort of loop at all
02:59:14 <imode> low-effort non-TC langs not welcome, I take it.
02:59:40 <ais523> well, they aren't banned
02:59:44 <ais523> but they tend to annoy some people
03:00:07 <imode> I know when I'm just browsing, they annoy me because they just aren't worth looking at.
03:00:14 <ais523> if you're interested in TC languages without control flow, there are "implicit loop" languages like cyclic tag (or sequential tag) and Blindfolded Arithmetic
03:01:04 <ais523> hmm, some sort of VHDL-with-bignums could be an interesting language (restricted to the behavioural rather than imperative subset)
03:01:09 <ais523> I don't think there are many behavioural languages out there
03:01:22 <imode> behavioral languages?
03:02:24 <int-e> The whole slew of rewriting based languages (canonical examples: Semi-Thue systems and lambda calculus) have no control flow either, technically. (But they are embedded in an implicit loop that continues rewriting as long as possible.)
03:02:25 <ais523> so the way VHDL's behavioural subset works is, assignments have a time delay and can be done as a consequence of specific other values changing
03:02:46 <ais523> so you can say "when X becomes 0, then after a short time delay, assign 1 to Y"
03:03:01 <imode> ah, rule oriented/trigger oriented.
03:03:06 <imode> yeah, I like those languages.
03:03:08 <ais523> and then executing the language is done by putting a scheduler on all the assignments and letting them trigger each other
03:03:54 <ais523> also you aren't supposed to assign to values more than once at a time (although VHDL actually contains 9-valued booleans for modelling what happens if you do anyway)
03:04:30 <imode> I'm actually exploring some stuff based around tuple spaces.
03:04:41 <imode> that fits into that. but I'm having trouble really getting to the root of it.
03:05:09 <ais523> the "fun" part is that VHDL isn't an esolang, it's actually one of the three main languages for programming FPGAs and ASICs
03:05:40 <imode> mhm. used it extensively. those languages and other rule systems are stupid powerful.
03:05:51 <int-e> There's also interesting "machines" with no "control flow" in data compression: https://github.com/honno/gzip-quine (the original site seems to be gone)
03:07:16 <ais523> I think that gzip quine is one of the few files on my computer that my virus scanner flags
03:07:27 <ais523> because it tries to decompress it recursively during the virus scan, then gets upset
03:07:33 <int-e> it's 20.zip rebooted
03:08:04 <imode> http://okturing.com/src/12884/body
03:08:07 <int-e> (that was the zip file that contained 20 equal zip files, iterated 3 times or so, and then 1MB files full of zeros)
03:08:52 <int-e> (and obviously the solution in virus scanners was to tag that file as malware)
03:09:23 <ais523> it's kind-of obvious that an archive full of identical zip files would compress well
03:09:31 <ais523> the zip quine is much less obvious, although it makes sense
03:10:49 <ais523> hmm, is there a run-length-encoding quine that gives an arbitrary prefix and suffix, for some reasonable run length encoding format?
03:10:58 <ais523> (without, you can just do "2 2" but that doesn't generalize)
03:11:09 <ais523> I guess you need to allow runs of multiple different symbols
03:11:27 <ais523> actually this is probably just resplicate, which is already known TC
03:11:46 <ais523> but one-iteration resplicate, which isn't the same
03:14:25 <int-e> anyway, my point here was that gzip -d implements a weird straight line code machine without control flow, and you /can/ make this interesting (either because you're golfing, usually called compression, or because you actually do something esoteric like writing a quine)
03:14:43 <ais523> huh, apparently Firefox won't now open Haskell source code over HTTP (as opposed to HTTPS) without a warning, in case someone put some malicious code in there by tampering with the network connection
03:14:54 <int-e> so absence of control flow is not sufficient to make things boring :P
03:15:24 <ais523> (it doesn't recognise the file type, so it doesn't know that it isn't going to be executed immediately as a consequence of opening it, but still…)
03:16:02 <ais523> gzip -d *does* have control flow, doesn't it? it's just that it's primitive-recursive
03:16:15 <ais523> (and not primitive-recursive-complete either, it only uses hardcoded iteration counts)
03:16:41 <ais523> so programs are guaranteed to terminate, but that doesn't mean they can't have loops in
03:16:51 <int-e> I never like that this browser sees text/x-haskell and decides that it must be downloaded
03:17:07 <ais523> I think the server is involved in this too
03:17:14 <ais523> but I'm not sure to what extent
03:17:20 <int-e> (I resort to deliverint *.hs as text/plain from my webserver)
03:17:33 <int-e> like https://int-e.eu/~bf3/haskell/NatP.hs
03:17:38 <ais523> I have overrides to text/plain for quite a few source code extensions on my webserver
03:17:44 <int-e> (you can try http too if you like)
03:18:46 <ais523> I'm a little concerned about overuse of https – people often use it for things where there isn't actually a security guarantee, so using TLS as the transport is misleading
03:19:18 <int-e> I don't mind it terribly
03:19:23 <ais523> (also, an https implementation is much more complex than an http implementation, so there's a huge increase in attack surface, and so it's likely to reduce security in some aspects whilst increasing it in others)
03:19:37 <int-e> I mean, it doesn't *hurt*
03:20:07 <int-e> except for that I guess
03:21:20 <int-e> I just don't see how https makes us significantly more secure than http... against state level actors (who are the most likely to be able to mess with http too), seeing all the authorities that browsers trust by default.
03:22:14 <int-e> (of course this is less about TLS and more about PKI)
03:22:50 <ais523> I think there are advantages to https for a) hiding which page on a website you're reading, and b) hiding the content of pages on the website you're reading (maybe they require a login), from other people on the same network as you
03:23:06 <ais523> but these are the only common threat models where https does anything useful
03:24:06 <ais523> oh, also the reverse directions, especially the reverse of b) (i.e. hiding the content that you're sending to a server from other people on your network)
03:24:32 <ais523> it used to be possible to do things like steal people's Facebook passwords by connecting to the same wifi-router as them, until the Facebook login page go moved to https
03:25:38 <ais523> (IIRC they got pressured into moving it to https via a security researcher who released a user-friendly tool for doing this automatically, to as many people as possible…)
03:39:26 -!- ais523 has quit (Quit: quit).
03:53:22 <esolangs> [[Dashes]] M https://esolangs.org/w/index.php?diff=91570&oldid=91558 * DigitalDetective47 * (-255) /* Commands */ Removed mention of Java 17 as definitions of looping commands within the table are sufficient.
04:05:07 -!- Kit has quit (Ping timeout: 268 seconds).
04:07:49 -!- Kit has joined.
04:13:34 <b_jonas> "implementing loops or other forms of control flow is hard compared to anything else you'd likely be doing" => heh heh. my first esolang is technically psz, which has reasonable control flow but absolutely broken syntax, so the parsing is the hardest part and I didn't get it right.
04:14:06 <b_jonas> You can say that I was too young and stupid and that's why I got a lot of things wrong in speccing the syntax, and that's true, but so are those people who submit control flowless languages
04:15:35 <b_jonas> also I find it more annoying the languages that do appear to have control flow, so you can't just dismiss them quickly by reading, but their control flow turns out to be so inadequate that they're not TC for some stupid reason, like that language that's brainfuck with only one level of loop nesting. That wastes more of the reader's time.
04:15:57 <b_jonas> There are like three such brainfuck variants at least.
04:16:39 <imode> man this thing isn't fuckin' TC.
04:17:01 <zzo38> I also dont like that the browser sees text/x-haskell and decides that it must be downloaded, but I managed to use userChrome.js to add a "view source" option to the download menu, and if that doesn't work, can just add "view-source:" in front of the URL.
04:18:05 <zzo38> I also don't like that many things require TLS, although I think it is OK to have it available as an option, for when you want it.
04:20:26 <zzo38> Also, for the MIME types, I had idea making a better format that it can specify any number of file types at once instead of only one at a time, as well as parameters such as code page number and inner formats. (There is a bit similarity to UTI, but different in many ways, including that everything is listed intsead of having inheritance)
04:23:28 <imode> what's a good way to store an unlabeled, undirected graph?
04:23:47 <zzo38> (TLS is good for preventing spies from viewing or tampering with the data, it does not prevent the server operator from doing so.)
04:24:28 <zzo38> (and does not imply that the files downloaded in this way are necessarily safe, either, although it does prevent spies from adding bad things, at least)
04:25:21 <imode> in every idea I can think of, you need to use some unique identifier for the nodes.
04:25:30 <zzo38> (But, I dislike HSTS especially, and also the way that the "secure contexts" feature is working.)
04:26:14 <zzo38> I also don't know how to store a unlabeled undirected graph in a good way; I also know you will need a unique identifier. I also wanted to think of how to do, in order to canonize it so that you can then compare it.
04:26:56 <imode> yeah... I'd like to eliminate the need to keep track of which identifiers are unique.
04:29:55 <imode> seems like any implementation of rewriting over undirected, unlabeled graphs isn't turing equivalent unless you can generate new nodes and edges between those nodes.
04:31:12 <zzo38> Are you allowed to connect a node to itself, and are multiple edges connecting the same pair of nodes allowed?
04:31:32 <fizzie> Turns out I do in fact have a metric for the number of stalker clients connected. Not kept long-term, but for the last two weeks, it's never been more than 1 consecutively, but I guess there's on average one visit per day. So it does get some use.
04:32:29 <zzo38> While there are ways to represent such a graph, I am not sure how to canonize it.
04:36:11 <earendel> firefox won't "open" haskell code?
04:38:53 <esolangs> [[CPL]] https://esolangs.org/w/index.php?diff=91571&oldid=18253 * Squidmanescape * (+26)
04:39:11 <imode> I can't think of a single way of representing this without unique identifiers.
04:39:18 <fizzie> int-e: There's the "Content-Disposition: inline" vs. "Content-Disposition: attachment" response header that's supposed to hint whether a page should be shown or downloaded, but I don't know if that'd be honoured for the "inline" case for text/* content.
04:39:59 <imode> if you use a triangular matrix you're still implicitly preserving the concept of a unqiue identifier by way of indices.
04:40:01 <fizzie> I guess specwise "inline" means "default", so it shouldn't.
04:41:11 <esolangs> [[Waduzitdo]] https://esolangs.org/w/index.php?diff=91572&oldid=78277 * Squidmanescape * (+25)
04:45:29 <esolangs> [[User:Squidmanescape/Unimplemented By Date]] https://esolangs.org/w/index.php?diff=91573&oldid=91478 * Squidmanescape * (+89) Yes.
04:47:08 <earendel> firefox will ask what how to open unknown mimetypes. (it will then only fetch the data..and then open it with a program of your choice) .. a download attribute on links will enforce downloading for otherwise known filetypes.
04:50:05 <esolangs> [[User:Squidmanescape/Languages By Year Which are Neither Implemented Nor Jokes]] https://esolangs.org/w/index.php?diff=91574&oldid=91479 * Squidmanescape * (+89)
04:55:58 <earendel> everyone can see what authorities are trusted by browsers by default. not just the state.
04:58:22 <imode> what is the _simplest_ implementation of a unique identifier.
04:59:03 <fizzie> Is there an enumeration of unlabeled undirected graphs? I imagine there must. So just represent the graph by the index it has in that enumeration. Not exactly a practical choice to work with, though...
04:59:04 <imode> I assume just.. a counter that's incremented every time you need something.
04:59:46 <imode> fizzie: yeah you need to actually unpack that to query/rewrite over it lol.
05:00:06 <fizzie> The address of a thing in memory, in some cases and in some programming languages.
05:00:46 <imode> pointers... eh. that's basically picking random numbers.
05:01:56 -!- oerjan has joined.
05:02:18 <fizzie> Well, except that things often need to have an address *anyway*, so you can't avoid doing it, and then it's there as a unique identifier already.
05:02:33 <imode> what about uniqueness cross-system?
05:03:00 <imode> like, say, over the internet.
05:03:44 <imode> pointers also don't work very well when you have to dump things to disk.
05:05:21 <imode> still doesn't help when I wanna grab someone's graph and graft it on to mine. all the nodes need to be relabeled.
05:05:39 <imode> even though they are.. unlabeled.
05:06:03 <earendel> but that is also just enumeration. every number is unique. that is sufficient, no?
05:07:56 <imode> sorta? if everyone's graph node IDs start at 0, and I wanna just concatenate two graphs together, I need to relabel all nodes.
05:08:18 <imode> probably by starting from the maximum node number from graph A, adding that as an offset to every node number in graph B.
05:08:29 <imode> it's not terribly unique, you need to maintain uniqueness.
05:26:10 <esolangs> [[Project Euler/1]] https://esolangs.org/w/index.php?diff=91575&oldid=90132 * ColorfulGalaxy * (+664) Added AsciiDots and Mathworld
05:43:23 <zzo38> Memory addresses if you need a unique ID only within the current process, can work and is something else I had done before too, both with static and dynamic memory. In the case of dynamic memory, you can have e.g. malloc(1), or malloc(sizeof(int)) or whatever size is needed if you need to keep track of the reference count, or larger if you want to store additional data too.
05:43:34 <zzo38> (Of course, depending what data you will need to store and how much, it may waste memory.)
05:51:12 <esolangs> [[User:Squidmanescape/Languages By Year Which are Neither Implemented Nor Jokes]] https://esolangs.org/w/index.php?diff=91576&oldid=91574 * Squidmanescape * (-1371) Replaced content with "mods please delete this page"
05:55:29 <imode> all falls apart cross-system.
05:55:52 <imode> pointers don't go past a single system
05:57:20 <zzo38> Yes, it doesn't work cross-system; it is only working for internal use within a single process.
05:58:43 <zzo38> (Although, I had seen some file formats which will write out the internal memory addresses to a file, and then when it reads them back in later will make a list of which ones match and don't match and then will automatically update them to the new memory address where they are at.)
06:00:35 <esolangs> [[(top, height)]] https://esolangs.org/w/index.php?diff=91577&oldid=91075 * Squidmanescape * (+118)
06:03:48 <esolangs> [[Generic 2D Brainfuck]] https://esolangs.org/w/index.php?diff=91578&oldid=90632 * Squidmanescape * (+387)
06:06:39 <esolangs> [[Brainfuck extensions]] https://esolangs.org/w/index.php?diff=91579&oldid=77888 * Squidmanescape * (+52)
06:23:53 <esolangs> [[Special:Log/delete]] delete * Oerjan * deleted "[[User:Squidmanescape/Languages By Year Which are Neither Implemented Nor Jokes]]": Author request: content was: "mods please delete this page", and the only contributor was "[[Special:Contributions/Squidmanescape|Squidmanescape]]" ([[User talk:Squidmanescape|talk]])
07:07:08 <esolangs> [[Countup]] https://esolangs.org/w/index.php?diff=91580&oldid=53335 * Squidmanescape * (+55)
07:08:27 <esolangs> [[Countdown]] https://esolangs.org/w/index.php?diff=91581&oldid=82637 * Squidmanescape * (+25)
07:17:08 -!- earendel has quit (Quit: Connection closed for inactivity).
07:23:53 <esolangs> [[Countdown]] https://esolangs.org/w/index.php?diff=91582&oldid=91581 * Squidmanescape * (+98)
07:30:06 <esolangs> [[Countup]] https://esolangs.org/w/index.php?diff=91583&oldid=91580 * Squidmanescape * (+18)
07:35:01 <esolangs> [[User:Squidmanescape]] https://esolangs.org/w/index.php?diff=91584&oldid=91464 * Squidmanescape * (-141)
07:35:37 <esolangs> [[User:Squidmanescape/Unimplemented By Date]] https://esolangs.org/w/index.php?diff=91585&oldid=91573 * Squidmanescape * (+42) /* 2015 */
07:59:21 -!- tromp has joined.
08:09:52 -!- earendel has joined.
08:14:09 <esolangs> [[User:Yeetb01]] M https://esolangs.org/w/index.php?diff=91586&oldid=90599 * Yeetb01 * (+31)
08:22:14 <riv> it is generative art january
08:24:13 <riv> https://oeis.org/A085735
08:28:30 -!- Sgeo has quit (Read error: Connection reset by peer).
08:37:29 <esolangs> [[Special:Log/newusers]] create * Milkman * New user account
08:41:24 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=91587&oldid=91534 * Milkman * (+152) /* Introductions */
08:42:27 <earendel> i don't know what he's talking about. redirection from http to https is of course 1 step too late. so it has to either be enforced by the client. a fucking 1 liner. or just don't.
08:42:42 <riv> fuckikng hate redirection
08:43:01 <riv> hate https too
08:43:04 <riv> annoying as hell
08:47:38 <earendel> that false ais guy didn't even mention authentification.
08:48:22 <riv> false ais...
08:48:34 <riv> we need better truth machines
08:48:56 <riv> oh devised by User:Keymaker
08:51:12 <riv> my joke failed
08:51:33 <riv> why did you say "what"?
08:52:38 <Corbin> Do coproducts count as control flow?
08:52:59 <earendel> why do you bring up another sock now
08:54:51 <Corbin> riv: Then I politely assert that control flow is an illusion, as it's not necessary for Turing-complete behavior.
08:55:36 <riv> to execute lambda you need control flow, but it can be lazy or strict
08:55:48 <earendel> its when you have conditional execution paths
08:55:58 <Corbin> For example, a Wang tiling has no control flow. There are implicit choices (which location to place a tile, which tile to place) but those choices are structured as a coproduct.
08:57:08 <esolangs> [[GibMeRol]] N https://esolangs.org/w/index.php?oldid=91588 * Milkman * (+590) Created page
08:57:39 <Franciman> Corbin: is control flow necessary in order to have a universal turing machine?
08:57:40 <earendel> lets make it simpler: you have a bunch of letters and symbols. in some order.
08:57:49 <Franciman> or in the case of wang tiling, a universal wang tiling method
08:58:17 <riv> wang tiles are crazy
08:58:19 <Corbin> earendel: Heh, the Post correspondence problem? Yeah, that'd work in 1D.
08:58:25 <riv> how the hell is that turing complete
08:59:05 <earendel> letters and symbols in some order?
08:59:07 <Corbin> Franciman: I'm genuinely not sure. I *just* came up with this idea; it's probably bogus.
08:59:43 <esolangs> [[GibMeRol]] https://esolangs.org/w/index.php?diff=91589&oldid=91588 * Milkman * (+125) added reason why language was created
09:00:16 <earendel> stop spamming around.im not very impressed.
09:01:21 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=91590&oldid=91543 * Milkman * (+15) /* G */
09:03:27 -!- ircs has joined.
09:04:12 <riv> The matrix 4
09:05:32 <earendel> what networks do they connect?
09:07:19 <earendel> so. what was so complicated about rewriting all addresses to https on the fly?
09:08:15 <esolangs> [[GibMeRol]] https://esolangs.org/w/index.php?diff=91591&oldid=91589 * Milkman * (+17)
09:10:40 <riv> earendel: jklasdfklajfkajlsdjklflkaf
09:14:45 <earendel> is there something like ASLR for linux?
09:16:19 <riv> it has ASLR
09:16:20 <esolangs> [[User:Milkman]] N https://esolangs.org/w/index.php?oldid=91592 * Milkman * (+412) Created page with "Hello! My name is James and I am a fan of writing low level stuffs and am currently writing my own OS which you can view on [https://github.com/jamesray23114/Aozora-OS github]..."
10:19:11 -!- wib_jonas has joined.
10:19:32 <wib_jonas> I looked at https://logs.esolangs.org/libera-esolangs/ and quickly got surprised because it shows only four days. New year is always weird
10:20:55 <riv> what's weird about that
10:21:19 <riv> does that only happen on january?
10:21:26 <wib_jonas> fungot: is control flow necessary in order to have a universal turing machine?
10:21:26 <fungot> wib_jonas: or then have two c++ functions, one for artist, one for meta, one for each line in the comment
10:22:33 <Corbin> fungot: products or coproducts?
10:22:33 <fungot> Corbin: fnord/ fogbugz/ fnord/ projects/ tango/ wiki/ fnord fnord
10:22:50 <fizzie> The default index is paginated by year, so yes, it only looks short in January.
10:30:35 -!- Lord_of_Life_ has joined.
10:30:45 -!- oerjan has quit (Quit: Later).
10:31:17 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
10:31:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
10:58:48 -!- ais523 has joined.
10:59:02 <ais523> I just learned about COBOL's ALTER statement: https://www.ibm.com/docs/en/cobol-zos/4.2?topic=statements-alter-statement
10:59:16 <ais523> and immediately had to log on to #esolangs and tell everyone about it
10:59:37 <ais523> this is the sort of thing I'd normally only expect to see in INTERCAL
10:59:43 <riv> are you sure this is COBOL and not INTERCAL
11:00:07 <riv> wow, I thought COME FROM was supposed to be a joke
11:00:28 <ais523> but this is of a comparable level of insanity, from a modern programmer's point of view
11:00:44 <Corbin> ais523: This is the point at which I realized that I was, in fact, *not* interested in making money writing code.
11:01:08 <ais523> (for the benefit of anyone logreading and who doesn't want to follow the link: ALTER modifies the program that contains it by rewriting the target of a GO TO to go to some other line)
11:01:22 <riv> That is completely wild
11:01:54 <Corbin> (The main reason COBOL programmers know about ALTER is so that they know how to remove it from legacy code with incremental refactoring.)
11:02:10 <ais523> I do get the strong feeling it's discouraged nowadays :-)
11:02:20 <ais523> I didn't know you were a COBOL programmer, though
11:02:22 <riv> Corbin: please get a COBOL job and change your name to Coblin
11:02:49 <Corbin> No, I only learned about half the language. I get the appeal of structured records; I still like protobuf, Capn Proto, etc. But the control flow is bonkers.
11:03:43 <ais523> I think of COBOL as being a precursor to SQL
11:04:05 <ais523> all the data-handling stuff (which COBOL is good at) was moved to dedicated databases, all the everything else was replaced by saner languages
11:06:10 <ais523> huh, I wonder if INTERCAL's ABSTAIN was inspired by COBOL's ALTER
11:06:20 <ais523> there can't be many cases in which data is stored in the code rather than in the data
11:07:44 <Corbin> Kind of surprised that INTERCAL doesn't just have ALTER. I could imagine PLEASE ALTER LABEL foo TO COME FROM bar.
11:08:11 <riv> we need to add it
11:08:14 <ais523> INTERCAL isn't supposed to have any features from any other language
11:08:31 <ais523> so existing in COBOL (which was one of the sources) would immediately rule it out
11:08:43 <ais523> interestingly, some INTERCAL features subsequently turned up in other languages
11:08:49 <riv> btw ais523 apparently there is a false ais
11:09:18 <ais523> most notably, INTERCAL's "select" operator subsequently ended up getting added to the x86-64 instruction set (where it's known as "PEXT")
11:11:19 <ais523> they also added an inverse ("PDEP") which can be used to implement mingle, although not in a single instruction
11:14:47 <ais523> Corbin: incidentally, CLC-INTERCAL does have a method of replacing one *type of statement* with another, as long as they take the same types of arguments in the same order
11:15:03 <ais523> I forget what it's called, but you can, e.g., replace all ABSTAIN statements with REINSTATE statements
11:15:25 <ais523> I've never found a use for it, but I don't write much CLC-INTERCAL
11:17:46 <ais523> looks like COBOL has a few other fun features too, but I haven't found something on the level of ALTER
11:18:38 <ais523> it allows a contiguous set of struct fields to be interpreted as a new struct, even if they don't obey the usual nesting behaviour, which is a bit weird
11:19:23 <ais523> e.g. you can have the equivalent of C's struct { struct { int a; int b; }; struct { int c; int d; }} and create a field that's a structure containing the b and c fields
11:21:18 <Corbin> The original inspiration for COBOL structured records was bureaucratic forms. It's a common pattern on those forms to need to take multiple different fields, sometimes from different sections, and aggregate them into a pseudo-section.
11:21:41 <ais523> right, this probably also explains why data types are described via their formatted string representation
11:22:31 <ais523> like, you don't define "number" but "number left-padded to five digits with spaces
11:22:53 <ais523> although the implication is that this only affects I/O and the number is actually just a number internally
11:23:00 <Corbin> Yeah. And then when you manipulate the number, you can (optionally?) specify the rounding mode and sigfigs.
11:23:36 <ais523> ooh, apparently everything is stored as a string by default (in which case the format would matter) but there's an option to store in binary and convert for I/O
11:24:14 <Corbin> Gotta wonder what the hardware was like back then. COBOL predates IEEE 754; I have literally no idea how stuff was stored.
11:24:52 <ais523> based on the defaults and history of the language, I'm guessing the first couple of versions stored everything as strings just to be able to get something working
11:25:03 <ais523> and then more optimized ways of doing things were retrofitted later
11:27:01 <Corbin> Maybe. But having been in the industry for a bit, I could also imagine that COBOL was seen as the portable interface, and each COBOL compiler emitted machine-specific number-handling code.
11:27:29 <ais523> COBOL was intended to be/become a portable language, but was originally written in a hurry and had to be somewhat redone
11:27:49 <ais523> huh, you can call a range of procedures that are consecutive in the source code
11:27:59 <ais523> I guess that's consistent with the structs
11:27:59 <Corbin> Interesting, TIL. I don't know much about the early history other than the famous Grace Hopper folklore.
11:29:16 <ais523> but trying to produce a language which allowed for portable programs seems to have been the main motivation
11:30:17 <ais523> …you can write the equivalent of BASIC's ON ERROR RESUME NEXT in COBOL
11:30:28 <ais523> presumably it hadn't been discovered to be a bad idea yet
11:36:07 <Corbin> Huh, how would that be done? It would take a whole paragraph, I think. It provides a fitting little path from COBOL to BASIC to PHP, the same idiom with less code each time.
11:38:11 <ais523> right, you have to write an exception handler, and those things have divisions of their own
11:38:33 <ais523> or, not a division, it's a subdivision of the procedure divisoin
11:38:40 <ais523> called "DECLARATIVES", apparently
11:39:35 <ais523> you can also longjmp out, which is simultaneously less confusing and more confusing because you simply say where you're jumping to, not how to unwind the stack (this probably only works because COBOL didn't support recursion at the time…)
11:41:45 <Corbin> Yeah, AFAICT there was not a serious plan for how to implement an OS or even a time-slicer in COBOL. Again, this might be historical ignorance; I don't think the idea of systems programming was a thing yet.
11:43:13 <ais523> the reason I was looking up COBOL in the first place was because I was reading a discussion about the first OS to be implemented in something other than assembly language
11:43:45 <ais523> and apparently it was written in PL/I, which postdates COBOL and borrows a lot of syntax from it (including ALTER, apparently), it's basically a cross between COBOL and FORTRAN
11:46:52 -!- u0_a391 has joined.
11:50:49 -!- Kit has quit (Ping timeout: 256 seconds).
11:54:39 <wib_jonas> computed COME FROM is a joke. ordinary COME FROM is just weird syntax.
11:55:04 <ais523> no, ordinary COME FROM is also a joke
11:55:54 <ais523> the history's at https://en.wikipedia.org/wiki/COMEFROM
11:56:01 <wib_jonas> ais523: does ALTER work in a way that you can tell in compile time which goto statements may need to be modified, and which target labels they can point to?
11:56:10 <wib_jonas> because if so then it's not too bad
11:56:52 <wib_jonas> then it's just ordinary COME FROM plus ABSTAIN FROM level syntax, not computed COME FROM or computed ABSTAIN
11:57:22 <ais523> wib_jonas: yes, but you'd have to scan the entire source code to find what modifications could be made
11:57:52 <ais523> (also, apparently many COBOL implementations did actually implement it with self-modifying code rather than a jump table)
11:58:00 <wib_jonas> "I get the appeal of structured records" => we have SQL instead of them now, don't we?
11:59:00 <ais523> I think SQL has taken over as the most mainstream language for doing the things that COBOL was good at
11:59:10 <Corbin> wib_jonas: Think protobuf-style programming with big data. Say, processing video files. It's a structured record, and one of the fields happens to be way too big to fit into address space, but you can still iterate over the rest of the record and manipulate it.
11:59:47 <wib_jonas> Corbin: INTERCAL can't have ALTER, it would make subroutine returns too easy.
11:59:54 <ais523> although, in a way, SQL's control flow is even worse than COBOL's (it's TC, at least in common implementations, but normally inadvisable to write large programs in it – normally it's used as a DSL for programs in a saner language)
12:00:07 <ais523> wib_jonas: NEXT … RESUME #1 is incredibly easy as it is
12:00:21 <ais523> it's like the only form of control flow in INTERCAL that's actually sensible
12:00:46 <ais523> I suspect this was implemented in such an easy way so that the standard library would work, making it possible to actually do things like addition
12:01:18 <ais523> ooh, a computed RESUME-alike is apparently possible in PHP (something I discovered quite recently)
12:01:26 <ais523> you can use a computed break statement that breaks out of a variable number of loops
12:04:05 <wib_jonas> "huh, you can call a range of procedures that are consecutive in the source code" => yes, https://esolangs.org/wiki/User:Zzo38/Programming_languages_with_unusual_features#COBOL mentions that
12:08:14 <ais523> I'd read it before, but hadn't appreciated the implications
12:09:23 <wib_jonas> perhaps the people who invented the language were used to programming in machine code in a non-reentrant way where modifying code for indexing or indirect jumps was common
12:10:33 <ais523> COBOL didn't support recursion for ages
12:11:11 <ais523> in fact, the semantics of a procedure call appear to be indistinguishable from "inject a command to goto the next line at the end of the procedure, jump to it, then remove the injected command upon returnign"
12:11:33 <ais523> (this is observable if you attempt to call procedures recursively)
12:11:44 <ais523> this makes me think that it was originally actually implemented like that, rather than using a stack
12:12:13 <ais523> (probably with the goto there permanently, just going to the next procedure in sequences so that range-calls worked)
12:15:47 <wib_jonas> ais523: I was recently looking at the https://esolangs.org/wiki/Apollo_Guidance_Computer , and its instruction set seems modern in that it lets you do any indexing or indirection without self-modifying code, in multiply ways. This is probably because the code usually lives in a ROM, which is much bigger than the RAM because of hardware constraints,
12:15:47 <wib_jonas> though it can actually execute programs in the RAM with only a few limitations.
12:16:20 <ais523> IIRC computers in space are very vulnerable to bitflips
12:16:37 <ais523> and executing from RAM would be dangerous in that context, as just about anything might happen if a bitflip hit a command before it was about to execute
12:16:45 <ais523> so allowing as much as possible to be done in ROM would be safer
12:18:54 <wib_jonas> Sure, not just bitflips but a stray pointer could overwrite something in RAM, since they have arbitrary indexing (not quite since the RAM too is bank-switched). But I still think it's mostly that the ROM is much larger capacity, because the same capacity takes less physical space and mass.
12:19:36 <wib_jonas> But allowing to execute from the RAM still makes sense because they may want to change something in the program when it's too late to redo the ROM.
12:22:05 <ais523> right, it could be a method of recovering from bugs in the program
12:24:19 <wib_jonas> And IIUC some constant parameters of the mission are stored in the RAM, probably because they're too late to write to the ROM, eg. determined shortly before launch, though these are probably only data rather than code.
12:24:45 <ais523> I wonder how NASA's ROMs are programmed
12:24:54 <Corbin> Right. The ROM was hand-verified but had to be hand-packed: https://en.wikipedia.org/wiki/Core_rope_memory
12:25:20 <ais523> I was wondering if it was something more hardwired than fusible-link
12:25:36 <wib_jonas> ais523: it was hardwired, with something like a knitting machine,
12:25:50 <wib_jonas> weaving wires inside or outside rings depending on the value of each bit,
12:26:31 <wib_jonas> where there's several wires per ring so when a ring is activated with x and y address lines, a whole word is read simultaneously
12:26:38 <esolangs> [[HellLang]] N https://esolangs.org/w/index.php?oldid=91593 * Milkman * (+8167) created page and added a lot of data, will work on it later
12:27:53 <wib_jonas> sending the two address lines together flips the magnetism in the large core ring, only in this case the magnetism of the core ring itself doesn't store the data, instead when you flip it, that induces current in those among the sense lines that are woven inside that ring and not the other sense lines, so you read a word that way\
12:28:33 <wib_jonas> it somehow comes out as more space efficient than core memory which stores only one bit per ring, though I don't understand how,
12:28:40 <ais523> oh wow, so it's like regular magnetic core memory, but some of the cores are missing entirely
12:28:54 <ais523> and you find out if the core is there by trying to write it and seeing if anything happens
12:29:20 <wib_jonas> because IIUC the rings for the core rope are much larger, and that should more than cancel out the increased number of bits per rings
12:29:31 <ais523> "normal" magnetic core memory is kind-of finicky, the original implementation required four wires through every core (but it was golfed down to three at some point)
12:29:53 <ais523> and it relies a lot on using currents that are only just strong enough to flip a ring if added together, so that you were only affecting a single ring
12:29:58 <wib_jonas> ais523: yes, but this way you get more than one bit per ring in a core rope, which isn't really possible in core memory
12:30:11 <ais523> with this ROM version, you can just flip an entire line as strongly as you like and you won't do any damage
12:31:07 <ais523> it's possible you don't even need a sense line – just flip the vertical address lines and see which of the horizontal address lines respond
12:31:19 <wib_jonas> basically integrated circuits were really new at the time, and only had a few transitors per package, so it was kind of a risky decision to use them as logic in the AGC, and it contributed to hastening the integrated circuit industry
12:31:53 <wib_jonas> and because of this, IIUC there are zero flip-flops made of transistors in the computer, so even registers use core memory, thoguh probably simpler core memory with no separate x and y addressing
12:32:00 <ais523> oh I see, a fusible-link ROM needs some sort of diode to prevent the links just connecting all the wires to each oher
12:32:23 <wib_jonas> though also IIUC there are also some bits stored in relays, but that's more about the IO devices than the CPU
12:33:26 -!- oerjan has joined.
12:33:52 <wib_jonas> ais523: yes, and so would a keyboard if you would want to allow to sense any set of keys pressed together completely at the same time, but that is expensive so most keyboards just don't handle that quite correctly, and the electronic is fast enough that you usually don't press keys quite at the same time, and they put the keys to the right rows and
12:33:53 <wib_jonas> columns that in practice this doesn't cause problems
12:35:25 <ais523> when I was younger, pressing too many keys at once on the keyboard would cause the CPU speaker to beep
12:35:41 <ais523> or, motherboard speaker, I don't think it's actually on the CPU
12:36:02 <ais523> I assumed this was because there were too many keys being pressed for the keyboard to reliably read them all
12:36:29 <wib_jonas> and IIUC in the 80s, that's why ROM chips cost money each time you change the content, but it was cheap to make many copies once the content was fixed, because the ROM ICs are made with a photographic method similar to PCBs now, only there the mask sets not just wires but transistors too\
12:37:30 <wib_jonas> but since magnetic and optical disks sucked, it was still worth to make lots of ROMs for software
12:38:01 <ais523> we've had reprogrammable ROMs for a while, but it wouldn't surprise me if fixed-content ROMs were still cheaper in sufficiently large quantities
12:38:57 <wib_jonas> ais523: I believe this issue got solved *before* non-small reprogrammable roms got cheap enough, because RAM became cheap enough that you could load most of the program from a magnetic or optical disk to RAM and then it was fast
12:39:46 <ais523> but even nowadays games have massive loading times
12:40:10 <esolangs> [[Apollo Guidance Computer]] M https://esolangs.org/w/index.php?diff=91594&oldid=90645 * Corbin * (+10) /* Hardware */ Rearrange some sentences and add a link to WP.
12:42:07 <wib_jonas> ais523: yes, but that's because the size of the games expanded as graphics cards became more capable; plus I hear that on the Nintendo Switch, games load slow if you load them directly from the external SD card that they're sold on, but fast if you install them from the SD card to the internal SSD
12:42:34 <ais523> right, consoles have internal SSDs nowadays in order to try to reduce loading
12:42:51 <wib_jonas> or internal hard disk, I don't really know, it's irrelevant\
12:43:04 <wib_jonas> the point is that the SD card that the game is sold on can be slow to reduce costs
12:43:13 <ais523> I actually stopped buying consoles at around the time they gained complex operating systems
12:43:25 <ais523> to me the advantage was that the console only plays which game is inside it and isn't otherwise stateful
12:43:35 <wib_jonas> and you should just install games to the internal storage. that's limited by the internal storage's capacity, but you can uninstall games so it's not a big problem.
12:43:43 <ais523> and if the console is going to start being stateful I may as well just use a PC
12:44:10 <wib_jonas> the only console I own is half of two Game Boys
12:44:54 <wib_jonas> (though of course my PC can emulate more old consoles if I download the right software)
12:45:51 <ais523> actually this was also about the same time that games started seriously adding more online features, which also drove me away from them
12:47:23 <wib_jonas> ais523: around what console are you talking about?
12:50:07 -!- u0_a391 has changed nick to Kit.
13:01:27 <esolangs> [[HellLang]] https://esolangs.org/w/index.php?diff=91595&oldid=91593 * Milkman * (+160) /* Language overview */
13:08:27 <esolangs> [[HellLang]] M https://esolangs.org/w/index.php?diff=91596&oldid=91595 * Milkman * (+36) /* Language overview */
13:11:23 <esolangs> [[HellLang]] M https://esolangs.org/w/index.php?diff=91597&oldid=91596 * Milkman * (+140) /* Scopes */
13:12:03 <esolangs> [[HellLang]] https://esolangs.org/w/index.php?diff=91598&oldid=91597 * Milkman * (+68) /* Language overview */
13:13:40 <esolangs> [[HellLang]] M https://esolangs.org/w/index.php?diff=91599&oldid=91598 * Milkman * (+24) /* Scopes */
13:21:49 -!- oerjan has quit (Quit: Later).
13:39:33 -!- tromp has quit (Read error: Connection reset by peer).
13:51:35 -!- ais523 has quit (Quit: quit).
13:54:16 -!- monoxane has quit (Quit: Ping timeout (120 seconds)).
13:54:42 -!- monoxane has joined.
14:09:07 <esolangs> [[Typespam]] https://esolangs.org/w/index.php?diff=91600&oldid=73809 * Kaveh Yousefi * (-17) Corrected the Hello World example which would not print the character o and omitted the space betwixt the two words, and improved the example's formatting.
14:11:16 <esolangs> [[Typespam]] https://esolangs.org/w/index.php?diff=91601&oldid=91600 * Kaveh Yousefi * (+271) Added a cat program example and a hyperlink to my implementation on GitHub, and changed the tag Unimplemented to Implemented.
14:12:01 <esolangs> [[Tic Tac Toe]] https://esolangs.org/w/index.php?diff=91602&oldid=91498 * Kaveh Yousefi * (-2) Changed the category tag Unimplemented to Implemented.
14:13:41 <esolangs> [[Typespam]] M https://esolangs.org/w/index.php?diff=91603&oldid=91601 * Kaveh Yousefi * (+8) Changed the title and hyperlink of the Cat section to Cat program.
14:14:01 -!- tromp has joined.
14:27:47 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:34:15 -!- Sgeo has joined.
14:57:43 -!- tromp has joined.
15:09:11 -!- earendel has quit (Quit: Connection closed for inactivity).
15:15:55 -!- ircs has quit (Read error: Connection reset by peer).
15:28:42 -!- Everything has quit (Quit: leaving).
16:19:12 <esolangs> [[Special:Log/newusers]] create * T3RRY * New user account
16:22:35 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=91604&oldid=91587 * T3RRY * (+164) /* Introductions */
16:40:57 <riv> half of two Game Boys?
16:41:32 <riv> why not get 1 whole one? I think that will work better
16:47:15 <wib_jonas> riv: Two Game Boys that me and my brother got when we were children, so I and my brother own them shared. It's not defined which one is whose, and if one breaks (though this is unlikely now) then we'll both own half rather than one of us own one and the other zero.
16:47:53 <wib_jonas> The carts do have a nominal owner though, and I have the better ones.
16:49:07 <esolangs> [[Template:Infobox proglang]] M https://esolangs.org/w/index.php?diff=91605&oldid=87037 * PythonshellDebugwindow * (+49) Add Category:Languages as includeonly to autocategorize languages with this template as languages
16:49:59 <riv> ahh that makes sense
16:50:07 <riv> i have 3 gameboys i think, one is color
16:50:20 <riv> they seem good for messing with the hardware but i never did any mods
16:50:28 <riv> like changing the battery, or adding lights
16:50:50 <esolangs> [[HellLang]] M https://esolangs.org/w/index.php?diff=91606&oldid=91599 * PythonshellDebugwindow * (+32) Add category, WIP
16:55:21 <wib_jonas> I don't care about the Game Boys themselves except as a means to verify that the carts works. I have a todo for more than a year to replace the batteries in the carts that have them, to avoid corrosion, since the carts are like 25 years old now. I've even bought replacement batteries more than half a year ago.
16:55:47 <riv> why do you care that carts work?
16:56:21 <wib_jonas> I want to preserve the carts, and the Game Boy lets me test that I replaced the battery correctly.
16:56:34 <riv> the roms have been dumped probably
16:56:51 <wib_jonas> but I feel like the carts should be preserved anyway
16:57:09 <wib_jonas> and replacing the battery every few decades is an easy and cheap enough way to do that
16:57:42 <wib_jonas> none of these carts with batteries are particularly rare, so yes, the roms have been dumped (the less common carts have no battery that is)
17:02:16 -!- u0_a391 has joined.
17:05:57 -!- Kit has quit (Ping timeout: 240 seconds).
17:10:08 <fizzie> I own the entirety of one Game Boy, and maybe 4-8 game cartridges for it.
17:10:22 <fizzie> Hypothetically, anyway. I'm not 100% sure where it is.
17:11:23 <Corbin> riv: Libraries of ROMs come from people who want to preserve their carts.
17:11:27 <wib_jonas> I'm also not sure where one of the two Game Boys that I halfway own is. But one that I halfway own \is enough.
17:11:44 <wib_jonas> Luckily I do seem to have all the carts, or maybe all but one.
17:12:24 <wib_jonas> Corbin: yes, though those are the carts where preserving is easier because there's no battery in the cart
17:13:08 <fizzie> I think I had Super Mario Lands 1 and 2, a tennis game, that one balloon game, the Duck Tales game, Tetris, that Qix game, and maybe a golf game.
17:13:18 <wib_jonas> (If you live in Europe and want to ROM dump Game Boy Tetris Blast and have the equipment for it, feel free to contact me.)
17:13:35 <wib_jonas> fizzie: what's the one balloon game? Bubble ghost?
17:14:08 <fizzie> The one where you're a person (a girl?) floating with two balloons, and then you can pop one and get by with one, and maybe even if that pops you might continue with some platforming perhaps.
17:14:37 <wib_jonas> I've never heard of that, but the internet has.
17:16:19 <fizzie> I do own a DS Lite as well, and that one I know where it is. Those are the only two consoles I've owned. Assuming handhelds count.
17:22:07 -!- u0_a391 has changed nick to kit.
17:27:59 -!- wib_jonas has quit (Ping timeout: 256 seconds).
17:38:08 <esolangs> [[User:PixelatedStarfish]] https://esolangs.org/w/index.php?diff=91607&oldid=91549 * PixelatedStarfish * (+46) /* Unimplemented Languages */
17:44:12 <esolangs> [[Fetus]] N https://esolangs.org/w/index.php?oldid=91608 * PixelatedStarfish * (+378) Created page with "[[Fetus]] is a [[Starstuff]] language. It uses a [[Starstuff]] compiler to convert any file into runnable [[Astridec]] code. Apart from that, there is not much more to say abo..."
17:47:29 <esolangs> [[Fetus]] https://esolangs.org/w/index.php?diff=91609&oldid=91608 * PixelatedStarfish * (+237)
17:48:17 <esolangs> [[User:PixelatedStarfish]] https://esolangs.org/w/index.php?diff=91610&oldid=91607 * PixelatedStarfish * (+26) /* In Chronological Order */
17:48:53 <esolangs> [[Fetus]] https://esolangs.org/w/index.php?diff=91611&oldid=91609 * PixelatedStarfish * (+30)
17:50:16 <esolangs> [[Fetus]] https://esolangs.org/w/index.php?diff=91612&oldid=91611 * PixelatedStarfish * (+0)
18:34:17 <zzo38> I like the tsume shogi game on the Game Boy. But, I just use the emulation, which also include some games that might not be released on the cartridge, and modified versions. I do have Nintendo DS but the L and R button is broken.
18:35:18 <riv> that's cool. I like goro goro shogi also
18:40:02 <zzo38> But, for the hand held computing I like TI-92 which has a full keyboard, home screen with calculation, programming function, graphing function. Unfortunately is slow and no colours/sounds. If it can be done with colours (including plotting multiple functions at once you can distinguished by colours), date/time, assembly language, RS-232, also being command-line with calculations like TI-92 does, might be better a bit.
18:48:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:52:21 <zzo38> If you know about some of the unusual features of COBOL, then you might also to enter them into the list of the programming languages with unusual features, that I had written about.
19:05:58 -!- vyv has joined.
19:10:48 -!- ircs has joined.
19:16:22 -!- earendel has joined.
19:19:03 -!- tromp has joined.
19:40:35 -!- u0_a391 has joined.
19:40:56 -!- u0_a391 has changed nick to Kit_.
19:44:33 -!- kit has quit (Ping timeout: 256 seconds).
19:50:47 <esolangs> [[User:Zzo38/Programming languages with unusual features]] https://esolangs.org/w/index.php?diff=91613&oldid=91396 * Zzo38 * (+6) You can now set logical and visual animations independently in Free Hero Mesh (that wasn't true at the time this document was originally written, but it is now), although they are normally set together.
20:14:29 -!- u0_a391 has joined.
20:15:35 -!- u0_a391 has changed nick to Kit.
20:17:17 -!- Kit_ has quit (Ping timeout: 240 seconds).
20:28:36 <esolangs> [[Talk:Astridec]] N https://esolangs.org/w/index.php?oldid=91614 * Salpynx * (+730) Nested loops?
20:37:33 -!- Noisytoot_ has joined.
21:16:21 -!- Noisytoot_ has changed nick to Noisytoot.
21:29:49 <esolangs> [[Footsteps]] M https://esolangs.org/w/index.php?diff=91615&oldid=79575 * PythonshellDebugwindow * (+36) /* Implementations */ unhide overflow
21:30:02 <esolangs> [[Footsteps]] M https://esolangs.org/w/index.php?diff=91616&oldid=91615 * PythonshellDebugwindow * (-1) /* Python 2 */ scroll
21:31:56 <esolangs> [[Special:Log/upload]] upload * SunnyMoon * uploaded "[[File:1L a1.png]]": Output 1 when TL0 = 0
21:36:23 <esolangs> [[File:1L a1.png]] https://esolangs.org/w/index.php?diff=91618&oldid=91617 * SunnyMoon * (+0) Oops
21:37:36 <esolangs> [[Special:Log/upload]] upload * SunnyMoon * uploaded "[[File:1L a2.png]]": Output 1 when TL0 = 1
21:37:55 <esolangs> [[File:1L a2.png]] https://esolangs.org/w/index.php?diff=91620&oldid=91619 * SunnyMoon * (+0) What
21:39:27 <esolangs> [[Special:Log/upload]] upload * SunnyMoon * uploaded "[[File:1L a3.png]]": Output 1 when TL0 = 1
21:40:26 <esolangs> [[Special:Log/upload]] upload * SunnyMoon * uploaded "[[File:1L a4.png]]": Output 1 when TL0 = 1
21:41:07 <esolangs> [[File:1L a3.png]] https://esolangs.org/w/index.php?diff=91623&oldid=91621 * SunnyMoon * (+0) Ah
21:45:33 <esolangs> [[1L a]] https://esolangs.org/w/index.php?diff=91624&oldid=77485 * SunnyMoon * (+810) Been a while since I edited this wiki
21:56:29 <esolangs> [[Kernel]] N https://esolangs.org/w/index.php?oldid=91625 * Corbin * (+481) Stub a page about Shutt's language.
22:13:58 -!- vyv has quit (Quit: Konversation terminated!).
22:51:32 -!- immibis has quit (Ping timeout: 252 seconds).
22:56:52 -!- immibis has joined.
23:15:26 -!- earendel has quit (Quit: Connection closed for inactivity).
23:16:57 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:32:00 -!- tromp has joined.
23:37:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).