From dskippy at ccs.neu.edu Sun Dec 1 15:14:50 2002 From: dskippy at ccs.neu.edu (Mike T. Machenry) Date: Thu Mar 26 00:51:25 2009 Subject: [plt-scheme] unitsig rename Message-ID: <20021201201450.GA19633@denali.ccs.neu.edu> I am trying to create a unit/sig mixin the imports a class foo% from the signature foo^ and exports the signature foo^. I attempt this: (require (lib "unitsig.ss") (lib "class.ss")) (define-signature foo^ (foo%)) (define foo-embelishemts@ (unit/sig foo^ (import foo^) (rename [super% foo%]) (define foo% (class super% (super-instantiate ()))))) The problem is that rename does not let me rename a variable that is exported, even if it is defined elsewhere in the body. The error is: unit/sig: signature "foo^" requires variable "foo%" renamed "super%" I want to know if this is intended. If not can it be fixed easily and quickly? If it is intended or cannot be fixed quickly, is there a good work around? I came up with this: (define foo-embelishemts@ (unit->unit/sig (unit (import foo%) (export (foo-embellishments% foo%)) (define foo-embellishments% (class foo% (super-instantiate ())))) (foo^) foo^)) This solution is in sufficient as it requires me to expand the signature foo^ into foo% on the fourth line. This makes adding imports like drscheme:tool^ all but impossible. Thanks for the help -mike From robby at cs.uchicago.edu Sun Dec 1 20:16:45 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:27 2009 Subject: [plt-scheme] unitsig rename In-Reply-To: <20021201201450.GA19633@denali.ccs.neu.edu> References: <20021201201450.GA19633@denali.ccs.neu.edu> Message-ID: <20021202011645.RQEF19077.mailhost.chi1.ameritech.net@localhost> You can use prefixing to get what you want, I think. How about something like this: (require (lib "unitsig.ss")) (define-signature foo^ (foo%)) (unit/sig foo^ (import [a : foo^]) (define foo% (class a:foo%))) Robby From Benderjg2 at aol.com Mon Dec 2 01:28:18 2002 From: Benderjg2 at aol.com (Benderjg2@aol.com) Date: Thu Mar 26 00:51:28 2009 Subject: [plt-scheme] Announce: WebIt! now a SourceForge Project and Mailing List Message-ID: <38.3203382c.2b1c5782@aol.com> My WebIt! framework for XML programming in PLT Scheme is now a SourceForge project. You may visit the project page at: http://sourceforge.net/projects/webit/ As well, a mailing list is now available at: http://lists.sourceforge.net/lists/listinfo/webit-discuss I have setup this project in anticipation of the forthcoming "version 1.0" of WebIt!, and to provide a separate mailing list for announcements and any discussion related to WebIt!. The current version of WebIt! should still be downloaded at http://celtic.benderweb.net/webit/. (The adventurous may notice that the current development version is now in CVS in the SourceForge project.) Jim Bender -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021202/b72b959c/attachment.htm From jblazi at gmx.de Mon Dec 2 10:14:24 2002 From: jblazi at gmx.de (jblazi) Date: Thu Mar 26 00:51:28 2009 Subject: [plt-scheme] Problem with mzc Message-ID: <200212021614.24159.jblazi@gmx.de> I have started playing with plt mzscheme. I should like to extend mzscheme (and later mred) with a C++ file that uses a C++ library. Now when I compile and link the first "hello world" program from "Inside MzScheme" it is compiled but not linked as __gc_personality_v0 is missing. I called the file hw.cpp instead of hw.c. I have had this error before and it is a C++ problem. What can I do? I use Cygwin (and gcc3.2). TIA, -- Janos Blazi From buckner at virginia.edu Mon Dec 2 11:26:38 2002 From: buckner at virginia.edu (Zach Buckner) Date: Thu Mar 26 00:51:28 2009 Subject: [plt-scheme] Memory / Garbage Collection Message-ID: Can someone describe how the garbage collector works? I saw in the documentation that it's "conservative" but I don't know what that means exactly. I'm guessing that it doesn't handle structures that "point to themselves". I'm developing a genetic programming tool (which generates a lot of temporary data) and I have a memory leak. I'm using the Windows version 202. When I monitor how much memory Dr. Scheme uses, it starts off at 30M, and continues to climb (sometimes in large 'clumps'). I am, to the best of my knowledge, releasing all references to the data structures. In fact, the memory stays allocated even when I click "execute", which seems like it starts a totally fresh copy of the interpretter. Also, I've tried to run the procedure (dump-memory-stats), but it doesn't seem to do anything (it just grinds for a minute), not producing any output. Can someone offer some advice? Thanks, -Zach From steck at ccs.neu.edu Mon Dec 2 11:55:31 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Memory / Garbage Collection In-Reply-To: Message-ID: <001f01c29a23$9febaa70$70730a81@NORTHEASDX5RFA> > Can someone describe how the garbage collector works? I saw in the > documentation that it's "conservative" but I don't know what that > means > exactly. I'm guessing that it doesn't handle structures that "point > to > themselves". I'm developing a genetic programming tool (which > generates a > lot of temporary data) and I have a memory leak. I'm using the > Windows > version 202. The conservative collector determines which potential memory references must be references. In some cases, it can't distinguish memory references from other data. When it guesses wrong, the actual memory referred to is never collected. -- Paul From clements at brinckerhoff.org Mon Dec 2 12:26:59 2002 From: clements at brinckerhoff.org (John Clements) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Memory / Garbage Collection In-Reply-To: <001f01c29a23$9febaa70$70730a81@NORTHEASDX5RFA> Message-ID: <437E063E-061B-11D7-9806-00039311268C@brinckerhoff.org> On Monday, December 2, 2002, at 11:55 AM, Paul Steckler wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > >> Can someone describe how the garbage collector works? I saw in the >> documentation that it's "conservative" but I don't know what that >> means >> exactly. I'm guessing that it doesn't handle structures that "point >> to >> themselves". I'm developing a genetic programming tool (which >> generates a >> lot of temporary data) and I have a memory leak. I'm using the >> Windows >> version 202. > > The conservative collector determines which potential memory references > must be references. In some cases, it can't distinguish memory > references from other data. When it guesses wrong, the actual memory > referred to is never collected. > Just to elaborate a bit further; conservative collectors don't have any problem with circular data structures ("structures that point to themselves"). The only problem with conservative collectors is that they may mistake an integer for a pointer. As a result, conservative collectors are unlike reference-counting schemes in that circular data structures can always be collected if they're not reachable. You might also want to consider two alternatives: 1) Run your code in mzscheme (the command-line tool), and compare its memory usage to the numbers you're getting in DrScheme. Of course this only works if your code does not use graphic primitives. 2) Look into 3m, the precise collector for PLT. In general, the problem that you're describing does not seem characteristic of a problem with conservative memory collection. This is just a guess, but I'd guess that your program or DrScheme is holding on to lots of extra memory. To distinguish between these, you can try running it in mzscheme. john clements From buckner at virginia.edu Mon Dec 2 13:24:04 2002 From: buckner at virginia.edu (Zach Buckner) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Memory Leak Specifics In-Reply-To: Message-ID: Ok, I've isolated my memory leak down to the following code example. If I let this run, my memory use skyrockets. Any ideas? Thanks, -Zach ;; a random scheme expression (define p '(lambda (a b c) (or (not b) (or (not a) (or (not #t) (or #t (or (not #f) (or (not #f) (or (not a) (or #t (or #f (not b)))))))))))) ;; a placeholder (define e '()) ;; evaluate the expression over and over (let loop ((i 10000)) (set! e (eval p)) (if (not (equal? i 0)) (loop (- i 1)))) From buckner at virginia.edu Mon Dec 2 13:53:05 2002 From: buckner at virginia.edu (Zach Buckner) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Memory leak, correction In-Reply-To: <437E063E-061B-11D7-9806-00039311268C@brinckerhoff.org> Message-ID: Sorry, I now see what's happening: A) I accidently have profiling enabled... I though this was off B) Dr Scheme dynamically allocates memory via the operating system, but (even though it's getting 'collected' internally), Dr. Scheme never seems to relinquish its heap back to the OS, until I exit Dr.Scheme -Zach From jblazi at gmx.de Mon Dec 2 15:41:38 2002 From: jblazi at gmx.de (jblazi) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Problem with mzc In-Reply-To: References: Message-ID: <200212022141.38028.jblazi@gmx.de> So I tried mzc ++ldf -lstdc++ --ld test.so test.o This works on Linux but it does not work on Cygwin (I replaced .o with .obj and .so with .dll). Can anybody help me? TIA, -- Janos Blazi From mflatt at cs.utah.edu Mon Dec 2 16:11:37 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Problem with mzc In-Reply-To: <200212021614.24159.jblazi@gmx.de> References: <200212021614.24159.jblazi@gmx.de> Message-ID: <200212022111.gB2LBbT00766@wrath.cs.utah.edu> At Mon, 2 Dec 2002 16:14:24 +0100, jblazi wrote: > I have started playing with plt mzscheme. I should like to extend mzscheme > (and later mred) with a C++ file that uses a C++ library. > Now when I compile and link the first "hello world" program from "Inside > MzScheme" it is compiled but not linked as __gc_personality_v0 is missing. > > I called the file hw.cpp instead of hw.c. > > I have had this error before and it is a C++ problem. What can I do? I use > Cygwin (and gcc3.2). Does adding --linker g++ to your mzc command line fix the problem? (You might need to supply a path for g++; I don't remember.) Matthew From robby at cs.uchicago.edu Mon Dec 2 16:37:51 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:29 2009 Subject: [plt-scheme] Memory leak, correction In-Reply-To: References: Message-ID: <200212022137.gB2Lbpw01559@laime.cs.uchicago.edu> At Mon, 2 Dec 2002 13:53:05 -0500, "Zach Buckner" wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Sorry, I now see what's happening: > > A) I accidently have profiling enabled... I though this was off The profiler is keeping statistics about the calls, which accumulates at a slow rate -- it's basically a counter of the number of calls to loop and the cumulative time of those calls. This should be roughly log(n) of the number of calls. When you turn off the profiler, you don't see accumulation, do you? (I'm not sure about your second point.) Robby From anton at appsolutions.com Tue Dec 3 04:47:12 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:30 2009 Subject: [plt-scheme] fix for (sin 12345678901234567890123) In-Reply-To: <200212022137.gB2Lbpw01559@laime.cs.uchicago.edu> Message-ID: <004301c29ab0$f48b80e0$0a00a8c0@femto.appsolutions.com> So, on c.l.s. it has been indirectly pointed out that (sin 12345678901234567890123) obeys the following curious invariant in MzScheme 202 on Windows: (define oleg-num 12345678901234567890123) (eqv? (exact->inexact oleg-num) (sin oleg-num)) => #t With Microsoft's C compiler, the problem seems to be caused by use of the /O2 compiler option. The c.l.s. thread and my latest message there gives more detail. This might be fixable for PLT Scheme's Windows version by checking whether Visual Studio 6.0 Service Pack 3 fixes it, per http://support.microsoft.com/default.aspx?scid=KB;en-us;q217033, which seems related. I haven't tested this myself. If that doesn't fix it, then turning off global optimizations (/Og-) in the appropriate places will definitely fix it. mzscheme/src/number.c would be one such place. Global optimizations can also be disabled with #pragmas in the code - putting pragmas around the GEN_UNARY_OP definitions for sin_prim et al did indeed fix the problem, but of course other floating-point code may be affected. Anton From dougo at ccs.neu.edu Tue Dec 3 06:42:15 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:30 2009 Subject: [plt-scheme] MrEd: default alignment of frame% Message-ID: <15852.39063.849869.167431@vega.ccs.neu.edu> The MrEd 202.x documentation for frame% (section 3.18) appears to say that its default alignment is '(left top). However, MrEd 202.5 seems to contradict this: > (send (make-object frame% "foo") get-alignment) center top Is this a bug in MrEd or the documentation? Or neither? --dougo@ccs.neu.edu From justin_lee at ud.com Mon Dec 2 10:53:24 2002 From: justin_lee at ud.com (Justin Lee) Date: Thu Mar 26 00:51:33 2009 Subject: [plt-scheme] Problem with mzc Message-ID: You need to link with the standard c++ libraries. Just add -lstdc++ to the command line, or compile with g++ instead of gcc. The difference is because you changed the file name extension to cpp instead of c. --Justin Lee -----Original Message----- From: jblazi [mailto:jblazi@gmx.de] Sent: Monday, December 02, 2002 9:14 AM To: plt-scheme@list.cs.brown.edu Subject: [plt-scheme] Problem with mzc For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-scheme I have started playing with plt mzscheme. I should like to extend mzscheme (and later mred) with a C++ file that uses a C++ library. Now when I compile and link the first "hello world" program from "Inside MzScheme" it is compiled but not linked as __gc_personality_v0 is missing. I called the file hw.cpp instead of hw.c. I have had this error before and it is a C++ problem. What can I do? I use Cygwin (and gcc3.2). TIA, -- Janos Blazi From ehudla at openu.ac.il Tue Dec 3 07:16:34 2002 From: ehudla at openu.ac.il (Ehud Lamm) Date: Thu Mar 26 00:51:35 2009 Subject: [plt-scheme] CGI using MzScheme on Windows Message-ID: A student of mine is doing a project that compares Scheme servlets with regular CGIs. She is now trying to write the CGI version of her example system, and I am trying to help here run it on here personal Windows box. I tried two small and easy to install personal web servers, but in both cases I had trouble with getting MzScheme scripts to run under CGI. 1) Tinyweb - No result is returned. The MzScheme process doesn't seem to end, and obviously the server continues to wait for it. 2) PWS - I get the load error "empty path" no matter what I do. I tried searching the archives but couldn't find a solution. Can anyone can direct me to configuration that works under Windows (with any easy to install server), or suggest what I am doing wrong with the two server I tried? Ehud Lamm P.S I apologize if this appears twice. My first attempt seems to have been to wrong address. From mflatt at cs.utah.edu Tue Dec 3 10:16:14 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:35 2009 Subject: [plt-scheme] MrEd: default alignment of frame% In-Reply-To: <15852.39063.849869.167431@vega.ccs.neu.edu> References: <15852.39063.849869.167431@vega.ccs.neu.edu> Message-ID: <200212031516.gB3FGET15978@wrath.cs.utah.edu> At Tue, 3 Dec 2002 06:42:15 -0500 (EST), Doug Orleans wrote: > The MrEd 202.x documentation for frame% (section 3.18) appears to say > that its default alignment is '(left top). However, MrEd 202.5 seems > to contradict this: > > > (send (make-object frame% "foo") get-alignment) > center > top > > Is this a bug in MrEd or the documentation? Or neither? It's a documentation bug. Matthew From jblazi at gmx.de Tue Dec 3 10:54:50 2002 From: jblazi at gmx.de (jblazi) Date: Thu Mar 26 00:51:35 2009 Subject: [plt-scheme] Problem with mzc In-Reply-To: <200212022111.gB2LBbT00766@wrath.cs.utah.edu> References: <200212021614.24159.jblazi@gmx.de> <200212022111.gB2LBbT00766@wrath.cs.utah.edu> Message-ID: <200212031654.50112.jblazi@gmx.de> On Monday 02 December 2002 22:11, Matthew Flatt wrote: > At Mon, 2 Dec 2002 16:14:24 +0100, jblazi wrote: > > I have started playing with plt mzscheme. I should like to extend > > mzscheme (and later mred) with a C++ file that uses a C++ library. > > Now when I compile and link the first "hello world" program from "Inside > > MzScheme" it is compiled but not linked as __gc_personality_v0 is > > missing. > > > > I called the file hw.cpp instead of hw.c. > > > > I have had this error before and it is a C++ problem. What can I do? I > > use Cygwin (and gcc3.2). > > Does adding > > --linker g++ > > to your mzc command line fix the problem? (You might need to supply > a path for g++; I don't remember.) Thx for you suggestion. I have tried to do this (actually I have tried many combinations of this) but it does not seem to work. Of course there are combinations of the keywords I did not try... Additionally, in the manuals I found the remark that doing things with mzc was typically easier than using gcc directly but... -- Janos Blazi From mflatt at cs.utah.edu Tue Dec 3 10:52:41 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:35 2009 Subject: [plt-scheme] on-paint event overriding ?! In-Reply-To: <001c01c29696$3b04db30$1d00a8c0@lifebook> References: <001c01c29696$3b04db30$1d00a8c0@lifebook> Message-ID: <200212031552.gB3FqfT19833@wrath.cs.utah.edu> At Wed, 27 Nov 2002 23:25:49 -0500, Jean-Daniel Rondeau wrote: > I am trying to draw some lines on a table (make-table). The fact is > that when I lose the focus of the window (the table here...) all my > lines disapear and only the cards (from the "cards.ss" library) are > left on the table. I don't think the interface to the library currently lets you add drawing to the table, but that would be a good addition. I've added a new kind of region --- a "background region" --- that doesn't repond to clicks, but that supports a background-painting callback. The changed files for plt/collects/games/cards are committed in CVS, and also here: http://www.cs.utah.edu/~mflatt/tmp/cards.ss http://www.cs.utah.edu/~mflatt/tmp/classes.ss http://www.cs.utah.edu/~mflatt/tmp/region.ss http://www.cs.utah.edu/~mflatt/tmp/doc.txt > My question is : How can I "add" my code to the on-paint event for > the "table". I know that I can override the event. But can I keep the > default code and add my code to it ?!? How ?!? Actually, I'm not sure how you'd override event handling in the current interface. `make-table' gives you an instance without any control over the instantiated class. In any case, maybe the above change willtake care of things. Matthew From steck at ccs.neu.edu Tue Dec 3 11:25:41 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] fix for (sin 12345678901234567890123) In-Reply-To: <004301c29ab0$f48b80e0$0a00a8c0@femto.appsolutions.com> Message-ID: <000a01c29ae8$9f355d40$70730a81@NORTHEASDX5RFA> > So, on c.l.s. it has been indirectly pointed out that (sin > 12345678901234567890123) obeys the following curious invariant in > MzScheme > 202 on Windows: > > (define oleg-num 12345678901234567890123) > (eqv? (exact->inexact oleg-num) (sin oleg-num)) => #t > > With Microsoft's C compiler, the problem seems to be caused by use of > the > /O2 compiler option. The c.l.s. thread and my latest message there > gives > more detail. > > This might be fixable for PLT Scheme's Windows version by checking > whether > Visual Studio 6.0 Service Pack 3 fixes it, per > http://support.microsoft.com/default.aspx?scid=KB;en-us;q217033, which > seems > related. I haven't tested this myself. MzScheme v202 for Windows was compiled with Visual Studio .NET (VC7), so I'd guess earlier Service Packs for VC6 won't help. -- Paul From noelwelsh at yahoo.com Tue Dec 3 12:02:06 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] CGI using MzScheme on Windows In-Reply-To: Message-ID: <20021203170206.74407.qmail@web41205.mail.yahoo.com> I've tried TinyWeb and Apache and I can't get it to work either. It appears that whatever MzScheme is writing to isn't the port the webserver is reading from. I'm using W2K. My tests are: [hello.bat] ; @echo off ; "C:\Program Files\PLT\mzscheme.exe" -r %0 %* ; goto :end (require (lib "cgi.ss" "net")) (output-http-headers) (display "Hello

Hello

") ; :end [hello.scm] #! "C:\Program Files\PLT\mzscheme.exe" -mv (require (lib "cgi.ss" "net")) (output-http-headers) (display "Hello

Hello

") The log file reads: %% [Tue Dec 03 16:58:39 2002] GET /cgi-bin/hello.bat HTTP/1.1 %% 500 C:/Program Files/Apache Group/Apache2/cgi-bin/hello.bat %request Host: aha.lshift.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2) Gecko/20021126 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1 Accept-Language: en-us, en;q=0.50 Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Cookie: Bugzilla_login=noel@lshift.net; Bugzilla_logincookie=765 %response %% [Tue Dec 03 16:59:30 2002] GET /cgi-bin/hello.scm HTTP/1.1 %% 500 C:/Program Files/Apache Group/Apache2/cgi-bin/hello.scm %request Host: aha.lshift.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2) Gecko/20021126 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1 Accept-Language: en-us, en;q=0.50 Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Cookie: Bugzilla_login=noel@lshift.net; Bugzilla_logincookie=765 %response Note the response is always empty. Works like a charm on Linux! Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From cobbe at ccs.neu.edu Tue Dec 3 12:09:34 2002 From: cobbe at ccs.neu.edu (Richard C. Cobbe) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] Problem with mzc In-Reply-To: References: Message-ID: <15852.58702.474891.97113@sualocin.ccs.neu.edu> Lo, on Monday, December 2, Justin Lee did write: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > You need to link with the standard c++ libraries. Just add -lstdc++ > to the command line, or compile with g++ instead of gcc. The > difference is because you changed the file name extension to cpp > instead of c. I've run into this before. The OP may actually be missing GCC's C++ runtime, rather than the C++ standard libraries. Linking with g++, as Matthew suggested elsewhere in the thread, should work. Failing that, try linking against libgcc.a/libgcc.so explicitly: -lgcc. The extension doesn't actually have very much to do with it; gcc doesn't actually pay that much attention to the extension. In fact, the only difference that I've ever seen between gcc and g++ is that g++ automatically links in the C++ support libraries (libstdc++ and libgcc). Both front-ends are, IIRC, perfectly capable of handling C++ source code. (Caveat: this is based on my experience with gcc 2.95; it may or may not apply to gcc 3.) Richard From noelwelsh at yahoo.com Tue Dec 3 12:12:18 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] Need Help for Strings!!!! In-Reply-To: <20021129232650.67335.qmail@web12601.mail.yahoo.com> Message-ID: <20021203171218.71809.qmail@web41206.mail.yahoo.com> --- D Patel wrote: > 1. How can I convert a string into a list? string->list converts a string to a list of characters > 2. Or can I work with strings directly same as C? > Does it contain library functions for string > operations? The basic operations are string-ref and string-set! Trying looking these up in Help Desk. A search for string returns loads of hits. The ones you want are under Revised(5) Report on the Algorithmic Language Scheme and PLT MzScheme: Language Manual Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From dougo at ccs.neu.edu Tue Dec 3 12:18:07 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] MrEd: creating an inactive child Message-ID: <15852.59215.42409.828917@vega.ccs.neu.edu> Is there a way to create a window that is an inactive child of its parent? Or must I send delete-child to its parent to make it inactive after creating it as active? I ask this because I want to replace a window with a new window, and the only way I can see how to do this is with change-childen on the window's parent, replacing the child with the new child. But, when I create the new window in preparation to calling change-children, it immediately adds it to its parent's list of children, so I have to delete it before calling change-children. Even worse, if the parent is currently being shown, the parent will grow and shrink as the new child gets added and deleted. --dougo@ccs.neu.edu From pat at ekman.cx Tue Dec 3 12:44:33 2002 From: pat at ekman.cx (Pat Ekman) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <15852.59215.42409.828917@vega.ccs.neu.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> Message-ID: <20021203174432.GA454@trillian.ekman.cx> Quoth Doug Orleans on Tuesday, December 03, 2002: > Is there a way to create a window that is an inactive child of its > parent? Or must I send delete-child to its parent to make it inactive > after creating it as active? > > I ask this because I want to replace a window with a new window, and > the only way I can see how to do this is with change-childen on the > window's parent, replacing the child with the new child. But, when I > create the new window in preparation to calling change-children, it > immediately adds it to its parent's list of children, so I have to > delete it before calling change-children. Even worse, if the parent > is currently being shown, the parent will grow and shrink as the new > child gets added and deleted. Use (send parent begini-container-sequence) before and (send parent end-container-sequence) after you make changes to its children. This will keep it from recalculating its geometry until you're finished. -- Pat Ekman From rohan.nicholls at informaat.nl Mon Dec 2 12:49:03 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] CGI using MzScheme on Windows In-Reply-To: <20021203170206.74407.qmail@web41205.mail.yahoo.com> References: <20021203170206.74407.qmail@web41205.mail.yahoo.com> Message-ID: <3DEB9D0F.40705@informaat.nl> Noel Welsh wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I've tried TinyWeb and Apache and I can't get it to > work either. It appears that whatever MzScheme is > writing to isn't the port the webserver is reading > from. Which brings up the large undertaking of using cygwin, and apache on cygwin. I have experimented with this on win2000, and had no problem, but IIS does not like CGI at the best of times, and I also ran into problems with it, and spending hours on msdn helped not a bit.:( > > I'm using W2K. > > Note the response is always empty. Works like a charm > on Linux! Which is why Win2000 has been demoted to a virtual machine on linux on my machine.:) > > Noel > From anton at appsolutions.com Tue Dec 3 13:17:10 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:36 2009 Subject: [plt-scheme] fix for (sin 12345678901234567890123) In-Reply-To: <000a01c29ae8$9f355d40$70730a81@NORTHEASDX5RFA> Message-ID: <005001c29af8$32241e70$0a00a8c0@femto.appsolutions.com> > MzScheme v202 for Windows was compiled with Visual Studio .NET (VC7), so > I'd guess earlier Service Packs for VC6 won't help. You mean you're not just stuck with the last compiler version from the last time you shelled out for an MSDN subscription, like I am? ;) I mainly mentioned the service pack to avoid any wild goose chases in the event that you weren't using the absolute latest version. I mentioned in my last c.l.s. post that the Microsoft KB entry I referenced doesn't seem to be exactly what's happening here, although it seems similar. In particular, using /Og alone (global optimizations) ought to cause the bug, according to the KB entry, but it doesn't. However, using the /O2 /Og- compiler options fixed the problem, as did omitting the /O2 option. I'd bet something similar would work with VC7. Anton From nicolas-chevallier at wanadoo.fr Tue Dec 3 15:02:42 2002 From: nicolas-chevallier at wanadoo.fr (Nicolas Chevallier) Date: Thu Mar 26 00:51:37 2009 Subject: [plt-scheme] few questions Message-ID: <001a01c29b06$f09aa190$0101a8c0@celeron> Just few questions - How can an object know which obect is his parent? - I wonder what is the size (approx.) of a stand alone executable from native code with MrEd - Few months ago, I ask if there will a support for udp connections... Is it still in the Todo list? Thanks Nicolas nicolas-chevallier@wanadoo.fr -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021203/0dc405c0/attachment.htm From mflatt at cs.utah.edu Tue Dec 3 15:16:42 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:37 2009 Subject: [plt-scheme] beware of new OS X bugs Message-ID: <200212032016.gB3KGgT07708@wrath.cs.utah.edu> OS X users of the CVS sources: I've just tagged a substantial revision of plt/src/wxmac and related files. I fixed one memory-management bug, but that's all. Unfortunately, I might have introduced *new* bugs, so please look out for anything unusual in the next few days. On the plus side, MrEd3m now works for OS X. 3m likely has bugs that aren't in the non-3m version, but it looks good so far. [MzScheme3m and MrEd3m are variants of MzScheme and MrEd that use a compacting collector instead of the usual "conservative" collector. As a result, space usage can be considerably lower, especially for long-running applications. 3m now builds for Unix variants and OS X. Windows support will be available in the near future. 3m is not currently suitable for applications that require C-implemented extensions.] Matthew From jblazi at gmx.de Tue Dec 3 16:21:28 2002 From: jblazi at gmx.de (jblazi) Date: Thu Mar 26 00:51:37 2009 Subject: [plt-scheme] mzc and C++ and Cygwin Message-ID: <200212032221.28450.jblazi@gmx.de> After trying hard, I now see that it is not easy, to use mzc for extending mzscheme with a C++ file. It seems to be virtually impossible at the moment. The problem is that on Cygwin you have to use g++ for linking and mzc does not (and it does not use gcc either, but calls ld directly. It is a pity but I cannot change it. Probably, there are very few people who want to use Plt-scheme this way and it would not pay to change this. -- Janos Blazi From mflatt at cs.utah.edu Tue Dec 3 16:36:51 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] few questions In-Reply-To: <001a01c29b06$f09aa190$0101a8c0@celeron> References: <001a01c29b06$f09aa190$0101a8c0@celeron> Message-ID: <200212032136.gB3LapT22064@wrath.cs.utah.edu> At Tue, 3 Dec 2002 21:02:42 +0100, "Nicolas Chevallier" wrote: > - How can an object know which obect is his parent? I'm not sure I understand the question. In MrEd, an instance of area<%> or get-item<%> has a `get-parent' method, but there's no more general method or relation. > - I wonder what is the size (approx.) of a stand alone executable from native > code with MrEd Probably fairly large. I'd guess 5-10 MB. > - Few months ago, I ask if there will a support for udp connections... Is it > still in the Todo list? Yes, still. I've looked into it more, but I haven't implemented UDP support. Matthew From mflatt at cs.utah.edu Tue Dec 3 17:45:21 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] mzc and C++ and Cygwin In-Reply-To: <200212032221.28450.jblazi@gmx.de> References: <200212032221.28450.jblazi@gmx.de> Message-ID: <200212032245.gB3MjLT06710@wrath.cs.utah.edu> I've re-acquianted myself with the mzc code to drive Cygwin, and I see why "--linker g++" wasn't even close. Last time I used Cygwin, the protocol for creating relocatable DLLs was complicated: run the linker, run dlltool, repeat both, link one more time. Has this gotten better in more recent releases? Maybe going through gcc/g++ simplifies the process, now? I'm happy to accept improvements to plt/collects/dynext/link-unit.ss. In CVS, I've even re-organized the code and added comments to make improvements easier. Matthew At Tue, 3 Dec 2002 22:21:28 +0100, jblazi wrote: > After trying hard, I now see that it is not easy, to use mzc for extending > mzscheme with a C++ file. It seems to be virtually impossible at the moment. > > The problem is that on Cygwin you have to use g++ for linking and mzc does not > (and it does not use gcc either, but calls ld directly. > > It is a pity but I cannot change it. Probably, there are very few people who > want to use Plt-scheme this way and it would not pay to change this. > > -- > Janos Blazi > From mflatt at cs.utah.edu Tue Dec 3 18:26:11 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] The transparent color? In-Reply-To: References: Message-ID: <200212032326.gB3NQBT14073@wrath.cs.utah.edu> At Thu, 28 Nov 2002 17:45:12 -0500, "Ghis Lafortune" wrote: > I'm a student of Sherbrook's University and I'm programming a chess game. I've > encounter a problem with the pieces. I've put a transparent background but > Drscheme show it white. > I'm using a viewport and all my pics are in gif format. > How do I say to Drscheme to know that the "white" background is transparent? Short answer: The viewport graphics library doesn't currently draw bitmaps with transparency. I've fixed that for the next release. Slightly longer answer: By using the underlying MrEd toolbox, It's almost possible to draw GIFs with transparent backgrounds. There is a bug, however, in the v202 distribution. (Also, the `viewport-dc' and `viewport-buffer-dc' functions, which provide a bridge to the underlying toolbox, seem to be undocumented. I've fixed that for the next release, too.) Long answer: In version 202, you can use the type 'gif/mask (or 'unknown/mask) when loading a bitmap from a file. If the file contains a GIF with a transparent index, the resulting bitmap will contain a mask bitmap, which you can access through the `get-loaded-mask' method. Finally, use the mask bitmap as the last argument to dc<%>'s `draw-bitmap' when drawing the loaded bitmap. (In future versions, maybe the mask bitmap stored with the main bitmap will be used automatically.) At least, that's the theory. But the `get-loaded-mask' method was missing in the v202 distribution. You can correct the bug by editing plt/collects/mred/private/kernel.ss Find the definition of bitmap%, and add `get-loaded-mask' to its list of methods. Matthew From rracine at adelphia.net Tue Dec 3 20:39:40 2002 From: rracine at adelphia.net (Ray Racine) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] The transparent color? In-Reply-To: <200212032326.gB3NQBT14073@wrath.cs.utah.edu> References: <200212032326.gB3NQBT14073@wrath.cs.utah.edu> Message-ID: <1038965980.1551.58.camel@linus.celticrunes.com> I had the same issue. I was using a prexisting XPM file. And was unable leverage the GIF mask support. So I created a mask from the pixmap so only the "unit" is displayed by masking off the background. ;;==================================================== ;; Create a mono mask by iterating through all pixels ;; of a pixmap. ;; Black (the alpha color) is white in the mask. ;; All other colors map to black. ;;==================================================== (define (pixmap->bitmap pixmap) (let* ((white (make-object color% "white")) (black (make-object color% "black")) (cols (send pixmap get-width)) (rows (send pixmap get-height)) (pixmap-dc (make-object bitmap-dc%)) (bitmap (make-object bitmap% cols rows #t)) (bitmap-dc (make-object bitmap-dc%)) (pix-color (make-object color% 0 0 0))) (send bitmap-dc set-bitmap bitmap) (send pixmap-dc set-bitmap pixmap) (do ((r 0 (add1 r))) ((= r rows) (void)) (do ((c 0 (add1 c))) ((= c cols) (void)) (begin (send pixmap-dc get-pixel c r pix-color) (if (color-eq? pix-color black) (send bitmap-dc set-pixel c r white) (send bitmap-dc set-pixel c r black))))) (send bitmap-dc set-bitmap #f) (send pixmap-dc set-bitmap #f) bitmap)) then .... ;; save the mask for later (send tile set-loaded-mask (pixmap->bitmap tile)) later.... ;; draw the unit masking the background away. (send dc draw-bitmap unit-pixmap x y 'solid black (send unit-pixmap get-loaded-mask)) Any enhancements to the drawing API would be great. For example. 1. a more efficient pixmap to monochrome call. 2. mask support for XPMs. But so far I can do everything I need to do with what this is there. On Tue, 2002-12-03 at 18:26, Matthew Flatt wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > At Thu, 28 Nov 2002 17:45:12 -0500, "Ghis Lafortune" wrote: > > I'm a student of Sherbrook's University and I'm programming a chess game. I've > > encounter a problem with the pieces. I've put a transparent background but > > Drscheme show it white. > > I'm using a viewport and all my pics are in gif format. > > How do I say to Drscheme to know that the "white" background is transparent? > > Short answer: > > The viewport graphics library doesn't currently draw bitmaps with > transparency. I've fixed that for the next release. > > > Slightly longer answer: > > By using the underlying MrEd toolbox, It's almost possible to draw GIFs > with transparent backgrounds. There is a bug, however, in the v202 > distribution. > > (Also, the `viewport-dc' and `viewport-buffer-dc' functions, which > provide a bridge to the underlying toolbox, seem to be undocumented. > I've fixed that for the next release, too.) > > > Long answer: > > In version 202, you can use the type 'gif/mask (or 'unknown/mask) when > loading a bitmap from a file. If the file contains a GIF with a > transparent index, the resulting bitmap will contain a mask bitmap, > which you can access through the `get-loaded-mask' method. Finally, use > the mask bitmap as the last argument to dc<%>'s `draw-bitmap' when > drawing the loaded bitmap. (In future versions, maybe the mask bitmap > stored with the main bitmap will be used automatically.) > > At least, that's the theory. But the `get-loaded-mask' method was > missing in the v202 distribution. You can correct the bug by editing > plt/collects/mred/private/kernel.ss > Find the definition of bitmap%, and add `get-loaded-mask' to its list > of methods. > > > Matthew -- Ray Racine From mflatt at cs.utah.edu Tue Dec 3 20:48:10 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] fix for (sin 12345678901234567890123) In-Reply-To: <004301c29ab0$f48b80e0$0a00a8c0@femto.appsolutions.com> References: <004301c29ab0$f48b80e0$0a00a8c0@femto.appsolutions.com> Message-ID: <200212040148.gB41mAT03053@wrath.cs.utah.edu> At Tue, 3 Dec 2002 04:47:12 -0500, "Anton van Straaten" wrote: > With Microsoft's C compiler, the problem seems to be caused by use of the > /O2 compiler option. The c.l.s. thread and my latest message there gives > more detail. Thanks for tracking this down. I've disabled MSVC optimization around uses of sin(), cos(), and tan(), which are the only functions I find to break. (Someone let me know if I missed one.) Yuck. Matthew From jsmall at atlantech.net Tue Dec 3 21:41:26 2002 From: jsmall at atlantech.net (John W. Small) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] FCOM (Functional Closure Object Model) and Evector now available for download Message-ID: <008a01c29b3e$a4e872d0$51eab7d1@rogareom43smvz> http://www.rogare.com/index.php?inc=downloads/scheme/scheme FCOM (Functional Closure Object Model) is a lightweight object model for Scheme R5RS and includes support for: multiple inheritance, interface tagging, and meta-programming capabilities EVector (Elastic Vector) is a generic container for Scheme R5RS - requires FCOM. Scheme Today (PDF E-book in progress with intended audience being imperative programmers without prior functional programming experience). All downloads are freeware. Thanks! John john@rogare.com From dansilva at lynx.dac.neu.edu Tue Dec 3 23:43:15 2002 From: dansilva at lynx.dac.neu.edu (Daniel Silva) Date: Thu Mar 26 00:51:38 2009 Subject: [plt-scheme] CGI using MzScheme on Windows In-Reply-To: <20021203170206.74407.qmail@web41205.mail.yahoo.com> Message-ID: Try redirecting stderr to stdout, that way you can see what the problem is. ----------------------------------- Daniel Silva dsilva@ccs.neu.edu > -----Original Message----- > From: plt-scheme-admin@qua.cs.brown.edu [mailto:plt-scheme- > admin@qua.cs.brown.edu] On Behalf Of Noel Welsh > Sent: Tuesday, December 03, 2002 12:02 PM > To: Ehud Lamm; 'plt-scheme@list.cs.brown.edu' > Subject: Re: [plt-scheme] CGI using MzScheme on Windows > > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I've tried TinyWeb and Apache and I can't get it to > work either. It appears that whatever MzScheme is > writing to isn't the port the webserver is reading > from. > > I'm using W2K. > > My tests are: > [hello.bat] > > ; @echo off > ; "C:\Program Files\PLT\mzscheme.exe" -r %0 %* > ; goto :end > (require (lib "cgi.ss" "net")) > > (output-http-headers) > > (display > "Hello

Hello

> ") > > ; :end > > [hello.scm] > > #! "C:\Program Files\PLT\mzscheme.exe" -mv > (require (lib "cgi.ss" "net")) > > (output-http-headers) > > (display > "Hello

Hello

> ") > > > The log file reads: > > %% [Tue Dec 03 16:58:39 2002] GET /cgi-bin/hello.bat > HTTP/1.1 > %% 500 C:/Program Files/Apache > Group/Apache2/cgi-bin/hello.bat > %request > Host: aha.lshift.net > User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; > en-US; rv:1.2) Gecko/20021126 > Accept: > text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plai n; > q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0. 1 > Accept-Language: en-us, en;q=0.50 > Accept-Encoding: gzip, deflate, compress;q=0.9 > Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 > Keep-Alive: 300 > Connection: keep-alive > Cookie: Bugzilla_login=noel@lshift.net; > Bugzilla_logincookie=765 > %response > %% [Tue Dec 03 16:59:30 2002] GET /cgi-bin/hello.scm > HTTP/1.1 > %% 500 C:/Program Files/Apache > Group/Apache2/cgi-bin/hello.scm > %request > Host: aha.lshift.net > User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; > en-US; rv:1.2) Gecko/20021126 > Accept: > text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plai n; > q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0. 1 > Accept-Language: en-us, en;q=0.50 > Accept-Encoding: gzip, deflate, compress;q=0.9 > Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 > Keep-Alive: 300 > Connection: keep-alive > Cookie: Bugzilla_login=noel@lshift.net; > Bugzilla_logincookie=765 > %response > > > Note the response is always empty. Works like a charm > on Linux! > > Noel > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com From sk at cs.brown.edu Wed Dec 4 00:41:49 2002 From: sk at cs.brown.edu (Shriram Krishnamurthi) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] banners Message-ID: <15853.38301.913410.29640@cs.brown.edu> The folks at UNAM (nat'l univ of Mexico) have made some really cool banners for the upcoming PLT symposium there (Matthias, Matthew, Robby and I will all be speaking). Check out http://larval.fciencias.unam.mx/week/3/banners.html Of course, if anyone on the list is going to be in Mexico at that time, please stop in and say hello! Thanks for all the effort, Francisco! Shriram From dougo at ccs.neu.edu Wed Dec 4 03:30:31 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <20021203174432.GA454@trillian.ekman.cx> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> Message-ID: <15853.48423.210066.926712@vega.ccs.neu.edu> Pat Ekman writes: > Use (send parent begini-container-sequence) before and (send parent > end-container-sequence) after you make changes to its children. This > will keep it from recalculating its geometry until you're finished. I do use those, and that doesn't prevent the display from updating if the display thread gets to run in between the begin-container-sequence and end-container-sequence: (require (lib "class.ss")) (require (lib "mred.ss" "mred")) (define frame (parameterize ((current-eventspace (make-eventspace))) (make-object frame% "Test"))) (define m1 (make-object message% "1" frame)) (define m2 (make-object message% "2" frame)) (define m3 (make-object message% "3" frame)) (send frame show #t) (define m4 #f) (define (test) (send frame begin-container-sequence) (set! m4 (make-object message% "4" frame)) (sleep 2) (send frame delete-child m4) (send frame change-children (lambda (children) (list m1 m2 m4))) (send frame end-container-sequence)) Each time test is run, the 4 shows up at the top for 2 seconds. I suppose I could wrap the whole sequence in a semaphore, but this is starting to be way too much work... --dougo@ccs.neu.edu From lisovsky at acm.org Wed Dec 4 07:37:58 2002 From: lisovsky at acm.org (Kirill Lisovsky) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MZC can't resolve "self" ? In-Reply-To: <008a01c29b3e$a4e872d0$51eab7d1@rogareom43smvz> Message-ID: Hello! I've encountered a problem with 202.5: An attempt to compile a standalone PLT executable which requires _any_ lib fails. Example: For test.ss: #cs(module test mzscheme (require (lib "list.ss")) (display "ok")) mzc --exe test test.ss fails with the error message: resolve-module-path-index: can't resolve "self" with just a relative directory It works fine on an old 200alpha15, however. Any hints? Best regards, Kirill. From robby at cs.uchicago.edu Wed Dec 4 08:03:04 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <15853.48423.210066.926712@vega.ccs.neu.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> Message-ID: <20021204130304.GWCY819.mail1-0.chcgil.ameritech.net@localhost> You could queue a callback to the original eventspace (probably a good idea anyways if you have more than one thread doing this updating): (define evtspc (make-eventspace)) (define frame (parameterize ((current-eventspace evtspc)) (make-object frame% "Test"))) (define m1 (make-object message% "1" frame)) (define m2 (make-object message% "2" frame)) (define m3 (make-object message% "3" frame)) (send frame show #t) (define m4 #f) (define (test) (parameterize ([current-eventspace evtspc]) (queue-callback (lambda () (send frame begin-container-sequence) (set! m4 (make-object message% "4" frame)) (sleep 2) (send frame delete-child m4) (send frame change-children (lambda (children) (list m1 m2 m4))) (send frame end-container-sequence))))) Robby From dougo at ccs.neu.edu Wed Dec 4 10:06:14 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <20021204130304.GWCY819.mail1-0.chcgil.ameritech.net@localhost> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> <20021204130304.GWCY819.mail1-0.chcgil.ameritech.net@localhost> Message-ID: <15854.6630.47035.547348@vega.ccs.neu.edu> Robert Bruce Findler writes: > (define evtspc (make-eventspace)) > > (define frame > (parameterize ((current-eventspace evtspc)) > (make-object frame% "Test"))) > > (define m1 (make-object message% "1" frame)) > (define m2 (make-object message% "2" frame)) > (define m3 (make-object message% "3" frame)) > (send frame show #t) > > (define m4 #f) > (define (test) > (parameterize ([current-eventspace evtspc]) > (queue-callback > (lambda () > (send frame begin-container-sequence) > (set! m4 (make-object message% "4" frame)) > (sleep 2) > (send frame delete-child m4) > (send frame change-children > (lambda (children) (list m1 m2 m4))) > (send frame end-container-sequence))))) In X, this program ends up blanking out the "1" for 2 seconds every time test is called. But not in Windows, hmm.... --dougo@ccs.neu.edu From dougo at ccs.neu.edu Wed Dec 4 10:43:45 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> Message-ID: <15854.8881.795326.896414@vega.ccs.neu.edu> I notice that get-text-extent is on dc<%>, not font%. Is this guaranteed to return the same extent for a given string and font on a bitmap-dc% and the dc of a canvas? More generally, will drawing to a bitmap and copying to a canvas always look the same as drawing directly to the canvas? Also, why does get-text-extent on a bitmap-dc% complain if the bitmap is #f? I have a chicken-and-egg problem-- I want to draw some text on a bitmap, but I don't know how big to make the bitmap, but I can't call get-text-extent until I make a bitmap. It works if I make a 1x1 bitmap and then replace it with the real one, but that seems like a hack... --dougo@ccs.neu.edu From mflatt at cs.utah.edu Wed Dec 4 10:49:11 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:39 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> In-Reply-To: <15854.8881.795326.896414@vega.ccs.neu.edu> References: <15854.8881.795326.896414@vega.ccs.neu.edu> Message-ID: <200212041549.gB4FnBT08268@wrath.cs.utah.edu> At Wed, 4 Dec 2002 10:43:45 -0500 (EST), Doug Orleans wrote: > I notice that get-text-extent is on dc<%>, not font%. Is this > guaranteed to return the same extent for a given string and font on > a bitmap-dc% and the dc of a canvas? More generally, will drawing to > a bitmap and copying to a canvas always look the same as drawing > directly to the canvas? Yes. I'll make that guarantee explicit in the docs. (I certainly rely on it often.) > Also, why does get-text-extent on a bitmap-dc% complain if the bitmap > is #f? I have a chicken-and-egg problem-- I want to draw some text > on a bitmap, but I don't know how big to make the bitmap, but I can't > call get-text-extent until I make a bitmap. It works if I make a 1x1 > bitmap and then replace it with the real one, but that seems like a > hack... That's what I do, too. I suppose bitmap-dc% could do that for us internally. Matthew From robby at cs.uchicago.edu Wed Dec 4 11:29:30 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> In-Reply-To: <200212041549.gB4FnBT08268@wrath.cs.utah.edu> References: <15854.8881.795326.896414@vega.ccs.neu.edu> <200212041549.gB4FnBT08268@wrath.cs.utah.edu> Message-ID: <200212041629.gB4GTUr16656@laime.cs.uchicago.edu> At Wed, 4 Dec 2002 08:49:11 -0700 (MST), Matthew Flatt wrote: > That's what I do, too. > > I suppose bitmap-dc% could do that for us internally. Why does the bitmap-dc% need an actual bitmap to font sizing? Robby From mflatt at cs.utah.edu Wed Dec 4 11:43:27 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> In-Reply-To: <200212041629.gB4GTUr16656@laime.cs.uchicago.edu> References: <15854.8881.795326.896414@vega.ccs.neu.edu> <200212041549.gB4FnBT08268@wrath.cs.utah.edu> <200212041629.gB4GTUr16656@laime.cs.uchicago.edu> Message-ID: <200212041643.gB4GhQT16914@wrath.cs.utah.edu> At Wed, 4 Dec 2002 10:29:30 -0600 (CST), Robert Bruce Findler wrote: > Why does the bitmap-dc% need an actual bitmap to font sizing? It's possible that none of the primitive toolboxes require a bitmap (Mac OS and X don't), but I'm not sure offhand (about Windows). Matthew From mflatt at cs.utah.edu Wed Dec 4 21:20:09 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <15853.48423.210066.926712@vega.ccs.neu.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> Message-ID: <200212050220.gB52K8T15737@wrath.cs.utah.edu> I added an 'inactive style flag to each subwindow<%> class. The change is exp-tagged in CVS. When a subwindow<%> is created with 'inactive, it's initially hidden, and it doesn't affect the container's layout. Matthew From mflatt at cs.utah.edu Wed Dec 4 21:29:59 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <200212050220.gB52K8T15737@wrath.cs.utah.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> <200212050220.gB52K8T15737@wrath.cs.utah.edu> Message-ID: <200212050229.gB52TxT16706@wrath.cs.utah.edu> At Wed, 4 Dec 2002 19:20:09 -0700 (MST), Matthew Flatt wrote: > I added an 'inactive style flag to each subwindow<%> class. The change > is exp-tagged in CVS. The more I look at it, the less I like the word "inactive". It was consistent with certain terminology in the manual, but probably I should fix the manual's terminology. I'm going to change it... Matthew From dskippy at ccs.neu.edu Wed Dec 4 21:34:24 2002 From: dskippy at ccs.neu.edu (Mike T. Machenry) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] scroll-to Message-ID: <20021205023424.GA21159@denali.ccs.neu.edu> Hello, I am calling set-caret-owner on deeply nested texts in a an editor that may or may not be visible in the canvas. I have been trying to use a function that I wrote to scroll the canvas to the proper spot. For some reason it has not effect on the scroll position of the canvas. My expected result is that the canvas will scroll to show the entirety the snip es3 (or as much as it can starting from the top) but the scroll bar sits still and does nothing. This is my code: (define f (instantiate frame% () (width 200) (height 200) (label "F"))) (define pb (instantiate pasteboard% ())) (define ec (instantiate editor-canvas% () (editor pb) (parent f))) (define (make-snip) (instantiate editor-snip% () (min-width 100) (min-height 90) (editor (instantiate text% ())))) (define es1 (make-snip)) (define es2 (make-snip)) (define es3 (make-snip)) (send pb insert es1 0 0) (send pb insert es2 0 100) (send pb insert es3 0 200) (send f show #t) ;; scroll-to ((is-a?/c snip%) . -> . void?) ;; scroll a snips parent to show it in the visible area (define (scroll-to snip) (let* ([editor (send (send snip get-admin) get-editor)] [left (box 0)] [right (box 0)] [top (box 0)] [bottom (box 0)]) (send editor get-snip-location snip left top #f) (send editor get-snip-location snip right bottom #t) (send editor scroll-to snip 0 0 (- (unbox right) (unbox left)) (- (unbox bottom) (unbox top)) #t 'start))) -mike From mflatt at cs.utah.edu Wed Dec 4 21:51:40 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <200212050229.gB52TxT16706@wrath.cs.utah.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> <200212050220.gB52K8T15737@wrath.cs.utah.edu> <200212050229.gB52TxT16706@wrath.cs.utah.edu> Message-ID: <200212050251.gB52peT19043@wrath.cs.utah.edu> At Wed, 4 Dec 2002 19:29:59 -0700 (MST), Matthew Flatt wrote: > At Wed, 4 Dec 2002 19:20:09 -0700 (MST), Matthew Flatt wrote: > > I added an 'inactive style flag to each subwindow<%> class. The change > > is exp-tagged in CVS. > > The more I look at it, the less I like the word "inactive". Changed to 'deleted. Matthew From mflatt at cs.utah.edu Wed Dec 4 22:28:38 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:40 2009 Subject: [plt-scheme] scroll-to In-Reply-To: <20021205023424.GA21159@denali.ccs.neu.edu> References: <20021205023424.GA21159@denali.ccs.neu.edu> Message-ID: <200212050328.gB53ScT22219@wrath.cs.utah.edu> At Wed, 4 Dec 2002 21:34:24 -0500, "Mike T. Machenry" wrote: > I have been trying to > use a function that I wrote to scroll the canvas to the proper spot. > For some reason it has not effect on the scroll position of the canvas. The pasteboard% method was broken. I've exp-tagged a repair in CVS. Matthew From dskippy at ccs.neu.edu Wed Dec 4 22:50:00 2002 From: dskippy at ccs.neu.edu (Mike T. Machenry) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] scroll-to In-Reply-To: <200212050328.gB53ScT22219@wrath.cs.utah.edu> References: <20021205023424.GA21159@denali.ccs.neu.edu> <200212050328.gB53ScT22219@wrath.cs.utah.edu> Message-ID: <20021205035000.GA25637@denali.ccs.neu.edu> Sweet, thanks. I didn't even realize it was a bug. By the way I had the same luck when I called the method of the admin and not the pasteboard. -mike On Wed, Dec 04, 2002 at 08:28:38PM -0700, Matthew Flatt wrote: > At Wed, 4 Dec 2002 21:34:24 -0500, "Mike T. Machenry" wrote: > > I have been trying to > > use a function that I wrote to scroll the canvas to the proper spot. > > For some reason it has not effect on the scroll position of the canvas. > > The pasteboard% method was broken. I've exp-tagged a repair in CVS. > > Matthew From dskippy at ccs.neu.edu Wed Dec 4 23:23:12 2002 From: dskippy at ccs.neu.edu (Mike T. Machenry) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] scroll-to In-Reply-To: <200212050328.gB53ScT22219@wrath.cs.utah.edu> References: <20021205023424.GA21159@denali.ccs.neu.edu> <200212050328.gB53ScT22219@wrath.cs.utah.edu> Message-ID: <20021205042312.GB25637@denali.ccs.neu.edu> I just updated. My code still does not do what I expect. Am I expecting something incorrectly? I expected the third snip to be visible and for the first to have been scrolled up above the visible canvas. -mike On Wed, Dec 04, 2002 at 08:28:38PM -0700, Matthew Flatt wrote: > At Wed, 4 Dec 2002 21:34:24 -0500, "Mike T. Machenry" wrote: > > I have been trying to > > use a function that I wrote to scroll the canvas to the proper spot. > > For some reason it has not effect on the scroll position of the canvas. > > The pasteboard% method was broken. I've exp-tagged a repair in CVS. > > Matthew From rohan.nicholls at informaat.nl Wed Dec 4 06:49:08 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) Message-ID: <3DEDEBB4.2050708@informaat.nl> NOTE: if pressed for time do not bother with this posting.:) I have run across references and articles in the last year since discovering lisp and scheme about lisp/scheme as a base for an OS. The Lisp machines, are the obvious choice. I have heard great things about them, but most pilot projects to develop an os with a scheme/lisp basis seem to fall apart (TUNES is still mostly thinking from what I can see). It seems that creating an OS for present day pc's is a monumental task, but would it make sense for mobile phones (been reading articles on the battles between symbian and windows in the mobile market) to have scheme based os's, as scheme is amazingly flexible once you have the basis setup, or would it be a matter of there being more assembler code than anything else. I just thought it is one area where the market does not have to be dominated by one language, and the development advantages of scheme might find a receptive audience. Just thoughts, but would love enlightenment to my ignorance.:) rohan From mflatt at cs.utah.edu Thu Dec 5 07:59:09 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] scroll-to In-Reply-To: <20021205042312.GB25637@denali.ccs.neu.edu> References: <20021205023424.GA21159@denali.ccs.neu.edu> <200212050328.gB53ScT22219@wrath.cs.utah.edu> <20021205042312.GB25637@denali.ccs.neu.edu> Message-ID: <200212051259.gB5Cx9T04122@wrath.cs.utah.edu> At Wed, 4 Dec 2002 23:23:12 -0500, "Mike T. Machenry" wrote: > I just updated. My code still does not do what I expect. Am I expecting > something incorrectly? I expected the third snip to be visible and for > the first to have been scrolled up above the visible canvas. If I add `(scroll-to es3)' to the end of your code, that's what I see. I'm not sure what could be wrong otherwise. Here are the CVS versions of the files that I changed; maybe checking your versions with `cvs status' is a place to start: plt/src/mred/wxme/wx_medpb.h 1.16 plt/src/mred/wxme/wx_mpbrd.cxx 1.57 Matthew From dougo at ccs.neu.edu Thu Dec 5 08:18:45 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] MrEd: creating an inactive child In-Reply-To: <200212050251.gB52peT19043@wrath.cs.utah.edu> References: <15852.59215.42409.828917@vega.ccs.neu.edu> <20021203174432.GA454@trillian.ekman.cx> <15853.48423.210066.926712@vega.ccs.neu.edu> <200212050220.gB52K8T15737@wrath.cs.utah.edu> <200212050229.gB52TxT16706@wrath.cs.utah.edu> <200212050251.gB52peT19043@wrath.cs.utah.edu> Message-ID: <15855.21045.768769.316649@vega.ccs.neu.edu> Matthew Flatt writes: > At Wed, 4 Dec 2002 19:29:59 -0700 (MST), Matthew Flatt wrote: > > At Wed, 4 Dec 2002 19:20:09 -0700 (MST), Matthew Flatt wrote: > > > I added an 'inactive style flag to each subwindow<%> class. The change > > > is exp-tagged in CVS. Thanks! This does the trick. > > The more I look at it, the less I like the word "inactive". > > Changed to 'deleted. Well, I think I prefer "inactive"... I know the window is actually added and deleted, but conceptually it's more like it's never added to begin with. I can't really think of a better word at the moment. (away? offstage? behind-the-curtain?) By the way, it might be handy if there were a way to specify at creation time where the child should be added to its parent's children list, instead of always adding to the end of the list. It would be extra-handy if I could specify whether it should replace or insert. Maybe something like: (instantiate panel% (foo '(replace)) (index 3)) which would delete foo's 3rd child and replace it with the new panel% (without updating the display in between). Or, to just insert the new panel% at the beginning of foo's children list: (instantiate panel% (foo) (index 0)) --dougo@ccs.neu.edu From sk at cs.brown.edu Thu Dec 5 10:50:25 2002 From: sk at cs.brown.edu (Shriram Krishnamurthi) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <3DEDEBB4.2050708@informaat.nl> References: <3DEDEBB4.2050708@informaat.nl> Message-ID: <15855.30145.103924.586020@cs.brown.edu> I think TUNESs problem is pretty obvious: it's a lot easier to create documents than code. I have a feeling some people thought/think that if a bazaar can create Linux, it can create TUNES. Linux solved a problem that urgently needed solving, so it had the benefit of being the first mover. (Or second, if you count Minix, and depending on whether you think the first or second mover wins. <-;) I see no similar justification for TUNES. It could be that you've hit on a good platform badly in need of support. But it seems pretty hard to beat Symbian -- it looks like the (now shut) window of opportunity was for building the prototype that Symbian would adopt as their starting point. Besides, Be tried to position themselves (and the BeOS infrastructure) there and lost, despite having all technology in place, so the problem must have some hidden difficulties. Wow -- be.com is itself now up for sale. Shriram From noelwelsh at yahoo.com Thu Dec 5 11:04:45 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:51:41 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <3DEDEBB4.2050708@informaat.nl> Message-ID: <20021205160445.9911.qmail@web41206.mail.yahoo.com> It would seem that the commercial mobile phone OS market is sewn up. Symbian is Windows with a functional but somewhat limited OS, and Windows is Apple with a flashy but crashy system (I'm talking about the pre-OS X days). I think there is still room for a Linux but I don't know how hackable mobile phones are. I wouldn't be surprised if it is impossible to overwrite the pre-installed OS. Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From jenkinss at etsu.edu Thu Dec 5 11:08:56 2002 From: jenkinss at etsu.edu (Steven Jenkins) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) References: <3DEDEBB4.2050708@informaat.nl> <15855.30145.103924.586020@cs.brown.edu> Message-ID: <059f01c29c78$9cddb7e0$381f8d97@ETSUCS.ETSU.EDU> That's an interesting example. I've often thought that the 'appliance' markets (not just phones, but firewalls, web servers, file/print servers, etc) would generate a demand for this type of solution. But as I look at a lot of the 'modular, extensible' OS projects of the 90s, many seem to have wound down without any adoption or product per se. For example, is Flux still being actively worked on? (Matthew?) Steven ----- Original Message ----- From: "Shriram Krishnamurthi" To: "plt scheme" Sent: Thursday, December 05, 2002 10:50 AM Subject: [plt-scheme] Question about scheme os for information appliances (phones) > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I think TUNESs problem is pretty obvious: it's a lot easier to create > documents than code. I have a feeling some people thought/think that > if a bazaar can create Linux, it can create TUNES. Linux solved a > problem that urgently needed solving, so it had the benefit of being > the first mover. (Or second, if you count Minix, and depending on > whether you think the first or second mover wins. <-;) I see no > similar justification for TUNES. > > It could be that you've hit on a good platform badly in need of > support. But it seems pretty hard to beat Symbian -- it looks like > the (now shut) window of opportunity was for building the prototype > that Symbian would adopt as their starting point. Besides, Be tried > to position themselves (and the BeOS infrastructure) there and lost, > despite having all technology in place, so the problem must have some > hidden difficulties. > > Wow -- be.com is itself now up for sale. > > Shriram > From dougo at ccs.neu.edu Thu Dec 5 12:11:37 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] MrEd: container-size with border style Message-ID: <15855.35017.837162.554258@vega.ccs.neu.edu> If I make a panel% with a 'border style, and I'm overriding the container-size method, should it include the size of the border as well? That appears to be the case, because place-children is being called with a smaller size than container-size is returning. How do I figure out what the size of the border is? (The border method seems to be independent of the 'border style.) How can I even tell if a panel% has a border (other than intercepting the style instantiation argument)? --dougo@ccs.neu.edu From mflatt at cs.utah.edu Thu Dec 5 12:17:21 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] MrEd: container-size with border style In-Reply-To: <15855.35017.837162.554258@vega.ccs.neu.edu> References: <15855.35017.837162.554258@vega.ccs.neu.edu> Message-ID: <200212051717.gB5HHLT06326@wrath.cs.utah.edu> At Thu, 5 Dec 2002 12:11:37 -0500 (EST), Doug Orleans wrote: > How do I figure out what the size of the border is? (The border > method seems to be independent of the 'border style.) How can I even > tell if a panel% has a border (other than intercepting the style > instantiation argument)? The `get-client-size' method provides the size of the panel's interior (i.e., inside the border), while `get-size' provides the size of the exterior. Matthew From dougo at ccs.neu.edu Thu Dec 5 13:26:33 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] MrEd: container-size with border style In-Reply-To: <200212051717.gB5HHLT06326@wrath.cs.utah.edu> References: <15855.35017.837162.554258@vega.ccs.neu.edu> <200212051717.gB5HHLT06326@wrath.cs.utah.edu> Message-ID: <15855.39513.398974.830397@vega.ccs.neu.edu> Matthew Flatt writes: > At Thu, 5 Dec 2002 12:11:37 -0500 (EST), Doug Orleans wrote: > > How do I figure out what the size of the border is? (The border > > method seems to be independent of the 'border style.) How can I even > > tell if a panel% has a border (other than intercepting the style > > instantiation argument)? > > The `get-client-size' method provides the size of the panel's interior > (i.e., inside the border), while `get-size' provides the size of the > exterior. Well, sure, but isn't `container-size' called before the size is actually set? Erm, actually, isn't it called by `get-size'? I don't feel right calling `get-size' from inside `container-size'... --dougo@ccs.neu.edu From mflatt at cs.utah.edu Thu Dec 5 14:11:07 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] MrEd: container-size with border style In-Reply-To: <15855.39513.398974.830397@vega.ccs.neu.edu> References: <15855.35017.837162.554258@vega.ccs.neu.edu> <200212051717.gB5HHLT06326@wrath.cs.utah.edu> <15855.39513.398974.830397@vega.ccs.neu.edu> Message-ID: <200212051911.gB5JB7T28365@wrath.cs.utah.edu> At Thu, 5 Dec 2002 13:26:33 -0500 (EST), Doug Orleans wrote: > Matthew Flatt writes: > > At Thu, 5 Dec 2002 12:11:37 -0500 (EST), Doug Orleans wrote: > > > How do I figure out what the size of the border is? (The border > > > method seems to be independent of the 'border style.) How can I even > > > tell if a panel% has a border (other than intercepting the style > > > instantiation argument)? > > > > The `get-client-size' method provides the size of the panel's interior > > (i.e., inside the border), while `get-size' provides the size of the > > exterior. > > Well, sure, but isn't `container-size' called before the size is > actually set? A window always has some size, even if it's not yet the size a geometry manager wants. > Erm, actually, isn't it called by `get-size'? No. > I don't feel right calling `get-size' from inside `container-size'... I promise it's ok, and I'll improve the docs. Matthew From dougo at ccs.neu.edu Thu Dec 5 15:10:21 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] MrEd: container-size with border style In-Reply-To: <200212051911.gB5JB7T28365@wrath.cs.utah.edu> References: <15855.35017.837162.554258@vega.ccs.neu.edu> <200212051717.gB5HHLT06326@wrath.cs.utah.edu> <15855.39513.398974.830397@vega.ccs.neu.edu> <200212051911.gB5JB7T28365@wrath.cs.utah.edu> Message-ID: <15855.45741.939327.621492@vega.ccs.neu.edu> Matthew Flatt writes: > A window always has some size, even if it's not yet the size a geometry > manager wants. Oh, right, I don't care what size it is, only the differential between `get-size' and `get-client-size'. And that'll be constant no matter what the size. Got it, thanks! --dougo@ccs.neu.edu From jblazi at gmx.de Fri Dec 6 07:06:04 2002 From: jblazi at gmx.de (jblazi) Date: Thu Mar 26 00:51:42 2009 Subject: [plt-scheme] Further linking problems Message-ID: <200212061306.04853.jblazi@gmx.de> After I could not work with Cygwin, I switched to Linux. Here is the Makefile, I use: CORE_PATH = /home/bz/downloads/core plttest.so : plttest.o mzc ++ldf -L$(CORE_PATH)/lib ++ldf -L$(CORE_PATH)/gmp/lib ++ldf -lstdc++ ++ldf -lcore ++ldf -lgmp ++ldf -lm --ld plttest.so plttest.o plttest.o : plttest.cpp geotypes.h mzc ++ccf -I$(CORE_PATH)/inc ++ccf -I$(CORE_PATH)/gmp/include --cc plttest.cpp I get the following error message: bz@linux:~/plt-programme> make mzc ++ldf -L/home/bz/downloads/core/lib ++ldf -L/home/bz/downloads/core/gmp/lib ++ldf -lstdc++ ++ldf -lcore ++ldf -lgmp ++ldf -lm --ld plttest.so plttest.o MzScheme compiler (mzc) version 202, Copyright (c) 1996-2002 PLT "plttest.o": link-extension: /usr/bin/ld: plttest.so: undefined versioned symbol name _ZNSdD2Ev@@GLIBCPP_3.2 /usr/bin/ld: failed to set dynamic section sizes: Bad value make: *** [plttest.so] Error 1 bz@linux:~/plt-programme> Can anybody give me a hint? CORE is a library for multi precision arithmetics which I have to use. TIA, Janos Blazi -- Janos Blazi From mflatt at cs.utah.edu Fri Dec 6 07:59:12 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <059f01c29c78$9cddb7e0$381f8d97@ETSUCS.ETSU.EDU> References: <3DEDEBB4.2050708@informaat.nl> <15855.30145.103924.586020@cs.brown.edu> <059f01c29c78$9cddb7e0$381f8d97@ETSUCS.ETSU.EDU> Message-ID: <200212061259.gB6CxCT23226@wrath.cs.utah.edu> At Thu, 5 Dec 2002 11:08:56 -0500, "Steven Jenkins" wrote: > For example, is Flux still being actively worked on? (Matthew?) The OSKit is still actively maintained and used by OS researchers. I haven't built the "MzScheme OS" on top of the OSKit in a long while. There were some problems (the parts of the OSKit I tried to use weren't stable) and there was no demand. Matthew From mflatt at cs.utah.edu Fri Dec 6 08:19:39 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> In-Reply-To: <200212041643.gB4GhQT16914@wrath.cs.utah.edu> References: <15854.8881.795326.896414@vega.ccs.neu.edu> <200212041549.gB4FnBT08268@wrath.cs.utah.edu> <200212041629.gB4GTUr16656@laime.cs.uchicago.edu> <200212041643.gB4GhQT16914@wrath.cs.utah.edu> Message-ID: <200212061319.gB6DJcT24731@wrath.cs.utah.edu> At Wed, 4 Dec 2002 09:43:27 -0700 (MST), Matthew Flatt wrote: > At Wed, 4 Dec 2002 10:29:30 -0600 (CST), Robert Bruce Findler wrote: > > Why does the bitmap-dc% need an actual bitmap to font sizing? > > It's possible that none of the primitive toolboxes require a bitmap > (Mac OS and X don't), but I'm not sure offhand (about Windows). Experiments suggest that a Windows DC really does need a bitmap to measure text. Matthew From mflatt at cs.utah.edu Fri Dec 6 08:33:50 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] MrEd: get-text-extent in dc<%> In-Reply-To: <200212061319.gB6DJcT24731@wrath.cs.utah.edu> References: <15854.8881.795326.896414@vega.ccs.neu.edu> <200212041549.gB4FnBT08268@wrath.cs.utah.edu> <200212041629.gB4GTUr16656@laime.cs.uchicago.edu> <200212041643.gB4GhQT16914@wrath.cs.utah.edu> <200212061319.gB6DJcT24731@wrath.cs.utah.edu> Message-ID: <200212061333.gB6DXnT25917@wrath.cs.utah.edu> At Fri, 6 Dec 2002 06:19:39 -0700 (MST), Matthew Flatt wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > At Wed, 4 Dec 2002 09:43:27 -0700 (MST), Matthew Flatt wrote: > > At Wed, 4 Dec 2002 10:29:30 -0600 (CST), Robert Bruce Findler wrote: > > > Why does the bitmap-dc% need an actual bitmap to font sizing? > > > > It's possible that none of the primitive toolboxes require a bitmap > > (Mac OS and X don't), but I'm not sure offhand (about Windows). > > Experiments suggest that a Windows DC really does need a bitmap to > measure text. Er, ... A second experiment (without a problem from the first experiment) confirms that the opposite is true. So I'll lift the restriction that a dc<%> is `ok?' for `get-text-extent'. Matthew From dougo at ccs.neu.edu Fri Dec 6 13:30:54 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] MrEd: multiple displays Message-ID: <15856.60638.62821.864278@vega.ccs.neu.edu> Can MrEd create windows on multiple displays? (I'm thinking of X displays; I don't know if Windows & Mac OS have a similar concept.) --dougo@ccs.neu.edu From mflatt at cs.utah.edu Fri Dec 6 14:32:49 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <15856.60638.62821.864278@vega.ccs.neu.edu> References: <15856.60638.62821.864278@vega.ccs.neu.edu> Message-ID: <200212061932.gB6JWnT15094@wrath.cs.utah.edu> At Fri, 6 Dec 2002 13:30:54 -0500 (EST), Doug Orleans wrote: > Can MrEd create windows on multiple displays? Not on multiple X displays (though multiple X connections). Long, long ago, MrEd could work with multiple X connections, but we dropped that feature. Matthew From neil at neilvandyke.org Fri Dec 6 15:12:04 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:43 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <200212061932.gB6JWnT15094@wrath.cs.utah.edu> References: <15856.60638.62821.864278@vega.ccs.neu.edu> <200212061932.gB6JWnT15094@wrath.cs.utah.edu> Message-ID: <15857.1172.675555.454937@neilvandyke.org> Matthew Flatt writes at 12:32 06-Dec-2002 -0700: > Long, long ago, MrEd could work with multiple X connections, but we > dropped that feature. Good call, IMHO. :) The most popular use for multiple X servers per X client used be as an lazy-programmer (and insecure, bandwidth-expensive) way to write multiplayer LAN games for Unix workstations. Recent era, network multiplayer games have moved to more sensible client-server models. If your goal is to do "shared whiteboard" tutorials of MrEd apps like DrScheme, I'd try something like XMX ("http://www.cs.brown.edu/software/xmx/") or a multiple-display hack based on VNC or RDesktop. If you wanted to share non-GUI MzScheme app displays, you could use GNU Emacs. (At least one of the wearable computing people has done this for demoing what he sees on his head-up display.) -- http://www.neilvandyke.org/ From dougo at ccs.neu.edu Fri Dec 6 15:52:57 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:44 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <15857.1172.675555.454937@neilvandyke.org> References: <15856.60638.62821.864278@vega.ccs.neu.edu> <200212061932.gB6JWnT15094@wrath.cs.utah.edu> <15857.1172.675555.454937@neilvandyke.org> Message-ID: <15857.3625.483294.162559@vega.ccs.neu.edu> Neil W. Van Dyke writes: > If your goal is to do "shared whiteboard" tutorials of MrEd apps like > DrScheme, I'd try something like XMX > ("http://www.cs.brown.edu/software/xmx/") or a multiple-display hack > based on VNC or RDesktop. > > If you wanted to share non-GUI MzScheme app displays, you could use GNU > Emacs. (At least one of the wearable computing people has done this for > demoing what he sees on his head-up display.) Actually, it was the combination of VNC and XEmacs that made me want to show a window on multiple displays. I connect to my campus machine from home via VNC, and I had a MrEd process running inside XEmacs that was displaying to the VNC display (vega:1). But today I came into campus and logged into the console, connected to the XEmacs process (via gnuclient), and wanted to get the still-running MrEd process to display to the console (vega:0). Instead I had to run vncviewer locally to see it. I suppose that was essentially the "multiple-display hack" you were thinking of, but it seemed like overkill. I guess I'm naive about how X works-- don't you already have to give it a display argument when you make a top-level window? Why is it that hard to expose this argument to the MrEd top-level window classes? --dougo@ccs.neu.edu From mflatt at cs.utah.edu Fri Dec 6 16:19:27 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:44 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <15857.3625.483294.162559@vega.ccs.neu.edu> References: <15856.60638.62821.864278@vega.ccs.neu.edu> <200212061932.gB6JWnT15094@wrath.cs.utah.edu> <15857.1172.675555.454937@neilvandyke.org> <15857.3625.483294.162559@vega.ccs.neu.edu> Message-ID: <200212062119.gB6LJRT02657@wrath.cs.utah.edu> At Fri, 6 Dec 2002 15:52:57 -0500 (EST), Doug Orleans wrote: > I guess I'm naive about how X works-- don't you already have to give > it a display argument when you make a top-level window? Why is it > that hard to expose this argument to the MrEd top-level window classes? Bitmaps are a pain, and they're used a lot. (Colors are a problem, too.) When we supported multiple X displays, we had lots of code to move bitmaps around as needed. Even designating bitmaps as display-specific (and adding code to check compatibility) is painful. Matthew From neil at neilvandyke.org Fri Dec 6 16:31:35 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:44 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <15857.3625.483294.162559@vega.ccs.neu.edu> References: <15856.60638.62821.864278@vega.ccs.neu.edu> <200212061932.gB6JWnT15094@wrath.cs.utah.edu> <15857.1172.675555.454937@neilvandyke.org> <15857.3625.483294.162559@vega.ccs.neu.edu> Message-ID: <15857.5943.949908.790839@neilvandyke.org> Yep, X clients generally aren't designed to migrate between servers; this is no fault of MrEd. Side note: If you want to migrate a running X client, then putting the entire session in VNC or RDesktop or similar (as opposed to using XEmacs gnuclient) is probably the way to go for the next couple years. Currently, I try to just keep my workstations loosely-coupled, and use CVS to replicate data amongst them. I also sometimes put long-running processes in a screen(1) session on a server box, so that I can SSH in from arbitrary hosts to attach to the session and fiddle with it. -- http://www.neilvandyke.org/ From jsmall at atlantech.net Fri Dec 6 18:09:46 2002 From: jsmall at atlantech.net (John W. Small) Date: Thu Mar 26 00:51:45 2009 Subject: [plt-scheme] finder:get-file ... is there a finder:get-directory Message-ID: <01a501c29d7c$98e4c430$2beab7d1@rogareom43smvz> Hi, It there a convenient way is prompt the user for a subdirectory? Thanks in advance. John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021206/d1ff67e3/attachment.html From dougo at ccs.neu.edu Fri Dec 6 18:26:01 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:45 2009 Subject: [plt-scheme] MrEd: multiple displays In-Reply-To: <15857.5943.949908.790839@neilvandyke.org> References: <15856.60638.62821.864278@vega.ccs.neu.edu> <200212061932.gB6JWnT15094@wrath.cs.utah.edu> <15857.1172.675555.454937@neilvandyke.org> <15857.3625.483294.162559@vega.ccs.neu.edu> <15857.5943.949908.790839@neilvandyke.org> Message-ID: <15857.12809.316328.143952@vega.ccs.neu.edu> Neil W. Van Dyke writes: > Side note: If you want to migrate a running X client, then putting the > entire session in VNC or RDesktop or similar (as opposed to using XEmacs > gnuclient) is probably the way to go for the next couple years. Yeah, the only reason I use gnuserv/gnuclient is if I need to connect to XEmacs from somewhere with no VNC client and no Java-enabled browser (for the applet VNC client)-- I ssh to my campus machine and use gnuclient -nw. Also handy if I don't have the bandwidth for VNC. And, well, it's slightly more convenient to run gnuclient when I login on console than to run vncviewer and do M-x make-frame-on-display. (What happens after the next couple years?) --dougo@ccs.neu.edu From mflatt at cs.utah.edu Fri Dec 6 18:47:53 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:45 2009 Subject: [plt-scheme] finder:get-file ... is there a finder:get-directory In-Reply-To: <01a501c29d7c$98e4c430$2beab7d1@rogareom43smvz> References: <01a501c29d7c$98e4c430$2beab7d1@rogareom43smvz> Message-ID: <200212062347.gB6NlrT28582@wrath.cs.utah.edu> At Fri, 6 Dec 2002 18:09:46 -0500, "John W. Small" wrote: > It there a convenient way is prompt the user for a subdirectory? MrEd provides a `get-directory' function that is analogous to its `get-file'. I don't think the framework provides a `get-directory' wrapper, through, as it does for `get-file'. Matthew From pocm at mega.ist.utl.pt Sat Dec 7 05:51:43 2002 From: pocm at mega.ist.utl.pt (Paulo Jorge O. C. Matos) Date: Thu Mar 26 00:51:45 2009 Subject: [plt-scheme] Scheme Speech Extension Message-ID: <3DF1D2BF.907@mega.ist.utl.pt> Hi, Along time ago when the mailing list was created the first message was about Text To Speech and Speech recognition in Scheme. Is there anything like that nowadays for scheme202? Best regards, -- Paulo J. Matos : pocm(_at_)mega.ist.utl.pt Instituto Superior Tecnico - Lisbon Software & Computer Engineering - A.I. - > http://mega.ist.utl.pt/~pocm --- Yes, God had a deadline... So, He wrote it all in Lisp! From anton at appsolutions.com Sat Dec 7 16:57:26 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:45 2009 Subject: [plt-scheme] http authentication? Message-ID: <021a01c29e3b$a1592bf0$0a00a8c0@femto.appsolutions.com> The net collection doesn't seem to have any support for basic HTTP authentication, i.e. just plaintext username/password (rfc2617, I think). I didn't see anything likely on the Libraries and Extensions page, either. Are there any libraries for PLT Scheme that support this? All I want to do is a simple retrieval of a file via a URL with basic authentication. I realize there are many other ways to do this: shell out to wget, link in some C code, use another scripting language, etc. I'm trying to find out if there's an existing way to do it within standard DrScheme, though. Anton From yuricake at yahoo.com Sun Dec 8 03:48:49 2002 From: yuricake at yahoo.com (Yuri Niyazov) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] Question about callbacks Message-ID: <20021208084849.29950.qmail@web11302.mail.yahoo.com> Hello all, newbie here, please forgive. Having the following problem: figuring out how the windowing system works. Used the examples to do the following: (define frame (instantiate frame% ("Drawing Example") (width 300) (height 300))) (define canvas (instantiate canvas% (frame) (paint-callback mypaint) ) ) and in mypaint I do all sorts of device context stuff. So, I haven't been able to figure out how to install a "close" callback - that is, when someone hits alt-f4 on that screen in windows. Is this not possible, or am I missing something completely obvious? I haven't been able to figure out how exit:insert-on-callback works, but it doesn't seem to be what I need, because if I understand it correctly, it works when you exit out the application, not when you hit close on a frame. From iain.gray at ednet.co.uk Sun Dec 8 05:58:14 2002 From: iain.gray at ednet.co.uk (Iain Gray) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] multi-dimensional arrays Message-ID: I am attempting to set up a two dimensional array to represent a Hex game board (11 by 11 hexagons). My definitions are:- (define board (make-vector 11 (make-vector 11 'empty))) (define (board-set! row col piece) (vector-set! board row (vector-set! (vector-ref board row) col piece))) with corresponding interactions:- Welcome to DrScheme, version 202. Language: Textual (MzScheme, includes R5RS). > board #11(#0=#11(empty)) > (board-set! 5 5 'black) > board #11(#0=#11(empty empty empty empty empty black empty) #0# #0# #0# #0# # #0#) > My problem is getting a single piece ('black or 'white) written to the board, rather than multiple copies. I hope I have not missed something obvious! Regards, Iain Gray From markj at cloaked.freeserve.co.uk Sun Dec 8 07:44:12 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] http authentication? References: <021a01c29e3b$a1592bf0$0a00a8c0@femto.appsolutions.com> Message-ID: Anton van Straaten wrote: > Are there any libraries for PLT Scheme that support this? All I want to do > is a simple retrieval of a file via a URL with basic authentication. I suspect this is a good idea for a patch. Shouldn't be difficult to do basic auth. Do you have time, or shall I start work on it? (Is it valuable enough to anyone to pay for? ;-) ) From robby at cs.uchicago.edu Sun Dec 8 08:52:57 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] Question about callbacks In-Reply-To: <20021208084849.29950.qmail@web11302.mail.yahoo.com> References: <20021208084849.29950.qmail@web11302.mail.yahoo.com> Message-ID: <20021208135257.QJLI20054.mailhost.chi1.ameritech.net@localhost> The exit callback is for when all of your frames close, and it only works if you are using the framework classes (ie, frame:basic% or something like that) -- it doesn't work when you use frame%. To test the closing of just one frame, you should create a derived class from frame%: (define my-frame% (class frame% (define/override (on-close) ...) (define/override (can-close?) ...) (super-instantiate ()))) where you fill in the ellipses with whatever you want (see the docs on those methods for details). If you are overriding those methods on some derived class, be sure to call the super method: (define my-frame% (class frame:basic% (rename [super-on-close on-close]) (define/override (on-close) (super-on-close) ...) (super-instantiate ()))) Hope that helps. Robby At Sun, 8 Dec 2002 00:48:49 -0800 (PST), Yuri Niyazov wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hello all, newbie here, please forgive. > > Having the following problem: figuring out how the windowing system works. > Used the examples to do the following: > > (define frame (instantiate frame% ("Drawing Example") (width 300) (height 300))) > (define canvas (instantiate canvas% (frame) (paint-callback mypaint) ) ) > > and in mypaint I do all sorts of device context stuff. > > So, I haven't been able to figure out how to install a "close" callback - that is, when > someone > hits alt-f4 on that screen in windows. Is this not possible, or am I missing something > completely > obvious? I haven't been able to figure out how exit:insert-on-callback works, but it > doesn't seem > to be what I need, because if I understand it correctly, it works when you exit out the > application, not when you hit close on a frame. From robby at cs.uchicago.edu Sun Dec 8 08:54:42 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] multi-dimensional arrays In-Reply-To: References: Message-ID: <20021208135442.QJSG20054.mailhost.chi1.ameritech.net@localhost> make-vector puts it's second argument into each place in the array; since you only created two arrays, you get the second one duplicated in the first one. You probably meant to use build-vector. Robby At Sun, 8 Dec 2002 10:58:14 +0000, Iain Gray wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I am attempting to set up a two dimensional array to represent a Hex > game board (11 by 11 hexagons). > > My definitions are:- > > (define board (make-vector 11 (make-vector 11 'empty))) > > (define (board-set! row col piece) > (vector-set! board row > (vector-set! (vector-ref board row) col piece))) > > with corresponding interactions:- > > Welcome to DrScheme, version 202. > Language: Textual (MzScheme, includes R5RS). > > board > #11(#0=#11(empty)) > > (board-set! 5 5 'black) > > board > #11(#0=#11(empty empty empty empty empty black empty) #0# #0# #0# #0# > # #0#) > > > > My problem is getting a single piece ('black or 'white) written to the > board, rather than multiple copies. > > I hope I have not missed something obvious! > > Regards, > > Iain Gray From peteri at carme.sect.mce.hw.ac.uk Sun Dec 8 10:15:37 2002 From: peteri at carme.sect.mce.hw.ac.uk (Dr. Peter Ivanyi) Date: Thu Mar 26 00:51:46 2009 Subject: [plt-scheme] opengl on windows Message-ID: <3DF36219.72AA8ECE@carme.sect.mce.hw.ac.uk> Hello, I have a problem with plt-scheme under windows. I would like to use OpenGl and I managed to use Scott Owens' OpenGL bindings under Linux. However under Windows I get the following error message: setup-plt: Compiling .zos for sgl at C:\PROGRA~1\PLT\collects\sgl setup-plt: error loading installer: string-append: expects type as 1st argument, given: #f; other arguments were: "/collects/compiler" setup-plt: Done setting up setup-plt: setup-plt: Error during General Install for sgl (C:\PROGRA~1\PLT\collects\sgl) setup-plt: setup-plt: error loading installer: string-append: expects type as 1st argument, given: #f; other arguments were: "/collects/compiler" I have MS Visual Studio 6.0 installed on the system. I guess there is nothing set as a compiler. (I do not know whether it matters, but first plt-scheme was installed then MS Visual Studio.) I am new to plt-scheme (not to scheme), so I do not know what to set and how. Anybody can help me with this ? Thanx, in advance. Peter Ivanyi From tak3839 at attbi.com Sun Dec 8 12:05:58 2002 From: tak3839 at attbi.com (tak kang) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Unable to install DrScheme 202 on MacOSX system Message-ID: <522DFFC4-0ACF-11D7-8355-0003936AF6BC@attbi.com> Hi, I installed the MzScheme on my Max OSX 10.2; then found out the DrScheme has more feature. When I tried to install DrScheme it complained that there is a newer version installed and refuse to install. I deleted the directories installed by the MzScheme as specified in the readme file: /Library/Frameworks//PLT_MzScheme.framework /usr/local/plt-202 And tried to install DrScheme again, but it still complained there is a newer version? How can I uninstall MzScheme? Thanks, Alex From clements at brinckerhoff.org Sun Dec 8 13:04:27 2002 From: clements at brinckerhoff.org (John Clements) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Unable to install DrScheme 202 on MacOSX system In-Reply-To: <522DFFC4-0ACF-11D7-8355-0003936AF6BC@attbi.com> Message-ID: <7D7AF38B-0AD7-11D7-8DEF-00039311268C@brinckerhoff.org> On Sunday, December 8, 2002, at 12:05 PM, tak kang wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hi, > > I installed the MzScheme on my Max OSX 10.2; then found out the > DrScheme has more feature. > When I tried to install DrScheme it complained that there is a newer > version installed and refuse to install. > > I deleted the directories installed by the MzScheme as specified in > the readme file: > > /Library/Frameworks//PLT_MzScheme.framework > /usr/local/plt-202 > > And tried to install DrScheme again, but it still complained there is > a newer version? > > How can I uninstall MzScheme? > Hmmm, interesting. A few questions for you: 1) both of the directories that you mentioned were there, and you successfully removed them both? 2) Can you quote the exact text of the complaint that you mention above? 3) What version of MzScheme had you installed? 4) Could this be a problem which is solved by emptying the trash? I suspect that this is a problem with the installer; either the language of the package maker is not rich enough to express the subsumption of MzScheme by DrScheme, or we haven't expressed it right, or you have a newer version of MzScheme. As an aside, I suspect this will be a moot point with the release of version 203, which will be out soon. Let us know if this helps, john clements From jon at uv.net Sun Dec 8 13:15:21 2002 From: jon at uv.net (Jon Philpott) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Saving to disk. References: <7D7AF38B-0AD7-11D7-8DEF-00039311268C@brinckerhoff.org> Message-ID: <3DF38C39.6090507@uv.net> Hi, Is there a function available in plt-scheme to write a datastructure or a list to disk and then read it back at a later date? Or do I have to write the data to the disk in some format and then read it back using a custom route to rebuild the data (could use XML I guess). Basicly I have a program that builds a tree of lists from users input, and I would like to be able to save this tree to disk, and then read it back when the program starts again. Thanks, Jon. From clements at brinckerhoff.org Sun Dec 8 14:39:58 2002 From: clements at brinckerhoff.org (John Clements) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Unable to install DrScheme 202 on MacOSX system In-Reply-To: <3AADD5B4-0ADF-11D7-8355-0003936AF6BC@attbi.com> Message-ID: On Sunday, December 8, 2002, at 01:59 PM, tak kang wrote: > The version of PLT Scheme is 202. The MzScheme is 202. > After I cleanup the trash, I still got the error message. There are: > > There are newer versions of some of the > software packages in "PLT Scheme 202" > already installed on the volume "Macintosh HD". > > This software does not allow older versions to be > installed on top of newer versions. > > Thanks, > alex > Okay, I got it. I suspect the problem is some kind of misconfiguration on our part, but here's how to fix it: In the directory "/Library/Receipts", delete the following subdirectories: MzScheme.pkg PLT.pkg MrEd Framework.pkg MzScheme Framework.pkg This should solve your problem. Thanks for your patience, and let us know if there are any further issues. john clements From sowens at cs.utah.edu Sun Dec 8 14:45:39 2002 From: sowens at cs.utah.edu (Scott Owens) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] opengl on windows In-Reply-To: <3DF36219.72AA8ECE@carme.sect.mce.hw.ac.uk> Message-ID: I'm not sure what is causing that error, but once you get it fixed, I don't think the OpenGL bindings will compile under Windows anyway. I have had one report of failure of the binding to compile under Windows and haven't had the time or resources (no Windows computer) to fix the problem yet. I hope to be able to do this over the holidays since there seems to be some demand for them now. -Scott On Sunday, December 8, 2002, at 08:15 AM, Dr. Peter Ivanyi wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hello, > > I have a problem with plt-scheme under windows. I would like to > use OpenGl and I managed to use Scott Owens' OpenGL bindings > under Linux. However under Windows I get the following error > message: > > setup-plt: Compiling .zos for sgl at C:\PROGRA~1\PLT\collects\sgl > setup-plt: error loading installer: string-append: expects type > as 1st > argument, given: #f; other arguments were: "/collects/compiler" > setup-plt: Done setting up > setup-plt: > setup-plt: Error during General Install for sgl > (C:\PROGRA~1\PLT\collects\sgl) > setup-plt: setup-plt: error loading installer: string-append: > expects type > as 1st argument, given: #f; other arguments were: > "/collects/compiler" > > I have MS Visual Studio 6.0 installed on the system. I guess > there is nothing set as a compiler. (I do not know whether it > matters, but first plt-scheme was installed then MS Visual Studio.) > I am new to plt-scheme (not to scheme), so I do not know what to set > and how. Anybody can help me with this ? > > Thanx, in advance. > > Peter Ivanyi From caw at cs.mu.oz.au Sun Dec 8 18:25:23 2002 From: caw at cs.mu.oz.au (Chris Wright) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Quack on os x Message-ID: <5340EF9E-0B04-11D7-B75F-00039388D92A@cs.mu.oz.au> I'm using quack of drscheme, and like it. The functions to view a manual etc etc rely on a web browser. I could install w3-emacs or such like, but I'd rather use IE On OS X, what value should I set for quack-browse-url-browser-function so that I can use IE? Thanks for your help chris Dr Chris Wright Medical Director, ICU Monash Medical Centre Clayton VIC 3168 From eli at barzilay.org Mon Dec 9 02:25:20 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Scheme Speech Extension In-Reply-To: <3DF1D2BF.907@mega.ist.utl.pt> References: <3DF1D2BF.907@mega.ist.utl.pt> Message-ID: <15860.17760.426362.695531@mojave.cs.cornell.edu> On Dec 7, Paulo Jorge O. C. Matos wrote: > Along time ago when the mailing list was created the first message > was about Text To Speech and Speech recognition in Scheme. Is there > anything like that nowadays for scheme202? There were the messages I sent about the dynamic FFI interface I was doing, and the nice things I can get from using it with IBM's viavoice package. I used only the TTS side, recognition doesn't look as interesting since all you need is some generic application that will allow you to "type" random strings. I still use this thing, but it only works on Linux -- and the IBM package is no longer free like it used to be, so if you're interested tell me. IIRC, there was another message about an interface to a voice package on Windows. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From neil at neilvandyke.org Mon Dec 9 02:46:15 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:47 2009 Subject: [plt-scheme] Scheme Speech Extension In-Reply-To: <15860.17760.426362.695531@mojave.cs.cornell.edu> References: <3DF1D2BF.907@mega.ist.utl.pt> <15860.17760.426362.695531@mojave.cs.cornell.edu> Message-ID: <15860.19015.706064.318844@neilvandyke.org> Festival is a free TTS package for which you could make PLT bindings. IIRC, it actually has a tiny Scheme interpreter (SIOD?), though one naturally would prefer to use PLT for all tasks. :) -- http://www.neilvandyke.org/ From rohan.nicholls at informaat.nl Sun Dec 8 08:18:04 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:51:48 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <200212061259.gB6CxCT23226@wrath.cs.utah.edu> References: <3DEDEBB4.2050708@informaat.nl> <15855.30145.103924.586020@cs.brown.edu> <059f01c29c78$9cddb7e0$381f8d97@ETSUCS.ETSU.EDU> <200212061259.gB6CxCT23226@wrath.cs.utah.edu> Message-ID: <3DF3468C.9090401@informaat.nl> Matthew Flatt wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > At Thu, 5 Dec 2002 11:08:56 -0500, "Steven Jenkins" wrote: > >>For example, is Flux still being actively worked on? (Matthew?) > > > The OSKit is still actively maintained and used by OS researchers. > > I haven't built the "MzScheme OS" on top of the OSKit in a long while. > There were some problems (the parts of the OSKit I tried to use weren't > stable) and there was no demand. > > Matthew > Very interesting, is this a lowlevel api for building an OS? It does the connecting, you use the computer for what you want sort of thing? Is there a link, and would you be interested in building MzScheme OS again? If not could you give tips to someone who would? Did you find that there were performance issues? Thanks, rohan From anton at appsolutions.com Mon Dec 9 09:21:23 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:48 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <3DF3468C.9090401@informaat.nl> Message-ID: <025201c29f8e$4097ae50$0a00a8c0@femto.appsolutions.com> > Very interesting, is this a lowlevel api for building an OS? It does > the connecting, you use the computer for what you want sort of thing? > > Is there a link... Not sure if this is the most recent build, but here's a link (based on v103): http://www.cs.rice.edu/CS/PLT/packages/download/103/mzscheme/mzscheme.i386-k ernel.tar.gz Download, put on a diskette, and eliminate those bloated C-based OSes from your computer forever! ;) (Based on the assumption that anything you might need to do, can be done in MzScheme...) Anton From justin_lee at ud.com Tue Dec 3 12:23:51 2002 From: justin_lee at ud.com (Justin Lee) Date: Thu Mar 26 00:51:48 2009 Subject: [plt-scheme] Problem with mzc Message-ID: [snip} The extension doesn't actually have very much to do with it; gcc doesn't actually pay that much attention to the extension. In fact, the only difference that I've ever seen between gcc and g++ is that g++ automatically links in the C++ support libraries (libstdc++ and libgcc). Both front-ends are, IIRC, perfectly capable of handling C++ source code. [snip] Yes, it is the case, both in 2.9x and 3.x, that gcc and g++ are capable of handling c++ code, and that the only difference is that g++ automatically links to stdc++. This is one reason why gcc now officially stands for "GNU Compiler Collection" instead of "GNU C Compiler". Though it is not true that the extensions don't matter. If the extension is .c then gcc will assume c-language mode, if it is .cpp or .cxx, then gcc will assume c++-language mode. You can override the suffix by using -xc or -xc++. The language mode does make a *lot* of difference. Try declaring a variable named 'new' in C vs C++. I know this is a bit off topic, but perhaps it will be of use to people who spend more time in scheme than c (lucky dogs). --Justin Lee From peteri at carme.sect.mce.hw.ac.uk Sat Dec 7 12:07:29 2002 From: peteri at carme.sect.mce.hw.ac.uk (Dr. Peter Ivanyi) Date: Thu Mar 26 00:51:48 2009 Subject: [plt-scheme] opengl + windows Message-ID: <3DF22AD1.687F1669@carme.sect.mce.hw.ac.uk> Hello, I have a problem with plt-scheme under windows. I would like to use OpenGl and I managed to use Scott Owens' OpenGL bindings under Linux. However under Windows I get the following error message: setup-plt: Compiling .zos for sgl at C:\PROGRA~1\PLT\collects\sgl setup-plt: error loading installer: string-append: expects type as 1st argument, given: #f; other arguments were: "/collects/compiler" setup-plt: Done setting up setup-plt: setup-plt: Error during General Install for sgl (C:\PROGRA~1\PLT\collects\sgl) setup-plt: setup-plt: error loading installer: string-append: expects type as 1st argument, given: #f; other arguments were: "/collects/compiler" I have MS Visual Studio 6.0 installed on the system. I guess there is nothing set as a compiler. I am new to plt-scheme, so I do not know what to set and how. Anybody can help me with this ? Thanx, in advance. Peter Ivanyi From tak3839 at attbi.com Sun Dec 8 02:29:35 2002 From: tak3839 at attbi.com (tak kang) Date: Thu Mar 26 00:51:48 2009 Subject: [plt-scheme] Unable to install DrScheme 202 on MacOSX system Message-ID: Hi, I installed the MzScheme on my Max OSX 10.2; and found out the DrScheme. When I tried to install DrScheme it complained that there is a newer version installed and refuse to install. I tried to remove the MzScheme at the following files as specified in the readme file: /Library/Frameworks//PLT_MzScheme.framework /usr/local/plt-202 And tried to install DrScheme again, but it still complained there is a newer version? How can I uninstall MzScheme? Thanks, Alex From rohan.nicholls at informaat.nl Sun Dec 8 11:15:33 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:51:49 2009 Subject: [plt-scheme] Question about scheme os for information appliances (phones) In-Reply-To: <3DEDEBB4.2050708@informaat.nl> References: <3DEDEBB4.2050708@informaat.nl> Message-ID: <3DF37025.90700@informaat.nl> Thanks for the responses, makes things clearer. rohan Rohan Nicholls wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > NOTE: if pressed for time do not bother with this posting.:) > > I have run across references and articles in the last year since > discovering lisp and scheme about lisp/scheme as a base for an OS. The > Lisp machines, are the obvious choice. I have heard great things about > them, but most pilot projects to develop an os with a scheme/lisp basis > seem to fall apart (TUNES is still mostly thinking from what I can see). > > It seems that creating an OS for present day pc's is a monumental task, > but would it make sense for mobile phones (been reading articles on the > battles between symbian and windows in the mobile market) to have scheme > based os's, as scheme is amazingly flexible once you have the basis > setup, or would it be a matter of there being more assembler code than > anything else. > > I just thought it is one area where the market does not have to be > dominated by one language, and the development advantages of scheme > might find a receptive audience. > > Just thoughts, but would love enlightenment to my ignorance.:) > > rohan > > From jsmall at atlantech.net Mon Dec 9 11:43:25 2002 From: jsmall at atlantech.net (John W. Small) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] Programmically closing a frame in MrEd Message-ID: <006c01c29fa2$1876ea80$02eab7d1@rogareom43smvz> How do you programmatically close (i.e. destroy) a frame in GUI? Does it have something to do with killing and event space? Thanks! John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021209/9464b237/attachment.htm From robby at cs.uchicago.edu Mon Dec 9 11:39:45 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] Programmically closing a frame in MrEd In-Reply-To: <006c01c29fa2$1876ea80$02eab7d1@rogareom43smvz> References: <006c01c29fa2$1876ea80$02eab7d1@rogareom43smvz> Message-ID: <200212091639.gB9Gdjr05238@laime.cs.uchicago.edu> You can do this: (send frame close) (or, if it is a mred frame, that's the same as: (when (send frame can-close?) (send frame on-close) (send frame show #f)) ) Or, if you are killing a whole bunch of frames, possibly created by some unknown code, you should consider reading up about eventspaces. The manual and this paper will both help: http://www.ccs.neu.edu/scheme/pubs/#icfp99-ffkf Robby At Mon, 9 Dec 2002 11:43:25 -0500, "John W. Small" wrote: > ------------------------------------------------------------------------------ > How do you programmatically close (i.e. destroy) a frame in GUI? > > Does it have something to do with killing and event space? > > Thanks! > > John > > > ------------------------------------------------------------------------------ > How do you programmatically close (i.e. destroy) a frame in GUI? >   > Does it have something to do with killing and event space? >   > Thanks! >   > John >   From yuricake at yahoo.com Mon Dec 9 13:40:51 2002 From: yuricake at yahoo.com (Yuri Niyazov) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] scheme crash Message-ID: <20021209184051.62544.qmail@web11302.mail.yahoo.com> Thank you Robert for answering my frame related question - that was exactly what I was looking for next question: I am writing an application that uses the multi-threading and the GUI features of DrScheme. I run into the following problem: when I run my program from within the DrScheme environment (202 release), about 10% of the time it crashes - I don't mean my scheme program crashes, I mean the whole DrScheme environment GPFs (Win2K) - I am a beginner to DrScheme, but I'd say I am an intermediate in Scheme itself, but a fairly experienced programmer in general. I am not sure how to go about catching crashes of the environment itself - I'll gladly RTFM if pointed in the right direction. I can't figure out whether it's a bug in my code or a bug in DrScheme. I have Visual Studio installed, so I can start up its debugger - it points to a memory location in LIBMZSCH, but not much can be figured out. Thank you, Yuri Niyazov. From steck at ccs.neu.edu Mon Dec 9 14:08:22 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] scheme crash In-Reply-To: <20021209184051.62544.qmail@web11302.mail.yahoo.com> Message-ID: <000101c29fb6$58051eb0$70730a81@NORTHEASDX5RFA> > I am writing an application that uses the multi-threading and the GUI > features of DrScheme. I run > into the following problem: when I run my program from within the > DrScheme environment (202 > release), about 10% of the time it crashes - I don't mean my scheme > program crashes, I mean the > whole DrScheme environment GPFs (Win2K) Within the past couple of days, Matthew Flatt fixed some bugs in Windows MrEd. The fixes are available in the CVS version of DrScheme: http://www.plt-scheme.org/anoncvs/ Those fixes will also be in the v203 release, due out very soon. -- Paul From pocm at mega.ist.utl.pt Mon Dec 9 21:16:07 2002 From: pocm at mega.ist.utl.pt (Paulo Jorge O. C. Matos) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] Learning Scheme Lexer Message-ID: <3DF54E67.1070409@mega.ist.utl.pt> Hi all, I'm trying to use the Scheme parser tools. I've tried: (require (lib "lex.ss" "parser-tools")) (define-lex-abbrevs [letter (: (- "a" "z") (- "A" "Z"))] [digit (- "0" "9")] [number (@ (- "0" "9") (+ (- "0" "9")))] [float (@ (number) "." (number))]) (define mylexer (lexer (letter (display "It's a letter")) (float (display "It's a float")) (number (display "It's a number")) (digit (display "It's a digit")))) Then I did in interactions: Welcome to DrScheme, version 202.6-cvs25nov2002. Language: Pretty Big (includes MrEd and Advanced). > (mylexer (current-input-port)) 23 . lexer: No match found in input starting with: 2 > (mylexer (current-input-port)) a . lexer: No match found in input starting with: a > Any ideas on what might be my error? Best regards, -- Paulo J. Matos : pocm(_at_)mega.ist.utl.pt Instituto Superior Tecnico - Lisbon Software & Computer Engineering - A.I. - > http://mega.ist.utl.pt/~pocm --- Yes, God had a deadline... So, He wrote it all in Lisp! From sowens at cs.utah.edu Mon Dec 9 21:46:05 2002 From: sowens at cs.utah.edu (Scott Owens) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] Learning Scheme Lexer In-Reply-To: <3DF54E67.1070409@mega.ist.utl.pt> Message-ID: <870AAEF6-0BE9-11D7-BDF7-000393DA6B66@cs.utah.edu> (lexer (letter (display "It's a letter"))) matches the string of characters l e t t e r. ((letter) (display "It's a letter")) matches whatever letter is defined to be. -Scott On Monday, December 9, 2002, at 07:16 PM, Paulo Jorge O. C. Matos wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hi all, > > I'm trying to use the Scheme parser tools. > I've tried: > (require (lib "lex.ss" "parser-tools")) > > (define-lex-abbrevs [letter (: (- "a" "z") (- "A" "Z"))] > [digit (- "0" "9")] > [number (@ (- "0" "9") (+ (- "0" "9")))] > [float (@ (number) "." (number))]) > > > (define mylexer (lexer (letter (display "It's a letter")) > (float (display "It's a float")) > (number (display "It's a number")) > (digit (display "It's a digit")))) > > Then I did in interactions: > Welcome to DrScheme, version 202.6-cvs25nov2002. > Language: Pretty Big (includes MrEd and Advanced). > > (mylexer (current-input-port)) > 23 > > . lexer: No match found in input starting with: 2 > > (mylexer (current-input-port)) > a > > . lexer: No match found in input starting with: a > > > > Any ideas on what might be my error? > > Best regards, > > -- > Paulo J. Matos : pocm(_at_)mega.ist.utl.pt > Instituto Superior Tecnico - Lisbon > Software & Computer Engineering - A.I. > - > http://mega.ist.utl.pt/~pocm > --- > Yes, God had a deadline... > So, He wrote it all in Lisp! From pocm at mega.ist.utl.pt Tue Dec 10 04:15:43 2002 From: pocm at mega.ist.utl.pt (Paulo Jorge O. C. Matos) Date: Thu Mar 26 00:51:50 2009 Subject: [plt-scheme] Learning Scheme Lexer In-Reply-To: <870AAEF6-0BE9-11D7-BDF7-000393DA6B66@cs.utah.edu> References: <870AAEF6-0BE9-11D7-BDF7-000393DA6B66@cs.utah.edu> Message-ID: <3DF5B0BF.4000409@mega.ist.utl.pt> Hi Scott, Thanks a lot. So that's why there's a warning in the parser-tools documentation explaining this. :) Now I remember. Too late... anyway, now I won't forget. Best regards, > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > (lexer > (letter (display "It's a letter"))) > matches the string of characters l e t t e r. > ((letter) (display "It's a letter")) > matches whatever letter is defined to be. > > -Scott > > On Monday, December 9, 2002, at 07:16 PM, Paulo Jorge O. C. Matos wrote: > >> For list-related administrative tasks: >> http://list.cs.brown.edu/mailman/listinfo/plt-scheme >> >> Hi all, >> >> I'm trying to use the Scheme parser tools. >> I've tried: >> (require (lib "lex.ss" "parser-tools")) >> >> (define-lex-abbrevs [letter (: (- "a" "z") (- "A" "Z"))] >> [digit (- "0" "9")] >> [number (@ (- "0" "9") (+ (- "0" "9")))] >> [float (@ (number) "." (number))]) >> >> >> (define mylexer (lexer (letter (display "It's a letter")) >> (float (display "It's a float")) >> (number (display "It's a number")) >> (digit (display "It's a digit")))) >> >> Then I did in interactions: >> Welcome to DrScheme, version 202.6-cvs25nov2002. >> Language: Pretty Big (includes MrEd and Advanced). >> > (mylexer (current-input-port)) >> 23 >> >> . lexer: No match found in input starting with: 2 >> > (mylexer (current-input-port)) >> a >> >> . lexer: No match found in input starting with: a >> > >> >> Any ideas on what might be my error? >> >> Best regards, >> >> -- >> Paulo J. Matos : pocm(_at_)mega.ist.utl.pt >> Instituto Superior Tecnico - Lisbon >> Software & Computer Engineering - A.I. >> - > http://mega.ist.utl.pt/~pocm >> --- >> Yes, God had a deadline... >> So, He wrote it all in Lisp! > > > -- Paulo J. Matos : pocm(_at_)mega.ist.utl.pt Instituto Superior Tecnico - Lisbon Software & Computer Engineering - A.I. - > http://mega.ist.utl.pt/~pocm --- Yes, God had a deadline... So, He wrote it all in Lisp! From Dominique.Boucher at sgdl-sys.com Tue Dec 10 14:30:19 2002 From: Dominique.Boucher at sgdl-sys.com (Dominique Boucher) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] Looking for a static analysis tool Message-ID: Hi all, [this message is pretty long. I'm sorry for those who might not be interested.] I'm currently developing an IDE for our proprietary extensions to Scheme for true 3D solid modeling based on projective geometry. The IDE is itself developed in Scheme using MzScheme and its various extensions. [I described the environment a bit in an earlier post a few weeks ago.] One of the things missing from the environment right now is a good static analysis tool. When one develops an animation that can take days to compute, it is really important to validate the code as much as possible before starting the computation (usually on a cluster of workstations running PVM). The analysis tool I am looking for shall meet the following requirements: 1. New types and primitives can be added. Most of the SGDL primitives generate 3D volumes in some internal form. I would like to be able to add these primitives to the set of primitives handled by the analyzer instead of relying on the source code of the primitives. Also, a volume (and other types as well) shall be considered a primitive type of the language. 2. Support for incremental analysis of multi file projects. Our IDE manages projects composed of source files organized in packages. Ideally, the analyzer shall be able to analyze each file separately and then run the global analysis. When a file is modified, the analysis of the file is done again and the whole global analysis is run. Hopefully, doing this would be less expensive than re-analyzing the whole project from scratch. 3. Support for "analysis extensions". By this, I mean a way to extend the basic analysis framework with new special forms. These special forms are implemented in the visualizer, so the code of the corresponding macros is not necessarily available to the analyzer. Morever, adding extensions to the analyzer has an important advantage. It can help obtaining more accurate analysis results. Often, expanding the macros result in code much harder to analyze or that gives too conservative approximations. [This results from personal observations with an CFA-based analyzer run on code generated by an LALR(1) parser generater I developed.] 4. R5RS Scheme only. This means that the analyzer must not rely on any implementation-dependent extension of Scheme, like a module system, in order to obtain more accurate results. [Of course, it is the analyzed code that shall be R5RS compliant, not the source code of the analyzer. I hope this was obvious from the context ;] I already have a number of ideas regarding most of (if not all) these requirements. I worked on similar ideas for my PhD dissertation. I can easily do this work by myself. But I don't want to reinvent the wheel. So if someone is already working on similar ideas, I am willing to collaborate on the design and implementation of such a tool (i.e. on the development side or on more theoretical aspects). This way, we could come up with a better, more robust tool, with applications in the "real world" ;-) [SGDLstudio will soon be distributed in many major universities and research centers across North America, Europe, and even Asia]. I know that MrFlow is coming pretty soon. Unfortunately, I don't know if it will meet these requirements. I have not seen a lot of papers on it. And I don't want to download the code without knowing the design decisions that has driven its development. [BTW, who is developing it?] Thanks in advance, Dominique Boucher, Ph.D. Senior analyst SGDL syst?mes http://www.sgdl-sys.com From yuricake at yahoo.com Tue Dec 10 23:42:31 2002 From: yuricake at yahoo.com (Yuri Niyazov) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] scheme crash In-Reply-To: <000101c29fb6$58051eb0$70730a81@NORTHEASDX5RFA> Message-ID: <20021211044231.53708.qmail@web11308.mail.yahoo.com> --- Paul Steckler wrote: > > release), about 10% of the time it crashes - I don't mean my scheme > > program crashes, I mean the > > whole DrScheme environment GPFs (Win2K) > > Within the past couple of days, Matthew Flatt fixed some bugs in Windows > MrEd. The fixes are available in the CVS version of DrScheme: > > http://www.plt-scheme.org/anoncvs/ > > Those fixes will also be in the v203 release, due out very soon. Thanks. I downloaded the new CVS version, and tried to run my assignment with it. Admittedly, it works better - it now crashes approx. 5% of the time :) but still does. My assignment right now is about 500 lines long - I will try to isolate the place of crash and make a separate small program out of it, and then report it. Y. From meunier at ccs.neu.edu Wed Dec 11 04:06:36 2002 From: meunier at ccs.neu.edu (Philippe Meunier) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] Looking for a static analysis tool In-Reply-To: ; from Dominique.Boucher@sgdl-sys.com on Tue, Dec 10, 2002 at 02:30:19PM -0500 References: Message-ID: <20021211040636.A21360@syrma.ccs.neu.edu> Dominique Boucher wrote: >The analysis tool I am looking for shall meet the following requirements: Well, here's what I can tell you regarding MrFlow: >1. New types and primitives can be added. > > Most of the SGDL primitives generate 3D volumes in some internal form. > I would like to be able to add these primitives to the set of primitives > handled by the analyzer instead of relying on the source code of the > primitives. Also, a volume (and other types as well) shall be considered a > primitive type of the language. There'll be at some point in the future a way for users to declare their own types, and MrFlow will then be able to analyze programs in terms of those types. Regarding the primitives, see below. >2. Support for incremental analysis of multi file projects. > > Our IDE manages projects composed of source files organized in > packages. Ideally, the analyzer shall be able to analyze each file > separately and then run the global analysis. When a file is modified, > the analysis of the file is done again and the whole global analysis > is run. Hopefully, doing this would be less expensive than > re-analyzing the whole project from scratch. Robby Findler and I are working on a separate analysis based on his contract system. Contracts added to a module's interface will be used to analyze uses of the provided functions independently of the source code of the functions themselves, and the source code of the functions will be analyzed against the contracts independently of their uses outside the module. This means that if you put your SGDL primitives in a module and give them contracts, the analysis will consider them as if they were primitives (from the point of view of the code that's using them). That will make the analysis of any module completely separate from the analysis of all other modules (provided you've written contracts for all the interfaces, if you don't then the analyzer will just revert to analyzing the source code of functions in other modules as if they were defined in the currently analyzed module). We already have a prototype of that separate analysis working, and it's going to make its way into MrFlow probably at the same time as I'll add modules to the analysis. Regarding automatically reanalyzing modified modules, I could see a combination of Robby's module navigator and the analysis which would find all the modules a given module depends on and automatically analyze all the ones that have changed. That would probably be a neat thing to do. >3. Support for "analysis extensions". > > By this, I mean a way to extend the basic analysis framework with new > special forms. These special forms are implemented in the visualizer, > so the code of the corresponding macros is not necessarily available to > the analyzer. Morever, adding extensions to the analyzer has an > important advantage. It can help obtaining more accurate analysis results. > Often, expanding the macros result in code much harder to analyze or that > gives too conservative approximations. [This results from personal > observations with an CFA-based analyzer run on code generated by an > LALR(1) parser generater I developed.] MrFlow only works on the MzScheme core forms (i.e. section 12.6.1 of the MzScheme manual) that result from completely expanding a program. I think that's the level were it should be, because then you can use MrFlow for all the languages that DrScheme supports (not only R5RS, but also the full MzScheme language, algol60, python, etc... provided the language implementor has defined types for the primitives in the language's runtime support) so that's very unlikely to change. >4. R5RS Scheme only. > > This means that the analyzer must not rely on any implementation-dependent > extension of Scheme, like a module system, in order to obtain more accurate > results. [Of course, it is the analyzed code that shall be R5RS compliant, > not the source code of the analyzer. I hope this was obvious from the > context ;] MrFlow currently analyzes R5RS plus define-struct. Define-struct is in there as a test, to see what it would take to analyze generative structures but it will disappear as more support for the full mzscheme language is added. Note that then analyzing your code for just the R5RS language will mean no separate analysis, since separate analysis will be dependent upon the use of modules. >I already have a number of ideas regarding most of (if not all) these >requirements. I worked on similar ideas for my PhD dissertation. I can >easily do this work by myself. But I don't want to reinvent the wheel. So if >someone is already working on similar ideas, I am willing to collaborate on >the design and implementation of such a tool (i.e. on the development side >or on more theoretical aspects). This way, we could come up with a better, >more robust tool, with applications in the "real world" ;-) [SGDLstudio will >soon be distributed in many major universities and research centers across >North America, Europe, and even Asia]. > >I know that MrFlow is coming pretty soon. Unfortunately, I don't know if it >will >meet these requirements. I have not seen a lot of papers on it. And I don't >want to download the code without knowing the design decisions that has >driven its development. Well, it looks like MrFlow is not going to meet all your requirements, especially with regard to macros and separate analysis without using modules. Two of our goals is to have an analysis that can support multiple languages (so done after macro expansion) and works on large programs (so based on our module system). But even if in the end you decide to go for your own tool, there are probably pieces of the analysis framework that you might be able to steal from MrFlow, and we can definitely collaborate on those parts. And I'm certainly interested in hearing from people working on "real" applications :-) >[BTW, who is developing it?] Hmmm, that would be me :-) Philippe From ptg at ccs.neu.edu Wed Dec 11 11:05:25 2002 From: ptg at ccs.neu.edu (Paul Graunke) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] http authentication? In-Reply-To: References: <021a01c29e3b$a1592bf0$0a00a8c0@femto.appsolutions.com> Message-ID: <20021211160525.A38F56B5B7@amber.ccs.neu.edu> At Sun, 08 Dec 2002 12:44:12 GMT, MJ Ray wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Anton van Straaten wrote: > > Are there any libraries for PLT Scheme that support this? All I want to do > > is a simple retrieval of a file via a URL with basic authentication. > > I suspect this is a good idea for a patch. Shouldn't be difficult to do > basic auth. Do you have time, or shall I start work on it? (Is it valuable > enough to anyone to pay for? ;-) ) get-pure-port accepts a list of optional http headers to send with the request. (list (format "authorization: Basic ~a" (base64-encode "bubba:bbq")) should authorize bubba to download the secret receipe for life (in Texas). Paul From steck at ccs.neu.edu Wed Dec 11 11:34:51 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] scheme crash In-Reply-To: <20021211044231.53708.qmail@web11308.mail.yahoo.com> Message-ID: <000701c2a133$3a9bd390$70730a81@NORTHEASDX5RFA> > > Those fixes will also be in the v203 release, due out very soon. > Thanks. I downloaded the new CVS version, and tried to run my > assignment with it. Admittedly, it > works better - it now crashes approx. 5% of the time :) but still > does. My assignment right now is > about 500 lines long - I will try to isolate the place of crash and > make a separate small program > out of it, and then report it. Yes, please. If you can't isolate the cause, we'll look at the entire program. -- Paul From mflatt at cs.utah.edu Wed Dec 11 12:38:13 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:51 2009 Subject: [plt-scheme] scheme crash In-Reply-To: <000701c2a133$3a9bd390$70730a81@NORTHEASDX5RFA> References: <000701c2a133$3a9bd390$70730a81@NORTHEASDX5RFA> Message-ID: <200212111738.gBBHcDr25000@wrath.cs.utah.edu> I believe I've fixed the bug. The repair is exp-tagged in CVS. Let me know whether it works for you, too, Yuri. The bug was a problem with multi-threaded bignum calculations. There was a single stack for temporaries that should have been thread-specific. Matthew At Wed, 11 Dec 2002 11:34:51 -0500, "Paul Steckler" wrote: > > > Those fixes will also be in the v203 release, due out very soon. > > Thanks. I downloaded the new CVS version, and tried to run my > > assignment with it. Admittedly, it > > works better - it now crashes approx. 5% of the time :) but still > > does. My assignment right now is > > about 500 lines long - I will try to isolate the place of crash and > > make a separate small program > > out of it, and then report it. > > Yes, please. > > If you can't isolate the cause, we'll look at the entire program. > > -- Paul > > From markj at cloaked.freeserve.co.uk Wed Dec 11 15:20:55 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:51:52 2009 Subject: [plt-scheme] http authentication? In-Reply-To: <20021211160525.A38F56B5B7@amber.ccs.neu.edu> Message-ID: <60de8e0f0c0c7f29c3650b908e1c8c92@cloaked.freeserve.co.uk> On 2002-12-11 11:05:25 -0500 Paul Graunke wrote: > get-pure-port accepts a list of optional http headers to send with > the request. > (list (format "authorization: Basic ~a" (base64-encode > "bubba:bbq")) > should authorize bubba to download the secret receipe for life (in > Texas). Yes, sure, I never said that it was difficult, but it should be possible to make this easy to use. Already, at least two people did not guess this recipe. Maybe it should support the FTP-like but non-RFC http://mjr:test@pipe/test (probably not a good choice) or maybe it should look for any authentication data at the head of the list of headers. Anyone have a preference, or am I just ranting and everyone who dismissed the module because it didn't have an obvious way to do this common task is a bozo? -- MJR| v ---|--[ Something else will appear here eventually, I guess... ]-----| `--[ http://mjr.towers.org.uk/ ]---------[ slef at jabber.at ]-----' From noelwelsh at yahoo.com Wed Dec 11 17:01:47 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:51:52 2009 Subject: [plt-scheme] MoshiMoshi release Message-ID: <20021211220147.1955.qmail@web41207.mail.yahoo.com> Hi all, I'm happy to announce a new (and long overdue) release of the MoshiMoshi wiki. This release ports the code to the 20x series of PLT Scheme and includes a number of usability improvements. I've been running the code on a local wiki for a few days now and it is usable (though it is far from feature-complete). Happy hacking; your improvements welcome Noel PS: This release is a tar-ball, as I think most people will want to install outside of their collections path. I can make a .plt if people want it. __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From doon at infoscientific.com Wed Dec 11 17:29:25 2002 From: doon at infoscientific.com (Harry Reed) Date: Thu Mar 26 00:51:52 2009 Subject: [plt-scheme] Any plans for supporting DSSSL style param lists? Message-ID: <01ef01c2a164$d0bffdc0$d84158cf@furball> Hi, Are there any plans for supporting the DSSSL-style parameter lists (param lists w/ optional arguments and/or default arguments) in PLT Scheme ala Bigloo? Thanks, Harry W. Reed | Never ascribe to malice that which can doon@infoscientific.com | adequately be explained by stupidity. +--------------------+--------------------+----------------------------------+ "Of all tyrannies a tyranny sincerely exercised for the good of its victims may be the most oppressive. It may be better to live under robber barons than under omnipotent moral busybodies, The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for own good will torment us without end, for they do so with the approval of their own conscience." - C.S. Lewis, _God in the Dock_ +--------------------+--------------------+----------------------------------+ "Truth often suffers more by the heat of its defenders than the arguments of its opponents." -- Sir William Penn +--------------------+--------------------+----------------------------------+ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021211/ff448c4a/attachment.html From eli at barzilay.org Wed Dec 11 17:35:19 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:51:53 2009 Subject: [plt-scheme] Any plans for supporting DSSSL style param lists? In-Reply-To: <01ef01c2a164$d0bffdc0$d84158cf@furball> References: <01ef01c2a164$d0bffdc0$d84158cf@furball> Message-ID: <15863.48551.34799.601142@mojave.cs.cornell.edu> On Dec 11, Harry Reed wrote: > Hi, > Are there any plans for supporting the DSSSL-style parameter > lists (param lists w/ optional arguments and/or default arguments) > in PLT Scheme ala Bigloo? Swindle has Lisp-like keyword parameters, and if you use just the base.ss module (as the initial import / language module) for your modules, you get (almost) just that. http://www.cs.cornell.edu/eli/Swindle/base-doc.html -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From anton at appsolutions.com Wed Dec 11 19:59:35 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:53 2009 Subject: [plt-scheme] http authentication? In-Reply-To: Message-ID: <032901c2a179$bd279d80$0a00a8c0@femto.appsolutions.com> MJ Ray wrote: > Anton van Straaten wrote: > > Are there any libraries for PLT Scheme that support this? All > > I want to do is a simple retrieval of a file via a URL with > > basic authentication. > > I suspect this is a good idea for a patch. Shouldn't be difficult > to do basic auth. Do you have time, or shall I start work on it? > (Is it valuable enough to anyone to pay for? ;-) ) I wanted this because a friend was asking about how to do it, and I thought it could be a good opportunity to start him using PLT Scheme, as opposed to say, Perl. So the value was more to the PLT cause :) than anything else. I think he's since started using wget instead. > Maybe it should support the FTP-like but non-RFC > http://mjr:test@pipe/test (probably not a good choice) Wget allegedly supports this syntax, according to the docs, although my recollection is that it didn't work when I tried it. Its command line options did work. I don't think the FTP-like syntax is a bad idea - it extends the RFC but doesn't break anything, afaict. > or maybe it should look for any authentication data at the head of the > list of headers. I think something like this ideally shouldn't require directly messing with the protocol on the part of the user who doesn't care about that. At the very least, a procedure that can be called with a username and a password would be nice. I'll take a look at the get-pure-port solution suggested by Paul, and what might be involved in wrapping it. I agree with you that it would be useful if this functionality were abstracted a bit further, and specifically documented. Anton From eli at barzilay.org Wed Dec 11 20:18:25 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:51:53 2009 Subject: [plt-scheme] http authentication? In-Reply-To: <032901c2a179$bd279d80$0a00a8c0@femto.appsolutions.com> References: <032901c2a179$bd279d80$0a00a8c0@femto.appsolutions.com> Message-ID: <15863.58337.900074.401708@mojave.cs.cornell.edu> On Dec 11, Anton van Straaten wrote: > > I wanted this because a friend was asking about how to do it, and I > thought it could be a good opportunity to start him using PLT > Scheme, as opposed to say, Perl. So the value was more to the PLT > cause :) than anything else. I think he's since started using wget > instead. Which should not contradict using PLT... It would be very nice to be able to do some scsh stuff, maybe even improve it to the point that it will actually be usable as an interactive shell. I had started working on this at some point in the past, and will finish it at some point in the future. > > Maybe it should support the FTP-like but non-RFC > > http://mjr:test@pipe/test (probably not a good choice) > > Wget allegedly supports this syntax, according to the docs, although > my recollection is that it didn't work when I tried it. Its command > line options did work. I don't think the FTP-like syntax is a bad > idea - it extends the RFC but doesn't break anything, afaict. wget works fine with it, or with `--http-user=foo --http-passwd=bar', and should work with more than just the basic authentication. The problem with both ways is that ps can reveal your password while wget is running. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From anton at appsolutions.com Wed Dec 11 20:48:20 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:51:53 2009 Subject: [plt-scheme] http authentication? In-Reply-To: <15863.58337.900074.401708@mojave.cs.cornell.edu> Message-ID: <032a01c2a180$8c94e810$0a00a8c0@femto.appsolutions.com> Eli Barzilay wrote: > Which should not contradict using PLT... It would be very nice to be > able to do some scsh stuff, maybe even improve it to the point that it > will actually be usable as an interactive shell. I had started > working on this at some point in the past, and will finish it at some > point in the future. I agree - even without interactive shell usability, scsh functionality would be very useful. I notice it's been on the PLT projects list for quite some time. An additional twist for widest usability would be to support Windows without Cygwin, even if only with a subset of scsh-style functionality. The scripting languages manage to do this, more or less (although portability often isn't perfect). > The problem with both ways is that ps can reveal your password > while wget is running. Thanks for the tip. Luckily, my friend's application is a low-security scenario (download of stock price data). Anton From eli at barzilay.org Wed Dec 11 20:58:28 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:51:53 2009 Subject: [plt-scheme] http authentication? In-Reply-To: <032a01c2a180$8c94e810$0a00a8c0@femto.appsolutions.com> References: <15863.58337.900074.401708@mojave.cs.cornell.edu> <032a01c2a180$8c94e810$0a00a8c0@femto.appsolutions.com> Message-ID: <15863.60740.883127.425726@mojave.cs.cornell.edu> On Dec 11, Anton van Straaten wrote: > I agree - even without interactive shell usability, scsh > functionality would be very useful. I notice it's been on the PLT > projects list for quite some time. An additional twist for widest > usability would be to support Windows without Cygwin, even if only > with a subset of scsh-style functionality. The scripting languages > manage to do this, more or less (although portability often isn't > perfect). Yes -- the one bit which I think I got right was allowing you to mix subprocesses and Scheme threads freely. What this means is that on a bare shell implementation you get whatever your OS gives you (in the form of programs, not libraries), but on top of that you will be able to replace some programs by a Scheme procedure that implements the same functionality -- the only question is how far down the flag list you're willing to implement... This goes with the keyword arguments thing which will definitely be needed for such functions (I wonder what would be a good solution to the fact that in a shell a keyword prefix is a -dash vs the more lispish :colon). -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From mflatt at cs.utah.edu Wed Dec 11 23:25:01 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] MZC can't resolve "self" ? In-Reply-To: References: Message-ID: <200212120425.gBC4P1r22649@wrath.cs.utah.edu> Aha --- I knew that someone had reported this bug, but I lost track of your message (and, as it happens, caused extra work for Robby). This is now fixed. Matthew At Wed, 4 Dec 2002 15:37:58 +0300 (MSK), Kirill Lisovsky wrote: > I've encountered a problem with 202.5: > > An attempt to compile a standalone PLT executable which requires _any_ lib > fails. > > Example: > For test.ss: > #cs(module test mzscheme > (require (lib "list.ss")) > (display "ok")) > > mzc --exe test test.ss > > fails with the error message: > > resolve-module-path-index: can't resolve "self" with just a relative directory > > > It works fine on an old 200alpha15, however. From noelwelsh at yahoo.com Thu Dec 12 05:43:46 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] MoshiMoshi release Message-ID: <20021212104346.19698.qmail@web41201.mail.yahoo.com> I forget to say where you can download MoshiMoshi from: http://sourceforge.net/projects/schematics Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From rohan.nicholls at informaat.nl Wed Dec 11 06:15:26 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] MoshiMoshi release In-Reply-To: <20021212104346.19698.qmail@web41201.mail.yahoo.com> References: <20021212104346.19698.qmail@web41201.mail.yahoo.com> Message-ID: <3DF71E4E.9040802@informaat.nl> Is anyone else having problems connecting to sourceforge these days? I have been getting the connection refused message for a few days now. Any ideas anyone? Am I doing something wrong? thanks, rohan Noel Welsh wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I forget to say where you can download MoshiMoshi > from: > > http://sourceforge.net/projects/schematics > > Noel > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com From markj at cloaked.freeserve.co.uk Thu Dec 12 08:38:31 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] MoshiMoshi release References: <20021212104346.19698.qmail@web41201.mail.yahoo.com> <20021212104346.19698.qmail@web41201.mail.yahoo.com> <3DF71E4E.9040802@informaat.nl> Message-ID: Rohan Nicholls wrote: > Is anyone else having problems connecting to sourceforge these days? I > have been getting the connection refused message for a few days now. > Any ideas anyone? Am I doing something wrong? I often get that, but a reload clears it. I think sourceforge is a very busy site, so perhaps it is not answering the local web proxy fast enough any more. I have ideas about how to fix this, but no time. It would involve something like http://coopx.eu.org/ interaction between sites. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From Dominique.Boucher at sgdl-sys.com Thu Dec 12 09:39:27 2002 From: Dominique.Boucher at sgdl-sys.com (Dominique Boucher) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] Looking for a static analysis tool In-Reply-To: <20021211040636.A21360@syrma.ccs.neu.edu> Message-ID: Philippe, As I understand it, your separate analysis will heavily depend on many of the MzScheme extensions (modules, contracts, macros, etc.). I understand your goals. But we don't want to expose those extensions to our users, since most of them don't have any prior programming experience. Just learning good Scheme practices might be a challenge. If you add modules and contracts... On the other hand, I wonder if the module's interface and the contracts can't be inferred (at least to some extent) automatically from the code itself, by our programming environment... This way, we could get the best of both worlds. Regarding the "analysis extensions", I strongly believe that in some cases, analyzing code AFTER macro expansion will result in overly conservative approximations. We have many little languages (an LALR(1) parser generator, parametric context-free L-systems, etc.) generating code that might confuse the analyzer. This often happens when the generated code is table-driven (like our LR driver). Dominique From sk at cs.brown.edu Thu Dec 12 11:28:20 2002 From: sk at cs.brown.edu (Shriram Krishnamurthi) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] MoshiMoshi release In-Reply-To: References: <20021212104346.19698.qmail@web41201.mail.yahoo.com> <3DF71E4E.9040802@informaat.nl> Message-ID: <15864.47396.748487.263826@cs.brown.edu> MJ Ray wrote: > I often get that, but a reload clears it. I think sourceforge is a very > busy site, so perhaps it is not answering the local web proxy fast enough > any more. I have these problems despite not having a local proxy. Shriram From max at ccs.neu.edu Thu Dec 12 12:19:22 2002 From: max at ccs.neu.edu (Max A. Lawton) Date: Thu Mar 26 00:51:54 2009 Subject: [plt-scheme] DrScheme Install on RedHat 8 Message-ID: I recently downloaded the redhat RPM for DrScheme 202. When I installed it (rpm -ivh --force plt-202-1.i386.rpm): [root@sappho download]# rpm -ivh --force plt-202-1.i386.rpm Preparing... ########################################### [100%] 1:plt ########################################### [100%] /var/tmp/rpm-tmp.33722: line 12: RPM_INSTALL_PREFIX: parameter null or not set error: %post(plt-202-1) scriptlet failed, exit status 1 ;;----------------------- ;it did, however, install to /usr/local/lib/plt-202. when I tried to run ./drscheme in /usr/local/lib/plt-202/bin/: ./drscheme: line 67: /usr/src/redhat/BUILD/plt/bin/mred: No such file or directory ./drscheme: line 67: exec: /usr/src/redhat/BUILD/plt/bin/mred: cannot execute: No such file or directory ;;---- so I went ahead and opened up ./drscheme in emacs and found the following: if [ "$PLTHOME" = '' ] ; then PLTHOME="/usr/src/redhat/BUILD/plt" export PLTHOME fi and on line 67: exec "${PLTHOME}/bin/mred" So I created /etc/profile.d/drscheme.sh which contained: "export PLTHOME=/usr/local/lib/plt-202" so, now my little launcher for /usr/local/lib/plt-202/bin/drscheme [complete with nifty plt.xpm icon :) ] works. So, the problem was that rpm choked. Does anyone know what could have caused this problem and how to fix it at the installer level? #| PROBLEM 2 |# Now that my little shortcut works, I can run DrScheme. This would be so utterly wonderful were it not for the fact that it runs slower than Boston's Orange Line. ( time /usr/local/lib/plt-202/bin/drscheme real 1m19.955s user 1m12.049s sys 0m0.590s ) I would expect this kind of a wait under windows on this 1GHz Duron, not under linux. However, on my 1.5GHz p3m laptop running redhat 7.3, DrScheme loads in seeming 75% of the time it takes on the same machine under WindowsXP Home. Are there just some changes in 8 that would cause it to run slower, thus giving me no choice but to revert to 7.3 (and lose that oh-so-valuable hardware support) or stick with 8 and deal with syntax highlighting in turtle mode? (or just use emacs, quack, and mzscheme) thanks, and I hope some of this has been useful. --Max Lawton From ptg at ccs.neu.edu Thu Dec 12 12:39:56 2002 From: ptg at ccs.neu.edu (Paul Graunke) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] DrScheme Install on RedHat 8 In-Reply-To: References: Message-ID: <20021212173956.BEC126B530@amber.ccs.neu.edu> The RPMS were not built for Redhat 8. Running ${PLTHOME}/bin/setup-plt will speed up DrScheme considerably if it failed to run during the RPM installation. Paul At Thu, 12 Dec 2002 12:19:22 -0500 (EST), "Max A. Lawton" wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I recently downloaded the redhat RPM for DrScheme 202. > When I installed it (rpm -ivh --force plt-202-1.i386.rpm): > > [root@sappho download]# rpm -ivh --force plt-202-1.i386.rpm > Preparing... ########################################### > [100%] > 1:plt ########################################### > [100%] > /var/tmp/rpm-tmp.33722: line 12: RPM_INSTALL_PREFIX: parameter null or not > set > error: %post(plt-202-1) scriptlet failed, exit status 1 > > ;;----------------------- > > ;it did, however, install to /usr/local/lib/plt-202. > > when I tried to run ./drscheme in /usr/local/lib/plt-202/bin/: > ./drscheme: line 67: /usr/src/redhat/BUILD/plt/bin/mred: No such file or > directory > ./drscheme: line 67: exec: /usr/src/redhat/BUILD/plt/bin/mred: cannot > execute: No such file or directory > > ;;---- > > so I went ahead and opened up ./drscheme in emacs and found the following: > if [ "$PLTHOME" = '' ] ; then > PLTHOME="/usr/src/redhat/BUILD/plt" > export PLTHOME > fi > > and on line 67: > > exec "${PLTHOME}/bin/mred" > > So I created /etc/profile.d/drscheme.sh which contained: > "export PLTHOME=/usr/local/lib/plt-202" > > so, now my little launcher for /usr/local/lib/plt-202/bin/drscheme > [complete with nifty plt.xpm icon :) ] works. > > So, the problem was that rpm choked. Does anyone know what could have > caused this problem and how to fix it at the installer level? > > #| PROBLEM 2 |# > Now that my little shortcut works, I can run DrScheme. This would be so > utterly wonderful were it not for the fact that it runs slower than > Boston's Orange Line. > ( > time /usr/local/lib/plt-202/bin/drscheme > > real 1m19.955s > user 1m12.049s > sys 0m0.590s > ) > > I would expect this kind of a wait under windows on this 1GHz Duron, not > under linux. However, on my 1.5GHz p3m laptop running redhat 7.3, > DrScheme loads in seeming 75% of the time it takes on the same machine > under WindowsXP Home. > > Are there just some changes in 8 that would cause it to run slower, thus > giving me no choice but to revert to 7.3 (and lose that oh-so-valuable > hardware support) or stick with 8 and deal with syntax highlighting in > turtle mode? (or just use emacs, quack, and mzscheme) > > thanks, and I hope some of this has been useful. > > --Max Lawton From nicolas-chevallier at wanadoo.fr Thu Dec 12 14:09:54 2002 From: nicolas-chevallier at wanadoo.fr (Nicolas Chevallier) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] make a button Message-ID: <013401c2a212$0e376e60$0101a8c0@celeron> I search the file where the DrScheme bitmap button are created, but i can't find it. Can you help me? Nicolas > ----- Original Message ----- > From: "Matthew Flatt" > To: "Roland-APPIETTO" > Cc: > Sent: Monday, November 11, 2002 5:59 PM > Subject: Re: [plt-scheme] make a button > > > > For list-related administrative tasks: > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > > At Fri, 8 Nov 2002 12:02:18 +0100, "Roland-APPIETTO" wrote: > > > I'd like to know, how can i make a Drscheme BUTTON like the Execute > > > button (a bitmap and a label)?? > > > > The DrScheme button uses a bitmap. The text is combined with an image > > byt drawing into an offscreen bitmap (i.e., a `draw-bitmap' followed by > > a `draw-text'). > > > > To get the font for drawing the label, the best strategy is to use the > > parent window's `get-control-font' method. > > > > Matthew > > > From robby at cs.uchicago.edu Thu Dec 12 14:12:09 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] make a button In-Reply-To: <013401c2a212$0e376e60$0101a8c0@celeron> References: <013401c2a212$0e376e60$0101a8c0@celeron> Message-ID: <200212121912.gBCJC9r20700@laime.cs.uchicago.edu> See the definition of make-bitmap in plt/collects/drscheme/private/unit.ss. Robby At Thu, 12 Dec 2002 20:09:54 +0100, "Nicolas Chevallier" wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I search the file where the DrScheme bitmap button are created, but i can't > find it. > Can you help me? > > > Nicolas > > > ----- Original Message ----- > > From: "Matthew Flatt" > > To: "Roland-APPIETTO" > > Cc: > > Sent: Monday, November 11, 2002 5:59 PM > > Subject: Re: [plt-scheme] make a button > > > > > > > For list-related administrative tasks: > > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > > > > At Fri, 8 Nov 2002 12:02:18 +0100, "Roland-APPIETTO" wrote: > > > > I'd like to know, how can i make a Drscheme BUTTON like the Execute > > > > button (a bitmap and a label)?? > > > > > > The DrScheme button uses a bitmap. The text is combined with an image > > > byt drawing into an offscreen bitmap (i.e., a `draw-bitmap' followed by > > > a `draw-text'). > > > > > > To get the font for drawing the label, the best strategy is to use the > > > parent window's `get-control-font' method. > > > > > > Matthew > > > > > From dougo at ccs.neu.edu Thu Dec 12 21:01:48 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] module name clashes Message-ID: <15865.16268.405675.991220@vega.ccs.neu.edu> I'd like to use the SRFI modules from the Schematics project, but it's causing me some problems because it duplicates some of the stuff in MzLib. For example: > (module foo (lib "plt-pretty-big-text.ss" "lang") (require (lib "1.ss" "srfi"))) STDIN::338: module: identifier already imported (from a different source) at: third in: (require (lib "1.ss" "srfi")) Now, I guess I could go through the two modules' `provide' statements and figure out all the duplicate definitions and use `all-except' in a `require' statement, but that seems pretty tedious (and fragile). I suppose I could get rid of MzLib's "list.ss" and require all the other MzLib modules by hand, but again this is tedious, and what if I really still want something provided by MzLib's list module that isn't provided by SRFI 1? What I think I want is a form of `require' (or something else) that will override bindings that come from another module, rather than complaining about them. In other words, I want to say that I prefer SRFI 1 above other modules if there are any conflicts. Is this just totally incompatible with the goals of the module system design? What other options do I have to deal with this problem? --dougo@ccs.neu.edu From dskippy at ccs.neu.edu Thu Dec 12 21:11:46 2002 From: dskippy at ccs.neu.edu (Mike T. Machenry) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] module name clashes In-Reply-To: <15865.16268.405675.991220@vega.ccs.neu.edu> References: <15865.16268.405675.991220@vega.ccs.neu.edu> Message-ID: <20021213021146.GA8871@denali.ccs.neu.edu> You could use the prefix facility in the require statement. (require (prefix s: (lib "1.ss" "srfi"))) I think that's the proper syntax or close to it. The you reference anything provided by the srfi as s:foo instead of just foo. -mike On Thu, Dec 12, 2002 at 09:01:48PM -0500, Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I'd like to use the SRFI modules from the Schematics project, but it's > causing me some problems because it duplicates some of the stuff in > MzLib. For example: > > > (module foo (lib "plt-pretty-big-text.ss" "lang") > (require (lib "1.ss" "srfi"))) > STDIN::338: module: identifier already imported (from a different source) at: third in: (require (lib "1.ss" "srfi")) > > Now, I guess I could go through the two modules' `provide' statements > and figure out all the duplicate definitions and use `all-except' in a > `require' statement, but that seems pretty tedious (and fragile). I > suppose I could get rid of MzLib's "list.ss" and require all the other > MzLib modules by hand, but again this is tedious, and what if I really > still want something provided by MzLib's list module that isn't > provided by SRFI 1? > > What I think I want is a form of `require' (or something else) that > will override bindings that come from another module, rather than > complaining about them. In other words, I want to say that I prefer > SRFI 1 above other modules if there are any conflicts. Is this just > totally incompatible with the goals of the module system design? What > other options do I have to deal with this problem? > > --dougo@ccs.neu.edu From dougo at ccs.neu.edu Thu Dec 12 21:35:27 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:55 2009 Subject: [plt-scheme] hash-table reflection Message-ID: <15865.18287.312195.18110@vega.ccs.neu.edu> It would be nice if I could tell what flags a hash-table was created with (i.e. 'weak or 'equal). Otherwise there's no way to implement a general hash-table-copy. I suppose I'd be happy if MzScheme included its own hash-table-copy, although since what I really want is deep-copy, I'd just have to go and replace all the values with copies anyway, so doing the shallow copy first is probably a waste of time... --dougo@ccs.neu.edu From neil at neilvandyke.org Fri Dec 13 02:12:09 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] slib packaging Message-ID: <15865.34889.36416.16309@neilvandyke.org> For SLIB use from within PLT, the current best approach for my needs seems to be to use the standard "slibinit" collection and unpack the latest SLIB in the PLT tree as "collects/slib". I've not yet used SLIB, so perhaps someone could advise whether it would be good for me to package SLIB in the following way: * Package SLIB as an "slib.plt" that installs an "slib" collection. * Do not modify any of the SLIB files, nor attempt to turn them into individual PLT modules. At least not just yet. * Provide SLIB documentation in HTML format, with keywords index file that works with the Help Desk. * Incorporate contents of "slibinit" so that this packaging can be used by requiring `(lib "load.ss" "slib")', without disrupting use of "slibinit" (which would remain). Or if someone else wants to make an "slib.plt", I'm happy to defer to them. -- http://www.neilvandyke.org/ From jenkinss at etsu.edu Fri Dec 13 09:57:36 2002 From: jenkinss at etsu.edu (Steven Jenkins) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] DrScheme Install on RedHat 8 References: <20021212173956.BEC126B530@amber.ccs.neu.edu> Message-ID: <106801c2a2b7$f96584d0$381f8d97@ETSUCS.ETSU.EDU> Is someone working on getting RPMS put together for RH8? Thanks, Steven ----- Original Message ----- From: "Paul Graunke" To: "Max A. Lawton" Cc: "plt-scheme mailing list" Sent: Thursday, December 12, 2002 12:39 PM Subject: Re: [plt-scheme] DrScheme Install on RedHat 8 > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > The RPMS were not built for Redhat 8. > Running > ${PLTHOME}/bin/setup-plt > will speed up DrScheme considerably if it failed to run > during the RPM installation. > > Paul > > At Thu, 12 Dec 2002 12:19:22 -0500 (EST), "Max A. Lawton" wrote: > > For list-related administrative tasks: > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > > I recently downloaded the redhat RPM for DrScheme 202. > > When I installed it (rpm -ivh --force plt-202-1.i386.rpm): > > > > [root@sappho download]# rpm -ivh --force plt-202-1.i386.rpm > > Preparing... ########################################### > > [100%] > > 1:plt ########################################### > > [100%] > > /var/tmp/rpm-tmp.33722: line 12: RPM_INSTALL_PREFIX: parameter null or not > > set > > error: %post(plt-202-1) scriptlet failed, exit status 1 > > > > ;;----------------------- > > > > ;it did, however, install to /usr/local/lib/plt-202. > > > > when I tried to run ./drscheme in /usr/local/lib/plt-202/bin/: > > ./drscheme: line 67: /usr/src/redhat/BUILD/plt/bin/mred: No such file or > > directory > > ./drscheme: line 67: exec: /usr/src/redhat/BUILD/plt/bin/mred: cannot > > execute: No such file or directory > > > > ;;---- > > > > so I went ahead and opened up ./drscheme in emacs and found the following: > > if [ "$PLTHOME" = '' ] ; then > > PLTHOME="/usr/src/redhat/BUILD/plt" > > export PLTHOME > > fi > > > > and on line 67: > > > > exec "${PLTHOME}/bin/mred" > > > > So I created /etc/profile.d/drscheme.sh which contained: > > "export PLTHOME=/usr/local/lib/plt-202" > > > > so, now my little launcher for /usr/local/lib/plt-202/bin/drscheme > > [complete with nifty plt.xpm icon :) ] works. > > > > So, the problem was that rpm choked. Does anyone know what could have > > caused this problem and how to fix it at the installer level? > > > > #| PROBLEM 2 |# > > Now that my little shortcut works, I can run DrScheme. This would be so > > utterly wonderful were it not for the fact that it runs slower than > > Boston's Orange Line. > > ( > > time /usr/local/lib/plt-202/bin/drscheme > > > > real 1m19.955s > > user 1m12.049s > > sys 0m0.590s > > ) > > > > I would expect this kind of a wait under windows on this 1GHz Duron, not > > under linux. However, on my 1.5GHz p3m laptop running redhat 7.3, > > DrScheme loads in seeming 75% of the time it takes on the same machine > > under WindowsXP Home. > > > > Are there just some changes in 8 that would cause it to run slower, thus > > giving me no choice but to revert to 7.3 (and lose that oh-so-valuable > > hardware support) or stick with 8 and deal with syntax highlighting in > > turtle mode? (or just use emacs, quack, and mzscheme) > > > > thanks, and I hope some of this has been useful. > > > > --Max Lawton > > From steck at ccs.neu.edu Fri Dec 13 11:02:35 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] DrScheme Install on RedHat 8 In-Reply-To: <106801c2a2b7$f96584d0$381f8d97@ETSUCS.ETSU.EDU> Message-ID: <000401c2a2c1$0d37e530$70730a81@NORTHEASDX5RFA> > Is someone working on getting RPMS put together for RH8? I think that PLT will not be building RPMs for RH8 -- we don't have a machine setup for that. -- Paul From dbtucker at cs.brown.edu Fri Dec 13 12:06:56 2002 From: dbtucker at cs.brown.edu (David B. Tucker) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] expander language Message-ID: <20021213170655.GA11617@cs.brown.edu> The expander repl isn't particularly convenient -- right now it just prints #, and when you click on that you get an enormous "general info" window. Most of the time, I would rather it just printed out the expanded sexp, which takes less room and doesn't require me to click on the result. Are there any plans to support that? Thanks. Dave From clements at brinckerhoff.org Fri Dec 13 13:27:32 2002 From: clements at brinckerhoff.org (John Clements) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] expander language In-Reply-To: <20021213170655.GA11617@cs.brown.edu> Message-ID: <8B23F9DB-0EC8-11D7-8CDE-00039311268C@brinckerhoff.org> On Friday, December 13, 2002, at 12:06 PM, David B. Tucker wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > The expander repl isn't particularly convenient -- right now it just > prints #, and when you click on that you get an enormous > "general info" window. > > Most of the time, I would rather it just printed out the expanded > sexp, which takes less room and doesn't require me to click on the > result. Are there any plans to support that? > > Thanks. > > Dave I disagree. The current behavior is the more general one, and typically, that general info _is_ something you want to see. Well, let me withdraw my assertion about "you"; it's something that _I_ want to see. Also, if you really want to see the datum form, and you're doing it enough times to be agitated about the overhead of clicking of the triangle, why not just wrap the expression you want to expand in (syntax-object->datum (expand ...)) and be done with it? john p.s.: handy tip that took me too long to figure out: if what you want is to see the expansion of the thing in beginner language, you can just wrap the syntax you're interested in with a (module foo (lib "htdp-beginner.ss" "lang") ...) . Apologies if you already knew that. From matthias at ccs.neu.edu Fri Dec 13 22:28:01 2002 From: matthias at ccs.neu.edu (Matthias Felleisen) Date: Thu Mar 26 00:51:56 2009 Subject: [plt-scheme] another Scheme programmer needed Message-ID: <20021214032801.E0994128@qua.cs.brown.edu> There is a need for another Scheme programmer. Ideal in this order: 1. knows Scheme really well; 2. can tolerate Java; 3. wants to do Web hacking; 4. has BS in computer science, but MS is better, PhD is probably overqualified 5. is North American citizen; *. and willing to live in nice weather :-). Also, must make up your mind to apply in 5 days. Drop me a line. I'll summarize and forward. -- Matthias From robby at cs.uchicago.edu Sat Dec 14 00:07:37 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] expander language In-Reply-To: <20021213170655.GA11617@cs.brown.edu> References: <20021213170655.GA11617@cs.brown.edu> Message-ID: <20021214050737.BTXP6889.mailhost.chi1.ameritech.net@localhost> If all you are interested in is the datum, just do as John pointed out and use syntax-object->datum. The syntax browser is really for syntax objects where you need to know the internal structure of the properties and whatnot. (In fact, most of the time for me, the general info box is far smaller than the sexp representation of the syntax object). At Fri, 13 Dec 2002 12:06:56 -0500, "David B. Tucker" wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > The expander repl isn't particularly convenient -- right now it just > prints #, and when you click on that you get an enormous > "general info" window. > > Most of the time, I would rather it just printed out the expanded > sexp, which takes less room and doesn't require me to click on the > result. Are there any plans to support that? > > Thanks. > > Dave From markj+0111 at cloaked.freeserve.co.uk Fri Dec 13 06:53:48 2002 From: markj+0111 at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> Message-ID: Neil W. Van Dyke wrote: > For SLIB use from within PLT, the current best approach for my needs > seems to be to use the standard "slibinit" collection and unpack the > latest SLIB in the PLT tree as "collects/slib". Shouldn't there be one slib copy per system, probably in /usr/lib/slib or /usr/share/slib? (I've not checked FHS on this one, hence the two options.) Only the PLT-specifics should be in /usr/lib/plt, really, such as the catalogue. Packaging a PLT-specific SLIB seems contradictory to me. My Opinion Only. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From kumo at bellsouth.net Sat Dec 14 18:29:07 2002 From: kumo at bellsouth.net (David Rush) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] slib packaging In-Reply-To: References: <15865.34889.36416.16309@neilvandyke.org> Message-ID: MJ Ray writes: > Neil W. Van Dyke wrote: > > For SLIB use from within PLT, the current best approach for my needs > > seems to be to use the standard "slibinit" collection and unpack the > > latest SLIB in the PLT tree as "collects/slib". > > Shouldn't there be one slib copy per system, probably in /usr/lib/slib or > /usr/share/slib? (I've not checked FHS on this one, hence the two options.) ||||||||||||||| +++++++++++++++ would be correct I believe. assuming you believe that FHS is holy writ. > Packaging a PLT-specific SLIB seems contradictory to me. My Opinion Only. Unfortunately, it can be necessary. SLIB, while a wonderful collection of software, is...um..."environmentally sensitive". It does a lot of magic at run-time, and if you don't want to invoke SLIB's run-time magic (e.g. you're using it in compiled code) you've got to find other ways to work with it. I imagine that the interaction of PLT's module system and SLIB's module system is the root of the PLT-specific SLIB install. It certainly was part of my pain when getting S2[1] to stitch SLIB code into a PLT-targetted source file. david rush [1] S2 is my Scheme preprocessor. It lexically mangles modules into a single source file for whole program compilation and optimization. PLT is one of the output targets 1) because I can, and 2) because then I only have to remember one module system. -- Scheme: Because everything is a function. -- Anton van Straaten (the Scheme Marketing Dept from c.l.s) From neil at neilvandyke.org Sun Dec 15 09:53:19 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] slib packaging In-Reply-To: References: <15865.34889.36416.16309@neilvandyke.org> Message-ID: <15868.38751.305980.246649@neilvandyke.org> MJ Ray writes at 11:53 13-Dec-2002 GMT: > Packaging a PLT-specific SLIB seems contradictory to me. Understood. My motivation was mostly distribution-related: if I wanted to distribute a PLT package with dependencies on SLIB code, then having an "slib.plt" greatly simplifies cross-platform installation. In absense of an "slib.plt", the documentation, support, and usability costs would in most cases hit the threshold at which I decide not to use SLIB. (Actually, I no longer have an immediate need for SLIB, so this packaging idea has been moved to the back burner.) -- http://www.neilvandyke.org/ From jensaxel at soegaard.net Sun Dec 15 10:12:08 2002 From: jensaxel at soegaard.net (=?Windows-1252?Q?Jens_Axel_S=F8gaard?=) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> Message-ID: <039001c2a44c$57874db0$2e00000a@Lr30JS> Neil W. Van Dyke wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > MJ Ray writes at 11:53 13-Dec- > 2002 GMT: >> Packaging a PLT-specific SLIB seems contradictory to me. > > Understood. My motivation was mostly distribution-related: if I > wanted to distribute a PLT package with dependencies on SLIB code, > then having an "slib.plt" greatly simplifies cross-platform > installation. Very true. And in light of the letters on this list and on comp.lang.scheme, it is not that trivial to install it correctly. > In absense of an "slib.plt", the documentation, support, and usability > costs would in most cases hit the threshold at which I decide not to > use SLIB. I have the same feeling. -- Jens Axel S?gaard From patrickdlogan at attbi.com Sun Dec 15 11:48:03 2002 From: patrickdlogan at attbi.com (patrickdlogan@attbi.com) Date: Thu Mar 26 00:51:57 2009 Subject: [plt-scheme] Re: Question about scheme os for information appliances Message-ID: <20021215164805.3453F139@qua.cs.brown.edu> [Just joined this list. Just started using PLT Scheme.] Another use for a "Lisp OS" would be in the "blade server" area. The "autonomic computing" idea is appealing... self-managing applications and services. (http://www.research.ibm.com/autonomic/overview/) Rather than retrofit existing database and app-server architectures to be self-managing, re-invent better architectures, build them in Scheme, load them into a box, and sell them. Also the "model driven architecture" idea is appealing... but the models and targets are still pretty cumbersome. What is people without a lot of CS could define models, package them into self-managing boxes, and sell them? -Patrick From dougo at ccs.neu.edu Sun Dec 15 15:54:04 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] encryption? Message-ID: <15868.60396.703296.183849@vega.ccs.neu.edu> Has anyone written any encryption code for PLT Scheme? I couldn't find anything in MzScheme, MzLib, or any of the contrib packages. I'd be happy with just some bindings to libc's crypt() function. I need to do some web account management and I don't want to store passwords in plaintext. --dougo@ccs.neu.edu From jensaxel at soegaard.net Sun Dec 15 16:36:51 2002 From: jensaxel at soegaard.net (=?iso-8859-1?Q?Jens_Axel_S=F8gaard?=) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] encryption? References: <15868.60396.703296.183849@vega.ccs.neu.edu> Message-ID: <04da01c2a482$1571f9d0$2e00000a@Lr30JS> Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Has anyone written any encryption code for PLT Scheme? I couldn't > find anything in MzScheme, MzLib, or any of the contrib packages. I'd > be happy with just some bindings to libc's crypt() function. I need > to do some web account management and I don't want to store passwords > in plaintext. Then you will be better off using a hash function. Like md5 :-) http://www.scheme.dk/md5/ Remember to use the PLT functions for arithmetic - the speed gain is substantial. -- Jens Axel S?gaard From ryan_sml at yahoo.com Sun Dec 15 16:50:27 2002 From: ryan_sml at yahoo.com (Ryan Culpepper) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] encryption? In-Reply-To: <15868.60396.703296.183849@vega.ccs.neu.edu> Message-ID: <20021215215027.38278.qmail@web14311.mail.yahoo.com> --- Doug Orleans wrote: > Has anyone written any encryption code for PLT Scheme? I couldn't > find anything in MzScheme, MzLib, or any of the contrib packages. > I'd > be happy with just some bindings to libc's crypt() function. I > need > to do some web account management and I don't want to store > passwords > in plaintext. spgsql has bindings for crypt() and PostgreSQL's idea of md5-hashed passwords (I don't know whether it's standard or not). The code for crypt() needs to be compiled with mzc, but md5 uses Jens Axel Søgaard's implementation in Scheme. You can look at the code in cvs at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/schematics/src/libs/database/spgsql/crypto/ Ryan __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From pocm at mega.ist.utl.pt Sun Dec 15 23:28:03 2002 From: pocm at mega.ist.utl.pt (Paulo Jorge O. C. Matos) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] encryption? In-Reply-To: <15868.60396.703296.183849@vega.ccs.neu.edu> References: <15868.60396.703296.183849@vega.ccs.neu.edu> Message-ID: <3DFD5653.3060904@mega.ist.utl.pt> Hi, I implemented the RC4 encryption algorithm in PLT Scheme. If you'd like to check the code please send me an email. Best regards, Paulo Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Has anyone written any encryption code for PLT Scheme? I couldn't > find anything in MzScheme, MzLib, or any of the contrib packages. I'd > be happy with just some bindings to libc's crypt() function. I need > to do some web account management and I don't want to store passwords > in plaintext. > > --dougo@ccs.neu.edu > -- Paulo J. Matos : pocm(_at_)mega.ist.utl.pt Instituto Superior Tecnico - Lisbon Software & Computer Engineering - A.I. - > http://mega.ist.utl.pt/~pocm --- Yes, God had a deadline... So, He wrote it all in Lisp! From markj at cloaked.freeserve.co.uk Mon Dec 16 06:34:55 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> Message-ID: Neil W. Van Dyke wrote: > to distribute a PLT package with dependencies on SLIB code, then having > an "slib.plt" greatly simplifies cross-platform installation. I suspect it depends what you regard as a "platform". If you are using a system with package management of its own, then dependencies outside the PLT system (eg databases, SLIB) can be handled easily by that way. If you do package a slib.plt, please do not modify the not-normally-modified parts of the upstream sources. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From neil at neilvandyke.org Mon Dec 16 08:03:10 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:51:58 2009 Subject: [plt-scheme] slib packaging In-Reply-To: References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> Message-ID: <15869.53006.178310.332523@neilvandyke.org> MJ Ray writes at 11:34 16-Dec-2002 GMT: > I suspect it depends what you regard as a "platform". If you are using a > system with package management of its own, then dependencies outside the PLT > system (eg databases, SLIB) can be handled easily by that way. I'm sympathetic to your concerns about portability, and probably anyone who is writing portable Scheme code that uses SLIB will want to have a shared SLIB installation. However, if a user wants to install a PLT-specific package "foo.plt", and there's a dependency on SLIB, we have the problem that there are numerous different ways to install SLIB, and not all of them will work the first time that "foo.plt" attempts to load SLIB. Having an "slib.plt" saves users time and frustration, and increases the number of people who will end up successfully installing "foo.plt" -- because they decided the installation process was easy enough to try in the first place, and because there are fewer things that can go wrong. I think this demonstrates some of the motivation for PLT's cross-platform package manager. -- http://www.neilvandyke.org/ From dimitry at gashinsky.com Sun Dec 15 21:01:45 2002 From: dimitry at gashinsky.com (Dimitry Gashinsky) Date: Thu Mar 26 00:51:59 2009 Subject: [plt-scheme] compiling error on for 3m Message-ID: <200212160201.gBG21jTP009009@beaver.digash.com> I tried compiling plt with 3m from exp tagged cvs. It fails: make ../mred3m make[3]: Entering directory `/usr/local/plt/src/mred/gc2' ../../mzscheme/mzscheme3m -rq ./../../mzscheme/gc2/xform.ss ./../../mzscheme/gc2/ctok.ss "gcc -E -I./../../mzscheme/gc2 -I/usr/X11R6/include -I./../../wxxt/src/AIAI-include -I./../../wxxt/src -I./../../mred/wxme/ -I./../../mzscheme/include/ -DOPERATOR_NEW_ARRAY -DUSE_GL -Dwx_xt -I./../../wxxt/src/XWidgets -I./../../wxxt/src -I./../../wxcommon/jpeg -I../../wxcommon/jpeg" ./../../wxxt/src/Windows/Window.cc xsrc/Window.cc xform: unknown form: (#4(struct:tok __extension__ 112 "/usr/include/stdlib.h") #4(struct:tok typedef 112 "/usr/include/stdlib.h") #4(struct:tok struct 112 "/usr/include/stdlib.h") #5(struct:braces "{" 113 "/usr/include/stdlib.h" ...)) make[3]: *** [xsrc/Window.cc] Error 1 My machine is running Linux. I can compile mz3m with no errors. Could somebody help? Thanks, Dima From mflatt at cs.utah.edu Mon Dec 16 13:14:44 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:51:59 2009 Subject: [plt-scheme] compiling error on for 3m In-Reply-To: <200212160201.gBG21jTP009009@beaver.digash.com> References: <200212160201.gBG21jTP009009@beaver.digash.com> Message-ID: <200212161814.gBGIEhP11502@wrath.cs.utah.edu> I'll fix this soon, but unfortunately not before the v203 release. The problem is that new Linux headers rely on gcc features more than before, and some of them confuse the plain-to-3m code converter. (This may be a problem only when using gcc3, also. I'm not sure.) Matthew At Sun, 15 Dec 2002 21:01:45 -0500 (EST), Dimitry Gashinsky wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I tried compiling plt with 3m from exp tagged cvs. It fails: > > make ../mred3m > make[3]: Entering directory `/usr/local/plt/src/mred/gc2' > ../../mzscheme/mzscheme3m -rq ./../../mzscheme/gc2/xform.ss > ./../../mzscheme/gc2/ctok.ss "gcc -E -I./../../mzscheme/gc2 - > I/usr/X11R6/include -I./../../wxxt/src/AIAI-include -I./../../wxxt/src - > I./../../mred/wxme/ -I./../../mzscheme/include/ -DOPERATOR_NEW_ARRAY -DUSE_GL - > Dwx_xt -I./../../wxxt/src/XWidgets -I./../../wxxt/src -I./../../wxcommon/jpeg - > I../../wxcommon/jpeg" ./../../wxxt/src/Windows/Window.cc xsrc/Window.cc > xform: unknown form: (#4(struct:tok __extension__ 112 "/usr/include/stdlib.h") > #4(struct:tok typedef 112 "/usr/include/stdlib.h") #4(struct:tok struct 112 > "/usr/include/stdlib.h") #5(struct:braces "{" 113 "/usr/include/stdlib.h" ...)) > make[3]: *** [xsrc/Window.cc] Error 1 > > My machine is running Linux. I can compile mz3m with no errors. Could somebody > help? > > Thanks, > Dima > From dougo at ccs.neu.edu Mon Dec 16 14:53:55 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:51:59 2009 Subject: [plt-scheme] reloading servlets and modules Message-ID: <15870.12115.505646.622942@vega.ccs.neu.edu> This issue has been brought up before, e.g. http://list.cs.brown.edu/pipermail/plt-scheme/2002-August/000309.html but I didn't see any responses. I'm starting to develop some servlets, and it's a little tedious to have to visit the conf/refresh-servlets URL every time I want to test some changes to the servlet. Is there something I can put in the servlet file to prevent the unit from being cached? I'm guessing there's no specific support for this, but I'm wondering if there's some trick that I'm not thinking of. Perhaps a "Refresh" button that activated the refresh-servlets link, and then immediately reloaded the servlet page? (I'd like to avoid Javascript if possible, although this is mostly due to ignorance and laziness rather than any specific aversion...) Anyway, a similar but different problem is that if I'm developing a support module, I have to restart the whole server (in fact the whole Scheme process) if I want to make changes to a module. Perhaps this doesn't seem like such a terrible thing: I should be developing on a private server, anyway, so if I have some public server that wants to keep its session data as long as possible I will only need to restart it when installing a new tested version of a module. Still, it just seems draconian to force a reboot in order to upgrade any component-- this isn't Windows! I've tried re`load'ing the module file and requiring the module by name, and this usually seems to work, but I'm a little wary of its generality. I guess another thing I could do is write a custom module name resolver that doesn't cache modules, or perhaps checks file timestamps to determine if a module should be reloaded. Is this the right answer? Has anyone else tried this? What exactly is the "variant of `load/use-compiled'" that the standard module name resolver uses? --dougo@ccs.neu.edu From ptg at ccs.neu.edu Mon Dec 16 15:15:08 2002 From: ptg at ccs.neu.edu (Paul Graunke) Date: Thu Mar 26 00:51:59 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <15870.12115.505646.622942@vega.ccs.neu.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> Message-ID: <20021216201508.081466B59A@amber.ccs.neu.edu> At Mon, 16 Dec 2002 14:53:55 -0500 (EST), Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > This issue has been brought up before, e.g. > > http://list.cs.brown.edu/pipermail/plt-scheme/2002-August/000309.html > > but I didn't see any responses. > > I'm starting to develop some servlets, and it's a little tedious to > have to visit the conf/refresh-servlets URL every time I want to test > some changes to the servlet. Is there something I can put in the > servlet file to prevent the unit from being cached? I'm guessing > there's no specific support for this, but I'm wondering if there's > some trick that I'm not thinking of. Perhaps a "Refresh" button that > activated the refresh-servlets link, and then immediately reloaded the > servlet page? (I'd like to avoid Javascript if possible, although > this is mostly due to ignorance and laziness rather than any > specific aversion...) Use the development environment. It avoids the need to use the refresh-servlets URL. > > Anyway, a similar but different problem is that if I'm developing a > support module, I have to restart the whole server (in fact the whole > Scheme process) if I want to make changes to a module. Perhaps this > doesn't seem like such a terrible thing: I should be developing on a > private server, anyway, so if I have some public server that wants to > keep its session data as long as possible I will only need to restart > it when installing a new tested version of a module. Still, it just > seems draconian to force a reboot in order to upgrade any component-- > this isn't Windows! > > I've tried re`load'ing the module file and requiring the module by > name, and this usually seems to work, but I'm a little wary of its > generality. I guess another thing I could do is write a custom > module name resolver that doesn't cache modules, or perhaps checks > file timestamps to determine if a module should be reloaded. > Is this the right answer? Has anyone else tried this? > What exactly is the "variant of `load/use-compiled'" that the > standard module name resolver uses? > > --dougo@ccs.neu.edu The server could integrate with modules better. There are, however, some trade-offs regarding sharing. Which modules share namespaces and which are separated? There's probably a good way to express this, but it will require some thought. In the mean time reloading the module (and hope the upgrade doesn't break existing code) is probably your best bet. Paul From robby at cs.uchicago.edu Mon Dec 16 15:19:57 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:51:59 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <15870.12115.505646.622942@vega.ccs.neu.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> Message-ID: <200212162019.gBGKJvr03602@laime.cs.uchicago.edu> I'm not sure if Paul's answers made everything clear, but clicking execute in drscheme should also reload all modules. Really, using the IDE is best way to D! If there's something missing, either Paul G. or I should be fixing it, I expect. Robby At Mon, 16 Dec 2002 14:53:55 -0500 (EST), Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > This issue has been brought up before, e.g. > > http://list.cs.brown.edu/pipermail/plt-scheme/2002-August/000309.html > > but I didn't see any responses. > > I'm starting to develop some servlets, and it's a little tedious to > have to visit the conf/refresh-servlets URL every time I want to test > some changes to the servlet. Is there something I can put in the > servlet file to prevent the unit from being cached? I'm guessing > there's no specific support for this, but I'm wondering if there's > some trick that I'm not thinking of. Perhaps a "Refresh" button that > activated the refresh-servlets link, and then immediately reloaded the > servlet page? (I'd like to avoid Javascript if possible, although > this is mostly due to ignorance and laziness rather than any > specific aversion...) > > Anyway, a similar but different problem is that if I'm developing a > support module, I have to restart the whole server (in fact the whole > Scheme process) if I want to make changes to a module. Perhaps this > doesn't seem like such a terrible thing: I should be developing on a > private server, anyway, so if I have some public server that wants to > keep its session data as long as possible I will only need to restart > it when installing a new tested version of a module. Still, it just > seems draconian to force a reboot in order to upgrade any component-- > this isn't Windows! > > I've tried re`load'ing the module file and requiring the module by > name, and this usually seems to work, but I'm a little wary of its > generality. I guess another thing I could do is write a custom > module name resolver that doesn't cache modules, or perhaps checks > file timestamps to determine if a module should be reloaded. > Is this the right answer? Has anyone else tried this? > What exactly is the "variant of `load/use-compiled'" that the > standard module name resolver uses? > > --dougo@ccs.neu.edu From jsmall at atlantech.net Mon Dec 16 15:36:07 2002 From: jsmall at atlantech.net (John W. Small) Date: Thu Mar 26 00:52:00 2009 Subject: [plt-scheme] eval and namespaces question Message-ID: <00a401c2a542$c38800d0$6aeab7d1@rogareom43smvz> Hi, I'd like to define values within a module context using eval: (module foo mzscheme (eval '(define x 1))) and require them in another module: (module bar mzscheme (require foo) x ; error: expand: unbound variable x ) Since eval defines X at the top level of the current namespace it isn't seen within the bar module. Is there a way to require the top level in bar or alternatively eval within the namespace of the module foo? I'm sorry I don't understand namespaces mechanics. Thanks! John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021216/badd9270/attachment.htm From dougo at ccs.neu.edu Mon Dec 16 15:31:38 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:00 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <20021216201508.081466B59A@amber.ccs.neu.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> <20021216201508.081466B59A@amber.ccs.neu.edu> Message-ID: <15870.14378.281678.349913@vega.ccs.neu.edu> Paul Graunke writes: > Use the development environment. It avoids the need to use the > refresh-servlets URL. I assume you mean the "Execute" button in DrScheme. How is this different from restarting the server? --dougo@ccs.neu.edu From dougo at ccs.neu.edu Mon Dec 16 15:38:58 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:00 2009 Subject: [plt-scheme] getting the current module directory Message-ID: <15870.14818.970985.289049@vega.ccs.neu.edu> I need to get a module's directory from inside the module. Here's what I came up with: (module foo mzscheme (define *dir* (let-syntax ((current-module-directory (lambda (stx) (datum->syntax-object stx (current-load-relative-directory))))) (current-module-directory))) (provide *dir*)) This seems to do the trick: Welcome to MzScheme version 202.6, Copyright (c) 1995-2002 PLT > (current-directory) "/home/dougo/fred/scratch" > (require "subdir/foo.scm") > *dir* "/home/dougo/fred/scratch/subdir/" What I'm wondering is, is this a clever hack or a gross misuse of macros? Is there a better way to do it? --dougo@ccs.neu.edu From robby at cs.uchicago.edu Mon Dec 16 15:40:11 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] getting the current module directory In-Reply-To: <15870.14818.970985.289049@vega.ccs.neu.edu> References: <15870.14818.970985.289049@vega.ccs.neu.edu> Message-ID: <200212162040.gBGKeBr04549@laime.cs.uchicago.edu> That's the idea, but you might want to use etc.ss's this-expression-source-directory. At Mon, 16 Dec 2002 15:38:58 -0500 (EST), Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I need to get a module's directory from inside the module. Here's > what I came up with: > > (module foo mzscheme > (define *dir* > (let-syntax ((current-module-directory > (lambda (stx) > (datum->syntax-object > stx (current-load-relative-directory))))) > (current-module-directory))) > (provide *dir*)) > > This seems to do the trick: > > Welcome to MzScheme version 202.6, Copyright (c) 1995-2002 PLT > > (current-directory) > "/home/dougo/fred/scratch" > > (require "subdir/foo.scm") > > *dir* > "/home/dougo/fred/scratch/subdir/" > > What I'm wondering is, is this a clever hack or a gross misuse of macros? > Is there a better way to do it? > > --dougo@ccs.neu.edu From robby at cs.uchicago.edu Mon Dec 16 15:40:35 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <15870.14378.281678.349913@vega.ccs.neu.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> <20021216201508.081466B59A@amber.ccs.neu.edu> <15870.14378.281678.349913@vega.ccs.neu.edu> Message-ID: <200212162040.gBGKeZr04573@laime.cs.uchicago.edu> At Mon, 16 Dec 2002 15:31:38 -0500 (EST), Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Paul Graunke writes: > > Use the development environment. It avoids the need to use the > > refresh-servlets URL. > > I assume you mean the "Execute" button in DrScheme. How is this > different from restarting the server? In theory it's the same thing; in practice it should be easier to use. Robby From robby at cs.uchicago.edu Mon Dec 16 15:41:35 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] eval and namespaces question In-Reply-To: <00a401c2a542$c38800d0$6aeab7d1@rogareom43smvz> References: <00a401c2a542$c38800d0$6aeab7d1@rogareom43smvz> Message-ID: <200212162041.gBGKfZr04616@laime.cs.uchicago.edu> Why not just do this: (moulde foo mzscheme (provide x) (define x 1)) ? Or, put another way, if you really need the toplevel eval-conforming semantics, dont' use modules. Robby At Mon, 16 Dec 2002 15:36:07 -0500, "John W. Small" wrote: > ------------------------------------------------------------------------------ > Hi, > > I'd like to define values within a module context using eval: > > (module foo mzscheme > (eval '(define x 1))) > > and require them in another module: > > (module bar mzscheme > (require foo) > x ; error: expand: unbound variable x > ) > > Since eval defines X at the top level of the current namespace it isn't > seen within the bar module. Is there a way to require the top level in bar > or alternatively eval within the namespace of the module foo? I'm sorry > I don't understand namespaces mechanics. > > Thanks! > > John > > > > ------------------------------------------------------------------------------ From dougo at ccs.neu.edu Mon Dec 16 15:54:22 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] eval and namespaces question In-Reply-To: <00a401c2a542$c38800d0$6aeab7d1@rogareom43smvz> References: <00a401c2a542$c38800d0$6aeab7d1@rogareom43smvz> Message-ID: <15870.15742.667512.705480@vega.ccs.neu.edu> John W. Small writes: > > I'd like to define values within a module context using eval: > > (module foo mzscheme > (eval '(define x 1))) > > and require them in another module: > > (module bar mzscheme > (require foo) > x ; error: expand: unbound variable x > ) This may be a silly answer, but how about: (eval '(module foo mzscheme (define x 1) (provide x))) By the way, I think expressions in a module body are only evaluated for side-effect, so just putting `x' in the body won't do anything. But you can re-provide its value: (module bar mzscheme (require foo) (define y x) (provide y)) > (require bar) > y 1 --dougo@ccs.neu.edu From dougo at ccs.neu.edu Mon Dec 16 15:59:48 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <200212162040.gBGKeZr04573@laime.cs.uchicago.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> <20021216201508.081466B59A@amber.ccs.neu.edu> <15870.14378.281678.349913@vega.ccs.neu.edu> <200212162040.gBGKeZr04573@laime.cs.uchicago.edu> Message-ID: <15870.16068.313386.99882@vega.ccs.neu.edu> Robert Bruce Findler writes: > At Mon, 16 Dec 2002 15:31:38 -0500 (EST), Doug Orleans wrote: > > Paul Graunke writes: > > > Use the development environment. It avoids the need to use the > > > refresh-servlets URL. > > > > I assume you mean the "Execute" button in DrScheme. How is this > > different from restarting the server? > > In theory it's the same thing; in practice it should be easier to use. Well, the goal was to avoid restarting the server. But maybe that's just something I shouldn't want to avoid. HTTP was designed to be stateless, after all... --dougo@ccs.neu.edu From dougo at ccs.neu.edu Mon Dec 16 17:23:30 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:01 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <15870.12115.505646.622942@vega.ccs.neu.edu> References: <15870.12115.505646.622942@vega.ccs.neu.edu> Message-ID: <15870.21090.212507.809031@vega.ccs.neu.edu> Doug Orleans writes: > I've tried re`load'ing the module file and requiring the module by > name, and this usually seems to work, but I'm a little wary of its > generality. Well, for the record, I've already run into a problem with this: subdir/foo.scm: (module foo mzscheme (require "bar.scm") (display x) (newline)) subdir/bar.scm: (module bar mzscheme (define x 1) (provide x)) > (require "subdir/foo.scm") 1 > (load "subdir/foo.scm") > (require foo) default-load-handler: cannot open input file: "/home/dougo/fred/scratch/bar.scm" (No such file or directory; errno=2) I'm hesitant to call this a bug, since it's not really the intended usage of loading modules, but it does sort of seem like `require' should use the module directory (see that other thread...) for relative path strings, rather than the runtime value of `(current-load-relative-directory)' (or, in this case, `(current-directory)') when the module is actually invoked. --dougo@ccs.neu.edu From doon at infoscientific.com Mon Dec 16 18:10:42 2002 From: doon at infoscientific.com (Harry Reed) Date: Thu Mar 26 00:52:02 2009 Subject: [plt-scheme] Problen with MzScheme/examples/bitmatrix.c under win32 Message-ID: <02d501c2a558$933b5740$d84158cf@furball> Hi, I am going through the ffi examples located in plt\collects\mzscheme\examples. Under Win32 the examples seem to work generally OK with the exception of bitmatrix.c. Has anyone gotten the bitmatrix example extension in the examples directory to work under Win32? The debugger tells me that the Scheme_Object *'s add & mult (etc.), after having been initialized in scheme_initialize(...). are NULL They, therefore, crash MxScheme/MrEd whenever add/mult/etc. are dereferenced. Being a real Scheme newbie I cannot tell if the initialization calls in scheme_initialize() are correct etc., but I assume that at one time bitmatrix.c was functional under win32. If anybody has a solution I would appreciate knowing how to fix this. -- Harry W. Reed | Never ascribe to malice that which can doon@infoscientific.com | adequately be explained by stupidity. +--------------------+--------------------+----------------------------------+ "Of all tyrannies a tyranny sincerely exercised for the good of its victims may be the most oppressive. It may be better to live under robber barons than under omnipotent moral busybodies, The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for own good will torment us without end, for they do so with the approval of their own conscience." - C.S. Lewis, _God in the Dock_ +--------------------+--------------------+----------------------------------+ "Truth often suffers more by the heat of its defenders than the arguments of its opponents." -- Sir William Penn +--------------------+--------------------+----------------------------------+ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021216/ae87ac78/attachment.html From jp at cs.utexas.edu Mon Dec 16 18:13:17 2002 From: jp at cs.utexas.edu (Jefferson Provost) Date: Thu Mar 26 00:52:02 2009 Subject: [plt-scheme] current-directory and eventspaces Message-ID: <3DFE5E0D.4060706@cs.utexas.edu> I'm having some trouble understanding how changing the current directory interacts with different eventspaces. The example below creates a specialized frame which changes the current directory upon instantiation. If the new frame is created in a new eventspace, the current directory change doesn't seem to "take". However, if the object changes the current directory again, after instantiation, then it works. Without the new eventspace, everything seems to work normally. I don't get it... J. ;;;;; (define dir-tester% (class frame% ; internal directory field (init-field dir) (super-instantiate ()) (instantiate button% () (parent this) (label "Print dir") (callback (lambda (b e) (printf "dir = ~S~% (current-directory) = ~S~%" dir (current-directory))))) (instantiate button% () (parent this) (label "Select dir") (callback (lambda (b e) (set! dir (get-directory)) ; set the current directory here after selection (current-directory dir)))) ; set the current directory here on initialization (printf "Supposedly setting current-directory to ~S~%" dir) (current-directory dir) (printf "current-directory is supposedly now ~S~%" (current-directory)) )) ; ; Comment out next line to see correct behavior (current-eventspace (make-eventspace)) (define tester1 (instantiate dir-tester% () (label "Dir Tester 1") (dir "/tmp"))) (send tester1 show #t) From robby at cs.uchicago.edu Mon Dec 16 18:31:25 2002 From: robby at cs.uchicago.edu (Robert Bruce Findler) Date: Thu Mar 26 00:52:02 2009 Subject: [plt-scheme] current-directory and eventspaces In-Reply-To: <3DFE5E0D.4060706@cs.utexas.edu> References: <3DFE5E0D.4060706@cs.utexas.edu> Message-ID: <20021216233125.XVAK6889.mailhost.chi1.ameritech.net@localhost> The current-directory is thread-specific. When you create an eventspace, you create a new thread. With the commented line uncommented, you are setting the current directory in one thread (the original thread -- the main thread of the original eventspace) and then looking it up in a different thread (the callbacks are handled on the main thread of the eventspace that the frame is registered with). Probably what you want is to move the frame creation over to the other thread, like this: (current-eventspace (make-eventspace)) (queue-callback (lambda () (instantiate dir-tester% () (label "Dir Tester 1") (dir "/tmp"))))) Robby At Mon, 16 Dec 2002 17:13:17 -0600, Jefferson Provost wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > I'm having some trouble understanding how changing the current directory > interacts with different eventspaces. > > The example below creates a specialized frame which changes the current > directory upon instantiation. If the new frame is created in a new > eventspace, the current directory change doesn't seem to "take". > However, if the object changes the current directory again, after > instantiation, then it works. > > Without the new eventspace, everything seems to work normally. I don't > get it... > > J. > > ;;;;; > > > > (define dir-tester% > (class frame% > > ; internal directory field > (init-field dir) > > (super-instantiate ()) > > (instantiate button% () > (parent this) > (label "Print dir") > (callback > (lambda (b e) > (printf "dir = ~S~% (current-directory) = ~S~%" > dir (current-directory))))) > > > (instantiate button% () > (parent this) > (label "Select dir") > (callback > (lambda (b e) > (set! dir (get-directory)) > ; set the current directory here after selection > (current-directory dir)))) > > ; set the current directory here on initialization > (printf "Supposedly setting current-directory to ~S~%" dir) > (current-directory dir) > (printf "current-directory is supposedly now ~S~%" > (current-directory)) > )) > > > ; > ; Comment out next line to see correct behavior > (current-eventspace (make-eventspace)) > > (define tester1 > (instantiate dir-tester% () > (label "Dir Tester 1") > (dir "/tmp"))) > > (send tester1 show #t) From jp at cs.utexas.edu Tue Dec 17 01:19:14 2002 From: jp at cs.utexas.edu (Jefferson Provost) Date: Thu Mar 26 00:52:03 2009 Subject: [plt-scheme] current-directory and eventspaces References: <3DFE5E0D.4060706@cs.utexas.edu> <20021216233125.XVAK6889.mailhost.chi1.ameritech.net@localhost> Message-ID: <3DFEC1E2.8040203@cs.utexas.edu> Robert Bruce Findler wrote: > The current-directory is thread-specific. When you create an > eventspace, you create a new thread. With the commented line > uncommented, you are setting the current directory in one thread (the > original thread -- the main thread of the original eventspace) and then > looking it up in a different thread (the callbacks are handled on the > main thread of the eventspace that the frame is registered with). Okay. I get it now. My confusion was in not understanding exactly what it means for an eventspace to be the current-eventspace, and how the events can be handled in a different thread from where the object was instantiated. J. From mflatt at cs.utah.edu Tue Dec 17 09:11:38 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:03 2009 Subject: [plt-scheme] Problen with MzScheme/examples/bitmatrix.c under win32 In-Reply-To: <02d501c2a558$933b5740$d84158cf@furball> References: <02d501c2a558$933b5740$d84158cf@furball> Message-ID: <200212171411.gBHEBcP08254@wrath.cs.utah.edu> At Mon, 16 Dec 2002 15:10:42 -0800, "Harry Reed" wrote: > I am going through the ffi examples located in > plt\collects\mzscheme\examples. Under Win32 the examples seem to work > generally OK with the exception of bitmatrix.c. Has anyone gotten the > bitmatrix example extension in the examples directory to work under Win32? It's broken. I didn't update it properly for v200. Each scheme_lookup_global(scheme_intern_symbol("#%-"), env); should be scheme_builtin_value("-"); Matthew From thallgren at yahoo.com Tue Dec 17 12:33:06 2002 From: thallgren at yahoo.com (=?iso-8859-1?q?Tommy=20Hallgren?=) Date: Thu Mar 26 00:52:03 2009 Subject: [plt-scheme] make-posn / set-posn-x / graphics.ss Message-ID: <20021217173306.14468.qmail@web13409.mail.yahoo.com> Hi! It seems that make-posn is overloaded by graphics.ss while set-posn-x/y is not. The simple test program below gives an error if graphics.ss is included but works just fine if it isn't. And the error message is a bit confusing too: set-posn-x!: expects args of type ; given instance of a different I think it's a bad idea to introduce such an inconsistency unless it's because of a technical problem. Comments? Btw, thanks for an awesome Scheme system! Regards, Tommy ;(require (lib "graphics.ss" "graphics")) (define pos (make-posn 0 0)) ; set-posn-x & set-posn-y aren't defined in graphics.ss :-( (set-posn-x! pos 1) (set-posn-y! pos 2) (display (posn-x pos)) (newline) (display (posn-y pos)) (newline) _____________________________________________________ Gratis e-mail resten av livet p? www.yahoo.se/mail Busenkelt! From markj at cloaked.freeserve.co.uk Wed Dec 18 08:54:04 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:03 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> <15869.53006.178310.332523@neilvandyke.org> Message-ID: Neil W. Van Dyke wrote: > However, if a user wants to install a PLT-specific package "foo.plt", > and there's a dependency on SLIB, we have the problem that there are > numerous different ways to install SLIB, and not all of them will work > the first time that "foo.plt" attempts to load SLIB. Why not? I'm leading a sheltered life with a debian slib package and only occasional FU's in mzscheme/slib interaction. Which reminds me, I've a bug to patch for that! > Having an "slib.plt" saves users time and frustration [...] Not for all. Some users may install slib.plt when a package for their platform exists and cause themselves much trouble later. > I think this demonstrates some of the motivation for PLT's > cross-platform package manager. Maybe, but it's a shame that it doesn't interact better with native platform package management. How that could be done is a question I can't answer yet. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From markj at cloaked.freeserve.co.uk Wed Dec 18 08:58:18 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:03 2009 Subject: [plt-scheme] reloading servlets and modules References: <15870.12115.505646.622942@vega.ccs.neu.edu> <15870.12115.505646.622942@vega.ccs.neu.edu> <200212162019.gBGKJvr03602@laime.cs.uchicago.edu> Message-ID: Robert Bruce Findler wrote: > Really, using the IDE is best way to D! Some (A significant number?) of us use other IDEs than DrScheme, though. Someone on the list even develops a PLT-Scheme connector for one... It's quite useful to know the best way to I with other IDEs. From noelwelsh at yahoo.com Wed Dec 18 09:51:57 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] reloading servlets and modules In-Reply-To: <15870.12115.505646.622942@vega.ccs.neu.edu> Message-ID: <20021218145157.6765.qmail@web41207.mail.yahoo.com> > I'm starting to develop some servlets, and it's a > little tedious to > have to visit the conf/refresh-servlets URL every > time I want to test > some changes to the servlet. There is another way... Side step the problem and don't develop servlets. Develop normal Scheme programs that you test in the normal way, and then have this thin wrapper layer to turn them into servlets. That's what I've done with MoshiMoshi. It works well. I haven't had to emulate the servlet environment yet (send/suspend etc.) but that would be quite easy (and it will make an excellent contrib to SchemeUnit *hint* ;-) HTH, Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From jp at cs.utexas.edu Wed Dec 18 12:44:17 2002 From: jp at cs.utexas.edu (Jefferson Provost) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> <15869.53006.178310.332523@neilvandyke.org> Message-ID: <3E00B3F1.5070303@cs.utexas.edu> There is another argument for slib.plt: embedding executables. It would be nice to be able to embed slib as module in an executable. I don't think this is possible with a separate slib installation. J. MJ Ray wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Neil W. Van Dyke wrote: > >>However, if a user wants to install a PLT-specific package "foo.plt", >>and there's a dependency on SLIB, we have the problem that there are >>numerous different ways to install SLIB, and not all of them will work >>the first time that "foo.plt" attempts to load SLIB. > > > Why not? I'm leading a sheltered life with a debian slib package and only > occasional FU's in mzscheme/slib interaction. Which reminds me, I've a bug > to patch for that! > > >>Having an "slib.plt" saves users time and frustration [...] > > > Not for all. Some users may install slib.plt when a package for their > platform exists and cause themselves much trouble later. > > >>I think this demonstrates some of the motivation for PLT's >>cross-platform package manager. > > > Maybe, but it's a shame that it doesn't interact better with native platform > package management. How that could be done is a question I can't answer > yet. > From brianbec at microsoft.com Wed Dec 18 13:45:54 2002 From: brianbec at microsoft.com (Brian Beckman) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] ? support for SICM ? Message-ID: <164943583CAE624A868E2EF9A78A7956093C6BAE@red-msg-05.redmond.corp.microsoft.com> Sorry if this is FAQ -- I have been working through Sussman's and Workman's wonderful book SICM (Structure and Interpretation of Classical Mechanics) and I would love to be able to run the programs in the book, however, they use an extremely idiosyncratic Scheme dialect (MIT Scheme) with a critical numerical and graphical library (scmutils) that runs only on a single platform (Redhat Linux 7.0 I think), and I cannot justify a single-purpose computer (and its space reqts and sysadmin time reqts) just for this book. I would be spending all my time fiddling with computer hardware and configuration rather than programming and thinking :) I have been hand-translating the samples in the book into "Mathematica", a programming language with adequate plotting and graphing support and somewhat-less-than-adequate functional programming support. Much nicer would be a more standard base and implementation of scmutils -- say on PLT Scheme? Of course, I would like a free car and a house to go with that please :) Humor aside, I was wondering if anyone in the PLT community had given a thought to building such a thing? It would be a shame were such a lovely book as SICM to wither on the vine because such a tiny fraction of soloists such as myself -- lacking Linux sysadmin support -- would be able to work with any of the software in the book. Brian Beckman From mflatt at cs.utah.edu Wed Dec 18 14:52:17 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] ? support for SICM ? In-Reply-To: <164943583CAE624A868E2EF9A78A7956093C6BAE@red-msg-05.redmond.corp.microsoft.com> References: <164943583CAE624A868E2EF9A78A7956093C6BAE@red-msg-05.redmond.corp.microsoft.com> Message-ID: <200212181952.gBIJqHP13631@wrath.cs.utah.edu> At Wed, 18 Dec 2002 10:45:54 -0800, "Brian Beckman" wrote: > Much nicer would be a more standard base and implementation of scmutils > -- say on PLT Scheme This code really needs `module'. It's a poster child for everything that goes wrong without a macro-aware module system. I've already abandoned one attempt at a port (about a year ago). I quit mainly because I needed to spend much more time understanding how the code put itself together. The final straw was this bit of code: (define (apply-extension-init) (bind-default-condition-handler (list condition-type:inapplicable-object) (lambda (condition) (if *enable-generic-apply* ((stack-frame->continuation (stack-frame/next (stack-frame/next (stack-frame/next (continuation->stack-frame (condition/continuation condition)))))) (lambda args (g:apply (inapplicable-object/operator condition) args)))))) I expect the same job could be done in PLT Scheme by defining a suitable `#%app' form (i.e., re-define application statically instead of through dynamic tricks). Figuring out where to use the new `#%app' form... well, that's the catch. Matthew From markj at cloaked.freeserve.co.uk Wed Dec 18 19:29:50 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] slib packaging References: <15865.34889.36416.16309@neilvandyke.org> <15868.38751.305980.246649@neilvandyke.org> <15869.53006.178310.332523@neilvandyke.org> <3E00B3F1.5070303@cs.utexas.edu> Message-ID: Jefferson Provost wrote: > There is another argument for slib.plt: embedding executables. It would > be nice to be able to embed slib as module in an executable. I don't > think this is possible with a separate slib installation. Is it not possible with a dummy "slib" collection which references the files from the slib installation that you need to include in your executable? Also, would you reply below quoted material and trim it, please? Otherwise, it's far harder to put your point in context. TIA. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From anton at appsolutions.com Wed Dec 18 21:10:51 2002 From: anton at appsolutions.com (Anton van Straaten) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] ? support for SICM ? In-Reply-To: <164943583CAE624A868E2EF9A78A7956093C6BAE@red-msg-05.redmond.corp.microsoft.com> Message-ID: <011a01c2a703$dac74c70$0a00a8c0@femto.appsolutions.com> Brian Beckman wrote: > I have been working through Sussman's and Workman's wonderful book SICM > (Structure and Interpretation of Classical Mechanics) and I would love > to be able to run the programs in the book, however, they use an > extremely idiosyncratic Scheme dialect (MIT Scheme) with a critical > numerical and graphical library (scmutils) that runs only on a single > platform (Redhat Linux 7.0 I think), and I cannot justify a > single-purpose computer (and its space reqts and sysadmin time reqts) > just for this book. This suggestion falls far into the "pragmatic" rather than "elegant" side of the spectrum, but for this sort of problem, I use VMware (www.vmware.com) to run a virtual copy of the necessary OS - it works very well. You might find it comes in handy for other purposes too - it allows you to suspend and later resume OS sessions, make runnable copies of a particular configuration of an OS install, etc. > I would be spending all my time fiddling with > computer hardware and configuration rather than > programming and thinking :) Setting up a VM running some OS for a dedicated purpose like this doesn't typically create much of a sysadmin overhead - running the default install of the OS and the application in question is usually all you need. Anton From noelwelsh at yahoo.com Thu Dec 19 07:36:57 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:52:04 2009 Subject: [plt-scheme] Gnome/GTK bindings Message-ID: <20021219123657.1327.qmail@web41213.mail.yahoo.com> Every once in a while a question comes up about GTK bindings. I know a few people are working on bindings. You may be interested to hear about the Java GNOME bindings project http://sourceforge.net/cvs/?group_id=1522 There interesting things about this project are: - all bindings are generated from definition files - those definition files are sexps The current generator program is written in Java but it shouldn't be hard for a Schemer to grok the definition files and generate PLT FFI code. Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From neil at neilvandyke.org Thu Dec 19 08:44:38 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] Gnome/GTK bindings In-Reply-To: <20021219123657.1327.qmail@web41213.mail.yahoo.com> References: <20021219123657.1327.qmail@web41213.mail.yahoo.com> Message-ID: <15873.52550.762348.289404@neilvandyke.org> I actually already have the majority of GTK+ 2 (and GDK, Pango, and some of GLib) API working from MzScheme, and have ported and run a couple small demos. Tentatively called "HoG". I used my own S-expression syntax for representing the API as alluded to in the header files, since the de facto ".defs" files had PyGtk-isms, and it was easier to re-encode the header files than to manually verify thousands of definitions. Also, I needed to work through the API as a learning exercise, since many of the important points of how to do bindings for GTK 2 are not documented. I've not yet released HoG because there are numerous gotchas that you only discover once you've implemented all the ".defs"-based generation, marshalling, GClosure, GObject, enums, etc. Most of the gotchas are artifacts of an incomplete move of the API to `bindings-friendly' GObject/GClosure. Unfortunately, many of these incomplete API pieces are used by the "gtk-demo" app, and would likely be needed for real-world applications. I also need to inspect for potential GC and memory-traipsing problems. I might do some more work on it over the holiday, while professors are away. I put status updates in my weblog. Feel free to email me. P.S., Be skeptical of unproven GTK bindings projects. Last time I looked, most GTK bindings sets (with JH's own PyGtk2 a notable exception) don't actually work and have not been used to write apps. The Java bindings I looked at were hopeless, for example, although I understand that Sun has recently decided to make good bindings. -- http://www.neilvandyke.org/ From steck at ccs.neu.edu Thu Dec 19 10:42:41 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] PLT Scheme v203 test bundles Message-ID: <20021219154241.8A047D4CD@denali.ccs.neu.edu> PLT has prepared test bundles for the upcoming PLT Scheme v203 release. We'd like your help in testing them before we send out the official release. DrScheme bundles are at: http://www.ccs.neu.edu/~steck/tmp/203/plt/ MzScheme bundles are at: http://www.ccs.neu.edu/~steck/tmp/203/mzscheme/ Important notes: - the Mac Classic and OS X binary bundles are not not ready; I'll post here when they're available - there will be no RPMs or binary bundles for this release Please let me know if these bundles work for you and, of course, if you experience any errors. Thanks for your help! -- Paul From steck at ccs.neu.edu Thu Dec 19 15:02:43 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] Mac v203 test bundles Message-ID: <000701c2a799$978cb0d0$70730a81@NORTHEASDX5RFA> PLT Scheme v203 test bundles for the Macintosh are available now: DrScheme, Mac Classic: http://www.cs.utah.edu/~mflatt/tmp/plt.ppc-mac.sit DrScheme, OS X: http://www.cs.utah.edu/~mflatt/tmp/PLT Scheme.dmg MzScheme, OS X: http://www.cs.utah.edu/~mflatt/tmp/MzScheme.dmg -- Paul From steck at ccs.neu.edu Thu Dec 19 15:12:23 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] Mac v203 test bundles In-Reply-To: <000701c2a799$978cb0d0$70730a81@NORTHEASDX5RFA> Message-ID: <000901c2a79a$f1625230$70730a81@NORTHEASDX5RFA> Make that: DrScheme, OS X: http://www.cs.utah.edu/~mflatt/tmp/PLT%20Scheme.dmg -- Paul From hellan at acm.org Thu Dec 19 14:59:26 2002 From: hellan at acm.org (Jon =?ISO-8859-1?Q?K=E5re?= Hellan) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] Gnome/GTK bindings In-Reply-To: <15873.52550.762348.289404@neilvandyke.org> References: <20021219123657.1327.qmail@web41213.mail.yahoo.com> <15873.52550.762348.289404@neilvandyke.org> Message-ID: <1040327966.691.0.camel@sterna> On Thu, 2002-12-19 at 14:44, Neil W. Van Dyke wrote: > I used my own S-expression syntax for representing the API as alluded to > in the header files, since the de facto ".defs" files had PyGtk-isms, I don't think they are supposed to. Are you filing bugs? > -- > Jon K?re Hellan From steck at ccs.neu.edu Fri Dec 20 14:53:28 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] PLT Scheme v203 available Message-ID: <20021220195328.B7958D4CD@denali.ccs.neu.edu> PLT Scheme v203 is now available from http://download.plt-scheme.org/ This release adds a number of powerful features and fixes a significant error in the graphics toolbox for the Windows version. New features: - DrScheme provides a prototype Test Suite tool for creating and managing test suites in the spirit of the How To Design Programs design recipes. It is intended to be used with the HtDP teaching languages. Choose "New Test Suite" from the File menu to get started. For v204 we intend to integrate the Test Suite tool into DrScheme. We urge people who teach with DrScheme to explore the test suite tool and to report their experiences to PLT. Help Desk: search for `Test Suite' - The draw.ss teachpack now provides the function get-key-event : -> Key This function enables programmers who use the draw.ss teachpack to write interactive drawing games. For two examples, see http://www.ccs.neu.edu/home/matthias/HtDP/Extended/igames.html Help Desk: search for `draw.ss' Warning: The function fails intermittently on Mac OS X. We intend to fix this problem in a future release. - Help Desk users can choose whether they wish to use a frame-based version. A toggle switch for this choice (in the form of a link) appears on the Help Desk home page. It can also be changed in the Help Desk configuration. - Help Desk users can once again use the PLT internal browser. Look for the browser preference in DrScheme's preferences panel. - Servlets written for the Web server can report exceptions directly to the browser using the `report-errors-to-browser' procedure. Help Desk: search for `report-errors-to-browser' Errors fixed: - Removed an error in MrEd for Windows that was a frequent source of instability. All users should strongly consider updating to this new version. Please note that, effective with this release, PLT no longer provides binary tar.gz archives, binary RPM archives, and source RPM archives for Red Hat Linux. Red Hat users should download the Unix/X sources and compile binaries. See the file plt/src/README for details. Enjoy! -- Paul From eli at barzilay.org Fri Dec 20 15:12:48 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:52:05 2009 Subject: [plt-scheme] PLT Scheme v203 available In-Reply-To: <20021220195328.B7958D4CD@denali.ccs.neu.edu> References: <20021220195328.B7958D4CD@denali.ccs.neu.edu> Message-ID: <15875.31168.651849.675539@mojave.cs.cornell.edu> On Dec 20, Paul Steckler wrote: > Please note that, effective with this release, PLT no longer > provides binary tar.gz archives, binary RPM archives, and > source RPM archives for Red Hat Linux. Red Hat users should > download the Unix/X sources and compile binaries. See the file > plt/src/README for details. Is there any reason for this change? I suspect that the main mass of RH users are like Windows users -- either they find a binary or they skip the whole thing... -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From steck at ccs.neu.edu Fri Dec 20 15:17:57 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:06 2009 Subject: [plt-scheme] PLT Scheme v203 available In-Reply-To: <15875.31168.651849.675539@mojave.cs.cornell.edu> Message-ID: <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> > Is there any reason for this change? I suspect that the main mass of > RH users are like Windows users -- either they find a binary or they > skip the whole thing... Yes -- it often didn't work. And with each new Red Hat release, it worked less often. -- Paul From neil at neilvandyke.org Fri Dec 20 15:28:48 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:52:06 2009 Subject: [plt-scheme] PLT Scheme v203 available In-Reply-To: <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> References: <15875.31168.651849.675539@mojave.cs.cornell.edu> <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> Message-ID: <15875.32128.399469.463046@neilvandyke.org> I think building binary packages for the plethora of distro versions (and maintaining the hardware build farm) is a job best distributed amongst volunteers. For example, Brent Fulgham maintains the Debian GNU/Linux packages of DrScheme and MzScheme in the Debian repository. Debian users can type "apt-get install drscheme" to download and install the latest version. It'd be great to see Red Hat, Gentoo, Conectiva, Suse, etc. enthusiasts follow suit. -- http://www.neilvandyke.org/ From eli at barzilay.org Fri Dec 20 15:39:19 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:52:06 2009 Subject: [plt-scheme] PLT Scheme v203 available In-Reply-To: <15875.32128.399469.463046@neilvandyke.org> References: <15875.31168.651849.675539@mojave.cs.cornell.edu> <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> <15875.32128.399469.463046@neilvandyke.org> Message-ID: <15875.32759.873879.734004@mojave.cs.cornell.edu> On Dec 20, Neil W. Van Dyke wrote: > It'd be great to see Red Hat, Gentoo, Conectiva, Suse, > etc. enthusiasts follow suit. That would be very nice, but I think that the main target should be RH since it has users that are most similar to the Windows state of mind, where either you get a binary or you forget about it. But still, for the sake of exactly that, I will tar up my build when I finish it -- its a tweak that will work on both RH (at least my 8.0 and a refreshed 7.3 versions) and Solaris. This is the reply I sent to Paul, trying to not flood the list... | You mean it didn't work for different releases or it didn't work | between different setups of the same release? | | For the first issue, I think that having a few of the recent | installations available using vmware would be perfect -- they can | also be kept at the minimum necessary setup so builds do not rely on | exotic features. For the second one, besides building them on the | most minimal setup, it would help if any RPM will contain the right | dependencies... | | Or maybe there are other problems? | | (The reason I'm interested in this is that I behave like any other | average RH luser when it comes to trying new stuff -- it is very | easy to get the rpm, install & run knowing that rpm -e can make it | all just go away. Even if most of the PLT target crowd doesn't fall | in that category, I suspect that many do -- I wouldn't bother | installing OCaml again and again if it didn't have an RPM, and I | would probably never get anywhere close to Haskell either, or, when | I think about, other Scheme implementations...) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From dougo at ccs.neu.edu Fri Dec 20 18:04:22 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:06 2009 Subject: [plt-scheme] HTTP cookies Message-ID: <15875.41462.748670.56504@vega.ccs.neu.edu> Does anyone have an implementation of HTTP cookies for v200 or later? The Add-Ons page only has a v103 .plt file, which setup-plt won't even unpack. Is the source code around somewhere? --dougo@ccs.neu.edu From ray at kffl.com Fri Dec 20 18:12:37 2002 From: ray at kffl.com (Ray Auerbach) Date: Thu Mar 26 00:52:07 2009 Subject: [plt-scheme] Help with "error" command Message-ID: Hi all, I am new to Scheme and am trying to figure out how to use the "error" keyword. whenever I type anything with error a la (error error) or (error "error"), I get the message "reference to undefined identifier: error". I thought this was part of the standard distribution, but do I need another binary/library from somewhere? I am using DrScheme version 203 with Standard language. Any help would be greatly appreciated. Thanks! Sincerely, Ray Auerbach ray@kffl.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021220/bf1da506/attachment.htm From mflatt at cs.utah.edu Fri Dec 20 19:43:39 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:07 2009 Subject: [plt-scheme] HTTP cookies In-Reply-To: <15875.41462.748670.56504@vega.ccs.neu.edu> References: <15875.41462.748670.56504@vega.ccs.neu.edu> Message-ID: <200212210043.gBL0hdH17576@wrath.cs.utah.edu> At Fri, 20 Dec 2002 18:04:22 -0500 (EST), Doug Orleans wrote: > The Add-Ons page only has a v103 .plt file, which setup-plt won't even > unpack. You can force setup-plt to unpack it using --force. Matthew From noelwelsh at yahoo.com Sat Dec 21 06:13:27 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:52:07 2009 Subject: [plt-scheme] HTTP cookies In-Reply-To: <15875.41462.748670.56504@vega.ccs.neu.edu> Message-ID: <20021221111327.15569.qmail@web41209.mail.yahoo.com> --- Doug Orleans wrote: > Does anyone have an implementation of HTTP cookies > for v200 or later? > The Add-Ons page only has a v103 .plt file, which > setup-plt won't even > unpack. Is the source code around somewhere? The code lives on in Schematics: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/schematics/src/libs/net/ HTH, Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From eli at barzilay.org Sun Dec 22 05:11:53 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:52:07 2009 Subject: [plt-scheme] PLT Scheme v203 self-installer for Linux+Sun In-Reply-To: <15875.32759.873879.734004@mojave.cs.cornell.edu> References: <15875.31168.651849.675539@mojave.cs.cornell.edu> <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> <15875.32128.399469.463046@neilvandyke.org> <15875.32759.873879.734004@mojave.cs.cornell.edu> Message-ID: <15877.36841.384767.724209@mojave.cs.cornell.edu> On Dec 20, Eli Barzilay wrote: > But still, for the sake of exactly that, I will tar up my build when > I finish it -- its a tweak that will work on both RH (at least my > 8.0 and a refreshed 7.3 versions) and Solaris. I have finished getting a directory that does that, and made it into a self-installing file. Get it from http://www.cs.cornell.edu/eli/tmp/plt-installer and run it (chmod +x, or through `sh'). Relevant features: 1. Includes the whole PLT tree. 2. Includes all .zo files. 3. Includes all documentation. 4. Includes Swindle (a new version, separate message on the Swindle list). 5. Instead of mred and mzscheme there are symbolic links to `arch-exec' which will execute the right executable for either Linux or Solaris. 6. I have tested the Linux version with bothe RedHat 7.3 and 8.0 and it seems like it is working fine. The solaris executables are the ones from the Solaris PLT tar (I couldn't get mred to compile). 7. The installer should be safe to run -- it will check the md5sum of the binary (tar.bz2) contents. 8. It is polite enough to ask where you want to install it, check permissions, and check that it has the commands needed (except that it really needs the GNU `find' rather than Sun's ancient version). 9. After the archive is unpacked, the directory is set in all scripts and dep files (AFAICT, the only other mention of the original directory is in anonymous function names, but I think that this is not a problem considering that making the zos takes some time now). 10. Finally, if you put it in a place that has a bin and a man (or share/man) directories, it will ask if you want to create symbolic links there. Additional comments: * This is quite big, but considering HD sizes I don't think there is any point breaking it up to pieces (it's about as big as the credits from a divx movie...). * After unpacking the plt tree, it should be possible to write a Scheme program to do the rest -- but I didn't since I didn't want to duplicate work in PLT's `install' program. I think that this program could probably be improved for doing such things given some simple command-line arguments -- for example, getting a "no-zos" flag would be much better than checking for the "RPM_INSTALL_PREFIX" environment variable. Also, putting links in bin and man directories would be much easier in Scheme, maybe even adding the relevant Gnome/KDE information to get it in the menu bar, and maye the mime stuff that will get the GUI file-explorer-like thing to recognize .ss files. Even something like writing a list of these external links to be able to uninstall it easily. * I did consider an RPM, but that will be more work to get right (avoiding accusations of `ugly' rpm specs). Given that PLT should be making such an RPM, there is no point in many of its features like patches etc, and my personal view is, again, that there is no point in splitting it into a plt, plt-devel, plt-doc, etc. In any case, the above improvements to the install program would help getting a simple RPM too. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From noelwelsh at yahoo.com Sun Dec 22 06:20:22 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:52:07 2009 Subject: [plt-scheme] Help with "error" command In-Reply-To: Message-ID: <20021222112022.85208.qmail@web41214.mail.yahoo.com> --- Ray Auerbach wrote: > ... whenever I type > anything with error a la (error error) or (error > "error"), I get the message "reference to undefined > identifier: error"...I am using DrScheme > version 203 with Standard language. error isn't part of R5RS, which is what the Standard language implements. Try switching to, for example, PLT -> Textual, and error will be defined. Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From dougo at ccs.neu.edu Sun Dec 22 17:45:00 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] case sensitivity in servlets Message-ID: <15878.16492.894803.250624@vega.ccs.neu.edu> It appears that the web-server collection (v203) loads servlet files in case-sensitive mode. This servlet prints "Foo" instead of "foo": (require (lib "unitsig.ss") (lib "servlet-sig.ss" "web-server")) (unit/sig () (import servlet^) `(html (body ,(symbol->string 'Foo)))) Is this intentional? It probably ought to be documented, if it isn't already. (I didn't see anything in plt/collects/web-server/doc.txt; is that really the definitive documentation, by the way? It's slightly ironic that there are no HTML docs for the web server...) --dougo@ccs.neu.edu From todd.a.schmiedeke at us.pwcglobal.com Mon Dec 23 08:55:35 2002 From: todd.a.schmiedeke at us.pwcglobal.com (todd.a.schmiedeke@us.pwcglobal.com) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] DrScheme v203 Message-ID: Hello: I am new to drscheme and having great fun learning! I currently have v202 and would like to upgrade to v203. Can I download v203 and will it "plop" the new version on top of my current v202, or is there an upgrade program I need to run? Regards, TAS _________________________________________________________________ The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. From steck at ccs.neu.edu Mon Dec 23 09:39:28 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] DrScheme v203 In-Reply-To: from "todd.a.schmiedeke@us.pwcglobal.com" at Dec 23, 2002 08:55:35 AM Message-ID: <20021223143928.E2D10D4CD@denali.ccs.neu.edu> todd.a.schmiedeke@us.pwcglobal.com wrote: > > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hello: > I am new to drscheme and having great fun learning! I currently have v202 > and would like to upgrade to v203. Can I download v203 and will it "plop" > the new version on top of my current v202, or is there an upgrade program I > need to run? In general, you'll have to uninstall v202 before installing v203. For Windows, you can run the "Uninstall" program, or use the Add/Remove Programs facility in Control Panel. If you're using Unix/Linux, you might be able to install the new version in a different directory. -- Paul From ptg at ccs.neu.edu Mon Dec 23 16:24:53 2002 From: ptg at ccs.neu.edu (Paul Graunke) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] case sensitivity in servlets In-Reply-To: <15878.16492.894803.250624@vega.ccs.neu.edu> References: <15878.16492.894803.250624@vega.ccs.neu.edu> Message-ID: <20021223212453.738863278D@stallman.insiders.whitecape.org> At Sun, 22 Dec 2002 17:45:00 -0500 (EST), Doug Orleans wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > It appears that the web-server collection (v203) loads servlet files > in case-sensitive mode. This servlet prints "Foo" instead of "foo": > > (require (lib "unitsig.ss") (lib "servlet-sig.ss" "web-server")) > (unit/sig () > (import servlet^) > `(html (body ,(symbol->string 'Foo)))) > > Is this intentional? Yes. Someone (Krill?) points out that XML is case sensitive, so the x-expressions in servlets should be case sensitive by default. > It probably ought to be documented, if it isn't > already. (I didn't see anything in plt/collects/web-server/doc.txt; I just added a sentence or two and checked it in. > is that really the definitive documentation, by the way? Yes. All doc.txt's are definitive. Any errors should be reported. > It's slightly ironic that there are no HTML docs for the web server...) There are. The Web server serves them. They are online also, but nobody can find them. I should link them in somewhere useful. > > --dougo@ccs.neu.edu Thanks, Paul From markj at cloaked.freeserve.co.uk Tue Dec 24 14:06:42 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] PLT Scheme v203 available References: <15875.32128.399469.463046@neilvandyke.org> <15875.31168.651849.675539@mojave.cs.cornell.edu> <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> <15875.32128.399469.463046@neilvandyke.org> <15875.32759.873879.734004@mojave.cs.cornell.edu> Message-ID: Eli Barzilay wrote: > That would be very nice, but I think that the main target should be RH > since it has users that are most similar to the Windows state of mind, > where either you get a binary or you forget about it. I don't. I can see some mileage in providing a /usr/local binary tarball that may work on some common distributions, but I can quite appreciate the developers not wanting to waste their time doing RedHat's job. Something the size/complexity of PLT Scheme doesn't package easily -- you have to know the packaging system *and* the software quite well. PLT are already very good with the software, so let's let them concentrate on that and help us packagers when necessary. Having a binary tarball would be a help, as we could compare with that if we can't make the packaging work quite right. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From eli at barzilay.org Tue Dec 24 14:37:05 2002 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 00:52:08 2009 Subject: [plt-scheme] PLT Scheme v203 available In-Reply-To: References: <15875.32128.399469.463046@neilvandyke.org> <15875.31168.651849.675539@mojave.cs.cornell.edu> <000001c2a864$e309ee30$70730a81@NORTHEASDX5RFA> <15875.32759.873879.734004@mojave.cs.cornell.edu> Message-ID: <15880.46945.991243.554122@mojave.cs.cornell.edu> On Dec 24, MJ Ray wrote: > I don't. I can see some mileage in providing a /usr/local binary > tarball that may work on some common distributions, but I can quite > appreciate the developers not wanting to waste their time doing > RedHat's job. Something the size/complexity of PLT Scheme doesn't > package easily -- you have to know the packaging system *and* the > software quite well. PLT are already very good with the software, > so let's let them concentrate on that and help us packagers when > necessary. Having a binary tarball would be a help, as we could > compare with that if we can't make the packaging work quite right. Well, I did post a self-extracting binary directory which does some installation work too (symlinks for executables and man pages). Some of that work duplicates stuff that install.ss does anyway, so I think that just improving it a little (e.g., letting it make these links, checking before overriding other executables by the same name and/or making it possible to install jst the important one (things like `names' and `web-server' are probably used elsewhere too...)). Any such work would not only improve the installer with stuff it might do when run normally, but it would also make it extremely easy to package it in a very simple "untar + ./install" RPM. A more politically correct RPM would get divided into such things as devel, doc, and gui packages etc -- but as I said before, that really doesn't seem relevant -- a single monolothic RPM would be just fine with above users. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From jsmall at atlantech.net Wed Dec 25 12:11:53 2002 From: jsmall at atlantech.net (John W. Small) Date: Thu Mar 26 00:52:09 2009 Subject: [plt-scheme] Question about the test suite and modules Message-ID: <008301c2ac38$b9101460$41eab7d1@rogareom43smvz> Hi, The Test Suite in DrScheme 2.03 looks really nice! I wanted to use it to test modules. Suppose I have the following module foo (module foo mzscheme (provide (all-defined)) (define (double x) (* 2 x))) and want to test it with call: (double 2) expected: 4 It looks like I need to create an intermediate program (require (file "./foo.scm")) and make the test cases against this testable program (versus a module). Since require must be at the top level I can't just write the call as (begin (require foo) ; error - not at top level (double 2)) Is there an easier way to write a test suite for foo and modules in general? Would it make sense to add pre and post processing to the test suite? In other words the (require foo) could be included the pre processing. The pre and post processing could be used to set up test jigs or structures that are used in a multitude of the test cases. Thanks! John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20021225/2d4f1e01/attachment.html From neil at neilvandyke.org Thu Dec 26 13:08:18 2002 From: neil at neilvandyke.org (Neil W. Van Dyke) Date: Thu Mar 26 00:52:09 2009 Subject: [plt-scheme] rendering text with SGL Message-ID: <15883.17810.352281.495738@neilvandyke.org> Has anyone implemented a way to render text in MrEd OpenGL canvas% (using the SGL OpenGL bindings)? -- http://www.neilvandyke.org/ From dougo at ccs.neu.edu Sun Dec 29 21:36:14 2002 From: dougo at ccs.neu.edu (Doug Orleans) Date: Thu Mar 26 00:52:09 2009 Subject: [plt-scheme] date header for mail messages Message-ID: <15887.45342.527230.578567@vega.ccs.neu.edu> When I use the `smtp' and `head' libraries from the `net' collection, the mail that I send gets these headers added along the way: X-Comment: Sending client does not conform to RFC822 minimum requirements X-Comment: Date has been added by Maillennium I'm using `standard-message-header', but I guess that doesn't include the date, which is required by RFC822. Should it? Or should `smtp-send-message' add the date? Or should the user be responsible for adding it to the result of `standard-message-header'? I looked at the `date' library in MzLib, but I couldn't find a date format that matched RFC822's. Is there some standard library that produces this format? I found some code in the `web-server' collection that seems to do the right thing, but it's not exported. --dougo@ccs.neu.edu From mflatt at cs.utah.edu Mon Dec 30 07:28:11 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:09 2009 Subject: [plt-scheme] date header for mail messages In-Reply-To: <15887.45342.527230.578567@vega.ccs.neu.edu> References: <15887.45342.527230.578567@vega.ccs.neu.edu> Message-ID: <200212301227.gBUCRuH12667@wrath.cs.utah.edu> At Sun, 29 Dec 2002 21:36:14 -0500 (EST), Doug Orleans wrote: > I'm using `standard-message-header', but I guess that doesn't include > the date, which is required by RFC822. Should it? Yes. Added. > I looked at the `date' library in MzLib, but I couldn't find a date > format that matched RFC822's. It's now there as display format 'rfc822. Matthew From steck at ccs.neu.edu Mon Dec 30 07:50:59 2002 From: steck at ccs.neu.edu (Paul Steckler) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] date header for mail messages In-Reply-To: <200212301227.gBUCRuH12667@wrath.cs.utah.edu> from "Matthew Flatt" at Dec 30, 2002 05:28:11 AM Message-ID: <20021230125100.49E1B9F10@denali.ccs.neu.edu> Matthew Flatt wrote: > > I looked at the `date' library in MzLib, but I couldn't find a date > > format that matched RFC822's. > > It's now there as display format 'rfc822. RFC822 has been obsoleted by RFC2822, which was promulgated in 2001. In RFC822, years were given as two digits, although all mail agents understand four digits. In RFC2822, four digits are specified, although two digits are allowed. So if the format gives years as four digits, it's more accurately described as 'rfc2822. -- Paul From rohan.nicholls at informaat.nl Sun Dec 29 08:00:19 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] pdf library? Message-ID: <3E0EF1E3.9040003@informaat.nl> Hi all, Hope the hols went well. I was wondering if there is a library for building pdf files? If not I am interested in making a very simple one for generating receipts, and would like pointers to documentation etc. on how I would go about doing this. Any help much appreciated, rohan From michel.pepino at club-internet.fr Mon Dec 30 14:14:18 2002 From: michel.pepino at club-internet.fr (michel.pepino@club-internet.fr) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] override on-char Message-ID: (define my-scheme:text% (class scheme:text% (override on-char) (define on-char (lambda (event) (send text-definition insert (send event get-key-code)))) (super-instantiate ()))) (define definition (instantiate editor-canvas% ($panel-editor))) (define text-definition (instantiate my-scheme:text% ())) (send definition set-editor text-definition) this code don't work when i tape on backspace, left, top, ... any idea? From noelwelsh at yahoo.com Mon Dec 30 08:17:43 2002 From: noelwelsh at yahoo.com (Noel Welsh) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] pdf library? In-Reply-To: <3E0EF1E3.9040003@informaat.nl> Message-ID: <20021230131743.94092.qmail@web41211.mail.yahoo.com> --- Rohan Nicholls wrote: > I was wondering if there is a library for building > pdf files? http://sourceforge.net/projects/schematics It's called scm-pdf. HTH, Noel __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com From mflatt at cs.utah.edu Mon Dec 30 08:19:34 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] date header for mail messages In-Reply-To: <20021230125100.49E1B9F10@denali.ccs.neu.edu> References: <20021230125100.49E1B9F10@denali.ccs.neu.edu> Message-ID: <200212301319.gBUDJJH15413@wrath.cs.utah.edu> At Mon, 30 Dec 2002 07:50:59 -0500 (EST), Paul Steckler wrote: > So if the format gives years as four digits, it's > more accurately described as 'rfc2822. So renamed. Thanks, Matthew From klw at acm.org Mon Dec 30 09:14:06 2002 From: klw at acm.org (Ken Williams) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] Dybvig's 'case' macro doesn't work? Message-ID: <1041257647.2193.22.camel@gollum> Good morning, I'm in the process of learning Scheme macros, and I've come across an issue that may indicate a bug or just ignorance on my part. Here's an example implementation of the case form from Dybvig's "The Scheme Programming Language", section 8.3: ;; example start (define-syntax casex (lambda (stx) (syntax-case stx () [(_ e c1 c2 ...) (with-syntax ([body (let loop ([c1 (syntax c1)] [cn (syntax (c2 ...))]) (if (null? cn) ; last arm of case (syntax-case c1 (else) [(else e1 e2 ...) (syntax (begin e1 e2 ...))] [((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...)))]) ; interior arm of case (with-syntax ([rest (loop (car cn) (cdr cn))]) (syntax-case c1 () [((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...) rest))]))))]) (syntax (let ([t e]) body)))]))) (define x 17) (casex x [(1 2 17) 'one] [(3 7 19) 'two]) ;; example end Here's what I get when I execute it: Welcome to DrScheme, version 203-cvs30dec2002. Language: Pretty Big (includes MrEd and Advanced). car: expects argument of type ; given # If I place a (syntax ...) around the (car cn) and (cdr cn), then the program loops indefinitely, consuming increasing amounts of memory. Any suggestions? ++ Ken Williams From jensaxel at soegaard.net Mon Dec 30 09:44:14 2002 From: jensaxel at soegaard.net (=?Windows-1252?Q?Jens_Axel_S=F8gaard?=) Date: Thu Mar 26 00:52:10 2009 Subject: [plt-scheme] Dybvig's 'case' macro doesn't work? References: <1041257647.2193.22.camel@gollum> Message-ID: <013a01c2b012$40c13920$0401a8c0@Lr30JS> Ken Williams wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Good morning, > > I'm in the process of learning Scheme macros, and I've come across an > issue that may indicate a bug or just ignorance on my part. Here's an > example implementation of the case form from Dybvig's "The Scheme > Programming Language", section 8.3: > ;; example start > > (define-syntax casex > (lambda (stx) > (syntax-case stx () > [(_ e c1 c2 ...) > (with-syntax > ([body > (let loop ([c1 (syntax c1)] > [cn (syntax (c2 ...))]) Ok - c1 and cn are pieces of syntax. > ... > (with-syntax ([rest (loop (car cn) (cdr cn))]) Here you take car to a piece of syntax. Althoug the syntax represents a list, it isn't a list itself. Just turn the syntax into a list of syntax objects using syntax->list: (with-syntax ([rest (loop (car (syntax->list cn)) (cdr (syntax->list cn)))]) Have you checked whether it works in PetiteChezScheme? Hm. Strange the case - macro at http://www.scheme.com/tspl2d/syntax.html#g2237 is different: (define-syntax case (lambda (x) (syntax-case x () ((_ e c1 c2 ...) (with-syntax ((body (let f ((c1 (syntax c1)) (cmore (syntax (c2 ...)))) (if (null? cmore) (syntax-case c1 (else) ((else e1 e2 ...) (syntax (begin e1 e2 ...))) (((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...))))) (with-syntax ((rest (f (car cmore) (cdr cmore)))) (syntax-case c1 () (((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...) rest))))))))) (syntax (let ((t e)) body))))))) Happy new year, -- Jens Axel S?gaard From klw at acm.org Mon Dec 30 10:35:07 2002 From: klw at acm.org (Ken Williams) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] Dybvig's 'case' macro doesn't work? Message-ID: <1041262507.2193.39.camel@gollum> On Mon, 2002-12-30 at 09:44, Jens Axel S?gaard wrote: > > Ok - c1 and cn are pieces of syntax. > > ... > > (with-syntax ([rest (loop (car cn) (cdr cn))]) > > Here you take car to a piece of syntax. Althoug the syntax represents > a list, it isn't a list itself. Just turn the syntax into a list of syntax > objects > using syntax->list: > > (with-syntax ([rest (loop (car (syntax->list cn)) (cdr > (syntax->list cn)))]) Ahh, thanks. After posting the question, I noticed I could make it work by using syntax-object->datum where you're suggesting syntax->list, but that seemed like a useless discarding of syntax information. I was unaware of syntax->list. Actually, I can factor out the two uses of syntax->list into one by putting it at the top of the with-syntax, like so: (define-syntax casex (lambda (stx) (syntax-case stx () [(_ e c1 c2 ...) (with-syntax ([body (let loop ([c1 (syntax c1)] [cn (syntax->list (syntax (c2 ...)))]) (if (null? cn) ; last arm of case (syntax-case c1 (else) [(else e1 e2 ...) (syntax (begin e1 e2 ...))] [((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...)))]) ; interior arm of case (with-syntax ([rest (loop (car cn) (cdr cn))]) (syntax-case c1 () [((k ...) e1 e2 ...) (syntax (if (memv t '(k ...)) (begin e1 e2 ...) rest))]))))]) (syntax (let ([t e]) body)))]))) > Have you checked whether it works in PetiteChezScheme? No, I haven't. Guess I need to download and install it. Assuming that Dybvig's macros do actually run correctly on some platform, I'm curious about what might have changed between his original implementation and PLT Scheme's (apparently) more persnickety implementation. > Hm. Strange the case - macro at > > http://www.scheme.com/tspl2d/syntax.html#g2237 > > is different: Well, I had changed the name of some bound variables and added a couple of comments, but other than that, they were the same. Thanks again, ++ Ken Williams From mflatt at cs.utah.edu Mon Dec 30 10:42:24 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] Dybvig's 'case' macro doesn't work? In-Reply-To: <1041262507.2193.39.camel@gollum> References: <1041262507.2193.39.camel@gollum> Message-ID: <200212301542.gBUFgOH22731@wrath.cs.utah.edu> At 30 Dec 2002 10:35:07 -0500, Ken Williams wrote: > > Have you checked whether it works in PetiteChezScheme? > > No, I haven't. Guess I need to download and install it. I expect it will work. > Assuming that Dybvig's macros do actually run correctly on some > platform, I'm curious about what might have changed between his original > implementation and PLT Scheme's (apparently) more persnickety > implementation. Your example shows one of the more prominent differences: PLT Scheme attaches lexical information to all parts of an expression, not just to the atoms. Other major differences: a phase separation that prevents uses of certain identifiers in places that Chez will allow, and lexical information tracks `module' bindings. There any many smaller differences, too. Matthew From mflatt at cs.utah.edu Mon Dec 30 16:15:43 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] override on-char In-Reply-To: References: Message-ID: <200212302115.gBULFhH29724@wrath.cs.utah.edu> At Mon, 30 Dec 2002 14:14:18 CET, michel.pepino@club-internet.fr wrote: > (define my-scheme:text% > (class scheme:text% > (override on-char) > (define on-char > (lambda (event) > (send text-definition insert (send event get-key-code)))) > (super-instantiate ()))) > > > (define definition (instantiate editor-canvas% ($panel-editor))) > (define text-definition (instantiate my-scheme:text% ())) > (send definition set-editor text-definition) > > > this code don't work when i tape on backspace, left, top, ... > any idea? The default `on-char' calls `on-local-char' (when the caret is not owned by an embedded snip), which calls `on-default-char' (unless the editor's keymap handles the event). See the docs for `on-default-char' in text% for information about what the default method does for you. Matthew From peter at pscomp.com Mon Dec 30 19:58:12 2002 From: peter at pscomp.com (Peter Santoro) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] ncurses and svgalib bindings Message-ID: <3E10EBA4.4020205@pscomp.com> Where can I find scheme bindings for ncurses (linux and/or freebsd) and svgalib (linux)? If they are not available, I may be willing to write them. Before going down this path, are there any problems in scheme that would make this difficult or impossible to do? Peter From rohan.nicholls at informaat.nl Tue Dec 31 05:29:06 2002 From: rohan.nicholls at informaat.nl (Rohan Nicholls) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] sirmail and html mail Message-ID: Unfortunately because of the company I work at, most of the mails are being sent in html format (the default for Outlook, it seems). Is there anyway to configure sirmail to read html mails after putting it through a text converter, or browser? Is there a way to sort by thread? If not how would I go about creating a way? I don't know how the threads are identified, so completely in the dark, any advice would be helpful. Thanks, rohan From pocm at mega.ist.utl.pt Tue Dec 31 07:24:05 2002 From: pocm at mega.ist.utl.pt (Paulo Jorge O. C. Matos) Date: Thu Mar 26 00:52:11 2009 Subject: [plt-scheme] NW: Development Status of SchemeDoc Message-ID: <3E118C65.7020505@mega.ist.utl.pt> Hi, I'd like to know the current development status of SchemeDoc, I know that's NW that's working on it. Anybody knows of any other project of the same kind? If the project is stopped I'd like to continue it. Best regards, -- Paulo J. Matos : pocm(_at_)mega.ist.utl.pt Instituto Superior Tecnico - Lisbon WISHING YOU A MERRY Software & Computer Engineering - A.I. CHRISTMAS, AND A GREAT - > http://mega.ist.utl.pt/~pocm 2003!!! --- Yes, God had a deadline... So, He wrote it all in Lisp! From mflatt at cs.utah.edu Tue Dec 31 10:29:11 2002 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 00:52:12 2009 Subject: [plt-scheme] sirmail and html mail In-Reply-To: References: Message-ID: <200212311529.gBVFTBH11514@wrath.cs.utah.edu> You're using SirMail? I'm not sure whether to compliment you on your good taste or on your bravery. :) At 31 Dec 2002 11:29:06 +0100, Rohan Nicholls wrote: > Unfortunately because of the company I work at, most of the mails are being > sent in html format (the default for Outlook, it seems). > > Is there anyway to configure sirmail to read html mails after putting it > through a text converter, or browser? Which version are you using? The current version for v203 (on the "add-ons" page, or in CVS) should parse MIME, and it parse HTML within MIME. The "Decode" sub-menu under "Message" determines how much decoding and formatting SirMail attempts. If there's some other format SirMail could usefully parse, I'm interested to hear more. > Is there a way to sort by thread? Not currently, though it would be nice. > If not how would I go about creating a > way? I don't know how the threads are identified, so completely in the dark, > any advice would be helpful. Threads are identified through the "In-Reply-To" and "References" mail headers, plus the "Message-Id" header. For example, the "In-Reply-To" header field of this message indicates that I'm replying to your message. Probably the easiest way to modifiy the implementation would be to add a new "sort" type. Figure out the thread relationships, assign a global order, and then use the `sort' method on `header-list'. Providing visial feedback of the thread branches will be more challenging, and might require many more changes. FWIW, the latest version of the code is considerably cleaner than past versions. Matthew From markj at cloaked.freeserve.co.uk Tue Dec 31 18:25:23 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:12 2009 Subject: [plt-scheme] sirmail and html mail References: Message-ID: Rohan Nicholls wrote: > [...] Is there a way to sort by thread? Needing to sort by thread normally says to me that an email client is being used where a newsreader would be better ;-) That said, I don't know if SirMail has intentions to add newsgroup support, in which case it will need threads. > If not how would I go about creating a way? I don't know how the threads > are identified, so completely in the dark, any advice would be helpful. The headers you need to construct the tree are References (best), In-Reply-To (OK) and Subject/Date (worst case). There is an RFC summarising common email headers. Find it on IETF.org or your favourite mirror. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From markj at cloaked.freeserve.co.uk Tue Dec 31 18:26:28 2002 From: markj at cloaked.freeserve.co.uk (MJ Ray) Date: Thu Mar 26 00:52:12 2009 Subject: [plt-scheme] NW: Development Status of SchemeDoc References: <3E118C65.7020505@mega.ist.utl.pt> Message-ID: Paulo Jorge O. C. Matos wrote: > Anybody knows of any other project of the same kind? Mole by Kirill Lisovsky (my spelling is bad tonight). Development of SchemeDoc is probably a schematics.sf.net thing, but Noel is the main author and reads this list. -- MJR http://mjr.towers.org.uk/ IM: slef@jabber.at This is my home web site. This for Jabber Messaging. How's my writing? Let me know via any of my contact details. From michel.pepino at club-internet.fr Sun Dec 29 23:58:14 2002 From: michel.pepino at club-internet.fr (michel.pepino@club-internet.fr) Date: Thu Mar 26 00:52:14 2009 Subject: [plt-scheme] (no subject) Message-ID: (define my-scheme:text% (class scheme:text% (override on-char) (define on-char (lambda (event) (send text-definition insert (send event get-key-code)))) (super-instantiate ()))) (define definition (instantiate editor-canvas% ($panel-editor))) (define text-definition (instantiate my-scheme:text% ())) (send definition set-editor text-definition) this code don't work when i tape on backspace left top ... any idea? From dacut at kanga.org Mon Dec 30 08:22:28 2002 From: dacut at kanga.org (David Cuthbert) Date: Thu Mar 26 00:52:16 2009 Subject: [plt-scheme] Re: pdf library? In-Reply-To: <3E0EF1E3.9040003@informaat.nl> References: <3E0EF1E3.9040003@informaat.nl> Message-ID: Rohan Nicholls wrote: > I was wondering if there is a library for building pdf files? > > If not I am interested in making a very simple one for generating > receipts, and would like pointers to documentation etc. on how I would > go about doing this. I don't know if there's a library available, but if you're going to roll your own from scratch, the PDF specification would be a good place to start: http://partners.adobe.com/asn/developer/acrosdk/docs.html Note that this is a fairly daunting task, even if you were to implement the subset of items of interest for your receipts. If you're willing to shell out to the system, it would be much easier to write a PostScript file and run it through ghostscript to get the PDF. PostScript is a bit weird at first, but the following gives you the flavor: %! % Use the Times-Roman 12pt font by default. /Times-Roman findfont 12 scalefont setfont % Create a new command called "inch" so we don't have to specify % everything in points. /inch {12 mul} bind def 1.0 inch 1.0 inch moveto (Hello World!) show showpage Pipe this through ghostscript using something akin to: gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=... HTH