| caption =
| file ext =
| paradigm = [[___domain-specific language|Domain-specific]] ([[Openflowsoftware-defined Switching Protocol|OpenFlownetworking]] networking), [[functional reactive programming|functional reactive]], [[Modular programming|modular]]
| released = <!-- {{Start date|YYYY}} -->
| designer =
| implementations =
| dialects =
| influenced by = [[Python (programming language)|PythonOCaml]]
| influenced =
| platform =
| website = {{URL|http://www.frenetic-lang.org}}
}}
'''Frenetic''' is a [[___domain-specific language]] for programming [[Openflowsoftware-defined Switching Protocol|OpenFlownetworking]] networks, embedded in [[Python (programming languageSDN)|Python]]. AThis ___domain-specific programming language allows network operators, rather than manually configuring each connected network device, to program the network as a whole.<ref>
{{cite web
| url = http://www.cs.yale.edu/publications/techreports/tr1432.pdf
| author = Voellmy, Andreas et al.
| title = Don't Configure the Network, Program It
| date = July 10, 2010
| publisher = cs.yale.edu
| accessdate = February 22, 2011
|display-authors=etal}}
}}
</ref> Frenetic is designed to solve major [[OpenFlow]]/[[Nox (platform)|NOX]] programming problems. In particular, Frenetic introduces a set of purely [[Principle of abstraction|functional abstractions]] that enable [[Modular programming|modular program development]], defines [[high-level]], programmer-centric packet-processing operators, and eliminates many of the difficulties of the two-tier programming model by introducing a see-every-[[Network packet|packet]] programming paradigm. Hence Frenetic is a [[functional reactive programming]] language operating at a packet level of abstraction.<ref name=voellmy>{{cite journalbook|last=Voellmy|first=Andreas|coauthorsauthor2=Hudak, Paul|titlechapter=Nettle: Taking the Sting Out of Programming Network Routers|journaltitle=Practical Aspects of Declarative languages|year=2011Languages|volume=6359/2011|pages=235-249235–249|doi=10.1007/978-3-642-18378-2_19|url=http://www.springerlink.com/content/t487m08h1p60837v/fulltext.pdf|dateyear=2011|accessdateseries=14Lecture FebruaryNotes 2011in Computer Science|isbn=978-3-642-18377-5}}</ref>
==References==
==Further reading==
*{{cite journalconference|date=November 30, 2010|title=Frenetic: A High-Level Language for OpenFlow Networks|journalconference=ACM PRESTO 2010|publisher=[[Association for Computing Machinery|ACM]]|url=http://conferences.sigcomm.org/co-next/2010/Workshops/PRESTO/PRESTO_papers/04-Foster.pdf |first1=Nate |last1=Foster |first2=Rob |last2=Harrison |first3=Matthew L. |last3=Meola |first4=Michael J. |last4=Freedman |first5=Jennifer |last5=Rexford|author5-link=Jennifer Rexford |first6=David |last6=Walker |isbn=978-1-4503-0467-2}}
*Nate Foster, Rob Harrison, Michael J. Freedman, [[Jennifer Rexford ]], and David Walker (December 6, 2010). [ httphttps://ecommons.library.cornell.edu/bitstream/1813/19310/4/frenetic-tr.pdf Frenetic: A High-Level LangaugeLanguage for OpenFlow Networks, Technical report]. Cornell University. Retrieved February 22, 2011. ▼
▲*Nate Foster, Rob Harrison, Michael J. Freedman, Jennifer Rexford, and David Walker (December 6, 2010). [http://ecommons.library.cornell.edu/bitstream/1813/19310/4/frenetic-tr.pdf Frenetic: A High-Level Langauge for OpenFlow Networks, Technical report]. Cornell University. Retrieved February 22, 2011.
== External links ==
* {{official website|http://www.frenetic-lang.org}}
* [http://www.frenetic-lang.org/members.php Current Members]
*{{cite web
| url = http://duckduckgo.com/Frenetic_(programming_language)
| title = Frenetic (programming language) at DuckDuckGo
| publisher = DuckDuckGo
| accessdate = February 22, 2011
}}
[[Category:Functional programming]]
|