hy – un (altro) interprete Lisp in Python

cuddles

Sì lo so che ho già parlato di un interprete Lisp scritto in Python e detto che era meraviglioso ma adesso salta fuori questo, hy, che è ancora più meravigliosamente meravigliosissimo (sì, mancano termini adeguati in italiano ma ci siamo capiti vero?).

A me l’ha detto rahmu, con questo post: First steps with Hy.
Ah! una cosa: su Twitter c’è @newsycombinator, fareste bene a followarlo se vi interessano notizie come questa. Lui e Slashdot rappresentano il grosso del tormentone domenicale visto nel Web.
E se seguite questi due potete saltare il tormentone 😉
Anzi no, non fatelo, visto è bello, ci sono anche le figure 😀

Tornando a hy la prima cosa da fare è installarlo, fatto, seguendo le dritte di Quickstart.
Allora, vediamo:

h0
C’è e workz! 😀

Siccome devo ancora leggere il manuale (ahemm!) facciamo che se volete potete provare fatelo con rahmu, nel post indicato sopra.
Che ne dite di questo (fibo-ric.hy):

(defn memoized [func]
  (setv cache_dict {})

  (defn memoized_func [*args]
    (if (in *args cache_dict)
      (.get cache_dict *args)
      (.setdefault cache_dict *args (func *args))))
  memoized_func)

(with-decorator memoized
  (defn fibo-recursive [n]
    (if (<= n 1)
      n
      (+ (fibo-recursive (- n 1)) (fibo-recursive (- n 2))))))

;; main
(print (fibo-recursive 100))

fibo-ric
Ecco, prima o poi devo parlare dei decoratori (Python), della memoizazione racconterò qualcosa con Clojure (forse, mi sto ancora documentando) ma per intanto c’è. E deve fare un mucchio grosso così di somme, chissà quanto ci mette? No, sul mio ‘puter vecchio e piccolino, questo:

sysottengo:

time-fibo-ric
Insomma, devo davvero leggermi il manuale, questo qui: Documentation Index

cuddles_the_hacker

Posta un commento o usa questo indirizzo per il trackback.

Trackback

  • hy – prime prove | Ok, panico su 3 luglio 2013 alle 11:04

    […] E Python l’ha usato anche Paul Tagliamonte, quello (come si traduce “guy“?) in figura, qui sopra, il creatore di hy. Di come ho scoperto hy ne ho parlato in un post precedente. […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: