The Expression Problem is a term used in discussing strengths and weaknesses of various programming paradigms and programming languages.Philip Wadler coined the term in response to a discussion with Rice University's Programming Languages Team (PLT):The Expression Problem is a new name for an old problem.

PropertyValue
dbpedia-owl:abstract
  • The Expression Problem is a term used in discussing strengths and weaknesses of various programming paradigms and programming languages.Philip Wadler coined the term in response to a discussion with Rice University's Programming Languages Team (PLT):The Expression Problem is a new name for an old problem. The goal is to define a datatype by cases, where one can add new cases to the datatype and new functions over the datatype, without recompiling existing code, and while retaining static type safety (e.g., no casts).At ECOOP '98, Krishnamurthi et al presented a design pattern solution to the problem of simultaneously extending an expression-oriented programming language and its tool-set. They dubbed it the "expressivity problem" because they thought programming language designers could use the problem to demonstrate the expressive power of their creations. For PLT, the problem had shown up in the construction of DrScheme, now DrRacket, and they solved it via a rediscovery of mixins. To avoid using a programming language problem in a paper about programming languages, Krishnamurthi et al. used an old geometry programming problem to explain their pattern-oriented solution. In conversations with Felleisen and Krishnamurthi after the ECOOP presentation, Wadler understood the PL-centric nature of the problem and he pointed out that Krishnamurthi's solution used a cast to circumvent Java's type system. The discussion continued on the types mailing list, where Corky Cartwright (Rice) and Kim Bruce (Williams) showed how type systems for OO languages might eliminate this cast. In response Wadler formulated his essay and stated the challenge, "whether a language can solve the Expression Problem is a salient indicator of its capacity for expression." The label "Expression Problem" puns on expression = "how much can your language express" and expression ="the terms you are trying to represent are language expressions".Others co-discovered variants of the expression problem around the same time as Rice University's PLT, in particular Thomas Kühne in this dissertation and Smaragdakis and Batory in a parallel ECOOP 98 article.Some follow-up work used the expression problem to showcase the power of programming language designs.The expression problem is also a fundamental problem in multi-dimensional Software Product Line design and in particular as an application or special case of FOSD Program Cubes.
  • The Expression Problemとは、様々なプログラミング言語のプログラミングパラダイムについての長所と短所を議論する際に用いられる用語である。元々はPhilip Wadlerがライス大学のプログラミング言語チームでの議論の際に作った言葉である。Expression Problem とは、古くからある問題に付けられた新しい名前だ。この問題で目指していることは、静的な型の安全性を保った状態で (例えば、キャストを使用しない)、データ型を(特定条件毎に)場合分けして定義することだ。そのデータ型には新しい場合を追加することや、新しい処理を追加することをコードを再コンパイルすることなく行えるようになる。言い換えれば、型変換や条件分岐を使用せずに、既存のデータ型に機能を追加するにはどうすれば良いのか、という問題である。
dbpedia-owl:wikiPageExternalLink
dbpedia-owl:wikiPageID
  • 22935957 (xsd:integer)
dbpedia-owl:wikiPageRevisionID
  • 601430422 (xsd:integer)
dbpprop:hasPhotoCollection
dcterms:subject
rdfs:comment
  • The Expression Problemとは、様々なプログラミング言語のプログラミングパラダイムについての長所と短所を議論する際に用いられる用語である。元々はPhilip Wadlerがライス大学のプログラミング言語チームでの議論の際に作った言葉である。Expression Problem とは、古くからある問題に付けられた新しい名前だ。この問題で目指していることは、静的な型の安全性を保った状態で (例えば、キャストを使用しない)、データ型を(特定条件毎に)場合分けして定義することだ。そのデータ型には新しい場合を追加することや、新しい処理を追加することをコードを再コンパイルすることなく行えるようになる。言い換えれば、型変換や条件分岐を使用せずに、既存のデータ型に機能を追加するにはどうすれば良いのか、という問題である。
  • The Expression Problem is a term used in discussing strengths and weaknesses of various programming paradigms and programming languages.Philip Wadler coined the term in response to a discussion with Rice University's Programming Languages Team (PLT):The Expression Problem is a new name for an old problem.
rdfs:label
  • Expression problem
  • Expression problem
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbpedia-owl:wikiPageRedirects of
is owl:sameAs of
is foaf:primaryTopic of