The Key CODIL Papers

The Key CODIL papers
Following the merger to form ICL it was decided to close down the research division where the research was being carried out., including the project itself. It was agreed that if I could find a university home for the project I could continue the research, as long as I did so without criticising ICL for closing the project. This made making extravagant claims for the approach unacceptable, and a neutral, factual approach to the first paper, which was drafted and agreed at ICL, It was also agreed that the hardware aspects of the approach should be played down.
The following paper is substantially the agreed draft, with some changes suggested by the editor of the journal, plus changes because, due to an editorial error, a later paper was printed first.

CODIL
Part 2: The CODIL language and its interpreter
C. F. Reynolds
Computer Journal
Vol 14, pp 327-332, November, 1971

ABSTRACT
The paper described CODIL, a novel non-numerical computer language in which no distinction is made between information and data. Each language statement is a list of identically formatted items of information linked together by implied ANDs. There statements may be listed together so as to form a tree structure. Processing is under the control of a decision making routine which automatically compares items from 'criteria' and 'facts' statements. The decision making routine forms the central section of the Pilot Program, a CODIL interpreter which has been implemented on System 4 computers.
  Full text (pdf)
CODIL had its first public exposure at a meeting of the British Computer Society Advanced Programming Group Meeting in London in May1970. This created a lot of interest and my handout was reprinted in The Computer Bulletin, Vol 14, pp 244-245, July 1970. The first paper was presented days after I left ICL, at the  Conference on Man-Computer Interaction, Teddington, 2-4 September, 1970 and appeared in the proceedings, IEE Conference Publication No 68, pp 211-216, 1970.
In March 1971 a paper, The importance of flexibility, was given at Datafair 71. Papers at this conference were not published so I sent off a copy to the Computer Journal - and was very surprised at the speed in which it appeared.

CODIL
Part 1. The Importance of Flexibility
C. F. Reynolds
Computer Journal
Vol 14, pp 217-220, August, 1971

ABSTRACT
Many non-numerical data processing systems prove to be insufficiently flexible. This paper discusses some examples of how inflexibility manifests itself and how application specific languages can help. It then described a novel language, CODIL, specifically designed for use with complex non-numerical problems, with particular emphasis on Management Information Systems.
  Full text (pdf)
At the same time as I was publishing the above papers ICL was finalizing the patents:
Information handling system for eliminating distinctions between data items and program instructions, United States Patent, No 3,633,179, 4 January, 1972
 Improvements in or relating to data processing systems, UK Patent Specification, No 1,265,006, 1 March, 1972

######
Many papers in refereed journals, conferences and as unrefereed University reports were published in following years, covering a wide variety of applications and these are discussed in The History of CODIL - and further information can be provided to interested parties. On this page it is appropriate to skip to the final key paper, which includes key earlier references.


CODIL
The Architecture of an Information Language
C. F. Reynolds
Computer Journal
Vol 33, pp 155-163, 1990

ABSTRACT
This paper describes the CODIL information language in terms of an infinitely recursive model for poorly structured information. This approach is significantly different from the established approaches to programming language and data base theory. The paper then shows how the model has been adapted to work efficiently in the existing CODIL and MicroCODIL interpreters.
  Full text (pdf)
This paper was drafted in 1986 and described the changes that were the result of two main changes, The first was the redesign of the software to allow interactive working when the University upgraded its teaching systems - with CODIL supporting teaching packages for classes of up to 125 students. The second was to explore whether the basic algorithms were so simple that they could fit onto one computer chip of the type that started to become available circa 1980. To test the idea it was decided to implement a demonstration package that would work on a BBC Microcomputer which had a mere 25K bytes for all functions including the display!. The need to think small actually led to a far better understanding of the approach and the resulting system was logically far more powerful than the far bigger main frame version. However because of the minute size of the BBC Computer it was not possible to fit in extra features, such as dynamic learning and fuzzy logic, at the same time.
It is therefore perhaps appropriate to look at what the1992 review by Gersh Voldman published in ACM Computing Reviews said. Two paragraphs summaries the main features and the review ended "This paper aims to investigate the design of a small multi-purpose language, but the number of demons used in the project makes it ultimately unrealizable."
How very nice. I am sure that the author of the review regularly used computers with had many Mbytes of memory - plus access to much more paged memory and a processor several orders of magnitude faster than a BBC Computer  I demonstrate that my approach was simple enough to fit (apart from a few small extras) in what, in 1992, would have been considered a very underpowered toy computer. He assumes that because I wasn't able to demonstrate everything at once on a computer many orders of magnitude less powerful to those in common use in university research departments and elsewhere it was appropriate to tell the world my research was impossible rubbish.
As it happened (see The History of CODIL) I was not upset by the review - because I didn't see it until recently. In 1988, for health related reasons, the serious work on CODIL was abandoned, two years before the Computer Journal paper appeared in print.

For a very different opinion see the many reviews by people who have actually used MicroCODIL.