Re: [Chicken-hackers] [PATCH] Turn chicken.condition into a module, with syntax exports!

2017-05-19 Thread Evan Hanson
On 2017-05-19 11:20, Peter Bex wrote:
> I actually prefer using that hack of "internal" modules.  Modules are a
> standard approach that users will already be familiar with, which means
> the barrier to entry should be slightly lower.  And, also important, with
> modules you get an error when you try to refer to a procedure that isn't
> exported.  So, if we remove a procedure for example, we will immediately
> know when we forgot to remove a call site.

H, this is true. I'm just a bit concerned about making things overly
complicated within core. And, it isn't nice to make users deal with
extra files just because it makes our own lives more convenient (for
example when distributing a program as C files, where they now have to
worry about an internal.c as well as runtime.c, library.c, and so on).
But maybe it won't be a problem if we're considerate about it.

> Besides, AFAIK non-exported module identifiers will be hidden by the
> compiler, so we'd have to add another hack to prevent that.

Actually, explicitly-namespaced identifiers, like qualified symbols, are
not hidden, so that's no problem.

Cheers,

Evan


signature.asc
Description: PGP signature
___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [PATCH] Turn chicken.condition into a module, with syntax exports!

2017-05-19 Thread Peter Bex
On Fri, May 19, 2017 at 01:10:03PM +1200, Evan Hanson wrote:
> I think before we strip many more qualified symbols we should come up
> with an idea of how to handle their replacements. With that "escape
> hatch" change, we can now do basically whatever we want, and we can even
> (for example) get rid of the "internal" module (always a bit of a hack,
> and one that I'd like to see go away...), in favor of direct assignments
> to whatever namespace we decide to use.

I actually prefer using that hack of "internal" modules.  Modules are a
standard approach that users will already be familiar with, which means
the barrier to entry should be slightly lower.  And, also important, with
modules you get an error when you try to refer to a procedure that isn't
exported.  So, if we remove a procedure for example, we will immediately
know when we forgot to remove a call site.

Besides, AFAIK non-exported module identifiers will be hidden by the
compiler, so we'd have to add another hack to prevent that.

> On 2017-05-07 21:47, Peter Bex wrote:
> > PS: before you run "make check", you'll need to install and recompile
> > with the new compiler (or just go through a chicken-boot process),
> > there are some issues with the static linking tests otherwise.
> 
> It was actually possible to compile this with the 5.0.0pre1 snapshot
> directly, sans boot-chicken. I think any static linking test failures
> you saw are probably related to #1366 and not the version used to
> bootstrap.

Oh right, I forgot about that one.

Cheers,
Peter


signature.asc
Description: Digital signature
___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [PATCH] Turn chicken.condition into a module, with syntax exports!

2017-05-18 Thread Evan Hanson
Hi Peter,

On 2017-05-07 21:45, Peter Bex wrote:
> The core-library-reorganization page has "(chicken condition)" under
> "undecided", but I think it's fine the way it is.  The attached patches
> add this module.

These have been applied. Excellent work, it looks like these were tricky
changes.

> This time around, I minimised the number of ##sys# prefix removals,
> to avoid complicating things too much.  It's better to do that in
> another pass; this changeset is complicated enough as it is.

Thanks. This wasn't as tough to review as I'd expected, and that
certainly helped. Thank you also for explaining the workarounds for
bootstrapping.

I think before we strip many more qualified symbols we should come up
with an idea of how to handle their replacements. With that "escape
hatch" change, we can now do basically whatever we want, and we can even
(for example) get rid of the "internal" module (always a bit of a hack,
and one that I'd like to see go away...), in favor of direct assignments
to whatever namespace we decide to use.

On 2017-05-07 21:47, Peter Bex wrote:
> PS: before you run "make check", you'll need to install and recompile
> with the new compiler (or just go through a chicken-boot process),
> there are some issues with the static linking tests otherwise.

It was actually possible to compile this with the 5.0.0pre1 snapshot
directly, sans boot-chicken. I think any static linking test failures
you saw are probably related to #1366 and not the version used to
bootstrap.

Cheers,

Evan

___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers


Re: [Chicken-hackers] [PATCH] Turn chicken.condition into a module, with syntax exports!

2017-05-07 Thread Peter Bex
On Sun, May 07, 2017 at 09:45:07PM +0200, Peter Bex wrote:
> Hi all,
> 
> The core-library-reorganization page has "(chicken condition)" under
> "undecided", but I think it's fine the way it is.  The attached patches
> add this module.

PS: before you run "make check", you'll need to install and recompile with
the new compiler (or just go through a chicken-boot process), there are
some issues with the static linking tests otherwise.

Cheers,
Peter


signature.asc
Description: Digital signature
___
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers