Re: Core Guile bindings

2016-10-14 Thread Robin Templeton
Arne Babenhauserheide  writes:

> Ludovic Courtès writes:
>
>> Hi!
>>
>> "Thompson, David"  skribis:
>>
>>> On Wed, Oct 12, 2016 at 3:18 PM, Panicz Maciej Godek
>>>  wrote:


 2016-10-12 20:21 GMT+02:00 Thompson, David :
>
>
> My understanding is that these symbols have been part of the default
> environment for so long that a lot of code would break if they were
> removed, so they will be staying for the foreseeable future.
>

 On the other hand, the fix would usually be trivial (just one use-modules
 clause), and besides I don't think that Guile has ever had a tradition of
 worrying too much about backwards compatibility.
>>>
>>> The Guile maintainers care very much about backwards compatibility,
>>> from what I've seen over the last few years.
>>
>> I think I asked the same question as Panicz when I started using Guile
>> ca. 2004.  The situation of global bindings hasn’t changed since then,
>> and that’s for compatibility reasons that I very much appreciate as a
>> user.
>
> What would be possible without breaking backwards compatibility is
> moving them ino a module which is imported by default, with a way to
> suppress those default imports.

This is already how it works internally -- the default bindings are
stored in the (guile) module. You can use define-module's #:pure option
to suppress the default import and start with an empty module.

-- 
Inteligenta persono lernas la lingvon Esperanton rapide kaj facile.
Esperanto estas moderna, kultura lingvo por la mondo. Simpla, fleksebla,
belsona, Esperanto estas la praktika solvo de la problemo de universala
interkompreno. Lernu la interlingvon Esperanton!




Re: Core Guile bindings

2016-10-14 Thread Arne Babenhauserheide

Panicz Maciej Godek writes:

> 2016-10-13 20:19 GMT+02:00 Arne Babenhauserheide :
>
>>
>> What would be possible without breaking backwards compatibility is
>> moving them ino a module which is imported by default, with a way to
>> suppress those default imports.
>>
>> I think it is a very nice idea. Guile could install with "configurations",
> and the default configuration would just load the modules to make all
> currently global bindings available, but users could tweak their
> configurations in their ~/.guile files, supressing that default
> configuration. Or they could change it system-wide, provided that there are
> no dependencies in current guile scripts that could break anything.

To some degree this is already the case for interactive mode (so this is
not really my idea, just an application of what’s already there).

We might need an option to suppress loading the default modules, though,
similar to the -Q in emacs (which I use to make it start faster when I
just need basic editing capabilities).

However I think removing things from the existing default behaviour
should never be automatic, otherwise people won’t be able to rely on the
Guile on another system behaving as expected.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: Core Guile bindings

2016-10-13 Thread Panicz Maciej Godek
2016-10-13 20:19 GMT+02:00 Arne Babenhauserheide :

>
> What would be possible without breaking backwards compatibility is
> moving them ino a module which is imported by default, with a way to
> suppress those default imports.
>
> I think it is a very nice idea. Guile could install with "configurations",
and the default configuration would just load the modules to make all
currently global bindings available, but users could tweak their
configurations in their ~/.guile files, supressing that default
configuration. Or they could change it system-wide, provided that there are
no dependencies in current guile scripts that could break anything.


Re: Core Guile bindings

2016-10-13 Thread Arne Babenhauserheide

Ludovic Courtès writes:

> Hi!
>
> "Thompson, David"  skribis:
>
>> On Wed, Oct 12, 2016 at 3:18 PM, Panicz Maciej Godek
>>  wrote:
>>>
>>>
>>> 2016-10-12 20:21 GMT+02:00 Thompson, David :


 My understanding is that these symbols have been part of the default
 environment for so long that a lot of code would break if they were
 removed, so they will be staying for the foreseeable future.

>>>
>>> On the other hand, the fix would usually be trivial (just one use-modules
>>> clause), and besides I don't think that Guile has ever had a tradition of
>>> worrying too much about backwards compatibility.
>>
>> The Guile maintainers care very much about backwards compatibility,
>> from what I've seen over the last few years.
>
> I think I asked the same question as Panicz when I started using Guile
> ca. 2004.  The situation of global bindings hasn’t changed since then,
> and that’s for compatibility reasons that I very much appreciate as a
> user.

What would be possible without breaking backwards compatibility is
moving them ino a module which is imported by default, with a way to
suppress those default imports.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: Core Guile bindings

2016-10-13 Thread Ludovic Courtès
Hi!

"Thompson, David"  skribis:

> On Wed, Oct 12, 2016 at 3:18 PM, Panicz Maciej Godek
>  wrote:
>>
>>
>> 2016-10-12 20:21 GMT+02:00 Thompson, David :
>>>
>>>
>>> My understanding is that these symbols have been part of the default
>>> environment for so long that a lot of code would break if they were
>>> removed, so they will be staying for the foreseeable future.
>>>
>>
>> On the other hand, the fix would usually be trivial (just one use-modules
>> clause), and besides I don't think that Guile has ever had a tradition of
>> worrying too much about backwards compatibility.
>
> The Guile maintainers care very much about backwards compatibility,
> from what I've seen over the last few years.

I think I asked the same question as Panicz when I started using Guile
ca. 2004.  The situation of global bindings hasn’t changed since then,
and that’s for compatibility reasons that I very much appreciate as a
user.

Ludo’.




Re: Core Guile bindings

2016-10-12 Thread Thompson, David
On Wed, Oct 12, 2016 at 3:18 PM, Panicz Maciej Godek
 wrote:
>
>
> 2016-10-12 20:21 GMT+02:00 Thompson, David :
>>
>>
>> My understanding is that these symbols have been part of the default
>> environment for so long that a lot of code would break if they were
>> removed, so they will be staying for the foreseeable future.
>>
>
> On the other hand, the fix would usually be trivial (just one use-modules
> clause), and besides I don't think that Guile has ever had a tradition of
> worrying too much about backwards compatibility.

The Guile maintainers care very much about backwards compatibility,
from what I've seen over the last few years.

- Dave



Re: Core Guile bindings

2016-10-12 Thread Panicz Maciej Godek
2016-10-12 20:21 GMT+02:00 Thompson, David :

>
> My understanding is that these symbols have been part of the default
> environment for so long that a lot of code would break if they were
> removed, so they will be staying for the foreseeable future.
>
>
On the other hand, the fix would usually be trivial (just one use-modules
clause), and besides I don't think that Guile has ever had a tradition of
worrying too much about backwards compatibility.


Re: Core Guile bindings

2016-10-12 Thread Thompson, David
On Wed, Oct 12, 2016 at 2:18 PM, Panicz Maciej Godek
 wrote:
> I've noticed that Guile core contains some bindings that shouldn't
> necessarily be globally available. In particular, it provides a set of
> socket-related functions with very general names, such as "select" or
> "bind", that some programmers may want to use for their own purposes.
>
> It is obvious that those functions should not be a part of the core, and
> should be moved to some separate module, and so I wanted to ask whether
> there are any plans for doing so?

My understanding is that these symbols have been part of the default
environment for so long that a lot of code would break if they were
removed, so they will be staying for the foreseeable future.

- Dave



Core Guile bindings

2016-10-12 Thread Panicz Maciej Godek
I've noticed that Guile core contains some bindings that shouldn't
necessarily be globally available. In particular, it provides a set of
socket-related functions with very general names, such as "select" or
"bind", that some programmers may want to use for their own purposes.

It is obvious that those functions should not be a part of the core, and
should be moved to some separate module, and so I wanted to ask whether
there are any plans for doing so?