Can data be Turing complete?

23 Feb 2021

It isn’t difficult to show that the Zoea programming language is ‘Turing complete’. However, this raises some interesting questions about the nature of programming languages.

Enabling Computers to Program Themselves

12 Jan 2021

Future AI systems ought to be able to write their own code. Zoea has the potential to make that possible.

Zoea Documentation Update

10 Dec 2020

Zoea have made available a user guide and a set of examples for Zoea Visual. The user guide provides a detailed description of the Zoea Visual language and case editor tool. The examples document includes 27 simple Zoea Visual programs together with a discussion of the approach and implementation in each case. The core Zoea language definition document has also been updated.

The Expressive Power of Zoea

05 Dec 2020

Zoea is an AI that lets anyone who can describe a problem as a set of input and output examples produce real code. Some might ask can Zoea really produce all the programs that a conventional language can just by writing test cases? The short answer is yes.

Subsidiary Test Cases in Zoea Visual

03 Nov 2020

The Zoea Visual programming language now allows developers to define programs using a hierarchy of embedded test cases. This significantly reduces the number of test cases required to define large and complex programs.

Zoea Visual Paper Released

21 Sep 2020

Zoea Visual is described in detail in a new research paper recently uploaded to the repository at Cornell University. The paper covers the design of the visual language and associated tools. It also shows how the combination of inductive and visual programming represents a new approach that is easy to learn, usable and expressive.

Zoea Goes Visual

10 Sep 2020

Zoea is already one of the simplest programming languages in existence. In order to improve its usability even further we have recently added a graphical programming language variant called Zoea Visual.

Set-Cover Abduction in Zoea

01 Aug 2020

Many of the facts and events that we observe can have multiple and even inconsistent interpretations yet people are generally able to make sense of it all. So how does an AI like Zoea deal with this kind of messy complexity?

Migrating Existing Code to Zoea

17 Jul 2020

Zoea is the first AI that can automatically generate software of any size from a set of test cases. This is a big deal that will ultimately transform the nature of software development forever. But what about all the software in other languages that already exists? 

The Inescapable Future of Coding

30 Jun 2020

AI is expected to have a significant impact on coding. One such AI is Zoea which creates software automatically from a specification that looks like a set of test cases. This will enable many more people to produce software but it will also fundamentally change our relationship with code.

Idiomatic Zoea

05 Jun 2020

When we learn a new programming language there are often concepts that we can bring along from previous languages we have encountered. For example, most developers can articulate the guidelines concerning what constitutes a good variable name.

These rules have evolved over a long period of time and apply with variations to virtually every language. Similar sorts of guidelines exist for other programming language elements such as control structures. But what if your new language doesn't have any variables or control structures?

Zoea Concepts and Terminology

31 May 2020

This article briefly explains the main concepts and terminology used in Zoea.

Program - Every piece of software that is produced with Zoea is called a program. Every program has a single input and a single output. Inputs and outputs may be a single value like a string or a number, or they may be an array that holds many values. If a program needs to have multiple inputs or multiple outputs then the developer needs to use arrays for these.

Test case - Zoea programs are written by a developer as a set of one or more test cases. A test case is a scenario that describes exactly what should happen when a user runs a program. A simple test case might consist of a specific input (X) and a specific output (Y). This can be interpreted as saying that for this program if the user inputs X then the program will output Y. 

Second Zoea Paper Announced

19 May 2020

Zoea have published another research paper to the preprint server at Cornell University. The paper entitled "Quantifying the Impact on Software Complexity of Composable Inductive Programming using Zoea" presents results that show Zoea is simpler than conventional programming languages.

The paper includes analysis that compares Zoea with eight popular conventional programming languages in terms of the size of their grammar and the number of keywords. This shows that the Zoea language is between 25-30% as complex as the simplest conventional languages.

Zoea Examples Published on Rosetta Code

26 Apr 2020

There is now a Zoea page with a number of examples on Rosetta Code. Rosetta Code is a popular programming language comparison site where solutions to a wide range of programming tasks are provided in many languages.

A New Kind of Programming Language

04 Apr 2020

Some might say that the last thing the world needs is another programming language. There are literally thousands of them. To non-programmers they are all equally abstruse. Programmers on the other hand often feel very strongly about which is better or worse. Clearly they can’t all be right.

It’s hard to believe but virtually all programming languages were created in an effort to make programming easier for people. Remember that programming languages only exist for the benefit of humans - computers would get by just fine without them. So the evolution of programming languages has proceeded in a series of mostly small steps such as “lets use square brackets instead of round ones.” This is the reason why all programming languages are fundamentally so alike.

Zoea Manual Released

03 Dec 2019

Zoea have made available version 1 of their developer guide. This includes the complete syntax for the Zoea language and the simple rules governing how various syntactic elements can be combined.

The manual which consists of 7 pages is organised around the eight reserved words in the Zoea language. Comprehensive examples of how each keyword can be used are provided.

Zoea Research Paper Published

20 Nov 2019

Zoea have published their first research paper on the preprint server at Cornell University. Entitled "Composable Inductive Programming Without Limits" this paper describes the unique Zoea approach to automation of coding through AI.

Inductive programming which is the automatic generation of software from input-output examples has had a long history of sporadic progress. Until now its widespread adoption has been held back by its inability to cope with larger programs. Zoea incorporates a number of advances that overcome this problem. These include the ability to combine smaller inductive programs to form larger ones as well as the capability to specify any number intermediate values between inputs and outputs.

This website uses cookies. By continuing to use this site, you accept our use of cookies.