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
To test Gambit’s portability I have built the latest Gambit with Emscripten to run it in the browser. To try it out visit this URL:
http://gambitscheme.org/emscripten-gambit.html
The system supports many features, including Gambit’s R7RS module system. It comes with a preloaded virtual filesystem. The REPL supports the same features as on the desktop, including emacs keybindings, parenthesis matching, tab completion, and the REPL history is preserved from one execution to the next (in the browser’s local storage).
To ease experimentation, you can execute JavaScript code with the jseval procedure:
> (jseval "prompt('please enter your name')")
"spiderman"
> (current-directory)
"/home/web_user/"
> (directory-files)
("fib.sld" "demo.scm")
> (load "demo.scm")
(time (fib 25))
0.494000 secs real time
0.000000 secs cpu time (0.000000 user, 0.000000 system)
no collections
7788120 bytes allocated
no minor faults
no major faults
"/home/web_user/demo.scm"
Embedding the Gambit REPL in a web page is as simple as including the file emscripten-gambit.js in the web page, and putting emscripten_gambit.wasm on the server with the .js file:
<!doctype html>
<html lang="en-us">
<head>
<title>Emscripten compiled Gambit in the browser</title>
</head>
<body>
<script type="text/javascript" src="emscripten-gambit.js"></script>
</body>
</html>
The script for building Gambit with emscripten is in misc/build-emscripten-gambit.tgz
Have fun!
Marc
PACMPL Volume 4, Issue ICFP 2020
Call for Papers
accepted papers to be invited for presentation at
The 25th ACM SIGPLAN International Conference on Functional Programming
Jersey City, USA
http://icfp20.sigplan.org/
### Important dates
Submissions due: 3 March 2020 (Tuesday) Anywhere on Earth
https://icfp20.hotcrp.com
Author response: 21 April (Tuesday) - 24 Apri (Friday) 14:00 UTC
Notification: 8 May (Friday)
Final copy due: 1 July (Wednesday)
Conference: 18 August (Sunday) - 23 August (Friday)
### 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 2020 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; macros;
pattern matching; type systems; type inference; dependent types;
session types; gradual typing; refinement types; interoperability;
domain-specific languages; imperative programming; object-oriented
programming; logic programming; probabilistic programming;
reactive programming; generic programming; bidirectional
programming.
* Implementation: abstract machines; virtual machines;
interpretation; compilation; compile-time and run-time
optimization; garbage collection and memory management; runtime
systems; 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; build systems;
program synthesis.
* Foundations: formal semantics; lambda calculus; program
equivalence; rewriting; type theory; logic; category theory;
monads; continuations; control; state; effects; names and binding;
program verification.
* 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;
graphics and multimedia; GPU 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 2020 also welcomes submissions in two separate
categories — Functional Pearls and Experience Reports — that must be
marked as such when submitted 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 **Tuesday, March 3, 2020**,
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 **25 pages for a full paper or Functional Pearl**
and **12 pages for an Experience Report**; in either case, the
bibliography will not be counted against these limits. Submissions
that exceed the page limits or, for other reasons, do not meet the
requirements for formatting, will be summarily rejected. Supplementary
material can and should be **separately** submitted (see below).
See also PACMPL's Information and Guidelines for Authors at
<https://pacmpl.acm.org/authors.cfm>.
**Submission**: Submissions will be accepted at <https://icfp20.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 **Tuesday, April 21, 2020**, to read reviews
and respond to them.
**Supplementary Material**: Authors have the option to attach
supplementary material to a submission, on the understanding that
reviewers may choose not to look at it. This supplementary material
should **not** be submitted as part of the main document; instead, it
should be uploaded as a **separate** PDF document or tarball.
Supplementary material should be uploaded **at submission time**, not
by providing a URL in the paper that points to an external repository.
Authors are free to upload both anonymized and non-anonymized
supplementary material. Anonymized supplementary material will be
visible to reviewers immediately; non-anonymized supplementary
material will be revealed to reviewers only 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>.
### 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 2020. 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 2020 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 8, 2020**.
Authors of conditionally accepted papers will be provided with
committee reviews (just as in previous conferences) along with a set
of mandatory revisions. After four weeks (June 5, 2020), 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 four 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 2020 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 limit for the final
versions of papers will be increased by two pages to help authors
respond to reviewer comments and mandatory revisions: **27 pages
plus bibliography for a regular paper or Functional Pearl, 14 pages
plus bibliography for an Experience Report**.
* 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.
* 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.
* At least one author of each accepted submission will be expected to
attend and present that 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.
In extraordinary circumstances, at the discretion of the principal
editor, alternative presentation methods may be approved for
specific papers. The canonical example is where all authors are
denied visas to the ICFP host country, in which case a nonauthor may
be deputized to present, or various electronic substitutes may be
considered. We list these options in the interest of transparency,
but please keep in mind that, most years, no exceptions are
granted. This option is not meant, e.g., to excuse cases where
authors find themselves double-booked with other meetings (so, at
the time of submitting a paper, please do keep the days of the
conference reserved on at least one author’s calendar).
### 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.
### 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 end with the words "(Experience
Report)" in parentheses. 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 to submit 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: Stephanie Weirich (University of Pennsylvania, USA)
Artifact Evaluation Co-Chairs: Ben Lippmeier (UNSW, Australia)
Brent Yorgey (Hendrix College, USA)
Industrial Relations Chair: Alan Jeffrey (Mozilla Research, USA)
Programming Contest Organiser: Igor Lukanin (Kontur, Russia)
Publicity and Web Chair: Sam Tobin-Hochstadt (Indiana University, USA)
Student Research Competition Chair: Youyou Cong (Tokyo Institute of Technology, Japan)
Workshops Co-Chair: Leonidas Lampropoulos (University of Maryland, USA)
Jennifer Hackett (University of Nottingham, UK)
Conference Manager: Annabel Satin (P.C.K.)
### PACMPL Volume 4, Issue ICFP 2020
Principal Editor: Adam Chlipala (MIT, USA)
Review Committee:
Andreas Abel (Gothenburg University, Sweden)
Nada Amin (Harvard University, USA)
Edwin Brady (University of St. Andrews, UK)
William E. Byrd (University of Alabama at Birmingham, USA)
David Darais (University of Vermont)
Richard A. Eisenberg (Bryn Mawr College, USA)
Matthew Fluet (Rochester Institute of Technology, USA)
Makoto Hamana (Gunma University, Japan)
Fritz Henglein (Department of Computer Science, University of Copenhagen (DIKU) and Deon Digital, Denmark)
Jan Hoffmann (Carnegie Mellon University, USA)
Robbert Krebbers (Delft University of Technology, Netherlands)
Neel Krishnaswami (Computer Laboratory, University of Cambridge, UK)
Geoffrey Mainland (Drexel University, USA)
Magnus O. Myreen (Chalmers University of Technology, Sweden)
Atsushi Ohori (Tohoku University, Japan)
Frank Piessens (KU Leuven, Belgium)
Nadia Polikarpova (University of California San Diego, USA)
Jonathan Protzenko (Microsoft Research, USA)
Jerome Simeon (Clause, France)
KC Sivaramakrishnan (IIT Madras, India)
External Review Committee:
Danel Ahman (University of Ljubljana, Slovenia)
Aws Albarghouthi (University of Wisconsin-Madison, USA)
Kenichi Asai (Ochanomizu University, Japan)
Patrick Bahr (IT University of Copenhagen, Denmark)
Stephanie Balzer (Carnegie Mellon University, USA)
Jean-Philippe Bernardy (University of Gothenburg, Sweden)
Sandrine Blazy (Univ Rennes-IRISA, France)
Benjamin Canou (OCamlPro, France)
Giuseppe Castagna (CNRS - Université de Paris, France)
Jesper Cockx (TU Delft, Netherlands)
Youyou Cong (Tokyo Institute of Technology, Japan)
Leonardo De Moura (Microsoft Research, USA)
Sebastian Erdweg (JGU Mainz, Germany)
Ronald Garcia (University of British Columbia, Canada)
Jennifer Hackett (University of Nottingham, UK)
Troels Henriksen (University of Copenhagen, Denmark)
Gabriele Keller (Utrecht University, Netherlands)
Delia Kesner (IRIF, France / University of Paris Diderot, France)
Shriram Krishnamurthi (Brown University, United States)
Jan Midtgaard (University of Southern Denmark, Denmark)
Andrey Mokhov (Jane Street, USA)
J. Garrett Morris (University of Kansas, USA)
Stefan Muller (Carnegie Mellon University, USA)
Rasmus Ejlers Møgelberg (IT University of Copenhagen, Denmark)
Cyrus Omar (University of Chicago, USA)
Dominic Orchard (University of Kent, UK)
Ivan Perez (NIA / NASA Formal Methods)
Brigitte Pientka (McGill University, Canada)
Juan Pedro Bolívar Puente (Independent Consultant, Sinusoidal Engineering)
Norman Ramsey (Tufts University, USA)
Christine Rizkallah (UNSW Sydney, Australia)
Tiark Rompf (Purdue University, USA)
Guido Salvaneschi (Technische Universität Darmstadt, Germany)
Tom Schrijvers (KU Leuven, Belgium)
Chung-chieh Shan (Indiana University, USA)
Vincent St-Amour (Northwestern University, USA)
Aaron Stump (The University of Iowa, USA)
Nicolas Tabareau (Inria, France)
Ross Tate (Cornell University, USA)
Dimitrios Vytiniotis (DeepMind, UK)
John Wiegley (DFINITY, USA)
Beta Ziliani (FAMAF, UNC and CONICET, Argentina)
-------------------------------------------------------------------------
Call for participation
21st Symposium on Trends in Functional Programming
tfp2020.org
-------------------------------------------------------------------------
The list of accepted papers is available at
http://www.cse.chalmers.se/~rjmh/tfp/
The symposium on Trends in Functional Programming (TFP) is an international
forum for researchers with interests in all aspects of functional
programming,
taking a broad view of current and future trends in the area. It aspires
to be
a lively environment for presenting the latest research results, and other
contributions.
* TFP is moving to new winter dates, to provide an FP forum in between the
annual ICFP events.
* TFP offers a supportive reviewing process designed to help less
experienced
authors succeed, with two rounds of review, both before and after the
symposium itself. Authors have an opportunity to address reviewers'
concerns
before final decisions on publication in the proceedings.
* TFP offers two "best paper" awards, the John McCarthy award for best
paper,
and the David Turner award for best student paper.
* This year we are particularly excited to co-locate with Lambda Days in
beautiful Krakow. Lambda Days is a vibrant developer conference with
hundreds
of attendees and a lively programme of talks on functional
programming in
practice. TFP will be held in the same venue, and participants will
be able
to session-hop between the two events.
Important Dates
---------------
Submission deadline for pre-symposium review: 15th November, 2019
-- passed --
Submission deadline for draft papers: 10th January, 2020
-- passed --
Registration (regular): 2nd February, 2020
Registration (late): 13th February, 2020
Symposium dates: 13-14th February, 2020
Visit tfp2020.org for more information.
Hi,
I'm trying to build Gambit on the current Debian Stable (buster), and am
getting stuck on some errors. This is with the following:
uname -v -m -o
#1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
gcc --version
gcc (Debian 8.3.0-6) 8.3.0
I did:
git clone https://github.com/gambit/gambit
cd gambit
./configure
make
and got the following:
[...]
gcc -O3 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mpc64 -I"../include" -c -o os_files.o -I. -DHAVE_CONFIG_H -D___GAMBITDIR="\"/usr/local/Gambit\"" -D___GAMBITDIR_USERLIB="\"~/.gambit_userlib\"" -D___GAMBITDIR_INSTLIB="\"~~userlib\"" -D___SYS_TYPE_CPU="\"x86_64\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_files.c -D___LIBRARY
os_files.c: In function ‘rename_long_path’:
os_files.c:877:36: error: ‘RENAME_NOREPLACE’ undeclared (first use in this function); did you mean ‘MAP_FIXED_NOREPLACE’?
if (!replace) flags |= RENAME_NOREPLACE;
^~~~~~~~~~~~~~~~
MAP_FIXED_NOREPLACE
os_files.c:877:36: note: each undeclared identifier is reported only once for each function it appears in
os_files.c:878:22: warning: implicit declaration of function ‘renameat2’; did you mean ‘renameat’? [-Wimplicit-function-declaration]
result = renameat2 (olddir, oldpath2, newdir, newpath2, flags);
^~~~~~~~~
renameat
make[1]: *** [makefile:400: os_files.o] Error 1
make[1]: Leaving directory '/home/john/code/gambit/lib'
make: *** [makefile:475: all-recursive] Error 1
make 56.11s user 1.54s system 99% cpu 57.724 total
any suggestions regarding how to proceed?
Thanks,
John
--
John Magolske
http://b79.net/contact
-------------------------------------------------------------------------
Final call for papers
21st Symposium on Trends in Functional Programming
tfp2020.org
-------------------------------------------------------------------------
Did you miss the deadline to submit a paper to Trends in Functional
Programming
http://www.cse.chalmers.se/~rjmh/tfp/? No worries -- it's not too late!
Submission is open until January 10th 2020, for a presentation slot at
the event
and post-symposium reviewing.
The symposium on Trends in Functional Programming (TFP) is an international
forum for researchers with interests in all aspects of functional
programming,
taking a broad view of current and future trends in the area. It aspires
to be
a lively environment for presenting the latest research results, and other
contributions.
* TFP is moving to new winter dates, to provide an FP forum in between the
annual ICFP events.
* TFP offers a supportive reviewing process designed to help less
experienced
authors succeed, with two rounds of review, both before and after the
symposium itself. Authors have an opportunity to address reviewers'
concerns
before final decisions on publication in the proceedings.
* TFP offers two "best paper" awards, the John McCarthy award for best
paper,
and the David Turner award for best student paper.
* This year we are particularly excited to co-locate with Lambda Days in
beautiful Krakow. Lambda Days is a vibrant developer conference with
hundreds
of attendees and a lively programme of talks on functional programming in
practice. TFP will be held in the same venue, and participants will
be able
to session-hop between the two events.
Important Dates
---------------
Submission deadline for pre-symposium review: 15th November, 2019 --
passed --
Submission deadline for draft papers: 10th January, 2020
Symposium dates: 13-14th February, 2020
Visit tfp2020.org for more information.