From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jan Nieuwenhuizen Newsgroups: gmane.lisp.guile.user Subject: Re: You missed my later work Date: Thu, 27 Apr 2017 14:55:41 +0200 Organization: AvatarAcademy.nl Message-ID: <8760hqui0i.fsf@gnu.org> References: <87fuhtc9y9.fsf@ITSx00.pdp10.guru> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1493297822 16962 195.159.176.226 (27 Apr 2017 12:57:02 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 27 Apr 2017 12:57:02 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cc: guile-user@gnu.org, epsilon-devel@gnu.org, Matt Wette To: Jeremiah@pdp10.guru Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Apr 27 14:56:55 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d3iyb-0004Gg-Tm for guile-user@m.gmane.org; Thu, 27 Apr 2017 14:56:54 +0200 Original-Received: from localhost ([::1]:60600 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3iyh-0005Au-OQ for guile-user@m.gmane.org; Thu, 27 Apr 2017 08:56:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3ixs-0004tr-1G for guile-user@gnu.org; Thu, 27 Apr 2017 08:56:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d3ixq-0008Qb-K3 for guile-user@gnu.org; Thu, 27 Apr 2017 08:56:08 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42711) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3ixY-0008JZ-Bz; Thu, 27 Apr 2017 08:55:48 -0400 Original-Received: from peder.onsbrabantnet.nl ([88.159.206.46]:58112 helo=dundal.peder.onsbrabantnet.nl) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d3ixU-0003wF-Oi; Thu, 27 Apr 2017 08:55:46 -0400 X-Url: http://AvatarAcademy.nl In-Reply-To: <87fuhtc9y9.fsf@ITSx00.pdp10.guru> (Jeremiah@pdp10.guru's message of "Fri, 31 Mar 2017 19:17:50 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13645 Archived-At: [cc: Matt, author of Nyacc] > Well now you could have told them we already had the forth > https://github.com/oriansj/stage0/blob/master/stage2/forth.s > but none of the people in the forth community bothered to build upon it You created a fully bootstrappable LISP and FORTH, wow! That would make my answer easier; I started with Scheme/Lisp because you have to start somewhere, and I like that better. > For example break up the C compiler problem into pieces, for example > have a seperate C preprocessor, a single file C compiler that only > produces assembly and just leverage the already existing assembly > infrastructure I already made. That could open up new possibilities. However, there are so many choices, is this going to help us get forward right now? > I honestly feel that is absolutely something that has to be done. > However, you'll have to constrain yourself to what language features in > C that you use to make the path from what I have completed to what is > required possible. > > Some questions I have are as follows: > 1) Could the C preprocessor componet of Nyacc be isolated and simplified > enough to run on stage0's lisp interpreter and solve the C preprocessor > question? @Matt: would separating the cpp part from Nyacc be feasible? Do you also think that's helpful? > 2) is cc500 or C in 4 functions good enough to bootstrap mescc or do we > need to extend on of them or find/make a different C compiler that could > be compiled by one of them which could get the job done? Thanks for the pointers! I just released Mes 0.5, which is now fully self hosting. We would need to investigate. However, if we restrict the boostrapping path to either Mes or stage0+Mes, how could this help? > 3) has anyone looked at stripping tcc down to only using integers, > structs, bytes and strings and outputting assembly instead of a binary? Compiling tcc is near the top of my priority list -- just below releasing Mes 0.5 (done) and discussing the next step (doing that now). So if nothing changes, I'll be working to compile tcc, any help or insights to make that easier are much appreciated. > 4) or have we become too focused on getting C working that we missed > implementing another language (perhaps PL/0 or algol w) might end up > saving us a bunch of work? Posibly. Christopher Webber mentioned PreScheme to me so I guess he's a fan. Mes is currently prototyped in C, if we could move that to [Pre]Scheme that would be great! However, my first priority is to close the bootstrap loop, i.e. get either GCC or Guile compiled from what's Mes now.=20 > 5) Are there any languages for which it would be easier to implement C > than assembly or simpler than trying to parse C in S-expressions? Mes/Scheme? ;-) I'm not sure that i understand thihs question. > 6) Are there any primitives I could implement into my Lisp that would > make C parsing trivial? The one thing holding me back to attempt glueing your stage-N LISP to Mes is performance (and well, being terribly busy working to release Mes :-). Currently mescc takes 2h30' to compile itself. Compiling tcc is still a lot of work and is 10x as big... I fear that running mes on stage-N's LISP adds another 2 factors of perfomance penalty... > 7) What else could I be missing about this problem? It seems you're asking all the right questions...THANK! However, although this full source bootstrapping endeavor has been a lot of fun until now, one of the biggest difficulties has been to reduce the number of open questions...almost anything seems possible. So I was hoping to get more answers and all I get is more questions ;-) Thanks, greetings janneke --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.nl= =20=20