From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Julien Lepiller <julien@lepiller.eu>
Cc: guix-devel@gnu.org
Subject: Re: Scala package
Date: Tue, 18 May 2021 15:52:01 +0200 [thread overview]
Message-ID: <e6686da3005b74b373aa4d55304c2060724e4373.camel@student.tugraz.at> (raw)
In-Reply-To: <20210518143730.716c0756@tachikoma.lepiller.eu>
Am Dienstag, den 18.05.2021, 14:37 +0200 schrieb Julien Lepiller:
> Le Tue, 18 May 2021 13:36:43 +0200,
> Leo Prikler <leo.prikler@student.tugraz.at> a écrit :
>
> > Am Dienstag, den 18.05.2021, 07:15 -0400 schrieb Julien Lepiller:
> > > The old scala is written in a superset of java5, that requires
> > > PiCo
> > > to build, and PiCo was built with JaCo. They were developped at
> > > EPFL, and you can find a binary for it, but no source:
> > > http://zenger.org/jaco/
> > >
> > > Apparently, JaCo was later reimplemented in Keris, whose source
> > > code
> > > is available. However, KeCo (the Keris compiler) is written in
> > > Keris.
> > >
> > > It is not even clear that building an old version of scala is
> > > going
> > > to work, as the language evolved a lot since then.
> > >
> > > I think the best way to bootstrap would be to reimplement Scala
> > > in
> > > another language. I tried that too, but even the parser is
> > > crazy.
> > Thanks Julien and Ricardo for the detailed explanation of what goes
> > wrong here.
> >
> > Would a bootstrap chain from 2.0.x work at least, so that the crazy
> > Scala parser can target a specific (early) version and we get a
> > slightly smaller binary or are the gains from that too
> > minimal? This
> > is also a concern going forward, can we always hope to "bootstrap"
> > the
> > next Scala version with the one currently packaged in Guix?
>
> That's not even clear it would be possible. Citing discussion on
> Scala's forum
> (
> https://contributors.scala-lang.org/t/compiling-scala-and-sbt-for-debian-distro/3620/12
> )
>
> The Scala 2.12 compiler is written in Scala 2.12 and uses the Scala
> 2.12 standard library. Compiling it with 2.11 isn’t an option.
>
> and later:
>
> If that was the only hurdle you had to clear, you might be fine. But
> it
> isn’t the only hurdle; the compiler was re-bootstrapped several dozen
> times between 2.11.6 and 2.12.9. (And then a bunch more times after
> that to get to 2.13.0.)
>
> so we would get an enormous bootstrap chain, and it's not even
> guaranteed that each bootstrap can be replayed nicely.
So in the end we would always be forced to bootstrap Scala 2.x.y from
more or less that exact 2.x.y? How does anyone find this acceptable?
next prev parent reply other threads:[~2021-05-18 13:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-17 23:01 Scala package Julien Lepiller
2021-05-18 7:08 ` Leo Prikler
2021-05-18 9:44 ` Ricardo Wurmus
2021-05-18 11:15 ` Julien Lepiller
2021-05-18 11:36 ` Leo Prikler
2021-05-18 12:37 ` Julien Lepiller
2021-05-18 13:52 ` Leo Prikler [this message]
2021-05-18 21:35 ` Ludovic Courtès
2021-05-19 15:35 ` Katherine Cox-Buday
2021-05-20 19:09 ` Shyam Saran
2021-05-20 19:34 ` Julien Lepiller
2021-05-21 9:32 ` Shyam Saran
2021-05-18 14:00 ` Daniel Trujillo Viedma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e6686da3005b74b373aa4d55304c2060724e4373.camel@student.tugraz.at \
--to=leo.prikler@student.tugraz.at \
--cc=guix-devel@gnu.org \
--cc=julien@lepiller.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.