f



How well does Guile work on Windows?

How well does Guile work on Windows? I am planning to write a game using 
C++ and Guile. I have found several C++ libraries that make the C++ side 
portable between Linux and Windows, and even a graphics library that works.

Now all i need is the scripting language. As a fan of Lisp, my first 
choice would be guile.

But it appears that Guile requires Cygwin to run (on windows). Has 
anyone gotten Guile to run without Cygwin? If not, then is there a way 
to distribute Cygwin without forcing the user to install Cygwin on to 
his/her computer?

Thanks. If there are other scheme-extension language implementations 
that work on windows and linux, please tell me. But if either of the 
above CygWin questions are possible, then i'll stick with guile.

Again, thanks.

Percival
0
10/13/2004 4:06:36 AM
comp.lang.scheme 4781 articles. 0 followers. Post Follow

12 Replies
5799 Views

Similar Articles

[PageSpeed] 22

Percival wrote:
> How well does Guile work on Windows? I am planning to write a game using 
> C++ and Guile. I have found several C++ libraries that make the C++ side 
> portable between Linux and Windows, and even a graphics library that works.
> 
> Now all i need is the scripting language. As a fan of Lisp, my first 
> choice would be guile.
> 
> But it appears that Guile requires Cygwin to run (on windows). Has 
> anyone gotten Guile to run without Cygwin? If not, then is there a way 
> to distribute Cygwin without forcing the user to install Cygwin on to 
> his/her computer?
> 
> Thanks. If there are other scheme-extension language implementations 
> that work on windows and linux, please tell me. But if either of the 
> above CygWin questions are possible, then i'll stick with guile.
> 
> Again, thanks.
> 
> Percival

Erm... bump :)
Just basically a reply to myself, so that maybe someone will see my 
question.

Percival
0
10/20/2004 9:52:57 PM
Percival wrote:

> Percival wrote:
>=20
>> How well does Guile work on Windows? I am planning to write a game=20
>> using C++ and Guile. I have found several C++ libraries that make the =

>> C++ side portable between Linux and Windows, and even a graphics=20
>> library that works.
>>
>> Now all i need is the scripting language. As a fan of Lisp, my first=20
>> choice would be guile.
>>
>> But it appears that Guile requires Cygwin to run (on windows). Has=20
>> anyone gotten Guile to run without Cygwin? If not, then is there a way=
=20
>> to distribute Cygwin without forcing the user to install Cygwin on to =

>> his/her computer?
>>
>> Thanks. If there are other scheme-extension language implementations=20
>> that work on windows and linux, please tell me. But if either of the=20
>> above CygWin questions are possible, then i'll stick with guile.

> Erm... bump :)
> Just basically a reply to myself, so that maybe someone will see my=20
> question.

Hi Percival

The lack of answers is probably due toe the fact that only a small
minority in this group uses Guile - and if they do then on Unix.

There are some implementations that run on both Windows and Unix,
such as DrScheme, SISC, Chicken and MIT Scheme.

The tricky part is your requirement of a graphics library.
What kind of game do you have in mind? A 3d game or a 2d bitmap
oriented game?

--=20
Jens Axel S=F8gaard

0
usenet8944 (1130)
10/20/2004 10:07:33 PM
Percival on Wed, 20 Oct 2004 17:52:57 -0400 writes:

>> But it appears that Guile requires Cygwin to run (on windows). Has
>> anyone gotten Guile to run without Cygwin? If not, then is there a
>> way to distribute Cygwin without forcing the user to install Cygwin
>> on to his/her computer?

I think you can distribute just the CygWin DLLs (see [1] for how to
see what they are), with the other files you are required to
distribute by the CygWin license.

  1. http://cygwin.com/faq/faq_3.html#SEC105

Please note that the free version of CygWin is GPL'de, so you can not
use the DLL with proprietary programs [2].

  2. http://cygwin.com/faq/faq_1.html#SEC4

