* [Caml-list] [ANN] Ocsigen: Eliom 3
@ 2012-12-10 17:33 Benedikt Becker
0 siblings, 0 replies; only message in thread
From: Benedikt Becker @ 2012-12-10 17:33 UTC (permalink / raw)
To: caml users, ocsigen
Dear OCamlers,
we are celebrating Ada's birthday by bringing out a major update of
Eliom - the advanced framework for client/server web applications in
OCaml - and some minor updates for Ocsigenserver and Tyxml.
Here is a list of major new features (and short code snippets can be
found at the end of this email):
* The tightest integration of client value within the server code
ever made possible in a major statically typed programming
language [1]
* Easy access to top-level server values - and (Lwt-)functions -
from within the client code [2]
* Access to other users' states of Eliom references
* Improved support of Eliom's source files in the compilation tools
eliom{c,opt,dep}
* A new tool, eliom-destillery, for creating basic projects fast &
easy
The manual, a cheat-sheet, a comprehensive tutorial, and the
API-documentation of the various Ocsigen projects are available on
* http://ocsigen.org
The probably simplest and most generic way to install Eliom is by
using OPAM. But also Debian packages are already available (in
experimental, thanks Stéphane!), Gentoo-ebuilds are on their way, the
Ocsigen-bundle is still at hand, and the archives can be found at
* http://ocsigen.org/eliom/install
And maybe you may want to become social with us on
* https://twitter.com/ocsigen
* https://plus.google.com/u/0/105890612060116987398/posts
* https://www.facebook.com/pages/Ocsigen/289974521051526
Enjoy!
-- The Ocsigen-team
[1]
{server{ (* This marks server-side code *)
let value_history_on_client =
{ref string{ ref [] }} (* A client value within the server code *)
let _ = My_app.register_service ~path ~get_params
(fun value () ->
(* Push the GET parameter to the client's history a side effect *)
ignore {unit{
%value_history_on_client := %value :: ! %value_history_on_client
}};
Lwt.return html)
}}
[2]
{server{
let f = server_function Json.t<string>
(fun x -> Printf.eprintf "Client says: %s\n%!" x; Lwt.return ())
}}
{client{ (* This marks client-side code *)
(* %f makes the server's value f, a client-ready server function,
available in the client code *)
... %f "hello!" ...
}}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-12-10 17:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-10 17:33 [Caml-list] [ANN] Ocsigen: Eliom 3 Benedikt Becker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox