Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pizza (programming language)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Other uses|Pizza (disambiguation)}} {{Infobox programming language | name = Pizza | logo = | paradigm = [[Generic programming|generics]], [[algebraic types]] | year = | designer = | developer = | latest_release_version = | latest_release_date = <!-- {{release date|2009|06|03}} --> | typing = | influenced_by = [[Java (programming language)|Java]] | influenced = [[Generic Java]], [[Scala programming language|Scala]]<ref>[http://www.artima.com/scalazine/articles/origins_of_scala.html The Origins of Scala]</ref> | website = {{URL|pizzacompiler.sourceforge.net}} }} '''Pizza''' is an [[Open-source model|open-source]] superset of [[Java 1.4]], prior to the introduction of [[generics in Java|generics]] for the [[Java (programming language)|Java programming language]]. In addition to its own solution for adding generics to the language, Pizza also added [[function pointer]]s and [[algebraic type]]s with case classes and [[pattern matching]]. 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. Pizza's last version was released in January 2002. Its main developers turned their focus afterwards to the [[Generic Java]] project: another attempt to add generics to Java that was officially adopted as of [[Java_version_history#Java SE 5|version 5]] of the language. 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 programming|functional]] and [[Object-oriented programming|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."<ref>[http://www.artima.com/scalazine/articles/goals_of_scala.html The Goals of Scala's Design]</ref> ==Example== <syntaxhighlight lang="java"> 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() } } } </syntaxhighlight> ==References== {{Reflist}} ==External links== *{{Official website|pizzacompiler.sourceforge.net}} [[Category:Java programming language family]] [[Category:JVM programming languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Infobox programming language
(
edit
)
Template:Official website
(
edit
)
Template:Other uses
(
edit
)
Template:Reflist
(
edit
)