All publications about ABC are gathered here under topic. Within each topic the order is chronological. (B was the working name of ABC during its development phase).
Leo Geurts and Lambert Meertens, 18 pages. This was the first article on B. It clarifies some of the design objectives and describes the result of the first iteration in the defining process. Published in New Directions in Algorithmic Languages 1975, ed. S.A. Schuman, IRIA, Rocquencourt (1976). Available from CWI as report IW 46.
Lambert Meertens, 11 pages. Proposes the method of stepwise refinement as a means to make the structure of program development explicit in the program text. Published in Constructing Quality Software, ed. S.A. Schuman, North-Holland Publ. Co. (1978). Available from CWI as report IW 78.
Leo Geurts and Lambert Meertens, 12 pages. This is a rather technical derivation of a simple condition for the ``keyword skeletons'' in a language that guarantees the existence of a simple no-backup parser. It influenced the keyword stucture of B. Published in Implementation and Design of Algorithmic Languages, eds. J. André and J.-P. Banātre, IRIA, Rocquencourt (1978). Available from CWI as report IW 86.
Lambert Meertens, 18 pages. This article describes some unexpected solutions that were found for problems in the third iteration of designing B. It reinterpretes the original design objectives in the light of some rejected preconceptions. Published in Algorithmic Languages, ed. J.C. van Vliet, North-Holland Publ. Co. (1981). Available from CWI as report IW 161.
Lambert Meertens, 88 pages. This book is a specification of the whole B language, as it arose from the third design iteration. It is, however, rather technical for the casual reader. In addition it contains some thoughts on a B system. Published by CWI as ISBN 90 6196 238 2. A part of it, the Quick Reference also appeared in the Algol Bulletin number 48, August 1982.
Leo Geurts, 2 pagina's. Een korte schets van een nederlandstalige versie van B als aanzet voor een ideale programmeertaal. Gepubliceerd in de HCC Nieuwsbrief, jaargang 5, nummer 6, blz 20-21, juli 1982.
Leo Geurts, 13 pagina's. Dit artikel bespreekt de consequenties van de doelstellingen die bij het ontwerpen van de taal B zijn gebruikt bij toepassing op de programmeeromgeving. Benadrukt wordt het belang van een geļntegreerd systeem dat voor verschillende funkties dezelfde communicatiemethode met de gebruiker hanteert. Gepubliceerd in Colloquium Programmeeromgevingen, CWI, Syllabus 30, Amsterdam (1983).
Aad Nienhuis, 16 pages. Gives an overview of the design of the first approximation of the B dedicated editor. Published by CWI, report IW 248/83.
Steven Pemberton, 12 pages. Gives a description of B along with some background to it, and some justification for its existence, arguments about simplicity, interactiveness, programmer productivity, and talks about its suitability for use in schools. Published in CWI Newsletter, Vol. 1, No. 3 (June 1984).
Jeroen van de Graaf, 23 pages. This report contains an informal description and a tentative specification of the environment for B. Published by CWI, report CS-R8408.
M. Andreoli, 26 pagina's. In dit rapport worden mogelijkheden onderzocht commando's aan een taal als B toe te voegen om ``grafisch editen'' (interactieve gegevensinvoer via een grafische interface) op een eenvoudige manier mogelijk te maken. Gepubliceerd door CWI, rapport CS-N8509.
Leo Geurts, 3 pagina's. Korte eenvoudige uitleg van taal en omgeving. Gepubliceerd in de HCC Nieuwsbrief, jaargang 8, nummer 5, mei 1985.
Steven Pemberton, 9 pages. This article is the first place to go if you want to know more about ABC. It describes the background to ABC, gives an overview of the language, and presents the ABC editor and the programming environment the language is embedded in. Published in IEEE Software, Vol. 4, No. 1, January 1987, pp. 56-64, and ABC Newsletter 6.
J. Zwaan, and R. Zwart. This report gives the first steps towards a graphical facility for the programming language ABC. It discusses which features are to be included as primitives in a graphical extension to the language, the way pictures could be represented and gives directions towards an implementation. CWI Report CS-R9255, CWI, Amsterdam, 1992.
L.G.L.T. Meertens, S. Pemberton, and G. van Rossum. ABC is an interactive programming language where both ease of learning and ease of use stood high amongst its principle design aims. The lan guage is embedded in a dedicated environment that includes a structure-based editor. In with the design aims, the editor had to be easy to learn, demanding a small command set, and easy to use, demanding a powerful command set and strong support for the user in composing programs, with out enforcing a computer-science understanding of issues of syntax and the like. Some novel design rules have led to an interesting editor, where the user may enter and edit text either structurally or non-structurally, without having to use different `modes'. CWI Report CS-R9256, CWI, Amsterdam, 1992
All articles referenced here were eventually gathered in The ABC Programmer's Handbook mentioned at the end.
Leo Geurts, 11 pages. In informal introduction to the language suitable for people that are already proficient with some other high-level language like Pascal or C. It was published in SIGPLAN Notices Vol. 17, No. 12, December 1982, or is available from the CWI, report IW 208/82.
Lambert Meertens and Steven Pemberton, 38 pages. Informal definition of B, which can be used as a reference book, and as an introduction for people with ample programming experience. Published in SIGPLAN Notices, Vol. 20, No. 2, February 1985, pages 58 - 76. Available from CWI, note CS-N8405.
Steven Pemberton, 10 pages. A brief introduction to using the B implementation, including the B-dedicated editor. Published by CWI, note CS-N8404.
A single card including all the features of the language, the editor, and the implementation, for quick reference when using B.
Leo Geurts, Lambert Meertens, and Steven Pemberton, 80 pages. A handbook containing a quick look at B, a guide to using the current implementations of B, and a description of B, thoroughly revised and updated. Published by CWI, ISBN 90.6196.295.1.
Leo Geurts, Lambert Meertens, Steven Pemberton, 185 pages. Prentice-Hall, 1990, ISBN0-13-000027-2. A rewritten version of The B Programmer's Handbook, now with a chapter of example programs. Republished by Bosko Books (ISBN 0-9547239-4-5).
Part 2 of the publication that comprises this topic never made it. Together with some additional material the first part was used in several courses.
Leo Geurts, 85 pages. This is a text-book on programming for people who know nothing about computers or programming. It is self-contained and may be used in courses or for self-study. The focus is on designing and writing programs, and not on entering them in the computer, and so on. It introduces the language, and how to write small programs. Published by CWI, note CS-N8402.
Leo Geurts, 85 bladzijden. This is a translation of Computer Programming for Beginners - Part 1. Dit rapport bevat een beginnerscursus programmeren, gebaseerd op de nieuwe programeertaal B. De meeste elementaire programmeertechnieken en de meeste eigenschappen van B komen aan bod. De tekst vereist geen voorkennis, en is zowel voor cursussen als voor zelfstudie geschikt. Gepubliceerd door het CWI, Notitie CS-N8407.
Lambert Meertens, 11 pages. B allows you to use variables without having to declare them, and yet gives you all the safety that declarations would supply. This paper describes how this is achieved, but is very technical. Definitely not for the faint-hearted. Published in the conference record of the 10th ACM Principles of Programming Languages, pages 265-275, 1983, and also by CWI, report IW 214/82.
Timo Krijnen and Lambert Meertens, 13 pages. This describes a method of implementing the values of B. It is rather technical. Published by CWI, report IW 219/83.
Frank van Harmelen, 18 pages. Gives details of a pilot implementation of the B dedicated editor. Published by CWI, report IW 220/83.
Lambert Meertens and Steven Pemberton, 8 pages. This gives an overview of the implementation and some of the techniques used in it. Published in USENIX Washington Conference Proceedings (January 1984). Published by CWI, note CS-N8406.
Tim Budd, 12 pages. This paper describes an algorithm that permits values to migrate easily between primary and secondary memory (or disk), permitting the B system to act as if the amount of memory was essentially limitless. Published by CWI as report CS-R8610.
Back issues are no longer available.
A Short Introduction to the B Language
A Glimpse at the B Environment
Implementation Plans for B
The Mark 1 Implementation
Examples of B
The Highlights of B
A Comparison of Basic and B
A Comparison of Pascal and B
IBM PC Progress
What is in the Name of B?
A File-Maintainance Program in B
A Proposal for Matrix/Vector Functions in B
Speeding up the B Implementation
New Unix Release
B For the IBM PC
Eh? B be 'ABC', see?
(pdf)
A Program Example: Polynomials
(Extremely) Simple Logic Programming in B
~1 <> 1, A Nice Distinction?
>>> From B to ABC
(pdf)
The Cleaning Person Algorithm
Backtracking in B: The Budd
Challenge
Primality Testing in B
Progress Towards ABC
A Chess Program in B
Approximate Numbers
My Experiences with ABC (includes a self-reproducing program)
An Alternative Simple Language and Environment for PCs
These are PDF files:
Information about obtaining, installing and using the various ABC
implementations.
A Short Introduction to ABC
An Adventure Program
A Histogram Program
News
Publications
About the ABC Type system and checker
A Grammar-analysis program
Eight Queens
A General-purpose Data-base
Robin Jones, Clive Maynard, Ian Stewart. A textbook for anyone who has a passing acquaintance with procedural languages, such as BASIC or Pascal, but who has not met a functional language like Lisp before. In addition to providing a step-by-step introduction to Lisp, this book is unique in illustrating the use of Lisp through the development of a realistic project: the design and implementation of a Lisp-based interpreter for the language ABC. Springer Verlag, Berlin etc, 1990, ISBN 0-387-19568-8 and ISBN 3-540-19568-8.
Peter Landrock, Knud Nissen. An introduction to cryptography, with example programs in ABC. In Danish. Abacus Publishers, Vejle, Denmark, 1990, ISBN 87-89182- 24-3.
Aaron Kans and Clive Hayton. ABC is a high-level, easy-to-use imperative language, designed originally as a replacement for BASIC. Although intended primarily as a teaching language, it has many powerful attributes that make it suitable as a language for the rapid prototyping of formal specifications. This paper illustrates how ABC was used to prototype specifications written in the formal specification language of VDM. ACM SIGPLAN Notices, Volume 29, No 1., January 1994.
This page last modified: 2012-03-05