bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: License of Hurd's common lisp bindings


From: Maxime Devos
Subject: Re: License of Hurd's common lisp bindings
Date: Sat, 01 May 2021 14:35:30 +0200
User-agent: Evolution 3.34.2

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.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]