unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* swig guile2
@ 2011-03-19 20:08 Tristan Colgate
  2011-03-21 20:32 ` William S Fulton
  0 siblings, 1 reply; 5+ messages in thread
From: Tristan Colgate @ 2011-03-19 20:08 UTC (permalink / raw)
  To: swig-user, guile-user

Hi All,

  I'm working on a couple of projects using guile and swig and
recently did some work to put together a guile2 module for swig.

  I started out by trying to add guile2 support to the existing guile
support but the focus on the old GH interface meant things started to
get messy so I've basically copied the old guile module and removed
all the legacy gh support and updated the memory management for
guile2.

  It is a bit of a hack but as far as I can tell it is working OK for
me at the moment.

  I thought now would be a good time to announce the effort and gauge opinion.

  Guile2 has lots of nice features and I think a dedicated module
could do interesting things without breaking legacy support. Guile 2
has an FFI that could potententially be useful in the future (I like
SWIGs typemaps far too much to have moved away from swig all together
though).

  The code is currently on github, and I would welcome feedback. It is
a bit rough and ready, and my knowledge of SWIG internals is pretty
rudimentary, so I'd welcome comment and advise (and patches), from all
sides.

  http://github.com/tcolgate/swig-guile2

  Be sure to check out the guile2 branch.

-- 
Tristan Colgate-McFarlane
----
  "You can get all your daily vitamins from 52 pints of guiness, and a
glass of milk"



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: swig guile2
  2011-03-19 20:08 swig guile2 Tristan Colgate
@ 2011-03-21 20:32 ` William S Fulton
  2011-03-22  8:16   ` Tristan Colgate
  0 siblings, 1 reply; 5+ messages in thread
From: William S Fulton @ 2011-03-21 20:32 UTC (permalink / raw)
  To: Tristan Colgate; +Cc: guile-user, swig-user, Matthias Koeppe

On 19/03/11 20:08, Tristan Colgate wrote:
> Hi All,
>
>    I'm working on a couple of projects using guile and swig and
> recently did some work to put together a guile2 module for swig.
>
>    I started out by trying to add guile2 support to the existing guile
> support but the focus on the old GH interface meant things started to
> get messy so I've basically copied the old guile module and removed
> all the legacy gh support and updated the memory management for
> guile2.
>
>    It is a bit of a hack but as far as I can tell it is working OK for
> me at the moment.
>
>    I thought now would be a good time to announce the effort and gauge opinion.
>
>    Guile2 has lots of nice features and I think a dedicated module
> could do interesting things without breaking legacy support. Guile 2
> has an FFI that could potententially be useful in the future (I like
> SWIGs typemaps far too much to have moved away from swig all together
> though).
>
Are you proposing a 2nd SWIG Guile module in addition to the current module?

>    The code is currently on github, and I would welcome feedback. It is
> a bit rough and ready, and my knowledge of SWIG internals is pretty
> rudimentary, so I'd welcome comment and advise (and patches), from all
> sides.
>
>    http://github.com/tcolgate/swig-guile2
>
>    Be sure to check out the guile2 branch.
>

I am no guile user, so can't help on the Guile side. The guile SWIG 
module is suffering neglect and doesn't seem to work with modern 
versions of Guile - the test-suite fails for me. Only very rarely are 
there Guile queries on the SWIG mailing list, so suspect it isn't used 
much. Would it make sense to drop the older Guile interface altogether 
and just use Guile 2? BTW, there is the swig -scm option for guile 1.6+. 
So there seems to be GH and SCM and now guile 2 API... does that sound 
right that there are so many C interfaces or is your Guile 2 interface 
just SCM?

William

------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: swig guile2
  2011-03-21 20:32 ` William S Fulton
@ 2011-03-22  8:16   ` Tristan Colgate
  2011-03-25 20:14     ` [Swig-user] " William S Fulton
  0 siblings, 1 reply; 5+ messages in thread
From: Tristan Colgate @ 2011-03-22  8:16 UTC (permalink / raw)
  To: William S Fulton; +Cc: guile-user, swig-user, Matthias Koeppe

On 21 March 2011 20:32, William S Fulton <wsf@fultondesigns.co.uk> wrote:

