00:06:43 -!- wob_jonas has joined.
00:07:02 -!- S_Gautam has joined.
00:14:42 <wob_jonas> M:tG un-rules question. I Ctyoshape my Adorable Kitten into a Myr Welder, then tap for the imprint ability exiling a ________, then use its newly gained ability to change its name to Firemaw Kavu.
00:14:47 <wob_jonas> My next turn, the Adorable Kitten no longer have any of its fancy new abilities, but its name remains Firemaw Kavu and it regains the Host supertype. I then augment that Host with a Serpentine, then does the augmented permanent's name become the same as that of an ordinary Serpentine Kavu, for the purpose of Sever the Bloodline?
00:16:43 -!- danieljabailey has quit (Ping timeout: 245 seconds).
00:17:10 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:25:20 -!- danieljabailey has joined.
00:56:14 -!- iconmaster has joined.
00:56:14 -!- iconmaster has quit (Client Quit).
00:56:52 -!- pimlu has joined.
01:11:58 -!- tromp has joined.
01:16:16 -!- tromp has quit (Ping timeout: 246 seconds).
01:42:20 <Sgeo_> Could something like Core Wars be done on C64... somehow? Load two programs that "fight" each other, somehow?
01:42:26 <Sgeo_> Not sure how to define victory
01:43:04 <Sgeo_> Oh hmm the OS doesn't automatically provide multitasking. C64 can preemptively multitask, but that requires software to set up, hmm
01:43:12 <ais523> it probably isn't multithreaded enough
01:43:20 <ais523> the programs would just attack the scheduler to get more time
02:59:54 -!- tromp has joined.
03:04:13 -!- tromp has quit (Ping timeout: 245 seconds).
03:06:20 -!- ais523 has quit (Quit: quit).
03:35:13 -!- pimlu has quit (Ping timeout: 246 seconds).
03:50:06 -!- erkin has quit (Remote host closed the connection).
03:54:37 -!- tromp has joined.
03:58:56 -!- tromp has quit (Ping timeout: 244 seconds).
04:14:43 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:18:00 -!- JWinslow23 has joined.
04:19:00 -!- JWinslow23 has left.
04:48:45 -!- tromp has joined.
04:49:16 -!- pimlu has joined.
04:53:16 -!- tromp has quit (Ping timeout: 272 seconds).
05:01:59 -!- wob_jonas has joined.
05:03:32 <wob_jonas> It's sort of a pity that the SYSV function memset got standardized in ANSI C89 and spread by the second edition K&R book rather than the BSD function bzero. The extra parameter is almost never used and just adds a potential to confuse the order of the last two parameters.
05:04:54 <shachaf> Maybe C ought to have keyword arguments.
05:05:35 <shachaf> So I was thinking about what it would take for a vaguely C-like (or C++-like?) language to have functions that only take a single struct/tuple argument.
05:05:45 <shachaf> Is there any language that does that well?
05:08:41 <wob_jonas> SGeo_: I don't think the 6502 is a good idea for any preemptive multitasking application. 6502 code generally uses the low 512 bytes of memory space because of special addressing modes give conciseness of code for speed and speed, plus also must use self-modifying instructions for some things. Unless you're thinking of a very low memory context lik
05:08:41 <wob_jonas> e the ATARI 2600 with the 128 byte of RAM and at most 2K or 4K ROM
05:11:11 <wob_jonas> shachaf: do you count languages that also have currying, like standard ML or Haskell?
05:13:38 <wob_jonas> shachaf: do you count the small underlying core language for Wikiplia, which has ordinary multi-argument function calls, but on the function definition side it only has a variadic lambda builtin, which gets all the arguments on a single list, and you have to unpack arguments from that list with a strange deconsing function that can distinguish betw
05:13:38 <wob_jonas> een all approx. ten builtin datatypes but you can omit the last arms and the first arm is for decoding a cons
05:14:34 <Sgeo_> I've heard of it, didn't realize there was that little RAM
05:15:24 <shachaf> wob_jonas: I don't really count currying, because I'm imagining something roughly on the level of C with no automatic closures everywhere and so on.
05:15:33 <wob_jonas> SGeo_: it also has a less powerful variant of 6502 with the same integrated core but a smaller wiring around it so it only has 12 bits of address space
05:15:43 <shachaf> And I don't think I count that either.
05:15:51 <shachaf> I want, y'know, a calling convention for structs.
05:16:29 <shachaf> Which C already has. At least on the amd64 System V ABI a struct will get unpacked into registers and so on, though I think it's a little different from the calling convention for arguments.
05:16:57 <Sgeo_> "and no video frame buffer at all. The programmer must prepare each line of video output one at a time as it is being sent to the television."
05:17:10 <wob_jonas> shachaf: in C it wouldn't historically had made sense, because it would have been inefficient, but sure, you could imagine some language that does that, and there probably is one out there, I just don't know a good example
05:17:18 <shachaf> Why wouldn't it have made sense in C?
05:17:34 <shachaf> I mean, other than lack of tuples or type inference or something, if you'd need that.
05:17:38 <Sgeo_> C64 sounds like a huge luxury in comparison... although could you get arbitrary colors in arbitrary pixels on Atari 2600?
05:17:41 <shachaf> I'm trying to figure out what you'd need.
05:17:58 <wob_jonas> shachaf: because it was compiled on small compilers, and the API for passing separate arguments is just more efficient than the API for passing a struct in most calling conventions
05:18:19 <shachaf> OK, it wouldn't have made sense quite for C itself, but for a language similar to C.
05:18:31 <wob_jonas> except on modern machines in certain cases for very small structs
05:18:48 <shachaf> Where the calling convention for structs is defined the way it's defined for C functions.
05:19:04 <wob_jonas> but even then the standard calling convention often misses, so you have to rely on optimization if you want passing structs that aren't just trivial wrappers for a single element efficiently
05:19:44 <Sgeo_> Also, 128 bytes... I guess machine code is run from ROM, instead of being stored in RAM?
05:19:46 <shachaf> Obviously this wouldn't work in C-as-it-is because things are defined differently.
05:19:53 <wob_jonas> for trivial wrappers for a single element, the calling conventions that are new enough to have come after decent optimizing compilers like the x86_64 one do the Right Thing generally, so you don't lose anything over passing its single element
05:19:56 <shachaf> I'm wondering about something similar to C.
05:20:08 <wob_jonas> but for what you want, you need to pass structs bigger than a single element
05:21:18 <wob_jonas> there's probably an example I'm missing, like some of those functional language models, but I gtg now, sorry
05:22:14 <wob_jonas> shachaf: I think a low-level functional language is more likely to use that
05:22:25 <wob_jonas> shachaf: there was, I think a low-level pointfree language like that
05:22:26 <shachaf> You keep answering questions that are vaguely similar to but also completely different from what I'm asking, it seems like.
05:22:35 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
05:22:44 <shachaf> Maybe it means I'm asking the question badly.
05:28:44 -!- XorSwap has quit (Ping timeout: 272 seconds).
05:42:30 -!- tromp has joined.
05:46:20 -!- tromp has quit (Remote host closed the connection).
05:46:55 -!- tromp has joined.
05:51:30 -!- tromp has quit (Ping timeout: 252 seconds).
06:14:24 -!- pimlu has quit (Ping timeout: 252 seconds).
06:35:00 -!- pimlu has joined.
06:44:24 -!- wob_jonas has joined.
06:46:17 -!- tromp has joined.
06:49:58 <wob_jonas> shachaf: I understand you want a low-level C-like language like that, but a non-esoteric one that's used for real world programming might not exist, because in older compilers, it could be hard to avoid the penalty
06:49:58 <wob_jonas> of creating and decomposing the tuple (although it could perhaps be avoided if you wrote the compiler just right), and in newer compilers, it would not make sense the forego the easy syntactic convenience of multi-argument functions.
06:51:26 <shachaf> Why is there easy syntactic convenience?
06:51:32 <wob_jonas> that said, I should look up which language it was that was mostly used on paper, not in a computer implementation, but is an old language that's not deliberately esoteric, and is a pointfree lambdaless functional language that enocourages or perhaps even forces you to use tuples to pass multiple args
06:52:00 <shachaf> If the tuple syntax is (a,b,c) and the application syntax was juxtaposition, then you could write f(a,b,c), just like in C
06:54:21 <wob_jonas> shachaf: you need conditionals, but perhaps you could have a built-in ifelse that always takes three arguments (you can't use lazy evaluation if you want this C-like, and you probably can't use lambdas passed to an ifelse either because that is hard to make C-like and probably impossible to avoid extra parenthesis)
06:54:50 <wob_jonas> maybe a one-variable lambda could work too?
06:55:26 <wob_jonas> shachaf: would you have patterns in the function head like in haskell/ml/prolog to decompose the tuple easily?
06:56:08 <shachaf> if isn't a function in C, I don't see why it would be one here.
06:58:05 <wob_jonas> shachaf: yeah, that could work. though you'd also probably need something like local variables and possibly sequencing, or something to replace them
07:09:20 <wob_jonas> darn, I'm sure there's such a language. and it's even somewhat similar to the much newer David Madore's original version of amycus in some ways.
07:10:00 <shachaf> Anyway I was wondering how such a thing would work, especially when you add more details.
07:10:28 <shachaf> For example you probably want to support keyword arguments, which are the same as named struct/tuple members.
07:10:46 <shachaf> You maybe want to support varargs of some sort?
07:10:55 <shachaf> And maybe default arguments though I'm not sold on those.
07:11:52 -!- pimlu has quit (Ping timeout: 246 seconds).
07:12:17 <shachaf> If you have struct-style keyword arguments, presumably the function definition site defines a struct and then the call site creates it.
07:12:46 <shachaf> But there are various tricky questions I think?
07:12:59 <shachaf> It seems like on the whole it could still be simpler than C, though.
07:13:13 <wob_jonas> The basic idea is that the main primitives are what liftM, liftM2, liftM3, liftM4, liftM5 etc do on the (->) instance, but they go up to arbitrary number of arguments, plus functions taking the nth argument of a tuple and composing a tuple, and probably some conditionals too
07:13:57 <wob_jonas> the liftM, liftM2, liftM3, ... base is sort of true for both that language I'm looking for and Madore's original Amycus
07:14:38 <wob_jonas> only in both, instead of curried functions, they work of single-argument functions that always get a tuple input
07:15:32 <wob_jonas> but in David's original Amycus, IIRC you only get to call functions with tuples (I'm lazy to look up the rules now), whereas in that other language, you call them directly with one argument, and have to make the tuple yourself
07:16:09 <wob_jonas> shachaf: anyway, I think passing a tuple instead of using curry is used as a programming style in standard ML because for older compilers it was easier to optimize
07:16:55 <shachaf> I'd prefer something that doesn't rely on the optimizer.
07:17:34 <shachaf> Currying is very complicated, in principle you have to create closures and things only to consume them immediately, and then the optimizer turns it back into the tuple code which you could have written anyway.
07:18:03 <shachaf> And if you do apply only some of the arguments, then the closure has to be created, which is probably a hidden memory allocation?
07:18:10 <wob_jonas> shachaf: sure, now I'm just trying to find that pointfree language for myself, even without your question
07:19:33 <wob_jonas> even the standard library prelude of standard ML has some functions that use that convention
07:19:51 <wob_jonas> eg. foldl and foldr both take a callback that takes a 2-tuple
07:20:48 <wob_jonas> but for some other things it uses currying: foldl and foldr itself takes the callback, the initial value, and the list as three curried arguments
07:21:02 <wob_jonas> the other functions are also similarly inconsistent
07:22:38 <wob_jonas> mind you, there are only a few functions in the prelude where that makes a difference: the rest either have infix syntax so you rarely see the tuple explicitly written, or take only one argument and no callback with multiple arguments, so neither currying nor tuples come up
07:29:19 <wob_jonas> wtf? how is there no mention of "pointfree" anywhere on the wiki, even though we have articles for https://en.wikipedia.org/wiki/SKI_combinator_calculus and https://en.wikipedia.org/wiki/B,_C,_K,_W_system
07:31:09 <wob_jonas> https://en.wikipedia.org/wiki/Tacit_programming and https://en.wikipedia.org/wiki/Point-free
07:33:10 <shachaf> "the wiki" is Wikipedia now?
07:33:58 <wob_jonas> and I didn't notice at first beacuse they're both white
07:34:21 <shachaf> fizzie: petition to make esolangs.org lime green
07:34:52 <wob_jonas> in that case the orignal statements stands, there's no match for pointfree on the wiki
07:35:23 <wob_jonas> apparently I got there from esowiki by an external link
07:36:30 -!- AnotherTest has joined.
07:36:35 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57574&oldid=45435 * B jonas * (+34) /* External resources */
07:37:13 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57575&oldid=57574 * B jonas * (+67) /* Alternative Primitives */
07:40:36 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57576&oldid=57575 * B jonas * (+65) BCKW
07:42:20 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57577&oldid=57576 * B jonas * (+6) /* Non-primitives */
07:43:09 -!- AnotherTest has quit (Ping timeout: 252 seconds).
07:46:03 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57578&oldid=57577 * B jonas * (+71) /* External resources */
07:49:41 <wob_jonas> Hmm, the u-szeged kk got a completely different homepage and catalog now, with some of the old links broken, specifically the ones to the catalog, although at least http://ww2.bibl.u-szeged.hu/ redirects
07:55:58 -!- MDude has joined.
08:03:18 <esowiki> [[Talk:Combinatory logic]] https://esolangs.org/w/index.php?diff=57579&oldid=8031 * B jonas * (+299)
08:03:59 <esowiki> [[Talk:Combinatory logic]] https://esolangs.org/w/index.php?diff=57580&oldid=57579 * B jonas * (+120) /* Keywords */
08:19:55 -!- AnotherTest has joined.
08:26:26 <esowiki> [[Pointfree programming]] N https://esolangs.org/w/index.php?oldid=57581 * B jonas * (+1813) create article
08:47:06 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57582&oldid=57578 * B jonas * (+707) expand BCKI, point to new pointfree article
09:05:23 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57583&oldid=57582 * B jonas * (+372) more BCKW vs SKI
09:05:44 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57584&oldid=57583 * B jonas * (-1) /* BCKW calculus */
09:08:29 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57585&oldid=57584 * B jonas * (-8) /* See also */
09:09:20 <esowiki> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=57586&oldid=57585 * B jonas * (+15) /* See also */
09:11:00 <esowiki> [[Pointfree programming]] https://esolangs.org/w/index.php?diff=57587&oldid=57581 * B jonas * (+34) link functional
09:15:29 <Taneb> wob_jonas: you OK?
09:15:46 <wob_jonas> shachaf: I found the tuple-based pointfree functional language I was looking for: it's linked right from the [[Amycus]] article: https://en.wikipedia.org/wiki/FP_(programming_language)
09:18:27 <esowiki> [[Pointfree programming]] https://esolangs.org/w/index.php?diff=57588&oldid=57587 * B jonas * (-48)
09:18:57 <wob_jonas> shachaf: that's the one that only has single-argument functions and you must use tuples
09:20:15 <shachaf> OK, but the fact that you can use tuples to make single-argument functions work isn't interesting.
09:20:24 <shachaf> This is also how math functions works.
09:21:09 <shachaf> The interesting part is making it work in a low-level language with respect to types and memory layout and so on.
09:23:21 <wob_jonas> it is still interesting for me because it gives one of the simpler models for a pointfree functional language with multi-argument functions, whereas SKI calculus and BCKW calculus give that with curried functions
09:24:32 <wob_jonas> FP gives a model with tuples and single-argument functions, the language Amycus was supposed to be gives a simple model for multi-argument functions (if you ignore the arithmetic part), and what I said above for curried functinos
09:27:45 <shachaf> Functions + tuples is more complicated than just functions, of course.
09:28:35 <esowiki> [[The language Amycus was supposed to be]] N https://esolangs.org/w/index.php?oldid=57589 * B jonas * (+2944) Created page with "'''The language Amycus was supposed to be''' is simple Turing-equivalent programming language defined by [[David Madore]] in [http://www.madore.org/~david/weblog/d.2015-11-16...."
09:29:28 <wob_jonas> shachaf: yes, but curried functions are also more complicated than just functions, and multi-argument functions are more complicated than just functions
09:29:37 <wob_jonas> so neither is obviously simpler than the others
09:39:49 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57590&oldid=57589 * B jonas * (+2951)
09:44:40 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=57591&oldid=52397 * B jonas * (+147)
09:46:25 <fizzie> shachaf: Is the lime not green already?
09:46:37 <shachaf> I mean make the background lime green.
09:46:52 <shachaf> but it would help people not confuse it with wikipedia
09:48:02 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=57592&oldid=57591 * B jonas * (+172)
09:49:05 <wob_jonas> you could make the sidebar a shade of lime?
09:49:58 <shachaf> Taneb: Oh, are you at the categories summer school in Amsterdam this week?
09:50:14 <Taneb> shachaf: I am not, I'm afraid
09:50:27 <Taneb> Didn't realise there was one
09:50:38 <shachaf> Wait, it's a summer school in algebra and topology. The thing only said "categories" because it was on the categories mailing list.
09:51:26 <shachaf> Also it's not in Amsterdam?
09:51:38 <shachaf> I guess the thing my friend went to in Amsterdam wasn't the thing I had on my calendar.
09:53:13 <Taneb> So, I'm definitely not at the categories summer school in Amsterdam that isnt about categories and isn't in Amsterdam
09:53:26 <shachaf> how can you tell you aren't
09:53:57 <esowiki> [[David Madore]] https://esolangs.org/w/index.php?diff=57593&oldid=52889 * B jonas * (+263)
09:54:46 <esowiki> [[(0)]] https://esolangs.org/w/index.php?diff=57594&oldid=52919 * B jonas * (+2) /* with arrays */
09:55:06 <Taneb> I'm presuming it's still a summer school
09:55:13 <Taneb> ...it's not even summer any more
09:56:56 <esowiki> [[(0)]] https://esolangs.org/w/index.php?diff=57595&oldid=57594 * B jonas * (+27) /* with arrays */
09:57:11 <shachaf> Taneb: anyway you should go
09:57:31 <shachaf> she probably isn't even there
09:57:58 <HackEso> A category is an enriched category where the enriching category is the category of classes.
09:58:16 <HackEso> 6118:2015-10-22 <tsweẗt> le/rn category/A category is an enriched category where the enriching category is the category of classes. \ 6030:2015-09-24 <tsweẗt> le/rn category/A category is just a category object in the category of classes. \ 5138:2014-11-16 <shachäf> revert 5134 \ 5135:2014-11-16 <ellioẗt> find wisdom -type f -print0 | xargs -0 grep -El \'(is|are) just\' | xargs rm \ 2611:2013-04-05 <oerjän> revert \ 2610:2013-04-05 <oerjän> lea
09:58:32 <HackEso> Monoidal categories are just 2-categories with a single object.
09:58:51 <HackEso> Mathematical tanebventions include D-modules, Chu spaces, the torus, Stephen Wolfram, Klein bottles, string diagrams, linear logic, the reals, Lambek's lemma, Curry's paradox, Stone spaces, algebraic geometry, locales, and histograms.
09:59:07 <HackEso> Histograms are diagrams showing histamine levels. Taneb invented them.
10:00:03 <shachaf> `learn Cryptography is the practice of charting crypto prices.
10:00:10 <shachaf> I can't bring myself to put that in wisdom
10:00:55 <HackEso> Your omnidryad saddle principal golfing toe-obsessed "Darth Ook" oerjan the shifty evil grinch is a hazy expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never render the word "amortized" so he put it here for connivance. His ark-nemesis is Noah. He twice punned without noticing it.
10:01:29 <HackEso> oerjan//Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty evil grinch is a hazy expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never render the word "amortized" so he put it here for connivance. His ark-nemesis is Noah. He twice punned without noticing it.
10:16:30 <wob_jonas> SQL question. I have a table l with column m that has a small domain and column e that is ordered (has timestamps). I have an input number ?n, and assuming that ?n is greater than the domain of m,
10:17:16 <wob_jonas> I want to exactly ?n rows such that the row from each value of m with the latest e is alwasy shown, and other rows are added so they have the latest e all around. What's an easy way to do this in SQL?
10:20:59 <wob_jonas> I think it's something like SELECT mm.* FROM (SELECT * FROM l ORDER BY l.t DESC LIMIT ?n UNION some query here to select the latest row from each group) AS ll ORDER BY ll.m, ll.t ASC LIMIT ?n;
10:23:49 <wob_jonas> And I guess that part after the UNION could be SELECT * FROM l WHERE l.e = MAX(l.e) GROUP BY l.m
10:23:56 <wob_jonas> and ll.t should be ll.e instead above
10:25:07 <esowiki> [[Pointfree programming]] M https://esolangs.org/w/index.php?diff=57596&oldid=57588 * Plokmijnuhby * (+23) Corrected the link to Joy
10:34:57 <wob_jonas> Different question, also more practical than esoteric. You have a plastic food container of whose bottom half is filled with rice, then on that are two flat pieces of meat each of which have a size and shape to almost completely fill the horizontal cross-section of the container, then some air over that. You can use the container, its lid (which is
10:34:57 <wob_jonas> thus only a bit smaller in area than the meat slices), a knife and a fork to move and slice the meat.
10:36:28 <wob_jonas> You don't want to use a plate. You can only cut the meat if it's on the lid, and only if there's nothing over it, or if you cut it together with what's over it. Is there a practical way to rearrange and eat all of this such that in each step you first eat a small amount of rice, then a small amount of meat, each time the same amount, and at a rate
10:36:29 <wob_jonas> that you run out of rice and meat at the same step.
10:38:19 <wob_jonas> Hmm no, I defined that in a too easy way.
10:38:57 <wob_jonas> I didn't exclude the case when you just cut the two slices of meat together put onto each other all the time, but that's not actually practical.
10:48:42 <esowiki> [[(0)]] https://esolangs.org/w/index.php?diff=57597&oldid=57595 * B jonas * (+31) clarify definition of (0)
11:34:49 -!- atslash has joined.
11:40:03 -!- atslash has quit (Ping timeout: 245 seconds).
11:40:14 -!- atslash has joined.
11:42:37 <esowiki> [[David Madore]] https://esolangs.org/w/index.php?diff=57598&oldid=57593 * B jonas * (+83)
11:42:59 <esowiki> [[David Madore]] https://esolangs.org/w/index.php?diff=57599&oldid=57598 * B jonas * (+0)
11:44:11 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57600&oldid=57590 * B jonas * (+952)
12:01:31 -!- SopaXorzTaker has joined.
12:15:42 <fizzie> Ah, so make esolangs.org (lime green), not make (esolangs.org lime) green.
12:29:12 -!- arseniiv has joined.
12:43:07 <Taneb> I think the esolangs.org lime should not be green
12:43:20 <Taneb> (why is there a lime?)
12:52:44 <fizzie> Also the proper term is "trilime".
12:54:31 <fizzie> I once made https://gamma.zem.fi/~fis/trilime.svg as a potential more abstract replacement, but it was not popular.
12:54:54 <Taneb> I don't think squares are particularly esoteric
12:56:15 <fizzie> I think the idea was to cut down on file size.
12:56:29 <fizzie> I'm sure it'd be smaller rendered as PNG too.
12:57:01 <wob_jonas> fizzie: but a png for the same quares would be pretty tiny too, even more so if you aligned some of the edges to pixel boundaries, but even without that png compresses this stuff pretty well, and crucially,
12:57:17 <fizzie> Yes, that's what I meant.
12:59:10 <wob_jonas> the png is much more friendly on browser performance, because an SVG has to be stored as heavy objects in browser memory just like any other part of the DOM, because anything in the SVG can be potentially modified by javascript, or even if there's no javascript, the SVG has to be rerendered if CSS computed values change because of reflowing during
12:59:10 <wob_jonas> rendering the page or some element loading or the user interacting with the page.
12:59:22 <wob_jonas> That's why I hate SVGs in webpages.
12:59:32 <wob_jonas> They're not independent vector graphics files that just get rendered once.
12:59:47 <wob_jonas> They're heavy objects just like anything with lots of nested HTML elements.
13:00:40 <wob_jonas> Or just like mathML, but for mathML, you do want the reflowing to happen, whereas for vector graphics you just want it rendered once to a fixed size just like images are typically rendered.
13:02:18 <wob_jonas> And this is why I passionately hate SVG. It's not a bad format to represent and exchange vector images, but for embedding a final image in a webpage, it's horrible. Canvases are much better, because they only have to keep the pixel image buffer in RAM, which you generally want to keep for any rendered image anyawy.
13:02:27 <wob_jonas> (And that buffer can be kept in video RAM.)
13:03:03 <wob_jonas> So please, in the name of people like me who use low-performance computers with too little RAM and these horrible modern memory-hungry browsers, I ask you to not use SVGs.
13:12:34 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57601&oldid=57600 * B jonas * (+3878) how to program, first part
13:16:43 <wob_jonas> I'm writing the article for the language Amycus was supposed to be. Then in theory I should merge some of the improvements on notation (renamings) into the Amycus article.
13:16:47 -!- xkapastel has joined.
13:21:41 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57602&oldid=57601 * B jonas * (+1140)
13:34:35 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57603&oldid=57602 * B jonas * (+323) fix arithmetic
13:46:45 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57604&oldid=57603 * B jonas * (+1181)
13:46:54 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=57605&oldid=57592 * B jonas * (+1) notation
13:51:35 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=57606&oldid=57605 * B jonas * (+0)
13:52:50 <esowiki> [[Amycus Severus]] https://esolangs.org/w/index.php?diff=57607&oldid=46673 * B jonas * (-1136) notation, interpreter moved away to [[the language Amycus was supposed to be]]
13:53:27 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57608&oldid=57604 * B jonas * (+145)
13:55:58 <wob_jonas> Hmm, if I document multiple language variants on one page, like on [[The language Amycus was supposed to be]], and some of them are implemented but some are unimplemented, and some of them are Turing-equivalent but some are so much more powerful that they are unimplementable, then can I put the page into multiple contradictory categories?
13:56:39 <esowiki> [[Pointfree programming]] https://esolangs.org/w/index.php?diff=57609&oldid=57596 * B jonas * (-15)
13:57:11 -!- sleepnap has joined.
14:00:31 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57610&oldid=57608 * B jonas * (+477) categories
14:07:47 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57611&oldid=57610 * B jonas * (-427)
14:07:50 <esowiki> [[Amycus]] https://esolangs.org/w/index.php?diff=57612&oldid=57606 * B jonas * (+1)
14:08:55 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57613&oldid=57611 * B jonas * (-24)
14:22:18 <esowiki> [[Hyperamycus]] https://esolangs.org/w/index.php?diff=57614&oldid=45511 * B jonas * (+176) Hyperamycus is now David's original language, based on [[the language Amycus was supposed to be]], not on [[Amycus]]. The extension of [[Amycus]] wasn't documented or used for anything anyway.
14:54:16 <esowiki> [[The language Amycus was supposed to be]] https://esolangs.org/w/index.php?diff=57615&oldid=57613 * B jonas * (+5)
15:20:22 <wob_jonas> Hmm. I think there's a stupid bug in David Madore's definition of Hyperamycus. I sent him a comment asking what exact definition he meant. When he'll reply, I'll be able to clarify in our Hyperamycus article.
15:24:02 -!- bradcomp has joined.
16:25:15 -!- LKoen has joined.
16:35:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
16:49:49 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:00:27 -!- MDude has quit (Ping timeout: 240 seconds).
17:07:57 -!- MDude has joined.
17:10:24 -!- SopaXorzTaker has quit (Quit: Leaving).
17:14:19 -!- MDude has quit (Ping timeout: 252 seconds).
17:17:35 -!- erkin has joined.
17:21:34 -!- Phantom_Hoover has joined.
17:23:10 -!- MDude has joined.
17:24:55 -!- AnotherTest has joined.
17:32:41 -!- MDude has quit (Ping timeout: 244 seconds).
17:35:35 <esowiki> [[ESOPUNK/Commands]] https://esolangs.org/w/index.php?diff=57616&oldid=57549 * Blacksilver * (+326) LIFECYCLE heading
17:38:21 -!- john_metcalf has joined.
18:00:21 -!- Essadon has joined.
18:05:24 -!- MDude has joined.
18:18:06 -!- MDude has quit (Ping timeout: 252 seconds).
18:22:46 -!- MDude has joined.
18:28:25 -!- myname has quit (Ping timeout: 246 seconds).
18:30:22 -!- contrapumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
18:31:00 -!- copumpkin has joined.
18:36:31 -!- myname has joined.
18:59:35 -!- quintopia has joined.
19:06:07 -!- MDude has quit (Ping timeout: 240 seconds).
19:46:37 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
19:47:14 <\oren\> To compromise between a voiced alveolar fricative and a voiced velar stop, I propose that 'gif' be pronounced with a voiced velar fricative
19:57:14 <\oren\> although a /gɣɪf/ sounds like a terrible thing
20:03:29 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
20:10:48 -!- Phantom_Hoover has joined.
20:10:49 -!- Phantom_Hoover has quit (Changing host).
20:10:49 -!- Phantom_Hoover has joined.
20:24:33 <shachaf> \oren\: Man, I can barely tell velar and uvular fricatives apart.
20:31:24 <shachaf> \oren\: Did you fix your build system?
20:35:26 <\oren\> but more things were added so it still takes over 12 hours
20:46:43 <shachaf> I suggest that 12 seconds is too long.
21:09:44 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:09:54 -!- ineiros_ has quit (Ping timeout: 268 seconds).
21:15:25 <\oren\> https://i.redditmedia.com/cD3bDx4ojOYobUyjYSXbGtELbjom6DaIeY6QnJEiBMw.png?s=0fa076c287fa00eebea104cab8bb9a6d
21:17:14 -!- ineiros has joined.
21:21:34 -!- AnotherTest has quit (Ping timeout: 244 seconds).
21:29:55 -!- MDude has joined.
21:50:27 -!- sleepnap has left.
22:04:02 <esowiki> [[The Great Spell]] https://esolangs.org/w/index.php?diff=57617&oldid=52545 * Qwertyu63 * (-38)
22:05:04 -!- MDude has quit (Ping timeout: 246 seconds).
22:06:41 <esowiki> [[The Great Spell]] https://esolangs.org/w/index.php?diff=57618&oldid=57617 * Qwertyu63 * (+118)
22:10:24 -!- Essadon has quit (Quit: Qutting).
22:16:13 -!- MDude has joined.
22:46:43 -!- tromp has quit (Remote host closed the connection).
23:09:17 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:18:33 -!- tromp has joined.
23:23:30 -!- tromp has quit (Ping timeout: 272 seconds).
23:27:33 -!- MDude has quit (Ping timeout: 245 seconds).
23:41:39 -!- MDude has joined.
23:47:47 -!- bradcomp has quit (Ping timeout: 240 seconds).
23:51:34 -!- tromp has joined.
23:55:53 -!- tromp has quit (Ping timeout: 245 seconds).