Closed masinter closed 3 years ago
idea: port MAKEINIT to Common Lisp. Then you'd just need a valid common lisp to remake the system from sources
I don’t think the problem is not having an environment to make the init, the problem is that the code we have is making an init that isn’t quite right.
On Sep 30, 2020, at 1:52 PM, Larry Masinter notifications@github.com wrote:
idea: port MAKEINIT to Common Lisp. Then you'd just need a valid common lisp to remake the system from sources
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/36#issuecomment-701638754, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJLBSO2MQP4JUQM33NLSIOLA3ANCNFSM4RT5TU6Q.
what is the process for making an init? I only vaguely remember.
idea: port MAKEINIT to Common Lisp. Then you'd just need a valid common lisp to remake the system from sources
This would also make Medley bootstrappable which would be a nice feature in itself.
I think porting MAKEINIT would be a very big deal.
As long as we have a running Medley sysout, we can use it to make makeinits for new systems (if we can figure out why what we have now or the procedure that we tried when we last looked at this doesn’t produce a runnable sysout).
In principle, Medley bootstraps itself.
On Oct 12, 2020, at 5:10 PM, Kirtai notifications@github.com wrote:
idea: port MAKEINIT to Common Lisp. Then you'd just need a valid common lisp to remake the system from sources
This would also make Medley bootstrappable http://bootstrappable.org/ which would be a nice feature in itself.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/36#issuecomment-707408183, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJIV2ITVSJ5ZNHZGN73SKOLINANCNFSM4RT5TU6Q.
It would also help separate the runtime tooling from the build time tooling. IIRC, I believe this was part of the motivation to make SBCL buildable from other lisp implementations.
Run time is build time in Interlisp, More or less on purpose. If you run into a program error, you can stop and fix it and keep going. Separating them isn't a project goal.
I changed the issue title to reflect the original intent
My apologies for being so unclear. I was referring to preventing implementation details of the build system leaking into the target system. Iirc cmucl had problems with that which SBCL fixed.
I definitely wasn't suggesting splitting run time from build time. That the are the same is one of the things that appeals to me about lisp :)
What I'm learning is that my github issues i've raised aren't good enough. It was very Interlisp-like to write enough that I could write more when I got to it. Maybe a 'needs explanation' tag for those issues here.
@rmkaplan wrote
The procedure that I put together a few years ago (which led to the init.sysout that wouldn’t run) is encapsulated in current/MAKEINITGREET. It’s suppose to do its thing if you provide this as a greet file (although it may have to be updated if we have moved things around).
The code for making an INIT sysout is some of the worst Lisp code I've ever seen, especially in its use of free variables. Never mind that I think I was responsible for the worst atrocities 30 years ago. There are an abundance of hacks. I've made an INIT.DLINIT by faking the Dandelion microcode that was inserted into the beginning of the file. working in the makeinit2 branch. I don't expect it to work, but I need a maiko INIT build to make more progress.
There is a lot of "clean up" work to do -- to simplify the code and remove unnecessary complexity, but we now have a path to making sysouts from scratch.
Nice work, Larry!
On Mar 1, 2021, at 7:55 PM, Larry Masinter notifications@github.com wrote:
There is a lot of "clean up" work to do -- to simplify the code and remove unnecessary complexity, but we now have a path to making sysouts from scratch.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/36#issuecomment-788514409, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBP2DDVEKPIQEAUUDXATTTTBRAP7ANCNFSM4RT5TU6Q.
The Interlisp tool set helped with some tools for allowing you to build systems from lisp sources, but it didn't enforce it, and we've seen instances #31 where it isn't true.
I imagine in many cases it was set up ok, but in the end we have to check it out file by file.
@rmkaplan has some cases where compiled and source files don't match.
think you have to weigh the risk between -- the .dfasl is from the wrong version of the file, and it's broken -- the dfasl is fine but recompiling from the right source will make things worse, because
I don't think those things can be resolved quickly. We have sysouts that work and are pretty stable. we have compiled files that work. let's put out a release of what we have and warn people and ask for help testing. I'd like to get to the point where a full sysout can be rebuilt from sources (compilling every file from sources automatically (except having to have a 'starter' sysout to make an init to compile the compiler) but we're not there.