Live data from Hacker News

Rewriting LaTeX in Pure Rust

github.com

141–148 of 148 posts

Re: Rewriting LaTeX in Pure Rust

#141
post #51

Earlier quoted context omitted.

I'm quite sure anybody who has written substantial documents with *TeX disagrees that "extreme performance" isn't needed.

The average document size hasn't increased in the last 30 years, though, did it? But hardware is several orders of magnitude faster.

I guess we're doing more with graphics, which tend to require more fiddling back and forth to make it look alright, as well as having much higher expectations about interactivity than in the past.

Re: Rewriting LaTeX in Pure Rust

#142
post #70

Earlier quoted context omitted.

Rust seems to be a lot safer than C or C++ but I don't really understand why a documentation system must be written in a low level language. Why not use C#, Java, Go or something similar? Most users can't really need extreme performance.

LaTeX is a typesetting ststem, not a documentation system. Doing typesetting of large documents is performance critical.

If typesetting is performance critical, what would count as a non-performance critical program?

Re: Rewriting LaTeX in Pure Rust

#143
post #17
post #8

Currently using this to build my Master's thesis. It's nice because it detects all the packages used in the tex source and downloads them automatically.

What do you need that isn't there already with TeXLive? I haven't downloaded a package in many years, despite many reinstalls and a lot of varied Latex use.

I use inotify-wait + tectonic + a PDF viewer instead of a TeX editing tool.

Simple and I can use my own editor.

Re: Rewriting LaTeX in Pure Rust

#144
post #21
post #11

Earlier quoted context omitted.

I'm no expert to anything typesetting systems, but I've noticed this on the homepage: > Thanks to the power of XeTeX, Tectonic can use modern OpenType fonts and is fully Unicode-enabled. ...which seems to oppose your statement and the linked issue. Can you explain, please?

That refers to including Unicode in the document directly, which is great that it works, but for references, bibtex is part of the pipeline. You create a .bib file containing info about the references, and then do commands like \cite{} to cite to one of them. If you have Unicode in any of your references (author name, paper name, etc), you have a problem. The solution is to replace bibtex with biblatex and biber, but…

Cristal clear. Thanks!

Re: Rewriting LaTeX in Pure Rust

#145
post #131

Earlier quoted context omitted.

I absolutely agree, but would go even further. When you say Xetex "not a solid piece of engineering on which to build the future", I think the same thing also applies to the original Tex engine written by Knuth. By modern software engineering standards, the original Tex implementation is a nightmare . It's enormously difficult to extend or add new features, and this has resulted in (1) comparatively few extensions be…

I agree, but one also can't blame Knuth: he wrote the program the way he knew best (he's a machine-code programmer at heart), under the constraints at the time (portability at various academic sites circa 1980 practically dictated Pascal, then Pascal's limitations required a preprocessor like WEB, etc). In fact, the earlier (TeX78) implementation in the SAIL language was written less monolithically, as a bunch of sep…

> As “TeX macros” wasn't designed or intended as a full-fledged programming language, we can see the effects today.

Making them Turing complete was a conscious decision, though a reluctant one:

> Guy Steele began lobbying for more capabilities early on, and I [Knuth] put many such things into the second version of TEX, TEX82, because of his urging.

http://maps.aanhet.net/maps/pdf/16_15.pdf

Re: Rewriting LaTeX in Pure Rust

#146
post #141

Earlier quoted context omitted.

The average document size hasn't increased in the last 30 years, though, did it? But hardware is several orders of magnitude faster.

I guess we're doing more with graphics, which tend to require more fiddling back and forth to make it look alright, as well as having much higher expectations about interactivity than in the past.

In TeX? My impression was that it's still mostly used for papers, and the output is still normally static DVI/PS/PDF.

Re: Rewriting LaTeX in Pure Rust

#147

Earlier quoted context omitted.

The advantage of this approach (as opposed to a rewrite), is that you reproduce all the bugs and misfeatures that people in the wild depend on. You can then add a test suite and start refactoring and gradually move to a codebase you're happy with, while breaking few or no users on the way. Another approach is to split it into blocks and replace parts of the system, but whether that is feasible depends on the software…

How do you not break people who depend on misfeatures, while eliminating misfeatures? Hey, I think Windows drive letter names are misfeature. Let's have a Windows-in-Rust and they will soon be a thing of the past.

Lets say you have 200 misfeatures, most of which you don't even know exist. You might want to fix 10 of them and not care about the rest, but if you start by breaking all 200 of them users will be mad and stop using your port.

Re: Rewriting LaTeX in Pure Rust

#148

Earlier quoted context omitted.

Why it may be irrelevant that the project is active? Not sure I understood the point behind your last sentence. Can you explain please?

Please do not downvote questions like this (the comment is faded out as I'm writing this). It's a genuine question from a new user, possibly a non-native English speaker, trying to understand someone's comment.

Thank you for the support. Yes it was a genuine question. I am not native English speaker. I was trying to understand the comment.
Post reply on HN