5:43 AM
Seems unknown person now also like to discredit ltx3 in random comments: tex.stackexchange.com/q/596021/3929
Just FYI

1 hour later…
7:06 AM
@daleif or a known marmot but actually that comment is stating the obvious interface3 is a reference listing of all the functions, not a tutorial.

@DavidCarlisle I know, I too get headaches from trying to understand interface3, but haven't dived that deep into it. It was just the comment about the latex team coming to delete their comments that struck me

@daleif yes well marmot has issues (with mods here more than l3 team) which is why he changes his user name every month or so.

@DavidCarlisle which was also why they left in the first place. Just seems recently they have been quite angry about the kernel changes. I agree with @PhelypeOleinik it seems to overall have gone well. And the changes are needed if we want to move forward. We cannot keep sitting in a hole getting deeper and deeper.

@DavidCarlisle and menukeys never was by Ahmed Musa, the original author is Tobias Weh.

7:22 AM
@Skillmon yes it was xwatermark I was thinking of, I was thrown off by menukeys and catoptions coming up when I searched for that error messag

7:33 AM
@daleif marmots like digging holes.

7:48 AM
@DavidCarlisle true, that's very true

@daleif,@DavidCarlisle I think marmot's position is pretty clear (and of course likely shared by some others): he'd say there should be no changes to the LaTeX kernel other than out-and-out bug fixes, and that all additions to it or packages should be strictly opt-in. So new features always require users altering their sources.
@daleif, @DavidCarlisle He also strongly favours a manual based on examples rather than formal programming information, hence liking the TikZ manual a lot (of course, it does also do the formal bit, but much later than the examples)

@JosephWright given that was team policy for over 20 years, hard to argue that's an unreasonable view even if, in the end, we decided it wasn't the right thing to do.
May 11 '16 at 8:33, by David Carlisle
@JosephWright oh does tikz have a manual?

@DavidCarlisle issues with various other users first, but that brings one in contact with mods. Not only here, but also for example on Github, with account deletion or renaming there.

@DavidCarlisle Indeed

@JosephWright we don't have fold (foldr foldl in haskell terms) for clists or seqs? I was going to answer this in expl3 but I couldnt see an accumulator over a clist just map_inline which returns another list

8:03 AM
@DavidCarlisle I'm not familiar with 'fold' - what's it do?

@JosephWright classic example is sum of a list, you want to iterate + over the list accumulating the sum rather than just mapping a function over a list getting a modified list of items. so it "folds" a list into a single item, using a supplied reducing function
144

The easiest way to understand foldr is to rewrite the list you're folding over without the sugar. [1,2,3,4,5] => 1:(2:(3:(4:(5:[])))) now what foldr f x does is that it replaces each : with f in infix form and [] with x and evaluates the result. For example: sum [1,2,3] = foldr (+) 0 [1,2,3]...

@DavidCarlisle Wouldn't that be use

@JosephWright ah in the simple case where you can just change , to + and evalate the list in one go yes but that's cheating, if you look at my answer here tex.stackexchange.com/a/596030/1090 (forgot to add link before) you'll see I need a prefix not infix function so change a,b,c to \za{\zb{\zc{x}}}
which is foldr x {#1-> \z#1} \mylist (in some mutant haskell latex combo syntax)
@JosephWright to put it directly in expl3 terms, given a clist variable holding a,b,c a tl holding x and a function \foo:cn how would you construct \foo:cn{a}{\foo:cn{b}{\foo:cn{c}{x}}}

8:32 AM
@DavidCarlisle more like every 5 days roughly...
@DavidCarlisle not well thought out approach, but I'd travel the sequence from right to left building a tl from inside out as I go (but no dedicated function for that, afaik).

@Skillmon I started to do that last night (or rather this morning) but it was easier to iterate directly with half a dozen tex primitives (modulo not worrying about spaces ariound commas, or error checking etc) I think we should have fold though they are the main tool for functional programming language list mangling
@Skillmon part of the benefit of foldl and foldr though is (if you construct the function correctly) the system can sometimes reduce the inner terms as it goes so directly evaluate the accumulator and not build up a long stack of pending operations.
@UlrikeFischer wow if longtable had ever had a bug (unlikely) the it would have one less now.

8:49 AM
@DavidCarlisle I tried to counteract the new issue ;-)

