fb18.de
/ Diplom Informatik
/ Unterbereich Grundstudium
/ Praktische Informatik
scheme tutorial?
hi,
ich suche ein scheme tutorial. kann mir vielleicht jemand helfen?
christian
Moin!
Genau das such ich auch.
Was ich aber noch viel dringender bräuchte, wäre ne Anleitung, wie ich unter Windows Scheme in Emacs implementiere.
Ho
Kannst du mir einen Grund nennen, warum du unter Windows EMACS verwendest, um mit SCHEME zu arbeiten? Es ist wesentlich besser, wenn man da DrSCHEME verwendet. Es ist einfacher zu bedienen und es hat eine grafische Benutzeroberfläche und wenn du mal größere Programme schreibst, dann wirst du feststellen, wie schön es sein kann, wenn Klammernpaarinhalte eingefärbt werden…
Syntax Highlighting macht der Emacs auch …und das für so ziemlich jede Sprache die es gibt. :-)
Ich habe zwar auch noch vor Emacs unter Windows einzurichten, aber so lange benutze ich auch noch den DrScheme. Und da würde es mich mal interessieren, ob einer bei Euch die (trace) Funktion da zum laufen gebracht hat?
mfg Ulf
Kannst du mir einen Grund nennen, warum du unter Windows EMACS verwendest, um mit SCHEME zu arbeiten? Es ist wesentlich besser, wenn man da DrSCHEME verwendet. Es ist einfacher zu bedienen und es hat eine grafische Benutzeroberfläche und wenn du mal größere Programme schreibst, dann wirst du feststellen, wie schön es sein kann, wenn Klammernpaarinhalte eingefärbt werden…
Ist das Freeware?
Ich hab zur Zeit EdScheme Probe-Version. Ist auch echt komfortabel und alles wunderbar. Nur: als ich da die Preisliste gesehen habe ….
Für die Trace:
erstens solltest du das Sprachlevel auf die höchste Stufe setzen, zweitens solltest du ganz oben einmal folgenden Befehl eingeben (wenn ich mich richtig erinnere):
(require-library "trace.ss")
Sonst kann das nämlich nicht funktionieren. Ich glaube, das war alles…bin mir aber nicht ganz sicher.
Kannst du mir einen Grund nennen…
Erstenst bin ich nur ein armer Student, der von nix ne Ahnung hat. Als man mir also sagte "Emacs geil, DrScheme Mist" hab ich das geglaubt.
Zweitens hab ich mich beim Prologisieren bereits etwas an Emacs gewöhnt und kann diese Gewöhnung bei Schemetisieren noch weiter vertifen, auf das sie dann beim Javarisieren ihren Höhepunkt erreichen mag.
Drittens lade ich mir nicht 17 MB runter, nur um festzustellen, dass das nicht klappt.
Auf der Seite
http://www.gnu.org/order/ftp.html gibts ne Anleitung, wie man sich Emacs von nem FTP-Server runterladen kann.
Das ist dann genau das Emacs, was wir auch inner Uni haben. Auch die Tastenkombinationen sind die gleichen.
Ho
Wieso runterladen?
Das ist doch alles wunderbar komfortabel auf der OE-CD drauf…
Und außerdem sind es nur 3,5 MB und es klappt wunderbar!
P.S. was ich oben zur Trace schrieb, ist nicht ganz richtig. Es muss heißen:
(require-library "trace.ss")
Also mit Anführungszeichen.
richtig, und danach muss man halt für ein prädikat nach wahl die tracierung einschalten, etwa:
(trace drop)
oder für mehrere:
(trace drop drag drug)
Hi!
Wenn ich mich nicht täusche, dann sind die restlichen Postings alle zum Thema "Warum Scheme mit EMACS auf Windoofs".
Wenn die ursprüngliche Frage noch nicht beantwortet wurde, dann versucht mal diese URL als Tutorium:
http://www-swiss.ai.mit.edu/~jaffer/SCM.html
Succeed!
also ich arbeite mit drscheme und bin damit zufrieden! und es war kein 17mb download!
Also Doktor macht mich ein wenig wahnsinnig. Schade das es im Ausführungsfenster keine history Funktion gibt. Und irgendwas hatte mir noch immer Steine in den Weg gelegt. Na egal. qualifizierte Aussage wieder. [img]
http://images.rapidforum.com/images/i15.gif[/img]
Was meinst du mit History-Funktion?
die zuletzt eingegeben Befehle wieder holen?
Das geht mit Esc-p. Wenn du mehrere Befehle zurück willst, musst du Esc zwischendurch loslassen. Klappt sogar, wenn du zwischendurch synchronisiert hast. Aber frag mich nicht, warum das so kompliziert ist (wie wäre es mit Pfeil-nach-oben?) und warum die Funktion so versteckt ist.
Danke. Nach der Funktion habe ich ziemlich lange gesucht. Die Key Bindings oder wie das heisst konnte ich irgendwie nicht so recht interpretieren. :-/
Klasse! Und was höre ich da? Key-Bindings? Muss mich mal mehr im Programm umgucken. *g* Aber Scheme mag ich immer noch nicht so recht.
Nun ja…Scheme ist nicht die Welt und vor allem eine Theorie-Sprache, aber es ist schon mal ein deutlicher Fortschritt gegenüber Prolog.
Also ich mag es jedenfalls erheblich lieber.
Übrigens:
Wenn man sich MisterX runterlädt (auf der Seite der
www.cs.rice.edu ), dann kann man aus den Scheme-Programmen auch Anwendungen erstellen (über "create launcher").
Nun ja…Scheme ist nicht die Welt und vor allem eine Theorie-Sprache, aber es ist schon mal ein deutlicher Fortschritt gegenüber Prolog.
Immerhin kann man lustige dinge ganz einfahc machen, wie das Pluszeichen umdefinieren [img]
http://images.rapidforum.com/images/i15.gif[/img], und das ohne viel zu wissen..meine lieblingsvariante:
(define (+ x y)
(cond
((and (integer? x) (integer? y) (> x 0) (> y 0)) (- x (- 0 y)))
((= y 0) "+: addition by zero")
((> x y) (* x (- y (/ (* (/ x y) (sqrt 2.25)) 1.5))))
(else 42)
)
)
das macht spaß, wenn man es jemandem unterschieben kann [img]
http://images.rapidforum.com/images/i25.gif[/img]
btw: dieses Forum ist einfahc genial in der Fähigkeit aus dem ursprünglichen Topic (hier. Scheme-Tutorial) vollkommen andere Topics in mehreren evolutionsstufen zu machen [img]
http://images.rapidforum.com/images/i25.gif[/img]
Scheme-Tutorial->Emacs->Ich mag Scheme (nicht) [img]
http://images.rapidforum.com/images/i15.gif[/img]
Mmmh, ich kenne kein Forum bei dem so etwas nicht der Fall ist. :-)
mfg Ulf
Wie kommt man denn bitte auf die Idee das Pluszeichen definieren zu wollen? Du hast zu viel Freizeit %)
Mädel, hast Du mitbekommen, worum es dabei eigentlich ging, bzw. den Anhalter gelesen?
erklärs mir doch *blinzel
:P
Forty-Two, the answer to life, the universe and everything. 42 ist immer richtig. Mit seinem Programm kommt (wenn ich mich recht erinnere) bei jeder Addition 42 raus. Unterstüzt also die Aussage von uns Anhalter Fans. Das wiederum ist ein Buch (Hitchhiker's Guide To Galaxy von Douglas Adams) das Du gelesen haben musst. Anderenfalls wird Dir Dein Diplom nicht ausgehändigt. Das war jetzt nicht ganz klar, aber Du wirst mich schon verstehen, ja? [img]
http://images.rapidforum.com/images/i23.gif[/img]
Ja auf dieses Vergnügen bin ich auch schon gestoßen. Ich bereue es immer wieder. Wobei, 42 ist nicht immer richtig. Das ist nur die Antwort auf "die" Frage. Und so weit bin ich noch nicht. Ich hab bisher erst die ersten beiden durch und ich mußte mich echt zurück halten um das Buch nicht in Stücke zu reißen….. *g
Wie kommt man denn bitte auf die Idee das Pluszeichen definieren zu wollen? Du hast zu viel Freizeit %)
Naja..wenn man shconmal im RZ ist, muss man doch auch was sinnvolles machen [img]
http://images.rapidforum.com/images/i22.gif[/img]
Mit seinem Programm kommt (wenn ich mich recht erinnere) bei jeder Addition 42 raus.
so einfach hab ichs nicht gemacht [img]
http://images.rapidforum.com/images/i23.gif[/img] also für alle interessierten :
[*]Bei ganzen Zahlen > 0 funktioniert die Addition wie gehabt (zur leichten irritation [img]
http://images.rapidforum.com/images/i24.gif[/img])
[*]ist die zweite Zahl = 0 gibts logischerweise einen "Addtition by zero" Fehler, das kennen wir ja von der Addition, funktioniert hier ganz analog [img]
http://images.rapidforum.com/images/i18.gif[/img]
[*]ist die erste Zahl größer der zweiten, kommt eine wunderschöne Zahl raus, ich könnte ja mal ein ASCII-Art versuchen [img]
http://images.rapidforum.com/images/i15.gif[/img]
x ist die erste, y die zweite Zahl
x /-------
- * \ /
y \/ 2.25
x * y - -----------------
1.5
[*]So und nun der else-Fall, nämlich wenn x, y keine Ganzen Zahlen > 0 sind, y != 0 und y >= x, dann weiß das Programm nicht weiter und wie Björn schon sagte ist 42 immer richtig, also hilft es sihc aus und sagt einfach mal 42 [img]
http://images.rapidforum.com/images/i24.gif[/img]
Soviel zum thema sinnvolle Scheme-Funktionen [img]
http://images.rapidforum.com/images/i22.gif[/img]
Ist hier eigentlich jeder Fan des Hitchhiker? Ich fand den naemlich ziemlich albern und nicht unbedingt interessant.
Hat jemand "Cryptonomicon" gelesen? DAS ist ein gutes Buch.
Ich kenne Foren, bei denen das noch viel schlimmer ist. Wenn man nach 100 postings bei den vorteilen verschiedener staubsaugermarken in der sahara angekommen ist…das wär schlimm [img]
http://images.rapidforum.com/images/i15.gif[/img][img]
http://images.rapidforum.com/images/i15.gif[/img]
Ist hier eigentlich jeder Fan des Hitchhiker? Ich fand den naemlich ziemlich albern und nicht unbedingt interessant.
Hat jemand "Cryptonomicon" gelesen? DAS ist ein gutes Buch.
tststs…erst die Lieblingslektüre kritisieren und dann auch noch meinen 4ten Platz in der forenwertung klauen [img]
http://images.rapidforum.com/images/i25.gif[/img]
Was ist denn dran albern, mal hier oder da ne 42 einfließen zu lassen? ich übertreibs ja nicht wie Leonie [img]
http://images.rapidforum.com/images/i23.gif[/img]
Die 42 ist das einzige, wasich an der ganzen Sache gut fand [img]
http://images.rapidforum.com/images/i15.gif[/img]
Ach gibt ncoh was gutes…habs nur noch nie gesehen…lass jemanden mal ein arithmetisches Programm in Scheme schreiben und schieb ihm die Datei unter….stundenlanger Debugging-Spaß inklusive [img]
http://images.rapidforum.com/images/i23.gif[/img]
Es ist natuerlich nicht albern, ab und zu eine 42 einfliessen zu lassen, aber als Grundlage fuer ein Buch oder sogar mehrere ist das ein bisschen mager. :-)
Und den 4. Platz in der Statistik, hmm… den habe ich VERDIENT! :-)
Ich musste neulich feststellen, dass Funktionen wie "curry" oder "filter" gar nicht in DrScheme implementiert sind. Da man sich die aber nicht jedesmal neu definieren will, oder tools.scm (hat jeder in P1texte) laden und dann darunter sein Programm schreiben will, bin ich zu folgender Lösung gekommen:
1. Zunächst öffnet man "tools.scm".
2. Dann speichert man es als "tools.ss" unter "PLT\collects\mzlib" (wo auch die meisten anderen Bibliotheken liegen)
3. Als erste Zeile in einem Programm schreibt man nun einfach: (require-library "tools.ss")
Ich weiß nicht, ob es noch einfacher geht und man das auch in die Standartfunktionen von Scheme mit aufnehmen kann, aber das lohnt sich auch nicht mehr für die letzten Wochen, in denen wir was mit dieser Sprache zu tun haben.
Übrigens in DrScheme v2.00alpha9 fuktioniert "require-library" nicht mehr (bzw. noch nicht wieder). *gnarg*
mfg Ulf
Was ist denn das –>DrScheme v2.00alpha9<– ?
Ich verwende R5RS (also die aktuelle Version, die es bei der Rice-Universität runterzuladen gibt), da klappt das.
Ups…also das war ich eben…
Ich erinner mich zwar nicht mehr welche version ich habe, aber bei mir klappt das auch nicht.
Ich glaube für dieses problem hat gott die funktion load geschrieben..steht übrigens auch inner tools.scm drin, dass man die per (load "tools.scm") einladen kann (vorrausgesetztist im selben verzeichnis) [img]
http://images.rapidforum.com/images/i25.gif[/img]
Hallo,
> Was ist denn das –>DrScheme v2.00alpha9<– ?
Du arbeitest wahrscheinlich mit DrScheme Version 1.03p1, und Version 2.00alpha9 ist einfach eine neue Ausgabe dieser Umgebung (und die erste, die "wirklich" komplett R5RS-kompatibel sein soll; aber für unsere Zwecke nicht von Belang). Allerdings ist diese neue Version halt noch ein wenig "buggy" (broken, unfertig, kaputt). Wer sie trotzdem mal ausprobieren will, hier ist der Link zum Download:
http://download.plt-scheme.org/
mfg Ulf
Das mit load werde ich nacher mal ausprobieren, mir ging es aber nicht um die tools.scm sondern trace.ss
Stimmt! Jetzt, wo du's sagst. Mit load erspart man sich die ganze Mühe… darauf hätte ich eigentlich kommen können… Naja… man wird alt… [img]
http://images.rapidforum.com/images/i25.gif[/img]