[Caml-list] Call for Participation: VSTTE 2009

2009-10-16 Thread Jean-Christophe Filliâtre
*
*   *
* VSTTE  2009   *
*   *
*Workshop on Verified Software  *
*Theory Tools  and Experiments  *
*(affiliated with Formal Methods Week)  *
*   *
*   *** Call For Participation ***  *
*   *
*   November 2, 2009*
*  Eindhoven, the Netherlands   *
*http://vstte09.lri.fr/ *
*   *
*

The workshop on Verified Software: Theories, Tools,   and
Experiments (VSTTE 2009) will take place on  November the
2nd.   The focus  of this workshop  will be on tools,  as
previous   VSTTE   conferences  in  Zurich   and  Toronto
emphasised  theories  and  experiments.Consisting  of
contributed papers  and invited talks,  the workshop will
focus on the tools  behind the development  of systematic
methods   for   specifying,   building, and verifying
high-quality software.

Program
===

09:00-10:00 - Rajeev Joshi, NASA JPL US
  TBA

10:30-11:30 - Discovering Specifications for Unknown Procedures with
Separation Logic
  Chenguang Luo, Florin Craciun, Shengchao Qin, Guanhua He
and Wei-Ngan Chin.

  On Essential Program Annotations and Completeness of
Verifying Compilers
  Bernhard Beckert, Thorsten Bormer and Vladimir Klebanov.

11:30-12:30 - Jim Woodcock, University of York UK
  TBA

13:30-14:30 - Pascal Cuoq, CEA France
  TBA

14:30-15:30 - SMT Solvers: New Oracles for the HOL Theorem Prover
  Tjark Weber.

  An Interval-based SAT Modulo ODE Solver for Model Checking
Nonlinear Hybrid Systems
  Daisuke Ishii, Kazunori Ueda and Hiroshi Hosobe.

16:00-17:00 - John McDermott, Naval Research Lab US
  TBA

  Kalou Cabrera Castillos, INRIA Nancy France
  TBA


Registration


Participants can register for any combination of FM2009
activities, inclusing VSTTE 2009, at
http://www.win.tue.nl/fmweek/Registration.html

Deadline for (normal) registration is October 19.

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Call for Papers: PLPV 2010

2009-09-18 Thread Jean-Christophe Filliâtre
   Call For Papers

 Programming Languages meets Program Verification (PLPV) 2010

  http://slang.soe.ucsc.edu/plpv10/

  Tuesday, January 19, 2010
Madrid, Spain
  Affiliated with POPL 2010


Overview: The goal of PLPV is to foster and stimulate research at the
intersection of programming languages and program verification. Work
in this area typically attempts to reduce the burden of program
verification by taking advantage of particular semantic and/or
structural properties of the programming language. One example is
dependently typed programming languages, which leverage a language's
type system to specify and check richer than usual specifications,
possibly with programmer-provided proof terms. Another example is
extended static checking systems like Spec#, which extends C# with
pre- and postconditions along with a static verifier for these
contracts.

We invite submissions on all aspects, both theoretical and practical,
of the integration of programming language and program verification
technology. To encourage cross-pollination between different
communities, we seek a broad the scope for PLPV.  In particular,
submissions may have diverse foundations for verification (type-based,
Hoare-logic-based, etc), target diverse kinds of programming languages
(functional, imperative, object-oriented, etc), and apply to diverse
kinds of program properties (data structure invariants, security
properties, temporal protocols, etc).

Submissions: Submissions should fall into one of the following three
categories:

   1. Regular research papers that describe new work on the above or
  related topics. Submissions in this category have an upper limit
  of 12 pages, but shorter submissions are also encouraged.

   2. Work-in-progress reports should describe new work that is
  ongoing and may not be fully completed or evaluated. Submissions
  in this category should be at most 6 pages in total length.

   3. Proposals for challenge problems which the author believes is
  are useful benchmarks or important domains for language-based
  program verification techniques.  Submissions in this category
  should be at most 6 pages in total length.

Submissions should be prepared with SIGPLAN two-column conference
format. Submitted papers must adhere to the SIGPLAN republication
policy. Concurrent submissions to other workshops, conferences,
journals, or similar forums of publication are not allowed.
Papers should be submitted through Easychair,
at http://www.easychair.org/conferences/?conf=plpv2010

Publication: Accepted papers will be published by the ACM and appear
in the ACM digital library.

Student Attendees: Students with accepted papers or posters are
encouraged to apply for a SIGPLAN PAC grant that will help to cover
travel expenses to PLPV. Details on the PAC program and the
application can be found on the workshop web page. PAC also offers
support for companion travel.

Important Dates:

* Electronic submission: October 8, 2009, 11:59pm Samoa time (UTC-11)
* Notification: November 8, 2009
* Final version: November 17, 2009
* Workshop: January 19, 2010

Organizers:

* Cormac Flanagan (University of California, Santa Cruz)
* Jean-Christophe Filliâtre (CNRS)

Program Committee:

* Adam Chlipala (Harvard University)
* Ranjit Jhala (University of California, San Diego)
* Joseph Kiniry (University College Dublin)
* Rustan Leino (Microsoft Research)
* Xavier Leroy (INRIA Paris-Rocquencourt)
* Conor McBride (University of Strathclyde)
* Andrey Rybalchenko (Max Planck Institute for Software Systems)
* Tim Sheard (Portland State University)
* Stephanie Weirich (University of Pennsylvania)

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Partially hiding modules in packages

2009-09-10 Thread Jean-Christophe Filliâtre
Hi,

Alexey Rodriguez a écrit :
 My question is about how to hide modules (or parts thereof) in
 an ocaml package from the outside world (users of the package).
 
 * Add the file foobar.mli which contains the signatures of Foo and Bar
 but hiding
   Foo.unsafe_change. I think it could work, but I would have to repeat
 much of the Foo
   and Bar interfaces. I tried this but it didn't work, ocaml complains
 as follows:

That's the solution we followed in Mlpost (http://mlpost.lri.fr/) and it
works fine (you may have a look at the Makefile.in in mlpost sources).

Indeed, you have to repeat (parts of) the modules interfaces, but since
it is where we put all the ocamldoc documentation, in a single file, it
appears to be a satisfying solution.

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Why don't you use batteries?

2009-09-04 Thread Jean-Christophe Filliâtre
 I like writing my own libraries when I need some.
 
 Unfortunately, many people do that.

Why do you say unfortunately? What was important in my answer was not
the words my own libraries but the words I like. And you cannot find
unfortunate that some people like programming :-)

(But, of course, if this is to recode an existing library without any
pleasure, I agree with you.)

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Why don't you use batteries?

2009-09-03 Thread Jean-Christophe Filliâtre

 8) Other (please explain)

I like writing my own libraries when I need some.


(But don't misread me: I don't see myself as a concurrent to Batteries,
and I think you guys are doing a great job.)

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Second Call for Papers: VSTTE 2009

2009-09-02 Thread Jean-Christophe Filliâtre
Due to many  requests,  the submission  deadline  for the
VSTTE workshop has been extended.

*
*   *
* VSTTE  2009   *
*   *
*Workshop on Verified Software  *
*Theory Tools  and Experiments  *
*   *
*(affiliated with Formal Methods Week)  *
*   *
*   November 2, 2009*
*  Eindhoven, the Netherlands   *
*http://vstte09.lri.fr/ *
*   *
*Deadline for submissions:  Sep 11, 2009*
*   *
*

FM 2009 is the  sixteenth in a series of symposia  of the
Formal Methods Europe  association,   and the second  one
that  is organized as  a world congress. Ten  years after
FM'99,  the  1st  World Congress,  the   formal   methods
communities from all over the world  will once again have
an  opportunity  to  meet.   FM 2009   will  be  both  an
opportunity to  celebrate, and an  opportunity to join in
when enthusiastic   researchers and practitioners  from a
diversity  of backgrounds and   schools come together  to
discuss their ideas and experiences.

The workshop on Verified Software: Theories,  Tools,  and
Experiments (VSTTE 2009) will take place on  November the
2nd.   The focus of this  workshop will be on tools,   as
previous   VSTTE   conferences   in  Zurich  and  Toronto
emphasised  theories  and  experiments. Consisting of
contributed papers and invited talks,   the workshop will
focus on the tools  behind the development of  systematic
methods   for   specifying,   building,   and   verifying
high-quality software.  This includes topics like:

* Program logic
* Specification and verification techniques
* Tool support for specification languages
* Tool for various design methodologies
* Tool integration and plug-ins
* Automation in formal verification
* Tool comparisons and benchmark repositories
* Combination of tools and techniques
  (e.g. formal vs. semiformal, software specification
  vs. engineering techniques)
* Customizing tools for particular applications

Papers about  tool architectures,  and their achievements
are most welcome.   The contributed papers,  which should
report  on  previously  unpublished  work,   can  reflect
current  and   preliminary  work  in  areas  of  software
verification.  New  technical results,  overviews  of new
developments in  software  verification  projects,  short
papers  accompanying  tool  demonstrations,  as  well  as
position  papers  on how to  further  advance the goal of
verified software are all welcome.

SUBMISSION PROCEDURE


VSTTE proceedings will be published as a special issue of
the Software Tools for Technology Transfer (STTT) journal.

Submitted papers should not have been submitted elsewhere
for publication. Papers should use Springer-Verlag's STTT
package ftp://ftp.springer.de/pub/tex/latex/svjour/sttt/,
and should not exceed 15 pages including appendices.

Papers  are  processed  through  the EasyChair conference
management system.

IMPORTANT DATES
===

Submission deadline September 11, 2009, 11:59pm Samoa time (UTC-11)
Notification of acceptance  October 2, 2009
Final version   October 16, 2009

PROGRAM COMMITTEE
=

* David Deharbe, Dimap UFRN, Brazil
* Dino Distefano, Queen Mary University of London, UK
* Jean-Christophe Filliâtre (co-chair), CNRS, France
* Leo Freitas (co-chair), University of York, UK
* John McDermott, Naval Research Laboratory, USA
* Yannick Moy, AdaCore, France
* Arnaud Venet, Kestrel Technology, USA

CONTACT
===

Leo Freitas,  l...@cs.york.ac.uk
Department of Computer Science
University of York, YO10 5DD York, UK
Tel: (+44) (0) 1904 434753

Jean-Christophe Filliatre, jean-christophe.fillia...@lri.fr
CNRS / INRIA Saclay - Ile-de-france - ProVal
Parc Orsay Universite, batiment N
4, rue Jacques Monod 91893
Orsay Cedex FRANCE
Tel: (+33) (0)1 74 85 42 27

FURTHER INFORMATION 
===

Further information will be put on the workshop web-page
http://vstte09.lri.fr/.

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] ocamlgraph predecessors

2009-08-26 Thread Jean-Christophe Filliâtre
Hi,

Benjamin Ylvisaker wrote:
 I have been using ocamlgraph for a while, and have been generally happy
 with it.  I experienced some poor performance with moderately large
 graphs (10-100k vertices) recently, which led me to look through the
 source code a little.  It seems that doing anything with the
 predecessors of a vertex, even just getting a list of them, requires
 scanning through all the vertices in a graph.  This seems a little crazy
 to me.  Am I missing something?  Is there some kind of work-around that
 gives reasonable performance for predecessor operations (i.e. not O(|V|)).

