Re: Guile-Clutter 1.12.2 released

2015-11-19 Thread Amirouche Boubekki

Le 2015-11-19 05:43, David Pirotte a écrit :

Hello,

We are pleased to announce Guile-Clutter 1.12.2, the next maintenance
release for the Guile-Clutter 1.0 series.



Thanks David and the team for making GNOME Clutter available in GNU 
Guile. I really like Clutter (and clutter but that's a story for another 
time). I find that it's the correct level of abstraction for doing 
modern applications. It has no high level widgets but provides a 
flexible API to create your own. I really like it.


Among other things it has bezier lines drawing support via cairo [1], 
bundles a few OpenGL effects like blur or "page turn" and an animations 
helpers. This might sound like toy features, but IMO those pave the 
ground for new GUI paradigms.


Soon more FUI in the wild ;)

Have a look at: http://www.nongnu.org/grip/examples.html

Thanks again!!

[1] I was under the impression that cogl support this natively but it 
seems like the  support did not land upstream yet.





* Guile-Clutter Homepage:

http://www.gnu.org/software/guile-gnome/clutter


* Guile-Clutter 1.12.2 release tarball GPG signature [*]:


http://download.savannah.gnu.org/releases/grip/guile-clutter/guile-clutter-1.12.2.tar.gz

http://download.savannah.gnu.org/releases/grip/guile-clutter/guile-clutter-1.12.2.tar.gz.sig

[ Special Notes:

[-] As I'm updating Guile-Clutter's web pages for this release, I
		still have a pending authorization request to upload the release 
files. So,
		in the mean time, I uploaded them under Grip's dowload area, which 
explains
		the download url refers to grip instead of guile-gnome/guile-clutter 
...


[-] Downloads will redirect to your nearest mirror site.
		Files on mirrors may be subject to a replication delay of up to 24 
hours.

In case of problems use

http://download-mirror.savannah.gnu.org/releases/grip/guile-clutter

* About Guile-Clutter:

Guile-Clutter is a Guile wrapper for the ultra-hip Gnome Clutter 
library!


Clutter is a Scene Graph based canvas working in Retained Mode. Every
object on the
scene is usually a 2D surface inside a 3D space.

Guile-Clutter brings the power of Guile scheme to your Clutter 
applications!


Guile-Clutter is part of GNU Guile-Gnome.


* Changes since 1.10.0

The primary objectives, working towards this release, were (a) to
remove all code
specific to the support of Guile versions prior to Guile 2, (b)
removing all Guile
deprecated calls, and then (c) wrap Clutter 1.12 of course :)!

Dependencies

- Guile-Clutter now requires Guile 2.0, allows Guile 2.2
- Requires Guile-Gnome >= 2.16.3

Clutter specific

- Removing types deprecated in Clutter 1.12.
- Custom bindings added for: ClutterMatrix, ClutterRect, ClutterPoint,
  ClutterSize and ClutterMargin.
	- CoglPixelFormat must become visible from guile-clutter [special 
patch].

- Fixing and/or adding special wrappers for: clutter_text_get_color,
  clutter_actor_get_background_color, clutter_image_set_data,
  clutter_actor_get_margin.
- Updating wrapset.api for Clutter 1.12.
- Call to clutter_init fixed.
- Example based upon deprecated functionality removed.
- Hello-transition.scm example fixed.

Other changes

- Pkg-config support added
- Autotool chain improvements
- Make check, make distcheck fixed
- LICENSE file added


* This release was built/tested using the following tools:

-] gcc(Debian 4.9.3-5) 4.9.3
-] autoconf   (GNU Autoconf) 2.69
-] automake   (GNU automake) 1.15
-] libtool(GNU libtool) 2.4.2
-] makeinfo   (GNU texinfo) 6.0

-] guile-2.0  2.0.11.114-649ec
-] guile-cairogit clone - master branch
-] g-wrap-2.0-guile   1.9.15
-] guile-gnome2.16.3
-] guile-lib  0.2.2

-] glib-2.0   2.46.2
-] gobject-2.02.46.2
-] gthread-2.02.46.2
-] atk2.18.0
-] pango  1.38.1
-] pangocairo 1.38.1
-] cairo-gobject  1.14.4
-] cogl-1.0   1.12.2
-] clutter-1.01.12.2


David,
on behalf of the Guile-Clutter team.


[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

gpg --verify guile-clutter-1.12.2.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

gpg --keyserver keys.gnupg.net --recv-keys A3057AD7

and rerun the 'gpg 

Re: Ideas for a Guile tutorial to go with the new site

2015-11-19 Thread Mathieu Lirzin
Hi Christopher,

Christopher Allan Webber  writes:

>  - Intro
>  - Getting up and running
>(picture of one of those robots with a wind-up-toy-key on its back?)
>+ How to start guile from the command line, add readline support
>+ Editor setup, simple
>
>  Details how to write some scheme with any editor, maybe makes a
>  free software editor recommendation of something simple that's not
>  too hard to get going with Scheme.  Would GEdit work?

As much as I appreciate my Emacs environment, I think GEdit + basic REPL
in a terminal is the right choice for presenting Guile.  I think it
would be better not explaining how to setup Geiser+Emacs in this
tutorial and just mentioning it by giving a link to separate resource
(which don't exist yet...) for those who are already familiar with
Emacs.

> I'm sure there are other things!  But I think a tutorial in this style
> might be fun, and would fit the site well.  And the desire for a good
> tutorial has been expressed many times.

This is definitely a great initiative!

Thanks,

--
Mathieu Lirzin



Re: Ideas for a Guile tutorial to go with the new site

2015-11-19 Thread Christopher Allan Webber
Ludovic Courtès writes:

> Howdy!
>
> I like all the ideas, being a fan of the simplicity and welcoming
> aspects of the “Little” books.
>
> So, who’s in?  :-)
>
> Thanks,
> Ludo’.

I'm glad you like it.  I would *like* to be able to do this, but I
officially don't have the time right at the moment.  Unofficially, I
might do it anyway when procrastinating on something "more important" ;)

But that's definitely a "no promises" statement.  If someone else took
the initiative I'd be happy to jump in and help with that!

 - Chris



Re: Ideas for a Guile tutorial to go with the new site

2015-11-19 Thread Ludovic Courtès
Howdy!

I like all the ideas, being a fan of the simplicity and welcoming
aspects of the “Little” books.

So, who’s in?  :-)

Thanks,
Ludo’.




Re: [PATCH] Added Artanis info to new main page

2015-11-19 Thread Ludovic Courtès
Luis Felipe López Acevedo  skribis:

> On 2015-11-08 15:35, Dirk-Jan C. Binnema wrote:

[...]

>> With the rest of the website looking so very welcoming, I could imagine
>> that the gdb screenshot might look a bit scary to newcomers; perhaps
>> (part of) the foo-pretty-printer[1] would be a bit easier to digest?
>>
>> https://sourceware.org/gdb/onlinedocs/gdb/Writing-a-Guile-Pretty_002dPrinter.html
>>
>> Cheers,
>> Dirk.
>
> Mathieu, could you take the screenshot? Maybe with your suggestions
> and Dirk-jan's? I don't use GDB (I'm not there yet :P).

Mathieu?  What’s up?  :-)

Ludo’.




Re: Unintentional conflict in define-immutable-type?

2015-11-19 Thread Ludovic Courtès
Rob Browning  skribis:

> This crashes in 2.0:
>
>   (use-modules (srfi srfi-9 gnu))
>
>   (define-immutable-record-type foo
> (foo x)
> foo?
> (x x))
>
>   (foo 1)
>
> like this:
>
>   foo.scm:10:9: In procedure #:
>   foo.scm:10:9: In procedure make-struct: Wrong type argument in position 1: 
> #
>
> Changing the type name to  (or even xfoo) fixes the conflict, even
> though "define-immutable-type foo" actually creates a binding for ,
> not foo.

