Refal (original) (raw)
Refal(レファル)はシンボル操作のために設計された関数型プログラミング言語であり、文字列変換、翻訳を行い、人工知能を持つ。マルコフアルゴリズムの概念が使われている。名称は"REcursive Functions Algorithmic Language"に由来する。
Property | Value |
---|---|
dbo:abstract | Refal ("Recursive functions algorithmic language"; Russian: РЕФАЛ) "is a functional programming language oriented toward symbolic computations", including "string processing, language translation, [and] artificial intelligence". 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. (en) Refal(レファル)はシンボル操作のために設計された関数型プログラミング言語であり、文字列変換、翻訳を行い、人工知能を持つ。マルコフアルゴリズムの概念が使われている。名称は"REcursive Functions Algorithmic Language"に由来する。 (ja) РЕФАЛ (РЕкурсивних Функцій АЛгоритмічна) — одна з найстаріших функційних мов програмування, орієнтована на так звані : обробку символьних рядків (наприклад, алгебраїчні вирази); переклад з однієї мови (штучної або природної) на іншу; розв'язання задач, пов'язаних з штучним інтелектом. Поєднує в собі математичну простоту з практичною орієнтацією на написання великих і складних програм. Відмінною рисою мови є використання зіставлення зі зразком як основного способу визначення функцій. (uk) РЕФАЛ (Рекурсивных функций алгоритмический) — один из старейших функциональных языков программирования, ориентированный на символьные вычисления: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом. Соединяет в себе математическую простоту с практической направленностью на написание больших и сложных программ. Отличительной чертой языка является использование сопоставления с образцом и переписывания термов как основного способа определения функций. (ru) |
dbo:designer | dbr:Valentin_Turchin |
dbo:developer | dbr:Valentin_Turchin |
dbo:wikiPageExternalLink | http://refal.botik.ru/book/html/ http://www.refal.net/index_e.htm http://www.refal.net |
dbo:wikiPageID | 14926151 (xsd:integer) |
dbo:wikiPageLength | 8653 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1105657839 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Prolog dbr:Valentin_Turchin dbc:Functional_languages dbr:Cons dbr:Lisp_(programming_language) dbr:Functional_programming dbr:Data_structure dbr:Dynamic_typing dbr:Partial_evaluation dbr:Term_rewriting dbr:Artificial_intelligence dbc:Homoiconic_programming_languages dbc:Pattern_matching_programming_languages dbc:Programming_languages dbc:Term-rewriting_programming_languages dbr:Translation dbr:Term-rewriting dbr:XSLT dbr:Hello_world_program dbr:Pattern_matching dbr:Programming_language dbr:Palindrome dbr:Strong_typing dbr:List_(computer_science) dbr:Tree_(computer_science) dbr:Pattern-matching dbr:String_processing |
dbp:designer | dbr:Valentin_Turchin |
dbp:developer | Valentin Turchin, S. Florentsev, V. Olyunin, et al. (en) |
dbp:implementations | Refal-2, Refal-5, Refal-6, Refal+ (en) |
dbp:name | Refal (en) |
dbp:paradigm | Pattern-matching and term-rewriting (en) |
dbp:typing | dbr:Dynamic_typing dbr:Strong_typing |
dbp:website | http://www.refal.net |
dbp:wikiPageUsesTemplate | dbt:Authority_control dbt:Cite_web dbt:Infobox_programming_language dbt:Primary_sources dbt:Reflist dbt:Start_date dbt:Textbook |
dbp:wordnet_type | http://www.w3.org/2006/03/wn/wn20/instances/synset-programming_language-noun-1 |
dcterms:subject | dbc:Functional_languages dbc:Homoiconic_programming_languages dbc:Pattern_matching_programming_languages dbc:Programming_languages dbc:Term-rewriting_programming_languages |
gold:hypernym | dbr:Language |
rdf:type | owl:Thing dbo:Language schema:Language wikidata:Q315 wikidata:Q9143 yago:Abstraction100002137 yago:ArtificialLanguage106894544 yago:Communication100033020 yago:Language106282651 yago:ProgrammingLanguage106898352 yago:WikicatFunctionalLanguages dbo:HistoricBuilding dbo:ProgrammingLanguage |
rdfs:comment | Refal(レファル)はシンボル操作のために設計された関数型プログラミング言語であり、文字列変換、翻訳を行い、人工知能を持つ。マルコフアルゴリズムの概念が使われている。名称は"REcursive Functions Algorithmic Language"に由来する。 (ja) РЕФАЛ (РЕкурсивних Функцій АЛгоритмічна) — одна з найстаріших функційних мов програмування, орієнтована на так звані : обробку символьних рядків (наприклад, алгебраїчні вирази); переклад з однієї мови (штучної або природної) на іншу; розв'язання задач, пов'язаних з штучним інтелектом. Поєднує в собі математичну простоту з практичною орієнтацією на написання великих і складних програм. Відмінною рисою мови є використання зіставлення зі зразком як основного способу визначення функцій. (uk) РЕФАЛ (Рекурсивных функций алгоритмический) — один из старейших функциональных языков программирования, ориентированный на символьные вычисления: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом. Соединяет в себе математическую простоту с практической направленностью на написание больших и сложных программ. Отличительной чертой языка является использование сопоставления с образцом и переписывания термов как основного способа определения функций. (ru) Refal ("Recursive functions algorithmic language"; Russian: РЕФАЛ) "is a functional programming language oriented toward symbolic computations", including "string processing, language translation, [and] artificial intelligence". 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. Refal also includes a feature called the freezer to support efficient partial evaluation. (en) |
rdfs:label | Refal (ja) Refal (en) РЕФАЛ (ru) РЕФАЛ (uk) |
owl:sameAs | freebase:Refal yago-res:Refal wikidata:Refal dbpedia-bg:Refal dbpedia-ja:Refal dbpedia-ru:Refal http://tg.dbpedia.org/resource/РЕФАЛ dbpedia-uk:Refal https://global.dbpedia.org/id/2TraF |
prov:wasDerivedFrom | wikipedia-en:Refal?oldid=1105657839&ns=0 |
foaf:homepage | http://www.refal.net |
foaf:isPrimaryTopicOf | wikipedia-en:Refal |
foaf:name | Refal (en) |
foaf:page | http://www.refal.net |
is dbo:knownFor of | dbr:Valentin_Turchin |
is dbo:wikiPageRedirects of | dbr:REFAL dbr:Refal_programming_language |
is dbo:wikiPageWikiLink of | dbr:List_of_computing_and_IT_abbreviations dbr:Valentin_Turchin dbr:Elbrus_(computer) dbr:TXL_(programming_language) dbr:Markov_algorithm dbr:Homoiconicity dbr:Automata-based_programming dbr:Pattern_matching dbr:REFAL dbr:Refal_programming_language |
is foaf:primaryTopic of | wikipedia-en:Refal |