> Are you proposing a 2nd SWIG Guile module in addition to the current module?

  The code as it stands is exactly that, a new module. I have worked
under the assumption that breaking the existing guile support was
taboo.

> I am no guile user, so can't help on the Guile side. The guile SWIG module
> is suffering neglect and doesn't seem to work with modern versions of Guile
> - the test-suite fails for me. Only very rarely are there Guile queries on
> the SWIG mailing list, so suspect it isn't used much. Would it make sense to
> drop the older Guile interface altogether and just use Guile 2?

  The existing guile module support the gh_ interface and the older
version of the SCM interface. It also doesn't work with guiles current
GC. It's entirely useless for the current version of guile. I had
assumed that since SWIG still ships it, enough people care about
legacy guile support to not want it broken.

  I've only just started looking into getting the test-suite working
with my guile2 work, but I do intend on getting it to the point where
it all passes.

  For me personally, the old guile module is no longer useful.
However, guile 2.0 is not widely deployed in distributions yet and
that may take some time.

> BTW, there
> is the swig -scm option for guile 1.6+. So there seems to be GH and SCM and
> now guile 2 API... does that sound right that there are so many C interfaces
> or is your Guile 2 interface just SCM?

  The -scm support works by mapping the old SCM interface to the GH
interface.. Almost all the scm_ calls used by the existing guile
module are deprecated. I tried implementing and -scm2 option within
the existing module but it was more awkward than I could bare.

  I'm not sure that there is going to be enormous support for this
within the guile community either really. Guile 2 ships with a new FFI
and using that is, obviosuly, of more interest to them. I've struggled
wrapping legacy APIs with it though and SWIG really is rather good.

-- 
Tristan Colgate-McFarlane
----
  "You can get all your daily vitamins from 52 pints of guiness, and a
glass of milk"

------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Swig-user] swig guile2
  2011-03-22  8:16   ` Tristan Colgate
@ 2011-03-25 20:14     ` William S Fulton
  2011-04-08  6:53       ` Tristan Colgate
  0 siblings, 1 reply; 5+ messages in thread
From: William S Fulton @ 2011-03-25 20:14 UTC (permalink / raw)
  To: Tristan Colgate; +Cc: guile-user, swig-user, Matthias Koeppe

On 22/03/11 08:16, Tristan Colgate wrote:
> On 21 March 2011 20:32, William S Fulton<wsf@fultondesigns.co.uk>  wrote:
>
>> Are you proposing a 2nd SWIG Guile module in addition to the current module?
>
>    The code as it stands is exactly that, a new module. I have worked
> under the assumption that breaking the existing guile support was
> taboo.
>
>> I am no guile user, so can't help on the Guile side. The guile SWIG module
>> is suffering neglect and doesn't seem to work with modern versions of Guile
>> - the test-suite fails for me. Only very rarely are there Guile queries on
>> the SWIG mailing list, so suspect it isn't used much. Would it make sense to
>> drop the older Guile interface altogether and just use Guile 2?
>
>    The existing guile module support the gh_ interface and the older
> version of the SCM interface. It also doesn't work with guiles current
> GC. It's entirely useless for the current version of guile. I had
> assumed that since SWIG still ships it, enough people care about
> legacy guile support to not want it broken.
>
>    I've only just started looking into getting the test-suite working
> with my guile2 work, but I do intend on getting it to the point where
> it all passes.
>
If it all passes, it will then be good enough to commit to trunk and to 
be included in future SWIG releases. Please discuss on swig-devel if you 
get to this stage.

>    For me personally, the old guile module is no longer useful.
> However, guile 2.0 is not widely deployed in distributions yet and
> that may take some time.
>
>> BTW, there
>> is the swig -scm option for guile 1.6+. So there seems to be GH and SCM and
>> now guile 2 API... does that sound right that there are so many C interfaces
>> or is your Guile 2 interface just SCM?
>
>    The -scm support works by mapping the old SCM interface to the GH
> interface.. Almost all the scm_ calls used by the existing guile
> module are deprecated. I tried implementing and -scm2 option within
> the existing module but it was more awkward than I could bare.
>
>    I'm not sure that there is going to be enormous support for this
> within the guile community either really. Guile 2 ships with a new FFI
> and using that is, obviosuly, of more interest to them. I've struggled
> wrapping legacy APIs with it though and SWIG really is rather good.
>
Well if you get the new version up to scratch perhaps SWIG could just 
support Guile 2 and later unless someone really objects. The older Guile 
would then require earlier versions of SWIG.

William



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Swig-user] swig guile2
  2011-03-25 20:14     ` [Swig-user] " William S Fulton
@ 2011-04-08  6:53       ` Tristan Colgate
  0 siblings, 0 replies; 5+ messages in thread
From: Tristan Colgate @ 2011-04-08  6:53 UTC (permalink / raw)
  To: William S Fulton; +Cc: guile-user, swig-user, Matthias Koeppe

I've reworked it so that it is a replacement for the existing guile
module and have made some headway on the test suite (much of it now
"passes", in that the test cases don't give errors/warnings, but I'd
like to rework it to actually run a few more tests rather than just
compile).

  The big gap at the moment is documentation, and the linkage options
(which I don't fully understand yet).

  I will keep you posted on my progress.

On 25 March 2011 20:14, William S Fulton <wsf@fultondesigns.co.uk> wrote:
> On 22/03/11 08:16, Tristan Colgate wrote:
>>
>> On 21 March 2011 20:32, William S Fulton<wsf@fultondesigns.co.uk>  wrote:
>>
>>> Are you proposing a 2nd SWIG Guile module in addition to the current
>>> module?
>>
>>   The code as it stands is exactly that, a new module. I have worked
>> under the assumption that breaking the existing guile support was
>> taboo.
>>
>>> I am no guile user, so can't help on the Guile side. The guile SWIG
>>> module
>>> is suffering neglect and doesn't seem to work with modern versions of
>>> Guile
>>> - the test-suite fails for me. Only very rarely are there Guile queries
>>> on
>>> the SWIG mailing list, so suspect it isn't used much. Would it make sense
>>> to
>>> drop the older Guile interface altogether and just use Guile 2?
>>
>>   The existing guile module support the gh_ interface and the older
>> version of the SCM interface. It also doesn't work with guiles current
>> GC. It's entirely useless for the current version of guile. I had
>> assumed that since SWIG still ships it, enough people care about
>> legacy guile support to not want it broken.
>>
>>   I've only just started looking into getting the test-suite working
>> with my guile2 work, but I do intend on getting it to the point where
>> it all passes.
>>
> If it all passes, it will then be good enough to commit to trunk and to be
> included in future SWIG releases. Please discuss on swig-devel if you get to
> this stage.
>
>>   For me personally, the old guile module is no longer useful.
>> However, guile 2.0 is not widely deployed in distributions yet and
>> that may take some time.
>>
>>> BTW, there
>>> is the swig -scm option for guile 1.6+. So there seems to be GH and SCM
>>> and
>>> now guile 2 API... does that sound right that there are so many C
>>> interfaces
>>> or is your Guile 2 interface just SCM?
>>
>>   The -scm support works by mapping the old SCM interface to the GH
>> interface.. Almost all the scm_ calls used by the existing guile
>> module are deprecated. I tried implementing and -scm2 option within
>> the existing module but it was more awkward than I could bare.
>>
>>   I'm not sure that there is going to be enormous support for this
>> within the guile community either really. Guile 2 ships with a new FFI
>> and using that is, obviosuly, of more interest to them. I've struggled
>> wrapping legacy APIs with it though and SWIG really is rather good.
>>
> Well if you get the new version up to scratch perhaps SWIG could just
> support Guile 2 and later unless someone really objects. The older Guile
> would then require earlier versions of SWIG.
>
> William
>



-- 
Tristan Colgate-McFarlane
----
  "You can get all your daily vitamins from 52 pints of guiness, and a
glass of milk"



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-04-08  6:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-19 20:08 swig guile2 Tristan Colgate
2011-03-21 20:32 ` William S Fulton
2011-03-22  8:16   ` Tristan Colgate
2011-03-25 20:14     ` [Swig-user] " William S Fulton
2011-04-08  6:53       ` Tristan Colgate

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).