Το έργο pyLisp-NG είναι μια άμεση απόγονος του PyLisp, η οποία είχε κατά λάθος τη γέννησή του, ως αποτέλεσμα της επιθυμίας William Άννης να οικοδομήσουμε μια σύνταξη CLIPS-σαν για ένα απλό έμπειρο σύστημα που προορίζεται για το εργαλείο παρακολούθησης & nbsp?. Ως αποτέλεσμα της Lisp ενδιαφέρον για την ομάδα ειδήσεις Python, William κυκλοφόρησε το λογισμικό και ανακοίνωσε ότι στην ομάδα.
Αρκετά χρόνια αργότερα, οι Evolver και txEvolver έργα που χρειάζονται ένα λειτουργικό υλοποίηση γλώσσα προγραμματισμού Python, όπως τον έλεγχο της AST Python ήταν πάρα πολύ από μια ταλαιπωρία. Ο συγγραφέας ήθελε να διανείμει, επεξεργάζονται και διαχειρίζονται εξελικτικών αλγορίθμων / προγράμματα σε πολλούς απομακρυσμένους διακομιστές Twisted, και το χειρισμό μεταθέσεις των μερικών προγραμμάτων ήταν πολύ πιο εύκολο να ενσωματωθούν με Twisted εάν τα ίδια τα προγράμματα θα μπορούσαν να αξιολογηθούν και να introspected εύκολα με την Python.
pyLisp-NG κληρονομεί ιδιοσυγκρασιακή charaateristics PyLisp του. Για παράδειγμα, οι booleans είναι αληθινό και το ψεύτικο και δεν ακολουθεί τη σύμβαση ότι τα πάντα που δεν είναι ψευδής είναι αλήθεια (κοινή σε πολλές Lisps). Στην πραγματικότητα, όλες οι booleans σε pyLisp-NG βασίζεται σε ασαφή λογική, ώστε να μπορείτε να κάνετε πιο περίπλοκη πράγματα. Οι μακροεντολές είναι, αρκετά παράξενα, πρώτης κατηγορίας αντικειμένων σε PyLisp που ίσως μυθιστόρημα Lisps:
Lisp> (setq foo 22)
22
Lisp> ((macro (x) `(setq, χ (+, x 1))) foo)
23
pyLisp-NG, όπως και ο προκάτοχός του, δεν έχει καμία πρόθεση να becomming ένα ολοκληρωμένο, ισχυρό Lisp εφαρμογή. Όλα πρόοδος διέπεται αποκλειστικά από το ενδιαφέρον της να συμβάλει προγραμματιστές? αυτή τη στιγμή, αυτό είναι αυστηρά για χρήση ως εργαλείο γενετικού προγραμματισμού.
Εγκατάσταση:
pyLisp-NG είναι setuptools φιλικό? μπορείτε να το εγκαταστήσετε με το ακόλουθο:
& Nbsp? $ Easy_install pyLisp-NG
Μπορείτε επίσης να πάρετε την πλήρη πηγαίο κώδικα από το Launchpad:
& Nbsp? $ Bzr lp: pylisp-ng
Η τελευταία επιλογή ενθαρρύνεται σε μεγάλο βαθμό για τους ενδιαφερόμενους χρήστες, όπως το αποθετήριο περιέχει επιπλέον αρχεία που δεν περιλαμβάνονται στις αρχειοθήκες ditribution (όπως ο δρομέας δοκιμής και utils δοκιμή).
Χρήση:
Για να χρησιμοποιήσετε το interpretter από μια πλήρη ολοκλήρωση της παραγγελίας, το κάνετε αυτό:
& Nbsp? $ Cd <κατάλογο υποκατάστημα> $ ./bin/pylisp-ng
Αν έχετε εγκαταστήσει με easy_install, και τον κατάλογο Python scripts σας είναι στο PATH σας, το μόνο που θα χρειαστεί να κάνετε είναι το εξής:
& Nbsp? $ Pylisp-ng
Σε αυτό το σημείο, θα είστε σε θέση να εισέλθουν Lisp εκφράσεις:
Lisp> ((λ (χ) (* x x)) 2)
4
Lisp>
Μπορείτε να χρησιμοποιήσετε τον κωδικό S-έκφραση από Python:
>>> Από pylispng Lisp εισαγωγής
>>> L = lisp.SExpression (((λάμδα (x) (* xx) 2)))
>>> Str (ιβ)
((Λάμδα (x) (* x x)) 2) '
>>> L.eval ()
4
Οικοδόμηση μιας έκφρασης ένα σύμβολο τη φορά ή με την προσθήκη κομμάτια σε μια στιγμή:
>>> L = lisp.SExpression ()
>>> L.append («+»)
>>> L.append (3 ')
>>> L.append (5 ')
>>> L.append («(3 * 3) ')
>>> Str (ιβ)
(+ 3 5 (* 3 3)) '
Μπορείτε να εξετάσει διάφορες ιδιότητες του s-έκφραση:
>>> L.eval ()
17
>>> L.getDepth ()
2
>>> Len (ιβ)
4
>>> L.getSize ()
2
Χαρακτηριστικά :.
- Ένα μικρό Lisp διάλεκτο, εύκολο να ενταχθούν σε άλλα προγράμματα Python
- Περιλαμβάνει ένα διαδραστικό διερμηνέα Lisp.
- Η έκφραση εσωστρέφεια που έχει σχεδιαστεί ειδικά για χρήση σε γενετικού προγραμματισμού.
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Κώδικας ενδοσκόπηση που είναι χρήσιμα για την γενετικού προγραμματισμού
- Ένα ζευγάρι από μικρές διορθώσεις σφαλμάτων και κάποιες κώδικα καθαρισμού.
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε