unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Guile status. Some questions to adopt usage as embedded game.
@ 2014-03-21 11:27 Germán Diago
  2014-03-25 16:26 ` Germán Diago
  2014-03-25 20:50 ` Ludovic Courtès
  0 siblings, 2 replies; 6+ messages in thread
From: Germán Diago @ 2014-03-21 11:27 UTC (permalink / raw)
  To: guile-user

[-- Attachment #1: Type: text/plain, Size: 1913 bytes --]

Hello everyone,

Congratulations for the GUILE project. I am finding it really interesting.
My name is Germán, but I am Spanish and live in Vietnam :-)

I am a (mainly) c++ advanced user with a strong background in linux,
writing a game that will run on iOS and Android as the main platforms.

My use case is for embedding a language that mainly, designers, could use
for scripting. I find scheme really nice but I am not sure how successful
or understandable could be among non-CS users due to its non-mainstream
syntax.
So I find as a killer feature the support for Ecmascript and the upcoming
Lua support.

Here my questions:


1.- How mature is Ecmascript support? I don't care much about feature
completeness, but more about robustness (reasonably bug-free) and ready to
be used by designers.
2.- Is there any real project using Ecmascript guile at the moment?
3.- What is the lua status? Any tentative dates for when it would be
supported and how good it would be? This is important since in the gaming
area Lua is the standard scripting language.
4.-  When writing a FFI from C++ functions, I know how guile code will
look, but I couldn't find any Ecmascript mapping documentation. Any
pointers where I could find something?
5.- (Not too important as of now) There is support for a windows native
guile? If there is not, can be compiled at least with MinGW (not cygwin)?
6.- Is there any incompatibility in using guile in a closed-source project,
regarding to the license?

This said, if I adopted guile, I am planning to do it for more than one
project.
My first plans would include to write a nicer C++ FFI on top of the
standard one, similar to boost.python or the like, since this is my main
use case.
This library would be released as open-source. I wish I could use guile
right away, but will need to wait for an informed reply.

Best Regards,
Germán Diago