@DavidCarlisle of course, but I guess then we would (for performance reasons) implement two variants, one with eager accumulator evaluation and one without, basically a \seq_fold:NN and \seq_fold_e:NN.
@DavidCarlisle we could as well also implement \seq_fold_f:NN and \seq_fold_o:NN, then have a single internal for all variants which just gets passed in an \exp_args:N(n|o|f|e).
@DavidCarlisle but that's one for the team to decide whether it should get included in expl3, not for me.
(just realized, those function prototypes are of course missing a third argument...)

@JosephWright Well, there might be a point on that a document with expl3 examples would be nice to have. I tend to have a look in packages that I know is using ltx3 and see if I get figure out how to do the thing that I wanted. So new users do make a LOOT of mistakes with ltx3 syntax.

@DavidCarlisle also, I'm quite sure that a foldl implementation based on seqs will be quite expensive, IIRC, TeX is quite bad at grabbing the last token of a list... :)
@daleif there is an introduction to expl3 programming somewhere on the internet, just not one written by the team... :)

@Skillmon I saw that one by change one day. It is really good

@daleif (I thought the version of this comment with the typo was way funnier)
@daleif I never read it...

9:04 AM
Cool new github feature:

@Skillmon Ever seen a YT channel where one or two german shepards reviews food. The videoeditor then adds their thoughts on screen. Given steak: "Ohh my dogness.... nom nom nom". Interestingly given the choice they prefer chicken over steak.

9:18 AM
@samcarter_looks_forward_TUG'21 oh --- git checkout master && git fetch upstream && git merge upstream/master && git push? I think I have an alias for that somewhere... ;-)

@Rmano I'm using a github bot for this, but a build in functionality is nice for repos for which I don't have a local copy.

@samcarter_looks_forward_TUG'21 yes, this is nice to have --- (I am not expert enough to use bots, I fear... all bash scripts ;-))

Thanks!

10:15 AM
@daleif well, different dogs like different food. I would think that they find chicken easier to tear appart and hence prefer it.

10:34 AM
@Skillmon I tihnk in the video it was a cook chicken breast and a cook steak.
@Skillmon youtube.com/watch?v=V_BkldfDptw here is one

1 hour later…
11:37 AM
@JosephWright how would you define an alias name for a key? with .meta?

@UlrikeFischer Yes

12:08 PM
l3kernel release coming up

@JosephWright as you seem to update the texmf, should one update luaotfload too?

@UlrikeFischer That would probably be good, yes
@UlrikeFischer I'll do that after I ship l3kernel

12:28 PM
@UlrikeFischer Hmm, I get some very odd diffs if I do that - I loose \TU/lmr/m/n/10 in the log and get \FONT24 instead, plus the glyphs are not that useful
@UlrikeFischer Try it with the config-TU tests in base - I'm not keen

12:42 PM
@JosephWright curious I never saw this. The OT1 fonts are okay, only TU/lmr change. But it works if I remove the local format. Perhaps @MarcelKrüger knows what the format is missing.

@JosephWright I don't have time right now, but the issue is that the tests run in DVI mode. Could you change config-TU to generate PDFs?

1:07 PM
@MarcelKrüger Hmm, OK, one for the team list I guess

hi, please, where's the list of supported graphics types documented? I tried looking into grfguide, but can't seem to find it there. I'd like to know the difference between engines...

@yo' I look at the <engine>.def file, there's a list there. I don't know where else

@PhelypeOleinik thanks. That's a ... funny solution :)

@yo' Don't tell @DavidCarlisle: he'd be horrified to know I don't read the documentation :)

@yo' Technically graphics doesn't restrict this at all ...

1:11 PM
@JosephWright well, that's quite obvious, but I didn't really know where else to look...

@yo' I'm not sure what documentation we have: it probably should be in grfguide as you say

@JosephWright yeah, should be somewhere. But the point is that it can get tricky obviously with so many paths from DVI...

2:08 PM
dim question but if I have a beamer slide with some text and then \begin{visibleenv}<3-4> ... \end{visibleenv} to show a tikz picture. How do I make transition 5 just be the text again?

2:26 PM
The one thing worse than spam emails: spam emails using comic sans

2:42 PM
@yo' that was the big innovation of the graphics package it could handle anything the driver could handle and it didn't need to know. So with textures on a mac for example it could handle literally any image format the system graphics api could handle.

2 hours later…
4:47 PM
@Anush something like \begin{frame}<1-5> could work

Apr 30 at 18:13, by David Carlisle
@PhelypeOleinik don't tell me you reverse engineered an answer from knowing how the code works. Terrible. I always read the documentation.
5

