RE: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-27 Thread Orians, Jeremiah (DTMB)
> Jan is correct that Guile is still heavily tied to its C code. It's true > that Guile's compiler is written in Scheme and that > the C evaluator is used only during bootstrapping, but the C bootstrap > evaluator is only a small piece of libguile. > The majority of libguile is still needed. N

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-25 Thread Jan Nieuwenhuizen
Ricardo Wurmus writes: Hey Ricardo, >> Is there a way to use replace the guile-2.2.2 dependency with the static >> bootstrap tarball guile-2.0.9? That would already help a lot! > > You can override the “guile-for-build” in the GNU build system by > passing “#:guile ,my-guile” as an argument. Tha

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-23 Thread Ricardo Wurmus
Hi janneke, > Is there a way to use replace the guile-2.2.2 dependency with the static > bootstrap tarball guile-2.0.9? That would already help a lot! You can override the “guile-for-build” in the GNU build system by passing “#:guile ,my-guile” as an argument. > *) should i push this to savann

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-23 Thread Jan Nieuwenhuizen
Ricardo Wurmus writes: > Ludovic Courtès writes: > >> So the next steps in the dependency graph are: >> >> mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc >> >> Do I get this right? Possibly: yes. I have added tinycc-boot including tests. I mean to refactor the builders and just for fun add gc

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-22 Thread Mark H Weaver
Hi, "Orians, Jeremiah (DTMB)" writes: >> Hmm, it's my understanding that Guile is pretty heavily tied to >> libguile/*.c. What makes you think that it's possible for Guile to >> run without libguile/*.c? > https://wingolog.org/archives/2016/01/11/the-half-strap-self-hosting-and-guile > > Specif

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-21 Thread Ricardo Wurmus
Ludovic Courtès writes: > So the next steps in the dependency graph are: > > mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc > > Do I get this right? It’s not clear yet. An alternative approach is to try to build Guile first by using mes as the bootstrap Scheme interpreter. Also: I wonder if

RE: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-21 Thread Orians, Jeremiah (DTMB)
> Plus there is another angle on this. MesCC, the bootstrap C compiler in > Scheme, is not a intended to be used beyond bootstrapping. And probably will lose features over time not directly related to the act of bootstrapping itself > A C compiler on top of Guile however, could be a very inter

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-21 Thread Jan Nieuwenhuizen
Orians, Jeremiah (DTMB) writes: >> It wouldn’t really help in that mescc+/guilecc is just as capable as the >> earlier mescc, no? > There is however a real difference in terms of performance, guile is simply > faster Plus there is another angle on this. MesCC, the bootstrap C compiler in Schem

RE: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-21 Thread Orians, Jeremiah (DTMB)
> It wouldn’t really help in that mescc+/guilecc is just as capable as the > earlier mescc, no? There is however a real difference in terms of performance, guile is simply faster > Indeed, Guile needs a C compiler. Technically, it could be built from a lisp compiler > In general, we need a C co

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-20 Thread Ludovic Courtès
Jan Nieuwenhuizen skribis: > Ricardo Wurmus writes: > >> Ludovic Courtès writes: >> >>> So the next steps in the dependency graph are: >>> >>> mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc >>> >>> Do I get this right? > > That has been my idea for a long time, yes...but it may not be feasible,

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-20 Thread Gábor Boskovits
We had a discussion about that on the irc channel, and it seems, that we can make a boostrap path to another architecture by using a bootstrapped toolchain and cross compiling. It is not very confortable, but I think we can extend the list of bootstrappable software considerably by that. 2017-11-2

RE: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-20 Thread Orians, Jeremiah (DTMB)
> Yeah, the mean reason to do it in Guix packages is that it becomes impossible > to cheat. However, coding the bootstrap path in Guix > means that we depend on some form of Guile...hmm. Easy to break, simply allow each piece to be able to be built using only a trivial shell script

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-20 Thread Jan Nieuwenhuizen
Ludovic Courtès writes: Hey Ludo' > Also, AIUI, stage0 is i386-specific. Thoughts on how we can eventually > support the other architectures Guix works on? I goofed ere. Stage0 is mainly using a VM and it has a x86_64 prototype; no x86 yet. Of course, creating the x86 hex0 is almost trivial g

Re: [bootstrappable] Re: prototyping the full source bootstrap path

2017-11-20 Thread Jan Nieuwenhuizen
Ricardo Wurmus writes: > Ludovic Courtès writes: > >> So the next steps in the dependency graph are: >> >> mes-boot -> mescc -> tinycc -> gcc@4.7 -> gcc >> >> Do I get this right? That has been my idea for a long time, yes...but it may not be feasible, wise or most fun. It may not be feasible