caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] FAN 0.1 [Ask for feedback]
@ 2012-06-18  1:26 bob zhang
  2012-06-18  9:37 ` Wojciech Meyer
  0 siblings, 1 reply; 3+ messages in thread
From: bob zhang @ 2012-06-18  1:26 UTC (permalink / raw)
  To: Caml List

[-- Attachment #1: Type: text/plain, Size: 1684 bytes --]

Hi, List
     Fan <http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan_doc/> ,
a* type-directed generic programming framework for OCaml*
Using Fan, a programmer can easily create generic libraries
for type-directed
programs, including pretty printing, equality, serialization and
deserialization, data generation, generic traversals, folds, etc.

Compared with deriving <http://code.google.com/p/deriving/>, Fan is mainly
different in such aspects:
1. It generate code *without touching your source tree*, module is
the basic unit. We generated code* fo**r all modules in ocaml's compiler*
*parsing/, typing/, and bootstrapped camlp4 source tree itself*.
Check here http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan_doc/
All modules beginning with Fan_ocaml is generated code for ocaml compiler
Fan_camlp4ast_o is for camlp4ast itself.
2. composable.  All extended syntax are in our mini dsl language "fan"
without polluting the original syntax
3. Lightweight   Check the modules
gen_plugins<http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan_doc/code_Gen_plugins.html>
we write generic printing, equality, map, fold traversal, etc,* 9 generic
plugins in less than 200 lines of code*.

It's still at alpha stage, and I have some ideas that need to be polished, *I
would be happy **to hear any feedback.* We hope that FAN can benefit ocaml
community* as a camlp4 platform.* Fan's code base is pretty small, all the
Ast Transformations are based on quasi-quotations. The only exception is
TyDcl which has no counter-part and Ast Lifting, since *the current camlp4
does not support  macro syntax in **common lisp something like ``(,,).*
*
*
*Many Thanks*
-- 
-- Bob

[-- Attachment #2: Type: text/html, Size: 2193 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] [ANN] FAN 0.1 [Ask for feedback]
  2012-06-18  1:26 [Caml-list] [ANN] FAN 0.1 [Ask for feedback] bob zhang
@ 2012-06-18  9:37 ` Wojciech Meyer
  2012-06-18 12:26   ` bob zhang
  0 siblings, 1 reply; 3+ messages in thread
From: Wojciech Meyer @ 2012-06-18  9:37 UTC (permalink / raw)
  To: bob zhang; +Cc: Caml List

Hi Bob,

Your example generators indeed look very interesting! I would need to
look into more details into that tonight, but you didn't provide a link
for the library to download.

Thanks,
Wojciech

On Mon, Jun 18, 2012 at 2:26 AM, bob zhang <bobzhang1988@gmail.com> wrote:
> Hi, List
>      Fan , a type-directed generic programming framework for OCaml
> Using Fan, a programmer can easily create generic libraries
> for type-directed
> programs, including pretty printing, equality, serialization and
> deserialization, data generation, generic traversals, folds, etc.
>
> Compared with deriving, Fan is mainly different in such aspects:
> 1. It generate code without touching your source tree, module is
> the basic unit. We generated code for all modules in ocaml's compiler
> parsing/, typing/, and bootstrapped camlp4 source tree itself.
> Check here http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan_doc/
> All modules beginning with Fan_ocaml is generated code for ocaml compiler
> Fan_camlp4ast_o is for camlp4ast itself.
> 2. composable.  All extended syntax are in our mini dsl language "fan"
> without polluting the original syntax
> 3. Lightweight   Check the modules gen_plugins  we write generic printing,
> equality, map, fold traversal, etc, 9 generic plugins in less than 200 lines
> of code.
>
> It's still at alpha stage, and I have some ideas that need to be polished, I
> would be happy to hear any feedback. We hope that FAN can benefit ocaml
> community as a camlp4 platform. Fan's code base is pretty small, all the Ast
> Transformations are based on quasi-quotations. The only exception is TyDcl
> which has no counter-part and Ast Lifting, since the current camlp4 does not
> support  macro syntax in common lisp something like ``(,,).
>
> Many Thanks
> --
> -- Bob

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] [ANN] FAN 0.1 [Ask for feedback]
  2012-06-18  9:37 ` Wojciech Meyer
@ 2012-06-18 12:26   ` bob zhang
  0 siblings, 0 replies; 3+ messages in thread
From: bob zhang @ 2012-06-18 12:26 UTC (permalink / raw)
  To: Wojciech Meyer; +Cc: Caml List

[-- Attachment #1: Type: text/plain, Size: 2367 bytes --]

On Mon, Jun 18, 2012 at 5:37 AM, Wojciech Meyer <
wojciech.meyer@googlemail.com> wrote:

> Hi Bob,
>
> Hi,
http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan.zip
It's planned to release after ocaml's 4.00 release since some ideas still
need to be polished
 but you can have a look to get a general idea.
One thing to add is that *Fan is not just a generic printer, it is a
framework that*
*you can write generic printer or whatever you want in tens of lines* :-)

> Your example generators indeed look very interesting! I would need to
> look into more details into that tonight, but you didn't provide a link
> for the library to download.
>
> Thanks,
> Wojciech
>
> On Mon, Jun 18, 2012 at 2:26 AM, bob zhang <bobzhang1988@gmail.com> wrote:
> > Hi, List
> >      Fan , a type-directed generic programming framework for OCaml
> > Using Fan, a programmer can easily create generic libraries
> > for type-directed
> > programs, including pretty printing, equality, serialization and
> > deserialization, data generation, generic traversals, folds, etc.
> >
> > Compared with deriving, Fan is mainly different in such aspects:
> > 1. It generate code without touching your source tree, module is
> > the basic unit. We generated code for all modules in ocaml's compiler
> > parsing/, typing/, and bootstrapped camlp4 source tree itself.
> > Check here
> http://www.seas.upenn.edu/~hongboz/hongbo_zhang_files/fan_doc/
> > All modules beginning with Fan_ocaml is generated code for ocaml compiler
> > Fan_camlp4ast_o is for camlp4ast itself.
> > 2. composable.  All extended syntax are in our mini dsl language "fan"
> > without polluting the original syntax
> > 3. Lightweight   Check the modules gen_plugins  we write generic
> printing,
> > equality, map, fold traversal, etc, 9 generic plugins in less than 200
> lines
> > of code.
> >
> > It's still at alpha stage, and I have some ideas that need to be
> polished, I
> > would be happy to hear any feedback. We hope that FAN can benefit ocaml
> > community as a camlp4 platform. Fan's code base is pretty small, all the
> Ast
> > Transformations are based on quasi-quotations. The only exception is
> TyDcl
> > which has no counter-part and Ast Lifting, since the current camlp4 does
> not
> > support  macro syntax in common lisp something like ``(,,).
> >
> > Many Thanks
> > --
> > -- Bob
>



-- 
-- Bob

[-- Attachment #2: Type: text/html, Size: 3387 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-18 12:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-18  1:26 [Caml-list] [ANN] FAN 0.1 [Ask for feedback] bob zhang
2012-06-18  9:37 ` Wojciech Meyer
2012-06-18 12:26   ` bob zhang

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 NNTP newsgroup(s).