-- 
Marco Parrone <marc0@autistici.org> [0x45070AD6]
0
marc0 (56)
10/20/2004 10:58:08 PM
Jens Axel S�gaard wrote:
>
> There are some implementations that run on both Windows and Unix,
> such as DrScheme, SISC, Chicken and MIT Scheme.

Don't forget Bigloo.  http://www-sop.inria.fr/mimosa/fp/Bigloo/  That's what
I'm currently investigating right now, for Windows game development.  Bigloo
appears to have the best performance, according to
http://shootout.alioth.debian.org/ .

> The tricky part is your requirement of a graphics library.
> What kind of game do you have in mind? A 3d game or a 2d bitmap
> oriented game?

Nowadays the canonical way to implement a 2D game is through a 3D API.
Unless the game is so simple that any OS GUI would do, i.e. Minesweeper.

-- 
Cheers,                         www.indiegamedesign.com
Brandon Van Every               Seattle, WA

"We live in a world of very bright people building
crappy software with total shit for tools and process."
                                - Ed McKenzie

0
10/21/2004 5:34:44 AM
"Brandon J. Van Every" wrote:

> Jens Axel S�gaard wrote:
> >
> > There are some implementations that run on both Windows and Unix,
> > such as DrScheme, SISC, Chicken and MIT Scheme.
>
> Don't forget Bigloo.  http://www-sop.inria.fr/mimosa/fp/Bigloo/  That's what
> I'm currently investigating right now, for Windows game development.  Bigloo
> appears to have the best performance, according to
> http://shootout.alioth.debian.org/ .

I feel compelled to comment on a few things related to Bigloo and performance;
at least from my own experience.

As we know: Bigloo lets you use some basic types. That is especially useful for
a) documenting ones own code and b) performance improvements.

When speaking of performance: Bigloo is in the league of OCaml. That means
there is often only a 2-3 times performance hit/penalty compared to C. I made
the experience that the performance penalty is predominant when dealing with
arrays. When simply considering floating point operations Bigloo is always
equal to C for example (grook google and comp.lang.scheme for the "Coyote gulch
benchmark").

If you stick to some basic rules you will get good performance out of Bigloo:

a) Use fl*, fl/ operators (the code ist still portable!)

b) It is often better to make an array in advance; I mean one could use a
"let"-loop construct with consing up the elements and at the exit that list is
converted to a vector. In Bigloo it is often better to deal with vectors or
arrays from the very beginning on. However, Stalin is that cute and knows how
to deal with consing-lists even and makes the best out of that.

c) Rule of thumb: use the freedom of Scheme programming. I make good progress
with the following strategy: a) First I try to write a working program b) Then
I start polishing it by means of giving and setting type informations; the
latter ensures not only sometimes a speed-up of the executable code it also
strongly improves documentation of the code. AND: Bigloo is never your enemy as
the way disguised OCaml sometimes plays.

d) Use all the Bigloo facilities if you need to (pattern matching, etc...); it
does not make sense to use Bigloo in a strict R5Rs sense.

e) The best performance option at the command line: bigloo -Obench foo.scm

That said: Does anybody know whether Bigloo its inline-function facility is
something similar to C++ its inline option. I mean often inlining functions
improves speed. Or does the Bigloo compiler automatically inline functions when
using the -Obench option?

Fensterbrett


>
>

0
10/21/2004 8:12:56 AM
Jens Axel S�gaard on Thu, 21 Oct 2004 00:07:33 +0200 writes:

> There are some implementations that run on both Windows and Unix,
> such as DrScheme, SISC, Chicken and MIT Scheme.

I think he wants to write some stuff in C++, and use Scheme as
scripting/extension language.

Guile, like ELK and librep, are specifically intended to be used as
extension languages, AFAIK the ones you have mentioned are not.

> The tricky part is your requirement of a graphics library.

This is one advantage of using another language too (he can implement
in C++ the graphics-related stuff, among other things).

I too am trying this way - the static core code in C, and the game
world described in a specific interpreted language.

