From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id yCP5Cw/wAGBwRgAA0tVLHw (envelope-from ) for ; Fri, 15 Jan 2021 01:29:51 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2JCyBw/wAGAraQAAbx9fmQ (envelope-from ) for ; Fri, 15 Jan 2021 01:29:51 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9E8D1940309 for ; Fri, 15 Jan 2021 01:29:50 +0000 (UTC) Received: from localhost ([::1]:38212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l0Dvx-0006S3-GR for larch@yhetil.org; Thu, 14 Jan 2021 20:29:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59686) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0Dtg-0005tm-Rv for guix-devel@gnu.org; Thu, 14 Jan 2021 20:27:29 -0500 Received: from itsx01.pdp10.guru ([74.207.247.251]:51146) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0Dte-0001iH-Q6; Thu, 14 Jan 2021 20:27:28 -0500 Received: from auennplxrtxfoohp by ITSx01.pdp10.guru with local (Exim 4.92) (envelope-from ) id 1l0DtW-0004V1-42; Fri, 15 Jan 2021 01:27:18 +0000 From: jeremiah@pdp10.guru To: bootstrappable@freelists.org Subject: Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' In-Reply-To: <87lfcv19os.fsf@gnu.org> (message from Ludovic =?utf-8?Q?Cour?= =?utf-8?Q?t=C3=A8s?= on Thu, 14 Jan 2021 22:37:55 +0100) Date: Fri, 15 Jan 2021 01:27:18 +0000 Message-ID: <8735z3c7m1.fsf@ITSx01.pdp10.guru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: none client-ip=74.207.247.251; envelope-from=jeremiah@pdp10.guru; helo=ITSx01.pdp10.guru X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org, andrius@stikonas.eu, bootstrappable@freelists.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.36 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 9E8D1940309 X-Spam-Score: -2.36 X-Migadu-Scanner: scn1.migadu.com X-TUID: PoayfEXAlqUY >> 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=E2=80=99s still kinda confusing to have two Mes. Wouldn=E2= =80=99t 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 wor= k. 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=E2=80= =99ve > 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 harde= r). 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