lisp + python = lisPy

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Costi
User
Beiträge: 544
Registriert: Donnerstag 17. August 2006, 14:21

Sonntag 10. Juni 2007, 20:46

ich bin noch laengst nicht fertig, aber mein "lisPy" hat jetz angefangen einfache scripts auszufuehren
vieleicht interesierts nhemanden
die source findet ihr hier http://paste.pocoo.org/show/1572/ <-- DOH! ich hab dialect (eng.) mit k geschrieben

wenn wir zb folgendes ausfuehren:

Code: Alles auswählen

(= 'alles' '')  (# die evaluating methode is richtig fett)  (while (= 'str' (raw_input 'string_eingeben:'))
    (= 'alles' (+ alles str) ))
(print alles) 
macht er sogar was da steht und erklaert uns genau was da vorgeht:

Code: Alles auswählen

python '/home/kirsch/Desktop/plisp/lispy5.py' 
parse got: (progn(= 'alles' '')  (# die evaluating methode is richtig fett)  (while (= 'str' (raw_input 'string_eingeben:'))    (= 'alles' (+ alles str) ))(print alles) )
<hier wurde etwas gesnippt>
parsed it to:     [[<vars.get>, 'progn'], [[<vars.get>, '='], 'alles', ''], [[<vars.get>, '#'], [<vars.get>, 'die'], [<vars.get>, 'evaluating'], [<vars.get>, 'methode'], [<vars.get>, 'is'], [<vars.get>, 'richtig'], [<vars.get>, 'fett']], [[<vars.get>, 'while'], [[<vars.get>, '='], 'str', [[<vars.get>, 'raw_input'], 'string_eingeben:']], [[<vars.get>, '='], 'alles', [[<vars.get>, '+'], [<vars.get>, 'alles'], [<vars.get>, 'str']]]], [[<vars.get>, 'print'], [<vars.get>, 'alles']]] 

           =========== GO ==========
(do     arg:  [[<vars.get>, 'progn'], [[<vars.get>, '='], 'alles', ''], [[<vars.get>, '#'], [<vars.get>, 'die'], [<vars.get>, 'evaluating'], [<vars.get>, 'methode'], [<vars.get>, 'is'], [<vars.get>, 'richtig'], [<vars.get>, 'fett']], [[<vars.get>, 'while'], [[<vars.get>, '='], 'str', [[<vars.get>, 'raw_input'], 'string_eingeben:']], [[<vars.get>, '='], 'alles', [[<vars.get>, '+'], [<vars.get>, 'alles'], [<vars.get>, 'str']]]], [[<vars.get>, 'print'], [<vars.get>, 'alles']]] 
(do     arg:  [<vars.get>, 'progn'] 
(do     arg:  <vars.get> 
) returning: <vars.get> 
) returning: <function progn at 0xb7d63a74> 
 | (progn     arg:  ([[<vars.get>, '='], 'alles', ''], [[<vars.get>, '#'], [<vars.get>, 'die'], [<vars.get>, 'evaluating'], [<vars.get>, 'methode'], [<vars.get>, 'is'], [<vars.get>, 'richtig'], [<vars.get>, 'fett']], [[<vars.get>, 'while'], [[<vars.get>, '='], 'str', [[<vars.get>, 'raw_input'], 'string_eingeben:']], [[<vars.get>, '='], 'alles', [[<vars.get>, '+'], [<vars.get>, 'alles'], [<vars.get>, 'str']]]], [[<vars.get>, 'print'], [<vars.get>, 'alles']]) 
 |  | (do     arg:  [[<vars.get>, '='], 'alles', ''] 
 |  | (do     arg:  [<vars.get>, '='] 
 |  | (do     arg:  <vars.get> 
 |  | ) returning: <vars.get> 
 |  | ) returning: <function set at 0xb7d63994> 
 |  |  | (do     arg:  '' 
 |  |  | ) returning: '' 
 |  |  | (do     arg:  'alles' 
 |  |  | ) returning: 'alles' 
 |  |  | (do     arg:  'alles' 
 |  |  | ) returning: 'alles' 
 |  | ) returning: '' 
 |  | (do     arg:  [[<vars.get>, '#'], [<vars.get>, 'die'], [<vars.get>, 'evaluating'], [<vars.get>, 'methode'], [<vars.get>, 'is'], [<vars.get>, 'richtig'], [<vars.get>, 'fett']] 
 |  | (do     arg:  [<vars.get>, '#'] 
 |  | (do     arg:  <vars.get> 
 |  | ) returning: <vars.get> 
 |  | ) returning: <function comment at 0xb7d63aac> 
 |  | ) returning: None 
 |  | (do     arg:  [[<vars.get>, 'while'], [[<vars.get>, '='], 'str', [[<vars.get>, 'raw_input'], 'string_eingeben:']], [[<vars.get>, '='], 'alles', [[<vars.get>, '+'], [<vars.get>, 'alles'], [<vars.get>, 'str']]]] 
 |  | (do     arg:  [<vars.get>, 'while'] 
 |  | (do     arg:  <vars.get> 
 |  | ) returning: <vars.get> 
 |  | ) returning: <function while_ at 0xb7d63b54> 
 |  |  | (do     arg:  [[<vars.get>, '='], 'str', [[<vars.get>, 'raw_input'], 'string_eingeben:']] 
 |  |  | (do     arg:  [<vars.get>, '='] 
 |  |  | (do     arg:  <vars.get> 
 |  |  | ) returning: <vars.get> 
 |  |  | ) returning: <function set at 0xb7d63994> 
 |  |  |  | (do     arg:  [[<vars.get>, 'raw_input'], 'string_eingeben:'] 
 |  |  |  | (do     arg:  [<vars.get>, 'raw_input'] 
 |  |  |  | (do     arg:  <vars.get> 
 |  |  |  | ) returning: <vars.get> 
 |  |  |  | ) returning: <built-in function raw_input> 
string_eingeben:

edit:
was is eigentlich mit noodle, ist das auch in python geschrieben und wirds noch entwickelt?
cp != mv
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Sonntag 10. Juni 2007, 21:59

Hallo,

warum ist es interessant Lisp in bzw. mit Python auszuführen.
Wofür braucht man sowas?

LG

rolgal_reloaded
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Sonntag 10. Juni 2007, 22:08

Und was fuer einen Lisp-Dialekt willst du da schlussendlich implementieren? Irgendwie ist es sinnfrei, noch einen zu erfinden, den eh keiner benutzen wird...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 10. Juni 2007, 22:11

rolgal_reloaded hat geschrieben:Hallo,

warum ist es interessant Lisp in bzw. mit Python auszuführen.
Wofür braucht man sowas?

LG

rolgal_reloaded
Zum Spass an der Freude würde ich mal sagen ;)

PyPy kann anscheinend seinen Python Interpreter nach Common Lisp kompilieren ;)

PS: ARGH, wieso muss pypy.de die Seite eine Bordells sein und ist bei Google auch noch höher gerankt!
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Sonntag 10. Juni 2007, 22:14

veers hat geschrieben:Zum Spass an der Freude würde ich mal sagen ;)
Ist ja auch ein gutes Motiv.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Sonntag 10. Juni 2007, 22:16

veers hat geschrieben:PyPy kann anscheinend seinen Python Interpreter nach Common Lisp kompilieren ;)
Zumindest existiert ein Common Lisp-Backend, die Frage ist, wie gut das gepflegt ist (iirc funktioniert das nicht vollstaendig).
Was eigentlich noch eher zum Thema passen wuerde: irgendwo im PyPy-SVN-Repo fliegen Teile eines Scheme-Interpreters rum, der in rpython und auf Basis der PyPy-Toolchain geschrieben ist, ich glaube, das ist ein SoC-Projekt. Das waere vllt. nochmal interessant zum Angucken, wenn's schon einigermassen vollstaendig ist.

Edit:
Okay, das sind nichtmal 300 LOC. Also vermutlich noch nicht so~ viel interessantes :D
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Sonntag 10. Juni 2007, 22:44

rolgal_reloaded hat geschrieben:
veers hat geschrieben:Zum Spass an der Freude würde ich mal sagen ;)
Ist ja auch ein gutes Motiv.
Ohne Langeweile hätten die Menschen nie gute Sachen erfunden, glaub man oO

@Topic
Find die Idee schön. Vllt lässt sich Common Lisp mit einem Python "Compiler" besser "debuggen" oder einbetten... Das wär fein.
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Sonntag 10. Juni 2007, 22:55

@BlackVivi

Deine Signatur ist indiskutabel!
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 10. Juni 2007, 23:48

rolgal_reloaded hat geschrieben:@BlackVivi

Deine Signatur ist indiskutabel!
Und was hat das mit dem Topic zu tun?
Abgesehen davon, so what? Willst du seine Posts nun als Jugendgefährdend deklarieren und verbieten lassen? Ich meine sie könnten ja gesunde Jugendliche zu Sexualstraftätern machen!

Lisp/Scheme nach Python Bytecode wäre auch noch interessant. Wäre ein weiterer Lisp Compiler/Interpreter welcher die Welt nicht braucht. Aber bevor ich so etwas Anfange muss ich wohl Lisp lernen.
BlackJack

Montag 11. Juni 2007, 08:37

Die Signatur hat soviel wie die Anmerkung dazu mit dem Thema zu tun: Beide sind hier zu lesen.

Und ich denke es geht nicht darum, ob das jemand als "Handlungsanweisung" benutzt, sondern wie es auf Leser wirkt. Insbesondere auf weibliche. Und vielleicht sogar welche die schon mal Erfahrung in die Richtung machen mussten. Wobei ich jetzt noch nicht mal eine "richtige" Vergewaltigung meine, sondern das "übliche" grabschen. Aber die sollen sich nicht so anstellen, ist ja nur eine kleine "Überraschung" gewesen. Oder?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 11. Juni 2007, 10:18

rolgal_reloaded hat geschrieben:@BlackVivi
Deine Signatur ist indiskutabel!
@BlackVivi: Ändere deine Signatur.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Montag 11. Juni 2007, 13:32

BlackJack hat geschrieben:Die Signatur hat soviel wie die Anmerkung dazu mit dem Thema zu tun: Beide sind hier zu lesen.

Und ich denke es geht nicht darum, ob das jemand als "Handlungsanweisung" benutzt, sondern wie es auf Leser wirkt. Insbesondere auf weibliche. Und vielleicht sogar welche die schon mal Erfahrung in die Richtung machen mussten. Wobei ich jetzt noch nicht mal eine "richtige" Vergewaltigung meine, sondern das "übliche" grabschen. Aber die sollen sich nicht so anstellen, ist ja nur eine kleine "Überraschung" gewesen. Oder?
Mhm, ihr misintepretiert meine Signatur vollkommen. Aber ich ändere sie natürlich, wenn ihr darauf besteht. Bin ja niemand, der sich zwanghaft an so etwas banalen klammert ;)

Ich gehör übrigens zu den Leuten, die sehr negative Erfahrungen damit gemacht hat... Aber lassen wir das.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Montag 11. Juni 2007, 14:21

gerold hat geschrieben:
rolgal_reloaded hat geschrieben:@BlackVivi
Deine Signatur ist indiskutabel!
@BlackVivi: Ändere deine Signatur.
Lol?
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Montag 11. Juni 2007, 14:37

@BlackVivi

Diese Aussage in Form einer Signatur kann man nur misinterpretieren.
Wenn es ein Kaberettist bringt, der einen gehirnlosen Vollidioten mimt, der z. Bsp. eine entsprechende Handlung damit rechtfertigen will, dann ist das was anderes. Es ist dann wenigstens diskutabel.
Vgl. hierzu Hader im Keller.

@apollo13

Haben gerold oder ich irgendwas Witziges versäumt?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 11. Juni 2007, 14:44

Ich bitte darum, das Signatur-Thema hier nicht weiter zu verfolgen. In diesem Board dreht sich alles um Python.

Wenn das nicht so bleibt, dann lässt sich dieses Board mit unseren geringen Mitteln nicht mehr rechtlich absichern. Das wäre das AUS für dieses Board.

mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten