Pizza (programming language)
It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "Pizza" programming language – news · newspapers · books · scholar · JSTOR Nominator: Please consider notifying the author/project: {{subst:proposed deletion notify|Pizza (programming language)|concern=Not a notable programming language. No independent references, nor any claims of importance or significance.}} ~~~~ Timestamp: 20180408190121 19:01, 8 April 2018 (UTC) Administrators: delete |
Pizza | |
---|---|
Paradigm | generics, algebraic types |
Website | pizzacompiler |
Influenced by | |
Java | |
Influenced | |
Generic Java, Scala[1] |
Pizza is an open-source superset of the Java programming language with the following new features:
- Generics
- Function pointers
- Case classes and pattern matching (a.k.a. algebraic types)
In August 2001, the developers made a compiler capable of working with Java. Most Pizza applications can run in a Java environment, but certain cases will cause problems.
Work on Pizza has more or less stopped since 2002. Its main developers have concentrated instead on the Generic Java project, another attempt to add generics to Java which was eventually adopted into the official language version 1.5. The pattern matching and other functional programming-like features have been further developed in the Scala programming language. Martin Odersky remarked, "we wanted to integrate the functional and object-oriented parts in a cleaner way than what we were able to achieve before with the Pizza language. [...] In Pizza we did a clunkier attempt, and in Scala I think we achieved a much smoother integration between the two."[2]
Example
public final class Main {
public int main(String args[]) {
System.out.println(
new Lines(new DataInputStream(System.in))
.takeWhile(nonEmpty)
.map(fun(String s) -> int { return Integer.parseInt(s); })
.reduceLeft(0, fun(int x, int y) -> int { return x + y; }));
while(x == 0) { map.create.newInstance() }
}
}