4,715 research outputs found
On the basis for ELF - An Extensible Language Facility
Computer language for data processing and information retrieva
CS Circles: An In-Browser Python Course for Beginners
Computer Science Circles is a free programming website for beginners that is
designed to be fun, easy to use, and accessible to the broadest possible
audience. We teach Python since it is simple yet powerful, and the course
content is well-structured but written in plain language. The website has over
one hundred exercises in thirty lesson pages, plus special features to help
teachers support their students. It is available in both English and French. We
discuss the philosophy behind the course and its design, we describe how it was
implemented, and we give statistics on its use.Comment: To appear in SIGCSE 201
Separation Logic for Small-step Cminor
Cminor is a mid-level imperative programming language; there are
proved-correct optimizing compilers from C to Cminor and from Cminor to machine
language. We have redesigned Cminor so that it is suitable for Hoare Logic
reasoning and we have designed a Separation Logic for Cminor. In this paper, we
give a small-step semantics (instead of the big-step of the proved-correct
compiler) that is motivated by the need to support future concurrent
extensions. We detail a machine-checked proof of soundness of our Separation
Logic. This is the first large-scale machine-checked proof of a Separation
Logic w.r.t. a small-step semantics. The work presented in this paper has been
carried out in the Coq proof assistant. It is a first step towards an
environment in which concurrent Cminor programs can be verified using
Separation Logic and also compiled by a proved-correct compiler with formal
end-to-end correctness guarantees.Comment: Version courte du rapport de recherche RR-613
Guppy: Process-Oriented Programming on Embedded Devices
Guppy is a new and experimental process-oriented programming language, taking much inspiration (and some code-base) from the existing occam-pi language. This paper reports on a variety of aspects related to this, specifically language, compiler and run-time system development, enabling Guppy programs to run on desktop and embedded systems. A native code-generation approach is taken, using C as the intermediate language, and with stack-space requirements determined at compile-time
- …