This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "Refal" – news · newspapers · books · scholar · JSTOR(August 2020) (Learn how and when to remove this message)
Refal
Paradigm
Pattern-matching and term-rewriting
Designed by
Valentin Turchin
Developer
Valentin Turchin, S. Florentsev, V. Olyunin, et al.
First appeared
1968 (1968)
Typing discipline
strong, dynamic
Website
http://www.refal.net
Major implementations
Refal-2, Refal-5, Refal-6, Refal+
Refal ("Recursive functions algorithmic language"; Russian: РЕФАЛ) "is a functional programming language oriented toward symbolic computations", including "string processing, language translation, [and] artificial intelligence".[1] It is one of the oldest members of this family, first conceived of in 1966 as a theoretical tool, with the first implementation appearing in 1968. Refal was intended to combine mathematical simplicity with practicality for writing large and sophisticated programs.
One of the first functional programming languages to do so, and unlike Lisp of its time, Refal is based on pattern matching. Its pattern matching works in conjunction with term rewriting.
The basic data structure of Lisp and Prolog is a linear list built by cons operation in a sequential manner, thus with O(n) access to list's nth element. Refal's lists are built and scanned from both ends, with pattern matching working for nested lists as well as the top-level one. In effect, the basic data structure of Refal is a tree rather than a list. This gives freedom and convenience in creating data structures while using only mathematically simple control mechanisms of pattern matching and substitution.
Refal also includes a feature called the freezer to support efficient partial evaluation.
Refal can be applied to the processing and transformation of tree structures, similarly to XSLT.[2]
^Turchin, Valentin F. (1989). "Introduction to Refal". REFAL-5 programming guide & reference manual. Holyoke: New England Publishing Co. Archived from the original on 2008-07-03. Retrieved 2010-04-05.
^"Refal: The Language for Processing XML Documents". Archived from the original on 2007-12-06. Retrieved 2008-03-18.
matching and substitution. Refal also includes a feature called the freezer to support efficient partial evaluation. Refal can be applied to the processing...
Look up REF, Ref, or ref in Wiktionary, the free dictionary. REF or Ref may refer to: Ref, pseudonym of Belgian comics artist René Follet Ref Sanchez...
The Ref (Hostile Hostages in some countries) is a 1994 American black comedy crime film directed by Ted Demme and starring Denis Leary, Judy Davis, and...
Ref Sanchez (born Refugio Sanchez, 1917–1986) was an American actor who appeared mostly in television shows in smaller acting parts. He worked as a fashion...
The GeoRef database is a bibliographic database that indexes scientific literature in the geosciences, including geology. Coverage ranges from 1666 to...
RefWorks is a web-based commercial reference management software package. It is produced by Ex Libris, a ProQuest company. RefWorks LLC was founded in...
The Reference Sequence (RefSeq) database is an open access, annotated and curated collection of publicly available nucleotide sequences (DNA, RNA) and...
Pocket Ref is a general-purpose pocket-sized reference book composed of various tips, tables, maps, formulas, constants and conversions, compiled by Thomas...
UniRef – University for Refugees – is a humanitarian non-governmental organization, specialized in delivering higher education for refugees, and headquartered...
JabRef is an open-source, cross-platform citation and reference management software. It is used to collect, organize and search bibliographic information...
SciRef is an academic reference manager for Windows. SciRef can retrieve references from sources like ScienceDirect, PubMed and any site supporting the...
The Marriage Ref may refer to: The Marriage Ref (American TV series) The Marriage Ref (British TV series) This disambiguation page lists articles associated...
RefDB is a client/server reference database and bibliography tool for markup languages like SGML, XML, and LaTeX. It is suitable for standalone use for...
GoalRef is an association football goal-line technology system developed by German research institute Fraunhofer in association with Select Sport. It...
RefME was a free citation management tool available on web, iOS and Android. It offered a functionality that allowed users to scan book and journal barcodes...
2017. "Ref Rodriguez resigns from school board". United Teachers Los Angeles. July 23, 2018. Leibner, Joshua (10 April 2018). "The Lost Honor of Ref Rodriguez"...
You Are The Ref is a British comic strip which has run in various publications since 1957, featuring a series of improbable hypothetical football scenarios...
algorithms are named after the Soviet mathematician Andrey Markov, Jr. Refal is a programming language based on Markov algorithms. Normal algorithms...
Referees in the National Basketball Association (NBA) oversee 120 pre-season games, 1,260 regular season games, and four rounds of playoff matches. These...
one strain of research which was started in Russia by Valentin Turchin's REFAL system in the late 1960s-early 1970s and became known for the development...
Crossref (formerly styled CrossRef) is a nonprofit open digital infrastructure organisation for the global scholarly research community. Uniquely and...
print in the format doi:10.1000/182. Contrary to the DOI Handbook, CrossRef, a major DOI registration agency, recommends displaying a URL (for example...