05-06-2023
Семантика: |
мультипарадигменный: функциональный, объектно-ориентированный, императивный |
---|---|
Автор(ы): | |
Релиз: | |
Типизация данных: | |
Диалекты: | |
Испытал влияние: | |
Сайт: |
caml.inria.fr |
OCaml — современный объектно-ориентированный язык функционального программирования общего назначения, который был разработан с учётом безопасности исполнения и надёжности программ. Этот язык имеет высокую степень выразительности, что позволяет его легко выучить и использовать. Язык CaML поддерживает функциональную, императивную и объектно-ориентированную парадигмы программирования. Был разработан в 1985 году во французском институте INRIA, который занимается исследованиями в области информатики. Самый распространённый в практической работе диалект языка ML.
Инструментарий OCaml включает в себя интерпретатор, компилятор в байткод и оптимизирующий компилятор в машинный код, превосходящий по своим параметрам аналогичные компиляторы C/C++ для многих задач, особенно связанных с синтаксическим анализом и т. п.
На языке OCaml, в частности, написан рендеринг формул Википедии, использующих тег <math>, файлообменный клиент MLDonkey, стек управления гипервизором Xen xapi (является частью Xen Server/Xen Cloud Platform), язык программирования HaXe.
К достоинствам языка относят:
Содержание |
exception LexerException of string let lexer_token_safe lexbuf = try Lexer.token lexbuf with Failure s -> raise (LexerException s) let render tmppath finalpath tree = let outtex = Util.mapjoin Texutil.render_tex tree in let md5 = Digest.to_hex (Digest.string outtex) in begin let mathml = Mathml.render tree and html = Html.render tree in print_string (match (html,!Html.conservativeness,mathml) with None,_,None -> "+" ^ md5 | Some h,Html.CONSERVATIVE,None -> "c" ^ md5 ^ h | Some h,Html.MODERATE,None -> "m" ^ md5 ^ h | Some h,Html.LIBERAL,None -> "l" ^ md5 ^ h | Some h,Html.CONSERVATIVE,Some m -> "C" ^ md5 ^ h ^ "\000" ^ m | Some h,Html.MODERATE,Some m -> "M" ^ md5 ^ h ^ "\000" ^ m | Some h,Html.LIBERAL,Some m -> "L" ^ md5 ^ h ^ "\000" ^ m | None,_,Some m -> "X" ^ md5 ^ m ); Render.render tmppath finalpath outtex md5 end
Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Основные языки программирования (сравнение • IDE • история • хронология) | |
---|---|
Используемые в разработке |
Ада • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET) |
Академические | |
IEC 61131-3 |
Instruction List • ST • FBD • Ladder Diagram (LD) • SFC |
Прочие | |
Эзотерические | |
Визуальные |
OCaml.