Caml

Caml Paradigma Kóp paradigmalı: funkcional, imperativ Shańaraǵı ML Dúziwshiler Jerar Yue, Gi Kusino, Askander Suares, Pyer Vays, Mishel Moni (Heavy Caml), Ksavye Lerua (Caml Light) Islep shıǵarıwshı INRIA, ENS Birinshi payda bolıwı 1985-jıl Turaqlı reliz 0.75 / 2002-jıl 26-yanvar Tiplestiriw tártibi shıǵarılǵan, statikalıq, kúshli Yadtı basqarıw avtomat Operaciyalıq sistema Kross-platformalı: Unix, Linux, macOS; Windows Licenziya QPL 1, LGPL 2 (Caml Light) Veb-sayt caml.inria.fr
Caml (dáslep Categorical Abstract Machine Language degen sózlerdiń qısqartpası) — bul ML programmalastırıw tili shańaraǵınıń bir dialekti bolǵan kóp paradigmalı, ulıwma maqsetli, joqarı dárejeli, funkcional programmalastırıw tili. Caml Franciyada Kompyuter Ilimleri hám Avtomatlastırıw boyınsha Francuz Izertlew Institutında (INRIA) hám Joqarı normal mektep (Parij) (ENS) te islep shıǵılǵan.

Caml statikalıq túrde tiplestirilgen, qatań bahalanǵan hám avtomat yadtı basqarıwdı qollanadı. OCaml, Caml nıń tiykarǵı miyrasxorı, tilge kóp ózgeshelikler qosadı, sonıń ishinde obyektke baǵdarlanǵan programmalastırıw (obyekt) qatlamı bar.

 Mısallar 
Tómende, # Caml shańaraǵınıń buyrıq qatarı belgisin kórsetedi.

 Sálem, álem 
«Sálem, álem!» programması:print_endline "Sálem, álem!";;

 Faktorial funkciyası (rekursiya hám taza funkcional programmalastırıw) 
Faktorial sıyaqlı kóp matematikalıq funkciyalar eń tábiyiy túrde taza funkcional formada kórsetiledi. Tómendegi rekursiv, taza funkcional Caml funkciyası faktorialdı ámelge asıradı:let rec fact n = if n=0 then 1 else n * fact(n - 1);;Funkciyanı úlgi sáykesligi járdeminde de uqsas túrde jazıwǵa boladı:let rec fact = function
  | 0 -> 1
  | n -> n * fact(n - 1);;Bul sońǵı forma — faktorialdıń rekurrentlik qatnas retindegi matematikalıq anıqlaması.

Esletip ótemiz, kompilyator bul funkciyanıń tipin int -> int dep shıǵardı, bul funkciyanıń pútin sanlardı pútin sanlarǵa sáwlelendiretuǵının bildiredi. Mısalı, 12! tómendegishe:# fact 12;;
 - : int = 479001600

 Tariyxı 
Birinshi Caml implementaciyası 1987-jılı Kompyuter Ilimleri hám Avtomatlastırıw boyınsha Francuz Izertlew Institutında (INRIA) Askander Suares tárepinen Lisp tilinde jazılǵan"A History of Caml", inria.fr.

Onıń miyrasxorı Caml Light Ksavye Lerua hám Damien Doligez tárepinen C tilinde ámelge asırılǵan hám dáslepkisi joqarı yad hám oraylıq processor talapları sebepli «Heavy Caml» degen laqap atqa iye boldı.

Caml Special Light tiykarǵı tilge kúshli modul sistemasın qosqan tolıq qayta jazıw boldı. Ol Obyektiv Caml bolıw ushın obyektke baǵdarlanǵan programmalastırıw (obyekt) qatlamı menen keńeytildi, aqırında OCaml dep qayta ataldı.

 Derekler 

Kategoriya:Joqarı dárejeli programmalastırıw tilleri
Kategoriya:Programmalastırıw tilleri
__BÖLİDİMÖNDEMEW__