Not providing predecessors in constant time was a deliberate choice in
Ocamlgraph. (A graph is basically a map which binds any vertex to the
set of its successors, and that's it.)

If you need efficient access to the predecessors, you have several
workarounds:

- implement your own graph data structure; after all, ocamlgraph was
designed to clearly separate data structures and algorithms, so that you
will still be able to use graph algorithms on your own graphs.

- use the graph data structure Imperative.Digraph.ConcreteBidirectional,
which is the only graph data structure in Ocamlgraph providing
predecessors in constant time; it is actually the contribution of a user
(Ted Kremenek) who experienced the same need as yourself.

- memoize the results of the predecessors function (either in a modified
version of the data structure or externally if your algorithm allows it).

Hope this helps,
-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Physical counterpart to Pervasives.compare?

2009-08-24 Thread Jean-Christophe Filliâtre
Pascal Cuoq a écrit :
 Elnatan Reisner wrote:
 Is there something that can complete this analogy:
 (=) is to (==) as Pervasives.compare is to ___?

 The simple solution is to number at creation the objects that you want to
 physically compare, using an additional field.

You can do that while hash-consing your values, which has many other
benefits than allowing physical comparison, as explained in this paper:

  http://www.lri.fr/~filliatr/ftp/publis/hash-consing2.pdf

Ocaml code for hash-consing can be found on that page:

  http://www.lri.fr/~filliatr/software.en.html

Hope this helps,
-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Call for Papers: VSTTE 2009

2009-07-24 Thread Jean-Christophe Filliâtre
We apologise if you receive this message more than once.

*
*   *
* VSTTE  2009   *
*   *
*Workshop on Verified Software  *
*Theory Tools  and Experiments  *
*   *
*(affiliated with Formal Methods Week)  *
*   *
*   November 2, 2009*
*  Eindhoven, the Netherlands   *
*http://vstte09.lri.fr/ *
*   *
*Deadline for submissions:  Sep 4, 2009 *
*   *
*

FM 2009 is the  sixteenth in a series of symposia  of the
Formal Methods Europe  association,   and the second  one
that  is organized as  a world congress. Ten  years after
FM'99,  the  1st  World Congress,  the   formal   methods
communities from all over the world  will once again have
an  opportunity  to  meet.   FM 2009   will  be  both  an
opportunity to  celebrate, and an  opportunity to join in
when enthusiastic   researchers and practitioners  from a
diversity  of backgrounds and   schools come together  to
discuss their ideas and experiences.

The workshop on Verified Software: Theories,  Tools,  and
Experiments (VSTTE 2009) will take place on  November the
2nd.   The focus of this  workshop will be on tools,   as
previous   VSTTE   conferences   in  Zurich  and  Toronto
emphasised  theories  and  experiments. Consisting of
contributed papers and invited talks,   the workshop will
focus on the tools  behind the development of  systematic
methods   for   specifying,   building,   and   verifying
high-quality software.  This includes topics like:

* Program logic
* Specification and verification techniques
* Tool support for specification languages
* Tool for various design methodologies
* Tool integration and plug-ins
* Automation in formal verification
* Tool comparisons and benchmark repositories
* Combination of tools and techniques
  (e.g. formal vs. semiformal, software specification
  vs. engineering techniques)
* Customizing tools for particular applications

Papers about  tool architectures,  and their achievements
are most welcome.   The contributed papers,  which should
report  on  previously  unpublished  work,   can  reflect
current  and   preliminary  work  in  areas  of  software
verification.  New  technical results,  overviews  of new
developments in  software  verification  projects,  short
papers  accompanying  tool  demonstrations,  as  well  as
position  papers  on how to  further  advance the goal of
verified software are all welcome.

SUBMISSION PROCEDURE


Submitted papers should not have been submitted elsewhere
for publication, should use the Springer-Verlag's package
ftp://ftp.springer.de/pub/tex/latex/svjour/sttt/, and
should not exceed 15 pages including appendices.

Papers will be processed through the EasyChair conference
management system.

IMPORTANT DATES
===

Submission deadline September 4, 2009, 11:59pm Samoa time (UTC-11)
Notification of acceptance  October 2, 2009
Final version   October 16, 2009

CONTACT
===

Leo Freitas,  l...@cs.york.ac.uk
Department of Computer Science
University of York, YO10 5DD York, UK
Tel: (+44) (0) 1904 434753

Jean-Christophe Filliatre, jean-christophe.fillia...@lri.fr
CNRS / INRIA Saclay - Ile-de-france - ProVal
Parc Orsay Universite, batiment N
4, rue Jacques Monod 91893
Orsay Cedex FRANCE
Tel: (+33) (0)1 74 85 42 27

FURTHER INFORMATION 
===

Further information will be put on the workshop web-page
http://vstte09.lri.fr/.

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Call for Papers: PLPV 2010

2009-07-21 Thread Jean-Christophe Filliâtre
   Call For Papers

 Programming Languages meets Program Verification (PLPV) 2010

  http://slang.soe.ucsc.edu/plpv10/

  Tuesday, January 19, 2010
Madrid, Spain
  Affiliated with POPL 2010


Overview: The goal of PLPV is to foster and stimulate research at the
intersection of programming languages and program verification. Work
in this area typically attempts to reduce the burden of program
verification by taking advantage of particular semantic and/or
structural properties of the programming language. One example is
dependently typed programming languages, which leverage a language's
type system to specify and check richer than usual specifications,
possibly with programmer-provided proof terms. Another example is
extended static checking systems like Spec#, which extends C# with
pre- and postconditions along with a static verifier for these
contracts.

We invite submissions on all aspects, both theoretical and practical,
of the integration of programming language and program verification
technology. To encourage cross-pollination between different
communities, we seek a broad the scope for PLPV.  In particular,
submissions may have diverse foundations for verification (type-based,
Hoare-logic-based, etc), target diverse kinds of programming languages
(functional, imperative, object-oriented, etc), and apply to diverse
kinds of program properties (data structure invariants, security
properties, temporal protocols, etc).

Submissions: Submissions should fall into one of the following three
categories:

   1. Regular research papers that describe new work on the above or
  related topics. Submissions in this category have an upper limit
  of 12 pages, but shorter submissions are also encouraged.

   2. Work-in-progress reports should describe new work that is
  ongoing and may not be fully completed or evaluated. Submissions
  in this category should be at most 6 pages in total length.

   3. Proposals for challenge problems which the author believes is
  are useful benchmarks or important domains for language-based
  program verification techniques.  Submissions in this category
  should be at most 6 pages in total length.

Submissions should be prepared with SIGPLAN two-column conference
format. Submitted papers must adhere to the SIGPLAN republication
policy. Concurrent submissions to other workshops, conferences,
journals, or similar forums of publication are not allowed.

Publication: Accepted papers will be published by the ACM and appear
in the ACM digital library.

Student Attendees: Students with accepted papers or posters are
encouraged to apply for a SIGPLAN PAC grant that will help to cover
travel expenses to PLPV. Details on the PAC program and the
application can be found on the workshop web page. PAC also offers
support for companion travel.

Important Dates:

* Electronic submission: October 8, 2009, 11:59pm Samoa time (UTC-11)
* Notification: November 8, 2009
* Final version: November 17, 2009
* Workshop: January 19, 2010

Organizers:

* Cormac Flanagan (University of California, Santa Cruz)
* Jean-Christophe Filliâtre (CNRS)

Program Committee:

* Adam Chlipala (Harvard University)
* Ranjit Jhala (University of California, San Diego)
* Joseph Kiniry (University College Dublin)
* Rustan Leino (Microsoft Research)
* Xavier Leroy (INRIA Paris-Rocquencourt)
* Conor McBride (University of Strathclyde)
* Andrey Rybalchenko (Max Planck Institute for Software Systems)
* Tim Sheard (Portland State University)
* Stephanie Weirich (University of Pennsylvania)

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] Call for Papers: PLMMS 2009

