-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 14/05/2013 16:37, Pietro Battiston ha scritto: > [...] >> >> Cosa usano: Common Lisp? > > No, cose come R, STATA, Gretl (o meglio Hansl, il suo linguaggio di > programmazione)... linguaggi che vanno (alcuni più, altri meno) bene per > l'analisi statistica, e con cui poi impazzisci quando cerchi di fare > qualsiasi altra cosa (discorso leggermente meno vero per R). > > [...] > >> Common Lisp con la macro with-slots di CLOS è l'unica soluzione più >> espressiva che mi viene in mente, per quello che vuoi fare. > > Potrei sbagliarmi, ma mi pare che "exec()" in Python 3 faccia > esattamente tutto ciò... >
No, è molto diverso. Con Common Lisp puoi modificare il comportamento del linguaggio a compile time, così come con Python lo puoi fare a run time. Nel tuo caso, il problema è che in Python la gestione delle variabili locali di una funzione viene "decisa" a compile time, e quindi non puoi fare quello che vuoi. > [...] >> Quello che vuoi fare credo non sia possibile in Python, e francamente >> non vedo in che modo aumenti l'espressività.. >> > > Ignoro se ci sia una definizione univoca di espressività, quindi non > sono certo di quale sia la tua risposta al tuo dubbio. Di certo > ridurrerebbe enormemente la quantità di codice che è necessario scrivere > per fare una qualsiasi analisi econometrica (se guardo quella che sto > facendo ora, credo che sarebbe di un fattore 2, per non parlare della > maggiore semplicità di manutenzione). > Sicuramente la differenza tra: d.x + d.y e x + y è che la seconda è più corta, però: 1) Non ci sono differenze nello sforzo da fare nella manutenzione 2) La prima è piu esplicita, perchè vedi subito a quale "namespace" x ed y appartengono Nota che non ci sono problemi a fare in modo da avere d.x + d.y invece di d["x"] + d["y"] se d è un dizionario. Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlGSTwYACgkQscQJ24LbaUStAQCgjuycYsGUMJg7KbWJrkRXmucB J3EAmwVKXvctbywPh25Yw53draiPCUEG =Nu15 -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python