What's Ruby?

An interpreted, multi-paradigm, high-level, general-purpose programming language. You need Rust to build it.

What's Rust?

A compiled, multi-paradigm, high-level, general-purpose programming language. You need Python to build it.

What's Python?

An interpreted, multi-paradigm, high-level, general-purpose programming language.

Do I need, uhm, Perl to build it?

No, but you need Perl to build Rust.

I knew it. What's Perl?

An interpreted, multi-paradigm, high-level, general-

@jschauma FFS when can folks stop making these gratuitous compounding build/bootstrapping dependencies? Ruby needing Rust is probably reasonable. Rust needing Python and Perl is nothing but laziness and cost externalization.

@dalias @jschauma I'd like if it were more common to bootstrap compilers & interpreters and make some basic frontend in GCC to shortcircuit that.

So you get the GCC bootstrap & then instantly can move on to anything.

https://guix.gnu.org/en/blog/tags/bootstrapping/

Page 1 — Bootstrapping — Blog — GNU Guix

Blog posts about Bootstrapping on GNU Guix.

@lispi314 Do you mean something like #GCCrs?

That got a lot of backlash (from lots of people who said that the approach is bad and completely ignored bootstrapping), but they are going through with it and are making good progress: https://rust-gcc.github.io/

(me and others told them again and again that what they are doing is great work and two years ago they finally got funding)

@dalias @jschauma

GCC Front-End For Rust | Alternative Rust Compiler for GCC

@ArneBab @dalias @jschauma That certainly does look like what I'm suggesting.

It'd make for an alternative bootstrap option usable for instance in #Guix (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/rust.scm), but from the project goals it would also eventually become an entirely distinct valid compiler for Rust, which seems quite desirable for me.

rust.scm\packages\gnu - guix.git - GNU Guix and GNU Guix System

python-on-guile / Python On Guile · GitLab

GitLab.com

GitLab

@lispi314 sidenote: that #guile bootstrap path was developed for #guix :

GNU Mes (maxwell equations of software) provides a minimal #scheme interpreter and C #compiler with tooling to build #tinycc that can be used with the Mes C library to compile glibc-2.2.5, binutils-2.20.1, gcc-2.95.3 with which you can build the whole #GNU system.

Thanks to #GCCrs that will soon include #Rust

Thanks to #Python on Guile it includes a shortcut for compatible Python-based tooling.
#GCC
@dalias @jschauma

@lispi314 and Mes was created by @janneke and in later stages supported by NLnet: https://nlnet.nl/project/GNUMes/ @dalias @jschauma
NLnet; GNU Mes