Fjölvi[1] eða fjölvaskipun[1] er í tölvunarfræði skipun sem er skal skipt út fyrir fyrir fram skilgreinda runu setninga, sem nefnist fjölvaskilgreining eða fjölvi.[2] Lisp-forritunarfjölskyldan hentar vel til fjölvaforritunar[3] og eru fjölvar mikið notaðir í Lisp-mállýskum eins og Common Lisp, Clojure, Scheme og Racket. Dæmi um fjölvaskilgreiningu á ef-ekki í Clojure væri:[4]

 (defmacro ef-ekki
   ([skilyrði þá] 
    `(ef-ekki ~skilyrði ~þá nil))
   ([skilyrði þá annars]
    `(if (not ~skilyrði) ~þá ~annars)))

Sem mætti nota sem svo:

 (ef-ekki (zero? 0)
   '(0 er ekki núll.)
  '(0 jafngildir núlli.))
 ;; ⇒ (0 jafngildir núlli.)

Sem þenst svona út:

 (macroexpand-1 '(ef-ekki (zero? 0) '(0 er ekki núll.) '(0 jafngildir núlli.)))
 ;; ⇒ (if (clojure.core/not (zero? 0)) (quote (0 er ekki núll.)) (quote (0 jafngildir núlli.)))

Tengt efni

breyta

Tilvísanir

breyta
  1. 1,0 1,1 „fjölvaskipun“. Afrit af upprunalegu geymt þann 6. mars 2016. Sótt 19. ágúst 2011.
  2. „fjölvaskilgreining“. Afrit af upprunalegu geymt þann 17. apríl 2015. Sótt 19. ágúst 2011.
  3. „fjölvaforritun“. Afrit af upprunalegu geymt þann 17. apríl 2015. Sótt 19. ágúst 2011.
  4. if-not á ClojureDocs
  5. 5,0 5,1 Hugtak búið til af höfundi.