[-- Attachment #2: Type: text/html, Size: 2253 bytes --]

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

* Re: Guile status. Some questions to adopt usage as embedded game.
  2014-03-21 11:27 Guile status. Some questions to adopt usage as embedded game Germán Diago
@ 2014-03-25 16:26 ` Germán Diago
  2014-03-25 17:14   ` Ralf Mattes
  2014-03-25 20:50 ` Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Germán Diago @ 2014-03-25 16:26 UTC (permalink / raw)
  To: guile-user

[-- Attachment #1: Type: text/plain, Size: 2184 bytes --]

Hello everyone,

I would be deeply grateful if someone could give me some hints about my
questions.

Regards


2014-03-21 18:27 GMT+07:00 Germán Diago <germandiago@gmail.com>:

> Hello everyone,
>
> Congratulations for the GUILE project. I am finding it really interesting.
> My name is Germán, but I am Spanish and live in Vietnam :-)
>
> I am a (mainly) c++ advanced user with a strong background in linux,
> writing a game that will run on iOS and Android as the main platforms.
>
> My use case is for embedding a language that mainly, designers, could use
> for scripting. I find scheme really nice but I am not sure how successful
> or understandable could be among non-CS users due to its non-mainstream
> syntax.
> So I find as a killer feature the support for Ecmascript and the upcoming
> Lua support.
>
> Here my questions:
>
>
> 1.- How mature is Ecmascript support? I don't care much about feature
> completeness, but more about robustness (reasonably bug-free) and ready to
> be used by designers.
> 2.- Is there any real project using Ecmascript guile at the moment?
> 3.- What is the lua status? Any tentative dates for when it would be
> supported and how good it would be? This is important since in the gaming
> area Lua is the standard scripting language.
> 4.-  When writing a FFI from C++ functions, I know how guile code will
> look, but I couldn't find any Ecmascript mapping documentation. Any
> pointers where I could find something?
> 5.- (Not too important as of now) There is support for a windows native
> guile? If there is not, can be compiled at least with MinGW (not cygwin)?
> 6.- Is there any incompatibility in using guile in a closed-source
> project, regarding to the license?
>
> This said, if I adopted guile, I am planning to do it for more than one
> project.
> My first plans would include to write a nicer C++ FFI on top of the
> standard one, similar to boost.python or the like, since this is my main
> use case.
> This library would be released as open-source. I wish I could use guile
> right away, but will need to wait for an informed reply.
>
> Best Regards,
> Germán Diago
>
>

[-- Attachment #2: Type: text/html, Size: 2799 bytes --]

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

* Re: Guile status. Some questions to adopt usage as embedded game.
  2014-03-25 16:26 ` Germán Diago
@ 2014-03-25 17:14   ` Ralf Mattes
  0 siblings, 0 replies; 6+ messages in thread
From: Ralf Mattes @ 2014-03-25 17:14 UTC (permalink / raw)
  To: Germán Diago; +Cc: guile-user

> > I am a (mainly) c++ advanced user with a strong background in linux,
> > writing a game that will run on iOS and Android as the main platforms.
> >

[ won't comment on the trechnical questions ... ]

> > 6.- Is there any incompatibility in using guile in a closed-source
> > project, regarding to the license?

It will be a nightmare on iOS. While Android allows dynamic linking of libraries
(so you only need to provide the source code of guile to your customers) Apple's
AppStore forbids any dynamic linking. So, in order to fulfill the requirements of
Guile's LGPL you need to either distribute the source code of your application as well
or at least distribute your application's object code (*.o and *.a files) so your 
customers can relink against a changed static version of libguile. But since Apple
only allows signed code and the relinking will break this signing the relinked application
won't run on a non-rooted device ... And since you seem to compile C++ code relinking
will rely on the compiler's C++ ABI.

 HTH Ralf Mattes




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

* Re: Guile status. Some questions to adopt usage as embedded game.
  2014-03-21 11:27 Guile status. Some questions to adopt usage as embedded game Germán Diago
  2014-03-25 16:26 ` Germán Diago
@ 2014-03-25 20:50 ` Ludovic Courtès
  2014-03-25 21:13   ` Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-03-25 20:50 UTC (permalink / raw)
  To: guile-user

Hi,

Germán Diago <germandiago@gmail.com> skribis:

> 1.- How mature is Ecmascript support? I don't care much about feature
> completeness, but more about robustness (reasonably bug-free) and ready to
> be used by designers.

The ECMAscript front-end is not mature.  It needs love.  :-)

> 2.- Is there any real project using Ecmascript guile at the moment?

Not that I know of.

> 3.- What is the lua status? Any tentative dates for when it would be
> supported and how good it would be? This is important since in the gaming
> area Lua is the standard scripting language.

It may be better, but hasn’t been merged yet.  I think Ian Price looked
at it a while back.  Ian?

> 4.-  When writing a FFI from C++ functions, I know how guile code will
> look, but I couldn't find any Ecmascript mapping documentation. Any
> pointers where I could find something?

In theory it should be possible to import and use Scheme functions from
ECMAscript.  See
<http://wingolog.org/archives/2009/02/22/ecmascript-for-guile>.

> 5.- (Not too important as of now) There is support for a windows native
> guile? If there is not, can be compiled at least with MinGW (not cygwin)?

Apparently Guile 2.0.11 runs on MinGW.

HTH!

Ludo’.




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

* Re: Guile status. Some questions to adopt usage as embedded game.
  2014-03-25 20:50 ` Ludovic Courtès
@ 2014-03-25 21:13   ` Ludovic Courtès
  2014-03-26 13:56     ` Germán Diago
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2014-03-25 21:13 UTC (permalink / raw)
  To: guile-user

ludo@gnu.org (Ludovic Courtès) skribis:

> Germán Diago <germandiago@gmail.com> skribis:

[...]

>> 4.-  When writing a FFI from C++ functions, I know how guile code will
>> look, but I couldn't find any Ecmascript mapping documentation. Any
>> pointers where I could find something?
>
> In theory it should be possible to import and use Scheme functions from
> ECMAscript.  See
> <http://wingolog.org/archives/2009/02/22/ecmascript-for-guile>.

Here’s a session that uses the FFI from ECMAscript to bind the C
library’s ‘sqrt’ function:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,L ecmascript
Happy hacking with ECMAScript!  To switch back, type `,L scheme'.
ecmascript@(guile-user)> require('system.foreign');
;;; <unknown-location>: warning: possibly unbound variable `require'
$1 = #<<js-module-object> 27b94b0>
ecmascript@(guile-user)> this['dynamic-link'];
$2 = #<procedure dynamic-link (#:optional _)>
ecmascript@(guile-user)> this['dynamic-func'] ('sqrt', this['dynamic-link']());
$3 = #<pointer 0x7f5d7d79aae0>
ecmascript@(guile-user)> this['list'] ($1['double']);
$8 = (2)
ecmascript@(guile-user)> $1['pointer->procedure'] ($1['double'], $3, $8);
$9 = #<procedure 2a5fa20 (_)>
ecmascript@(guile-user)> $9 (2);
$10 = 1.4142135623730951
--8<---------------cut here---------------end--------------->8---

A bit verbose, but funny.  :-)

Ludo’.




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

* Re: Guile status. Some questions to adopt usage as embedded game.
  2014-03-25 21:13   ` Ludovic Courtès
@ 2014-03-26 13:56     ` Germán Diago
  0 siblings, 0 replies; 6+ messages in thread
From: Germán Diago @ 2014-03-26 13:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user

[-- Attachment #1: Type: text/plain, Size: 2021 bytes --]

Very informative. Unfortunately the iOS part could be a showstopper for
this very project :(

I would really like to improve things in guile. I have been for a long time
a linux user and
still remains my fav operating system, even if I am using a MAC now for
work reasons.

But with the impossibility of linking in iOS and not a mature ecmascript
backend or lua ready,
this is going to be difficult for now.

Thank you guys.



2014-03-26 4:13 GMT+07:00 Ludovic Courtès <ludo@gnu.org>:

> ludo@gnu.org (Ludovic Courtès) skribis:
>
> > Germán Diago <germandiago@gmail.com> skribis:
>
> [...]
>
> >> 4.-  When writing a FFI from C++ functions, I know how guile code will
> >> look, but I couldn't find any Ecmascript mapping documentation. Any
> >> pointers where I could find something?
> >
> > In theory it should be possible to import and use Scheme functions from
> > ECMAscript.  See
> > <http://wingolog.org/archives/2009/02/22/ecmascript-for-guile>.
>
> Here's a session that uses the FFI from ECMAscript to bind the C
> library's 'sqrt' function:
>
> --8<---------------cut here---------------start------------->8---
> scheme@(guile-user)> ,L ecmascript
> Happy hacking with ECMAScript!  To switch back, type `,L scheme'.
> ecmascript@(guile-user)> require('system.foreign');
> ;;; <unknown-location>: warning: possibly unbound variable `require'
> $1 = #<<js-module-object> 27b94b0>
> ecmascript@(guile-user)> this['dynamic-link'];
> $2 = #<procedure dynamic-link (#:optional _)>
> ecmascript@(guile-user)> this['dynamic-func'] ('sqrt',
> this['dynamic-link']());
> $3 = #<pointer 0x7f5d7d79aae0>
> ecmascript@(guile-user)> this['list'] ($1['double']);
> $8 = (2)
> ecmascript@(guile-user)> $1['pointer->procedure'] ($1['double'], $3, $8);
> $9 = #<procedure 2a5fa20 (_)>
> ecmascript@(guile-user)> $9 (2);
> $10 = 1.4142135623730951
> --8<---------------cut here---------------end--------------->8---
>
> A bit verbose, but funny.  :-)
>
> Ludo'.
>
>
>

[-- Attachment #2: Type: text/html, Size: 2958 bytes --]

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

end of thread, other threads:[~2014-03-26 13:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-21 11:27 Guile status. Some questions to adopt usage as embedded game Germán Diago
2014-03-25 16:26 ` Germán Diago
2014-03-25 17:14   ` Ralf Mattes
2014-03-25 20:50 ` Ludovic Courtès
2014-03-25 21:13   ` Ludovic Courtès
2014-03-26 13:56     ` Germán Diago

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).