„Common Lisp“: Munur á milli breytinga

Efni eytt Efni bætt við
Addbot (spjall | framlög)
m Bot: Flyt 21 tungumálatengla, sem eru núna sóttir frá Wikidata á d:q849146
Xqbot (spjall | framlög)
m Bot: Erstatt forældet <source> -tag og parameteren "enclose" [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html]; útlitsbreytingar
 
Lína 4:
Common Lisp er [[sammynda]]<ref name="ordsmid">Orð búin til af höfundi.<!-- [[Notandi:BiT]]--></ref> og hefur öflugt [[Fjölvaskipun|fjölvakerfi]] sem gerir forriturum kleyft að breyta málskipun málsins og að skrifa [[forrit]] sem búa til önnur, jafnvel flóknari, forrit.<ref>{{vísindavefurinn|5717|Er hægt að búa til tölvur sem læra, til dæmis með því að forrita sig sjálfar?}}</ref>
 
== Málskipan ==
Common Lisp er Lisp-mállýska og notar sem slík S-segðir til að tákna kóða og [[gagnagrind]]ir. [[Fall (tölvunarfræði)|Falla-]] og [[Fjölvarskipun|fjölvaköll]] eru rituð sem listar þar sem nafn fallsins eða fjölvans er ritað fyrst. Hér táknar örin <tt>⇒ GILDI</tt> að síðasta aðgerð skili <tt>GILDI</tt>.
 
Prentar „[[Halló, heimur]]!“:
<sourcesyntaxhighlight lang="lisp">
(print "Halló, heimur!")
⇒ "Halló, heimur!"
</syntaxhighlight>
</source>
 
Leggur saman tvo og tvo og skilar gildinu:
<sourcesyntaxhighlight lang="lisp">
(+ 2 2)
⇒ 4
</syntaxhighlight>
</source>
 
Skilgreinir fall sem hefur tölu upp í annað veldi:
<sourcesyntaxhighlight lang="lisp">
(defun tvíveldi (tala)
(* tala tala))
⇒ TVÍVELDI
</syntaxhighlight>
</source>
 
Hefur 9 og talnalista upp í annað veldi með fallinu sem skilgreint var að ofan:
<sourcesyntaxhighlight lang="lisp">
(tvíveldi 9)
⇒ 81
(mapcar #'tvíveldi (list 1 2 3 4 5))
⇒ (1 4 9 16 25)
</syntaxhighlight>
</source>
 
sem er jafngilt því að nota [[nafnlaust fall]]:
 
<sourcesyntaxhighlight lang="lisp">
((lambda (tala) (* tala tala)) 9)
⇒ 81
Lína 42:
(mapcar (lambda (tala) (* tala tala)) (list 1 2 3 4 5))
⇒ (1 4 9 16 25)
</syntaxhighlight>
</source>
 
þar sem <tt>#'tvíveldi</tt> er stytting á <tt>(function tvíveldi)</tt>.
 
== Gagnatög ==
 
=== Föll ===
Common Lisp styður [[fyrsta flokks fall|fyrsta flokks föll]]<!-- first-class function --><ref name="ordsmid"/> þar sem [[fall (tölvunarfræði)|föll]] geta skilað öðrum föllum, tekið föll sem [[færibreytur]] og geymt þau í venjulegum gagnagrindum. Mörg innbyggð föll í Common Lisp eru [[Æðra fall|æðri föll]]<!-- higher-order function --><ref name="ordsmid"/> (föll sem taka föll sem færibreytur) en dæmi um það er <tt>sort</tt> fallið sem tekur inn venslafall og valkvæmt fall sem er notað til að nálgast hvert stak. Hér röðum við lista eftir lækkandi og hækkandi stökum:
 
<sourcesyntaxhighlight lang="lisp">
(sort (list 5 2 6 3 1 4) #'>)
⇒ (6 5 4 3 2 1)
(sort (list 5 2 6 3 1 4) #'<)
⇒ (1 2 3 4 5 6)
</syntaxhighlight>
</source>
 
og hér röðum við lista eftir fyrsta stakinu í hverju staki í lækkandi röð:
 
<sourcesyntaxhighlight lang="lisp">
(sort (list '(9 A) '(3 B) '(4 C)) #'< :key #'first)
⇒ ((3 B) (4 C) (9 A))
</syntaxhighlight>
</source>
 
== Tilvísanir ==
<div class="references-small"><references/></div>
 
== Tengt efni ==
* ''[[Common Lisp the Language]]''
* ''[[On Lisp]]''
* ''[[Practical Common Lisp]]''
 
[[Flokkur:Common Lisp| ]]