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 Marc!
Hash files for the Gambit downloadable prebuilt binaries and source
archives would be great.
Made a GitHub issue of it here https://github.com/gambit/gambit/issues/319 .
Any comments/thoughts appreciated.
Adam
PACMPL 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 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: copyright transfer to ACM; retaining copyright but granting ACM exclusive publication rights; or open access on payment of a fee. Further information about ACM author rights is available from <http://authors.acm.org>.
* 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.
* We intend that the proceedings 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 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.
### 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 a committee, separate from the program 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 proceedings, 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 proceedings 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 program 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 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)
-----------------------------------------------------------------------
<Programming> 2018 : The Art, Science, and Engineering of Programming
April 9-12, 2018, Nice, France
https://2018.programming-conference.org/
-----------------------------------------------------------------------
The associated journal for <Programming> already published two exciting
issues this year (openly accessible at
http://programming-journal.org/2018/), a third one is being prepared at
the moment. All of the papers from this year’s volume will be presented
at <Programming> 2018 in Nice in April.
Are you still looking for a good opportunity to contribute to the event?
We are excited to announce that there will be 11 co-located events at
the <Programming> 2018 conference:
- ACM Student Research Competition / <Programming> 2018 Posters
- Bx 2018 - 7th International Workshop on Bidirectional Transformations
- CoCoDo 2018 – Raincode Labs Compiler Coding Dojo
- LASSY 2018 - 3rd Workshop on Live Adaptation of Software SYstems
- MOMO 2018 - 3rd Workshop on Modularity in Modelling
- MoreVMs 2018 - 2nd Workshop on Modern Language Runtimes, Ecosystems,
and VMs
- PASS 2018 - 2nd Workshop on Programming Across the System Stack
- Programming for the Large 2018 Workshop
- ProWeb 2018 - 2nd International Workshop on Programming Technology
for the Future Web
- PX/18 - 3rd Workshop on Programming Experience
- Salon des Refusés 2018 - 2nd edition of the Salon des Refusés workshop
All co-located events will take place during April 9-10 2018. Below, we
list short descriptions and important dates for each event. We are
looking forward to your contributions!
********************************************************************
ACM Student Research Competition / <Programming> 2018 Posters
Submissions: Mon 22 Jan 2018
https://2018.programming-conference.org/track/programming-2018-src
********************************************************************
The ACM Student Research Competition (SRC), sponsored by Microsoft
Research, offers a unique forum for ACM student members at the
undergraduate and graduate levels to present their original research
before a panel of judges and conference attendees. The SRC gives
visibility to up-and-coming young researchers, and offers them an
opportunity to discuss their research with experts in their field, get
feedback, and to help sharpen communication and networking skills.
ACM’s SRC program covers expenses up to $500 for all students invited to
an SRC. Please see our website for requirements and further details.
****************************************************************
Bx 2018 - 7th International Workshop on Bidirectional Transformations
Paper submissions: Fri 19 Jan 2018
Notifications: Sat 17 Feb 2018
https://2018.programming-conference.org/track/bx-2018-papers
****************************************************************
Bidirectional transformations (bx) are a mechanism for maintaining the
consistency of at least two related sources of information. Such sources
can be relational databases, software models and code, or any other
document following standard or ad-hoc formats. Bx are an emerging topic
in a wide range of research areas, with prominent presence at top
conferences in several different fields (namely databases, programming
languages, software engineering, and graph transformation), but with
results in one field often getting limited exposure in the others. Bx
2018 is a dedicated venue for bx in all relevant fields, and is part of
a workshop series that was created in order to promote
cross-disciplinary research and awareness in the area. As such, since
its beginning in 2012, the workshop has rotated between venues in
different fields.
****************************************************************
CoCoDo 2018 – Raincode Labs Compiler Coding Dojo
No submission deadlines!
https://cocodo.github.io
****************************************************************
If you ever studied any computing discipline, you must have learnt
something about compilers as well, and you probably think you forgot
everything about it since. Yet, almost every time you develop a
non-trivial piece of software, you end up converting data between
formats, traversing hierarchical structures, analysing and
representing dependences and doing many other things that are at the
heart of compiler design and implementation. Whether you are applying
a Visitor design pattern or emulating a state machine with a
switch/case statement, you are programming a little part of a compiler
for your own language.
Participating in CoCoDo will give you a chance to immerse in the
marvels of compiler technologies for one day — and if you like it, you
are welcome to stay in this field! Our coding dojo will be split into
sessions, each dedicated to one aspect of compilation, with brief
explanations and supervision by leading field experts. There will be
several technologies, mainstream and otherwise, laid out at your
disposal. Better yet, you can bring your own workbench and show us how
it’s done.
****************************************************************
LASSY 2018 - 3rd Workshop on Live Adaptation of Software SYstems
Paper submissions: Fri 12 Jan 2018
Notifications: Fri 12 Feb 2018
https://2018.programming-conference.org/track/LASSY-2018-papers
****************************************************************
The LASSY workshop provides a space for discussion and collaboration
between researchers working on the problem of enabling live adaptations
to software systems, across the development stack. The workshop
encourages theoretical work on programming models and techniques to
adapt software systems at the programming language, database, or user
interface levels; application and practice to adaptive systems to a
particular domain; and empirical studies on the impact and assessment of
adaptive systems from a societal point of view.
****************************************************************
MOMO 2018 - 3rd Workshop on Modularity in Modelling
Abstract submissions (optional): Fri 2 Feb 2018
Paper submissions: Thu 8 Feb 2018
Notifications: Thu 1 Mar 2018
http://www.momo2018.ece.mcgill.ca/index.htm
****************************************************************
Despite the power of abstraction of modelling, models of real-world
problems and systems quickly grow to such an extent that managing the
complexity by using proper modularization techniques becomes necessary.
The Third International Modularity in Modelling Workshop (MoMo’18) will
bring together researchers and practitioners interested in the
theoretical and practical challenges resulting from applying modularity,
advanced separation of concerns, and composition at the modelling level.
It is intended to provide a forum for presenting new ideas and
discussing the impact of the use of modularization in the context of
(MDE) at different levels of abstraction.
MoMo’18 will bring together researchers and practitioners interested in
exploring modularization techniques for modelling, such as but not
limited to aspect-oriented mechanisms to support advanced separation of
concerns, advanced composition operators for possibly heterogeneous
models, and techniques for execution and reasoning over global
properties of modularized models.
******************************************************************************
MoreVMs 2018 - 2nd Workshop on Modern Language Runtimes, Ecosystems,
and VMs
Submissions: Fri 26 Jan 2018
Notifications: Fri 23 Feb 2018
https://2018.programming-conference.org/track/MoreVMs-2018
******************************************************************************
The MoreVMs'18 workshop aims to bring together industrial and academic
programmers to discuss the design, implementation, and usage of modern
languages and runtimes. This includes aspects such as reuse of language
runtimes, modular implementation, language design and compilation
strategies.
The workshop aims to enable a diverse discussion on how languages and
runtimes are currently being utilized, and where they need to improve
further. We welcome presentation proposals in the form of extended
abstracts discussing experiences, work-in-progress, as well as future
visions, from either an academic or industrial perspective.
**************************************************************************
PASS 2018 - Workshop on Programming Across the System Stack
Submissions: Mon 5 Feb 2018
Notifications: Mon 26 Feb 2018
Poster Submissions: Tue 6 Mar 2018
https://2018.programming-conference.org/track/PASS-2018-papers
**************************************************************************
The landscape of computation platforms has changed dramatically in
recent years. Emerging systems - such as wearable devices, smartphones,
unmanned aerial vehicles, Internet of things, cloud computing servers,
heterogeneous clusters, and data centers - pose a distinct set of
system-oriented challenges ranging from data throughput, energy
efficiency, security, real-time guarantees, to high performance. In the
meantime, code quality, such as modularity or extensibility, remains a
cornerstone in modern software engineering, bringing in crucial benefits
such as modular reasoning, program understanding, and collaborative
software development.
This workshop is driven by one fundamental question: How does internal
code quality interact with system-oriented goals? We welcome both
positive and negative responses to this question. An example of the
former would be modular reasoning systems specifically designed to
promote system-oriented goals, whereas an example of the latter would be
anti-patterns against system-oriented goals during software development.
*************************************************************************
Programming for the Large 2018 Workshop
Abstract submissions: Fri 26 Jan 2018
Submissions (full papers): Fri 2 Feb 2018
Position paper and work-in-progress paper submission: Tue 13 Feb 2018
Notifications: Fri 23 Feb 2018
https://2018.programmingconference.org/track/PftL-2018-papers
*************************************************************************
In the last decade we have witnessed a new kid on the block in the
programming (language) community: programming “large computers”. Such
computers include many-core machines, clusters of raspberry-pies,
industry-scale cluster machines, cloud infrastructure, CUDA and
MPI-based supercomputers etc. This workshop seeks to gather researchers
that contribute to the simplification of the software stack that will be
used to program such machinery in the near future. The main focus of the
workshop is "Programming for the Large". Nonetheless, this workshop aims
to bring together researchers from many disciplines: distributed
programming, big data processing, distributed database engineering, etc.
This workshop welcomes any contribution that advances the
state-of-the-art in the design, implementation and engineering of
runtime systems for cluster architectures.
*************************************************************************
ProWeb 2018 - 2nd International Workshop on Programming Technology for
the Future Web
Submissions: Mon 15 Jan 2018
Notifications: Mon 12 Feb 2018
https://2018.programming-conference.org/track/proweb-2018-papers
*************************************************************************
Web applications have become ubiquitous on desktop and mobile devices
alike. Whereas “responsive” web applications already offered a
desktop-like experience, there is an increasing demand for “rich” web
applications (RIAs) that offer collaborative and even off-line
functionality.
ProWeb18, the 2nd International Workshop on Programming Technology for
the Future Web, is a forum for researchers and practitioners to share
and discuss new technology for programming these and future evolutions
of the web. We welcome submissions introducing programming technology
(i.e., frameworks, libraries, programming languages, program analyses
and development tools) for implementing web applications and for
maintaining their quality over time, as well as experience reports about
the use of state-of-the-art programming technology.
Relevant topics include, but are not limited to: program analysis and
testing for the web; design and implementation of languages for the web;
distributed technology for data sharing, replication and consistency;
and security technology for the web.
****************************************************************
PX/18 - 3rd Workshop on Programming Experience
Submissions: Sat 3 Feb 2018
Notifications: Mon 26 Feb 2018
https://2018.programming-conference.org/track/px-2018-papers/http://programming-experience.org/px18/
****************************************************************
PX is a workshop that explores the act of programming, in particular
what programmers and programming teams do to create software. Do they
type in source text and compile; do they modify running programs; what
kinds of tools are available for error detection, correction, and
prevention; what collaboration tools are available; what language
features make some things easier (or harder); what constitutes
programming; etc? The workshop is run as a writers’ workshop.
****************************************************************
Salon des Refusés 2018
Submissions: Thu 1 Feb 2018
Notifications: Sat 17 Feb 2018
https://www.shift-society.org/salon/2018/
****************************************************************
Salon des Refusés ("exhibition of rejects") was an 1863 exhibition of
artworks rejected from the official Paris Salon. It displayed works by
later famous modernists such as Édouard Manet, whose paintings were
rejected by the conservative jury of the Paris Salon. A similar space is
needed to explore new ways of doing computer science.
Many interesting ideas about programming struggle to find space in the
modern programming language research community, often because they are
difficult to evaluate. To provide space for unorthodox thought provoking
ideas, we take inspiration from literary criticism. Papers that spark an
interesting debate among the program committee are presented together
with an attributed critique that discusses the merits of the work.
https://xkcd.com/1926/
I write Scheme code
to generate TeXdraw commands
which TeX translates into Postscript
which is embedded into the DVI file
which dvips translates to Postscript
which ps2pdf (with the appropriate command arguments) translates to PDF
And somehow this seems natural to me.
Brad