2009-04-07 Thread Jean-Christophe Filliâtre
  The ACM SIGSAM 2009 International
Workshop on Programming Languages for
Mechanized Mathematics Systems
  PLMMS 2009

   Munich, Germany; August 21, 2009
 http://plmms09.cse.tamu.edu/

   CALL FOR PAPERS


The ACM SIGSAM 2009 International Workshop on Programming Languages
for Mechanized Mathematics Systems will be co-located with TPHOLs 2009.

General Information

The scope of this workshop is at the intersection of programming
languages (PL) and mechanized mathematics systems (MMS). The latter
category subsumes present-day computer algebra systems (CAS),
interactive proof assistants (PA), and automated theorem provers
(ATP), all heading towards fully integrated mechanized mathematical
assistants. Areas of interest include all aspects of PL and MMS that
meet in the following topics, but not limited to:

  * Dedicated input languages for MMS: covers all aspects of languages
intended for the user to deploy or extend the system, both
algorithmic and declarative ones. Typical examples are tactic
definition languages such as Ltac in Coq, mathematical proof
languages as in Mizar or Isar, or specialized programming
languages built into CA systems.

  * Mathematical modeling languages used for programming: covers the
relation of logical descriptions vs. algorithmic content. For
instance the logic of ACL2 extends a version of Lisp, that of Coq
is close to Haskell, and some portions of HOL are similar to ML
and Haskell, while Maple tries to do both simultaneously. Such
mathematical languages offer rich specification capabilities,
which are rarely available in regular programming languages. How
can programming benefit from mathematical concepts, without
limiting mathematics to the computational world view?

  * Programming languages with mathematical specifications: covers
