unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: jeremiah@pdp10.guru
To: bootstrappable@freelists.org
Cc: guix-devel@gnu.org, andrius@stikonas.eu, bootstrappable@freelists.org
Subject: Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Date: Fri, 15 Jan 2021 01:27:18 +0000	[thread overview]
Message-ID: <8735z3c7m1.fsf@ITSx01.pdp10.guru> (raw)
In-Reply-To: <87lfcv19os.fsf@gnu.org> (message from Ludovic Courtès on Thu, 14 Jan 2021 22:37:55 +0100)


>> I think that's what mes-m2 rewrite [1] (not to be confused with mes wip-m2 branch)
>> is trying to achieve.
> Oh I see.  It’s still kinda confusing to have two Mes.  Wouldn’t it be
> nice to have just one?
yes it would.

Which is why a third scheme is being written in the Haskell subset we
are bootstrapping.

Ironically time from M2-Planet to Haskell was just a couple of weeks of work.

but M2-Planet to scheme is a bit of a pain point, as janneke and I seem
to have very different styles for scheme in C.

But that might simply because I spent the last 4 years dealing with hex
and assembly and my scheme code is now crap.

> I understand the goals are not exactly the same,
> but is there some way to converge?  (This is a naive question, you’ve
> probably already thought about it, but anyways.  :-))
There are 3 easy ways to converge the two.

1) transplant janneke's wip-m2 eval into mes-m2 to solve the mes-m2
macro problem enough to run MesCC (but might make guile compatibility harder).

2) transplant my mes-m2's garbage collector into wip-m2 to solve the wip-m2
pointer arithmetic problem (but is even farther from guile compatibilty).

3) not actually converge the code and simply throw one or both of them
away. Say write the whole thing in a better language than C (haskell
perhaps but ultimately requires abandoning previous work).

I wish I had better answers but we still have guile's psyntax.pp
bootstrapping problem and figuring out how to do syntax-case in C is a
b**** of a problem; not even having to deal with the do this with a
minimal C compiler restrictions involved.

If we pulled the scheme macro requirement out, then the number of
minimal schemes which could run MesCC would explode.

But it seems unlikely such a change would occur as macro-less scheme is
no more productive than standard C coding.

- Jeremiah


  reply	other threads:[~2021-01-15  1:29 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 17:01 wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' Jan Nieuwenhuizen
2021-01-05  0:49 ` [bootstrappable] " jeremiah
2021-01-05 16:58 ` Pierre Neidhardt
2021-01-06 11:32 ` [bootstrappable] " Ludovic Courtès
2021-01-06 11:46   ` [bootstrappable] " Andrius Štikonas via Development of GNU Guix and the GNU System distribution.
2021-01-06 14:03     ` Orians, Jeremiah (DTMB)
2021-01-14 21:37     ` Ludovic Courtès
2021-01-15  1:27       ` jeremiah [this message]
2021-01-21 11:09         ` Ludovic Courtès
2021-01-21 17:52           ` Orians, Jeremiah (DTMB)
2021-01-28 13:40             ` Ludovic Courtès
2021-01-28 13:44               ` Orians, Jeremiah (DTMB)
2021-01-06 14:38 ` [bootstrappable] " Paul Sherwood
2021-01-07 10:43   ` Jan Nieuwenhuizen
2021-01-07 20:10     ` [bootstrappable] " Danny Milosavljevic
2021-01-07 20:23       ` Danny Milosavljevic
2021-01-07 22:52         ` Danny Milosavljevic
2021-01-08  6:25           ` Jan Nieuwenhuizen
2021-01-08  8:05             ` [Tinycc-devel] " arnold
2021-01-08 13:02               ` Jan Nieuwenhuizen
2021-01-08 13:43             ` Danny Milosavljevic
2021-01-08 14:07               ` Danny Milosavljevic
2021-01-08 16:15                 ` Jan Nieuwenhuizen
2021-01-08 18:56                   ` Danny Milosavljevic
2021-01-08 21:11                     ` Danny Milosavljevic
2021-01-08 22:13                       ` Jan Nieuwenhuizen
2021-01-08  7:16           ` [Tinycc-devel] " grischka
2021-01-08 13:25             ` Danny Milosavljevic
2021-01-08 13:36               ` [bootstrappable] Re: [Tinycc-devel] " Orians, Jeremiah (DTMB)
2021-01-08 15:16                 ` [Tinycc-devel] [bootstrappable] " Vincent Lefevre
2021-01-08 16:12               ` [Tinycc-devel] [bootstrappable] " Jan Nieuwenhuizen
2021-01-25 22:47       ` ARM Unified Assembly Language - GNU as does some weird stuff Danny Milosavljevic
2021-01-25 23:12         ` [bootstrappable] " Orians, Jeremiah (DTMB)
2021-01-26  1:14         ` Danny Milosavljevic
2021-01-08  0:29 ` wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' Jan Wielkiewicz
2021-01-20 20:19 ` Timothy Sample
2021-01-25 18:48   ` Efraim Flashner
2021-01-29  7:23     ` [bootstrappable] " Jan Nieuwenhuizen
2021-01-29 10:18       ` andrius--- via Development of GNU Guix and the GNU System distribution.
2021-01-29 16:02         ` Orians, Jeremiah (DTMB)

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8735z3c7m1.fsf@ITSx01.pdp10.guru \
    --to=jeremiah@pdp10.guru \
    --cc=andrius@stikonas.eu \
    --cc=bootstrappable@freelists.org \
    --cc=guix-devel@gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).