3:57 AM
Just a quick note to the LaTeX3 team: There's a mistake in the documentation of the \quark_if_recursion_tail_stop_do:N function. The termination function used in the code should be \use_i_delimit_by_q_recursion_stop:nw not \use_none_... as as mentioned in the description

2 hours later…
6:19 AM
@siracusa Fixed

2 hours later…
8:12 AM
> My first thought for an answer was "yes, otherwise they wouldn't be quarks" as that is the definition, so it's like asking if triangles have to have three sides.
:)

@JosephWright an honest statement:-)

@DavidCarlisle Oh, definitely
@DavidCarlisle I hope my take also fits in with the history ....

@JosephWright yes sure, I'd started to write something, then drove in, saw yours but decided to post anyway. Depressing how many design decisions come down to "the hash table in emtex was full" ....

@DavidCarlisle It's not just that with quarks: the \ifx equivalence is/was important. Probably if I was starting today I'd just use \relax with lots of names and \pdfstrcmp, but ...

@JosephWright oh yes true But you can do that with \@nil \@nnil so long as you ifx-test the right thing, but that takes two csnames

8:18 AM
@DavidCarlisle We've ended up with more n than N tests, at which point \ifx is less important
@DavidCarlisle Yeah, but the idea was that you could compare a tl directly with a quark: if you make them different, you loose the logical connection

@JosephWright yep

8:50 AM
@DavidCarlisle, @UlrikeFischer It occurs to me that \driver_pdf_compess_objects:n should be \driver_pdf_compress_objects:N taking \c_(true|false)_bool. OK to change?

@JosephWright I'm happy to let you decide details, but do you never want a boolean valued expression there?

@DavidCarlisle Ah, had not thought of that ... might be better
@DavidCarlisle Main concern is I don't really like using true/false as keywords

@JosephWright ah I hadn't checked you mean currently the n is {true} or {false} ? (N with the boolean constants would be better in that case

@DavidCarlisle currently it is a number (in line with compresslevel which can be something from 0 to 9). I doubt that one really will ever need anything complicated like a boolean expression here.
@JosephWright fine with me, but don't forget to change the regression-test ;-).

9:07 AM
@DavidCarlisle Yes, exactly
@UlrikeFischer The compresslevel could probably be a yes/no too, I agree, but that's likely for \pdf_compress:n or something

@JosephWright yes, I think about a \pdf_uncompress:.

@UlrikeFischer Exactly

giving Mac support to Peter Abbott, never used a Mac, so I'm assuming it's same as cygwin....

@DavidCarlisle :)

9:46 AM
@DavidCarlisle ooh

10:01 AM
@DavidCarlisle Great (!)
So, who is going to TUG2019? Early-bird registration ends today

@JosephWright not me I suspect

@DavidCarlisle Not me either

@JosephWright me neither, it is a bit too far away.

@UlrikeFischer Further than Rio? ;)

@JosephWright a bit ;-).

10:26 AM
@JosephWright not me :(

10:50 AM
@DavidCarlisle do people still use doxygen?! :)

@PauloCereda apparently: what's the recommended doc from code tool these days?

@DavidCarlisle no idea, I do not document code. :)

@PauloCereda my code is always clear enough to need no further comments
4

@DavidCarlisle Good code is its own documentation. :)

11:24 AM
@JosephWright Thanks!

@MarcelKrüger did you see tex.stackexchange.com/q/493104/2388? I don't have the time to look now.

12:04 PM
At the airport ...

@JosephWright have fun...

@DavidCarlisle Oh, it's so exciting here

@JosephWright I'm now going to the train ...

Apparently I could be going to Corfu ...
@UlrikeFischer Choo choo choo

12:06 PM
@DavidCarlisle They might notice ...

@UlrikeFischer Yes, it is a luacolor bug. I've send a PR.

@MarcelKrüger You remind me, at some stage l3color probably should use Lua for colour in LuaTeX ...

@MarcelKrüger thanks I'll accept the PR at the weekend (I have to update the versioning which is "interesting" in that bundle (the version number appears in a dozen places in each file, i have some custom emacs setup for it...) So I'll leave the PR there so I don't forget.

12:33 PM

@egreg Er ... no

@JosephWright So better going to Frankfurt.

@egreg Seems so ;)

1 hour later…
1:56 PM
@JosephWright ooh a train

2:31 PM
@PauloCereda Schipol

@JosephWright ooh

@PauloCereda Won't be here long

@JosephWright oh

@PauloCereda Flight in 50 minutes: enough time for a tea break

@JosephWright and laptop work? :)

2:40 PM
@PauloCereda Yes, some real work, some LaTeX work

@JosephWright you are efficient

3:04 PM
@PauloCereda Waiting for boarding ...
@PauloCereda Reading the agenda for tomorrow ;)

@JosephWright ooh a weekend agenda :)

@PauloCereda Yup

@JosephWright expect updates in the next days, hopefully. :)

Speaking of LaTeX 2 vs 3. The LaTeX 2 format or interface or whatever you want to call it is pretty widespread and well known for many years, and seems to work well. Is there actually a problem there that needs fixing? I always assumed the issues were more at the backend, with the programming. TeX/LaTeX programming isn't so easy. And historically has lacked what conventionally would be called an API.

@FaheemMitha at the document level it's not bad which is why almost all l3 work is focussed on tools to write document classes, the top level document syntax will probably end up more or less the same
@FaheemMitha although other interfaces are possible (using the same layout code) eg an xml syntax or whatever you want, that is why there is a separation between expl3 and xparse, xparse is for defining latex2e-like interfaces, but you could have something else defining a different syntax but using the same expl3-defined layout rules.

3:17 PM
@DavidCarlisle tools to write document classes like expl3?

@FaheemMitha yes, that is a documented stack of tools, starting at expl3, then higher level interfaces something like the xtemplate and xor experiments that you can find in the l3code, which allow you to define a document class and specify layout of headers and tables of contents etc without needing 1001 contributed packages that patch the format in "interesting" ways. But the end result for the document author might be that not much changed.

I've looked at the expl3 and xparse packages. They look like an attempt to provide a standard interface to program against. But if I understand correctly, standard LaTeX 2 hasn't been rewritten in terms of those tools.

@FaheemMitha no, if it had been it would be latex3
@FaheemMitha but large chunks of existing 2e code is written that way, fontspec, unicode-math, siunitx, ....

@DavidCarlisle I see.
I hope that new code is easier to debug. But I haven't used it enough to have an idea of whether it is or not.

@FaheemMitha you can not re-write the latex2e definitions without calling the format something else as you would break everything most contributed poackages patch internal format definitions in uncordinated ways so even just adding a {} or a \relax that does nothing is often enough to break a package, so re-writing the code in a different style has to be done with some care..... This isn't a compiled language where different implementations of the same interface can inter-operate

3:32 PM
@DavidCarlisle Yes, I see. So one day there might be a letter3 and document3 class, which behaves exactly the same way as letter and document?

@FaheemMitha possibly (I assume you mean article rather than document) The top level document syntax really hasn't been done yet but there has to be one that is recognisably "latex"

@DavidCarlisle article, yes. Sorry. I can't even write a simple sentence without an egregious error.

$kpsewhich --all fonttext.cfg /home/khaled/.local/texlive/2019/texmf-dist/tex/cslatex/base/fonttext.cfg /home/khaled/.local/texlive/2019/texmf-dist/tex/latex/base/fonttext.cfg Why is this, having two identically named files, one is for the LaTeX kernal is a bad idea, no? This is causing tex.stackexchange.com/questions/493555/… due to harflatex loading the first file because there is no customized TEXINPUTS settings for it. @FaheemMitha Is an @egreg-ious error one that @DavidCarlisle would never make. :) @KhaledHosny hmm it's not good, it seems to have been there forever though, how come it hasn't tripped up the format making before.... 3:44 PM @AlanMunn Oh, you noticed that too. :-) @DavidCarlisle because TEXINPUTS.*latex gives latex dir a higher propriety? @KhaledHosny yes so what did the user do wrong to end up with the wrong path for latex over harftex? @KhaledHosny oh just that it's a new name I suppose... @DavidCarlisle Not having a TEXINPUTS.harflatex set Interesting discussion of some work by DEK. 15 I am reading this article by Donald E. Knuth and get stuck by this sentence: Our mathematical language continues to improve, just as “the d-ism of Leibniz overtook the dotage of Newton” in past centuries. I know I can get some hints from the reference 4 but I don't think I can fathom the...$ kpsewhich -progname=latex fonttext.cfg
/home/khaled/.local/texlive/2019/texmf-dist/tex/latex/base/fonttext.cfg
$kpsewhich -progname=foolatex fonttext.cfg /home/khaled/.local/texlive/2019/texmf-dist/tex/cslatex/base/fonttext.cfg 3:49 PM @KhaledHosny yes, I wonder if it would be possible for the cslatex files to be out of the default path, probably tricky as everything under texmf-dist/tex is in the last fallback segment of TEXINPUTS @AlanMunn When I was in Cambridge, it was still common to use y dot for derivative, but only against time. And y dash for derivative is quite common for derivative. I know the firner is Newton's notation, but is the latter too? @AlanMunn those three nerds from our last jokes are giggling again. :) @FaheemMitha I have no idea. You'd have to ask our resident mathematicians. @FaheemMitha I think dot and a prime are variants of the same notation so yes. @DavidCarlisle Ok. Of course, that was British notation. I'm not sure if I've seen it elsewhere or not. And the dot was generally in a dynamics context, I think. 3:57 PM @DavidCarlisle I don’t know. But if fonttext.cfg is supposed to be configurable then probably it in’t a good idea to put stuff that should be fixed there. @PauloCereda :) @KhaledHosny the standard one just inputs fonttext.ltx it's been that way since the start of latex2e I think. But having multiple files of the same name in the tex input tree is a pain, cslatex could be set up not to need that (putting any cslatex setup in cslatex.ini instead) possibly raise on texlive list? @DavidCarlisle Well I know little about latex and cslatex so I don’t feel qualified to start a discussion, and the issue is not specific to the work I’m doing. @KhaledHosny well specific to adding a new*latex format to texlive (that happens once in a blue moon:-) I'll see if I can make a coherent suggested change later, no time now. @KhaledHosny incidentally I got further with trying to compile hartex on cygwin but it complains I haven't got all the X headers I used to be able to compile the whole texlive with --without-x but I couldn't see a suitable option in the harfbuz build script (and I wasn't sure which headers to try to get from the cygwin repositories as an alternative) @DavidCarlisle You probably need to add that to the build.sh script, it was there and I deleted it mistakenly because the build succeeded for me without it. Let me try to put it back. @DavidCarlisle I just did, let me know if it helps. 4:09 PM @KhaledHosny thanks... I didn't enjoy the Captain Marvel movie... Cannot wait for Endgame to be released on stream, though. :) no, but I don't have time now, I'll look later, but $ ./build.sh --without-x fails with invalid param, it looked like --make would push without-x to the build but that finally failed in same place === configuring in web2c (/home/harftex/build/texk/web2c)
configure: error: Sorry, could not find X include and library files required for Metafont. but as I say need to not look now:-)

4:25 PM
@DavidCarlisle the option is set inside the build.sh script, no need to pass it. You probably need to do a fresh ./build.sh to reconfigure things.

4:41 PM
-11

I am solving Newton Forward and Backward interpolation.unable to simplify this equation further. 14 + 73x +x(x-5)14 + x(x-5)(x-10).1/2 correct answer is 1/2[x3+13x2+56x=28]. need help to solve this with steps

Oh my... 11 negative votes... Those users are very evil...

@manooooh -- I wouldn't necessarily call them evil. But they are certainly very intolerant.

@barbarabeeton yes

@manooooh each community behaves differently...

@PauloCereda yes, but I think it's so much!
This is me with Instagram's new baby effect ^^^^^
I am a baby duck!

5:11 PM
@KhaledHosny Ah I'll clean up and try a fresh build

5:23 PM
tex.stackexchange.com/questions/55449/… can someone try to compile this with luatex? I swear it was working on the 2018 version but I can't get it to compile once I switched to 2019
if someone tries and they can't compile it either please let me know so at least I will know it's not my local version that's broken
\documentclass{article}
\usepackage{dirtree}

\begin{document}
\dirtree{%
.1 /.
.2 bin.
.2 home.
.3 jeancome.
.4 texmf.
.5 tex.
.6 latex.
.7 dirtree.
.3 jeancomeson.
}
\end{document}
even simpler example I based on the docs

@Lacey Works fine for me.

are you using 2018?
only 2019 is broken for me

This is LuaTeX, Version 1.10.0 (TeX Live 2019)

This is LuaTeX, Version 1.10.0 (TeX Live 2019)

odd.
im trying to compile the exact document, with no other files in that directory.
the error i get is ! LaTeX Error: Two \documentclass or \documentstyle commands.

5:38 PM
@Lacey Maybe you have a local version of dirtree?

i dont think so. can you share the byte counts for the two files at /usr/local/texlive/2019/texmf-dist/tex/generic/dirtree ?
im working with a completely clean install that i literally installed just yesterday
files are 1883 and 5890 bytes respectively

@Lacey The problem is that your test file is named dirtree.tex

makes sense
or not, i mean, id still expect it to work :p
that is the issue indeed though! thanks!

@Lacey dirtree.sty is a wrapper for dirtree.tex and simply \inputs that file. Hence the clash with your main document when it has the same name.

im just saying i can name a file stdio.c and still include stdio in a c program :p
i had no real reason to name the file dirtree anyway, i was just testing the package
so my issue is resolved

5:43 PM
@Lacey it doesn't seem fair to compare apples with oranges...

what would be another environment that is similar to latex?
surely it wouldn't be ms word or whatever

@Lacey Yes, but TeX has a specific way of locating files, starting with your local directory and working its way up.
@Lacey I'm assuming C include searches in a specific place, so no conflict.

oh yea i totally agree its not a fair comparison, just pointing out it isn't so unusual to expect the input/include work when the name conflicts

@Lacey Also, can you try to remember to use the reply link to reply to messages. This makes is easier to understand the chat which is somewhat asynchronous.

@AlanMunn sure :D

5:55 PM
@Lacey surely preferring the current directory first when there is a conflict is not unusual?
@Lacey but your include in that case isn't a name clash as you are presumably including stdio.h
@JosephWright get there ?

@DavidCarlisle Yes
@DavidCarlisle In Frank's garden

@JosephWright ooh

6:43 PM
@DavidCarlisle Yeah, perhaps we should be more forceful

7:30 PM
@DavidCarlisle Is there a simple reason why the input stream \futurelet\next\z {{x}} works, but \futurelet\next\z {{{x}}} fails with a "Too many }'s" error?

@StevenB.Segletes because you (presumably) only have one open { before the shown code not two?

@DavidCarlisle Let me mull on what the heck that means in the context of my problem...
@DavidCarlisle OK, I see that the problem goes away when I use a simple MWE...so presumably, there is a stray } in my code, for example.

@StevenB.Segletes this runs without error
\def\z{\message{\meaning\next}}

{ \futurelet\next\z {{{x}}}}

\bye
@StevenB.Segletes note the additional { before the code you showed.

@DavidCarlisle Yes, I just did the same test and came to the same conclusion. Well that helps me know what to look for. Thanks.

8:28 PM
@DavidCarlisle Found the issue. My \z took an argument, and I was doing an \ifx#1\next... which caused the problem. I resolved it by changing it to an \ifx\bgroup\next... test. Thanks again.

Try compiling this:
$cat a.c #include "a.c"$ gcc a.c
In file included from a.c:1,

a.c:1:15: error: #include nested too deeply
#include "a.c"
^

8:45 PM
@StevenB.Segletes \ifx#1\next is pretty much always wrong:-) (\ifx\next#1 a lot safer)

9:08 PM
@KhaledHosny Somehow I'm not surprised. :)

@KhaledHosny you know that you can pragmatize this, right? :)

1 hour later…
10:25 PM
@KhaledHosny this is a entirely different thing, as there is no other a.c you could be referring to
the tex case was,
a- there is a package/lib named 'x'
b- there is the file we are trying to compile, also named 'x'

@Lacey no, the package load worked fine, the problem is that you had a file x.tex and some package (which was called x.sty but that is not relevant) does \input x.tex and so tex loops.

following the exact name clash example :p

#include <stdio.h>

int fn() { return 1; }

and using this file with the name "stdio.h" works fine. c understand this by the use of angle brackets, which could be considered as the equivalent of \usepackage i guess
@DavidCarlisle i got that part. im not even arguing against it really, its totally fine. i just wanted to mention that using a filename that is named the same as one of the libs you are using is something that isn't all too uncommon

@Lacey yes well tex only has the one input not the "" <> distinction

@DavidCarlisle there is \input AND \usepackage though :p

@Lacey not in tex-the-program: \usepackage{foo} is \input{foo.sty}

10:33 PM
@DavidCarlisle so we aren't even saving keystrokes? :o
we have to type 5 more letters to avoid typing 4 letters :D

@Lacey it does other stuff (package options etc) but they are all implemented in tex, the file searching is part of the binary

tex sure works in odd ways

@Lacey in some things, but not this.
@Lacey anyway why discus \usepackage? it is the \input{dirtreee} that loops, \usepackage{dirtree} is not problem at all.
This is HarfTeX, Version 0.1.2 (TeX Live 2020/dev)
**

@DavidCarlisle while we are going there, why discuss this at all? the issue is solved and this is such a minuscule point to argue on :p

@KhaledHosny ^^^^^^
@Lacey waiting for hartex to compile, may as well argue about something

10:40 PM
alright well then, my expectation of most envs is to resolve the conflicting names just fine as long as the paths are different
like i can include two files called x.php in php
and likewise i can run a x.php which also calls a file named y.php that includes another x.php via its own relative path

@Lacey tex paths are always relative to the working directory, not the directory of the file

@DavidCarlisle so when i say \usepackage, thats relative to the local lib list, no?
local lib dir, rather
i mean looks like compiler knows more than enough to resolve both these paths just fine, if it so desired :p

@Lacey no, only indirectly. it is \input{foo.sty} and a file of that name in the directory from which you run tex would be input first

@DavidCarlisle does harftex do anything differently over luatex IF im not interested in using these letters/codes it supports? that is, are there rendering differences for a document that doesn't need harftex at all?
would i get sharper, better text rendering?

@Lacey it's not a compiler, and there is only one path. TEXINPUTS not a separate one for packages (as tex itself knows nothing about the distinction)

10:45 PM
@DavidCarlisle you mean like "we call this a transpiler, not a compiler", or you mean like it literally just parses and does nothing else?

@Lacey I have had a hartex binary available for a couple of minutes:-) it is essentially luatex with harfbuzz compiled in (like xetex)
@Lacey tex is a macro expansion language not a compiled language, it has far more in common with the C preprocessor than it does with C

@DavidCarlisle that is only the technical meaning of compiling though, by all means it does "compile" a thing as one would understand it. if one were to argue for the strict definition of a compiler, then we wouldn't even call a JIT compiler a compiler.
it does give me a binary file just like gcc gives me a binary :p
if i compile a simple lorem ipsum text in luatex and then harftex, would these two produced files look different?

@Lacey sure but the nature of tex as a macro expansion language can't be avoided, \input invokes the primitive file search, \usepackage is simply a macro that expands by essentially textual replacement eventually to \input so the file seach is necessarily the same, but I thought you didn't want to discuss that any more?
@Lacey by default they would be bitwise identical. (actually not, as teh pdf meta data would say harftex or luatex, but if you override teh default metadata for the producer info then...)

@DavidCarlisle im not sure why, but i swear, my files look different when they are compiled with xetex and luatex. i get that they aren't importing literal pixels or anything, but there is something about font rendering that goes on

@Lacey oh xetex and luatex can be different yes, but harftex is by design luatex by default

10:54 PM
@DavidCarlisle well isn't the php just text replacement too, as far as the includes go?
it can follow the relative paths just fine though, given they are relative to the file they are being called from
im sure you would agree there is a way which the core team could change the way the input command works that would fix this? -- it wouldn't make sense to do that work for such a small improvement, but it is possible, no?

@Lacey no why would I agree?

because if the input is literally the same file as the one being included, that seems easy to detect
you do have the absolute path as you of course resolve to it at one point, so you could simply check if they are identical?

@Lacey certainly it can't be changed by the latex core team as latex is written in tex, and changing tex (and xetex and luatex and ptex and .... ) in such a fundamental way would be tricky (and certainly wouldn't be accepted as a change to tex which is essentially frozen.

@DavidCarlisle oh absolutely, im definitely arguing a meaningless point just for the sake of it. however it isn't a technical impossibility was what i was getting to

@DavidCarlisle nice

11:01 PM
@Lacey it's a political impossibility (and not clearly an improvement:-)

This is HarfTeX, Version 0.1.2 (TeX Live 2020/dev)
restricted system commands enabled.
**

@DavidCarlisle has there been any attempts to create an alternative to tex at any point, by a person or an entity such as a corporation? i mean something that is equal to tex, not a text editor as in ms word or emacs

@KhaledHosny ^^^^^

i love that i keep getting in between the ascii arrows, so it looks like everyone refers to my silly texts all the time :p

@Lacey oh lots, lout, sile, ....
@egreg you compiled that yourself?

11:06 PM
@DavidCarlisle sile actually does look nice, though it looks like they use parts from tex itself

@Lacey not at the code level I think, but obviously lots of systems use tex-like systems (even Word) I have not tried sile but seen a couple of talks and read some of the specs

@DavidCarlisle Yes. Now there should be some hints on how to make the formats.

@DavidCarlisle are you referring to the implementation, or the way in which one would write "sile code" ?

@Lacey the implementation of sile doesn't share any code with that of tex as far as I understand things but it's been a while since I looked.

@DavidCarlisle github.com/simoncozens/sile the repo includes "libtexpdf", which one would guess to be a library about pdf from tex at a glance :p
"A PDF library extracted from TeX's dvipdfmx", it says

11:10 PM
@egreg nice, don't hesitate to report any issue you find (if you do actually use it ;))

@Lacey well quite. dvipdfmx doesn't share any code with tex either.

@DavidCarlisle oh i use the word"tex" to refer to the general group of things i install via the texlive thing. i have no idea what the "tex" as you guys use it even refer to

@Lacey a dvi driver processes the dvi output of tex

@DavidCarlisle wait what is "TeX's dvipdfmx" then? I mean, it says "Tex's"

sile implements some TeX algorithms (line breaking, hyphenation, the box and glue model) but it does not use ant TeX code since it is implemented in pure Lua (with the exception of the C libraries it uses)

11:12 PM
@Lacey it is a program designed to accept as input, the output from tex.

@DavidCarlisle wait doesn't that count as part of the tex project?

@Lacey in case you are wondering, if anything I say about tex implementation differs from something Khaled says, believe him...

so is he like the top guy at the tex totem pole?

@Lacey no of course not, would you describe anything written in C or designed to post process the output of a C compiler as "C"

@DavidCarlisle it looks like a tool written to be used explicitly with tex, for tex. like, i would say the c preprocessor is part of the gcc even though it is its own binary
@DavidCarlisle on another topic, how many characters would you say there should be on a line on a given webpage? the number 66 is commonly used in books, but the numbers in web are frequently well above 100 per line

11:18 PM
@Lacey the "tex project" is like a "linux project" it is thousands of different projects by different people who do not have write access to other parts. TeX makes device independent (dvi) output, the fact that anyone can then write a dvi driver for their specific device does not make that drive "part of tex" it is by design a separate independent program.
The texlive team may do a fine job of collating these things and shipping them to the user together but they are entirely separate things written by different people at different times

@DavidCarlisle wouldn't you say it uses code from tex though? i mean if we only refer to the absolute core, then yes almost nothing would be influenced by tex

@Lacey no, that would be misleading and false, and I wouldn't say that, as you see.
@Lacey why nothing? linebreaking and hyphenation from tex influence lots of things as does math layout.

@DavidCarlisle so you consider these as part of tex, just not all the aux tooling?
like if some OS writes their own code for everything and then uses systemd, I would say they have used some linux code, even though they haven't used any kernel code

@Lacey it's not a matter of consideration, tex is a monolithic program it is essentially implemented in a single file (tex.web) (not quite true but close enough for the discussion) dvi drivers process the output of tex so they are clearly not tex similarly editors generate the input for tex so they are not tex either although many users do not see that distinction either and assume texmaker or whatever compiles their document.

@DavidCarlisle i wanted to ask, are we literally using the same tex that knuth wrote?
like the same binary and everything

11:28 PM
@Lacey well clearly not the same binary unless you have access to a stanford sail machine or a PDP10 (I think in later years) but if you use tex (as opposed to pdftex) then it is still his original source code (tex.web) but through a modified compile chain that converts the web source code to C rather than pascal (as pascal compilers ar thin on the ground these days) there are some extensions (e-tex) but these are disabled in the version that runs if you use tex

@DavidCarlisle wait, im not using tex right.
is anyone using tex?
i use the programs "pdflatex", "lualatex" and "xelatex".
when someone says "tex", i think of those programs
I tried to use tex, but my adventure didn't last long

! Undefined control sequence.
l.9 \documentclass

@Lacey latex is written in tex but in a way that is portable to several extended tex-like systems. pdftex and xetex incorporate knuth's original tex.web source code each time they are compiled, luatex does not, it uses a set of C files done a s a one-off translation from Knuth;s web sources ten further modified

@DavidCarlisle what are these tex-like systems?

@Lacey as I say latex is written in tex, \documentclass is a macro so you need to load its definition so it can expand to its replacement text.
@Lacey pdftex, xetex, luatex, ptex, uptex, now harftex

if i were to load all these definitions, would my file be compatible with the original, knuth-tex?

11:33 PM
@Lacey sorry you lost me and it's late. there are loads of answers on site explaining the difference between latex and tex and betwen tex and luatex etc

@DavidCarlisle yea im definitely confused about all this, there are too many parts. thanks for your time!
i will just call my simple lualatex binary and call it a day :)

\$ pdfinfo sample2e.pdf
Creator:        TeX
Producer:       HarfTeX-0.1.2
CreationDate:   Sat Jun  1 00:41:02 2019 BST
ModDate:        Sat Jun  1 00:41:02 2019 BST`
@KhaledHosny yeh a document! ^