advanced mathematical concepts in programming languages that
improve the expressive power of functional specifications, type
systems, module systems etc. Programming languages with dependent
types are of particular interest here, as is intentionality vs
extensionality.

  * Language elements for program verification: covers specific means
built into a language to facilitate correctness proofs using
MMS. For example, logical annotations within programs may be
turned into verification conditions to be solved in a proof
assistant eventually. How need MMS and PL to be improved to make
this work conveniently and in a mathematically appealing way?

These issues have a very colorful history. Many PL innovations first
appeared in either CA or proof systems first, before migrating into
more mainstream programming languages.  This workshop is an
opportunity  to present the latest innovations in MMS design that may
be relevant to future programming languages, or conversely novel PL
principles that improve upon implementation and deployment of MMS.
Why are all the languages of mainstream CA systems untyped?  Why
are the (strongly typed) proof assistants so much harder to use than
a typical CAS?  What forms of polymorphism exist in mathematics?
What forms of dependent types may be used in mathematical modeling?
How can MMS regain the upper hand on issues of genericity and
modularity?  What are the biggest barriers to using a more
mainstream language as a host language for a CAS or PA/ATP?

PLMMS 2007 was held as a satellite event of, and PLMMS 2008 was
a CICM 2008 workshop.

Submission Details

  * Submission deadline: May 11, 2009 (Apia, Samoa time)
  * Author Notification:  June 22, 2009
  * Final Papers Due: July 10, 2009
  * Workshop: August 21, 2009

   Submitted papers should be in portable document format (PDF),
   formatted using the ACM SIGPLAN style guidelines
   (http://www.acm.org/sigs/sigplan/authorInformation.htm). The length
   is restricted to 10 pages, and the font size 9pt. Each submission
   must adhere to SIGPLAN's republication policy, as explained on the
   web. Violation risks summary rejection of the offending submission.

  Papers are exclusively submitted via EasyChair

  http://www.easychair.org/conferences?conf=plmms09

   We expect that at least one author of each accepted paper attends
   PLMMS 2009 and presents her or his paper.

   Accepted papers will appear in the ACM Digital Library.

Links

  * http://plmms09.cse.tamu.edu/, the PLMMS 2009 workshop web site
  * http://tphols.in.tum.de/, the THOPLs 2009 conference web site

Program Committee

  * Clemens Ballarin, aicas GmbH
  * Gabriel Dos Reis, Texas AM University (Co-Chair)
  * Jean-Christophe Filliâtre, CNRS Université Paris Sud
  * Predrag Janicic, University of Belgrade
  * Jaakko Järvi, Texas AM University
  * Florina Piroi, Johannes Kepler University
  * Laurent Théry, INRIA Sophia Antipolis (Co-Chair)
  * Makarius Wenzel

Re: Re : [Caml-list] ocamlgraph ConcreteBidirectional and Dot

2009-04-07 Thread Jean-Christophe Filliâtre

 I have a question related to this: Is there a reason for the absence of a 
 ConcreteBidirectionalLabeled graph in the API?

Simply an historical reason: the module ConcreteBidirectional is an
external contribution (by Ted Kremenek), which was only recently added
to Ocamlgraph.

Anybody can contribute to a ConcreteBidirectionalLabeled module and
we'll happily add it to Ocamlgraph.

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Parsing 64-bit ints in 32-bit OCaml

2009-03-16 Thread Jean-Christophe Filliâtre
Jon Harrop a écrit :
 I'm just trying to write efficient functions for div and mod by three. I'd 
 like to handle 32- and 64-bit machines with the same code so I tried:
 
   let gcd3 = match Sys.word_size with
 | 32 - 715827883
 | 64 - 3074457345618258603
 | _ - failwith Unknown word size
 
 That works perfectly in 64-bit but breaks OCaml's parser in 32-bit, which 
 dies 
 with:
 
   Integer literal exceeds the range of representable integers of type int
 
 As a workaround, I replaced it with:
 
   | 64 - Int64.to_int 3074457345618258603L
 
 Is there a better workaround?

I also bump into the same problem from time to time, and I usually
replace the large constant by a (launch time) computation, such as

(0x lsl 16) lor 0x

for 0x for instance. In your case, it could simply be

(3074457 * 100 + 345618) * 100 + 258603

But your solution is equally good (the int64 is boxed but is simpler to
read).

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


[Caml-list] announce : Mlpost 0.5

2008-10-30 Thread Jean-Christophe Filliâtre
Dear list,

We are pleased to announce the first release of Mlpost, an Ocaml
interface to MetaPost, a powerful software to draw pictures to be
embedded in LaTeX documents.

Mlpost is free software under LGPL license and is available at

  http://mlpost.lri.fr/

Some examples are available online (thanks to Martin Jambon's caml2html):

  http://mlpost.lri.fr/examples/

You can have a look at Mlpost's API online:

  http://mlpost.lri.fr/doc/Mlpost.html

Have fun with Mlpost,

-- 
the Mlpost authors,
Romain Bardou, Johannes Kanig,
Stéphane Lescuyer and Jean-Christophe Filliâtre



___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] New Ocaml Plug-in for NetBeans

2008-07-29 Thread Jean-Christophe Filliâtre
Lukasz Stafiniak a écrit :
 On Tue, Jul 29, 2008 at 4:16 PM, Damien Doligez [EMAIL PROTECTED] wrote:
 OCaml 3.11 has extended .annot files that will allow external tools
 to do that.  Also, it tells you which function calls are tail calls
 and which are normal calls.

 Cool! Are the http://osp.janestcapital.com/files/ocamlwizard.pdf
 project participants following this? Would be nice to hear their
 progress report :)

They tried, indeed (I'm kind of helping in that projet, so I'm aware of
the progress). Unfortunately, even with the CVS version of Ocaml, the
.annot files appear to lack some information. But the solution currently
followed by Ocamlwizard is along the lines of .annot files, and may even
rely on these files in future version of Ocaml.

-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Problem with module inclusion

2008-06-05 Thread Jean-Christophe Filliâtre
Fabrice Marchant a écrit :
  Here is a counter functor : *)
 [...]
 (*  before Counters, that would be modified this way : 
  *)
 module Counters ( X : Map.OrderedType ) :
   sig
 module XMap :
   sig
 type 'a t = 'a Map.Make(X).t
 val empty : 'a t
 val add : X.t - 'a - 'a t - 'a t
 val find : X.t - 'a t - 'a
 val fold : (X.t - 'a - 'b - 'b) - 'a t - 'b - 'b
 val equal : ('a - 'a - bool) - 'a t - 'a t - bool
   end
 type t = int XMap.t
 val equal : t - t - bool
 val zeroes : t
 val incr : t - X.t - t
   end
 =
   struct
 module XMap = MapPlus ( Map.Make( X ) )
 
   type t = int XMap.t
 
   let equal = XMap.equal ( = )
 
   let zeroes = XMap.empty
 
   let incr map e =
 (XMap.add e
   (try succ (XMap.find e map)
with Not_found - 1)) map 
 end
 
 (* unfortunately this doesn't work : how to access 'to_list' function through 
 the Counters module ? With StringCounters.XMap.to_list ?
 I'm confused. Should the Counters signature be modified ?

You need

- either to export to_list in signature of XMap above as

val to_list : 'a t - (X.t * 'a) list

  and then you'll be able to write StringCounters.XMap.to_list in your
 example

- or to re-export it in module Counters, as

let to_list = XMap.to_list

  and to declare it in signature of module Counters, as

val to_list : t - (X.t * int) list

  and then to use it as StringCounters.to_list in your example.

Hope this helps,
-- 
Jean-Christophe

___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


Re: [Caml-list] Tries are to sequences as ? is to trees

2008-04-26 Thread Jean-Christophe Filliâtre
Jon Harrop a écrit :
 So tries let us associate sequences with values. What data structure lets us 
 associate trees with values?

In Okasaki's book, there is a Section 10.3.2 Generalized Tries which
addresses exactly this problem. The solution proposed is more efficient
than building the list of elements with fold.

-- 
Jean-Christophe Filliâtre
http://www.lri.fr/~filliatr/


___
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs