From: John Cowan <co...@mercury.ccil.org> 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 _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers