Technomorous

Trocha relaxačního LISPu

Sdílet: Twitter - Facebook

Na LISP, respektive na jeho výukový dialekt DrScheme, mám z doby školy jen ty nejvřelejší vzpomínky. Když před pár lety gopherem prosvištěla vlna popularity tohohle jazyka a každý se ho najednou učil, jen jsem se zlehka usmíval při ranní kávě. Teď jsem ale takhle cestou žlutým autobusem z Liberce dostal chuť si trochu zaLISPovat, vlastně ani nevím proč - možná to bylo únavou z výstupu na Ještěd, či snad tím, že již tradičně nefungovala WiFi, kdož ví?

Naštěstí jsem s sebou měl jeden z posledních smartphonů hodných toho označení - Nokii N900 - na níž o LISP není nouze. A ten jazyk sám je jak jízda na kole - nedá se zapomenout.


 (defconstant PI 3.14159265)
 (defconstant W 600)
 (defconstant H 400)
 (defconstant D 255)
 (defvar x)
 (defvar y)
 
 (write-line "P3")
 (format t "~D ~D~%~D~%" W H D)
 
 (loop for y from 1 to H
 	do  (loop for x from 1 to W
 		do (format t "~D ~D ~D   " 
 			(round (abs (* D 
 			    (sin (* 3 PI (/ x W))) 
 			    (sin (* 3 PI (/ y H))) 
 			)))
 			(round (abs (* D 
 			    (sin (* 3 PI (/ W x))) 
 			    (sin (* 3 PI (/ H y))) 
 			)))
 			(round (abs (* D 
 			    (sin (* 3 PI (/ y x))) 
 			    (sin (* 3 PI (/ x y))) 
 			)))
 		)
 	)
 )
 

Bystřejším asi neuniklo, že se jedná o generování unixové bitmapy ve formátu PPM s 24-bitovými barvami. Doma jsem pak zjistil, že výsledek vypadá takto:

Generováno LISPem

Najednou jsem zatoužil za á napsat v LISPu po létech i něco složitějšího a za bé mít u sebe 24/7 zařízení, na kterém je to tak lehké, jako na mé sbírkové N900. S tím se bude muset něco dělat.


Jméno
Web
E-Mail
Jsem stroj
Text komentáře


TOPlist