Live data from Hacker News

Rewriting LaTeX in Pure Rust

github.com

71–80 of 148 posts

Re: Rewriting LaTeX in Pure Rust

#71

I'm not sure rewriting Latex in XYZ is a good idea. The whole thing is a mess and a pain to use (and I use it multiple times a week). Sure the documents often look good, but when they don't or there is an error, fixing it just becomes a nightmare. I wish somebody would design a modern typesetting system that would accept say latex equations but without 50 years of cruft and levels of macroses upon macroses.

Sile appears to still be under active development: https://github.com/sile-typesetter/sile

Re: Rewriting LaTeX in Pure Rust

#72

Earlier quoted context omitted.

> For the longest time the open source community has shown that it has an issue with innovation How so? A bunch of my favorite software has no real closed-source equivalent, sometime precisely because it’s open source.

The vast majority of open source software is a clone of a closed-source alternative. I currently having issues with thinking of a widely adopted, consumer-oriented software that has no closed-source alternative. What is your favorite software that has no real closed-source equivalent?

I feel you are shifting the goal posts by adding “consumer-oriented". There are plenty of areas where open source is what advances the state of the art. E.g programming languages (almost all are open source), compilers (LLVM and GCC is where a lot of innovation happens), GIS databases (PostGIS is the leader,the commercial ones follow) and in operating system kernels Linux is probably the most advanced while innovation at the same time happens in experimental kernels which are also open source. Plus some of the most complex beasts in software, web browsers, are all open source. Your snark against open source feels so 2005.

Open source dominates quite many areas but has admittedly some issues producing consumer facing products (but there are exceptions like Blender and vlc).

Re: Rewriting LaTeX in Pure Rust

#73
post #52

Earlier quoted context omitted.

But the advantage of avoiding C specific bugs is shallow, because the Rust code contains lots of unsafe blocks. Bugfixes made to the original source are not automatically ported to the Rust code base. From my point of view the chosen porting "strategy" doesn't make much sense. It is more of a toy project to see what's possible. What would really make sense would be starting with an extensive test suite and trying to…

The unsafe blocks can be removed one by one as time goes on. It's no different to any other legacy refactoring project: get the old code on a new platform, instrument/add unit tests, refactor piece by piece until the end result is acceptable.

> It's no different to any other legacy refactoring project

There are two approaches to a project like that, as you say, take something which works and iteratively make it better, or derive a specification from the project which works and create a new from-scratch implementation to meet that specification.

My experience with the "from-scratch" approach is that it is very easy to miss details in the specification that will only be found out later, so it is very easy to underestimate the amount of work required. Ironically, that contributes towards making it easier to kick off the project, as it looks like it will be easier and cheaper. Especially if there is a view to drop features in the new version, which is fine until the actual users find out about the plan.

Another issue is that the old system which is being improved is often actually still in use, and the users still want new features even while the new system is being developed. Either those requests can be rejected, or implemented twice (once in the new system, once in the old). When incrementally improving the current system instead, those new features may end up touching areas of the code that have already been improved, making them cheaper to implement, not more expensive.

Basically, I think you're right. Keep the current system working, and improve it without breaking it.

Re: Rewriting LaTeX in Pure Rust

#75

This looks amazing and like everything I always wanted. Sadly, I think basing off XeTeX and not LuaTeX is a mistake. Certainly renders it unusable for me. Having Lua integration is just great. Also, `lualatex` does not have some of the limitations of `xelatex` (memory limitations, `contours` package, ...), but I guess this XeTeX reimplementation can work on removing those implementations, so that only lack of Lua int…

I don't understand either, I thought that all developments effort went into LuaTeX now and that XeTeX was obsolete... and, for, like, 5-6 years

Re: Rewriting LaTeX in Pure Rust

#76

Earlier quoted context omitted.

You don't play very many new games do you?

Being on HN and talking about TeXLive, I was thinking in terms of Linux, for which those 90GB blockbuster games don't exist (?). So I did a mental jump there, because to me TeXLive is the "native" Linux TeX distribution, and Miktex the "native" Windows distribution.

> I was thinking in terms of Linux, for which those 90GB blockbuster games don't exist (?)

https://www.protondb.com/

Re: Rewriting LaTeX in Pure Rust

#77

Earlier quoted context omitted.

> For the longest time the open source community has shown that it has an issue with innovation How so? A bunch of my favorite software has no real closed-source equivalent, sometime precisely because it’s open source.

The vast majority of open source software is a clone of a closed-source alternative. I currently having issues with thinking of a widely adopted, consumer-oriented software that has no closed-source alternative. What is your favorite software that has no real closed-source equivalent?

we are literally discussing LaTeX which definitely has no relevant closed-source equivalent.

Re: Rewriting LaTeX in Pure Rust

#78
post #72

Earlier quoted context omitted.

The vast majority of open source software is a clone of a closed-source alternative. I currently having issues with thinking of a widely adopted, consumer-oriented software that has no closed-source alternative. What is your favorite software that has no real closed-source equivalent?

I feel you are shifting the goal posts by adding “consumer-oriented". There are plenty of areas where open source is what advances the state of the art. E.g programming languages (almost all are open source), compilers (LLVM and GCC is where a lot of innovation happens), GIS databases (PostGIS is the leader,the commercial ones follow) and in operating system kernels Linux is probably the most advanced while innovatio…

> has admittedly some issues producing consumer facing products

Not just them. Open source community has issues with complex software that needs substantial amount of R&D, UI/UX design, manual QA, hardware design, or pretty much everything else that's not coding.

Multimedia codecs aren't user facing, yet only PNG was invented as open source, the rest of the wide spread ones (gif, jpeg, MP3, MPEG2, h264, h265, AAC, etc) - were made by companies. Open source developers made their Vorbis, Theora and others, were not good enough.

Re: Rewriting LaTeX in Pure Rust

#79

I wonder Does this still depend, even indirectly, at the WEB files written by Knuth? It has the strange license that says "Copying of this file is authorized only if (1) you are D. E. Knuth, or if % (2) you make absolutely no changes to your copy." http://mirror.las.iastate.edu/tex-archive/systems/knuth/dist...

[deleted]

Re: Rewriting LaTeX in Pure Rust

#80

I'm not sure rewriting Latex in XYZ is a good idea. The whole thing is a mess and a pain to use (and I use it multiple times a week). Sure the documents often look good, but when they don't or there is an error, fixing it just becomes a nightmare. I wish somebody would design a modern typesetting system that would accept say latex equations but without 50 years of cruft and levels of macroses upon macroses.

I don’t like Word but it does accept Latex math and is easy to use.
Post reply on HN