Expression-oriented programming language: Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: doi added to citation with #oabot.
Citation bot (talk | contribs)
Removed proxy/dead URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Corvus florensis | #UCB_webform 1709/3499
Line 4:
An '''expression-oriented programming language''' is a [[programming language]] in which every (or nearly every) construction is an [[expression (computer science)|expression]] and thus yields a value.<ref>{{Cite web |title=Glossary - The Rust Programming Language |url=https://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/first-edition/glossary.html#expression-oriented-language |access-date=2022-07-06 |website=web.mit.edu}}</ref> The typical exceptions are [[macro (computer science)|macro]] definitions, [[preprocessor]] commands, and [[declaration (computer programming)|declarations]], which expression-oriented languages often treat as [[statement (computer science)|statements]].
 
[[Lisp (programming language)|Lisp]]<ref name=":0">{{Cite journal |last=Syme |first=Don |date=2020-06-14 |title=The early history of F# |url=https://dl.acm.org/doi/10.1145/3386325 |journal=Proceedings of the ACM on Programming Languages |language=en |volume=4 |issue=HOPL |pages=1–58 |doi=10.1145/3386325 |issn=2475-1421|doi-access=free }}</ref> and [[ALGOL 68]] are expression-oriented languages. [[Pascal programming language|Pascal]] is not an expression-oriented language.
 
All [[functional programming language]]s are expression-oriented.{{citation needed|date=September 2020}}