programlingvo; dialekto de programlingvo Lispo From Wikipedia, the free encyclopedia
Scheme (aŭ Skimo) estas la funkcia programlingvo, kreita de Guy L. Steele kaj Gerald G. Sussman je 1975, unu el du la plej popularaj dialektoj de Lisp (la alia populara Lispa dialekto estas Common Lisp). Ĝia baza ideo estas minimumeco. Anstataŭ amasigi trajtojn unu post la alia, Scheme provizas kiel eble malmulte primitivajn nociojn, sed ebligas facile efektivigi ĉion super ili.
Scheme | |
---|---|
![]() | |
programlingvo • multparadigma programlingvo • funkcia programlingvo • proceda programlingvo • metaprogramlingvo • off-side rule language | |
Paradigmo: | funkcia, struktura |
Paradigmo(j): funkcia programado • proceda programado • metaprogramado • ordonema programado | |
Aperis en: | 1975 |
Aŭtoro(j): | Guy L. Steele kaj Gerald G. Sussman |
Tipa sistemo: | Dinamika |
Programlingva(j) dialekto(j): | multaj |
Kreita sub la influo de: | LISP |
Permesilo(j): | multaj |
Retejo: | http://r7rs.org/ |
(+ 2 (* 2 2))
(+ 1 2 3 4)
Voko al operacio estas prezentita kiel listo, komenciĝanta per la signo de la operacio.
(number? 5)
(number? "foo")
(string? "foo")
Laŭ la konvencio, la nomoj de predikataj funkcioj devas finiĝi per simbolo ?.
(eq? "foo" "bar")
(eq? 5 (+ 2 3))
(eq? (eq? 2 3) (eq? 3 4))
En Scheme, ekzistas multaj predikatoj de egaleco, kies sencoj diferenciĝas : eq?
, eqv?
, equal?
kaj =
.
(define fact (lambda (x)
(if (= x 1)
1
(* x (fact (- x 1))))))
(define fib (lambda (n)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+ (fib (- n 1))
(fib (- n 2)))))))
(define sum (lambda (x)
(cond ((null? x) 0)
(else (+ (car x) (sum (cdr x)))))))
(fact 14)
(fib 10)
(sum '(6 6 6 100))
(sum (map fib '(1 2 3 4)))
Oni konstruas difinon de ĉiu funkcio laŭ jena modelo:
(define nomo-de-funkcio (lambda (listo de argumentoj) (realigado de funkcio)))
aŭ
(define (nomo-de-funkcio listo de argumentoj) (realigado de funkcio))
(display "Saluton, mondo!") ; Eligu la frazon "Hello, World!"
(display (+ (read) (read))) ; Enigu 2 nombrojn, adiciu ilin kaj eligu sumon
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.