This HTML5 document contains 94 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dctermshttp://purl.org/dc/terms/
n8http://dbpedia.org/resource/Programming_Languages:
yago-reshttp://yago-knowledge.org/resource/
dbohttp://dbpedia.org/ontology/
foafhttp://xmlns.com/foaf/0.1/
n9http://www.eopl3.com/
n24https://global.dbpedia.org/id/
dchttp://purl.org/dc/elements/1.1/
yagohttp://dbpedia.org/class/yago/
schemahttp://schema.org/
dbthttp://dbpedia.org/resource/Template:
rdfshttp://www.w3.org/2000/01/rdf-schema#
dbpedia-hrhttp://hr.dbpedia.org/resource/
freebasehttp://rdf.freebase.com/ns/
bibohttp://purl.org/ontology/bibo/
n17http://commons.wikimedia.org/wiki/Special:FilePath/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n19http://community.schemewiki.org/
owlhttp://www.w3.org/2002/07/owl#
wikipedia-enhttp://en.wikipedia.org/wiki/
dbphttp://dbpedia.org/property/
dbchttp://dbpedia.org/resource/Category:
provhttp://www.w3.org/ns/prov#
xsdhhttp://www.w3.org/2001/XMLSchema#
n10https://web.archive.org/web/20070630055031/http:/www.cs.indiana.edu/eopl/
wikidatahttp://www.wikidata.org/entity/
goldhttp://purl.org/linguistics/gold/
dbrhttp://dbpedia.org/resource/

Statements

Subject Item
dbr:Essentials_of_Programming_Languages
rdf:type
yago:Work104599396 yago:Whole100003553 wikidata:Q234460 yago:Product104007894 dbo:Book wikidata:Q571 yago:WikicatComputerScienceBooks yago:Book106410904 yago:Object100002684 dbo:Work dbo:WrittenWork bibo:Book yago:Publication106589574 yago:Artifact100021939 yago:Creation103129123 yago:PhysicalEntity100001930 owl:Thing schema:Book schema:CreativeWork wikidata:Q386724
rdfs:label
Essentials of Programming Languages
rdfs:comment
Essentials of Programming Languages (EOPL) is a textbook on programming languages by Daniel P. Friedman, Mitchell Wand, and . EOPL surveys the principles of programming languages from an operational perspective. It starts with an interpreter in Scheme for a simple functional core language similar to the lambda calculus and then systematically adds constructs. For each addition, for example, variable assignment or thread-like control, the book illustrates an increase in expressive power of the programming language and a demand for new constructs for the formulation of a direct interpreter. The book also demonstrates that systematic transformations, say, store-passing style or continuation-passing style, can eliminate certain constructs from the language in which the interpreter is formulate
foaf:name
Essentials of Programming Languages
dbp:name
Essentials of Programming Languages
foaf:depiction
n17:EOPL_3rd_edition_cover.jpg
dc:publisher
MIT Press
dcterms:subject
dbc:Programming_language_topics dbc:Computer_science_books dbc:Computer_programming_books
dbo:wikiPageID
11071609
dbo:wikiPageRevisionID
1071126375
dbo:wikiPageWikiLink
dbr:Daniel_P._Friedman dbr:Continuation-passing_style dbr:Store-passing_style n8:_Application_and_Interpretation dbr:DrRacket dbr:Matthew_Flatt dbr:Modular_programming dbr:Type_systems dbr:How_to_Design_Programs dbr:Christopher_T._Haynes dbr:Lambda_calculus dbr:Structure_and_Interpretation_of_Computer_Programs dbr:Scheme_(programming_language) dbc:Programming_language_topics dbr:Mitchell_Wand dbr:Interpreter_(computing) dbr:SNOBOL dbc:Computer_science_books dbr:ALGOL_60 dbc:Computer_programming_books dbr:Textbook dbr:Register_machine dbr:MIT_Press dbr:Lisp_(programming_language) dbr:Programming_language dbr:Prolog
dbo:wikiPageExternalLink
n9: n10: n19:%3Feopl
owl:sameAs
wikidata:Q5399600 freebase:m.02q_228 yago-res:Essentials_of_Programming_Languages n24:4jaaj dbpedia-hr:Essentials_of_Programming_Languages
dbp:wikiPageUsesTemplate
dbt:Reflist dbt:Infobox_book
dbo:thumbnail
n17:EOPL_3rd_edition_cover.jpg?width=300
dbp:author
dbr:Christopher_T._Haynes dbr:Mitchell_Wand dbr:Daniel_P._Friedman
dbp:congress
QA76.7 .F73 2008
dbp:genre
dbr:Textbook
dbp:isbn
0
dbp:isbnNote
dbp:italicTitle
force
dbp:pages
416
dbp:pubDate
April 2008
dbp:publisher
dbr:MIT_Press
dbp:subject
Programming languages
dbo:abstract
Essentials of Programming Languages (EOPL) is a textbook on programming languages by Daniel P. Friedman, Mitchell Wand, and . EOPL surveys the principles of programming languages from an operational perspective. It starts with an interpreter in Scheme for a simple functional core language similar to the lambda calculus and then systematically adds constructs. For each addition, for example, variable assignment or thread-like control, the book illustrates an increase in expressive power of the programming language and a demand for new constructs for the formulation of a direct interpreter. The book also demonstrates that systematic transformations, say, store-passing style or continuation-passing style, can eliminate certain constructs from the language in which the interpreter is formulated. The second part of the book is dedicated to a systematic translation of the interpreter(s) into register machines. The transformations show how to eliminate higher-order closures; continuation objects; recursive function calls; and more. At the end, the reader is left with an "interpreter" that uses nothing but tail-recursive function calls and assignment statements plus conditionals. It becomes trivial to translate this code into a C program or even an assembly program. As a bonus, the book shows how to pre-compute certain pieces of "meaning" and how to generate a representation of these pre-computations. Since this is the essence of compilation, the book also prepares the reader for a course on the principles of compilation and language translation, a related but distinct topic. Apart from the text explaining the key concepts, the book also comprises a series of exercises, enabling the readers to explore alternative designs and other issues. Like SICP, EOPL represents a significant departure from the prevailing textbook approach in the 1980s. At the time, a book on the principles of programming languages presented four to six (or even more) programming languages and discussed their programming idioms and their implementation at a high level. The most successful books typically covered ALGOL 60 (and the so-called Algol family of programming languages), SNOBOL, Lisp, and Prolog. Even today, a fair number of textbooks on programming languages are just such surveys, though their scope has narrowed. EOPL was started in 1983, when Indiana was one of the leading departments in programming languages research. Eugene Kohlbecker, one of Friedman's PhD students, transcribed and collected his "311 lectures". Other faculty members, including Mitch Wand and Christopher Haynes, started contributing and turned "The Hitchhiker's Guide to the Meta-Universe"—as Kohlbecker had called it—into the systematic, interpreter and transformation-based survey that it is now. Over the 25 years of its existence, the book has become a near-classic; it is now in its third edition, including additional topics such as types and modules. Its first part now incorporates ideas on programming from HtDP, another unconventional textbook, which uses Scheme to teach the principles of program design. The authors, as well as Matthew Flatt, have recently provided DrRacket plug-ins and language levels for teaching with EOPL. EOPL has spawned at least two other related texts: Queinnec's Lisp in Small Pieces and Krishnamurthi's Programming Languages: Application and Interpretation.
gold:hypernym
dbr:Textbook
prov:wasDerivedFrom
wikipedia-en:Essentials_of_Programming_Languages?oldid=1071126375&ns=0
dbo:wikiPageLength
5406
dbo:isbn
0-262-06279-8
dbo:lcc
QA76.7 .F73 2008
dbo:numberOfPages
416
dbo:author
dbr:Daniel_P._Friedman dbr:Mitchell_Wand dbr:Christopher_T._Haynes
dbo:literaryGenre
dbr:Textbook
dbo:nonFictionSubject
dbr:Programming_language
dbo:publisher
dbr:MIT_Press
foaf:isPrimaryTopicOf
wikipedia-en:Essentials_of_Programming_Languages