5:10 PM
@HaraldHanche-Olsen Exactly the quote I had in mind :)

5:21 PM
@yo' oh thanks! I wouldn't have thought of that

5:42 PM
@Anush does it work (sorry I was away from my PC so it was purely from memory without testing)?

2 hours later…
7:22 PM
@yo' I haven't tried it yet as I was offered another solution

@Anush ah ok

Mar 26 '12 at 19:37, by David Carlisle
@Canageek moral of the story: never read the documentation, bad things happen

@HaraldHanche-Olsen I should charge you \$100 a go for quotations

@DavidCarlisle I would have to start inventing them instead.

@HaraldHanche-Olsen you could quote @PauloCereda instead but just quacking get's boring after a while

7:35 PM
@DavidCarlisle ooh

Apr 30 at 18:13, by Paulo Cereda
@DavidCarlisle ooh

8:04 PM
I just tested the usual suspects, and found that none of the big key=value packages is alignment safe... (and the hardest to use in an alignment are pgfkeys and xkeyval)

8:17 PM
@Skillmon Not too surprising :)

@PhelypeOleinik well, it would depend where they put there parsing code and how they parse, but generally, yes, not too surprising.

@Skillmon Regarding your question on the \relax vs not-\relax issue, I think the problem is that TeX counts braces somewhat differently while scanning for \omit, so \group_align_safe_begin: doesn't quite work there. I'd have to read appendix D or the code to have a better answer...

@PhelypeOleinik I don't remember anything explaining this in appendix D, but it's been a while I read it.

@PhelypeOleinik but group_align_safe_begin is supposed to work there that's what the align_safe bit is supposed to mean:-)

@DavidCarlisle well, it would work there (even without the \group_align_safe_begin:) if the material was fully expandable, the issue is, that the scan for \omit is cancelled in this "group" when someone uses code in that group that isn't fully expandable.

8:24 PM
@Skillmon sure but isn't that what you expect? just sticking \relax there stops the scan and wrapping that in any amount of keyval parsing code won't stop that.

@DavidCarlisle yes, sure. But we'd have to open the align safe group somewhere there... The issue is that just a single align-safe group doesn't work there because of TeX oddities.

@Skillmon dont you need the groups to stop \zzz{and=&& or=||} having issues with the & ?

@DavidCarlisle yes.

@Skillmon OK I think I see what you mean.

@DavidCarlisle I'm not sure you understood what I meant (or I understood what you meant) somewhere in this conversation.
@DavidCarlisle I've described (sort-of) it in the github issue

8:28 PM
@Skillmon hazy in the middle but I think I understood by the end:-)

\catcode\@=11
\def\groupalignbegin{\ifnum\iffalse{\fi}=\z@\fi}
\def\groupalignend{\ifnum{=\z@}\fi}
\halign{#&#\cr
\relax \groupalignbegin % works
% \groupalignbegin \relax % doesn't
\groupalignend
\cr}
\bye
@DavidCarlisle @Skillmon I think the problem is the difference between the two ^^

@PhelypeOleinik obviously :)

@Skillmon Yeah, so as I said \group_align_safe_begin: doesn't quite work there (while scanning for \omit)

@PhelypeOleinik yes and the \relax at the start is only an issue if you want the keyval command to end up expanding to \multicolumn and friends. Which I suppose potentially you might,

@DavidCarlisle I'm fine with keyvals outside of tabulars :)

8:32 PM
@DavidCarlisle well, but if you drop the \relax at the beginning, and you have created your keyval command to expand to \multicolumn, you don't need the align safe group at all, as TeX doesn't do the & replacement at that stage.

@DavidCarlisle What I meant above is that the brace counting seems to be different while scanning for \omit, then doing \group_align_safe_begin: \relax \group_align_safe_end: makes this perfectly robust \halign thing break :)

@Skillmon yes but isn't the problem that the kv parser has no idea what might be generated by the command using the parser, it might be \multicolumn so needing to expand to an omit or it might be a nested tabular needing brace groups to guard & or it might be...

@DavidCarlisle yes, and exactly that is the reason I've opened an issue on Github about this :)

@Skillmon I think we should get @PhelypeOleinik to implement an l3draw based table layout that doesn't use \halign

@DavidCarlisle /Phelype lost connection

8:38 PM
@DavidCarlisle wouldn't solve the bug, just make it less likely to occur (remember, expl3` is also advertised as plain-compatible)

@Skillmon that's easily fixed.