It seems that I forgot to send the CWN last week, even though they were generated. Here they are.

Alan

Hello,

Here is the latest Caml Weekly News, for the week of April 07 to 14, 2009.

1) Amthing - a multi-threaded GUI library

========================================================================
1) Amthing - a multi-threaded GUI library
Archive: <http://groups.google.com/group/fa.caml/browse_thread/thread/af09a302fa8ab70e# >
------------------------------------------------------------------------
** Ogasawara Satoshi announced:

I'm please to announce the first public release of Amthing, a multi- threaded
GUI library for OCaml.

Features are:

- Multi-threaded design using Concurrent ML style message passing.
- Time-line animation and functional reactive sprite system.
- X11 Binding.
- 2D vector rendering by cairo.

Here's a "Hello world" example of Amthing.

 open Ccell
 open Event
 open Amthing.Util.Persavatives

 module W = Amthing.Core.Window ( Amthing.XWindow )
 module K = Amthing.KeyCode
 module E = Amthing.WinEvent
 module S = Amthing.Sprite
 module C = Amthing.Component
 let wh = W.make  (Amthing.XWindow.default_parameter ())
 let tc = lazy (W.make_text_context wh)

 let _ =
   W.resize wh {| x = 0; y = 0; w = 200; h = 200 |};
   let hello =
     new S.label !$tc "hello world!"
       +> S.set (`X 55.)
       +> S.set (`Y 90.)
       +> S.set (`Color Amthing.Color.blue)
       +> C.make
   in
   W.add_visible wh hello;
   W.set_title wh "amthing hello world!";
   W.show wh;
   let main_loop () =
     match select [ Bcast.receive (W.event wh) ] with
       `KEY_PRESS input when E.key_code input = Some K._q ->
              W.close wh;
              exit 0
     | #E.t -> ()
   in
   forever main_loop ()


you can clone the repository from OCamlForge subversion :

 svn checkout svn://svn.forge.ocamlcore.org/svnroot/amthing

or view souce code on the web.

<http://forge.ocamlcore.org/plugins/scmsvn/viewcvs.php/trunk/?root=amthing >
                        
========================================================================
Using folding to read the cwn in vim 6+
------------------------------------------------------------------------
Here is a quick trick to help you read this CWN if you are viewing it using
vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1
zM
If you know of a better way, please let me know.

========================================================================
Old cwn
------------------------------------------------------------------------

If you happen to miss a CWN, you can send me a message
(alan.schm...@polytechnique.org) and I'll mail it to you, or go take a look at
the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the
archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish
to receive it every week by mail, you may subscribe online at
<http://lists.idyll.org/listinfo/caml-news-weekly/> .

========================================================================



--
Alan Schmitt <http://alan.petitepomme.net/>

The hacker: someone who figured things out and made something cool happen.
 .O.
 ..O
 OOO


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
caml-news-weekly mailing list
caml-news-weekly@lists.idyll.org
http://lists.idyll.org/listinfo/caml-news-weekly

Reply via email to