-- 
Marco Parrone <marc0@autistici.org> [0x45070AD6]
<http://home.gna.org/lingerie>
0
marc0 (56)
10/21/2004 1:33:40 PM
Marco Parrone wrote:
> Jens Axel S=F8gaard on Thu, 21 Oct 2004 00:07:33 +0200 writes:
>
> > There are some implementations that run on both Windows and Unix,
> > such as DrScheme, SISC, Chicken and MIT Scheme.
>
> I think he wants to write some stuff in C++, and use Scheme as
> scripting/extension language.
>
> Guile, like ELK and librep, are specifically intended to be used as
> extension languages, AFAIK the ones you have mentioned are not.

DrScheme itself is not intended as an extension language, but the
scheme implementation underlying it, mzscheme is.

SISC is intended as an extension language, but it specifically
extends Java (which can be used to extend C/C++ through JNI).
There's probably a graphics library that can fit your needs
available for Java.

Chicken should be usable as an extension language, seeing as
there is good integration with C.

I don't know of examples or practice of MIT Scheme being used as
an extension language.

>
> > The tricky part is your requirement of a graphics library.
>
> This is one advantage of using another language too (he can implement
> in C++ the graphics-related stuff, among other things).
>
> I too am trying this way - the static core code in C, and the game
> world described in a specific interpreted language.
>
> --
> Marco Parrone <marc0@autistici.org> [0x45070AD6]
> <http://home.gna.org/lingerie>

---
-Jordan Henderson

0
10/21/2004 3:15:08 PM
Marco Parrone wrote:
> Percival on Wed, 20 Oct 2004 17:52:57 -0400 writes:
> 
> 
>>>But it appears that Guile requires Cygwin to run (on windows). Has
>>>anyone gotten Guile to run without Cygwin? If not, then is there a
>>>way to distribute Cygwin without forcing the user to install Cygwin
>>>on to his/her computer?
> 
> 
> I think you can distribute just the CygWin DLLs (see [1] for how to
> see what they are), with the other files you are required to
> distribute by the CygWin license.
> 
>   1. http://cygwin.com/faq/faq_3.html#SEC105
> 
> Please note that the free version of CygWin is GPL'de, so you can not
> use the DLL with proprietary programs [2].
> 
>   2. http://cygwin.com/faq/faq_1.html#SEC4
> 

GPL?? they GPLed a DLL...
Dang it!!

Doesn't matter anyway, this is more of an exersize that if it actually 
succedes then I will release.

Percival
0
10/21/2004 9:25:12 PM
Jens Axel S�gaard wrote:
> Percival wrote:
> 
>> Percival wrote:
>>
>>> How well does Guile work on Windows? I am planning to write a game 
>>> using C++ and Guile. I have found several C++ libraries that make the 
>>> C++ side portable between Linux and Windows, and even a graphics 
>>> library that works.
>>>
>>> Now all i need is the scripting language. As a fan of Lisp, my first 
>>> choice would be guile.
>>>
>>> But it appears that Guile requires Cygwin to run (on windows). Has 
>>> anyone gotten Guile to run without Cygwin? If not, then is there a 
>>> way to distribute Cygwin without forcing the user to install Cygwin 
>>> on to his/her computer?
>>>
>>> Thanks. If there are other scheme-extension language implementations 
>>> that work on windows and linux, please tell me. But if either of the 
>>> above CygWin questions are possible, then i'll stick with guile.
> 
> 
>> Erm... bump :)
>> Just basically a reply to myself, so that maybe someone will see my 
>> question.
> 
> 
> Hi Percival
> 
> The lack of answers is probably due toe the fact that only a small
> minority in this group uses Guile - and if they do then on Unix.
> 
> There are some implementations that run on both Windows and Unix,
> such as DrScheme, SISC, Chicken and MIT Scheme.
> 
> The tricky part is your requirement of a graphics library.
> What kind of game do you have in mind? A 3d game or a 2d bitmap
> oriented game?
> 

2d bitmap game. I am just an intermediate programmer who thinks that 
scripting languages will help when  creating an RPG (mainly so I can 
modify the attack points and etc of the program without compiling)

So i doubt guile will touch much graphics at all.

