unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: sirgazil <lizagris@protonmail.com>
To: Rodger Fox <thylakoid@openmailbox.org>,
	"guile-user@gnu.org" <guile-user@gnu.org>
Subject: Re: How to make GNU Guile more successful
Date: Sat, 18 Feb 2017 10:29:04 -0500	[thread overview]
Message-ID: <WZdJt2GOQrBVJbA6kXwY98zbsypq-852ldTw5Qi73aEUPvgCMB-4vvrCUD3MjhBVkneSR_e043WMQAiJdPnEICC-E0ontYARwDP3CroZHFI=@protonmail.com> (raw)
In-Reply-To: <6315ebf51aec83aaff1c7fbbec685c0b@openmailbox.org>

-------- Original Message --------
Subject: Re: How to make GNU Guile more successful
Local Time: 17 de febrero de 2017 9:18 PM
UTC Time: 18 de febrero de 2017 2:18
From: thylakoid@openmailbox.org
To: sirgazil <lizagris@protonmail.com>

On 2017-02-17 5:04 pm, sirgazil wrote:
>> sirgazil says:
>>
>>> When I started, my plan was to follow the course in Guile
>> instead,
>>
>>> since the course is about the design method, and not the tools,
>> but
>>
>>> I had to stop very early when I had to do some projects involving
>>
>>> graphics and animation.
>>
>>>
>>
>>> Personally, I don't feel the need for something like DrRacket,
>>
>>> but it would have been nice to be able to find a Guile "canvas"
>> or a
>>
>>> 2D game library to play easily with basic graphics and
>> animations.
>>
>> You might want to try these:
>>
>> https://dthompson.us/projects/chickadee.html
>>
>> https://dthompson.us/projects/sly.html
>
> Hi, Rodger.
>
> Yes, I know those. I tried Sly, but then realized it requires OpenGL,
> which is broken in the system I use (nvidia seems incompatible with
> free software). I haven't tried chickadee, but, if I remember
> correctly, it has the same requirement.
>
> So I still need something that works without OpenGL, like Racket's
> universe module or Pygame :)

I'm not familiar with Racket's universe or Pygame, but I have a couple
more suggestions that you might consider.

There is Guile-Cairo if you just want a basic canvas.
http://www.nongnu.org/guile-cairo/
See also: https://www.cairographics.org/

Maybe you can use Guile-SDL or Guile-SDL2, which is what Sly and
Chickadee are built on, but like normal SDL, you can use it with or
without OpenGL.
And it will also provides more of the API needed for simple games.
https://www.gnu.org/software/guile-sdl/
https://dthompson.us/projects/guile-sdl2.html
See also: http://libsdl.org/


Well, I considered both when I started the course :)

The problem is their level is not as high as I'd like. The course I'm following is for beginner programmers, so they use higher level libraries for drawing and animating. For example, you can write a checker pattern function like this:

(define (checker-pattern color-a color-b)
(above (beside (square 20 "solid" color-a) (square 20 "solid" color-b))
(beside (square 20 "solid" color-b) (square 20 "solid" color-a))))

The functions "above", "beside", and "square" come with a Racket's image library. Guile cairo's interface is lower level, it feels like reading the SVG specification, but without the geometric shapes.

I think the situation with SDL is similar.

Maybe when I finish the course I can start designing a very high level library using the existing guile-cairo and guile-sdl2 :)

  parent reply	other threads:[~2017-02-18 15:29 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-18  1:04 How to make GNU Guile more successful sirgazil
     [not found] ` <6315ebf51aec83aaff1c7fbbec685c0b@openmailbox.org>
2017-02-18 15:29   ` sirgazil [this message]
2017-02-18 16:55     ` David Pirotte
2017-02-19 18:09       ` sirgazil
2017-02-20  1:00         ` David Pirotte
  -- strict thread matches above, loose matches on Subject: below --
2017-03-10  2:08 Vítor De Araújo
2017-03-10  9:55 ` Arne Babenhauserheide
2017-03-10 10:03   ` Panicz Maciej Godek
2017-03-10 14:27     ` vbuaraujo
2017-03-10 15:08       ` Panicz Maciej Godek
2017-03-11  7:19         ` Thien-Thi Nguyen
2017-03-13 15:55           ` Nala Ginrut
2017-03-13 16:14             ` Panicz Maciej Godek
2017-03-10 20:17 ` Amirouche
2017-03-11  0:50   ` Vítor De Araújo
2017-03-11  3:02     ` Vítor De Araújo
2017-03-11  7:42   ` Thien-Thi Nguyen
2017-03-14  3:26 ` Christopher Allan Webber
2017-03-04 23:41 Alejandro Sanchez
2017-03-05  0:23 ` Arne Babenhauserheide
2017-03-05  8:23   ` Thien-Thi Nguyen
2017-03-05 14:19     ` Arne Babenhauserheide
2017-03-05  3:09 ` Erik Edrosa
2017-03-05 11:57   ` Jan Wedekind
2017-03-07  3:29     ` Erik Edrosa
2017-03-05 14:27   ` Arne Babenhauserheide
2017-03-05 16:43     ` Nala Ginrut
2017-03-05 23:46       ` Alejandro Sanchez
2017-03-06  9:00         ` Arne Babenhauserheide
2017-03-06  1:31       ` Matt Wette
2017-03-07  4:07     ` Erik Edrosa
2017-03-05  9:40 ` David Kastrup
2017-02-20  6:05 Michael Vehrs
2017-02-20 20:41 ` Arne Babenhauserheide
2017-02-21  6:01   ` Michael Vehrs
2017-02-21 17:18     ` Arne Babenhauserheide
2017-02-21 18:19       ` Amirouche
2017-02-21 18:31         ` Mike Gran
2017-02-21 18:33           ` Amirouche
2017-02-21 18:41             ` Mike Gran
2017-02-21 18:15     ` Amirouche
2017-02-21 19:25       ` Arne Babenhauserheide
2017-03-01 19:25         ` Amirouche
2017-03-03  5:28           ` Nala Ginrut
2017-03-03  9:18             ` David Kastrup
2017-03-03 11:30               ` Nala Ginrut
2017-03-03 12:19                 ` David Kastrup
2017-03-03 13:35                   ` Nala Ginrut
2017-03-04 23:44               ` Arne Babenhauserheide
2017-03-05  2:05                 ` Thomas Morley
2017-03-05 14:01                   ` Thomas Morley
2017-03-05 14:09                     ` David Kastrup
2017-03-05 14:13                       ` Thomas Morley
2017-03-05 14:27                     ` Thomas Morley
2017-03-03 17:21             ` Matt Wette
2017-03-03 19:09               ` Amirouche
2017-03-03 19:16               ` Amirouche
2017-03-03 19:24                 ` Mike Gran
2017-03-03 20:10                   ` Matt Wette
2017-03-03 20:09                 ` Matt Wette
2017-02-22  5:51     ` Michael Vehrs
2017-02-12 23:56 Amirouche
2017-02-13  0:21 ` Amirouche
2017-02-13 11:06 ` Arne Babenhauserheide
2017-02-13 12:14   ` Arne Babenhauserheide
2017-02-13 20:20   ` Amirouche
2017-02-13 23:08     ` Arne Babenhauserheide
2017-02-13 20:28   ` Panicz Maciej Godek
2017-02-13 20:42     ` Amirouche
2017-02-13 22:34     ` Marko Rauhamaa
2017-02-13 23:56       ` Arne Babenhauserheide
2017-02-14  0:18         ` David Kastrup
2017-02-14 22:21           ` Arne Babenhauserheide
2017-02-15 17:03           ` Christopher Allan Webber
2017-02-16 19:18             ` sirgazil
2017-02-16 20:26               ` Amirouche
2017-02-14  5:59         ` Marko Rauhamaa
2017-02-14 19:36           ` Linas Vepstas
2017-02-14 20:54             ` Marko Rauhamaa
2017-02-14 22:20           ` Arne Babenhauserheide
2017-02-13 22:54     ` Arne Babenhauserheide
2017-02-14  9:54       ` Panicz Maciej Godek
2017-02-14 21:35         ` Arne Babenhauserheide
2017-03-01 19:21           ` Amirouche
2017-03-10 20:23             ` Amirouche
2017-07-14 21:54     ` Linas Vepstas
2017-07-14 21:59       ` Marko Rauhamaa
2017-07-15 10:10       ` Jan Wedekind
2017-07-15 12:55         ` Nala Ginrut
2017-07-15 12:58           ` Nala Ginrut
2017-07-15 22:17           ` Jan Wedekind
2017-07-16  9:54             ` Nala Ginrut
2017-07-17 18:52         ` Arun Isaac
2017-07-18 11:22         ` Ernest Adrogué
2017-07-16  8:30       ` Freja Nordsiek
2017-07-16  9:18         ` Marko Rauhamaa
2017-07-16 10:11           ` Freja Nordsiek
2017-07-16 10:31             ` Marko Rauhamaa
2017-07-16 10:39               ` Freja Nordsiek
2017-07-16 10:45                 ` Freja Nordsiek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='WZdJt2GOQrBVJbA6kXwY98zbsypq-852ldTw5Qi73aEUPvgCMB-4vvrCUD3MjhBVkneSR_e043WMQAiJdPnEICC-E0ontYARwDP3CroZHFI=@protonmail.com' \
    --to=lizagris@protonmail.com \
    --cc=guile-user@gnu.org \
    --cc=thylakoid@openmailbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).