Pattern matching: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Added date. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Pattern matching | #UCB_Category 18/28
Lulu-lists (talk | contribs)
History: Added a paragraph about ML languages.
Line 15:
{{Expand section|date=May 2008}}
Early programming languages with pattern matching constructs include [[COMIT]] (1957), [[SNOBOL]] (1962), [[Refal]] (1968) with tree-based pattern matching, [[Prolog]] (1972), St Andrews Static Language ([[SASL (programming language)|SASL]]) (1976), [[NPL (programming language)|NPL]] (1977), and [[Kent Recursive Calculator]] (KRC) (1981).
 
The pattern matching feature of function arguments in the [[ML (programming language)|ML programming language]] (1973) and its dialect [[Standard ML]] (1983) has been carried over to some other [[Functional programming|functional programming languages]] that were influenced by them, such as [[Haskell]] (1990), [[Scala (programming language)|Scala]] (2004) and [[F Sharp (programming language)|F#]] (2005). The pattern matching construct with the <code>match</code> keyword that was introduced in the [[ML (programming language)|ML]] dialect [[Caml]] (1985) was followed by programming languages such as [[OCaml]] (1996), [[F Sharp (programming language)|F#]] (2005), [[F* (programming language)|F*]] (2011) and [[Rust (programming language)|Rust]] (2015).
 
Many [[text editor]]s support pattern matching of various kinds: the [[QED (text editor)|QED editor]] supports [[regular expression]] search, and some versions of [[TECO (text editor)|TECO]] support the OR operator in searches.