Ugrás a tartalomhoz

Lisp

A Wikiszótárból, a nyitott szótárból
(Lisp (programming language) szócikkből átirányítva)


Főnév

Lisp (tsz. Lisps)

  1. (informatika) Lisp nyelv

Lisp egy nagyon régi, nagy hatású programozási nyelv, a második legrégebbi széles körben használt nyelv (a Fortran után). John McCarthy tervezte 1958-ban, eredetileg mesterséges intelligencia (AI) kutatás céljából.

A név jelentése: LISt Processing → mert a nyelv központi adatszerkezete a lista.



🌟 Lisp fő jellemzői

Funkcionális nyelv elemeit tartalmazza (de imperatív is lehet) ✅ Lista alapú szintaxisKifejezés-orientált → minden kifejezésnek van értéke ✅ Makró-rendszer → programot programból írni (metaprogramozás) ✅ Garbage Collection (1960-as évek óta) ✅ Interaktív REPL (Read-Eval-Print Loop) → azonnali próbálgatás ✅ Homoikónikus → a kód maga is lista (adatként kezelhető)



📝 Példa Lisp kódból

;; Komment sor

(defun square (x)
  (* x x))

(print (square 5))

Magyarázat:

  • defun → függvénydefiníció
  • square függvény, ami négyzetre emel
  • (* x x) → szorzás, prefix notációban!
  • (print (square 5)) → kiírja az 5 négyzetét (25)



🏗 Alap szintaxis

  • Minden s-expression (szimbolikus kifejezés) → zárójelezett lista:

    (operator operand1 operand2 ...)
    
  • Pl.:

    (+ 2 3)         ; 5
    (* 4 5)         ; 20
    (list 1 2 3 4)  ; (1 2 3 4)
    



🔑 Lisp nyelvi elemek

Függvények elsőrendűekRekurzió natív módon támogatottMakrók → program-generáló programokHomoikónia → a programkód is adat, ami könnyen manipulálható ✅ Típusos (dinamikusan)Lambda kifejezések



🌐 Lisp dialektusok

  • Common Lisp → ipari alkalmazások, erős, nagy nyelv
  • Scheme → oktatási célokra, minimalista
  • Clojure → modern Lisp, JVM-en fut → kiváló Java integráció
  • Emacs Lisp → az Emacs szerkesztő testreszabásához használt Lisp
  • Racket → Scheme leszármazott, tanítás + kutatás



🏗 Példa: rekurzív faktoriális Lisp-ben

(defun factorial (n)
  (if (<= n 1)
      1
      (* n (factorial (- n 1)))))
  • (factorial 5) → eredmény: 120



💡 Homoikónia példája

;; Egy kódot adatként is lehet manipulálni
(setq my-code '(+ 1 2 3))

(eval my-code) ; lefuttatja → 6

🚀 Miért érdekes a Lisp?

Makrók miatt nagyon erős metaprogramozásNagyon flexibilis nyelv → bármilyen programozási stílus megengedettSok AI programot Lisp-ben írtak a kezdetekbenInteraktív REPL → fejlesztés közben “élő” kódHomoikónikus → könnyű kódgenerálás, DSL-ek készítése



TL;DR

Lisp:

  • 1958 óta létezik → örökzöld nyelv
  • Lista alapú nyelv, prefix szintaxis
  • Központi elemei: homoikónia, makrók, funkcionális szemlélet
  • Dialektusok: Common Lisp, Scheme, Clojure a legismertebbek
  • Sok modern nyelv inspirációja Lisp-ből ered!
  • Lisp - Szótár.net (en-hu)
  • Lisp - Sztaki (en-hu)
  • Lisp - Merriam–Webster
  • Lisp - Cambridge
  • Lisp - WordNet
  • Lisp - Яндекс (en-ru)
  • Lisp - Google (en-hu)
  • Lisp - Wikidata
  • Lisp - Wikipédia (angol)