Ricardo Wurmus schreef op vr 30-04-2021 om 17:19 [+0200]: > Hi Maxime, > > I looked at the code and wonder if perhaps we should just rewrite > the CL code to do without multiple inheritance and instead use > compound conditions where necessary.
I don't feel particularily attached to clisp-hurd's usage of conditions. Whatever works, I guess. > Another option is to write plain Guile bindings using the CL bindings only > for reference. That's a possibility, sure. Though I expect practice, I would expect this to be partially a conversion of clisp -> guile. For example, mach/mmap.lisp sems easy to convert from clisp to scheme ... which I'll do right now. I've made a pull request that converts some code from mach/*.scm in somewhat idiomatic (Guile-)Scheme, using module imports, and sometimes adding imports. I left the complicated CLOS / GOOPS and condition bits out for now, and picked the ‘low-hanging fruit’ (-:. <https://notabug.org/mdevos/guile-hurd/pulls/1> > There are also a couple of C wrappers in the libs directory, which > we would implement differently in Guile (e.g. by using the FFI > directly). > > What do you think? I haven't looked at those yet. But that seems a good idea, yes. > I ran into a few minor problems with the build. I ran “hall dist > -x” to generate build system files, but there are errors when > running “autoreconf -vif”. > > “doc/scheme-hurd.texi” does not exist, Fixed. (Empty for now). > I also had to manually link the README file with “ln -s README.org > README”. Likewise. > The real problems start, of course, with the condition types in > cffi/src/early-types.lisp etc… :) I have some hacks for that, though I don't really like them. They are pushed now. (09cec57a9671c13c13772a89e58fb982c4624e16) If you run "make cffi.go", it should end up farther than it did before. I often encounter issues with (eval-when ...), so I would like to remove them altogether. The ones in cffi/src/early-types.scm can probably be removed if make that a module (cffi early-types). And maybe make cffi/src/utils.lisp a module as well? Greetings, Maxime.
signature.asc
Description: This is a digitally signed message part