schemix-devel
[Top][All Lists]
Advanced

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

Re: [Schemix-devel] Re: Some big changes in CVS


From: Dr William Bland
Subject: Re: [Schemix-devel] Re: Some big changes in CVS
Date: Sat, 17 May 2003 19:54:03 +0000
User-agent: Mutt/1.2i

On Fri, May 16, 2003 at 09:28:17PM +0200, Detlev Zundel wrote:
> 
> Hi David,
> 
> > any particular place to get the kallsyms patch? I'm searching the kernel
> > archives, but it's kinda noisy and hard to follow...
> 
> I don't know if this patch[1] applies any longer, but it looks quite
> generic as mostly only the link files have to be patched.

That looks like the patch I used.  I had to modify it very slightly to get
it to apply, but it wasn't difficult.

> 
> I also wanted to check the R5RS compliance.  The first things I would
> check are true tail recursion, R5RS macro system (define-syntax ..),
> and support for all numeric types.
> 

Some things you'll want to note:
1) I took out TinyScheme's support for floating point numbers since the
   Linux kernel implementation of sscanf / sprintf can't read or print
   floating point numbers.  I thought it would be pretty useless to have
   support for them if they can't be read or written ;-)
2) Tail recursion looks good to me so far.  I only did some simple tests,
   but the Linux kernel's stack is very small (can't remember the size off
   the top of my head) and I believe I would have smashed it if TinyScheme
   (and hence) Schemix wasn't properly tail-recursive.  My tests might
   have been too simple-minded though.
3) TinyScheme's macros don't look like R5RS's to me.  In the init.scm file
   that is distributed with TinyScheme, several macros are defined which
   you can use to give you an idea of how TinyScheme's macro system works.
   For example:
                 (macro (when form)
                       `(if ,(cadr form) (begin ,@(cddr form))))
   This is is fairly intuitive, but possibly not as powerful as R5RS.  I
   have to admit I don't know enough about R5RS's hygenic macros to know
   how far they differ from TinyScheme's macro facility.
4) I would also sugest checking continuations.  They are notoriously hard
   to implement correctly and I'd be rather suprised if TinyScheme got
   everything perfectly right!
5) Schemix doesn't have most of the R5RS functions for dealing with ports.
   This is actually intentional: Opening files from the kernel is possible
   (obviously!) but I'm not convinced it's a good idea for Schemix to do
   it.

Best wishes,
                Bill.
-- 
Dr. William Bland.                          Computer Programmer, UK.
www.abstractnonsense.com




reply via email to

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