This is expected.  The macro, like that of SRFI-9, creates one binding
for the record-type descriptor, one for the constructor, one for the
predicate, and one for the accessor.  Since the first two have the same
name, it Doesn’t Work.

The convention is indeed to use  for the RTD.

HTH,
Ludo’.




Re: Ideas for a Guile tutorial to go with the new site

2015-11-19 Thread Christopher Allan Webber
Mathieu Lirzin writes:

> Hi Christopher,
>
> Christopher Allan Webber  writes:
>
>>  - Intro
>>  - Getting up and running
>>(picture of one of those robots with a wind-up-toy-key on its back?)
>>+ How to start guile from the command line, add readline support
>>+ Editor setup, simple
>>
>>  Details how to write some scheme with any editor, maybe makes a
>>  free software editor recommendation of something simple that's not
>>  too hard to get going with Scheme.  Would GEdit work?
>
> As much as I appreciate my Emacs environment, I think GEdit + basic REPL
> in a terminal is the right choice for presenting Guile.  I think it
> would be better not explaining how to setup Geiser+Emacs in this
> tutorial and just mentioning it by giving a link to separate resource
> (which don't exist yet...) for those who are already familiar with
> Emacs.

That's roughly what I was going for!  I figured there would be a very
minimal introduction on how to set up a hacking environment with *any*
editor, then those who are ready to set up geiser + emacs can figure out
how to do it, after being pointed in this direction anyway.

>> I'm sure there are other things!  But I think a tutorial in this style
>> might be fun, and would fit the site well.  And the desire for a good
>> tutorial has been expressed many times.
>
> This is definitely a great initiative!
>
> Thanks,

Great, thank you!

(I hope I or someone else have time to do it soon...!)
 - Chris



Re: Unintentional conflict in define-immutable-type?

2015-11-19 Thread Mark H Weaver
Hi Rob,

Rob Browning  writes:

> This crashes in 2.0:
>
>   (use-modules (srfi srfi-9 gnu))
>
>   (define-immutable-record-type foo
> (foo x)
> foo?
> (x x))
>
>   (foo 1)
>
> like this:
>
>   foo.scm:10:9: In procedure #:
>   foo.scm:10:9: In procedure make-struct: Wrong type argument in position 1: 
> #

The problem is that (define-immutable-record-type foo ...) binds 'foo'
to the record-type-descriptor (rtd), and you are also binding 'foo' to
the constructor.  I suppose we should try to improve the error message
in cases like this.

> Changing the type name to  (or even xfoo) fixes the conflict,

Right.

> even though "define-immutable-type foo" actually creates a binding for
> , not foo.

I believe you are mistaken about that.  Looking at both the code and the
expansion of your 'define-immutable-record-type' form above, I see no
evidence that  is bound to anything by it.

 Regards,
   Mark



Re: Asynchronous event loop brainstorm at FSF 30

2015-11-19 Thread Chris Vine
On Wed, 18 Nov 2015 10:26:25 +
Chris Vine  wrote:
> On Tue, 17 Nov 2015 11:46:24 -0600
> Christopher Allan Webber  wrote:
> [snip]
> > This sounds very interesting... is the source available?  Could you
> > point to it?
> > 
> > Thanks!
> >  - Chris  
> 
> No it's not.  I'll email you something.

In case it's of use to others in looking at the options, I have now put
the code here:
http://www.cvine.plus.com/event-loop/event-loop.scm

I have no problem with any parts of it going into guile if thought
useful.  I was inclined to apply the MIT license to it but that seems
fairly pointless give that guile is covered by the LGPL.  The
interesting part is not so much the event loop but the use of
coroutines to give "await" type semantics. This particular
implementation does allow tasks to run in their own threads in a safe
way.

It works for my limited purposes but I imagine it could be much
improved.

Chris