[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Remove ##sys# prefix from lambda-info name
From: |
Felix Winkelmann |
Subject: |
Re: [Chicken-hackers] [PATCH] Remove ##sys# prefix from lambda-info names of library procedures |
Date: |
Wed, 23 Jul 2014 19:13:02 +0200 (CEST) |
From: John Cowan <address@hidden>
Subject: Re: [Chicken-hackers] [PATCH] Remove ##sys# prefix from lambda-info
names of library procedures
Date: Wed, 23 Jul 2014 11:13:32 -0400
> Felix Winkelmann scripsit:
>
>> They can't be deprecated, as these procedures are used internally.
>
> I know that that is so, but is there any reason why it must be so?
> Could not internal use also be converted from ##sys#error to error, etc.?
>
>> But user/egg code should still not use it, of course.
>
> A longer-term effort would be to migrate these names out of the "chicken"
> module and into a "##sys" module, so that they are only imported explicitly.
The "##sys#" prefix has nothing to do with modules, it's more or less
nothing like a naming convention. The internal procedures are needed
because a large part of the runtime system is written in Scheme, and
so needs access to procedures all over the place. This is partially
caused by the fact that the module system came later, but still, not
having any "boundary" between internals of different parts of the
system makes it simpler to implement low-level parts of the core
directly with Scheme.
This is different with Scheme systems that where implemented right
from the start with a strict module system, like Scheme48 or
Racket. That needs considerable more design work.
felix