From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Julien Lepiller <julien@lepiller.eu>,
Ricardo Wurmus <rekado@elephly.net>
Cc: guix-devel@gnu.org
Subject: Re: Scala package
Date: Tue, 18 May 2021 13:36:43 +0200 [thread overview]
Message-ID: <a9e1de0fe836f12f6a9b50be2e5503df84db0360.camel@student.tugraz.at> (raw)
In-Reply-To: <E9CBAA1B-1155-4D66-A29B-DC78A613FE81@lepiller.eu>
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?
> Le 18 mai 2021 05:44:42 GMT-04:00, Ricardo Wurmus <rekado@elephly.net
> > a écrit :
> > Leo Prikler <leo.prikler@student.tugraz.at> writes:
> >
> > > Hi Julien,
> > >
> > > Am Dienstag, den 18.05.2021, 01:01 +0200 schrieb Julien
> > > Lepiller:
> > > > Hi Guix!
> > > >
> > > > I have the attached file that build Scala, although it's not
> > > > bootstrapped at all. It contains %binary-scala, a few
> > > > dependencies of
> > > > Scala we haven't packaged yet, and the final scala, built from
> > > > %binary-scala, without sbt (which requires Scala too).
> > > >
> > > > Since I've tried and failed to bootstrap Scala for so long, I
> > > > think
> > > > it's time to give up. I can't always create miracles.
> > >
> > > Some points relevant to bootstrapping:
> > > - The last version, that ships "scalai" written in Java seems
> > > to
> > > be
> > > v1.4.0+4. Perhaps one can use scalai to bootstrap scalac
> > > within it.
> > > - The last version, that does not "require" sbt is 2.11.x,
> > > though with your workaround we can also build later versions.
> >
> > We tried building a clean bootstrap chain for Scala for years.
> > Back then I went down the rabbit hole and found that early scalac
> > is written in Pizza; but it turned out that Pizza is written in
> > Pizza and is released under the old Artistic License, which is
> > considered non-free.
> >
> > https://logs.guix.gnu.org/guix/2018-04-08.log#230002
> > https://logs.guix.gnu.org/guix/2018-04-09.log#073740
> >
> > I pointed a branch at an old Scala commit that contains the old
> > Socos compiler source, which ostensibly are written in Java, but
> > actually are not:
> >
> > https://github.com/rekado/scala-bootstrap/tree/bootstrap
> >
> > This is at around version 1.4.0.4, as you wrote above.
> >
> > Since the old days Scala Native has grown considerably, and
> > perhaps we can reuse some of its native libraries. I’m not too
> > hopeful, because the bulk of it is still written in Scala,
> > obviously, but there are parts that are written in C / C++, which
> > might come in handy.
> >
> > https://github.com/scala-native/scala-native
next prev parent reply other threads:[~2021-05-18 11:37 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 [this message]
2021-05-18 12:37 ` Julien Lepiller
2021-05-18 13:52 ` Leo Prikler
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=a9e1de0fe836f12f6a9b50be2e5503df84db0360.camel@student.tugraz.at \
--to=leo.prikler@student.tugraz.at \
--cc=guix-devel@gnu.org \
--cc=julien@lepiller.eu \
--cc=rekado@elephly.net \
/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.