commit: d11751d37654d7cb93010af574d6c821785c996a
parent c9ce5b70b8787ecdac5178a0f41a5538e67243e9
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sun, 19 Feb 2023 20:15:40 +0100
notes/bootstrapping: Alternatives to deal with TypeScript?
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/notes/bootstrapping.shtml b/notes/bootstrapping.shtml
@@ -38,7 +38,7 @@
<h3>Erlang</h3>
<p>Documented as originally implemented in prolog, now version <i class="math">n</i> requires binaries version <i class="math">n-1</i> or <i class="math">n</i> to build. No alternative compiler known so far.</p>
- <h3>Rust</h3>
+ <h3 id="rust">Rust</h3>
<p>
There is <a href="https://github.com/thepowersgang/mrustc">mrustc</a> but it's quite unstable and so far GuixSD seems to be the only distro using it.
Getting to stable also involves compiling the intermediary versions.
@@ -51,7 +51,7 @@
<h3>Free-Pascal Compiler / Object Pascal</h3>
<p><a href="https://bootstrapping.miraheze.org/wiki/Aesop">Aesop</a> seems to still be at the vaporware stage, no code is available.</p>
- <h3>Nim</h2>
+ <h3>Nim</h3>
<p>
The transpiled C non-source code used for bootstrapping contained in <code>./c_code/</code> is pretty much what you would get with C++ mangled symbols auto-decompiled to C.<br />
<a href="https://bootstrapping.miraheze.org/wiki/Bootstrapping_Nim">Real Bootstrapping</a> would need a bootstrap path for Object Pascal, which doesn't exists.
@@ -91,11 +91,15 @@
<h3>TypeScript</h3>
<p>Compiler itself is written in TypeScript, no bootstrap path possible as the <a href="https://github.com/microsoft/TypeScript/commit/214df64e287804577afa1fea0184c18c40f7d1ca">commit introducing the compiler</a> is TypeScript code. Want TypeScript compiler? Get a blob from <code>npmjs.org</code>, like the <a href="https://github.com/microsoft/TypeScript/commit/99ec3a96880649eeaa08c3df30e3ae802048f4fe">Initial commit</a> tells you.</p>
+ <p>
+ Alternative might be <a href="https://github.com/swc-project/swc">swc</a> (<a href="#rust">Rust</a>). Note that <a href="https://deno.land/">Deno</a> (also <a href="#rust">Rust</a>) just <a href="https://github.com/denoland/deno/blob/main/tools/update_typescript.md">grabs pre-transpiled JS from Microsoft</a> and <a href="https://babeljs.io/">Babel</a> simply seems to depend on the <code>typescript</code> package.<br />
+ And it should be noted that TypeScript seems to have no specification anymore. (Commit: <a href="https://github.com/microsoft/TypeScript/commit/91822db8e01e38e1f9d80142df67d3849851571d">Remove doc folder (old archived spec and assets), word2md script</a>)
+ </p>
<h2>Historically problematic</h2>
<h3>Firefox >=68 <=78</h3>
- <p>Firefox would bundle python2 and refuse to build if removed. See <a href="https://salsa.debian.org/mozilla-team/firefox/-/commits/esr78/master/obj-x86_64-pc-linux-gnu/_virtualenvs/init/bin">Debian firefox-esr source history</a>
+ <p>Firefox would bundle python2 and refuse to build if removed. See <a href="https://salsa.debian.org/mozilla-team/firefox/-/commits/esr78/master/obj-x86_64-pc-linux-gnu/_virtualenvs/init/bin">Debian firefox-esr source history</a></p>
<h2>Non-Problematic / Praise</h2>
<h3>Go</h3>