Percival
0
10/21/2004 9:27:28 PM
Marco Parrone wrote:
> Jens Axel S�gaard on Thu, 21 Oct 2004 00:07:33 +0200 writes:
> 
> 
>>There are some implementations that run on both Windows and Unix,
>>such as DrScheme, SISC, Chicken and MIT Scheme.
> 
> 
> I think he wants to write some stuff in C++, and use Scheme as
> scripting/extension language.
> 
> Guile, like ELK and librep, are specifically intended to be used as
> extension languages, AFAIK the ones you have mentioned are not.

Exactly.

>>The tricky part is your requirement of a graphics library.
> 
> 
> This is one advantage of using another language too (he can implement
> in C++ the graphics-related stuff, among other things).
> 
> I too am trying this way - the static core code in C, and the game
> world described in a specific interpreted language.
> 

I am testing out this method. Supposedly it is easier in the long run.

Percival
0
10/21/2004 9:29:07 PM
Marco Parrone wrote:
> Percival on Wed, 20 Oct 2004 17:52:57 -0400 writes:
> 
> 
>>>But it appears that Guile requires Cygwin to run (on windows). Has
>>>anyone gotten Guile to run without Cygwin? If not, then is there a
>>>way to distribute Cygwin without forcing the user to install Cygwin
>>>on to his/her computer?
> 
> 
> I think you can distribute just the CygWin DLLs (see [1] for how to
> see what they are), with the other files you are required to
> distribute by the CygWin license.
> 
>   1. http://cygwin.com/faq/faq_3.html#SEC105
> 
> Please note that the free version of CygWin is GPL'de, so you can not
> use the DLL with proprietary programs [2].
> 
>   2. http://cygwin.com/faq/faq_1.html#SEC4
> 

Quote from: http://cygwin.com/licensing.html
===========In accordance with section 10 of the GPL, Red Hat permits 
programs whose sources are distributed under a license that complies 
with the Open Source definition to be linked with 
libcygwin.a/cygwin1.dll without libcygwin.a/cygwin1.dll itself causing 
the resulting program to be covered by the GNU GPL.

This means that you can port an Open Source(tm) application to cygwin, 
and distribute that executable as if it didn't include a copy of 
libcygwin.a/cygwin1.dll linked into it. Note that this does not apply to 
the cygwin DLL itself. If you distribute a (possibly modified) version 
of the DLL you must adhere to the terms of the GPL, i.e. you must 
provide sources for the cygwin DLL.

See http://www.opensource.org/docs/definition_plain.html for the precise 
Open Source Definition referenced above.

Red Hat sells a special Cygwin License for customers who are unable to 
provide their application in open source code form. For more 
information, please see: http://www.redhat.com/software/cygwin/, or call 
+1-866-2REDHAT ext. 45300 (toll-free in the US)
Outside the US call your regional Red Hat office.
=============

Oh well, not like i was going to sell for money anyway.

Percival
0
10/21/2004 10:33:44 PM
Percival <dragontamer5788@yahoo.com> wrote in message news:<2t3nqrF1rc57hU1@uni-berlin.de>...
> How well does Guile work on Windows? I am planning to write a game using 
> C++ and Guile. I have found several C++ libraries that make the C++ side 
> portable between Linux and Windows, and even a graphics library that works.
> 
> But it appears that Guile requires Cygwin to run (on windows). Has 
> anyone gotten Guile to run without Cygwin? If not, then is there a way 
> to distribute Cygwin without forcing the user to install Cygwin on to 
> his/her computer?
> 
> Thanks. If there are other scheme-extension language implementations 
> that work on windows and linux, please tell me. But if either of the 
> above CygWin questions are possible, then i'll stick with guile.

You can check out Chicken (http://www.call-with-current-continuation.org).
It works with the Microsoft tools, is BSD licensed, has a good ffi, works
fine with C++ and can be embedded quite easily. Additionally it allows
embedding compiled code as well.


cheers,
felix
0
bunny3511 (30)
10/25/2004 5:25:45 AM
Reply: