Hacker Newsnew | past | comments | ask | show | jobs | submit | leephillips's commentslogin

Google started as a company that seemed worthy of trust. The founders had ideals and followed them. Look what happened. Companies can turn evil surprisingly quickly. I'm also a Kagi customer, but I wouldn’t use a closed-source browser either.

It’s just transient fashion, driven by people who don’t read books. In another few years the same type of people might be using “employ” or something instead of “utilize”, or returning to “use”.

If you want your English to be good, try to spend more time with books, and less time with anything written after about 1960. This (excellent, and free) advice applies to native speakers as well as those enjoying English as a second (or third, etc.) language.


“unsticking myself always seems to be a matter of finding a name for the thing happening to me”

“That's why having goofy names for them matters so much, because it reminds me not to believe the biggest bog lie of all: that I'm stuck in a situation unlike any I, or anyone else, has ever seen before.”

Could you briefly explain why Pandoc was not sufficient? (Obviously it can’t do the TikZ -> CeTZ conversion.)

Great question! I love Pandoc and use it often, but as a "universal" converter, it sometimes misses the nuances of specific pairs. Tylax is designed specifically for the LaTeX $\leftrightarrow$ Typst workflow. By focusing on just this 1-on-1 pair, we can offer: Better Math & Macros: A built-in macro expander handles custom commands (\newcommand) and complex nested math that general parsers often struggle with. Cleaner Code: The output is designed to be idiomatic and human-readable (e.g., using native Typst functions), not just "compilable." WASM Support: Being written in Rust means it runs instantly in the browser, making it easy to embed in web apps without a backend. Pandoc is the Swiss Army knife; we're trying to be a specialized tool just for this specific transition.

Pandoc does know how to expand LaTeX macros. For example, given the LaTeX

  \newcommand{\pair}[2]{\langle #1, #2\rangle}
  $$\pair{a^2}{\frac{\pi}{2}}$$
pandoc will give you the Typst

  $ chevron.l a^2 \, pi / 2 chevron.r $
which is correct. Tylax, on the other hand, seems to have problems with this example, producing

  $ angle.l^()frac(pi,)angle.r  $
which does not compile with typst. Going the other direction, pandoc also understands typst scripting. For example, from

  #let count = 8
  #let nums = range(1, count + 1)
  #let fib(n) = (
    if n <= 2 { 1 }
    else { fib(n - 1) + fib(n - 2) }
  )

  The first #count numbers of the sequence are:

  #align(center, table(
    columns: count,
    ..nums.map(n => $F_#n$),
    ..nums.map(n => str(fib(n))),
  ))
pandoc produces this LaTeX:

  The first 8 numbers of the sequence are:

  {\def\LTcaptype{none} % do not increment counter
  \begin{longtable}[]{@{}llllllll@{}}
  \toprule\noalign{}
  \endhead
  \bottomrule\noalign{}
  \endlastfoot
  \(F_{1}\) & \(F_{2}\) & \(F_{3}\) & \(F_{4}\) & \(F_{5}\) & \(F_{6}\) &
  \(F_{7}\) & \(F_{8}\) \\
  1 & 1 & 2 & 3 & 5 & 8 & 13 & 21 \\
  \end{longtable}
  }
With the same input, Tylax produces:

  The first 8 numbers of the sequence are:

  \begin{center}

  \begin{tabular}{|c|}
  \hline
  \hline
  \end{tabular}\end{center}
which is just an empty table.

You are absolutely right. Thank you for pointing this out! Regarding your questions: 1. The `\pair` issue: This is definitely a bug. My macro expander is based on text replacement and obviously cannot handle nested parameters. I will fix the recursive logic. 2. The `fib` loop: Pandoc seems to use `typst-hs`, which contains a complete Typst evaluator. Tylax is strictly designed as a static AST transformer. We haven't implemented the Typst virtual machine, so loops or recursive functions cannot be executed. This will be gradually improved later to make it more usable; my claim of "better macro support" was clearly premature. This was a big mistake on my part, and we will strive to achieve this goal in future updates! Thank you very much for your feedback and for pointing out the bug!

That makes sense, especially the issue with macros. As many people have pointed out, since TeX is not just markup but an actual programming language, its output can not be determined, in the general case, without running the source through the TeX interpreter. Of course, the same is true of Typst.

You are absolutely spot on. Both systems are Turing-complete, so a perfect conversion without a full runtime execution is theoretically impossible for the general case. That's exactly the trade-off Tylax makes: we aren't trying to be a full TeX engine (which would be overkill and slow). Instead, we aim to cover the "99% use case" of academic and technical writing—where macros are mostly used for shorthand, notation aliases, or simple formatting, rather than complex computation. Our "limited macro expander" is the middle ground: it's dumb enough to be fast and safe (no infinite loops), but smart enough to handle the \newcommand shortcuts that riddle almost every paper. It's about being pragmatically useful rather than theoretically perfect

I haven’t tried this out yet but my gripe with pandoc is that it produces latex (and typst) that no human would ever write. It looks messy and is annoying to share with coauthors.

This is not to say that pandoc isn’t a fantastic tool.


Without doubt.


Ah, cool. I wasn't sure what "here" could possibly mean when we're talking about a language that was part of the web standard.

AFAIK, CSS syntax is inspired by the syntax of STTS, and STTS intentionally didn't use XML because it's a pain in the ass to hand-write and hand-read. I cannot argue with that assessment.

So CSS's syntax was based on an existing syntax, but it happened to be a syntax that didn't catch fire (which is so often the history of such things): it made plenty of sense at the time when the devs were looking at the options and maybe went "Well, we know XSLT and... It sucks and is hard to use, so what alternatives are there?" And STTS was apparently billed as an XSLT that human beings could write and read.


"I'm creating my own version of something so I don't have to rely on an external source."

https://en.wikipedia.org/wiki/Not_invented_here


Every day. Who doesn’t?


I’ve had better luck with Turo.


I was an undergraduate there. David Kelly was my advisor. APL was my first programming language (using the DecWriter paper terminals) and it’s still my favorite.


Looks like a GUI wrapper in fact, no?


Yes thank you I can get a little clumsy with my acronyms. Downside of not being a proper coder/engineer!


No problem. I only asked because if there were a CLI version I wanted to know about it.


He might have been unusually color aware, as brown is a type of red.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: