pyLisp-NG

Skjermbilde programvare:
pyLisp-NG
Prog.varedetaljer:
Versjon: 2.0.0
Last opp dato: 3 Jun 15
Lisens: Gratis
Popularitet: 5

Rating: nan/5 (Total Votes: 0)

Den pyLisp-NG prosjektet er en umiddelbar kommer av PyLisp, som hadde sin utilsiktet fødsel som følge av William Annis 'ønske om å bygge en KLIPP-lignende syntaks for en enkel ekspertsystem beregnet for overvåkingsverktøy. & Nbsp; Som en Resultatet av Lisp renter på Python nyhetsgruppe, William utgitt programvaren og kunngjorde det til gruppen.
Flere år senere, Evolver og txEvolver prosjekter trengte et funksjonelt programmeringsspråk implementering i Python, som inspiserer Pythons AST var for mye av en problemfri. Forfatteren ønsket å distribuere, behandle og administrere evolusjonære algoritmer / programmer på tvers av flere eksterne Twisted servere, og manipulere permutasjoner av delprogrammer var mye enklere å integrere med Twisted hvis programmene selv kunne bli evaluert og introspected lett med Python.
pyLisp-NG arver PyLisp sin idiosynkratiske charaateristics. For eksempel booleans er sant og usant, og det følger ikke konvensjonen at alt som ikke er falsk er sant (felles for mange lisps). Faktisk er alle booleans i pyLisp-NG basert på fuzzy logikk, slik at du kan gjøre vanskeligere ting. Makroer, ganske merkelig, første klasse objekter i PyLisp som kanskje romanen til lisps:
Lisp> (setq foo 22)
22
Lisp> ((makro (x) `(setq, x (+, x 1))) foo)
23
pyLisp-NG, som forgjengeren, har ingen hensikt til å bli et fullverdig, robust Lisp implementering. All framgang styres utelukkende av interesse å bidra utviklere; akkurat nå, det er strengt for bruk som en genetisk programmeringsverktøy.
Installasjon:
pyLisp-NG er setuptools-vennlig; du kan installere det med følgende:
& Nbsp; $ easy_install pyLisp-NG
Du kan også få full kildekode fra Launchpad:
& Nbsp; $ bzr lp: pylisp-ng
Det siste alternativet sterkt oppmuntret for interesserte brukere, som inneholder depotet ekstra filer som ikke er inkludert i ditribution tarballs (for eksempel testen løper og test utils).
Bruk:
For å bruke interpretter fra en full kassa, gjør dette:
& Nbsp; $ cd $ ./bin/pylisp-ng
Hvis du har installert med easy_install, og din Python-skript katalogen er i PATH, er alt du trenger å gjøre dette:
& Nbsp; $ pylisp-ng
På dette punktet, vil du kunne gå inn Lisp uttrykk:
Lisp> ((lambda (x) (* x x)) 2)
4
Lisp>
Du kan bruke s-uttrykk kode fra Python:
>>> Fra pylispng import lisp
>>> L = lisp.SExpression ('((lambda (X) (XX *) 2))')
>>> Str (l)
'((Lambda (x) (x * x)) 2)'
>>> L.eval ()
4
Bygge et uttrykk ett symbol om gangen eller ved å legge biter om gangen:
>>> L = lisp.SExpression ()
>>> L.append ('+')
>>> l.append ('3')
>>> l.append ('5')
>>> L.append ('(* 3 3)')
>>> Str (l)
'(+ 3 5 (3 * 3))'
Du kan undersøke ulike egenskapene til s-uttrykk:
>>> L.eval ()
17
>>> L.getDepth ()
2
>>> Len (l)
4
>>> L.getSize ()
2

Egenskaper .

  • En liten Lisp dialekt, lett å integrere i andre Python prosjekter
  • Inkluderer en interaktiv Lisp tolk.
  • Expression introspeksjon spesielt utviklet for bruk i genetisk programmering.

Hva er nytt i denne utgaven.

  • Lagt introspeksjon kode som er nyttig for genetisk programmering
  • Et par små feilrettinger og noen kode opprydding.

Krav

  • Python

Lignende programvare

GNU Cobol
GNU Cobol

17 Feb 15

Jikes
Jikes

3 Jun 15

Racket
Racket

27 Sep 15

Kommentarer til pyLisp-NG

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!