Bakul Shah wrote a particularly elegant Scheme program for Chudnovskys'
algorithm for pi based on the Common Lisp program here:
https://bitbucket.org/tarballs_are_good/numericl/src/5fe8fe7089f48ab1c8a388…
Nick Craig-Wood wrote a Python program using the GMP multiprecision
library that appears to use exactly the same algorithm here:
http://www.craig-wood.com/nick/articles/pi-chudnovsky/
I modified both programs a bit and include them here.
They time the calculation of $10^n$ digits of pi for $n=1,2,3,4,5,6,7$.
The results are
heine:~/programs/gambiteer/gambit> !py
python pi_chudnovsky_bs_gmpy.py
31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
('chudnovsky_gmpy_mpz_bs: digits', 10, 'time', 1.0967254638671875e-05)
('chudnovsky_gmpy_mpz_bs: digits', 100, 'time', 3.0040740966796875e-05)
Last 5 digits 70679 OK
('chudnovsky_gmpy_mpz_bs: digits', 1000, 'time', 0.00025582313537597656)
Last 5 digits 01989 OK
('chudnovsky_gmpy_mpz_bs: digits', 10000, 'time', 0.00386810302734375)
Last 5 digits 75678 OK
('chudnovsky_gmpy_mpz_bs: digits', 100000, 'time', 0.0834801197052002)
Last 5 digits 24646 OK
('chudnovsky_gmpy_mpz_bs: digits', 1000000, 'time', 1.655979871749878)
Last 5 digits 58151 OK
('chudnovsky_gmpy_mpz_bs: digits', 10000000, 'time', 30.67442488670349)
Last 5 digits 55897 OK
heine:~/programs/gambiteer/gambit> gsi chud1.scm
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10, CPU time: 0..
Last 5 digits 26535.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
100, CPU time: 0..
Last 5 digits 70679.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
1000, CPU time: .004.
Last 5 digits 1989.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10000, CPU time: .028.
Last 5 digits 75678.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
100000, CPU time: .472.
Last 5 digits 24646.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
1000000, CPU time: 6.448.
Last 5 digits 58151.
Chudnovsky's algorithm using binary splitting in Gambit Scheme: digits
10000000, CPU time: 98.612.
Last 5 digits 55897.
So it appears that for this algorithm applied to large integers, GMP's
bignum routines are about 3-4 times as fast as Gambit's bignum
routines. Not so bad. For smaller bignums, GMP has a bigger advantage.
The C program gmp-chudnovsky.c includes certain optimizations to this
basic algorithm:
http://gmplib.org/pi-with-gmp.htmlftp://ftp.gmplib.org/pub/misc/gmp-chudnovsky.c
On my machine, compiled with
gcc -O3 -march=native -o gmp-chudnovsky gmp-chudnovsky.c -lgmp -lm
the CPU times for 1,000,000 and 10,000,000 digits are 1.064 and 18.200
seconds, respectively.
This is with a somewhat older machine
model name : Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
running Ubuntu 13.04 with
heine:~/programs/gambiteer/gambit> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.7.3-1ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.7 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --with-system-zlib
--enable-objc-gc --with-cloog --enable-cloog-backend=ppl
--disable-cloog-version-check --disable-ppl-version-check
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
heine:~/programs/gambiteer/gambit> gsi -v
v4.6.9 20130607151908 x86_64-unknown-linux-gnu "./configure
'--enable-single-host' '--enable-multiple-versions' '--enable-shared'"
and the Ubuntu-provided GMP 5.0.5. (I'm sure the GMP folks have a
better way to build GMP on my machine than the "generic" 64-bit version
provided by Ubuntu.)
Brad
Hi all,
I am happy to announce the release of Gerbil v0.12, to go with Gambit
v4.8.9.
This is a big release, with over 1500 commits, which brings many new
features,
libraries and fixes.
As usual, for sources and downloads:
https://github.com/vyzo/gerbilhttps://github.com/vyzo/gerbil/releases
Release highlights:
- gxpkg: the Gerbil package manager has arrived, and with it gerbil.pkg for
implicit package declarations.
- gxtags: emacs TAGS for Gerbil sources.
- there is an fast embedded http server in the stdlib.
- there is a pure Gerbil PostgreSQL driver and the MySQL driver is now
threaded.
- the generics library has been rewritten to do type-based dispatch with a
polymorphic cache.
- the actor RPC subsystem has been rewritten for greatly improved
performance
and syncing for streams.
- there is a extensive support for programming with raw devices and sockets.
- there is a network repl.
- std/misc has been populated with a zoo of utility libraries.
Full release changelog:
https://github.com/vyzo/gerbil/blob/master/CHANGELOG.md
For questions and support, come say hi on #gerbil-scheme in irc.freenode.net
.
Happy Hacking!
-- vyzo
------------------------------------------------------------------------
Call for Papers:
11th ACM SIGPLAN International Conference on Software Language Engineering
(SLE 2018)
co-located with SPLASH 2018
November 5-6, 2018
Boston, Massachusetts, United States
https://conf.researchr.org/track/sle-2018/papers
------------------------------------------------------------------------
We are pleased to invite you to submit papers to the 11th ACM SIGPLAN
International Conference on Software Language Engineering (SLE 2018), held
in conjunction with SPLASH 2018 at Boston, Massachusetts on November 5-6,
2018.
---------------------------
Scope
---------------------------
With the ubiquity of computers, software has become the dominating
intellectual asset of our time. In turn, this software depends on software
languages, namely the languages it is written in, the languages used to
describe its environment, and the languages driving its development
process. Given that everything depends on software and that software
depends on software languages, it seems fair to say that for many years to
come, everything will depend on software languages.
Software language engineering (SLE) is the discipline of engineering
languages and their tools required for the creation of software. It
abstracts from the differences between programming languages, modelling
languages, and other software languages, and emphasizes the engineering
facet of the creation of such languages, that is, the establishment of the
scientific methods and practices that enable the best results. While SLE is
certainly driven by its metacircular character (software languages are
engineered using software languages), SLE is not self-satisfying: its scope
extends to the engineering of languages for all and everything.
Like its predecessors, the 11th edition of the SLE conference, SLE 2018,
will bring together researchers from different areas united by their common
interest in the creation, capture, and tooling of software languages. It
overlaps with traditional conferences on the design and implementation of
programming languages, model-driven engineering, and compiler construction,
and emphasizes the fusion of their communities. To foster the latter, SLE
traditionally fills a two-day program with a single track, with the only
temporal overlap occurring between co-located events.
---------------------------
Topics of Interest
---------------------------
SLE 2018 solicits high-quality contributions in areas ranging from
theoretical and conceptual contributions, to tools, techniques, and
frameworks in the domain of software language engineering. Topics relevant
to SLE cover generic aspects of software languages development rather than
aspects of engineering a specific language. In particular, SLE is
interested in contributions from the following areas:
* Software Language Design and Implementation
- Approaches to and methods for language design
- Static semantics (e.g., design rules, well-formedness constraints)
- Techniques for specifying behavioral / executable semantics
- Generative approaches (incl. code synthesis, compilation)
- Meta-languages, meta-tools, language workbenches
* Software Language Validation
- Verification and formal methods for languages
- Testing techniques for languages
- Simulation techniques for languages
* Software Language Integration and Composition
- Coordination of heterogeneous languages and tools
- Mappings between languages (incl. transformation languages)
- Traceability between languages
- Deployment of languages to different platforms
* Software Language Maintenance
- Software language reuse
- Language evolution
- Language families and variability
* Domain-specific approaches for any aspects of SLE (design,
implementation, validation, maintenance)
* Empirical evaluation and experience reports of language engineering tools
- User studies evaluating usability
- Performance benchmarks
- Industrial applications
---------------------------
Important Dates
---------------------------
All dates are Anywhere on Earth.
* Fri 29 June 2018 - Abstract Submission
* Fri 6 July 2018 - Paper Submission
* Fri 24 August 2018 - Author Notification
* Fri 31 August 2018 - Artifact Submission
* Fri 5 October 2018 - Camera Ready Deadline
* Wed 10 October 2018 - Artifact Notification
* Fri 12 October 2018 - Deadline for Artifact-Related Paper Updates
* Sun 4 Nov 2018 - SLE Workshops
* Mon 5 Nov - Tue 6 Nov 2018 - SLE Conference
---------------------------
Types of Submissions
---------------------------
* Research papers
These should report a substantial research contribution to SLE or
successful application of SLE techniques or both. Full paper submissions
must not exceed 12 pages excluding bibliography.
* Tool papers
Because of SLE’s interest in tools, we seek papers that present software
tools related to the field of SLE. Selection criteria include originality
of the tool, its innovative aspects, and relevance to SLE. Any of the SLE
topics of interest are appropriate areas for tool demonstrations.
Submissions must provide a tool description of 4 pages excluding
bibliography, and a demonstration outline including screenshots of up to 6
pages. Tool demonstrations must have the keywords “Tool Demo” or “Tool
Demonstration” in the title. The 4-page tool description will, if the
demonstration is accepted, be published in the proceedings. The 6-page
demonstration outline will be used by the program committee only for
evaluating the submission.
* New ideas / vision papers
New ideas papers should describe new, non-conventional SLE research
approaches that depart from standard practice. They are intended to
describe well-defined research ideas that are at an early stage of
investigation. Vision papers are intended to present new unifying theories
about existing SLE research that can lead to the development of new
technologies or approaches. New ideas / vision papers must not exceed 4
pages excluding bibliography.
Workshops: Workshops will be organized by SPLASH. Please inform us and
contact the SPLASH organizers if you would like to organize a workshop of
interest to the SLE audience. Information on how to submit workshops can be
found at the SPLASH 2018 Website:
https://conf.researchr.org/track/splash-2018/splash-2018-Workshops.
---------------------------
Artifact Evaluation
---------------------------
For the third year SLE will use an evaluation process for assessing the
quality of the artifacts on which papers are based to foster the culture of
experimental reproducibility. Authors of accepted papers are invited to
submit artifacts. More information will be announced on the Website.
---------------------------
Submission
---------------------------
Submissions have to use the ACM SIGPLAN Conference Format "acmart" (
http://sigplan.org/Resources/Author/#acmart-format); please make sure that
you always use the latest ACM SIGPLAN acmart LaTeX template (
https://www.acm.org/binaries/content/assets/publications/consolidated-tex-t…),
and that the document class definition is
\documentclass[sigplan,screen]{acmart}. Do not make any changes to this
format!
Using the Word template is strongly discouraged.
Ensure that your submission is legible when printed on a black and white
printer. In particular, please check that colors remain distinct and font
sizes in figures and tables are legible.
SLE follows a single-blind review process. Thus, you do not have to blind
your submission.
All submissions must be in PDF format.
Concurrent Submissions:
Papers must describe unpublished work that is not currently submitted for
publication elsewhere as described by SIGPLAN’s Republication Policy (
http://www.sigplan.org/Resources/Policies/Republication). Submitters should
also be aware of ACM’s Policy and Procedures on Plagiarism (
http://www.acm.org/publications/policies/plagiarism_policy). Submissions
that violate these policies will be desk-rejected.
Submission Site:
Submissions will be accepted at https://sle18.hotcrp.com/.
---------------------------
Reviewing Process
---------------------------
All submitted papers will be reviewed by at least three members of the
program committee. Research papers and tool papers will be evaluated
concerning novelty, correctness, significance, readability, and alignment
with the conference call. New ideas / vision papers will be evaluated
primarily concerning novelty, significance, readability, and alignment with
the conference call.
For fairness reasons, all submitted papers must conform to the above
instructions. Submissions that violate these instructions may be rejected
without review, at the discretion of the PC chairs.
---------------------------
Awards
---------------------------
* Distinguished paper: Award for most notable paper, as determined by the
PC chairs based on the recommendations of the programme committee.
* Distinguished reviewer: Award for distinguished reviewer, as determined
by the PC chairs.
* Distinguished artifact: Award for the artifact most significantly
exceeding expectations, as determined by the AEC chairs based on the
recommendations of the artifact evaluation committee.
---------------------------
Publication
---------------------------
All accepted papers will be published in the ACM Digital Library.
AUTHORS TAKE NOTE:
The official publication date is the date the proceedings are made
available in the ACM Digital Library. This date may be up to two weeks
prior to the first day of the conference. The official publication date
affects the deadline for any patent filings related to published work.
---------------------------
Program Committee
---------------------------
Andrew Black, Portland State University, USA
Erwan Bousse, TU Wien, Austria
Marco Brambilla, Politecnico di Milano, Italy
Ruth Breu, University of Innsbruck, Austria
Walter Cazzola, University of Milan, Italy
Marsha Chechik, University of Toronto, Canada
Tony Clark, Sheffield Hallam University, UK
Juan de Lara, Universidad Autonoma de Madrid, Spain
Thomas Degueule, CWI Amsterdam, Netherlands
Juergen Dingel, Queen's University, Canada
Tom Dinkelaker, Ericsson, Germany
Sebastian Erdweg, Delft University of Technology, Netherlands
Bernd Fischer, Stellenbosch University, South Africa
Esther Guerra, Autonomous University of Madrid, Spain
Daco Harkes, Delft University of Technology, Netherlands
Robert Hirschfeld, University of Potsdam, Germany
Michael Homer, Victoria University of Wellington, New Zealand
Dimitris Kolovos, University of York, UK
Ralf Lämmel, University of Koblenz-Landau, Germany
Marjan Mernik, University of Maribor, Slovenia
Gunter Mussbacher, McGill University, Canada
James Noble, Victoria University of Wellington, New Zealand
Bruno Oliveira, University of Hong Kong, China
Christoph Reichenbach, Lund University, Sweden
Jan Oliver Ringert, University of Leicester, UK
Bernhard Rumpe, RWTH Aachen University, Germany
Anthony Sloane, Macquarie University, Australia
Emma Söderberg, Google, Denmark
Mark van den Brand, TU Eindhoven, Netherlands
Tijs van der Storm, CWI Amsterdam, Netherlands
Eelco Visser, Delft University of Technology, Netherlands
Eric Walkingshaw, Oregon State University, USA
Andreas Wortmann, RWTH Aachen University, Germany
Vadim Zaytsev, Rain Code, Belgium
---------------------------
Contact
---------------------------
For additional information, clarification, or answers to questions, please
contact the organizers by email: sle2018(a)googlegroups.com.
-----------------------------------------------------------------------------------
<Programming> 2018 : The Art, Science, and Engineering of Programming
Mon 9 - Thu 12 April 2018 Nice, France
http://2018.programming-conference.org/
********************************************************
CALL FOR POSTERS
********************************************************
Important dates:
- Poster abstract submission: Sunday, March 4th
- Notification: Friday, March 9th
- Poster Presentation: Tuesday, April 10th
Posters are an integral part of <Programming>. We are soliciting quality
contributions for the regular Poster Session of <Programming>
(submissions due March 4th). The Poster Session aims at showcasing very
recent or ongoing work, clarifying problem statements, vetting
solutions, or identifying evaluation methods in an interactive way. It
will offer an excellent opportunity for authors to receive feedback from
the <Programming> community and encourage one-to-one and small group
discussions on a technical topic. Students are especially encouraged to
submit their ongoing work and to introduce it to peer researchers.
Accepted poster abstracts will be made available on the conference Web site.
The <Programming> Posters track will take place on Tuesday, April 10th
and will be organized jointly with the ACM Student Research Competition
Poster track, thus fostering interactions between all presenters and
attendees. Poster author(s) are required to attend the scheduled poster
session, so that they can discuss their work with conference attendees.
Poster Submission Guidelines:
Posters will be evaluated based on their contribution and relevance to
<Programming>. Poster submissions should be sent
to<Yves.Roudier(a)i3s.unice.fr>as a 1-2 page extended abstract in PDF
format. This document should contain:
- the poster title;
- names and affiliations of the authors (one of whom should be named
as a contact person);
- motivation and the addressed problem, proposed solution, and/or
novel contributions of the proposal.
----------------------------------------------------------------------------------
PACMPL Volume 2, Issue ICFP 2018
Call for Papers
accepted papers to be invited for presentation at
The 23rd ACM SIGPLAN International Conference on Functional Programming
St. Louis, Missouri, USA
http://icfp18.sigplan.org/
### Important dates
Submissions due: 16 March 2018 (Friday) Anywhere on Earth
https://icfp18.hotcrp.com
Author response: 2 May (Wednesday) - 4 May (Friday) 14:00 UTC
Notification: 18 May (Friday)
Final copy due: 22 June (Friday)
Conference: 24 September (Monday) - 26 September (Wednesday)
### About PACMPL
Proceedings of the ACM on Programming Languages (PACMPL <https://pacmpl.acm.org/>) is a Gold Open Access journal publishing research on all aspects of programming languages, from design to implementation and from mathematical formalisms to empirical studies. Each issue of the journal is devoted to a particular subject area within programming languages and will be announced through publicized Calls for Papers, like this one.
### Scope
[PACMPL](https://pacmpl.acm.org/) issue ICFP 2018 seeks original papers on the art and science of functional programming. Submissions are invited on all topics from principles to practice, from foundations to features, and from abstraction to application. The scope includes all languages that encourage functional programming, including both purely applicative and imperative languages, as well as languages with objects, concurrency, or parallelism. Topics of interest include (but are not limited to):
* *Language Design*: concurrency, parallelism, and distribution; modules; components and composition; metaprogramming; type systems; interoperability; domain-specific languages; and relations to imperative, object-oriented, or logic programming.
* *Implementation*: abstract machines; virtual machines; interpretation; compilation; compile-time and run-time optimization; garbage collection and memory management; multi-threading; exploiting parallel hardware; interfaces to foreign functions, services, components, or low-level machine resources.
* *Software-Development Techniques*: algorithms and data structures; design patterns; specification; verification; validation; proof assistants; debugging; testing; tracing; profiling.
* *Foundations*: formal semantics; lambda calculus; rewriting; type theory; monads; continuations; control; state; effects; program verification; dependent types.
* *Analysis and Transformation*: control-flow; data-flow; abstract interpretation; partial evaluation; program calculation.
* *Applications*: symbolic computing; formal-methods tools; artificial intelligence; systems programming; distributed-systems and web programming; hardware design; databases; XML processing; scientific and numerical computing; graphical user interfaces; multimedia and 3D graphics programming; scripting; system administration; security.
* *Education*: teaching introductory programming; parallel programming; mathematical proof; algebra.
Submissions will be evaluated according to their relevance, correctness, significance, originality, and clarity. Each submission should explain its contributions in both general and technical terms, clearly identifying what has been accomplished, explaining why it is significant, and comparing it with previous work. The technical content should be accessible to a broad audience.
PACMPL issue ICFP 2018 also welcomes submissions in two separate categories — Functional Pearls and Experience Reports — that must be marked as such at the time of submission and that need not report original research results. Detailed guidelines on both categories are given at the end of this call.
Please contact the principal editor if you have questions or are concerned about the appropriateness of a topic.
### Preparation of submissions
**Deadline**: The deadline for submissions is Friday, March 16, 2018, Anywhere on Earth (<https://en.wikipedia.org/wiki/Anywhere_on_Earth>). This deadline will be strictly enforced.
**Formatting**: Submissions must be in PDF format, printable in black and white on US Letter sized paper, and interpretable by common PDF tools. All submissions must adhere to the "ACM Small" template that is available (in both LaTeX and Word formats) from <https://www.acm.org/publications/authors/submissions>. For authors using LaTeX, a lighter-weight package, including only the essential files, is available from <http://sigplan.org/Resources/Author/#acmart-format>.
There is a limit of 27 pages for a full paper or 14 pages for an Experience Report; in either case, the bibliography will not be counted against these limits. These page limits have been chosen to allow essentially the same amount of content with the new single-column format as was possible with the two-column format used in past ICFP conferences. Submissions that exceed the page limits or, for other reasons, do not meet the requirements for formatting, will be summarily rejected.
See also PACMPL's Information and Guidelines for Authors at <https://pacmpl.acm.org/authors.cfm>.
**Submission**: Submissions will be accepted at <https://icfp18.hotcrp.com/>
Improved versions of a paper may be submitted at any point before the submission deadline using the same web interface.
**Author Response Period**: Authors will have a 72-hour period, starting at 14:00 UTC on Wednesday, May 2, 2018, to read reviews and respond to them.
**Supplementary Materials**: Authors have the option to attach supplementary material to a submission, on the understanding that reviewers may choose not to look at it. The material should be uploaded at submission time, as a single pdf or a tarball, not via a URL. This supplementary material may or may not be anonymized; if not anonymized, it will only be revealed to reviewers after they have submitted their review of the paper and learned the identity of the author(s).
**Authorship Policies**: All submissions are expected to comply with the ACM Policies for Authorship that are detailed at <https://www.acm.org/publications/authors/information-for-authors>.
**Republication Policies**: Each submission must adhere to SIGPLAN's republication policy, as explained on the web at <http://www.sigplan.org/Resources/Policies/Republication>.
**Resubmitted Papers**: Authors who submit a revised version of a paper that has previously been rejected by another conference have the option to attach an annotated copy of the reviews of their previous submission(s), explaining how they have addressed these previous reviews in the present submission. If a reviewer identifies him/herself as a reviewer of this previous submission and wishes to see how his/her comments have been addressed, the principal editor will communicate to this reviewer the annotated copy of his/her previous review. Otherwise, no reviewer will read the annotated copies of the previous reviews.
### Review Process
This section outlines the two-stage process with lightweight double-blind reviewing that will be used to select papers for PACMPL issue ICFP 2018. We anticipate that there will be a need to clarify and expand on this process, and we will maintain a list of frequently asked questions and answers on the conference website to address common concerns.
**PACMPL issue ICFP 2018 will employ a two-stage review process.** The first stage in the review process will assess submitted papers using the criteria stated above and will allow for feedback and input on initial reviews through the author response period mentioned previously. At the review meeting, a set of papers will be conditionally accepted and all other papers will be rejected. Authors will be notified of these decisions on May 18, 2018.
Authors of conditionally accepted papers will be provided with committee reviews (just as in previous conferences) along with a set of mandatory revisions. After five weeks (June 22, 2018), the authors will provide a second submission. The second and final reviewing phase assesses whether the mandatory revisions have been adequately addressed by the authors and thereby determines the final accept/reject status of the paper. The intent and expectation is that the mandatory revisions can be addressed within five weeks and hence that conditionally accepted papers will in general be accepted in the second phase.
The second submission should clearly identify how the mandatory revisions were addressed. To that end, the second submission must be accompanied by a cover letter mapping each mandatory revision request to specific parts of the paper. The cover letter will facilitate a quick second review, allowing for confirmation of final acceptance within two weeks. Conversely, the absence of a cover letter will be grounds for the paper’s rejection.
**PACMPL issue ICFP 2018 will employ a lightweight double-blind reviewing process.** To facilitate this, submitted papers must adhere to two rules:
1. **author names and institutions must be omitted**, and
2. **references to authors' own related work should be in the third person** (e.g., not "We build on our previous work ..." but rather "We build on the work of ...").
The purpose of this process is to help the reviewers come to an initial judgement about the paper without bias, not to make it impossible for them to discover the authors if they were to try. Nothing should be done in the name of anonymity that weakens the submission or makes the job of reviewing the paper more difficult (e.g., important background references should not be omitted or anonymized). In addition, authors should feel free to disseminate their ideas or draft versions of their paper as they normally would. For instance, authors may post drafts of their papers on the web or give talks on their research ideas.
### Information for Authors of Accepted Papers
* As a condition of acceptance, final versions of all papers must adhere to the new ACM Small format. The page limits for final versions of papers will be increased to ensure that authors have space to respond to reviewer comments and mandatory revisions.
* Authors of accepted submissions will be required to agree to one of the three ACM licensing options: open access on payment of a fee (**recommended**, and SIGPLAN can cover the cost as described next); copyright transfer to ACM; or retaining copyright but granting ACM exclusive publication rights. Further information about ACM author rights is available from <http://authors.acm.org>.
* PACMPL is a Gold Open Access journal. It will be archived in ACM’s Digital Library, but no membership or fee is required for access. Gold Open Access has been made possible by generous funding through ACM SIGPLAN, which will cover all open access costs in the event authors cannot. Authors who can cover the costs may do so by paying an Article Processing Charge (APC). PACMPL, SIGPLAN, and ACM Headquarters are committed to exploring routes to making Gold Open Access publication both affordable and sustainable.
* ACM offers authors a range of copyright options, one of which is Creative Commons CC-BY publication; this is the option recommended by the PACMPL editorial board. A reasoned argument in favour of this option can be found in the article [Why CC-BY?](https://oaspa.org/why-cc-by/) published by OASPA, the Open Access Scholarly Publishers Association.
* We intend that the papers will be freely available for download from the ACM Digital Library in perpetuity via the OpenTOC mechanism.
* ACM Author-Izer is a unique service that enables ACM authors to generate and post links on either their home page or institutional repository for visitors to download the definitive version of their articles from the ACM Digital Library at no charge. Downloads through Author-Izer links are captured in official ACM statistics, improving the accuracy of usage and impact measurements. Consistently linking to the definitive version of an ACM article should reduce user confusion over article versioning. After an article has been published and assigned to the appropriate ACM Author Profile pages, authors should visit <http://www.acm.org/publications/acm-author-izer-service> to learn how to create links for free downloads from the ACM DL.
* At least one author of each accepted submissions will be expected to attend and present their paper at the conference. The schedule for presentations will be determined and shared with authors after the full program has been selected. Presentations will be videotaped and released online if the presenter consents.
* The official publication date is the date the papers are made available in the ACM Digital Library. This date may be up to *two weeks prior* to the first day of the conference. The official publication date affects the deadline for any patent filings related to published work.
### Artifact Evaluation
Authors of papers that are conditionally accepted in the first phase of the review process will be encouraged (but not required) to submit supporting materials for Artifact Evaluation. These items will then be reviewed by an Artifact Evaluation Committee, separate from the paper Review Committee, whose task is to assess how the artifacts support the work described in the associated paper. Papers that go through the Artifact Evaluation process successfully will receive a seal of approval printed on the papers themselves. Authors of accepted papers will be encouraged to make the supporting materials publicly available upon publication of the papers, for example, by including them as "source materials" in the ACM Digital Library. An additional seal will mark papers whose artifacts are made available, as outlined in the ACM guidelines for artifact badging.
Participation in Artifact Evaluation is voluntary and will not influence the final decision regarding paper acceptance.
Further information about the motivations and expectations for Artifact Evaluation can be found at <https://icfp18.sigplan.org/track/icfp-2018-Artifacts>.
### Special categories of papers
In addition to research papers, PACMPL issue ICFP solicits two kinds of papers that do not require original research contributions: Functional Pearls, which are full papers, and Experience Reports, which are limited to half the length of a full paper. Authors submitting such papers should consider the following guidelines.
#### Functional Pearls
A Functional Pearl is an elegant essay about something related to functional programming. Examples include, but are not limited to:
* a new and thought-provoking way of looking at an old idea
* an instructive example of program calculation or proof
* a nifty presentation of an old or new data structure
* an interesting application of functional programming techniques
* a novel use or exposition of functional programming in the classroom
While pearls often demonstrate an idea through the development of a short program, there is no requirement or expectation that they do so. Thus, they encompass the notions of theoretical and educational pearls.
Functional Pearls are valued as highly and judged as rigorously as ordinary papers, but using somewhat different criteria. In particular, a pearl is not required to report original research, but, it should be concise, instructive, and entertaining. A pearl is likely to be rejected if its readers get bored, if the material gets too complicated, if too much specialized knowledge is needed, or if the writing is inelegant. The key to writing a good pearl is polishing.
A submission that is intended to be treated as a pearl must be marked as such on the submission web page, and should contain the words "Functional Pearl" somewhere in its title or subtitle. These steps will alert reviewers to use the appropriate evaluation criteria. Pearls will be combined with ordinary papers, however, for the purpose of computing the conference's acceptance rate.
#### Experience Reports
The purpose of an Experience Report is to help create a body of published, refereed, citable evidence that functional programming really works — or to describe what obstacles prevent it from working.
Possible topics for an Experience Report include, but are not limited to:
* insights gained from real-world projects using functional programming
* comparison of functional programming with conventional programming in the context of an industrial project or a university curriculum
* project-management, business, or legal issues encountered when using functional programming in a real-world project
* curricular issues encountered when using functional programming in education
* real-world constraints that created special challenges for an implementation of a functional language or for functional programming in general
An Experience Report is distinguished from a normal PACMPL issue ICFP paper by its title, by its length, and by the criteria used to evaluate it.
* Both in the papers and in any citations, the title of each accepted Experience Report must begin with the words "Experience Report" followed by a colon. The acceptance rate for Experience Reports will be computed and reported separately from the rate for ordinary papers.
* Experience Report submissions can be at most 12 pages long, excluding bibliography.
* Each accepted Experience Report will be presented at the conference, but depending on the number of Experience Reports and regular papers accepted, authors of Experience reports may be asked to give shorter talks.
* Because the purpose of Experience Reports is to enable our community to accumulate a body of evidence about the efficacy of functional programming, an acceptable Experience Report need not add to the body of knowledge of the functional-programming community by presenting novel results or conclusions. It is sufficient if the Report states a clear thesis and provides supporting evidence. The thesis must be relevant to ICFP, but it need not be novel.
The review committee will accept or reject Experience Reports based on whether they judge the evidence to be convincing. Anecdotal evidence will be acceptable provided it is well argued and the author explains what efforts were made to gather as much evidence as possible. Typically, more convincing evidence is obtained from papers which show how functional programming was used than from papers which only say that functional programming was used. The most convincing evidence often includes comparisons of situations before and after the introduction or discontinuation of functional programming. Evidence drawn from a single person's experience may be sufficient, but more weight will be given to evidence drawn from the experience of groups of people.
An Experience Report should be short and to the point: it should make a claim about how well functional programming worked on a particular project and why, and produce evidence to substantiate this claim. If functional programming worked in this case in the same ways it has worked for others, the paper need only summarize the results — the main part of the paper should discuss how well it worked and in what context. Most readers will not want to know all the details of the project and its implementation, but the paper should characterize the project and its context well enough so that readers can judge to what degree this experience is relevant to their own projects. The paper should take care to highlight any unusual aspects of the project. Specifics about the project are more valuable than generalities about functional programming; for example, it is more valuable to say that the team delivered its software a month ahead of schedule than it is to say that functional programming made the team more productive.
If the paper not only describes experience but also presents new technical results, or if the experience refutes cherished beliefs of the functional-programming community, it may be better off submitted it as a full paper, which will be judged by the usual criteria of novelty, originality, and relevance. The principal editor will be happy to advise on any concerns about which category to submit to.
### ICFP Organizers
General Chair: Robby Findler (Northwestern University, USA)
Artifact Evaluation Co-Chairs: Simon Marlow (Facebook, UK)
Ryan R. Newton (Indiana University, USA)
Industrial Relations Chair: Alan Jeffrey (Mozilla Research, USA)
Programming Contest Organiser: Matthew Fluet (Rochester Institute of Technology, USA)
Publicity and Web Chair: Lindsey Kuper (Intel Labs, USA)
Student Research Competition Chair: Ilya Sergey (University College London, UK)
Video Co-Chairs: Jose Calderon (Galois, Inc., USA)
Nicolas Wu (University of Bristol, UK)
Workshops Co-Chair: David Christiansen (Indiana University, USA)
Christophe Scholliers (Universiteit Gent, Belgium)
### PACMPL Volume 2, Issue ICFP 2018
Principal Editor: Matthew Flatt (Univesity of Utah, USA)
Review Committee:
Sandrine Blazy (IRISA, University of Rennes 1, France)
David Christiansen (Indiana University, USA)
Martin Elsman (University of Copenhagen, Denmark)
Marco Gaboardi (University at Buffalo, CUNY, USA)
Sam Lindley (University of Edinburgh, UK)
Heather Miller (Northweastern University, USA / EPFL, Switzerland)
J. Garrett Morris (University of Kansas, USA)
Henrik Nilsson (University of Nottingham, UK)
François Pottier (Inria, France)
Alejandro Russo (Chalmers University of Technology, Sweden)
Ilya Sergey (University College London, UK)
Michael Sperber (Active Group GmbH, Germany)
Wouter Swierstra (Utrecht University, UK)
Éric Tanter (University of Chile, Chile)
Katsuhiro Ueno (Tohoku University, Japan)
Niki Vazou (University of Maryland, USA)
Jeremy Yallop (University of Cambridge, UK)
External Review Committee:
Michael D. Adams (University of Utah, USA)
Amal Ahmed (Northeastern University, USA)
Nada Amin (University of Cambridge, USA)
Zena Ariola (University of Oregon)
Lars Bergstrom (Mozilla Research)
Lars Birkedal (Aarhus University, Denmark)
Edwin Brady ( University of St. Andrews, UK)
William Byrd (University of Alabama at Birmingham, USA)
Giuseppe Castagna (CRNS / University of Paris Diderot, France)
Sheng Chen (University of Louisiana at Lafayette, USA)
Koen Claessen (Chalmers University ot Technology, Sweden)
Ugo Dal Lago (University of Bologna, Italy / Inria, France)
David Darais (University of Vermont, USA)
Joshua Dunfield (Queen’s University, Canada)
Richard Eisenberg (Bryn Mawr College, USA)
Matthew Fluet (Rochester Institute of Technology, USA)
Nate Foster (Cornell University, USA)
Jurriaan Hage (Utrecht University, Netherlands)
David Van Horn (University of Maryland, USA)
Zhenjiang Hu (National Institute of Informatics, Japan)
Suresh Jagannathan (Purdue University, USA)
Simon Peyton Jones (Microsoft Research, UK)
Naoki Kobayashi (University of Tokyo, Japan)
Neelakantan Krishnaswami (University of Cambridge, UK)
Kazutaka Matsuda (Tohoku University, Japan)
Trevor McDonell (University of New South Wales, Australia)
Hernan Melgratti (University of Buenos Aires, Argentina)
Akimasa Morihata (University of Tokyo, Japan)
Aleksandar Nanevski (IMDEA Software Institute, Spain)
Kim Nguyễn (University of Paris-Sud, France)
Cosmin Oancea (DIKU, University of Copenhagen, Denmark)
Bruno C. d. S. Oliveira (University of Hong Kong, China)
Tomas Petricek (University of Cambridge, UK)
Benjamin Pierce (University of Pennsylvania, USA)
Christine Rizkallah (University of Pennsylvania, USA)
Tom Schrijvers (KU Leuven, Belgium)
Manuel Serrano (Inria, France)
Jeremy Siek (Indiana University, USA)
Josef Svenningsson (Chalmers University of Technology, Sweden)
Nicolas Tabareau (Inria, France)
Dimitrios Vytiniotis (Microsoft Research, UK)
Philip Wadler (University of Edinburgh, UK)
Meng Wang (University of Kent, UK)