the badger, the mushroom, the snake and the haskell

marți, 22 dec. 2009, 22:10

How they all fit together:

1
2
3
4
5
6
7
8
module Badger where
 
badger :: Int -> Int -> [String]
badger mushroom snake = badger' mushroom snake mushroom snake
    where
    badger' m s 0 s' = "Mushroom" : "Mushroom" : badger' m s m s'
    badger' m s m' 0 = "Snaaaaaaaaake" : badger' m s m s
    badger' m s m' s' = "Badger" : badger' m s (m' - 1) (s' - 1)

A Haskell 8-liner based on this short made by Weebl.

despre dragoste [§]

miercuri, 15 iul. 2009, 17:36

Dacă acum ceva (destul de mult) timp am dorit să găsesc o formulă aproximativ filosofică a acestui fenomen care, țin să precizez, încă mi se pare extrem de dubios și cât se poate de diabolic, voi încerca astăzi o abordare implicită, formală [§], pur matematică, așa cum îi șade bine acestei trăiri minunate, care într-o lume perfectă este musai să fie una, evident, perfectă (foarte perfectă, după cum probabil ar spune primarul și prietenul nostru mult iubit, Marean). (mai mult…)

highlight my code

luni, 15 iun. 2009, 11:52

Fiindcă totuși am discutat în repetate rânduri despre computer science, iar „computer science” include și „coding”, am încercat mai devreme să fac din nou syntax highlighting-ul să meargă pe blog și am reușit. Aparent, syntaxhighlighter-ul (folosit, am impresia, și pe wordpress.com) funcționa ok, dar nu în comment-uri, fapt ce m-a făcut să revin la vechiul WP-Syntax, care își face treaba și suportă un număr mare de limbaje, inclusiv pe cele așa-zis exotice.

Acestea fiind spuse, se dă următorul cod Haskell:

gogu :: Int -> [Int]
gogu x = x : (gogu (x + 1))

Codul este pus între tag-uri de tip pre, cu parametrul lang=”haskell” (și opțional, line=”x”, unde x e numărul primei linii).

another one bites the dust

vineri, 27 feb. 2009, 17:27

S-a dus încă o săptămână, prima din semestrul al patrulea. Am rămas cu două draft-uri mai mult sau mai puțin serioase, pe care nu am avut timp să le cizelez, o groază de alte chestii necitite și multe nebunii abia apărute pe țeavă. Povestea e cam în felul următor: doi mari învățați au scos două Biblii – fiecare în domeniul ei, dar ambele făcând parte dintr-o religie comună – scrise independent una de cealaltă, parcă numai să îi bage în cap studentului toate matrapazlâcurile legate de acea religie, care de fapt e un fel știință, să ne înțelegem. Iar studentul nu avea nimic împotrivă.

Într-o altă ordine de idei, după ce mi-am dat seama că skill-urile de a programa în C ruginesc atunci când nu sunt folosite, am descoperit că am și voi avea de-a face și cu limbaje ceva mai exotice, cum ar fi Scheme [plt-scheme.org] sau Prolog [swi-prolog.org]. Asta mă face să mă mai interesez un pic de limbaje gen cele de mai sus, sau de ce nu Haskell, care pare din ce în ce mai interesant. Paradigma funcțională funcționează, doar Universul a fost scris în Lisp [xkcd.com], asta apropo de Scheme și alte dialecte.

Acest articol a fost publicat drept simbol al sfidării față de criza economică și alte probleme care macină țara și lumea în ziua de azi. Sunt de părere că dacă lumea și-ar vedea de treabă, lucrurile ar merge cum trebuie.