[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gash on Mes
From: |
Jan Nieuwenhuizen |
Subject: |
Re: Gash on Mes |
Date: |
Mon, 02 May 2022 07:16:35 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Timothy Sample writes:
Hi Tim!
> Now that we have working modules, I took a look at getting Gash running
> on Mes. For the most part, it’s going very well! I can already launch
> a shell and run built-ins and simple commands. This means that Gash’s
> parser, backend, evaluator, and built-ins are working. They certainly
> don’t work well, but I’m happy to see them all pass a smoke test.
For a first attempt, that is great news!
> You can run Gash by setting up a launching script:
>
> (use-modules ((gash gash) #:prefix gash:))
>
> (set-current-input-port 0)
> (gash:main '())
>
> and invoking the script like this (setting the path to Gash
> appropriately):
>
> MES_ARENA=10000000 \
> MES_BOOT=mes/module/mes/boot-5.scm \
> GUILE_LOAD_PATH=../gash \
> ./pre-inst-env mes-gcc ./gash.scm
Oh...nice!
> (As an aside, did you notice how the ‘#:prefix’ keyword just works?
> It’s nice how many of Guile’s niceties the Mes module system has,
> including ‘@’ and ‘@@’.)
Yeah!
> So far I’m only testing with the GCC build of Mes. The first commit on
> wip-gash disables M2-Planet completely. The reason for this is I’m not
> sure it makes sense to add all the new POSIX interfaces needed for Gash
> to the M2 build of Mes. Maybe it’s easier to bootstrap Mes first and
> then run Gash on the MesCC build of Mes.
Yes, this would be my first idea too.
> Newer versions of M2 support conditional compilation, so it would be
> straightforward to omit some POSIX-heavy Mes built-ins when building
> with M2 provided we can use an updated version. Thoughts?
Making use of the new preprocessor capabilities to cleanup the
lib/linux/m2/... include hacks would be nice, but building a more
minimal (POSIX-interface wise) mes-m2 with M2-Planet first to build a
full mes later seems the right thing to do. For the bootstrap that
would mean however that we would need to build the full mes without a
shell (i.e. with kaem only), where the mes build currently makes heavy
use of shell scripts. We'll have to see...For now, disabling the
M2-Planet build is fine, of course.
> The other thing to note is that I’m putting a bunch of shims in Gash,
> since it already has a compatibility layer for different versions of
> Guile. I adapted that to work with Mes, too, and it’s really easy to
> just fix things at that layer. I think that a lot of the shims should
> end up in Mes itself, but since the compatibility layer works well
> enough, there’s no urgency there.
Makes sense. Exciting stuff!
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Gash on Mes,
Jan Nieuwenhuizen <=