From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:49:08 2009 Subject: No subject Message-ID: Swindle is a collection of modules that extend PLT Scheme (www.plt-scheme.org) with many additional features. The main feature which started this project is a CLOS-like object system based on Tiny-CLOS from Xerox, but there is a lot more -- a generalized Lisp-like `set!' and related functionality, lambda argument &-keywords, a lot of convenient syntaxes etc. The latest version of Swindle is available at http://www.barzilay.org/Swindle/. There is also a low volume mailing list, mail me to register. Comments, bugs, or whatever are welcome. The following is a high-level description of major features provided by Swindle. For every feature, the file that provides it is specified, if only a subset of the system is needed. * Some basic syntax extensions, including lambda &-keywords, and improved `define' and `let' forms. (Available separately using "base.ss".) * Generic setters with `set!', more useful side effect forms: `pset!', `shift!', `rotate!', and some simple ones like `inc!', and `push!'. (Available separately using "setf.ss", where the names `setf!' and `psetf!' are used to avoid changing the Scheme form.) * Convenient syntax for `provide' forms. ("misc.ss") * Easy macro-defining macros -- simple syntax-rules macros, and a generic `defmacro' utility, all with a local `let...' form, and extended to easily create symbol macros. ("misc.ss") * An `echo' mechanism which is an alternative to using format strings, and contains many useful features including a list iteration construct, and easy to extend. ("misc.ss") * A `regexper' syntax which is similar to a `case' on strings with easy access to submatches. ("misc.ss") * A hash table that is suitable for memoization (works on identities of elements of a list). ("misc.ss") * A CLOS-like object system -- based on Tiny CLOS, but with many extensions that bring it much closer to CLOS, and heavily optimized. Some added features include singleton and struct classes, applicable stand-alone methods, method-combination, and some MOP extensions. (Available without syntax bindings in "tiny-clos.ss") * Good integration with the Scheme implementation: primitive values have corresponding Swindle classes, and struct types can also be used as type specializers. A Swindle class will be made when needed, and it will reflect the struct hierarchy. ("tiny-clos.ss") * Many hairy macros that make the object system much more convenient (CLOS has also a lot of macro code). Some of the macros (especially `defclass') can be customized. ("clos.ss") * Useful generic functions, including `print-object' which is used to display all objects. ("extra.ss") * A matcher mechanism with a generic-like interface. ("extra.ss") * The fun `amb' toy. ("extra.ss") * A language that can easily create HTML, where the result is human-editable. ("html.ss") * Plays well with DrScheme. ("tool.ss") * Some customizable syntax features. ("custom.ss") * Easy to add customized languages to DrScheme. ("custom.ss") * A bonus graphic demonstration of lambda calculus principles. ("gcalc/gcalc.ss") -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:49:13 2009 Subject: No subject Message-ID: bash) and the X libraries. To get SrPersist working requires one of the ODBC libraries, like unixodbc. If you want to compile it, you probably need a bit more, such as the GCC C compiler. > -Whichs are the versions of linux that works well with DrScheme? It's currently in Debian's unstable branch, but work is about to start on making a tidier package of it, I think. I hope that helps, MJR From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:49:30 2009 Subject: No subject Message-ID: steal the ideas and selected examples, but do everything much faster. Best regards, Zbyszek Jurkiewicz From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:50:43 2009 Subject: No subject Message-ID: done for each identifier you wish to rename. So then my question is, could I add this functionality? eg. (require (rename-all some-module (lambda (x) x))) ;; no change (require (rename-all some-module (lambda (x) (gensym)))) ;; take an advil Thanks, David -- dvanhorn at cs dot uvm dot edu From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:50:53 2009 Subject: No subject Message-ID: MzScheme's parameter feature. It provides the ability to set up thread-specific parameters, so that you can provide something that works like the procedures current-output-port etc., that gives a different answer on different threads: http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-7.html#%_sec_7.4 You should be able to set up a procedure like (calling-device-id) that gives thread-specific answers (if your script server is already going to be running scripts on multiple threads anyway). You would use the 'parameterize' form when invoking the script. The other related docs to look at are those for MzScheme namespaces: http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-8.html If you're using 'eval' at all - e.g., if the clients are separate processes that are communicating over the network, for example - then namespaces could allow you to eval a script with a different global namespace (again using 'parameterize'), with global variables set to the appropriate values for that script. This is closely related to the above solution, but I think the above is better if you don't need to use 'eval'. One of these should do what you need. Anton From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:53:49 2009 Subject: No subject Message-ID: both support full scheme. Also, both MIT scheme and DrScheme work under Windows. Each implementation supports different language extensions, but that shouldn't be relevant to you at this point. From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:53:51 2009 Subject: No subject Message-ID: environments the two scheme implementations offer. DrScheme is much more user-friendly for most scheme beginners. MIT scheme provides edwin, which is an emacs-like editor which has a few nice features, especially if you already know emacs, but most people prefer the DrScheme environment (also, the learning curve is much shallower). MIT scheme also has a stepper and a debugger that work with full scheme; DrScheme's stepper currently doesn't work with full scheme and the debugging support (though greatly improved recently) is not as good. At Caltech we have used MIT scheme for the past two years, but nobody really liked it. We went with it largely because of the debugging support, but very few students used the debugger at all, because the documentation is weak (we ended up writing a lot ourselves) and the debugger does odd things that confuse students (like rewriting internal defines into a nonstandard "named-lambda" expression). As a result, we will probably switch to DrScheme next year (though we may continue to support MIT scheme as well). Many of our students used DrScheme anyway, and they liked it. The only situation in which I can see MIT scheme being preferable in your case is for those parts of SICP that use very specific MIT scheme features (the section on the picture language is one). Note that even in this case, getting MIT scheme to support the features takes a bit of work (I had to email the MIT scheme maintainers for detailed directions). I doubt that this will be a big issue. The only other point to be careful of is that if you use DrScheme, make sure you use the correct language level (R5RS scheme is a good choice), because DrScheme supports multiple scheme dialects, which can get confusing if you accidentally use the wrong one. Finally, there are some very trivial differences between the two implementations, such as: -- MIT scheme considers the empty list () and the boolean #f to be the same thing; DrScheme doesn't. I prefer the DrScheme behavior. -- DrScheme correctly prints out circular lists, MIT scheme doesn't. There are probably a few other differences as well. Hope this helps, Mike > From: mike111@rcn.com > Date: Thu, 6 Mar 2003 15:11:23 -0500 > > Hi all, > > I just started using scheme for a college computer science > course which is more concerned with fundamentals of > programming rather than with language details. MIT Scheme is > the implementation of scheme used in this course (which is > based on the Sussman and Abelson book "The Structure and > Interpretation of Computer Programs"). I am using a Windows > machine, however, and so DrScheme is a much better > environment. My question concerns the difference between MIT > Scheme and DrScheme at a fairly beginner/introductory level. > What are the differences or where can I find information > regarding these differences? > > Thank You, > Ilya > From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:54:01 2009 Subject: No subject Message-ID: problem, it was obvious to me it was the text-field% and not text-box%.
text-field% uses the OS's api function that gets the character height to find out what height it has to be.
I believe if you try
(define f (make-object frame% "Test"))
(define c (instantiate editor-canvas% (f)
            [stretchable-height #f]
            [style '(no-vscroll no-hscroll)])
(send c set-line-count 1)
(send f show #t)
It might give you the same problem as a text-field%
Try setting the line count to 20, I wonder what will happen.
Anyway, I had the same problem with Windows (on every program), and the solution was resetting the global font sizes (or something like that) from the control panel.  Is that possible under linux?

Katsmall the Wise
kela_bit@netvision.net.il

Dimitry Gashinsky wrote:
  For list-related administrative tasks:
  http://list.cs.brown.edu/mailman/listinfo/plt-scheme


On Mon, 2003-03-10 at 08:56, Matthew Flatt wrote:
  
  (define f (make-object frame% "Test"))
  (make-object text-field% #f f void)
  (send f show #t)

    

This produced just a thin line.

  
  (define f (make-object frame% "Test"))
  (instantiate editor-canvas% (f)
    [stretchable-height #f]
    [style '(no-vscroll no-hscroll)])
  (send f show #t)

    

But this code worked correctly. I think you are on to something here.

Thanks again,
Dima



  
--Boundary_(ID_IzBpDdywxpMSnU66B/h1dA)-- From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:54:46 2009 Subject: No subject Message-ID: George To build: * Save example as "foo.c" * The comment at the end of the function shows how to compile and link the code. You may need different include and library paths to reflect where PLT is installed on your system. In emacs, you can evaluate this expression, then compile and link the example using "compile". Running: By default, the example executes a read-eval-print-loop. Given a '-c' option, it evaluates the command line arguments that follow as scheme expressions. foo.c starts here: #include #include "scheme.h" static int repl(void) { scheme_eval(scheme_apply(scheme_builtin_value("read-eval-print-loop"), 0, NULL), scheme_basic_env()); return 0; } // evaluate expressions in argv, snarfed from "Inside PLT MzScheme" static int eval_argv(int argc, char *argv[]) { Scheme_Env *e = scheme_basic_env(); Scheme_Object *curout = scheme_get_param(scheme_config, MZCONFIG_OUTPUT_PORT); int i; for (i = 0; i < argc; ++i) { if (scheme_setjmp(scheme_error_buf)) return -1; // evaluation error scheme_display(scheme_eval_string(argv[i], e), curout); scheme_display(scheme_make_character('\n'), curout); } return 0; } int main(int argc, char *argv[]) { switch (getopt(argc, argv, "c")) { // parse command line look for "-c" case -1: return repl(); case 'c': return eval_argv(argc - optind, argv + optind); default: return -1; } return 0; } /* (set (make-local-variable 'compile-command) (mapconcat #'identity '("gcc -Wall -g" "-I/usr/local/plt/include" "-o foo" "foo.c" "/usr/local/plt/lib/libmzscheme.a" "/usr/local/plt/lib/libmzgc.a" "-ldl -lm") ; dynamic link loader and math libs " ")) */ From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:55:51 2009 Subject: No subject Message-ID: http://www.s48.org/0.57/manual/s48manual_32.html Is there any way to require a module, and then evaluate expressions inside it's namespace? "src/module.c" says that modules are basically implemented as namespaces, so if I could get at the namespaces that corresponds to an invoked module, I could just do something like: (require (lib "foo.scm" "foomod")) (eval '(set! *blah* 10) (module-namespace foo)) or even: (eval '(read-eval-print-loop) (module-namespace foo)) To interact with a namespace. I think this is the "right thing" in my situation, but considered it unholy till I saw Rees and Kelsey doin it. ;-) Ed From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:56:31 2009 Subject: No subject Message-ID: (syntax-case exp (literal ...) clause ...) syntax Each /literal/ must be an identifier. Each /clause/ must take one of the following two forms: (pattern output-expression) (pattern fender output-expression) So in your case (display ...) is considered a fender and the syntax-case is well-formed (although perhaps not what you intended). The fender is evaluated, which prints output and returns an undefined value that is interpreted as true. So the output-expression is returned. When you add another expression to the clause, the syntax-case is no longer well-formed. As the error message states, you have a "bad clause". So just use (begin ...) or (let () ...) as you had in the original example. HTH. -d From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:57:35 2009 Subject: No subject Message-ID: something like this to extract a constant value (defined as a C macro): (define FOO ((c-lambda () int "___result = FOO;"))) As you can see, c-lambda expression is anonymous and I'm immediately calling it in order to set the Scheme variable FOO. It seems to work but I wanted to make sure... Ed From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:58:00 2009 Subject: No subject Message-ID: My best guess is that you accidentally saved the module to a file other than "~/Documents/Scheme/foo.ss" (maybe a different "foo.ss"), but that's a weak guess. You're using DrScheme's `Execute' button to evaluate the last four lines? Which language? Matthew From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:58:43 2009 Subject: No subject Message-ID: even with the optimization of only writing the pixels that arn't white (they are all white by default). There are other places on the chain of execution where i can intercept the C library. The c-lib uses drivers to create the image - the one i was using before was an interface to the gd library, the one i am using now writes directly to memory. The drivers only have to implement a small set of commands to satisfy the interface: draw a line, draw multiple lines, and change state (color, pen width, etc). Perhaps i could take a bitmap-dc and have the driver call the equivelent functions on it directly. Even better would be to be able to access the bitmap portion of the bitmap-dc% and simply copy over the bitmap (in C) that is created by the c-library without going through scheme. Any suggestions? -Alex From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 00:59:51 2009 Subject: No subject Message-ID: t.cs.brown.edu To : "MicheleSimionato@libero.it" MicheleSimiona= to@libero.it Cc : "PLT Scheme ML" plt-scheme@list.cs.brown.edu=0D = Date : Thu, 23 Oct 2003 09:50:54 +0000 Subject : Re: [plt-scheme] e= rror reporting in MzScheme > For list-related administrative tasks:=0D = > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Strange, = which version of DrScheme are you using? Which OS? > > I just get the = correct error message and it is not reversed. I'm running > 205 in Linux= , check it out: http://mega.ist.utl.pt/~pocm/Screenshot.png > > Best r= egards, > > Paulo Matos Red Hat 7.3, DrScheme 205. I get the same p= roblem even in the graphical interface. I installed from sources. From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:00:05 2009 Subject: No subject Message-ID: field." I wonder, why one-field record is such important so it has its own construction? :)) Or maybe boxing has some special usage? I'm knowing about boxing in .NET, where it is used to wrap "simple" data types like integers into Object. Maybe something similar? -- Sergey Khorev http://iamphet.nm.ru As between the skulking and furtive poacher, who hunts for the sake of meat, and the honest gentleman shooter, who kills for the pleasure of sport, I find the former a higher type of humanity. -- Edward Abbey From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:00:57 2009 Subject: No subject Message-ID: .... * scheme_object_type -- SCHEME_OBJ_CLASS extracts the class, SCHEME_OBJ_DATA extracts/sets the user pointer, and SCHEME_OBJ_FLAG extracts/sets the flag; test for this type with SCHEME_OBJP But there are NO such definitions in MzScheme source. Is this information obsoleted? -- Sergey Khorev http://iamphet.nm.ru You got the ball. You had it right there. Then ... you hit it away! And then ... you go and walk after it again! It's a dumb game! -- Bill Cosby From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:02:45 2009 Subject: No subject Message-ID: I'm using 200alpha12 (iteration 0) From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:02:51 2009 Subject: [plt-scheme] SWIG/modules Message-ID: I'm using the SWIG 1.3 in debian sid, and it seems a bit broken (all quite easy to fix by hand, basically the C file isn't doing the module dance properly). Are there some un(der)documented switches or something I didn't discover? I'll file a bug report with swig/debian in a bit. John From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:02:56 2009 Subject: No subject Message-ID: "If a comma appears followed immediately by an at-sign (@), then the following expression must evaluate to a list" A list, I believe, always refers to a proper list - otherwise it's not a list, it's just a pair. Therefore, when using `(1 ,@(2 . 3)) it should not work, but should raise an error. Dor -----Original Message----- From: Joe Marshall [mailto:jrm@ccs.neu.edu]=20 Sent: Tuesday, January 13, 2004 4:16 PM To: Doug Orleans Cc: plt-scheme@list.cs.brown.edu Subject: Re: [plt-scheme] quasiquote? For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-scheme Doug Orleans writes: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Ken Anderson writes: > > I now see that args must be a list, which i assume means a proper list. > >=20 > > At 11:37 AM 1/7/2004 -0500, Ken Anderson wrote: > > >> (define name 'sscanf) > > >> (define args '(string format-string . args)) > > >> `(,name . ,args) > > >(sscanf string format-string . args) > > >> `(,name ,@args) > > >. append: expects argument of type ; given (string format-string . args) > > >> > > > > > >>From my experience with Common Lisp i expected the two quasiquote expressions to print the same. Am i doing somethine wrong in Scheme or is this a bug? > > >I'm using 200alpha12 (iteration 0) > > Coincidentally, I just ran into the same limitation: unquote-splicing > only works on proper lists. (Actually the one I ran into was > unsyntax-splicing.) R5RS only says its argument "must evaluate to a > list", but it doesn't say proper list-- or is this always implied by > the spec? Anyway, is there a good reason not to extend it to work on > improper lists as well? I'd call it a bug. =20 From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:03:47 2009 Subject: No subject Message-ID: The return value of file-proc or network-proc is ignored. To deny access, the procedure must raise an exception or otherwise escape from the context of the primitive call. If the procedure returns, the parent's corresponding procedure is called on the same inputs, and so on up the chain of security guards. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:04:00 2009 Subject: No subject Message-ID: would do the trick. In principle, require is extensible so it might even be feasible to come up with a prototype implementation of the new require. Robby From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:04:05 2009 Subject: No subject Message-ID: languages have anything over Scheme (not counting the GUI bindings, of course :)? Also, as Matthew has mentioned several times now, the real problem with pulling in new bindings to some GUI library is getting eventspaces to work properly. Do any of these handle anything like that? Robby From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:05:25 2009 Subject: No subject Message-ID: language that is simpler to analyze and prove properties about (or something along those lines). However, from the perspective of a real-world user of this language, a working program may nevertheless contain inadvertent order dependencies - dependencies which exist, and which are satisfied by the fixed order of evaluation, but that the author of the program did not intend. The formal perspective on this situation is that such dependencies are perfectly valid, with respect to the language. The notion of the intent of the programmer, with respect to order of evaluation, does not exist in the language, and as a result nothing can be said about it formally, at that level. (To connect to the run-away regimes and civil disobedience metaphor used earlier, we're now talking about censorship of the most Orwellian kind - changing the language to prevent expression of undesirable information. However, we can't change the reality which the system has to deal with - inadvertent order dependencies still exist, even if we're not allowed to talk about them.) The problem is that inadvertent order dependencies can and do lead to bugs in the real world, even though the language "pretends" that such cases are valid code. A model theorist might say something along the lines that the the domain of real systems is not a model for the language (hope I didn't mangle that too badly). Perhaps the claim should not be so broad, but there's clearly something missing in the mapping here. * * * From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:05:27 2009 Subject: No subject Message-ID: of incompleteness in our systems? In truly mission-critical software (as opposed to mere commercial systems in which the worst consequence of error is some lost money), it would be disturbing to find that unintentional and unnoticed dependencies were being addressed by automatically satisfying them, even if we don't know where they are and haven't examined them. I'd be concerned that these may cause latent errors to be uncovered by some unexpected data inputs (think Ariane 5), or by a code change that should have been innocuous, if not for an unnoticed dependency. Rather than paper over such potential errors and ignoring them, I would prefer to have a means to stress-test code which claims to be free of order-dependencies. To do that, we need the means, in the language, for making the claim of order-independence in the first place (a "declaration of independence", from the Orwellian regime mentioned above). It would seem strange that formal analysis is telling us that a language has been made safer by fixed evaluation order, while real-world experience may tell us otherwise - but this dichotomy is explained by the mismatch between real systems, and the simplified language. It's only by meta-sleight-of-hand that our focus has been redirected to a narrower system. We can't assume that safety within that system says anything about the safety of real systems. Of course, the basic issue is still the same - a subjective tradeoff between pros and cons on either side. I can see why semanticists would like the simpler, more tractable system. However, with the possible exception of systems amenable to correctness proofs, it's not at all clear to me that fixed evaluation order is on the side of real-world safety. If there is under-specification present here, surely it is actually in the language which disallows the specification of order independence, despite such order independence being a manifest property of large parts of real world systems? > Is it possible to provide a complete specification of a language? > I don't know. Languages are huge, complex artifacts. Take a look > at the number system. Take a look at thread systems and similar > things. I don't know whether we can do an adequate job. But that > shouldn't prevent us from doing better than we have done in the > past. That's part of what PLT is about and I sure hope we can > stay the course. No argument there. Anton From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:06:24 2009 Subject: [plt-scheme] let-syntax bug In-Reply-To: <20040408162903.GA23641@ogre.szonye.com> Message-ID: On Thu, 8 Apr 2004, Bradd W. Szonye wrote: > (let-syntax ((foo ...)) > (define-syntax bar (syntax-rules () ((bar) 'hello)))) > > The syntactic binding of BAR is clearly nested inside FOO's region. > Migrating BAR outside of the LET-SYNTAX region would clearly break > syntactic scoping, which is IMO a very, very bad idea. Except that "internal definitions" are already allowed in transformer templates. In regular Scheme, the following (define f (lambda () expr) (f) gives the same answer as (letrec ((f (lambda () expr))) (f)) In analogy, my expectation would therefore be that (define-syntax f (syntax-rules () ((f) expr)))) (f) should give the same as (letrec-syntax ((f (syntax-rules () expr))) (f)) However, this is not the case when expr is an internal define-syntax. From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:06:33 2009 Subject: No subject Message-ID: evaluation order the program has a well-defined behavior, even if it achieves that behavior partly "by accident". Semantics is not usually concerned with the intent of the programmer, only with what the programmer actually ended up encoding in the program. That's the precise reason there's some controversy around the issue of order of evaluation in general (not just letrec): if you take a narrow view of a program, that it only exists to communicate an algorithm to a computer, then programs that are correct by accident are fine, and you can happily analyze their unambiguous semantics. However, if you're concerned with a broader notion of correctness, as engineers often are (or an enlightened manager), then programs that are correct by accident can be very disturbing. In the real world, such bugs can be very costly, in all senses of the word. Fixing order of evaluation throughout a language introduces a classic case of "moral hazard" (http://en.wikipedia.org/wiki/Moral_hazard): if programmers no longer have to pay attention to whether their code depends on evaluation order, chances are many of them won't. If the program seems to work, it's good enough. Programmers may end up with incorrect mental models of the functioning of their programs - for example, they might not realize that in an expression like (+ (f1) (f2)), that it only works as expected because of the interaction between side effects performed by the two functions. One way to guard against this, even in a language with fixed order of evaluation, is to require that programmers use special constructs to indicate that code is depending on order of evaluation (like let*, letrec*, and 'begin'); the rest of the time, they use constructs which indicate that evaluation order is not depended on. Some semanticists are puzzled by this, because it effectively introduces into programs, assertions that are statically uncheckable. The above example wouldn't necessarily be directly "caught" by such an assertion. However, what the assertion does do is communicate and encode the programmer's intent about order of evaluation, which in practice, serves as an effective way to (a) remind programmers not to depend on order of evaluation in inappropriate contexts; (b) communicate a programmer's intent to their future selves, and to other programmers, who may notice violations and question them; and (c) make it possible for a tool to run tests for inappropriate order dependencies. A semanticist might object that a tool to check this property is impractical in theory, because you have to test the program with every possible order of evaluation for every argument in every function call in the program. In practice, though, such bugs tend to show up very quickly, so practical testing of this issue is actually very viable. C and C++ programmers have decades of experience with this issue, since both languages have an unspecified order of evaluation in function application and (for the most part) in expressions. It's quite obvious that the techniques I've described are still not a perfect solution to the problem of unintended order dependencies. However, ceteris paribus, it cannot be argued that *not* checking for such dependencies is safer than making an attempt to check for them. And you can't check for them unless you've indicated where they should be checked for. Logic and reason are entirely on the side of those who want to be able to make this assertion. It should also be kept in mind that the sequencing of side effects are fundamentally trickier to reason about than referentially transparent code. In functionally-oriented programs in particular, you want to be able to identify places which depend on side effect sequences. Saying that throughout a program, you can depend on side effects wherever you like, without any indication, seems like a counterproductive decision for a functionally-oriented language. > However, if you're going to have a functionally-oriented language, > and you want to use it functionally, then the ability to > communicate which bits of your program are intended to be > functional (in the side-effect-free sense) and which aren't, is > useful. That doesn't mean you can't have a fixed evaluation order, > but it does mean you need constructs that are explicitly intended > for code that doesn't rely on evaluation order. Without that, > you're forced to write code that says more than you mean to say. > > That's subtle. Yes, apparently it is! :) > Should we really ask, "What's the complete meaning of > this program I just wrote?" If so, the ambiguous R5RS DS is a > problem. The ambiguous R5RS DS is better described as incomplete, by design. Specifically in this case, it doesn't provide definitions for 'permute' and 'unpermute'. All you need to do is provide a suitable definition for these functions, and you can have unambiguous semantics. However, note that this should not be taken as a license to use function application, LET and LETREC as a way to sequence side effects. That's not their purpose, and using them for that purpose puts the user in the same category as someone who drives less safely because of having a good auto insurance policy. > It seems better to ask, "What's does my program mean to me?" You have to ask both "what's the complete meaning of this program I just wrote?" as well as "what does my program mean to me?", and ensure that the two match up. The text of a program encodes meaning intended for the computer as well as for the humans who wrote it and work with it. > Code-reusability is a huge problem, and indeed, MF's crew has > mathematical ideas about this as well... This is more about reliability than reusability, I think, but PLT is interested in all those good things, as am I. Anton From pocm at netvisao.pt Thu Mar 26 00:47:06 2009 From: pocm at netvisao.pt (Paulo Jorge de Oliveira Cantante de Matos) Date: Thu Mar 26 01:07:14 2009 Subject: [plt-scheme] Swindle In-Reply-To: <16528.21715.675357.259355@neilvandyke.org> References: <1083189062.11892.20.camel@localhost> <16528.21715.675357.259355@neilvandyke.org> Message-ID: <1083259451.10182.5.camel@localhost> Hi, [snip] > > Two reasons you might want *not* to use a CLOS-alike for this (even > though I am fond of CLOS, and Swindle is tempting): > > 1. You might find it useful to base your planner on Kanren (by Daniel > P. Friedman and Oleg Kiselyov). http://kanren.sourceforge.net/ > Thanks for the reference however, I don't think I'll be able to use that. Since this is a project for a course I'm having on intelligent planning in my MSc curriculum I don't think I'll be allowed to use those extra libraries which would facilitate my job compared to the other students who will use CMUCL. > 2. If you want your planner to become a reusable code library for PLT, > I would first try to use the PLT standard structure types or > "class.ss" before creating a dependency on a large and nonstandard > library. That's a possibility but it would be harder and there are features I miss (or I don't know to implement) in class.ss. After all, Eli said that it'll be added to the PLT-Scheme tree so maybe it'll become standard. :) Thanks a lot for your help. Cheers, -- Paulo J. Matos : pocm [_at_] mega . ist . utl . pt Instituto Superior Tecnico - Lisbon Computer and Software Eng. - A.I. - > http://mega.ist.utl.pt/~pocm --- -> God had a deadline... So, he wrote it all in Lisp! From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:08:53 2009 Subject: No subject Message-ID: install as nicely as perl, or that it is complex to compile/link plt code compared to perl.) ====================================================================== (require (lib "foreign.ss")) (define libperl (ffi-lib "/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so")) (define interp ((get-ffi-obj "perl_alloc" libperl (_fun -> _pointer)))) ((get-ffi-obj "perl_construct" libperl (_fun _pointer -> _void)) interp) ((get-ffi-obj "perl_parse" libperl (_fun _pointer _pointer _int (_list i _string) _pointer -> _void)) interp #f 3 '("" "-e" "0") #f) ((get-ffi-obj "perl_run" libperl (_fun _pointer -> _int)) interp) (define perl-eval (get-ffi-obj "Perl_eval_pv" libperl (_fun _pointer _string (_bool = #t) -> _pointer))) (define perl->bytes (get-ffi-obj "Perl_sv_2pvutf8" libperl (_fun _pointer _pointer (len : (_ptr o _int)) -> (_bytes o len)))) (define perl-call (get-ffi-obj "Perl_call_sv" libperl (_fun _pointer _pointer _int -> _int))) (define (perl-eval/string str) (bytes->string/utf-8 (perl->bytes interp (perl-eval interp str)))) (define (perl-eval/proc str) (let ([pp (perl-eval interp str)]) (lambda () (perl-call interp pp 0)))) (perl-eval/string "$a = 3; $a **= 2") (perl-eval/proc "sub { print \"FOO\\n\"; }") ====================================================================== -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:08:59 2009 Subject: No subject Message-ID: to say the least. It builds with a lot of Windows defines and uses Windows-like paths. I'm thinking of trying to rework the build to make cygwin more of a Unix flavored build. A lot of progress has been made in Cygwin to providing a fuller emulation of a Unix environment and perhaps it could be made to work. Possibly the problems building MrEd under Cygwin could be addressed also. I would think that if the goal is to have a separate compiler chain supported for extensions in a more "traditional" Windows32 environment, that this could be a Mingw32 build (http://www.mingw.org/). I thought before I tore off in my own direction, I would seek this list's advice on such a plan. If a more Unix-like build of the tools could be supported under Cygwin, would there be much chance of this being incorporated into the main distribution or is there a lot of attachment to just using gcc as a separate compiler option for integrating with the Windows environment. I'm not saying that integration with the Windows environment would be impossible if such a direction were taken, but it might risk this. I couldn't guarantee, of course, that such projects would work in the not-yet-implemented mingw32 branch or even that such a hypothetical build would even be done by me as I'm more interested in the Cygwin-only build. I would suggest that there's less reason to support gcc as a compiler option now that you can get the CLI version of the Microsoft C compiler (I'd provide a URL for this, but I can't seem to reach microsoft.com right now to verify my bookmark), but I could see where people might have grown dependent on gcc for their projects. I'm just looking for advice here, not some definite commitment of direction. I wouldn't expect a commitment based on just a statement of direction. Thanks. -Jordan Henderson From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:09:04 2009 Subject: No subject Message-ID: to say the least. It builds with a lot of Windows defines and uses Windows-like paths. I'm thinking of trying to rework the build to make cygwin more of a Unix flavored build. A lot of progress has been made in Cygwin to providing a fuller emulation of a Unix environment and perhaps it could be made to work. Possibly the problems building MrEd under Cygwin could be addressed also. I would think that if the goal is to have a separate compiler chain supported for extensions in a more "traditional" Windows32 environment, that this could be a Mingw32 build (http://www.mingw.org/). I thought before I tore off in my own direction, I would seek this list's advice on such a plan. If a more Unix-like build of the tools could be supported under Cygwin, would there be much chance of this being incorporated into the main distribution or is there a lot of attachment to just using gcc as a separate compiler option for integrating with the Windows environment. I'm not saying that integration with the Windows environment would be impossible if such a direction were taken, but it might risk this. I couldn't guarantee, of course, that such projects would work in the not-yet-implemented mingw32 branch or even that such a hypothetical build would even be done by me as I'm more interested in the Cygwin-only build. I would suggest that there's less reason to support gcc as a compiler option now that you can get the CLI version of the Microsoft C compiler (I'd provide a URL for this, but I can't seem to reach microsoft.com right now to verify my bookmark), but I could see where people might have grown dependent on gcc for their projects. I'm just looking for advice here, not some definite commitment of direction. I wouldn't expect a commitment based on just a statement of direction. Thanks. -Jordan Henderson From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:12:28 2009 Subject: No subject Message-ID: On Thursday, October 14, 2004, at 03:55PM, karczma wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > >George Demmy writes: > >> Matthias Felleisen writes: > >>> As everyone has probably noticed by now, there are >>> two radically different notions of programming at play: >>> >>> Definition 1: systematically design and re-design (factor) >>> an application. Typically others use this software, and >>> also typically this software is maintained over some time. >>> But not always. >>> >>> Definition 2: get the computer to do something for you, >>> anything almost (even if it is not quite right). >>> >>> And 2 is the winning notion, even if it's wrong. Then >>> again even though it is wrong for all kinds of reasons, >>> it has a place. >... >> This is a variation of the Worse is Better dialectic: >> >> http://www.dreamsongs.com/WorseIsBetter.html >> >> Richard Gabriel wrestled with these competing philosophies in a series >> of essays, which may be of some interest to those not familiar with >> them. > >Messieurs, both of you... >I come from a particular milieu: physicists, high-energy physicists >whose computational needs were always enormous. They opted for (1), >a long time ago. > >Now, do you think that it contributed to "good is better than bad" or >whatever? > >Actually, the enormous collaborations and monstrous software projects >rigidified the souls of my folk, they preferred for years incremental >bug correction, no escape from Fortran, no true refactoring, in general >the philosophy "unknown is worse than bad" (hm... a good reference? the >Hamlet monolog, surely). > >I think that the problem is more complex than it seems. As always. > >Jerzy Karczmarczuk > > > > From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:13:34 2009 Subject: No subject Message-ID: > It seems that passing the data into make-form is the right way to do > it. Do you say this becuase it's better style - time complexity is the same, right? From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:13:36 2009 Subject: No subject Message-ID: > If your sample code is really representative and your goal is to get > these large list of "random" things directly into a web page (which is > different from the above), you need to perform a loop fusion manually > (aka deforestation). Yeah, that was the goal. > (which is different from the above) By "above" are you referring to my original example? Many thanks again! Cheers, David On Sun, Nov 21, 2004 at 09:25:16AM -0800, Jordan Johnson wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > On Sunday, November 21, 2004, at 07:11 AM, David J. Neu wrote: > >My alternative is to generate the list of data and then pass it into > >the procedure MAKE-FORM, however, I'd like to avoid looping through > >the data set twice. > > I'm not sure I understand your question. You're already looping > through the data set a second time when you write ,@loptions, and > moving the generation of the data outside your form-builder procedure > won't change that... > > In fact, I'd argue it'd be better; as written, your make-form doesn't > even care what lrandoms is. It seems that passing the data into > make-form is the right way to do it. > > Is there any reason NOT to write it this way (given the same def'n of > random-number-options you provided): > > (define doit > (lambda (an) > (let* ((rands/opts (random-number-options an)) > (lrandoms (car rands/opts)) ;; or better, use > let-values > (loptions (cadr rands/opts)) > (lrequest (send/suspend (make-form an loptions))) > ;; add loptions arg to make-form, > and delete make-form's let-exps > (lbindings (request-bindings lrequest))) > (let ((lnum (extract-binding/single 'num lbindings))) > (send/finish > `(html > (center ,(format "You selected the number ~a" > lnum))))))))) > > Let me know if I'm missing something... > > jmj > > >The real application is a web-based database application, but I > >thought this self-contained example made the point more succinctly. > > > >Many thanks for any help! > > > >Cheers, > >David > > > > > >(require (lib "unitsig.ss") > > (lib "servlet-sig.ss" "web-server") > > (lib "servlet-helpers.ss" "web-server")) > > > >(unit/sig () (import servlet^) > > > > (define random-number-options > > (lambda (an) > > (let loop ((ln an) > > (lrandoms '()) > > (loptions '())) > > (if (zero? ln) > > (list lrandoms loptions) > > (let ((lrandom (random an))) > > (loop (sub1 ln) > > (cons lrandom lrandoms) > > (cons (list 'option (format "~a" lrandom)) > >loptions))))))) > > > > (define make-form > > (lambda (an) > > (let ((llist (random-number-options an))) > > (let ((lrandoms (car llist)) > > (loptions (cadr llist))) > > (lambda (k-url) > > `(html > > (center > > (form ((action ,k-url) (method "post")) > > (p "Please select a number: ") > > (p (select ((name "num")) ,@loptions)) > > (p (input ((type "submit") (value "OK")))))))))))) > > > > (define doit > > (lambda (an) > > ; I'd like to have the list of random numbers i.e. the variable > >lRANDOMS > > ; in procedure MAKE-FORM available here, i.e. have it returned in > > ; addition to lrequest > > (let ((lrequest (send/suspend (make-form an)))) > > (let ((lbindings (request-bindings lrequest))) > > (let ((lnum (extract-binding/single 'num lbindings))) > > (send/finish > > `(html > > (center ,(format "You selected the number ~a" > >lnum))))))))) > > > > (doit 20)) > > > > > -- > Jordan Johnson (Email manipulator #22483617) From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:15:53 2009 Subject: No subject Message-ID: to be implemented ..."., is there a similar thing for a set of field names? If not how do you do this - define a superclass that contains the required fields and derive a new class from it? Sorry if it's in the documentation and I missed it. Many thanks! Cheers, David From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:16:46 2009 Subject: No subject Message-ID: worked fine. If so, that means that yo uwon't be able to use GL, ssl, or the plot library. Those aren't used by drscheme or any other of the major tools. So, can you run drscheme? Robby At Mon, 21 Mar 2005 17:54:40 -0400, Neil Collins wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Hi, > I am using gentoo 64 bit on my amd 64, however I am having trouble > compiling the 209 build of plt scheme which I downloaded from > drscheme.org > Here are the errors are the end of the compile process (make install). > Is work being done to get it to compile on x86_64? > Are there some specific things I need to do to get this to compile and install? > I know x86_64 isn't mentioned in the README, but I thought I would try it. > Thanks, > Neil > > setup-plt: Error during Compiling .zos for sgl > (/home/neil/Downloads/plt/collects/sgl) > setup-plt: default-load-handler: cannot open input file: > "/home/neil/Downloads/plt/collects/sgl/gl-vectors/gl-double-vector.ss" > (No such file or directory; errno=2) > setup-plt: Error during Early Install for SSL Driver > (/home/neil/Downloads/plt/collects/openssl) > setup-plt: make: Failed to make > compiled/native/x86_64-linux/mzssl.so; link-extension: command failed > setup-plt: Error during Early Install for homogeneous-vectors > (/home/neil/Downloads/plt/collects/srfi/4) > setup-plt: make: Failed to make > compiled/native/x86_64-linux/homo-f64-vector-prims.so; make: Failed to > make compiled/native/x86_64-linux/homo-f64-vector-prims.so; > link-extension: command failed > setup-plt: Error during Early Install for sgl > (/home/neil/Downloads/plt/collects/sgl) > setup-plt: make: Failed to make > gl-vectors/compiled/native/x86_64-linux/gl-double-vector.so; > link-extension: command failed > setup-plt: Error during Early Install for Plot library > (/home/neil/Downloads/plt/collects/plot) > setup-plt: make: Failed to make > /home/neil/Downloads/plt/collects/plot/compiled/native/x86_64-linux/fit-low-level.so; > link-extension: command failed > install: Errors in compilation process! (1) > make[1]: *** [inplace-finish] Error 1 > make[1]: Leaving directory `/home/neil/Downloads/plt/src' > make: *** [install] Error 2 From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:17:01 2009 Subject: No subject Message-ID: "To become an author. visit TWikiRegistration and fill out the registration form. Anyone can become a cookbook author, and contribute to the cookbook. Once you have registered with the site you can modify and add recipes as you see fit. Please note that all contributions are covered by the Copyright statement in BookIntroduction." Registration: http://schemecookbook.org/TWiki/TWikiRegistration Copyright statement: http://schemecookbook.org/Cookbook/BookIntroduction Daniel On Wed, 23 Mar 2005 23:58:14 +0000, djneu@att.net wrote: > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > Robby, Jens, > > Many thanks - using ~s did it! > > Any thoughts for the Scheme Cookbook folks on whether it's worth > putting a note in one of the recipes Jens referenced or maybe > creating a new one? > > Cheers, > David > > -------------- Original message ---------------------- > From: Robby Findler > > You need to use > > > > ~s > > > > not ~a. > > > > If you look closely at the first case, you'll see that you're getting > > back a symbol, not a string. ~s means to use `write' and ~a means to > > use display. > > > > Robby > > > > At Wed, 23 Mar 2005 17:50:24 -0500, "David J. Neu" wrote: > > > For list-related administrative tasks: > > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > > > > Hi, > > > > > > I'd like to be able to store an association list in a DBMS and later > > > retrieve it. > > > > > > The code below works fine for > > > (define alist `((a . 1) (b . "foo"))) > > > > > > but generates the error: > > > > > > UNKNOWN::26: read: unexpected ')' > > > > > > when b is "", i.e. for > > > (define alist `((a . 1) (b . ""))) > > > > > > Many thanks for any suggestions! > > > > > > Cheers, > > > David > > > > > > > > > > > > (require (lib "string.ss") > > > (lib "pconvert.ss")) > > > > > > (define alist `((a . 1) (b . ""))) > > > > > > ;; simulate storing alist in a DBMS and reading it back > > > (define alist-as-string (format "~a" (print-convert alist))) > > > > > > (eval-string alist-as-string) > > > > > > UNKNOWN::26: read: unexpected ')' > > From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:19:16 2009 Subject: No subject Message-ID:
"If f ever returns a true value, it must continue to return a true value. "

Until when? Until scheme_block_until() returns?

Hans






--------------020700070801040101000604-- From bogus@does.not.exist.com Thu Mar 26 00:47:06 2009 From: bogus@does.not.exist.com () Date: Thu Mar 26 01:21:18 2009 Subject: No subject Message-ID: ;;;;;;;; > (define -> 'blah) > (require m1) > (arrow -> 'ok-please-break) ((quote ok-please-break) is arrowed!) ;;;;;;;; This is what I expected out of m3 as well, and since my expectations were violated, I'm interested in learning what I'm missing here. *grin* Thanks for any help on this! From fkoksal at cs.bilgi.edu.tr Sun Mar 1 09:25:18 2009 From: fkoksal at cs.bilgi.edu.tr (=?UTF-8?B?Ik0uIEZhdGloIEvDtmtzYWwi?=) Date: Thu Mar 26 02:43:12 2009 Subject: [plt-scheme] DrScheme Autosave Message-ID: <49AA9ACE.40808@cs.bilgi.edu.tr> Hi all, this is what the documentation says about the autosave; "When a file in an active DrScheme editor is modified but not saved, DrScheme saves the file to a special autosave file after five minutes (in case of a power failure or catastrophic error). If the file is later saved, or if the user exists DrScheme without saving the file, the autosave file is removed. The autosave file is saved in the same directory as the original file, and the autosave file?s name is generated from the original file?s name: ..." What I understand here is, if I do not save any file during 5 minutes, then it saves it automatically. But even I save the file several times, it does an autosave exactly after 5 minutes (five minutes after I open the file). Is this a bug, or a feature :) M. Fatih K?ksal ?stanbul Bilgi University Computer Science Department -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/96c8cf09/signature.pgp From robby at eecs.northwestern.edu Sun Mar 1 10:14:05 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:15 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <49AA9ACE.40808@cs.bilgi.edu.tr> References: <49AA9ACE.40808@cs.bilgi.edu.tr> Message-ID: <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> I think drs does the reasonable thing, not what you describe. Have you observed otherwise? Robby On Sun, Mar 1, 2009 at 8:25 AM, "M. Fatih K?ksal" wrote: > Hi all, > > this is what the documentation says about the autosave; > > "When a file in an active DrScheme editor is modified but not saved, > DrScheme saves the file to a special autosave file after five minutes > (in case of a power failure or catastrophic error). If the file is later > saved, or if the user exists DrScheme without saving the file, the > autosave file is removed. The autosave file is saved in the same > directory as the original file, and the autosave file?s name is > generated from the original file?s name: ..." > > What I understand here is, if I do not save any file during 5 minutes, > then it saves it automatically. But even I save the file several times, > it does an autosave exactly after 5 minutes (five minutes after I open > the file). > > Is this a bug, or a feature :) > > > M. Fatih K?ksal > ?stanbul Bilgi University > Computer Science Department > > > _________________________________________________ > ?For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > From fkoksal at cs.bilgi.edu.tr Sun Mar 1 10:18:25 2009 From: fkoksal at cs.bilgi.edu.tr (=?UTF-8?B?Ik0uIEZhdGloIEvDtmtzYWwi?=) Date: Thu Mar 26 02:43:16 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> References: <49AA9ACE.40808@cs.bilgi.edu.tr> <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> Message-ID: <49AAA741.40208@cs.bilgi.edu.tr> The documentation says, it will autosave if I *do not save* during 5 minutes. But it does not care whether I save or not, and does the autosave after 5 minutes I open a file. fkoksal Robby Findler wrote: > I think drs does the reasonable thing, not what you describe. Have you > observed otherwise? > > Robby > > On Sun, Mar 1, 2009 at 8:25 AM, "M. Fatih K?ksal" > wrote: >> Hi all, >> >> this is what the documentation says about the autosave; >> >> "When a file in an active DrScheme editor is modified but not saved, >> DrScheme saves the file to a special autosave file after five minutes >> (in case of a power failure or catastrophic error). If the file is later >> saved, or if the user exists DrScheme without saving the file, the >> autosave file is removed. The autosave file is saved in the same >> directory as the original file, and the autosave file?s name is >> generated from the original file?s name: ..." >> >> What I understand here is, if I do not save any file during 5 minutes, >> then it saves it automatically. But even I save the file several times, >> it does an autosave exactly after 5 minutes (five minutes after I open >> the file). >> >> Is this a bug, or a feature :) >> >> >> M. Fatih K?ksal >> ?stanbul Bilgi University >> Computer Science Department >> >> >> _________________________________________________ >> For list-related administrative tasks: >> http://list.cs.brown.edu/mailman/listinfo/plt-scheme >> >> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/4298e9fd/signature.pgp From robby at eecs.northwestern.edu Sun Mar 1 10:28:41 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:16 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <49AAA741.40208@cs.bilgi.edu.tr> References: <49AA9ACE.40808@cs.bilgi.edu.tr> <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> <49AAA741.40208@cs.bilgi.edu.tr> Message-ID: <932b2f1f0903010728k65a68278x8d1c11c2193cea1e@mail.gmail.com> The documentation says that it creates the autosave five minutes after the last save. But I can see how you might find it unclear. I have improved it for the next release. Robby On Sun, Mar 1, 2009 at 9:18 AM, "M. Fatih K?ksal" wrote: > The documentation says, it will autosave if I *do not save* during 5 > minutes. But it does not care whether I save or not, and does the > autosave after 5 minutes I open a file. > > fkoksal > > Robby Findler wrote: >> I think drs does the reasonable thing, not what you describe. Have you >> observed otherwise? >> >> Robby >> >> On Sun, Mar 1, 2009 at 8:25 AM, "M. Fatih K?ksal" >> wrote: >>> Hi all, >>> >>> this is what the documentation says about the autosave; >>> >>> "When a file in an active DrScheme editor is modified but not saved, >>> DrScheme saves the file to a special autosave file after five minutes >>> (in case of a power failure or catastrophic error). If the file is later >>> saved, or if the user exists DrScheme without saving the file, the >>> autosave file is removed. The autosave file is saved in the same >>> directory as the original file, and the autosave file?s name is >>> generated from the original file?s name: ..." >>> >>> What I understand here is, if I do not save any file during 5 minutes, >>> then it saves it automatically. But even I save the file several times, >>> it does an autosave exactly after 5 minutes (five minutes after I open >>> the file). >>> >>> Is this a bug, or a feature :) >>> >>> >>> M. Fatih K?ksal >>> ?stanbul Bilgi University >>> Computer Science Department >>> >>> >>> _________________________________________________ >>> ?For list-related administrative tasks: >>> ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme >>> >>> > > From fkoksal at cs.bilgi.edu.tr Sun Mar 1 10:33:26 2009 From: fkoksal at cs.bilgi.edu.tr (=?UTF-8?B?Ik0uIEZhdGloIEvDtmtzYWwi?=) Date: Thu Mar 26 02:43:16 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <932b2f1f0903010728k65a68278x8d1c11c2193cea1e@mail.gmail.com> References: <49AA9ACE.40808@cs.bilgi.edu.tr> <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> <49AAA741.40208@cs.bilgi.edu.tr> <932b2f1f0903010728k65a68278x8d1c11c2193cea1e@mail.gmail.com> Message-ID: <49AAAAC6.4090200@cs.bilgi.edu.tr> I opened a file and saved it. Then every second I added one character and saved it again. When the timer hits the 5th minute after I have opened the file it does create the autosave file, not after the last save. Sorry, if I still misunderstand your statement. fkoksal Robby Findler wrote: > The documentation says that it creates the autosave five minutes after > the last save. But I can see how you might find it unclear. I have > improved it for the next release. > > Robby > > On Sun, Mar 1, 2009 at 9:18 AM, "M. Fatih K?ksal" > wrote: >> The documentation says, it will autosave if I *do not save* during 5 >> minutes. But it does not care whether I save or not, and does the >> autosave after 5 minutes I open a file. >> >> fkoksal >> >> Robby Findler wrote: >>> I think drs does the reasonable thing, not what you describe. Have you >>> observed otherwise? >>> >>> Robby >>> >>> On Sun, Mar 1, 2009 at 8:25 AM, "M. Fatih K?ksal" >>> wrote: >>>> Hi all, >>>> >>>> this is what the documentation says about the autosave; >>>> >>>> "When a file in an active DrScheme editor is modified but not saved, >>>> DrScheme saves the file to a special autosave file after five minutes >>>> (in case of a power failure or catastrophic error). If the file is later >>>> saved, or if the user exists DrScheme without saving the file, the >>>> autosave file is removed. The autosave file is saved in the same >>>> directory as the original file, and the autosave file?s name is >>>> generated from the original file?s name: ..." >>>> >>>> What I understand here is, if I do not save any file during 5 minutes, >>>> then it saves it automatically. But even I save the file several times, >>>> it does an autosave exactly after 5 minutes (five minutes after I open >>>> the file). >>>> >>>> Is this a bug, or a feature :) >>>> >>>> >>>> M. Fatih K?ksal >>>> ?stanbul Bilgi University >>>> Computer Science Department >>>> >>>> >>>> _________________________________________________ >>>> For list-related administrative tasks: >>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme >>>> >>>> >> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/608c6359/signature.pgp From jensaxel at soegaard.net Sun Mar 1 10:37:55 2009 From: jensaxel at soegaard.net (Jens Axel Soegaard) Date: Thu Mar 26 02:43:16 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <49AA9ACE.40808@cs.bilgi.edu.tr> References: <49AA9ACE.40808@cs.bilgi.edu.tr> Message-ID: <49AAABD3.1080906@soegaard.net> M. Fatih K?ksal quoted the manual: > If the file is later > saved, or if the user exists DrScheme without saving the file, the > autosave file is removed. What happens if I close an unsaved tab, and then later exits DrScheme? -- Jens Axel S?gaard From robby at eecs.northwestern.edu Sun Mar 1 10:44:05 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:17 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <49AAAAC6.4090200@cs.bilgi.edu.tr> References: <49AA9ACE.40808@cs.bilgi.edu.tr> <932b2f1f0903010714p11833a96y5956d258e6b133ab@mail.gmail.com> <49AAA741.40208@cs.bilgi.edu.tr> <932b2f1f0903010728k65a68278x8d1c11c2193cea1e@mail.gmail.com> <49AAAAC6.4090200@cs.bilgi.edu.tr> Message-ID: <932b2f1f0903010744v63da5930r974d1b6cd5daa8c9@mail.gmail.com> Ack, it is I who misunderstands. Looking at the code (and assuming I did not miss anything) I see that there is a single timer that triggers every five minutes. If any save files are out of date at that point, it creates autosave files for them. Probably not the best behavior, I agree. Robby On Sun, Mar 1, 2009 at 9:33 AM, "M. Fatih K?ksal" wrote: > I opened a file and saved it. Then every second I added one character > and saved it again. When the timer hits the 5th minute after I have > opened the file it does create the autosave file, not after the last save. > > Sorry, if I still misunderstand your statement. > > fkoksal > > Robby Findler wrote: >> The documentation says that it creates the autosave five minutes after >> the last save. But I can see how you might find it unclear. I have >> improved it for the next release. >> >> Robby >> >> On Sun, Mar 1, 2009 at 9:18 AM, "M. Fatih K?ksal" >> wrote: >>> The documentation says, it will autosave if I *do not save* during 5 >>> minutes. But it does not care whether I save or not, and does the >>> autosave after 5 minutes I open a file. >>> >>> fkoksal >>> >>> Robby Findler wrote: >>>> I think drs does the reasonable thing, not what you describe. Have you >>>> observed otherwise? >>>> >>>> Robby >>>> >>>> On Sun, Mar 1, 2009 at 8:25 AM, "M. Fatih K?ksal" >>>> wrote: >>>>> Hi all, >>>>> >>>>> this is what the documentation says about the autosave; >>>>> >>>>> "When a file in an active DrScheme editor is modified but not saved, >>>>> DrScheme saves the file to a special autosave file after five minutes >>>>> (in case of a power failure or catastrophic error). If the file is later >>>>> saved, or if the user exists DrScheme without saving the file, the >>>>> autosave file is removed. The autosave file is saved in the same >>>>> directory as the original file, and the autosave file?s name is >>>>> generated from the original file?s name: ..." >>>>> >>>>> What I understand here is, if I do not save any file during 5 minutes, >>>>> then it saves it automatically. But even I save the file several times, >>>>> it does an autosave exactly after 5 minutes (five minutes after I open >>>>> the file). >>>>> >>>>> Is this a bug, or a feature :) >>>>> >>>>> >>>>> M. Fatih K?ksal >>>>> ?stanbul Bilgi University >>>>> Computer Science Department >>>>> >>>>> >>>>> _________________________________________________ >>>>> ?For list-related administrative tasks: >>>>> ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme >>>>> >>>>> >>> > > From fkoksal at cs.bilgi.edu.tr Sun Mar 1 11:06:57 2009 From: fkoksal at cs.bilgi.edu.tr (=?UTF-8?B?Ik0uIEZhdGloIEvDtmtzYWwi?=) Date: Thu Mar 26 02:43:17 2009 Subject: [plt-scheme] DrScheme Autosave In-Reply-To: <49AAABD3.1080906@soegaard.net> References: <49AA9ACE.40808@cs.bilgi.edu.tr> <49AAABD3.1080906@soegaard.net> Message-ID: <49AAB2A1.7030303@cs.bilgi.edu.tr> Jens Axel Soegaard wrote: > M. Fatih K?ksal quoted the manual: > >> If the file is later >> saved, or if the user exists DrScheme without saving the file, the >> autosave file is removed. > > What happens if I close an unsaved tab, and then later exits DrScheme? > That part works as it is written in the documentation. If you modify a file and do not save it, it creates the autosave file after 5 minutes (or something). Then if you close without saving, it removes the autosave file. But the problem, as it's clarified, is that the timer does not care the last save, but does the autosave for any file that is outdated. fkoksal -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/178237ad/signature.pgp From grettke at acm.org Sun Mar 1 12:15:32 2009 From: grettke at acm.org (Grant Rettke) Date: Thu Mar 26 02:43:17 2009 Subject: [plt-scheme] Re: [plt-dev] Errors with SRFI-1 in R6RS mode that are not in #scheme mode in PLT 4.1.4.3-svn13feb2009 In-Reply-To: <18858.48541.172955.800723@winooski.ccs.neu.edu> References: <756daca50903010845n3d7cdc82sa54fd4494795a5a3@mail.gmail.com> <18858.48541.172955.800723@winooski.ccs.neu.edu> Message-ID: <756daca50903010915m7909d639pbfb608a66c00b8d7@mail.gmail.com> On Sun, Mar 1, 2009 at 10:53 AM, Eli Barzilay wrote: > On Mar ?1, Grant Rettke wrote: >> >> This does not: >> >> #!r6rs >> >> (import (rnrs base) >> ? ? ? ? (only (srfi :1) split-at take drop)) >> >> (take '(a b c d e) ?2) ; => (a b) >> (drop '(a b c d e) ?2) ; => (c d e) >> (split-at '(a b c d e) ?2) ; => expecting >> ? ? ? ? ? ? ? ? ? ? ? ? ? ?;(values (take '(a b c d e) ?2) (drop '(a b >> c d e) ?2) >> >> >take: index 2 too large for list (not a proper list): {a b c d e}2 >> >drop: index 2 too large for list (not a proper list): {a b c d e}2 >> >take: index 2 too large for list (not a proper list): {a b c d e}2 >> >> What am I doing wrong? > > Mutable lists are not `list?', so you get the same error as if you did > (take "blah" 2). So what is happening is that the R6RS is attempting to use the PLT implementation of SRFI-1? I need to grab a R6RS SRFI-1 implementation than. > (BTW, such messages like this are more fitting to the main list.) Understood. I see that plt-dev is for discussions about development of the PLT technology itself. I had a another idea about it which was inaccurate. From erich at snafu.de Sun Mar 1 13:45:10 2009 From: erich at snafu.de (Erich Rast) Date: Thu Mar 26 02:43:18 2009 Subject: [plt-scheme] Creating Self-Contained Executable Message-ID: Hi, I'm trying to create a completely self-contained executable from a module-based MrEd application using mzc, but it doesn't seem to work. Here is what I did: - Copied shared libraries from their respective places to a local directory lib/ - Downloaded external Scheme libraries/collections that use the shared library (crypto.plt and gzip.plt in this case) and modified them as in the following example: (define-runtime-path libcryptopath (list 'so (case (system-type) ((windows) "libeay32") ((macosx) "lib/libcrypto") (else "libcrypto")))) (define libcrypto (ffi-lib libcryptopath)) - All other external files are declared with define-runtime-path too. - Tried the following: mzc --gui-exe MyApp init.scm where init.scm is the first module that starts the application. The resulting MyApp.app works on my machine, but doesn't contain any shared library in the OS X package/bundle. - Then tried: mzc --exe-dir Distro MyApp This creates a Distro directory containing a larger MyApp.app that includes the framework but still doesn't include any shared library. How can I include shared libraries such that the end package/bundle on OS X contains them in a lib subdirectory and all FFI calls use the library stored within the application bundle on the end-user machine instead of using a respective existing system library (if the latter is available at all)? Best regards, Erich From beratn at gmail.com Sun Mar 1 14:15:30 2009 From: beratn at gmail.com (=?ISO-8859-9?Q?emre_berat_nebio=F0lu?=) Date: Thu Mar 26 02:43:18 2009 Subject: [plt-scheme] eqv? equal? Message-ID: Sorry for this newbie question.But i wonder so much about eqv? and equal?.In the some discussin that passes on ffreenode #scheme.I see some sentence which is "eqv? is faster than equal? in comparison.So i thought eqv? and equal? returns boolean thing #t or #f right ? So why? In that point,i have three question about that. what is the thing that makes eqv? faster than equal?. which one is more powerful on programming ? What is the reason that equal? still be used ? If eqv? is faster than equal?. Regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/a62ac78b/attachment.htm From jensaxel at soegaard.net Sun Mar 1 14:18:59 2009 From: jensaxel at soegaard.net (Jens Axel Soegaard) Date: Thu Mar 26 02:43:19 2009 Subject: [plt-scheme] eqv? equal? In-Reply-To: References: Message-ID: <49AADFA3.4020204@soegaard.net> emre berat nebiog(lu skrev: > Sorry for this newbie question.But i wonder so much about eqv? and > equal?.In the some discussin that passes on ffreenode #scheme.I see some > sentence which is "eqv? is faster than equal? in comparison.So i thought > eqv? and equal? returns boolean thing #t or #f right ? So why? > > In that point,i have three question about that. > > what is the thing that makes eqv? faster than equal?. > > which one is more powerful on programming ? > > What is the reason that equal? still be used ? If eqv? is faster than > equal?. Read: http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.1 Try to predict the result of: (eqv? (list 1 2) (list 1 2)) and (equal? (list 1 2) (list 1 2)) What happens and why? -- Jens Axel S?gaard From beratn at gmail.com Sun Mar 1 14:29:00 2009 From: beratn at gmail.com (=?ISO-8859-9?Q?emre_berat_nebio=F0lu?=) Date: Thu Mar 26 02:43:19 2009 Subject: [plt-scheme] eqv? equal? In-Reply-To: <49AADFA3.4020204@soegaard.net> References: <49AADFA3.4020204@soegaard.net> Message-ID: eqv returns false. equal returns true. i learn new things so eqv? and equal? is not the same thing.But i cannot thing anything about that I read the link.. On Sun, Mar 1, 2009 at 9:18 PM, Jens Axel Soegaard wrote: > emre berat nebiog(lu skrev: > >> Sorry for this newbie question.But i wonder so much about eqv? and >> equal?.In the some discussin that passes on ffreenode #scheme.I see some >> sentence which is "eqv? is faster than equal? in comparison.So i thought >> eqv? and equal? returns boolean thing #t or #f right ? So why? >> >> In that point,i have three question about that. >> >> what is the thing that makes eqv? faster than equal?. >> >> which one is more powerful on programming ? >> >> What is the reason that equal? still be used ? If eqv? is faster than >> equal?. >> > > Read: > > > http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.1 > > Try to predict the result of: > > (eqv? (list 1 2) (list 1 2)) > > and > > (equal? (list 1 2) (list 1 2)) > > > What happens and why? > > -- > Jens Axel S?gaard > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/24a3b04f/attachment.html From jensaxel at soegaard.net Sun Mar 1 15:01:11 2009 From: jensaxel at soegaard.net (Jens Axel Soegaard) Date: Thu Mar 26 02:43:19 2009 Subject: [plt-scheme] eqv? equal? In-Reply-To: References: <49AADFA3.4020204@soegaard.net> Message-ID: <49AAE987.80209@soegaard.net> > emre berat nebiog(lu skrev: > > Sorry for this newbie question.But i wonder so much about eqv? > and equal?.In the some discussin that passes on ffreenode > #scheme.I see some sentence which is "eqv? is faster than equal? > in comparison.So i thought eqv? and equal? returns boolean thing > #t or #f right ? So why? > > In that point,i have three question about that. > > what is the thing that makes eqv? faster than equal?. > > which one is more powerful on programming ? > > What is the reason that equal? still be used ? If eqv? is faster > than equal?. > > > Read: > > http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.1 > > Try to predict the result of: > > (eqv? (list 1 2) (list 1 2)) > > and > > (equal? (list 1 2) (list 1 2)) > > > What happens and why? emre berat nebiog(lu skrev: > eqv returns false. > > equal returns true. > > i learn new things so eqv? and equal? is not the same thing.But i cannot > thing anything about that I read the link.. The short answer: (eqv? p1 p2) checks whether p1 and p2 is the same pair (i.e. located the same place in memory - and thus is a simple pointer comparision) (equal? p1 p2) checks recursively whether the contents of the the car and cdr of the pairs are the same. -- Jens Axel S?gaard From jos.koot at telefonica.net Sun Mar 1 16:08:50 2009 From: jos.koot at telefonica.net (Jos Koot) Date: Thu Mar 26 02:43:20 2009 Subject: [plt-scheme] eqv? equal? References: Message-ID: <8348FC16962245C0BA85949443D657C3@uw2b2dff239c4d> You may also consider: (define a (box 1)) (define b (box 1)) (eqv? a b) ;--> #f because a and b are two different boxes (see below) (equal? a b) ;--> #t because boxes a and b have the same content. (set-box! b 2) ; this does not affect box a! (equal? a b) ;--> #f because now the boxes have different contents. There are different meanings for the words "the same". Two of them are: 1: The same content (recursively without being trapped by circular constructs) This is what equal? does (approximately) Because equal? must recur on the structure of the object, it is slower than eqv?. 2: The same in the sense that if the objects are mutable, changing one also changes the other. This is what eqv? does. This means that for objects like boxes, (mutable) lists and vectors, eqv? only has to look whether or not the two arguments point to the same place in storage. When comparing things like numbers and symbols, equal? and eqv? yield the same results and you probably wont notice any difference in speed. Jos ----- Original Message ----- From: emre berat nebioglu To: plt-scheme@list.cs.brown.edu Sent: Sunday, March 01, 2009 8:15 PM Subject: [plt-scheme] eqv? equal? Sorry for this newbie question.But i wonder so much about eqv? and equal?.In the some discussin that passes on ffreenode #scheme.I see some sentence which is "eqv? is faster than equal? in comparison.So i thought eqv? and equal? returns boolean thing #t or #f right ? So why? In that point,i have three question about that. what is the thing that makes eqv? faster than equal?. which one is more powerful on programming ? What is the reason that equal? still be used ? If eqv? is faster than equal?. Regards. ------------------------------------------------------------------------------ _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-scheme -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090301/8040169a/attachment.htm From jos.koot at telefonica.net Sun Mar 1 20:23:49 2009 From: jos.koot at telefonica.net (Jos Koot) Date: Thu Mar 26 02:43:21 2009 Subject: [plt-scheme] Startup window Message-ID: <227DAC707F724717AD73EE13D205752D@uw2b2dff239c4d> What is special about March the second? I think I like the sphere with the lambda better. Yes my clock is 6 to 8 hours ahead of most of you. Jos -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090302/12bce884/attachment.html From czhu at cs.utah.edu Sun Mar 1 20:33:14 2009 From: czhu at cs.utah.edu (Chongkai Zhu) Date: Thu Mar 26 02:43:21 2009 Subject: [plt-scheme] Startup window In-Reply-To: <227DAC707F724717AD73EE13D205752D@uw2b2dff239c4d> References: <227DAC707F724717AD73EE13D205752D@uw2b2dff239c4d> Message-ID: <49AB375A.8070204@cs.utah.edu> http://en.wikipedia.org/wiki/Texas_Independence_Day Jos Koot wrote: > What is special about March the second? > I think I like the sphere with the lambda better. > Yes my clock is 6 to 8 hours ahead of most of you. > Jos From kumar_lista at mac.com Sun Mar 1 21:23:27 2009 From: kumar_lista at mac.com (kumar_lista@mac.com) Date: Thu Mar 26 02:43:21 2009 Subject: [plt-scheme] Distribution package size ... Message-ID: <45453615340308095892693282045937218720-Webmail@me.com> Hi, In an email long ago, I'd complained about a 7MB minimum size for the "distributable" version of a gui executable generated via the "Create executable ..." menu command in DrScheme. (on Win32) I just realized that unzipping the resultant zip file and zipping it again using, say, a command-line zip yields a file that's under 4MB! Maybe the zip compression in DrScheme doesn't use a good compression setting? Cheers, -Kumar From czhu at cs.utah.edu Sun Mar 1 21:43:01 2009 From: czhu at cs.utah.edu (Chongkai Zhu) Date: Thu Mar 26 02:43:21 2009 Subject: [plt-scheme] Distribution package size ... In-Reply-To: <45453615340308095892693282045937218720-Webmail@me.com> References: <45453615340308095892693282045937218720-Webmail@me.com> Message-ID: <49AB47B5.5050000@cs.utah.edu> I also noticed that for the same set of files, if I create package under Linux, the .plt file would be much smaller compared to the .plt file I got under Windows. Chongkai kumar_lista@mac.com wrote: > Hi, > > In an email long ago, I'd complained about a 7MB minimum size for the "distributable" version > of a gui executable generated via the "Create executable ..." menu command in > DrScheme. (on Win32) > > I just realized that unzipping the resultant zip file and zipping it again using, say, > a command-line zip yields a file that's under 4MB! > > Maybe the zip compression in DrScheme doesn't use a good compression setting? > > Cheers, > -Kumar > > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > From noelwelsh at gmail.com Mon Mar 2 06:19:18 2009 From: noelwelsh at gmail.com (Noel Welsh) Date: Thu Mar 26 02:43:21 2009 Subject: [plt-scheme] on which programming languages best to spend your time? In-Reply-To: <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> References: <33D9D5A4-5FB6-4492-92CC-3AFED35B0F86@gmx.de> <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> Message-ID: On Fri, Feb 27, 2009 at 9:41 PM, keydana@gmx.de wrote: >>> You might be surprised about jobs w/ Scheme. > I'd like to be... I have not stumbled about any (in Germany) yet, but also I > have not done a real research because I have to collect more experience yet. I don't know any commercial users of Scheme in Germany, but Mike Sperber (DeinProgramm) might. There are others using PLT Scheme commercially is various parts of the world. I know several in the US, one in Canada. I think there are some people in Scandinavia. No doubt there are more I don't know about or have forgotten. I don't have any big announcement to make (sorry Doug), and it is not the intention of Untyped to hire every Scheme programmer on this earth. It is, however, our intention to support others in developing their own commercial enterprises that use (PLT) Scheme. We're really just starting on this. Releasing our libraries on Planet is step one. Opening our svn is step two. Hopefully we'll run a few tutorials at ICFP (as part of DEFUN); maybe work up a book in a year or so. The platform is good, and we've proved it works. The next step is make it really easy for others to do the same. N. From jboadas at gmail.com Mon Mar 2 08:51:20 2009 From: jboadas at gmail.com (Jesus Boadas) Date: Thu Mar 26 02:43:22 2009 Subject: [plt-scheme] behavior of (current-directory) OSX Message-ID: Greetz Im trying to use (current-directory) in OSX and always get # as a result, in Windows it works well, maybe Im missing something ? Best regards -- Jesus Boadas jboadas@gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090302/e4db9c1e/attachment.htm From michele.simionato at gmail.com Sun Mar 1 00:39:22 2009 From: michele.simionato at gmail.com (Michele Simionato) Date: Thu Mar 26 02:43:22 2009 Subject: [plt-scheme] an issue with macros expanding to transformers Message-ID: While porting some macros from Ikarus to PLT Scheme I found out an issue that baffles me. Here is the simplified version of the problem. I want to define a second order macro, i.e. a macro which expands to a macro transformer. So I put in a helper module the following make-transformer macro: #!r6rs (library (helper) (define-syntax make-transformer (syntax-rules () ((_ (name value) ...) (syntax-rules ( name ...) ((_ ) '(name ...)) ((_ name) value) ...)))) ) Then I tried to use it in a script as follows: #!r6rs (import (rnrs) (for (helper) expand)) (define-syntax m (make-transformer (x 1) (y 2))) (display (m x)) (display (m y)) (display (m )) In theory the macro m should be equivalent to (define-syntax m (syntax-rules ( x y) ((_ ) '(x y)) ((_ x) 1) ((_ y) 2))) and actually (m x) returns 1 and (m y) returns 2 as expected. However, (m ) does not return '(x y) as it should; instead I get an error: compile: bad syntax; function application is not allowed, because no # %app syntax transformer is bound in: (quote (x y)) (tested in PLT 4.0). How am I supposed to solve this? TIA, Michele Simionato From wand at ccs.neu.edu Mon Mar 2 09:20:40 2009 From: wand at ccs.neu.edu (Mitchell Wand) Date: Thu Mar 26 02:43:23 2009 Subject: [plt-scheme] [Scheme Steering Committee announcements] New Scheme Language Steering Committee Message-ID: <1bd18ad50903020620m604aaa2sce7d410f772e5db1@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- _______________________________________________ Scheme-announcements mailing list Scheme-announcements@lists.ccs.neu.edu https://lists.ccs.neu.edu/bin/listinfo/scheme-announcements From wand at ccs.neu.edu Mon Mar 2 09:20:40 2009 From: wand at ccs.neu.edu (Mitchell Wand) Date: Thu Mar 26 02:43:23 2009 Subject: [plt-scheme] [Scheme Steering Committee announcements] New Scheme Language Steering Committee Message-ID: <1bd18ad50903020620m604aaa2sce7d410f772e5db1@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- _______________________________________________ Scheme-announcements mailing list Scheme-announcements@lists.ccs.neu.edu https://lists.ccs.neu.edu/bin/listinfo/scheme-announcements From noelwelsh at gmail.com Mon Mar 2 09:35:58 2009 From: noelwelsh at gmail.com (Noel Welsh) Date: Thu Mar 26 02:43:23 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: References: Message-ID: A bit more detail would be useful to diagnose the problem. What I expect is happening is that you're starting DrScheme from the Dock on OS X so the current directory is set to /. If you started it from the command line current-directory should be the current directory of the shell that starts it (I don't have my OS X machine here to verify). If the issue is something else a bit more detail would be helpful. N. On Mon, Mar 2, 2009 at 1:51 PM, Jesus Boadas wrote: > Greetz > > Im trying to use (current-directory) in OSX and always get # as a > result, in Windows it works well, maybe Im missing something ? > > > Best regards > > -- > Jesus Boadas > jboadas@gmail.com From jos.koot at telefonica.net Mon Mar 2 09:56:45 2009 From: jos.koot at telefonica.net (Jos Koot) Date: Thu Mar 26 02:43:23 2009 Subject: [plt-scheme] Startup window References: <227DAC707F724717AD73EE13D205752D@uw2b2dff239c4d> <49AB375A.8070204@cs.utah.edu> Message-ID: <7FDD190627184BBB9B278B0CBEA30206@uw2b2dff239c4d> Thanks, As a non American I was not aware of ythe importance of this day. Independence, as far as can be obtained with and within reason, is a great gift. Jos ----- Original Message ----- From: "Chongkai Zhu" To: "Jos Koot" Cc: Sent: Monday, March 02, 2009 2:33 AM Subject: Re: [plt-scheme] Startup window > http://en.wikipedia.org/wiki/Texas_Independence_Day > > Jos Koot wrote: >> What is special about March the second? >> I think I like the sphere with the lambda better. >> Yes my clock is 6 to 8 hours ahead of most of you. >> Jos > From robby at eecs.northwestern.edu Mon Mar 2 10:04:24 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:24 2009 Subject: [plt-scheme] Startup window In-Reply-To: <7FDD190627184BBB9B278B0CBEA30206@uw2b2dff239c4d> References: <227DAC707F724717AD73EE13D205752D@uw2b2dff239c4d> <49AB375A.8070204@cs.utah.edu> <7FDD190627184BBB9B278B0CBEA30206@uw2b2dff239c4d> Message-ID: <932b2f1f0903020704y4807f27ah7c8cb4aad21de4d7@mail.gmail.com> I think you have to be a Texan to know this day, actually. And probably many of them would have trouble remembering it when pressed. Its not like it is independent anymore, after all. But the spirit of independence in Texas is quite strong. Robby On Mon, Mar 2, 2009 at 8:56 AM, Jos Koot wrote: > Thanks, > As a non American I was not aware of ythe importance of this day. > Independence, as far as can be obtained with and within reason, is a great > gift. > Jos > ----- Original Message ----- From: "Chongkai Zhu" > To: "Jos Koot" > Cc: > Sent: Monday, March 02, 2009 2:33 AM > Subject: Re: [plt-scheme] Startup window > > >> http://en.wikipedia.org/wiki/Texas_Independence_Day >> >> Jos Koot wrote: >>> >>> What is special about March the second? >>> I think I like the sphere with the lambda better. >>> Yes my clock is 6 to 8 hours ahead of most of you. >>> Jos >> > > _________________________________________________ > ?For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme > From czhu at cs.utah.edu Mon Mar 2 10:39:20 2009 From: czhu at cs.utah.edu (Chongkai Zhu) Date: Thu Mar 26 02:43:24 2009 Subject: [plt-scheme] an issue with macros expanding to transformers In-Reply-To: References: Message-ID: <49ABFDA8.2060404@cs.utah.edu> The following works on my computer: #!r6rs (library (helper) (export make-transformer) (import (rnrs) (for (rnrs) (meta -1))) (define-syntax make-transformer (syntax-rules () ((_ (name value) ...) (syntax-rules ( name ...) ((_ ) '(name ...)) ((_ name) value) ...)))) ) Chongkai Michele Simionato wrote: > While porting some macros from Ikarus to PLT Scheme I found out an > issue > that baffles me. > Here is the simplified version of the problem. I want to define a > second > order macro, i.e. a macro which expands to a macro transformer. > So I put in a helper module the following make-transformer macro: > > #!r6rs > (library (helper) > (define-syntax make-transformer > (syntax-rules () > ((_ (name value) ...) (syntax-rules ( name ...) > ((_ ) '(name ...)) > ((_ name) value) ...)))) > ) > > Then I tried to use it in a script as follows: > > #!r6rs > (import (rnrs) (for (helper) expand)) > > (define-syntax m (make-transformer (x 1) (y 2))) > (display (m x)) > (display (m y)) > (display (m )) > > In theory the macro m should be equivalent to > > (define-syntax m (syntax-rules ( x y) > ((_ ) '(x y)) > ((_ x) 1) > ((_ y) 2))) > > and actually (m x) returns 1 and (m y) returns 2 as expected. > However, (m ) does not return '(x y) as it should; > instead I get an error: > > compile: bad syntax; function application is not allowed, because no # > %app syntax transformer is bound in: (quote (x y)) > > (tested in PLT 4.0). How am I supposed to solve this? > TIA, > > Michele Simionato > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > From jboadas at gmail.com Mon Mar 2 10:56:54 2009 From: jboadas at gmail.com (Jesus Boadas) Date: Thu Mar 26 02:43:24 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: References: Message-ID: I created this little program (format (path->string (current-directory))) Compiled it and create stand-alone executable. Then under command line it works well but If I create a Mac .app always return "/" no matters where I run it. 2009/3/2 Noel Welsh > A bit more detail would be useful to diagnose the problem. What I > expect is happening is that you're starting DrScheme from the Dock on > OS X so the current directory is set to /. If you started it from the > command line current-directory should be the current directory of the > shell that starts it (I don't have my OS X machine here to verify). If > the issue is something else a bit more detail would be helpful. > > N. > > On Mon, Mar 2, 2009 at 1:51 PM, Jesus Boadas wrote: > > Greetz > > > > Im trying to use (current-directory) in OSX and always get # as a > > result, in Windows it works well, maybe Im missing something ? > > > > > > Best regards > > > > -- > > Jesus Boadas > > jboadas@gmail.com > -- Jesus Boadas jboadas@gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090302/35938385/attachment.html From sbloch at adelphi.edu Mon Mar 2 11:14:42 2009 From: sbloch at adelphi.edu (Stephen Bloch) Date: Thu Mar 26 02:43:25 2009 Subject: [plt-scheme] TeachScheme, ReachJava workshops this summer Message-ID: <514F79AB-2CA9-4E66-BF54-9F8E908DDFEF@adelphi.edu> For those of you who haven't heard, we're again offering our week- long summer workshops for teachers of beginning computer programming. The basic workshop spends two to three days on how to teach a Scheme-based first course, and two to three days on how to teach the transition to Java in a second course without losing the good habits students learned in the first course. For those who have already been to one of our workshops, the Boston workshop will have more advanced tracks in addition to a basic workshop as described above. Workshops are being held in 2009 at four sites: - Adelphi University in Long Island, June 22-26 - Cal Poly in San Luis Obispo, June 28-July 2 - Northeastern University in Boston, July 20-24 - University of Utah in Salt Lake City, August 3-7 The National Science Foundation covers the cost of the workshop and (for most participants) travel and lodging. Workshops are open to high school and college faculty, with priority given to college faculty due to conditions of our funding. For more information, see http://www.teach-scheme.org/ http://www.adelphi.edu/sbloch/class/hs/testimonials/ or contact me at sbloch@adelphi.edu . --Stephen Bloch, Adelphi John Clements, Cal Poly Matthew Flatt, Utah Kathi Fisler, WPI Shriram Krishnamurthi, Brown Viera Proulx, Northeastern From sk at cs.brown.edu Mon Mar 2 11:24:51 2009 From: sk at cs.brown.edu (Shriram Krishnamurthi) Date: Thu Mar 26 02:43:25 2009 Subject: [plt-scheme] TeachScheme, ReachJava workshops this summer In-Reply-To: <514F79AB-2CA9-4E66-BF54-9F8E908DDFEF@adelphi.edu> References: <514F79AB-2CA9-4E66-BF54-9F8E908DDFEF@adelphi.edu> Message-ID: Actually, in Boston, we have four tracks: two "beginner" and two "advanced". "Advanced" for us means you have taught from our curriculum in the very recent past and are completely comfortable writing programs using it. This is important because the two advanced tracks are designed to be take such people through material at a fast pace, and are unsympathetic to those who can't keep up. The two advanced tracks are the Scheme->Java transition and the Scheme 2 workshop. Then there are the two "beginner" tracks. One roughly follows "How to Design Programs" for about three days, then does the Java transition for the remaining two days. The other we call the Bootstrap track. This too is for beginners, but it is based entirely on animations, GUIs, and other reactive systems. This material has been used successfully starting with 6th-graders. It is appropriate for everyone from middle-school to college teachers, though the different audiences might want to work at different places. This track may not do any Java at all. The exact number of tracks will eventually depend on demand. Shriram From chust at web.de Mon Mar 2 12:07:32 2009 From: chust at web.de (Thomas Chust) Date: Thu Mar 26 02:43:25 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: References: Message-ID: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> 2009-03-02 Jesus Boadas : > I created this little program > > (format (path->string (current-directory))) > > Compiled it and create stand-alone executable. > Then under command line it works well but If I create a Mac .app always > return "/" no matters where I run it. > [...] Hello, if you run it through LaunchServices, ie. from the Finder, Dock or using the open command line utility, then that's the normal behaviour for any MacOS X application, I think. cu, Thomas -- When C++ is your hammer, every problem looks like your thumb. From hendrik at topoi.pooq.com Mon Mar 2 11:43:03 2009 From: hendrik at topoi.pooq.com (hendrik@topoi.pooq.com) Date: Thu Mar 26 02:43:25 2009 Subject: [plt-scheme] on which programming languages best to spend your time? In-Reply-To: References: <33D9D5A4-5FB6-4492-92CC-3AFED35B0F86@gmx.de> <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> Message-ID: <20090302164303.GB27331@topoi.pooq.com> On Mon, Mar 02, 2009 at 11:19:18AM +0000, Noel Welsh wrote: > > I don't know any commercial users of Scheme in Germany, but Mike > Sperber (DeinProgramm) might. There are others using PLT Scheme > commercially is various parts of the world. I know several in the US, > one in Canada. I think there are some people in Scandinavia. No doubt > there are more I don't know about or have forgotten. There's a company in Montreal that uses Scheme internally. I got the impression they weren't publicising it because they didn't want to worry their (less enlightened) customers unnecessarily. I don't know the name of the company, nor do I remember who I found out about it from. -- hendrik From jboadas at gmail.com Mon Mar 2 12:53:37 2009 From: jboadas at gmail.com (Jesus Boadas) Date: Thu Mar 26 02:43:26 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> References: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> Message-ID: Yes you are right this is osx normal behavior I need the current path to get references to resources. Any ideas for other way to make this work 2009/3/2 Thomas Chust > 2009-03-02 Jesus Boadas : > > I created this little program > > > > (format (path->string (current-directory))) > > > > Compiled it and create stand-alone executable. > > Then under command line it works well but If I create a Mac .app always > > return "/" no matters where I run it. > > [...] > > Hello, > > if you run it through LaunchServices, ie. from the Finder, Dock or > using the open command line utility, then that's the normal behaviour > for any MacOS X application, I think. > > cu, > Thomas > > > -- > When C++ is your hammer, every problem looks like your thumb. > -- Jesus Boadas jboadas@gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090302/305e76ad/attachment.htm From robby at eecs.northwestern.edu Mon Mar 2 13:03:41 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:26 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: References: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> Message-ID: <932b2f1f0903021003k610b3f40vb08b094052eb97f1@mail.gmail.com> There are lots of ways to access various places in teh filesystem relative to your program. current-directory is, indeed, the current-directory where your program is running. If you want something relative to the location of the source files, you might look at define-runtime-path. Robby On Mon, Mar 2, 2009 at 11:53 AM, Jesus Boadas wrote: > Yes you are right this is osx normal behavior > > I need the current path to get references to resources. Any ideas for other > way to make this work > > > > > > 2009/3/2 Thomas Chust >> >> 2009-03-02 Jesus Boadas : >> > I created this little program >> > >> > (format (path->string (current-directory))) >> > >> > Compiled it and create stand-alone executable. >> > Then under command line it works well but If I create a Mac .app always >> > return "/" no matters where I run it. >> > [...] >> >> Hello, >> >> if you run it through LaunchServices, ie. from the Finder, Dock or >> using the open command line utility, then that's the normal behaviour >> for any MacOS X application, I think. >> >> cu, >> Thomas >> >> >> -- >> When C++ is your hammer, every problem looks like your thumb. > > > > -- > Jesus Boadas > jboadas@gmail.com > > _________________________________________________ > ?For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > From eli at barzilay.org Mon Mar 2 13:07:37 2009 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 02:43:26 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: <932b2f1f0903021003k610b3f40vb08b094052eb97f1@mail.gmail.com> References: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> <932b2f1f0903021003k610b3f40vb08b094052eb97f1@mail.gmail.com> Message-ID: <18860.8297.595705.981207@winooski.ccs.neu.edu> In this case perhaps (find-system-path 'run-file) or (find-system-path 'exec-file) are more appropriate? On Mar 2, Robby Findler wrote: > There are lots of ways to access various places in teh filesystem > relative to your program. current-directory is, indeed, the > current-directory where your program is running. If you want > something relative to the location of the source files, you might > look at define-runtime-path. > > Robby > > On Mon, Mar 2, 2009 at 11:53 AM, Jesus Boadas wrote: > > Yes you are right this is osx normal behavior > > > > I need the current path to get references to resources. Any ideas > > for other way to make this work -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From neil at neilvandyke.org Mon Mar 2 13:08:26 2009 From: neil at neilvandyke.org (Neil Van Dyke) Date: Thu Mar 26 02:43:26 2009 Subject: [plt-scheme] on which programming languages best to spend your time? In-Reply-To: <20090302164303.GB27331@topoi.pooq.com> References: <33D9D5A4-5FB6-4492-92CC-3AFED35B0F86@gmx.de> <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> <20090302164303.GB27331@topoi.pooq.com> Message-ID: <49AC209A.6020309@neilvandyke.org> These companies using Scheme should be very successful, and consequently post job openings on the "plt-scheme" email list. :) For companies based in the Boston area, or who are open to telecommuters from the Boston area, I run the "boston-lisp-announce" email list, which is also a good way to find Scheme and CL people. -- http://www.neilvandyke.org/ From jboadas at gmail.com Mon Mar 2 13:20:25 2009 From: jboadas at gmail.com (Jesus Boadas) Date: Thu Mar 26 02:43:27 2009 Subject: [plt-scheme] behavior of (current-directory) OSX In-Reply-To: <18860.8297.595705.981207@winooski.ccs.neu.edu> References: <1c1a33bc0903020907u5639acc7pca0183b858b21dc3@mail.gmail.com> <932b2f1f0903021003k610b3f40vb08b094052eb97f1@mail.gmail.com> <18860.8297.595705.981207@winooski.ccs.neu.edu> Message-ID: It works like a charm, very thanks 2009/3/2 Eli Barzilay > In this case perhaps (find-system-path 'run-file) or > (find-system-path 'exec-file) are more appropriate? > > > On Mar 2, Robby Findler wrote: > > There are lots of ways to access various places in teh filesystem > > relative to your program. current-directory is, indeed, the > > current-directory where your program is running. If you want > > something relative to the location of the source files, you might > > look at define-runtime-path. > > > > Robby > > > > On Mon, Mar 2, 2009 at 11:53 AM, Jesus Boadas wrote: > > > Yes you are right this is osx normal behavior > > > > > > I need the current path to get references to resources. Any ideas > > > for other way to make this work > > -- > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: > http://www.barzilay.org/ Maze is Life! > -- Jesus Boadas jboadas@gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090302/6ea1bffe/attachment.html From sk at cs.brown.edu Mon Mar 2 13:32:01 2009 From: sk at cs.brown.edu (Shriram Krishnamurthi) Date: Thu Mar 26 02:43:27 2009 Subject: [plt-scheme] TeachScheme, ReachJava workshops this summer In-Reply-To: References: <514F79AB-2CA9-4E66-BF54-9F8E908DDFEF@adelphi.edu> Message-ID: On Mon, Mar 2, 2009 at 11:24 AM, Shriram Krishnamurthi wrote: > Actually, in Boston, we have four tracks: two "beginner" and two "advanced". All tracks run concurrently. That is, you pretty much have to pick which one you want (though some amount of shifting between tracks is possible for those we already know can handle the bouncing around). Shriram From grettke at acm.org Mon Mar 2 14:54:28 2009 From: grettke at acm.org (Grant Rettke) Date: Thu Mar 26 02:43:27 2009 Subject: [plt-scheme] HtDP Index Cards? Message-ID: <756daca50903021154iabe7d50u80d63c3d5bb6fc0@mail.gmail.com> Is anyone doing the HtDP index card approach described here? http://www.ccs.neu.edu/home/matthias/htdp-plus.html If so, how do they look? From keydana at gmx.de Mon Mar 2 16:10:02 2009 From: keydana at gmx.de (keydana@gmx.de) Date: Thu Mar 26 02:43:27 2009 Subject: [plt-scheme] on which programming languages best to spend your time? In-Reply-To: References: <33D9D5A4-5FB6-4492-92CC-3AFED35B0F86@gmx.de> <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> Message-ID: <10E612EB-5778-4A58-9AE6-21A4B9CAA323@gmx.de> Hi Noel, > > I don't know any commercial users of Scheme in Germany, but Mike > Sperber (DeinProgramm) might. thanks for the hint! > maybe work up a book in a year or so. Seeing all the publicity for "Real world Haskell", I keep thinking that it would be great to have a "Real world PLT Scheme"! I think there must be already quite a lot of guides/tutorials around, the PLT community being so active, and if those were all put together... such a book would be a dream really :-) ciao, Sigrid From mflatt at cs.utah.edu Mon Mar 2 16:15:16 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] Creating Self-Contained Executable In-Reply-To: References: Message-ID: <20090302211516.49FC06500A9@mail-svr1.cs.utah.edu> At Sun, 1 Mar 2009 18:45:10 +0000, Erich Rast wrote: > Here is what I did: > > - Copied shared libraries from their respective places to a local > directory lib/ > [...] > > (define-runtime-path libcryptopath > (list 'so (case (system-type) > ((windows) "libeay32") > ((macosx) "lib/libcrypto") > (else "libcrypto")))) By local directory, do you mean local relative to the source file? The 'so mode of `define-runtime-path' is intended to refer to libraries in a PLT Scheme "lib" directory---usually adjacent to the binaries. If you put the libraries in a "lib" relative to the source that uses them, then you want just the relative path, perhaps using `(system-type 'so-suffix)' to build the path. Meanwhile, an 'so path works anyway if the shared library exists relative to the current directory, due to the way that the shared-library search path works. Also, `mzc' looks strictly in the PLT shared-library directories to resolve 'so, and it doesn't complain when it fails to find a library. That's a confusing combination that we should at least fix on the `mzc' side. From mflatt at cs.utah.edu Mon Mar 2 17:24:26 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] syntax/loc for synthesized location data In-Reply-To: <49A81240.6000700@ccs.neu.edu> References: <80BAF843-2BD6-431C-908D-529CAF1A76CD@ccs.neu.edu> <990e0c030902261819v240ccf3asee7be099e1b36b14@mail.gmail.com> <49A81240.6000700@ccs.neu.edu> Message-ID: <20090302222427.A68346500EC@mail-svr1.cs.utah.edu> At Fri, 27 Feb 2009 11:18:08 -0500, Dave Herman wrote: > Carl Eastlund wrote: > > > I then got different behavior by providing a source other than #f: > > > >> (define loc2 (datum->syntax #f 'goodbye (list 'here 100 4 4 5))) > >> loc2 > > .# > >> (define stx2 (syntax/loc loc2 (list 5 4 3 2 1))) > >> stx2 > > .# > > Interesting. So do we know whether this is a bug or an undocumented but > intended invariant? (I'm hoping the former.) This is finally fixed in SVN. The `syntax/loc' form now transfers a location as long as either the source or position is non-#f. From dherman at ccs.neu.edu Mon Mar 2 17:47:29 2009 From: dherman at ccs.neu.edu (Dave Herman) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] syntax/loc for synthesized location data In-Reply-To: <20090302222427.A68346500EC@mail-svr1.cs.utah.edu> References: <80BAF843-2BD6-431C-908D-529CAF1A76CD@ccs.neu.edu> <990e0c030902261819v240ccf3asee7be099e1b36b14@mail.gmail.com> <49A81240.6000700@ccs.neu.edu> <20090302222427.A68346500EC@mail-svr1.cs.utah.edu> Message-ID: Excellent, thank you very much. Dave On Mar 2, 2009, at 5:24 PM, Matthew Flatt wrote: > At Fri, 27 Feb 2009 11:18:08 -0500, Dave Herman wrote: >> Carl Eastlund wrote: >> >>> I then got different behavior by providing a source other than #f: >>> >>>> (define loc2 (datum->syntax #f 'goodbye (list 'here 100 4 4 5))) >>>> loc2 >>> .# >>>> (define stx2 (syntax/loc loc2 (list 5 4 3 2 1))) >>>> stx2 >>> .# >> >> Interesting. So do we know whether this is a bug or an undocumented >> but >> intended invariant? (I'm hoping the former.) > > This is finally fixed in SVN. The `syntax/loc' form now transfers a > location as long as either the source or position is non-#f. > From mflatt at cs.utah.edu Mon Mar 2 18:21:01 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] an issue with macros expanding to transformers In-Reply-To: <49ABFDA8.2060404@cs.utah.edu> References: <49ABFDA8.2060404@cs.utah.edu> Message-ID: <20090302232103.0BA676500BC@mail-svr1.cs.utah.edu> An explanation for why you need a `(meta -1)' binding for your macro: (define-syntax make-transformer (syntax-rules () ((_ (name value) ...) (syntax-rules ( name ...) ((_ ) '(name ...)) ((_ name) value) ...)))) ) When you move to the right-hand side of `define-syntax', then the relevant binding level is more more than the context of the definition. So, if we start from 0, then we move to 1 for the outer `syntax-rules'. That should be as expected; you're using `syntax-rules' in an expand-time position. When you go into a template, as in the right-hand side of a `syntax-rules' clause, then you go back down one phase level. So from 1 for the outer `syntax-rules', we'd go back down to 0 for the binding of the inner `syntax-rules'. (A `for ... expand' import will shift this back up to phase level 1.) Unusually in this case, the content of the template is itself a `syntax-rules', which has its own templates. We go down one more level for the nested template that contains a quote. That is, we go from level 0 for the inner `syntax-rules' to level -1 for the quote. (Again, a `for ... expand' import shifts it back to phase level 0, which corresponds to run-time of the importing module.) So, the macro needs a binding for `quote' at phase level -1. At Mon, 02 Mar 2009 08:39:20 -0700, Chongkai Zhu wrote: > The following works on my computer: > > > #!r6rs > (library (helper) > > (export make-transformer) > (import (rnrs) (for (rnrs) (meta -1))) > > (define-syntax make-transformer > (syntax-rules () > ((_ (name value) ...) > (syntax-rules ( name ...) > ((_ ) '(name ...)) > ((_ name) value) ...)))) > ) > > Chongkai > > Michele Simionato wrote: > > While porting some macros from Ikarus to PLT Scheme I found out an > > issue > > that baffles me. > > Here is the simplified version of the problem. I want to define a > > second > > order macro, i.e. a macro which expands to a macro transformer. > > So I put in a helper module the following make-transformer macro: > > > > #!r6rs > > (library (helper) > > (define-syntax make-transformer > > (syntax-rules () > > ((_ (name value) ...) (syntax-rules ( name ...) > > ((_ ) '(name ...)) > > ((_ name) value) ...)))) > > ) > > > > Then I tried to use it in a script as follows: > > > > #!r6rs > > (import (rnrs) (for (helper) expand)) > > > > (define-syntax m (make-transformer (x 1) (y 2))) > > (display (m x)) > > (display (m y)) > > (display (m )) > > > > In theory the macro m should be equivalent to > > > > (define-syntax m (syntax-rules ( x y) > > ((_ ) '(x y)) > > ((_ x) 1) > > ((_ y) 2))) > > > > and actually (m x) returns 1 and (m y) returns 2 as expected. > > However, (m ) does not return '(x y) as it should; > > instead I get an error: > > > > compile: bad syntax; function application is not allowed, because no # > > %app syntax transformer is bound in: (quote (x y)) > > > > (tested in PLT 4.0). How am I supposed to solve this? > > TIA, > > > > Michele Simionato > > _________________________________________________ > > For list-related administrative tasks: > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme > > > > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme From jay.mccarthy at gmail.com Tue Mar 3 12:27:33 2009 From: jay.mccarthy at gmail.com (Jay McCarthy) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] URL-Based Dispatching in the PLT Web Server Message-ID: >From http://jay-mccarthy.blogspot.com/2009/03/url-based-dispatching-in-plt-web-server.html For a while, untyped has made available their dispatch.plt package on PLaneT. It provides a cool way of parsing and generating URLs for Web applications in PLT. This week I've taken their ideas and built something into the PLT Web Server: web-server/dispatch. http://faculty.cs.byu.edu/~jay/plt-doc/web-server/dispatch.html Take a look at this example from the documentation: (define-values (blog-dispatch blog-url) (dispatch-rules [("") list-posts] [("posts" (string-arg)) review-post] [("archive" (integer-arg) (integer-arg)) review-archive] [else list-posts])) (define (list-posts req) `(list-posts)) (define (review-post req p) `(review-post ,p)) (define (review-archive req y m) `(review-archive ,y ,m)) > (blog-dispatch (url->request "http://www.chrlsnchrg.com")) (list-posts) > (blog-dispatch (url->request "http://www.chrlsnchrg.com/posts/Extracurricular-Activity")) (review-post "Extracurricular-Activity") > (blog-dispatch (url->request "http://www.chrlsnchrg.com/archive/1984/10")) (review-archive 1984 10) > (blog-url list-posts) "/" > (blog-url review-post "Another-Saturday-Night") "/posts/Another-Saturday-Night" > (blog-url review-archive 1984 11) "/archive/1984/11" Thank you untyped! -- Jay McCarthy Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 From toddobryan at gmail.com Tue Mar 3 12:37:44 2009 From: toddobryan at gmail.com (Todd O'Bryan) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] Using tables for recursive functions In-Reply-To: <904774730902271514x13f432a4m8c1242771ad1adf2@mail.gmail.com> References: <7c20921e0902261327lc80de6fm4d86d5b979797af8@mail.gmail.com> <904774730902271514x13f432a4m8c1242771ad1adf2@mail.gmail.com> Message-ID: <904774730903030937q7f3c39f3g1ef0d416089317a7@mail.gmail.com> > If anyone's interested, drop me a line off-list and I'll send the worksheets. > > Todd > Enough people asked that compiling a list was too much work. Here's a link to a wiki page with a download: https://www.dupontmanual.org/wikis/intro/Arrangements I started with the following data definitions: ;; A word is: ;; empty, or ;; (cons symbol word) (we agree to limit the symbols to single letters) ;; A list-of-word is: ;; empty, or ;; (cons word list-of-word) The worksheet is the result of tweaking the word-fun and list-of-word-fun templates. Todd From jalee at valdosta.edu Tue Mar 3 13:12:43 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:28 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts Message-ID: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> I am working on setting up DrScheme for use in our SunRay lab. We are using RHEL 5 as an OS and Sun Ray Server Software 4.1. From the server's console (meaning the monitor plugged directly into the server), everything seems to work correctly and there are no issues. See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_Server_Console.png However, once we enable the SunRay thin clients and go login on one, the program stops displaying fonts. The File, Edit, View, etc. menus are gone except for the underscore and the titles for the Debug Check Syntax, etc. buttons are missing. Literally every where inside the window that there is supposed to be a letter or number, that letter or number is missing completely. Only the title bar of the window has any text in it. See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay.png Even the text in the "Are you sure you want to close" window is gone! See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay2.png What makes it even more strange is that the program works flawlessly if it is being displayed on a SunRay connected to a Solaris Sun Ray Server, only SunRays connected to Linux have this issue. I have a support ticket with Sun, but they want us to try to find some sort of way to debug DrScheme. Is this possible? How would I enable such a thing? Any other suggestions for fixing this? Jarrett Lee System Services Division of Information Technology Valdosta State University From geoff at knauth.org Tue Mar 3 13:24:29 2009 From: geoff at knauth.org (Geoffrey S. Knauth) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] on which programming languages best to spend your time? In-Reply-To: <10E612EB-5778-4A58-9AE6-21A4B9CAA323@gmx.de> References: <33D9D5A4-5FB6-4492-92CC-3AFED35B0F86@gmx.de> <6881D939-20F3-4C36-9B5F-00504548B13B@gmx.de> <10E612EB-5778-4A58-9AE6-21A4B9CAA323@gmx.de> Message-ID: On Mar 2, 2009, at 16:10, keydana@gmx.de wrote: > Seeing all the publicity for "Real world Haskell", I keep thinking > that it would be great to have a "Real world PLT Scheme"! > I think there must be already quite a lot of guides/tutorials > around, the PLT community being so active, and if those were all put > together... such a book would be a dream really :-) Maybe a new book would be nice. Meanwhile see the Scheme Cookbook: http://schemecookbook.org/ Maybe it can "beat the competition." Reading your message made me think of the song, "Anything You Can Do" [1-5] and the refrain "Yes I can!" Geoff [1] http://en.wikipedia.org/wiki/Anything_You_Can_Do_(song) [2] http://www.stlyrics.com/lyrics/anniegetyourgun/anythingyoucando.htm [3] http://dotsub.com/view/6c87d6d1-feac-4130-8cb4-71df8f4423e7 [4] http://www.dailymotion.com/video/x4jgvq_anything-you-can-do_music [5] http://www.youtube.com/watch?v=FNr6zRpEW3I From mflatt at cs.utah.edu Tue Mar 3 13:58:20 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> Message-ID: <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> At Tue, 3 Mar 2009 13:12:43 -0500, Jarrett Lee wrote: > I am working on setting up DrScheme for use in our SunRay lab. We are > using RHEL 5 as an OS and Sun Ray Server Software 4.1. > > From the server's console (meaning the monitor plugged directly into > the server), everything seems to work correctly and there are no issues. > See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_Server_Console.png > > However, once we enable the SunRay thin clients and go login on one, > the program stops displaying fonts. The File, Edit, View, etc. menus > are gone except for the underscore and the titles for the Debug Check > Syntax, etc. buttons are missing. Literally every where inside the > window that there is supposed to be a letter or number, that letter or > number is missing completely. Only the title bar of the window has any > text in it. > See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay.png > > Even the text in the "Are you sure you want to close" window is gone! > See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay2.png > > What makes it even more strange is that the program works flawlessly > if it is being displayed on a SunRay connected to a Solaris Sun Ray > Server, only SunRays connected to Linux have this issue. > > I have a support ticket with Sun, but they want us to try to find some > sort of way to debug DrScheme. Is this possible? How would I enable > such a thing? Any other suggestions for fixing this? My guess is that when running on a thin-client display, DrScheme doesn't find the fonts that it expects, while it does find them on the server's console. >From the server-console image, it looks like DrScheme is compiled without Xft/Fontconfig support, so it uses old X11 fonts. The thin clients may not be configured for old X11 fonts, so that DrScheme needs Xft/Fontconfig support to work on the thin clients. When you run `configure' for the build, what does it say about Xft/Fontconfig? The configure script may need help finding the header files or libraries. From jalee at valdosta.edu Tue Mar 3 14:28:27 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> Message-ID: <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> > At Tue, 3 Mar 2009 13:12:43 -0500, Jarrett Lee wrote: >> I am working on setting up DrScheme for use in our SunRay lab. We are >> using RHEL 5 as an OS and Sun Ray Server Software 4.1. >> >> From the server's console (meaning the monitor plugged directly into >> the server), everything seems to work correctly and there are no >> issues. >> See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_Server_Console.png >> >> However, once we enable the SunRay thin clients and go login on one, >> the program stops displaying fonts. The File, Edit, View, etc. menus >> are gone except for the underscore and the titles for the Debug Check >> Syntax, etc. buttons are missing. Literally every where inside the >> window that there is supposed to be a letter or number, that letter >> or >> number is missing completely. Only the title bar of the window has >> any >> text in it. >> See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay.png >> >> Even the text in the "Are you sure you want to close" window is gone! >> See: http://www.valdosta.edu/~jalee/SunRay_Issue/RHEL_SunRay2.png >> >> What makes it even more strange is that the program works flawlessly >> if it is being displayed on a SunRay connected to a Solaris Sun Ray >> Server, only SunRays connected to Linux have this issue. >> >> I have a support ticket with Sun, but they want us to try to find >> some >> sort of way to debug DrScheme. Is this possible? How would I enable >> such a thing? Any other suggestions for fixing this? > On Mar 3, 2009, at 13:58, Matthew Flatt wrote: > My guess is that when running on a thin-client display, DrScheme > doesn't find the fonts that it expects, while it does find them on the > server's console. > > From the server-console image, it looks like DrScheme is compiled > without Xft/Fontconfig support, so it uses old X11 fonts. The thin > clients may not be configured for old X11 fonts, so that DrScheme > needs > Xft/Fontconfig support to work on the thin clients. > > When you run `configure' for the build, what does it say about > Xft/Fontconfig? The configure script may need help finding the header > files or libraries. [root@gargamel src]# grep -i Xft configure_output.txt Using pkg-config xft... Xft flags: -I/usr/include/freetype2 Xft libs: -lXft -lXrender -lfontconfig -lfreetype -lX11 [root@gargamel src]# grep -i fontconfig configure_output.txt Xft libs: -lXft -lXrender -lfontconfig -lfreetype -lX11 I piped the output of ./configure to tee so that I could watch it run and get the benefit of having the output stored for later grepping. I did not see any strange errors in the output, but if it would help, I can paste the entire output. From mflatt at cs.utah.edu Tue Mar 3 14:33:28 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> Message-ID: <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> At Tue, 3 Mar 2009 14:28:27 -0500, Jarrett Lee wrote: > > When you run `configure' for the build, what does it say about > > Xft/Fontconfig? The configure script may need help finding the header > > files or libraries. > > [root@gargamel src]# grep -i Xft configure_output.txt > Using pkg-config xft... > Xft flags: -I/usr/include/freetype2 > Xft libs: -lXft -lXrender -lfontconfig -lfreetype -lX11 > [root@gargamel src]# grep -i fontconfig configure_output.txt > Xft libs: -lXft -lXrender -lfontconfig -lfreetype -lX11 Ok, I guessed wrong on that one... What output do you get for mred -e '(get-face-list)' on both the server console and the thin client? Thanks, Matthew From grettke at acm.org Tue Mar 3 14:59:28 2009 From: grettke at acm.org (Grant Rettke) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] Inclusion of R6RS versions of the SRFIs in PLT? Message-ID: <756daca50903031159u1de3971aqfbe8f0031d71b49a@mail.gmail.com> I would like to see inclusion of R6RS versions of the SRFIs in PLT. Since PLT is one of *the* R6RS implementors; it would make for a pleasant user experience to be able to download PLT and immediately starting using "Scheme" and its SRFI implementations rather than having to track down someone else's port (if any). Since the SRFIs are already ported on top of "PLT Scheme"; perhaps would belong in the namespace (r6rs srfi ...). Thoughts anyone? From mflatt at cs.utah.edu Tue Mar 3 15:11:44 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] Inclusion of R6RS versions of the SRFIs in PLT? In-Reply-To: <756daca50903031159u1de3971aqfbe8f0031d71b49a@mail.gmail.com> References: <756daca50903031159u1de3971aqfbe8f0031d71b49a@mail.gmail.com> Message-ID: <20090303201145.15DB765003B@mail-svr1.cs.utah.edu> At Tue, 3 Mar 2009 13:59:28 -0600, Grant Rettke wrote: > I would like to see inclusion of R6RS versions of the SRFIs in PLT. Me too. I don't have time to do it myself, but if someone sends me replacements (that have suitable licenses, etc.), then I'm happy to drop them in place. > Since the SRFIs are already ported on top of "PLT Scheme"; perhaps > would belong in the namespace (r6rs srfi ...). There's already a namespace: `(srfi :)'. See also http://list.cs.brown.edu/pipermail/plt-scheme/2009-January/029905.html In response to that message, I think someone pointed me to an archive of many SRFI implementations. Unfortunately, I can't find that message. In any case, I didn't found the time to sort through the pile, and I'm still hoping for help. From jensaxel at soegaard.net Tue Mar 3 15:14:04 2009 From: jensaxel at soegaard.net (Jens Axel Soegaard) Date: Thu Mar 26 02:43:29 2009 Subject: [plt-scheme] Inclusion of R6RS versions of the SRFIs in PLT? In-Reply-To: <20090303201145.15DB765003B@mail-svr1.cs.utah.edu> References: <756daca50903031159u1de3971aqfbe8f0031d71b49a@mail.gmail.com> <20090303201145.15DB765003B@mail-svr1.cs.utah.edu> Message-ID: <49AD8F8C.1090406@soegaard.net> Matthew Flatt wrote: > In response to that message, I think someone pointed me to an archive > of many SRFI implementations. Unfortunately, I can't find that message. > In any case, I didn't found the time to sort through the pile, and I'm > still hoping for help. https://code.launchpad.net/~ikarus-libraries-team/ikarus-libraries/srfi -- Jens Axel S?gaard From grettke at acm.org Tue Mar 3 16:23:22 2009 From: grettke at acm.org (Grant Rettke) Date: Thu Mar 26 02:43:30 2009 Subject: [plt-scheme] Inclusion of R6RS versions of the SRFIs in PLT? In-Reply-To: <20090303201145.15DB765003B@mail-svr1.cs.utah.edu> References: <756daca50903031159u1de3971aqfbe8f0031d71b49a@mail.gmail.com> <20090303201145.15DB765003B@mail-svr1.cs.utah.edu> Message-ID: <756daca50903031323g3a7c2c40t6492148b3b01018a@mail.gmail.com> On Tue, Mar 3, 2009 at 2:11 PM, Matthew Flatt wrote: > At Tue, 3 Mar 2009 13:59:28 -0600, Grant Rettke wrote: >> Since the SRFIs are already ported on top of "PLT Scheme"; perhaps >> would belong in the namespace (r6rs srfi ...). > > There's already a namespace: `(srfi :)'. Ok. I see that the colon prefixed namespace pointing to the #lang scheme implementations is just a workaround. From billclem at gmail.com Tue Mar 3 17:45:32 2009 From: billclem at gmail.com (Bill Clementson) Date: Thu Mar 26 02:43:30 2009 Subject: [plt-scheme] Re: Vancouver Lisp Users Group meeting for March 2009 - Haskell for Lisp Programmers In-Reply-To: <8757cb490902230912k44057779m9f4a86b34c614ec9@mail.gmail.com> References: <8757cb490902230912k44057779m9f4a86b34c614ec9@mail.gmail.com> Message-ID: <8757cb490903031445j709877e3k9a358eaecb980f48@mail.gmail.com> Hi all, Just a reminder of our "Haskell for Lisp Programmers" lispvan meeting tomorrow night (Wednesday, March 4th at 7pm). See you there! - Bill On Mon, Feb 23, 2009 at 9:12 AM, Bill Clementson wrote: > Hi all, > > Haskell is a polymorphically statically typed, lazy, purely functional > language based on the lambda calculus. As such, it shares some things > in common with some dialects of Lisp but differs in other regards. Our > March lispvan speaker will present an introduction to Haskell geared > towards Lisp programmers. If you want to read up about Haskell before > the meeting, a good starting point is the Haskell Wiki. > > Here's the "official" meeting notice: > > Topic: Haskell for Lisp Programmers > Presenter: Erik Charlebois > Date: Wednesday, March 4th, 2009 > Time: 7pm - 10pm (or whenever) > Venue: The Hackery, 304 Victoria Dr (entrance off Franklin), Vancouver (see map) > Summary: Haskell is a lazy, pure, statically-typed functional > programming language enjoying a lot of attention these days. Its > strict approach to side effects is seen as one of the viable > approaches to making parallel programming tractable. > > Erik will talk about the core differences between Haskell and Lisp, > the actions the Haskell community is taking to manage this growth, and > some neat applications of the language already in the wild. > > * Differences between Haskell and Lisp > ?* Syntax > ?* Static typing > ?* Side effects with monads > * The Haskell Platform > ?* Build, Package, Distribute > ?* Community > * Haskell Dog and Pony Show > > Bio: Erik was a compiler developer for 3 years at IBM working on the > XL Fortran and C/C++ compilers for the Cell processor. He is currently > employed at Slant Six Games doing gameplay programming. For the past 2 > years, he has been studying programming languages and databases in a > search for smarter ways to build soft real-time applications like > games. > > If possible, I will record the presentation and post it on my blog > after the meeting for those who are unable to attend. Join us for a > beer (bring your own - there's a fridge) and a chance to learn what > static typing and monads are all about! > > Any updates will be posted on my blog entry for the meeting: > http://bc.tech.coop/blog/090223.html > > -- > Bill Clementson > From srikumarks at gmail.com Tue Mar 3 22:02:10 2009 From: srikumarks at gmail.com (Kumar) Date: Thu Mar 26 02:43:31 2009 Subject: [plt-scheme] Scribble formatting dilemma Message-ID: Hi, I'm generating documentation using scribble (v4.1.4). Observation 1: The currently generated output with all formatting at their default settings looks fine under Firefox, but is really ugly under Internet Explorer, largely due to the ugly default serif font it uses and what looks like bad kerning to me. I don't like serif fonts on web pages 'cos I find them less readable than their sans-serif cousins, so I created a short css file to change the font family to sans-serif and used it in ++style flag to scribble. The css file is short - --------------- .main, .refcontent, .tocview, .tocsub, .inheritedlbl, i { font-family: sans-serif; } .main { font-size: 12px; } --------------- Observation 2: With the above css add-on, the pages look gorgeous under Internet Explorer, but are ugly under Firefox!! Here are all the problems under Firefox - - It has all the wrong font proportions for the various sections. An embedded table has a larger font size than the body text, for example and some section headings are smaller than the body text. - If I don't set the font-size, all the font sizes selected are very big and the page width for the main body text is too narrow. With my css file, I examined the presentation in firefox using Firebug and it looked as though Firefox wasn't calculating the right font sizes. Hand calculation from the css would indicate 12px size for table text, but firefox calculates 16px. It looks like a Firefox bug to me, but I'm not very html/css savvy to be confident about that. Here is an example - http://muvee-style-authoring.googlecode.com/svn/doc/main/Reflect.html (Pls ignore the text language.) Any suggestions to get scribble to use sans-serif fonts, but make it look ok in both IE and Firefox? Thanks and regards, -Kumar -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090304/2a17c789/attachment.htm From neil at neilvandyke.org Wed Mar 4 00:22:51 2009 From: neil at neilvandyke.org (Neil Van Dyke) Date: Thu Mar 26 02:43:31 2009 Subject: [plt-scheme] Scribble formatting dilemma In-Reply-To: References: Message-ID: <49AE102B.1000406@neilvandyke.org> My short answer to your question is that I think you will have to dig into the CSS to get the font sizes cooperating, but that you will also run into some hard constraints of the HTML layout currently used by Scribble. For my long answer, here are some of my opinions on Web page layout. They are somewhat strong, but I know Scheme people are accustomed to everyone having strong opinions... :) Almost no one gets HTML layout right, since the first versions Netscape Navigator and IE. The best way is to start by assuming that the user's default font is set to the user's preference for body text on the device in use. Most important is the user's font *size* preference, although one is forgiven for forcing sans-serif, since historically many browsers default to serifed, which few people like on current screen technology. Once you assume the user knows what size font they like, then font sizes of headings and such can be defined by percentages relative to the user's body font size. For example, a first-level heading might be 200%. You might to 90%-95% for fixed-width text. Small print could be 80%. In tables, generally just use the default body text size. Embedded pixmaps are not a completely solved problem, but in practice they work out OK if you just target them at a roughly appropriate pixel size for desktops and laptops. The portable devices tend to shrink them anyway. Fixed body text column widths should not be used unless you are really sophisticated with the JavaScript enough to make it adapt to changing font size and browser window width. The only reason to do this is to enforce a *maximum* column width, since HTML is especially stupid about this. (HTML evolution got sidetracked by table-based layout for a decade.) Minimum body column widths should almost never be specified. It is not your place to say that the user should be required read 10 words (much less 800 pixels per line!), even if that means horizontal scrolling because the user's device is too small, or they need to use large fonts, or they don't wish to have the page consume all their screen real estate. Necessarily fixed-width layout chunks, such as for code examples, can be put in a "div" with automatic scrollbar on horizontal overflow. On my TODO list is to develop and publicize an example for that adaptive maximum column width problem. Conceptually, it is trivial. There is just some headache with cross-browser testing of JavaScript. By default, then, until you can't do max widths in a smart way, it is better not to do them at all. Also, I might be doing a little experimental tweaking to Scribble CSS and HTML output myself, once I have finished converting all my Scheme code documentation over to Scribble. Neil -- http://www.neilvandyke.org/ From DekuDekuplex at Yahoo.com Wed Mar 4 00:55:01 2009 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Mar 26 02:43:31 2009 Subject: [plt-scheme] Re: Vancouver Lisp Users Group meeting for March 2009 - Haskell for Lisp Programmers References: <8757cb490902230912k44057779m9f4a86b34c614ec9@mail.gmail.com> <8757cb490902230912k44057779m9f4a86b34c614ec9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> <8757cb490903031445j709877e3k9a358eaecb980f48@mail.gmail.com> Message-ID: Since I live far away and can't attend, is there any way to obtain a summary of the meeting? This seems to be a fascinating topic, and I would be very interested in learning about what transpires therein. -- Benjamin L. Russell On Tue, 3 Mar 2009 14:45:32 -0800, Bill Clementson wrote: >Hi all, > >Just a reminder of our "Haskell for Lisp Programmers" lispvan meeting >tomorrow night (Wednesday, March 4th at 7pm). > >See you there! > >- Bill > >On Mon, Feb 23, 2009 at 9:12 AM, Bill Clementson wrote: >> Hi all, >> >> Haskell is a polymorphically statically typed, lazy, purely functional >> language based on the lambda calculus. As such, it shares some things >> in common with some dialects of Lisp but differs in other regards. Our >> March lispvan speaker will present an introduction to Haskell geared >> towards Lisp programmers. If you want to read up about Haskell before >> the meeting, a good starting point is the Haskell Wiki. >> >> Here's the "official" meeting notice: >> >> Topic: Haskell for Lisp Programmers >> Presenter: Erik Charlebois >> Date: Wednesday, March 4th, 2009 >> Time: 7pm - 10pm (or whenever) >> Venue: The Hackery, 304 Victoria Dr (entrance off Franklin), Vancouver (see map) >> Summary: Haskell is a lazy, pure, statically-typed functional >> programming language enjoying a lot of attention these days. Its >> strict approach to side effects is seen as one of the viable >> approaches to making parallel programming tractable. >> >> Erik will talk about the core differences between Haskell and Lisp, >> the actions the Haskell community is taking to manage this growth, and >> some neat applications of the language already in the wild. >> >> * Differences between Haskell and Lisp >> ?* Syntax >> ?* Static typing >> ?* Side effects with monads >> * The Haskell Platform >> ?* Build, Package, Distribute >> ?* Community >> * Haskell Dog and Pony Show >> >> Bio: Erik was a compiler developer for 3 years at IBM working on the >> XL Fortran and C/C++ compilers for the Cell processor. He is currently >> employed at Slant Six Games doing gameplay programming. For the past 2 >> years, he has been studying programming languages and databases in a >> search for smarter ways to build soft real-time applications like >> games. >> >> If possible, I will record the presentation and post it on my blog >> after the meeting for those who are unable to attend. Join us for a >> beer (bring your own - there's a fridge) and a chance to learn what >> static typing and monads are all about! >> >> Any updates will be posted on my blog entry for the meeting: >> http://bc.tech.coop/blog/090223.html >> >> -- >> Bill Clementson >> -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From fare at tunes.org Wed Mar 4 01:04:24 2009 From: fare at tunes.org (Francois-Rene Rideau) Date: Thu Mar 26 02:43:32 2009 Subject: [plt-scheme] 2009-03-30 Boston Lisp Meeting: Carl Eastlund on Modular ACL2 Message-ID: <20090304060425.008D24234@bespin.org> Next Boston Lisp Meeting: Monday March 30th 2009 at 1800 at MIT 34-401B - Carl Eastlund on Modular ACL2 http://fare.livejournal.com/140695.html Carl Eastlund will give a talk about Modular ACL2. ACL2 is a Common Lisp-based fully automated theorem prover. It was originally based on the Boyer-Moore theorem prover (Nqthm), and is currently developed by J Moore and Matt Kaufmann at the University of Texas at Austin. ACL2 has been used to verify critical hardware and software systems by companies including Intel, AMD, Rockwell-Collins, and Sun Microsystems, and won the 2005 ACM Software Systems award. This talk presents Modular ACL2, an extension of the language of ACL2 to include a module system supporting reusable proof components, external specifications, and separate development/verification. Carl Eastlund is a Ph.D. candidate at Northeastern University's Programming Research Lab. His past research has included hardware description languages, models of object oriented programming, functional GUI representations, and the Fortress programming language. His current work contributes programming tools and language extensions to the ACL2 theorem prover. His website is at http://www.ccs.neu.edu/home/cce/ * The Lisp Meeting will take place on Monday March 30th 2009 at 1800 (6pm) at MIT, Room 34-401B. As the numbers indicate, this is in Building 34, on the 4th floor. This is the usual location, on 50 Vassar Street, Cambridge. MIT map: http://whereis.mit.edu/bin/map?selection=34 Google map: http://maps.google.com/maps?q=50+Vassar+St,+Cambridge,+MA+02139,+USA Many thanks go to Alexey Radul for arranging for the room, and to MIT for welcoming us. * * Dinner: ITA Software, a fine employer of Lisp hackers (disclaimer: I work there), is kindly purchasing a buffet to accompany our monthly Boston Lisp meeting. Anyone who attends is welcome to partake. We appreciate it if you let us know you're coming, and what food taboos you have, so that we can order the correct amount of food. Tell us by sending email to boston-lisp-meeting-register at common-lisp.net. We won't send any acknowledgement unless requested; importantly, we'll keep your identity and address confidential and won't communicate any such information to anyone, not even to our sponsors. * * * The previous Boston Lisp Meeting on February 23rd had 40 participants. Dimitris Vyzovitis gave a demonstration of his powerful toolkit to build distributed systems in PLT Scheme, Gerbils: http://web.media.mit.edu/~vyzo/gerbil/ NB: the following Boston Lisp Meeting is scheduled to take place on Monday April 24th 2009. Norman Ramsey will speak about purely functional dataflow optimization (in Haskell). We're always looking for more speakers. The call for speakers and all the other details are at http://fare.livejournal.com/120393.html For more information, see our new web site boston-lisp.org. For posts related to the Boston Lisp meetings in general, follow this link: http://fare.livejournal.com/tag/boston-lisp-meeting or subscribe to our RSS feed: http://fare.livejournal.com/data/rss?tag=boston-lisp-meeting Please forward this information to people you think would be interested. Please accept my apologies for your receiving this message multiple times. My apologies if this announce gets posted to a list where it shouldn't, or fails to get posted to a list where it should. Feedback welcome by private email reply to fare at tunes.org. From DekuDekuplex at Yahoo.com Wed Mar 4 00:59:59 2009 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Mar 26 02:43:32 2009 Subject: [plt-scheme] Re: Vancouver Lisp Users Group meeting for March 2009 - Haskell for Lisp Programmers References: <8757cb490902230912k44057779m9f4a86b34c614ec9@mail.gmail.com> <8757cb490902230912k44057779m9f4a86b34c614ec9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> <8757cb490903031445j709877e3k9a358eaecb980f48@mail.gmail.com> Message-ID: Sorry, I happened to be in a rush when reading through your message, and didn't notice the part about the recording on your blog. I'll check your blog afterwards for the summary. -- Benjamin L. Russell On Wed, 04 Mar 2009 14:55:01 +0900, Benjamin L.Russell wrote: >Since I live far away and can't attend, is there any way to obtain a >summary of the meeting? This seems to be a fascinating topic, and I >would be very interested in learning about what transpires therein. > >-- Benjamin L. Russell > >On Tue, 3 Mar 2009 14:45:32 -0800, Bill Clementson > wrote: > >>Hi all, >> >>Just a reminder of our "Haskell for Lisp Programmers" lispvan meeting >>tomorrow night (Wednesday, March 4th at 7pm). >> >>See you there! >> >>- Bill >> >>On Mon, Feb 23, 2009 at 9:12 AM, Bill Clementson wrote: >>> Hi all, >>> >>> Haskell is a polymorphically statically typed, lazy, purely functional >>> language based on the lambda calculus. As such, it shares some things >>> in common with some dialects of Lisp but differs in other regards. Our >>> March lispvan speaker will present an introduction to Haskell geared >>> towards Lisp programmers. If you want to read up about Haskell before >>> the meeting, a good starting point is the Haskell Wiki. >>> >>> Here's the "official" meeting notice: >>> >>> Topic: Haskell for Lisp Programmers >>> Presenter: Erik Charlebois >>> Date: Wednesday, March 4th, 2009 >>> Time: 7pm - 10pm (or whenever) >>> Venue: The Hackery, 304 Victoria Dr (entrance off Franklin), Vancouver (see map) >>> Summary: Haskell is a lazy, pure, statically-typed functional >>> programming language enjoying a lot of attention these days. Its >>> strict approach to side effects is seen as one of the viable >>> approaches to making parallel programming tractable. >>> >>> Erik will talk about the core differences between Haskell and Lisp, >>> the actions the Haskell community is taking to manage this growth, and >>> some neat applications of the language already in the wild. >>> >>> * Differences between Haskell and Lisp >>> ?* Syntax >>> ?* Static typing >>> ?* Side effects with monads >>> * The Haskell Platform >>> ?* Build, Package, Distribute >>> ?* Community >>> * Haskell Dog and Pony Show >>> >>> Bio: Erik was a compiler developer for 3 years at IBM working on the >>> XL Fortran and C/C++ compilers for the Cell processor. He is currently >>> employed at Slant Six Games doing gameplay programming. For the past 2 >>> years, he has been studying programming languages and databases in a >>> search for smarter ways to build soft real-time applications like >>> games. >>> >>> If possible, I will record the presentation and post it on my blog >>> after the meeting for those who are unable to attend. Join us for a >>> beer (bring your own - there's a fridge) and a chance to learn what >>> static typing and monads are all about! >>> >>> Any updates will be posted on my blog entry for the meeting: >>> http://bc.tech.coop/blog/090223.html >>> >>> -- >>> Bill Clementson >>> -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From srikumarks at gmail.com Wed Mar 4 01:09:15 2009 From: srikumarks at gmail.com (Kumar) Date: Thu Mar 26 02:43:32 2009 Subject: [plt-scheme] Re: Scribble formatting dilemma In-Reply-To: <49AE102B.1000406@neilvandyke.org> References: <49AE102B.1000406@neilvandyke.org> Message-ID: <676726c7-2436-4ac1-b7f4-9a0cf8e956c6@p6g2000pre.googlegroups.com> For the most part, I do agree with your opinions. The scribble.css also uses proportional font sizes just as you suggest. After some more fooling around, I figured that it is indeed Firefox's bug .. and a pretty obvious one at that. If I use - body { font-size: 80%; } table p { font-size: 80%; } Firefox incorrectly renders the body text and the table contents at the *same* font size. IE renders the table text smaller than the body text, obeying the cascading of the percentages correctly. To add to the problem, I think IE is picking roughly the same sizes for fonts in different families whereas Firefox is selecting different font sizes for different families - for example at the default font size, the serif and monospace font is smaller than sans-serif font. Anyway - this disucssion has gone beyond the scope of plt-scheme, so I'll see what the mozilla folks have to say about this. Thanks for your suggestions. -Kumar On Mar 4, 1:22?pm, Neil Van Dyke wrote: > My short answer to your question is that I think you will have to dig > into the CSS to get the font sizes cooperating, but that you will also > run into some hard constraints of the HTML layout currently used by > Scribble. > > For my long answer, here are some of my opinions on Web page layout. ? > They are somewhat strong, but I know Scheme people are accustomed to > everyone having strong opinions... :) > > Almost no one gets HTML layout right, since the first versions Netscape > Navigator and IE. > > The best way is to start by assuming that the user's default font is set > to the user's preference for body text on the device in use. > > Most important is the user's font *size* preference, although one is > forgiven for forcing sans-serif, since historically many browsers > default to serifed, which few people like on current screen technology. > > Once you assume the user knows what size font they like, then font sizes > of headings and such can be defined by percentages relative to the > user's body font size. ?For example, a first-level heading might be > 200%. ?You might to 90%-95% for fixed-width text. ?Small print could be 80%. > > In tables, generally just use the default body text size. > > Embedded pixmaps are not a completely solved problem, but in practice > they work out OK if you just target them at a roughly appropriate pixel > size for desktops and laptops. ?The portable devices tend to shrink them > anyway. > > Fixed body text column widths should not be used unless you are really > sophisticated with the JavaScript enough to make it adapt to changing > font size and browser window width. ?The only reason to do this is to > enforce a *maximum* column width, since HTML is especially stupid about > this. ?(HTML evolution got sidetracked by table-based layout for a decade.) > > Minimum body column widths should almost never be specified. ?It is not > your place to say that the user should be required read 10 words (much > less 800 pixels per line!), even if that means horizontal scrolling > because the user's device is too small, or they need to use large fonts, > or they don't wish to have the page consume all their screen real > estate. ?Necessarily fixed-width layout chunks, such as for code > examples, can be put in a "div" with automatic scrollbar on horizontal > overflow. > > On my TODO list is to develop and publicize an example for that adaptive > maximum column width problem. ?Conceptually, it is trivial. ?There is > just some headache with cross-browser testing of JavaScript. ?By > default, then, until you can't do max widths in a smart way, it is > better not to do them at all. > > Also, I might be doing a little experimental tweaking to Scribble CSS > and HTML output myself, once I have finished converting all my Scheme > code documentation over to Scribble. > > Neil > > --http://www.neilvandyke.org/ > > _________________________________________________ > ? For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme From DekuDekuplex at Yahoo.com Wed Mar 4 04:54:17 2009 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Mar 26 02:43:32 2009 Subject: [plt-scheme] how to specify the language "PLAI Scheme" in PLT Scheme in Emacs Message-ID: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> I am interested in working through PLAI, but using PLT Scheme in Emacs, instead of DrScheme. However, I do not know how to specify the language "PLAI Scheme" (corresponding to the "PLAI - Advanced Student" language specified on p. 8 of the text) in MzScheme, as opposed to DrScheme. In fact, according to the online documentation (see below), there does not seem to be a way. The version of PLT Scheme that I am using is v4.1.4. According to the online documentation for MzScheme for the CS173 course associated with PLAI (see "MzScheme: Legacy Module Language" at http://www.cs.brown.edu/courses/cs173/2008/Manual/mzscheme/index.html), the documentation refers to "the mzscheme language," implying that MzScheme is a separate language from "PLAI Scheme," and not just a command-line tool equipped with the same languages. Furthermore, according to the online documentation for the software accompanying PLAI (see the "Programming Languages: Application and Interpretation" section of the "PLT Scheme (installation)" manual at http://www.cs.brown.edu/courses/cs173/2008/Manual/manual/index.html), choosing the language in DrScheme is described, but choosing the language in MzScheme in Emacs is not. Is there any way to specify the language "PLAI Scheme" when working with a PLT Scheme REPL in Emacs? -- Benjamin L. Russell -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From DekuDekuplex at Yahoo.com Wed Mar 4 05:36:33 2009 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Mar 26 02:43:32 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> Message-ID: Interestingly, I just discovered a post on a related topic by Shriram Krishnamurthi, entitled "DrScheme: keybindings and more," dated "Fri, 7 Sep 2007 22:05:28 -0400" (see http://groups.google.com/group/brown-cs-fall-2007-csci-1730/browse_thread/thread/63e0150d7760e60b), in which Krishnamurthi writes as follows: >DrScheme has several keybindings that make it easier to use. Those of >you who are accustomed to Emacs, in particular, will recognize (and >want!) many of them. > >You can always find out what keybindings you currently have through >the Edit | Keybindings... options. > >By default, most Emacs keybindings won't work because they tend to >clash with the OS defaults (especially on Windows). If you want most >of the standard Emacs bindings, go to > > Edit | Preferences... | Editing | General > >and deselect "Enable keybindings in menus". You will now have many >more keybindings available. I then deselected "Enable keybindings in menus" as above, and discovered that DrScheme now seems to have many of the standard Emacs keybindings. Typing "C-x Cf", for instance, opens a standard "Select a file" dialog box. This is good as a temporary fix. However, Emacs is customizable in Emacs Lisp, whereas DrScheme is not. Therefore, if anybody knows how to bring DrScheme language specification functionality to Emacs, any advice (in this thread if possible) would be greatly appreciated. -- Benjamin L. Russell On Wed, 04 Mar 2009 18:54:17 +0900, Benjamin L.Russell wrote: >I am interested in working through PLAI, but using PLT Scheme in >Emacs, instead of DrScheme. However, I do not know how to specify the >language "PLAI Scheme" (corresponding to the "PLAI - Advanced Student" >language specified on p. 8 of the text) in MzScheme, as opposed to >DrScheme. In fact, according to the online documentation (see below), >there does not seem to be a way. The version of PLT Scheme that I am >using is v4.1.4. > >According to the online documentation for MzScheme for the CS173 >course associated with PLAI (see "MzScheme: Legacy Module Language" at >http://www.cs.brown.edu/courses/cs173/2008/Manual/mzscheme/index.html), >the documentation refers to "the mzscheme language," implying that >MzScheme is a separate language from "PLAI Scheme," and not just a >command-line tool equipped with the same languages. > >Furthermore, according to the online documentation for the software >accompanying PLAI (see the "Programming Languages: Application and >Interpretation" section of the "PLT Scheme (installation)" manual at >http://www.cs.brown.edu/courses/cs173/2008/Manual/manual/index.html), >choosing the language in DrScheme is described, but choosing the >language in MzScheme in Emacs is not. > >Is there any way to specify the language "PLAI Scheme" when working >with a PLT Scheme REPL in Emacs? > >-- Benjamin L. Russell -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From noelwelsh at gmail.com Wed Mar 4 06:32:57 2009 From: noelwelsh at gmail.com (Noel Welsh) Date: Thu Mar 26 02:43:33 2009 Subject: [plt-scheme] how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> Message-ID: I think you've become rather confused, but that this confusion can be rather simply cleared up. PLT Scheme supports multiple languages. You specify the language you are using (in v4 PLT) with the line #lang whatever at the top of your file. E.g. #lang scheme => I'm using scheme (lots of stuff included) #lang scheme/base => I'm using the scheme/base language (like scheme but less stuff) #lang web-server => I'm using the stateless web server language There are two things called mzscheme: 1. The command line interpreter 2. A language the mimics the v3 scheme language So #lang mzscheme => I'm a dinosaur, using the v3 compatibility language The PLAI docs say: "These languages are also available as the module languages plai, plai/collector, plai/mutator and plai/web respectively." So #lang plai => I'm using PLAI #lang plai/collector => I'm using the PLAI GC language etc. This is how you use these languages in your code. Now to use the languages in the REPL you have to do something a little bit different. Basically, you run mzscheme with the -I switch, specifying the module that implements the language you want to use. E.g.: noel@Quixotic~> mzscheme -I lang/htdp-beginner.ss This runs mzscheme with the HtDP beginner language. Notice how the interactions are constrained: Welcome to MzScheme v4.1.3.8 [3m], Copyright (c) 2004-2008 PLT Scheme Inc. > (define (foo x) (x 1)) stdin::8: define: function definitions are not allowed in the interactions window; they must be in the definitions window in: (define (foo x) (x 1)) Not all languages can be run this way; some only work with DrScheme. I don't know what the deal for the PLAI languages is, but probably mzscheme -I plai/lang.ss will work. HTH, Noel On Wed, Mar 4, 2009 at 9:54 AM, Benjamin L. Russell wrote: > According to the online documentation for MzScheme for the CS173 > course associated with PLAI (see "MzScheme: Legacy Module Language" at > http://www.cs.brown.edu/courses/cs173/2008/Manual/mzscheme/index.html), > the documentation refers to "the mzscheme language," implying that > MzScheme is a separate language from "PLAI Scheme," and not just a > command-line tool equipped with the same languages. > > Furthermore, according to the online documentation for the software > accompanying PLAI (see the "Programming Languages: Application and > Interpretation" section of the "PLT Scheme (installation)" manual at > http://www.cs.brown.edu/courses/cs173/2008/Manual/manual/index.html), > choosing the language in DrScheme is described, but choosing the > language in MzScheme in Emacs is not. > > Is there any way to specify the language "PLAI Scheme" when working > with a PLT Scheme REPL in Emacs? > > -- Benjamin L. Russell From DekuDekuplex at Yahoo.com Wed Mar 4 07:34:35 2009 From: DekuDekuplex at Yahoo.com (Benjamin L.Russell) Date: Thu Mar 26 02:43:33 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> <5nisq41op0rf5kqaqpk17jscah7c7us346-e09XROE/p8c@public.gmane.org> Message-ID: <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> Yes; it seems that the following specification for the Scheme program name in Emacs works: mzscheme -i plai -l errortrace I haven't yet verified whether the language is indeed "PLAI Scheme," though; I'll do that at the next available opportunity. If something else comes up in relation to this issue, I'll post a follow-up. Thank you very much for your detailed explanation! -- Benjamin L. Russell On Wed, 4 Mar 2009 11:32:57 +0000, Noel Welsh wrote: >I think you've become rather confused, but that this confusion can be >rather simply cleared up. > >PLT Scheme supports multiple languages. You specify the language you >are using (in v4 PLT) with the line > > #lang whatever > >at the top of your file. E.g. > > #lang scheme => I'm using scheme (lots of stuff included) > #lang scheme/base => I'm using the scheme/base language (like scheme >but less stuff) > #lang web-server => I'm using the stateless web server language > >There are two things called mzscheme: > >1. The command line interpreter >2. A language the mimics the v3 scheme language > >So > > #lang mzscheme => I'm a dinosaur, using the v3 compatibility language > >The PLAI docs say: > > "These languages are also available as the module languages plai, >plai/collector, plai/mutator and plai/web respectively." > >So > > #lang plai => I'm using PLAI > #lang plai/collector => I'm using the PLAI GC language > >etc. > >This is how you use these languages in your code. Now to use the >languages in the REPL you have to do something a little bit different. >Basically, you run mzscheme with the -I switch, specifying the module >that implements the language you want to use. E.g.: > > noel@Quixotic~> mzscheme -I lang/htdp-beginner.ss > >This runs mzscheme with the HtDP beginner language. Notice how the >interactions are constrained: > > Welcome to MzScheme v4.1.3.8 [3m], Copyright (c) 2004-2008 PLT Scheme Inc. > > (define (foo x) (x 1)) > stdin::8: define: function definitions are not allowed in the >interactions window; they must be in the definitions window in: >(define (foo x) (x 1)) > >Not all languages can be run this way; some only work with DrScheme. I >don't know what the deal for the PLAI languages is, but probably > > mzscheme -I plai/lang.ss > >will work. > >HTH, >Noel > >On Wed, Mar 4, 2009 at 9:54 AM, Benjamin L. Russell > wrote: > >> According to the online documentation for MzScheme for the CS173 >> course associated with PLAI (see "MzScheme: Legacy Module Language" at >> http://www.cs.brown.edu/courses/cs173/2008/Manual/mzscheme/index.html), >> the documentation refers to "the mzscheme language," implying that >> MzScheme is a separate language from "PLAI Scheme," and not just a >> command-line tool equipped with the same languages. >> >> Furthermore, according to the online documentation for the software >> accompanying PLAI (see the "Programming Languages: Application and >> Interpretation" section of the "PLT Scheme (installation)" manual at >> http://www.cs.brown.edu/courses/cs173/2008/Manual/manual/index.html), >> choosing the language in DrScheme is described, but choosing the >> language in MzScheme in Emacs is not. >> >> Is there any way to specify the language "PLAI Scheme" when working >> with a PLT Scheme REPL in Emacs? >> >> -- Benjamin L. Russell -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ From matthias at ccs.neu.edu Wed Mar 4 08:48:01 2009 From: matthias at ccs.neu.edu (Matthias Felleisen) Date: Thu Mar 26 02:43:33 2009 Subject: [plt-scheme] how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> Message-ID: On Mar 4, 2009, at 6:32 AM, Noel Welsh wrote: > I think you've become rather confused, but that this confusion can be > rather simply cleared up. In a way this is our problem. We should explain in more detail that PLT Scheme isn't really a "Scheme" or a programming language, but a language-language, a flexible form of clay, that you can turn into almost any programming language that you want -- Matthias From jalee at valdosta.edu Tue Mar 3 14:46:49 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:33 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> Message-ID: <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> On Mar 3, 2009, at 14:33, Matthew Flatt wrote: > What output do you get for > > mred -e '(get-face-list)' > > on both the server console and the thin client? I figure it's probably best to attach the two outputs since they are so long. The console is significantly longer. I guess that's what I should be writing to Sun about next? -------------- next part -------------- ("10x20" "12x24" "5x7" "5x8" "6x10" "6x12" "6x13" "6x9" "7x13" "7x14" "8x13" "8x16" "9x15" "a14" "-adobe-courier" "-adobe-helvetica" "-adobe-new century schoolbook" "-adobe-symbol" "-adobe-times" "-adobe-utopia" "-arabic-newspaper" "-b&h-lucida" "-b&h-luxi mono" "-b&h-luxi sans" "-b&h-luxi serif" "-bitstream-bitstream charter" "-bitstream-charter" "-bitstream-courier 10 pitch" "-bitstream-terminal" "cursor" "-daewoo-gothic" "-daewoo-mincho" "-dec-terminal" "decw$cursor" "decw$session" "fixed" "hanzigb16fs" "hanzigb16st" "hanzigb24st" "heb6x13" "heb8x13" "-ibm-courier" "-isas-fangsong ti" "-isas-song ti" "-jis-fixed" "k14" "kana14" "kanji16" "kanji24" "lucidasans-10" "lucidasans-12" "lucidasans-14" "lucidasans-18" "lucidasans-24" "lucidasans-8" "lucidasans-bold-10" "lucidasans-bold-12" "lucidasans-bold-14" "lucidasans-bold-18" "lucidasans-bold-24" "lucidasans-bold-8" "lucidasans-bolditalic-10" "lucidasans-bolditalic-12" "lucidasans-bolditalic-14" "lucidasans-bolditalic-18" "lucidasans-bolditalic-24" "lucidasans-bolditalic-8" "lucidasans-italic-10" "lucidasans-italic-12" "lucidasans-italic-14" "lucidasans-italic-18" "lucidasans-italic-24" "lucidasans-italic-8" "lucidasanstypewriter-10" "lucidasanstypewriter-12" "lucidasanstypewriter-14" "lucidasanstypewriter-18" "lucidasanstypewriter-24" "lucidasanstypewriter-8" "lucidasanstypewriter-bold-10" "lucidasanstypewriter-bold-12" "lucidasanstypewriter-bold-14" "lucidasanstypewriter-bold-18" "lucidasanstypewriter-bold-24" "lucidasanstypewriter-bold-8" "micro" "-misc-fixed" "-misc-nil" "-mutt-clearlyu" "-mutt-clearlyu alternate glyphs" "-mutt-clearlyu arabic" "-mutt-clearlyu arabic extra" "-mutt-clearlyu devanagari" "-mutt-clearlyu devangari extra" "-mutt-clearlyu ligature" "-mutt-clearlyu pua" "nil2" "olcursor" "olglyph-10" "olglyph-12" "olglyph-14" "olglyph-19" "r14" "r16" "r24" "rk14" "rk16" "rk24" "-schumacher-clean" "-sony-fixed" "-sun-open look cursor---" "-sun-open look glyph---" "-urw-century schoolbook l" "-urw-dingbats" "-urw-nimbus mono l" "-urw-nimbus roman no9 l" "-urw-nimbus sans l" "-urw-nimbus sans l condensed" "-urw-standard symbols l" "-urw-urw bookman l" "-urw-urw chancery l" "-urw-urw gothic l" "-urw-urw palladio l" "variable" "-xfree86-cursor") -------------- next part -------------- ("10x20" "12x24" "5x7" "5x8" "6x10" "6x12" "6x13" "6x9" "7x13" "7x14" "8x13" "8x16" "9x15" "a14" "-arabic-newspaper" "cursor" "-daewoo-gothic" "-daewoo-mincho" "decw$cursor" "decw$session" "fixed" "hanzigb16fs" "hanzigb16st" "hanzigb24st" "heb6x13" "heb8x13" "-isas-fangsong ti" "-isas-song ti" "-jis-fixed" "k14" "kana14" "kanji16" "kanji24" "micro" "-misc-fixed" "-misc-nil" "-mutt-clearlyu" "-mutt-clearlyu alternate glyphs" "-mutt-clearlyu arabic" "-mutt-clearlyu arabic extra" "-mutt-clearlyu devanagari" "-mutt-clearlyu devangari extra" "-mutt-clearlyu ligature" "-mutt-clearlyu pua" "nil2" "olcursor" "olglyph-10" "olglyph-12" "olglyph-14" "olglyph-19" "r14" "r16" "r24" "rk14" "rk16" "rk24" "-schumacher-clean" "-sony-fixed" "-sun-open look cursor---" "-sun-open look glyph---") From mflatt at cs.utah.edu Wed Mar 4 12:20:43 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:34 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> Message-ID: <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> At Tue, 3 Mar 2009 14:46:49 -0500, Jarrett Lee wrote: > On Mar 3, 2009, at 14:33, Matthew Flatt wrote: > > What output do you get for > > > > mred -e '(get-face-list)' > > > > on both the server console and the thin client? > > I figure it's probably best to attach the two outputs since they are > so long. For some reason, DrScheme is looking at only traditional X11 fonts, and not fontconfig fonts. Worse, on DTU, it can't find "-*-lucida" or "-*-courier", and whatever ends up being the default is (I guess) blank for ASCII characters. Just to make sure that DrScheme is really compiled for Xft, can you send me your entire "configure_output.txt" and "config.log"? Maybe something later is disabling it. From jalee at valdosta.edu Wed Mar 4 12:36:01 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:34 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> Message-ID: <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> On Mar 4, 2009, at 12:20, Matthew Flatt wrote: > At Tue, 3 Mar 2009 14:46:49 -0500, Jarrett Lee wrote: >> On Mar 3, 2009, at 14:33, Matthew Flatt wrote: >>> What output do you get for >>> >>> mred -e '(get-face-list)' >>> >>> on both the server console and the thin client? >> >> I figure it's probably best to attach the two outputs since they are >> so long. > > For some reason, DrScheme is looking at only traditional X11 fonts, > and > not fontconfig fonts. Worse, on DTU, it can't find "-*-lucida" or > "-*-courier", and whatever ends up being the default is (I guess) > blank > for ASCII characters. > > Just to make sure that DrScheme is really compiled for Xft, can you > send me your entire "configure_output.txt" and "config.log"? Maybe > something later is disabling it. > I contacted Sun about the issue and they are looking into whether or not SunRay X servers disable any fonts or sources of fonts. Here are the files you requested. -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: application/octet-stream Size: 29784 bytes Desc: not available Url : http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090304/04dcb80a/config.obj -------------- next part -------------- checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for ranlib... ranlib checking for X... libraries , headers checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for cos in -lm... yes checking for dlopen in -ldl... yes checking for inline keyword... yes checking for nl_langinfo (CODESET)... yes checking for getaddrinfo... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking iconv is usable... yes checking for mbsrtowcs... yes checking for char... yes checking size of char... 1 checking for short... yes checking size of short... 2 checking for int... yes checking size of int... 4 checking for long... yes checking size of long... 4 checking for long long... yes checking size of long long... 8 checking for stack direction... down checking whether byte ordering is bigendian... no checking whether C++ compiler works... yes checking whether new and new[] are different... yes checking whether need to use -fpermissive... no checking X11/Xlib.h usability... yes checking X11/Xlib.h presence... yes checking for X11/Xlib.h... yes checking X11/Intrinsic.h usability... yes checking X11/Intrinsic.h presence... yes checking for X11/Intrinsic.h... yes checking for XFlush in -lX11... yes checking for XSyncQueryExtension in -lXext... yes checking for XtDestroyWidget in -lXt... yes checking for XmuInternAtom in -lXmu... yes checking for vendorShellClassRec in -lXaw... yes checking whether X11/XKBlib.h is available... yes checking GL/glx.h usability... yes checking GL/glx.h presence... yes checking for GL/glx.h... yes checking for glXChooseVisual in -lGL... yes checking X11/extensions/Xrender.h usability... yes checking X11/extensions/Xrender.h presence... yes checking for X11/extensions/Xrender.h... yes checking for XRenderQueryExtension in -lXrender... yes Using pkg-config xft... Xft flags: -I/usr/include/freetype2 Xft libs: -lXft -lXrender -lfontconfig -lfreetype -lX11 Using pkg-config for Cairo... Cairo flags: -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 Cairo libs: -lcairo checking for cairo_create in -lcairo... yes checking cairo-xlib.h usability... yes checking cairo-xlib.h presence... yes checking for cairo-xlib.h... yes checking png.h usability... yes checking png.h presence... yes checking for png.h... yes checking for png_read_info in -lpng... yes checking jpeglib.h usability... yes checking jpeglib.h presence... yes checking for jpeglib.h... yes checking for jpeg_start_decompress in -ljpeg... yes configure: creating ./config.status config.status: creating Makefile config.status: creating mzscheme/Makefile config.status: creating mzscheme/src/Makefile config.status: creating mzscheme/dynsrc/Makefile config.status: creating mzscheme/gc/Makefile config.status: creating mzscheme/sgc/Makefile config.status: creating mzscheme/gc2/Makefile config.status: creating foreign/Makefile config.status: creating mred/Makefile config.status: creating mred/wxs/Makefile config.status: creating mred/wxme/Makefile config.status: creating mred/gc2/Makefile config.status: creating wxcommon/libpng/Makefile config.status: creating wxcommon/zlib/Makefile config.status: creating wxxt/src/Makefile config.status: creating wxxt/src/x/Makefile config.status: creating wxxt/utils/image/src/Makefile config.status: creating wxxt/contrib/xpm/lib/Makefile config.status: creating mzscheme/mzconfig.h config.status: mzscheme/mzconfig.h is unchanged === configuring in foreign/gcc/libffi (/root/Desktop/plt-4.1.4/src/foreign/gcc/libffi) configure: running /bin/sh ./configure '--prefix=/root/Desktop/plt-4.1.4' '--disable-multilib' --cache-file=/dev/null --srcdir=. checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking whether gcc and cc understand -c and -o together... yes checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 98304 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for /usr/bin/ld option to reload object files... -r checking how to recognize dependent libraries... pass_all checking for ar... ar checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to enable maintainer-specific portions of Makefiles... no checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking for mmap... yes checking for sys/mman.h... (cached) yes checking for mmap... (cached) yes checking whether read-only mmap of a plain file works... yes checking whether mmap from /dev/zero works... yes checking for MAP_ANON(YMOUS)... yes checking whether mmap with MAP_ANON(YMOUS) works... yes checking for ANSI C header files... (cached) yes checking for memcpy... yes checking for working alloca.h... yes checking for alloca... yes checking for double... yes checking size of double... 8 checking for long double... yes checking size of long double... 12 checking whether byte ordering is bigendian... no checking assembler .cfi pseudo-op support... yes checking whether .eh_frame section should be read-only... yes checking for __attribute__((visibility("hidden")))... yes configure: creating ./config.status config.status: creating include/Makefile config.status: creating include/ffi.h config.status: creating Makefile config.status: creating fficonfig.h config.status: fficonfig.h is unchanged config.status: linking ./src/x86/ffitarget.h to include/ffitarget.h config.status: executing default-1 commands config.status: executing depfiles commands config.status: executing libtool commands config.status: executing include commands config.status: executing src commands >>> Installation is in-place: ./.. Configure with --prefix if you wanted to install somewhere else. The --prefix option also makes the installed files better conform to Unix installation conventions. (The configure script will show you specific installation paths when --prefix is used.) Alternately, you can simply `mv' the in-place installation after running `make install'. -------------- next part -------------- From mflatt at cs.utah.edu Wed Mar 4 12:46:58 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> Message-ID: <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> How about the output of xdpyinfo -queryExtensions for either display? From jalee at valdosta.edu Wed Mar 4 12:51:38 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> Message-ID: <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> On Mar 4, 2009, at 12:46, Matthew Flatt wrote: > How about the output of > > xdpyinfo -queryExtensions > > for either display? > xdpy-console.txt is the above command run from the servers console and xdpy-DTU.txt is the command run from the SunRay. -------------- next part -------------- name of display: :0.0 version number: 11.0 vendor string: The X.Org Foundation vendor release number: 70101000 X.Org version: 7.1.1 maximum request size: 16777212 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, LSBFirst, 32 image byte order: LSBFirst number of supported pixmap formats: 7 supported pixmap formats: depth 1, bits_per_pixel 1, scanline_pad 32 depth 4, bits_per_pixel 8, scanline_pad 32 depth 8, bits_per_pixel 8, scanline_pad 32 depth 15, bits_per_pixel 16, scanline_pad 32 depth 16, bits_per_pixel 16, scanline_pad 32 depth 24, bits_per_pixel 32, scanline_pad 32 depth 32, bits_per_pixel 32, scanline_pad 32 keycode range: minimum 8, maximum 255 focus: window 0x2c0001f, revert to Parent number of extensions: 32 BIG-REQUESTS (opcode: 132) Composite (opcode: 157) DAMAGE (opcode: 158, base event: 115, base error: 184) DOUBLE-BUFFER (opcode: 144, base error: 153) DPMS (opcode: 139) Extended-Visual-Information (opcode: 141) GLX (opcode: 145, base event: 77, base error: 154) MIT-SCREEN-SAVER (opcode: 134, base event: 67) MIT-SHM (opcode: 147, base event: 94, base error: 168) MIT-SUNDRY-NONSTANDARD (opcode: 131) RANDR (opcode: 156, base event: 114) RECORD (opcode: 146, base error: 167) RENDER (opcode: 155, base error: 179) SECURITY (opcode: 152, base event: 111, base error: 176) SGI-GLX (opcode: 145, base event: 77, base error: 154) SHAPE (opcode: 130, base event: 64) SYNC (opcode: 133, base event: 65, base error: 128) TOG-CUP (opcode: 140) VMWARE_CTRL (opcode: 128) X-Resource (opcode: 143) XC-APPGROUP (opcode: 151, base error: 175) XC-MISC (opcode: 135) XFIXES (opcode: 153, base event: 112, base error: 178) XFree86-Bigfont (opcode: 154) XFree86-DGA (opcode: 138, base event: 68, base error: 145) XFree86-Misc (opcode: 137, base error: 137) XFree86-VidModeExtension (opcode: 136, base error: 130) XINERAMA (opcode: 129) XInputExtension (opcode: 148, base event: 95, base error: 169) XKEYBOARD (opcode: 150, base event: 110, base error: 174) XTEST (opcode: 149) XVideo (opcode: 142, base event: 75, base error: 150) default screen number: 0 number of screens: 1 screen #0: dimensions: 1152x864 pixels (390x293 millimeters) resolution: 75x75 dots per inch depths (7): 16, 1, 4, 8, 15, 24, 32 root window id: 0x3f depth of root window: 16 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x20 default number of colormap cells: 64 preallocated pixels: black 0, white 65535 options: backing-store NO, save-unders NO largest cursor: 32x32 current input event mask: 0xfa2033 KeyPressMask KeyReleaseMask EnterWindowMask LeaveWindowMask ButtonMotionMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask ColormapChangeMask number of visuals: 5 default visual id: 0x22 visual: visual id: 0x22 class: TrueColor depth: 16 planes available colormap entries: 64 per subfield red, green, blue masks: 0xf800, 0x7e0, 0x1f significant bits in color specification: 6 bits visual: visual id: 0x23 class: TrueColor depth: 16 planes available colormap entries: 64 per subfield red, green, blue masks: 0xf800, 0x7e0, 0x1f significant bits in color specification: 6 bits visual: visual id: 0x24 class: TrueColor depth: 16 planes available colormap entries: 64 per subfield red, green, blue masks: 0xf800, 0x7e0, 0x1f significant bits in color specification: 6 bits visual: visual id: 0x25 class: TrueColor depth: 16 planes available colormap entries: 64 per subfield red, green, blue masks: 0xf800, 0x7e0, 0x1f significant bits in color specification: 6 bits visual: visual id: 0x3d class: TrueColor depth: 32 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff0000, 0xff00, 0xff significant bits in color specification: 8 bits -------------- next part -------------- name of display: :11.0 version number: 11.0 vendor string: The X.Org Foundation vendor release number: 70200000 X.Org version: 7.2.0 maximum request size: 16777212 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, LSBFirst, 32 image byte order: LSBFirst number of supported pixmap formats: 2 supported pixmap formats: depth 1, bits_per_pixel 1, scanline_pad 32 depth 24, bits_per_pixel 32, scanline_pad 32 keycode range: minimum 8, maximum 255 focus: window 0x2600020, revert to Parent number of extensions: 27 BIG-REQUESTS (opcode: 133) DAMAGE (opcode: 153, base event: 109, base error: 168) DEC-XTRAP (opcode: 135, base event: 81, base error: 134) DOUBLE-BUFFER (opcode: 143, base error: 150) DPMS (opcode: 148) Extended-Visual-Information (opcode: 130) GLX (opcode: 149, base event: 89, base error: 154) MIT-SCREEN-SAVER (opcode: 136, base event: 82) MIT-SHM (opcode: 129, base event: 65, base error: 128) MIT-SUNDRY-NONSTANDARD (opcode: 134) RANDR (opcode: 151, base event: 108) RECORD (opcode: 142, base error: 149) SECURITY (opcode: 146, base event: 88, base error: 152) SGI-GLX (opcode: 149, base event: 89, base error: 154) SHAPE (opcode: 128, base event: 64) SYNC (opcode: 139, base event: 85, base error: 146) TOG-CUP (opcode: 147) X-Resource (opcode: 152) XAccessControlExtension (opcode: 145) XC-APPGROUP (opcode: 144, base error: 151) XC-MISC (opcode: 141) XFIXES (opcode: 150, base event: 106, base error: 167) XInputExtension (opcode: 131, base event: 66, base error: 129) XKEYBOARD (opcode: 140, base event: 87, base error: 148) XTEST (opcode: 132) XVideo (opcode: 137, base event: 83, base error: 143) XVideo-Encoded (opcode: 138) default screen number: 0 number of screens: 1 screen #0: dimensions: 1280x1024 pixels (361x289 millimeters) resolution: 90x90 dots per inch depths (1): 24 root window id: 0x2d depth of root window: 24 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x21 default number of colormap cells: 256 preallocated pixels: black 0, white 16777215 options: backing-store YES, save-unders YES largest cursor: 64x64 current input event mask: 0xfa2033 KeyPressMask KeyReleaseMask EnterWindowMask LeaveWindowMask ButtonMotionMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask ColormapChangeMask number of visuals: 4 default visual id: 0x23 visual: visual id: 0x23 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff, 0xff00, 0xff0000 significant bits in color specification: 8 bits visual: visual id: 0x24 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff, 0xff00, 0xff0000 significant bits in color specification: 8 bits visual: visual id: 0x25 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff, 0xff00, 0xff0000 significant bits in color specification: 8 bits visual: visual id: 0x26 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff, 0xff00, 0xff0000 significant bits in color specification: 8 bits From troelskn at gmail.com Wed Mar 4 13:37:02 2009 From: troelskn at gmail.com (troels knak-nielsen) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] Error in untyped/mirrors.plt/1/8/csv/response.ss In-Reply-To: <4FBE09F4-0819-4812-A478-0520A4D56BED@gmail.com> References: <98b8086f0902251357q7f332dc8tbb27d94b5ff441c5@mail.gmail.com> <4FBE09F4-0819-4812-A478-0520A4D56BED@gmail.com> Message-ID: <98b8086f0903041037o5eb27de1i807f8827eba33759@mail.gmail.com> Thanks. It works with v4.1.4, so I guess I'll just have to use that. -- troels On Fri, Feb 27, 2009 at 4:52 PM, Dave Gurnell wrote: >> tkn@tkn-desktop-ubuntu >> ~/.plt-scheme/planet/300/4.1.4.3/cache/untyped/mirrors.plt/1/8 $ >> mzscheme --version >> Welcome to MzScheme v4.1.4.3 [3m], Copyright (c) 2004-2009 PLT Scheme Inc. >> tkn@tkn-desktop-ubuntu ~/my/mzscheme/blog $ mzscheme run.ss >> >> /home/tkn/.plt-scheme/planet/300/4.1.4.3/cache/untyped/mirrors.plt/1/8/csv/response.ss:38:26: >> compile: unbound identifier in module in: response? >> >> Any suggestions? > > Hi, > > Mirrors and Dispatch 2.x are compatible with PLT 4.1.4.3. The 1.x versions > will remain PLT 4.1.4.1 compatible. The only difference between 1.x and 2.x > is the PLT compatibility. > > I'm building the 2.x versions out of the plt-4.1.4.3 branches in SVN and the > 1.x versions from trunk. > > Delirium is also affected by the changes: 3.x is compatible with 4.1.4.1, > while Delirium 4.x (currently unreleased - haven't had time to test it yet) > will be 4.1.4.3 compatible. The trunk/branch arrangement is the same here. > > We'll be stuck on PLT 4.1.4.1 internally for a while, so we'll develop 1.x > and 2.x in parallel for the foreseeable future. > > Cheers, > > -- Dave > > _________________________________________________ > ?For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme > From mflatt at cs.utah.edu Wed Mar 4 13:53:26 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> Message-ID: <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> At Wed, 4 Mar 2009 12:51:38 -0500, Jarrett Lee wrote: > On Mar 4, 2009, at 12:46, Matthew Flatt wrote: > > How about the output of > > > > xdpyinfo -queryExtensions > > > > for either display? > > > > > xdpy-console.txt is the above command run from the servers console and > xdpy-DTU.txt is the command run from the SunRay. Thanks for sending all of this information. The latest shows that DTU doesn't have the RENDER extension of X11 enabled, so DrScheme wouldn't try to use fontconfig on DTU anyway. Combined with the absence of "-*-lucida", DrScheme is completely stuck. You can work around the problem by creating a "plt-prefs.ss" file in a "defaults" collection that contains ( (|MrEd:ScreenSystemBase| "mutt-clearlyu") (|MrEd:ScreenDefaultBase| "mutt-clearlyu") (|MrEd:ScreenModernBase| "misc-fixed") ) Those are not great fonts, but at least you'll see letters. For more information on "plt-prefs.ss", see http://docs.plt-scheme.org/drscheme/drscheme-files.html#(part._.Preference_.Files) Meanwhile, the console does have XRENDER, so I'm puzzled that `get-face-list' didn't show any fontconfig fonts. And DrScheme behaves as if fontconfig is disabled, even though it's clearly enabled in the config logs. From jalee at valdosta.edu Wed Mar 4 14:01:57 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> Message-ID: <05D4C38D-DD7D-4E3A-991C-F8AAC954343B@valdosta.edu> On Mar 4, 2009, at 13:53, Matthew Flatt wrote: > ( > (|MrEd:ScreenSystemBase| "mutt-clearlyu") > (|MrEd:ScreenDefaultBase| "mutt-clearlyu") > (|MrEd:ScreenModernBase| "misc-fixed") > ) This did not fix the issue, but I believe I may be putting the file in the wrong place or with the wrong permissions. When ./configure was ran, the --prefix option was set to /opt/plt. I put the plt-prefs.ss file in /opt/plt/lib/plt/collects/defaults. See below: # cat /opt/plt/lib/plt/collects/defaults/plt-prefs.ss ( (|MrEd:ScreenSystemBase| "mutt-clearlyu") (|MrEd:ScreenDefaultBase| "mutt-clearlyu") (|MrEd:ScreenModernBase| "misc-fixed") ) Am I doing something wrong with regards to creating this file? From mflatt at cs.utah.edu Wed Mar 4 14:10:14 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <05D4C38D-DD7D-4E3A-991C-F8AAC954343B@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> <05D4C38D-DD7D-4E3A-991C-F8AAC954343B@valdosta.edu> Message-ID: <20090304191014.F197D6500BE@mail-svr1.cs.utah.edu> At Wed, 4 Mar 2009 14:01:57 -0500, Jarrett Lee wrote: > On Mar 4, 2009, at 13:53, Matthew Flatt wrote: > > ( > > (|MrEd:ScreenSystemBase| "mutt-clearlyu") > > (|MrEd:ScreenDefaultBase| "mutt-clearlyu") > > (|MrEd:ScreenModernBase| "misc-fixed") > > ) > > This did not fix the issue, but I believe I may be putting the file in > the wrong place or with the wrong permissions. > > When ./configure was ran, the --prefix option was set to /opt/plt. I > put the plt-prefs.ss file in /opt/plt/lib/plt/collects/defaults. See > below: > > # cat /opt/plt/lib/plt/collects/defaults/plt-prefs.ss > ( > (|MrEd:ScreenSystemBase| "mutt-clearlyu") > (|MrEd:ScreenDefaultBase| "mutt-clearlyu") > (|MrEd:ScreenModernBase| "misc-fixed") > ) > > Am I doing something wrong with regards to creating this file? That looks like the right place. But I forgot to suggest removing "~/.plt-scheme/plt-prefs.ss", since the "defaults" directory is used only when the user does not already have a preferences file. Matthew From d.j.gurnell at gmail.com Wed Mar 4 14:03:44 2009 From: d.j.gurnell at gmail.com (Dave Gurnell) Date: Thu Mar 26 02:43:35 2009 Subject: [plt-scheme] Error in untyped/mirrors.plt/1/8/csv/response.ss In-Reply-To: <98b8086f0903041037o5eb27de1i807f8827eba33759@mail.gmail.com> References: <98b8086f0902251357q7f332dc8tbb27d94b5ff441c5@mail.gmail.com> <4FBE09F4-0819-4812-A478-0520A4D56BED@gmail.com> <98b8086f0903041037o5eb27de1i807f8827eba33759@mail.gmail.com> Message-ID: <15C18C81-E682-426F-8251-C1922B939520@gmail.com> Hang on, I'm lost... does 2.0 not work with your version of PLT? Other than PLT compatibility there's no difference between 2.0 and 1.8. All you have to do is change your require statements and you're good to go. If it doesn't work I'll patch it for you. -- Dave > Thanks. It works with v4.1.4, so I guess I'll just have to use that. > > -- > troels From jalee at valdosta.edu Wed Mar 4 14:27:32 2009 From: jalee at valdosta.edu (Jarrett Lee) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <20090304191014.F197D6500BE@mail-svr1.cs.utah.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> <05D4C38D-DD7D-4E3A-991C-F8AAC954343B@valdosta.edu> <20090304191014.F197D6500BE@mail-svr1.cs.utah.edu> Message-ID: <0B185231-7687-4157-931A-2BF8937649E5@valdosta.edu> On Mar 4, 2009, at 14:10, Matthew Flatt wrote: > That looks like the right place. But I forgot to suggest removing > "~/.plt-scheme/plt-prefs.ss", since the "defaults" directory is used > only when the user does not already have a preferences file. > > Matthew I ended up having to put the file in the user's home directory. For some reason it creates ~/.plt-scheme/plt-prefs.ss even if the .plt- scheme directory does not exist and the file in the defaults directory does. Any suggestions? We have some 30,000 user home directories and putting this file in each home dir would be rather painful... From mflatt at cs.utah.edu Wed Mar 4 14:33:44 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] DrScheme on SunRay, no fonts In-Reply-To: <0B185231-7687-4157-931A-2BF8937649E5@valdosta.edu> References: <6502C814-328C-4AD4-A403-EB539267BE7A@valdosta.edu> <20090303185820.9E0266500EC@mail-svr1.cs.utah.edu> <3EE07152-455A-4120-9B53-280341EC613A@valdosta.edu> <20090303193328.68E1F6500C6@mail-svr1.cs.utah.edu> <16F9F617-F0BE-4F8C-96F7-BEAC0908778E@valdosta.edu> <20090304172043.D2B9F6500A3@mail-svr1.cs.utah.edu> <46649A08-4ADC-4DCD-A24C-B34C0474DFFF@valdosta.edu> <20090304174658.884AA6500A3@mail-svr1.cs.utah.edu> <7E975B63-454F-4EAE-B2E4-810D0F7E49DA@valdosta.edu> <20090304185326.C8D4E6500BA@mail-svr1.cs.utah.edu> <05D4C38D-DD7D-4E3A-991C-F8AAC954343B@valdosta.edu> <20090304191014.F197D6500BE@mail-svr1.cs.utah.edu> <0B185231-7687-4157-931A-2BF8937649E5@valdosta.edu> Message-ID: <20090304193345.F2CC16500BE@mail-svr1.cs.utah.edu> At Wed, 4 Mar 2009 14:27:32 -0500, Jarrett Lee wrote: > On Mar 4, 2009, at 14:10, Matthew Flatt wrote: > > That looks like the right place. But I forgot to suggest removing > > "~/.plt-scheme/plt-prefs.ss", since the "defaults" directory is used > > only when the user does not already have a preferences file. > > > > Matthew > > > > I ended up having to put the file in the user's home directory. For > some reason it creates ~/.plt-scheme/plt-prefs.ss even if the .plt- > scheme directory does not exist and the file in the defaults directory > does. DrScheme will create that directory and file, but it should start as a copy of the file in "defaults". But now it occurs to me that there are two layers, and the lower layer looks for "~/.plt-scheme/plt-prefs.ss" before the higher layer copies out of "defaults". So, that's not a good solution after all. Another possibility is to adjust the defaults that are built into the executable. You could do that by modifying the source file "plt/src/wxcommon/FontDirectory.cxx" before building. From jay.mccarthy at gmail.com Wed Mar 4 15:08:13 2009 From: jay.mccarthy at gmail.com (Jay McCarthy) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] Rotate pict Message-ID: Is there no way to rotate a pict? Searching 'rotate' doesn't find anything particularly helpful. Jay -- Jay McCarthy Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 From robby at eecs.northwestern.edu Wed Mar 4 15:12:26 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] Rotate pict In-Reply-To: References: Message-ID: <932b2f1f0903041212m764a182ar2536fb36e616d153@mail.gmail.com> No I don't think so. Depending on what you're doing, you can parameterize over an angle, but that can get tricky if you're doing complex stuff. Robby On Wed, Mar 4, 2009 at 2:08 PM, Jay McCarthy wrote: > Is there no way to rotate a pict? Searching 'rotate' doesn't find > anything particularly helpful. > > Jay > > -- > Jay McCarthy > Assistant Professor / Brigham Young University > http://teammccarthy.org/jay > > "The glory of God is Intelligence" - D&C 93 > _________________________________________________ > ?For list-related administrative tasks: > ?http://list.cs.brown.edu/mailman/listinfo/plt-scheme > From mflatt at cs.utah.edu Wed Mar 4 15:17:18 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] Rotate pict In-Reply-To: References: Message-ID: <20090304201718.57F596500BA@mail-svr1.cs.utah.edu> At Wed, 4 Mar 2009 13:08:13 -0700, Jay McCarthy wrote: > Is there no way to rotate a pict? No. If we manage to re-write MrEd, this will probably fall out easily, but rotation is difficult with (some of) the current drawing libraries. From robby at eecs.northwestern.edu Wed Mar 4 15:27:29 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:36 2009 Subject: [plt-scheme] Rotate pict In-Reply-To: References: <932b2f1f0903041212m764a182ar2536fb36e616d153@mail.gmail.com> Message-ID: <932b2f1f0903041227u4247ab7dma4affc7d9b204ccf@mail.gmail.com> Rotating an bitmap would be easier, yes, but will probably look bad and may require lots of resources (depending on what exactly you're doing). Robby On Wed, Mar 4, 2009 at 2:19 PM, Danny Yoo wrote: > > > On Mar 4, 2009, at 3:12 PM, Robby Findler > wrote: > >> No I don't think so. Depending on what you're doing, you can >> parameterize over an angle, but that can get tricky if you're doing >> complex stuff. >> > > http://git.hashcollision.org/projects/plt-misc/image-rotate/ > > may help. >>> >>> >>> >>> > From troelskn at gmail.com Wed Mar 4 16:01:20 2009 From: troelskn at gmail.com (troels knak-nielsen) Date: Thu Mar 26 02:43:37 2009 Subject: [plt-scheme] Error in untyped/mirrors.plt/1/8/csv/response.ss In-Reply-To: <15C18C81-E682-426F-8251-C1922B939520@gmail.com> References: <98b8086f0902251357q7f332dc8tbb27d94b5ff441c5@mail.gmail.com> <4FBE09F4-0819-4812-A478-0520A4D56BED@gmail.com> <98b8086f0903041037o5eb27de1i807f8827eba33759@mail.gmail.com> <15C18C81-E682-426F-8251-C1922B939520@gmail.com> Message-ID: <98b8086f0903041301r6f89c373q557c8e6475b2d670@mail.gmail.com> On Wed, Mar 4, 2009 at 8:03 PM, Dave Gurnell wrote: > Hang on, I'm lost... does 2.0 not work with your version of PLT? > > Other than PLT compatibility there's no difference between 2.0 and 1.8. > All you have to do is change your require statements and you're good to go. > > If it doesn't work I'll patch it for you. Honestly, I didn't try that. I was trying to get leftparen to work and mirrors + dispatch are just dependencies. -- troels From antirealist at gmail.com Wed Mar 4 11:28:53 2009 From: antirealist at gmail.com (antirealist) Date: Thu Mar 26 02:43:37 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> <5nisq41op0rf5kqaqpk17jscah7c7us346-e09XROE/p8c@public.gmane.org> <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> Message-ID: <4cb300d1-8797-47da-b500-a105c872cebc@u1g2000vbb.googlegroups.com> It doesn't work for me. Mzscheme doesn't complain, but doesn't load plai either. In fact, I can put anything after the -i flag and get no complaints. If I enter "#lang plai" at the mzscheme REPL, I get standard-module-name-resolver: collection not found: # followed by various paths, one of which actually does include plai/ lang on my machine. Any other ideas? From danny.yoo at gmail.com Wed Mar 4 15:19:54 2009 From: danny.yoo at gmail.com (Danny Yoo) Date: Thu Mar 26 02:43:37 2009 Subject: [plt-scheme] Rotate pict In-Reply-To: <932b2f1f0903041212m764a182ar2536fb36e616d153@mail.gmail.com> References: <932b2f1f0903041212m764a182ar2536fb36e616d153@mail.gmail.com> Message-ID: On Mar 4, 2009, at 3:12 PM, Robby Findler wrote: > No I don't think so. Depending on what you're doing, you can > parameterize over an angle, but that can get tricky if you're doing > complex stuff. > http://git.hashcollision.org/projects/plt-misc/image-rotate/ may help. >> >> >> >> From marc.chamly at gmail.com Wed Mar 4 20:50:18 2009 From: marc.chamly at gmail.com (CHAMLY) Date: Thu Mar 26 02:43:37 2009 Subject: [plt-scheme] Programing problems (without attachments) Message-ID: <18863.12250.844928.760299@winooski.ccs.neu.edu> --Apple-Mail-2-69059469 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Hi, I am a french IT student, and I have been working on scheme since september. I am working on a project with Two other colleagues. Our projects is to remake a game called Copter , but our way, adding a few things to give it a bit action. (--> http://www.albinoblacksheep.com/flash/copter) . Therefor , we have two main problems, that we would like some help in. First of all, we created a new canvas using (define canvas (new canvas% (parent FRAME) ... etc And we would like to add the Copter image to it. Should we use bitmap% ? Thank you. Second of all, In our program the Copter just goes Up and Down, and The canvas moves with a random level advance. To creat Our level, we call (niveau dc) our level editor, in our canvas. CANVAS : (define canvas (new canvas% (parent FRAME) (style '(hscroll)) (paint-callback (lambda (obj dc) (niveau dc)) ))) Our level editor is : (define (niveau dc) (let ((a 0) (b 1) (crayon (make-object pen% "BLACK" 1 'solid)) ( x (X 10)) (y (Y 10))) (For i from 1 to 4 (send dc set-pen crayon) (send dc draw-line a (vector-ref y b) (+ a (vector-ref x b)) 0) (send dc draw-line (+ a (vector-ref x b)) 0 (+ a 300) (vector-ref y (+ b 1))) (send dc draw-line a (- 300 (vector-ref y b)) (+ a (vector- ref x b)) 300) (send dc draw-line (+ a (vector-ref x b)) 300 (+ a 300) (- 300 (vector-ref y (+ b 1)))) (set! a (+ 300 a)) (set! b (+ 1 b)) ))) In order to move our canvas, we use: (define c 0) (define (move-niveau) (if (= c 1) (set! c 0) (begin (send canvas init-auto-scrollbars 2000 #f c 0) (set! c (+ c 0.001)) (send canvas show-scrollbars #f #f) (send canvas refresh)))) But each time we call the Timer, our 'for' loop keeps, recreating the lines of our level, (define TIMER (new timer% (notify-callback move-niveau))) How can we make the canvas advance with-out touching our 'for' Loop in (niveau dc)? Thank you for your time, and sorry for any possible english mistakes. Sincerely. --Apple-Mail-2-69059469 Content-Type: text/html; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, 

I = am a french IT student, and I have been working on scheme since = september. I am working on a project with Two other colleagues. Our = projects is to remake a game called Copter , but our way, adding a few = things to give it a bit action. (--> http://www.albinobl= acksheep.com/flash/copter).

Therefor , = we have two main problems, that we would like some help in. First of = all, we created a new canvas using
(define canvas (new canvas% = (parent FRAME) ... etc  And we would like to add the = Copter image to it. Should we use 
bitmap% ? Thank = you.
Second of all, In our program  the Copter = just goes Up and Down, and The canvas moves with a random level = advance.

To creat Our level, we call (niveau = dc) our level editor, in our canvas.

CANVAS = :
(define canvas (new canvas% (parent = FRAME) 
               =      
               =      (style '(hscroll)) 
       =              
       =              
       =              (paint-callback (lambda = (obj dc) 
               =                     =    (niveau dc))
       =                     =         =  )))

Our level editor is = :

(define (niveau dc)
  (let ((a = 0)
        (b = 1)
     =   
        (crayon (make-object = pen% "BLACK" 1 'solid))
        ( x (X 10))   =   
        (y (Y 10))) =   

    (For i from 1 to = 4 
       =  
           (send dc = set-pen crayon) 
           (send dc = draw-line a (vector-ref y b) (+ a (vector-ref x b)) = 0)
           (send dc = draw-line (+ a (vector-ref x b)) 0 (+ a 300) (vector-ref y (+ b = 1)))
           (send dc = draw-line a (- 300 (vector-ref y b)) (+ a (vector-ref x b)) = 300)
           (send dc = draw-line (+ a (vector-ref x b)) 300 (+ a 300) (- 300 (vector-ref y (+ b = 1))))
           (set! a (+ = 300 a))
           (set! b (+ 1 = b))
         =  )))


In order to move our = canvas, we use:

(define c = 0)
(define (move-niveau)
  
  
  (if (=3D c = 1)
      (set! c = 0)
      (begin (send canvas = init-auto-scrollbars  2000 #f  c = 0) 
             (set! = c (+ c 0.001))
             (send = canvas show-scrollbars #f #f)
       =       
       =       (send canvas refresh))))

But each time we = call the Timer, our 'for' loop keeps, recreating the lines of our = level, 

(define TIMER (new timer% (notify-callback = move-niveau)))

How can we make the = canvas advance with-out touching our 'for' Loop in (niveau = dc)?

Thank you for your time, and sorry for any = possible english = mistakes. 

Sincerely.
= = --Apple-Mail-2-69059469-- From arjun.guha at gmail.com Wed Mar 4 22:38:52 2009 From: arjun.guha at gmail.com (Arjun Guha) Date: Thu Mar 26 02:43:37 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: <4cb300d1-8797-47da-b500-a105c872cebc@u1g2000vbb.googlegroups.com> References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> <5nisq41op0rf5kqaqpk17jscah7c7us346-e09XROE/p8c@public.gmane.org> <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> <4cb300d1-8797-47da-b500-a105c872cebc@u1g2000vbb.googlegroups.com> Message-ID: > It doesn't work for me. Mzscheme doesn't complain, but doesn't load > plai either. In fact, I can put anything after the -i flag and get no > complaints. This should work: $ mzscheme -i -l plai Welcome to MzScheme v4.1.3 [3m], Copyright (c) 2004-2008 PLT Scheme Inc. > (define-type Foo [foo (n number?)]) > Let me know if it does not work. I'll fix it if necessary. > If I enter "#lang plai" at the mzscheme REPL, I get I get an error too, but not what you report. My mzscheme REPL appears to loop forever when I do "#lang anything", not just for PLAI. $ ./mzscheme Welcome to MzScheme v4.1.4 [3m], Copyright (c) 2004-2009 PLT Scheme Inc. > #lang typed-scheme (two minutes later, nothing) This may be a bug / unintended use case. However, "mzscheme -i -l plai" should work fine. Arjun From rcleis at mac.com Wed Mar 4 22:49:33 2009 From: rcleis at mac.com (Richard Cleis) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] Rotate pict In-Reply-To: References: Message-ID: <3C774E95-CA11-44E1-9131-EC60C867FEE5@mac.com> Are you rotating for display only? Or are you rotating to end up with rotated data? rac On Mar 4, 2009, at 1:08 PM, Jay McCarthy wrote: > Is there no way to rotate a pict? Searching 'rotate' doesn't find > anything particularly helpful. > > Jay > > -- > Jay McCarthy > Assistant Professor / Brigham Young University > http://teammccarthy.org/jay > > "The glory of God is Intelligence" - D&C 93 > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme From eli at barzilay.org Wed Mar 4 22:58:40 2009 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> <5nisq41op0rf5kqaqpk17jscah7c7us346-e09XROE/p8c@public.gmane.org> <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> <4cb300d1-8797-47da-b500-a105c872cebc@u1g2000vbb.googlegroups.com> Message-ID: <18863.19952.547075.869611@winooski.ccs.neu.edu> On Mar 4, Arjun Guha wrote: > $ ./mzscheme > Welcome to MzScheme v4.1.4 [3m], Copyright (c) 2004-2009 PLT Scheme Inc. > > #lang typed-scheme > > (two minutes later, nothing) > > This may be a bug / unintended use case. However, "mzscheme -i -l > plai" should work fine. `#lang' starts the reader for the specified language, which will read a *whole* file and return a module expression. When you use it on the repl it will sit and do nothing because the reader is waiting to see the end of the file. For example, from a unix repl, you can enter: > #lang scheme 1 2 3 <<>> > After that you can (require 'page) to require that module. (`page' is the default name for #lang-read modules that don't come from a file.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From dtp at mindstory.com Thu Mar 5 00:00:32 2009 From: dtp at mindstory.com (David T. Pierson) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] macros utilizing syntax parameters Message-ID: <1236229110.6850%dtp@mindstory.com> Hi all, I created some macros which utilize a syntax parameter. I thought it might be useful as an example for others. I would also like criticism if there is a better way to do what I wanted. (I'm guessing there is.) I wanted to create some macros to basically transform this: (workspace office (define-work developer (void))) (define-work hobo (void)) into: (define office (cons 'workspace 'office)) (define developer (list 'developer office (lambda () (void)))) (define hobo (list 'hobo '(workspace . the-world) (lambda () (void)))) This is what I came up with: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #lang scheme (require scheme/stxparam) (require scheme/splicing) (define-syntax-parameter enclosing-workspace ''(workspace . the-world)) (define-syntax define-work (lambda (stx) (syntax-case stx () ((define-work name body0 body1 ...) (let ((ws-syntax (syntax-parameter-value (quote-syntax enclosing-workspace)))) (quasisyntax (define name (list (quote name) #,ws-syntax (lambda () body0 body1 ...))))))))) (define-syntax workspace (lambda (stx) (syntax-case stx () ((_ name body0 body1 ...) (syntax (splicing-syntax-parameterize ((enclosing-workspace (syntax name))) (define name (cons 'workspace (quote name))) body0 body1 ... )))))) (workspace office (define-work developer (void))) (define-work hobo (void)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Thanks for any tips. David From danprager at optusnet.com.au Thu Mar 5 00:17:22 2009 From: danprager at optusnet.com.au (danprager@optusnet.com.au) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] CS Video lectures Message-ID: <200903050517.n255HMg4026367@mail01.syd.optusnet.com.au> Seems relevant to TeachScheme!: http://www.theage.com.au/news/home/technology/youtube-his-classroom/2009/03/04/1235842462189.html Perhaps video-ing lectures vs. producing polished video materials is another area where "worse is better". -- Dan From eli at barzilay.org Thu Mar 5 00:38:59 2009 From: eli at barzilay.org (Eli Barzilay) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] macros utilizing syntax parameters In-Reply-To: <1236229110.6850%dtp@mindstory.com> References: <1236229110.6850%dtp@mindstory.com> Message-ID: <18863.25971.693693.822905@winooski.ccs.neu.edu> On Mar 5, David T. Pierson wrote: > Hi all, > > I created some macros which utilize a syntax parameter. I thought it > might be useful as an example for others. I would also like criticism > if there is a better way to do what I wanted. (I'm guessing there is.) You don't need to use `syntax-parameter-value' if you bind the syntax parameter to a transformer. Something like: (define-syntax-parameter enclosing-workspace (lambda (stx) (syntax-case stx () [(_ . xs) #'('(workspace . the-world) . xs)] [_ (identifier? stx) #''(workspace . the-world)]))) (define-syntax (define-work stx) use it simply as #'(blah enclosing-workspace blah) ) (define-syntax (workspace stx) set it with (splicing-syntax-parameterize ([enclosing-workspace (make-rename-transformer #'name)]) blah ... ) ) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From tom at zwizwa.be Thu Mar 5 02:36:10 2009 From: tom at zwizwa.be (Tom Schouten) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] parsing/prettyprinting C Message-ID: <20090305073610.GB2840@giebrok.zwizwa.be> Hello list, Does anyone here have a recommendation for a parser/prettyprinter for reading/writing C code that can be integrated with PLT Scheme? Something in the style of these: http://docs.camlcity.org/docs/godipkg/3.10//godi-frontc http://www.sivity.net/projects/language.c Cheers, Tom From d.j.gurnell at gmail.com Thu Mar 5 03:16:51 2009 From: d.j.gurnell at gmail.com (Dave Gurnell) Date: Thu Mar 26 02:43:38 2009 Subject: [plt-scheme] Error in untyped/mirrors.plt/1/8/csv/response.ss In-Reply-To: <98b8086f0903041301r6f89c373q557c8e6475b2d670@mail.gmail.com> References: <98b8086f0902251357q7f332dc8tbb27d94b5ff441c5@mail.gmail.com> <4FBE09F4-0819-4812-A478-0520A4D56BED@gmail.com> <98b8086f0903041037o5eb27de1i807f8827eba33759@mail.gmail.com> <15C18C81-E682-426F-8251-C1922B939520@gmail.com> <98b8086f0903041301r6f89c373q557c8e6475b2d670@mail.gmail.com> Message-ID: <7051C132-88CA-4F73-9423-0D35B8814DAC@gmail.com> >> >> > Honestly, I didn't try that. I was trying to get leftparen to work and > mirrors + dispatch are just dependencies. Ah I see. No worries then. Nudge Rob ;-) -- Dave From noelwelsh at gmail.com Thu Mar 5 04:24:23 2009 From: noelwelsh at gmail.com (Noel Welsh) Date: Thu Mar 26 02:43:39 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: <20090305073610.GB2840@giebrok.zwizwa.be> References: <20090305073610.GB2840@giebrok.zwizwa.be> Message-ID: On Thu, Mar 5, 2009 at 7:36 AM, Tom Schouten wrote: > Does anyone here have a recommendation for a parser/prettyprinter > for reading/writing C code that can be integrated with PLT Scheme? http://planet.plt-scheme.org/package-source/dherman/c.plt/1/0/planet-docs/c/syntax.html N From Stefan.Ballnat at fokus.fraunhofer.de Thu Mar 5 04:57:30 2009 From: Stefan.Ballnat at fokus.fraunhofer.de (Ballnat, Stefan) Date: Thu Mar 26 02:43:39 2009 Subject: [plt-scheme] Question on profiling In-Reply-To: References: <20090305073610.GB2840@giebrok.zwizwa.be> Message-ID: Hi, I was just profiling my code in DrScheme because of some performance problems. I read the documentation about "Using errortrace" but still have a problem. I have a simple function like: (define (slow-func x y) (let* ((a (foo1 x)) (b (foo2 y))) (foo3 a b))) With some function definitions: (define (foo1 x) ... ) (define (foo2 y) ... ) (define (foo3 a b) ... ) Now the output of the profile is (about): slow-func - 6000ms - 1 call foo1 - 0ms - 1 call foo2 - 0ms - 1 call foo3 - 0ms - 1 call Now, I wonder how I should interpret these results? How can "slow-func" run so slow when the rest runs so fast? I was assuming "foo1" in my program to be the bottleneck, but the profile results showed something else. Is this behavior a result of the let*-expression and would it be of help, if I define "a" and "b" in some separate functions or writing "(foo3 (foo1 x) (foo2 y))" instead? Thanks in advance, - Stefan From tom at zwizwa.be Thu Mar 5 05:38:03 2009 From: tom at zwizwa.be (Tom Schouten) Date: Thu Mar 26 02:43:39 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: References: <20090305073610.GB2840@giebrok.zwizwa.be> Message-ID: <20090305103803.GB7443@giebrok.zwizwa.be> On Thu, Mar 05, 2009 at 09:24:23AM +0000, Noel Welsh wrote: > On Thu, Mar 5, 2009 at 7:36 AM, Tom Schouten wrote: > > > Does anyone here have a recommendation for a parser/prettyprinter > > for reading/writing C code that can be integrated with PLT Scheme? > > http://planet.plt-scheme.org/package-source/dherman/c.plt/1/0/planet-docs/c/syntax.html > wow! From ziboon at gmail.com Thu Mar 5 05:38:01 2009 From: ziboon at gmail.com (Ziboon) Date: Thu Mar 26 02:43:40 2009 Subject: [plt-scheme] A question about PLT Graphics Toolkit Message-ID: <45bb82cc0903050238y5d4df45cg94982b0fff50dcd3@mail.gmail.com> hi allI am beginning in scheme language: I don't understant this: * ;------------------------------------------------------------------------------------ #lang scheme/gui (define f (new frame% (label "test") )) (define c (new canvas% (parent f) (min-width 200) (paint-callback (? (canvas dc) (send dc clear))))) (define dc (send c get-dc)) (send dc set-background (make-object color% "red")) (send dc draw-rectangle 0 0 50 50) (send f show #t )* ;--------------------------------------------------------------------------------------- Why set-background work : I see my canvas red; but draw-rectangle doesn't work there are no rectangle in my canvas. I try to delete set-background line but I don't see my rectangle. so I know if I put *(send dc draw-rectangle 0 0 50 50) *in paint-callback it will work . But i want draw a rectangle not directly in my canvas class. Thanks. ** -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090305/287575bb/attachment.htm From arjun.guha at gmail.com Thu Mar 5 06:04:34 2009 From: arjun.guha at gmail.com (Arjun Guha) Date: Thu Mar 26 02:43:40 2009 Subject: [plt-scheme] Re: how to specify the language "PLAI Scheme" in PLT Scheme in Emacs In-Reply-To: <18863.19952.547075.869611@winooski.ccs.neu.edu> References: <5nisq41op0rf5kqaqpk17jscah7c7us346@4ax.com> <5nisq41op0rf5kqaqpk17jscah7c7us346-e09XROE/p8c@public.gmane.org> <2pssq4dph6veqdcecaqkd4euubjahd3828@4ax.com> <4cb300d1-8797-47da-b500-a105c872cebc@u1g2000vbb.googlegroups.com> <18863.19952.547075.869611@winooski.ccs.neu.edu> Message-ID: Ack, my bad. I'll look into the plai problem further. Arjun On Wed, Mar 4, 2009 at 22:58, Eli Barzilay wrote: > On Mar ?4, Arjun Guha wrote: >> $ ./mzscheme >> Welcome to MzScheme v4.1.4 [3m], Copyright (c) 2004-2009 PLT Scheme Inc. >> > #lang typed-scheme >> >> (two minutes later, nothing) >> >> This may be a bug / unintended use case. ?However, "mzscheme -i -l >> plai" should work fine. > > `#lang' starts the reader for the specified language, which will read > a *whole* file and return a module expression. ?When you use it on the > repl it will sit and do nothing because the reader is waiting to see > the end of the file. ?For example, from a unix repl, you can enter: > > ?> #lang scheme > ?1 > ?2 > ?3 > ?<<>> > ?> > > After that you can (require 'page) to require that module. ?(`page' is > the default name for #lang-read modules that don't come from a file.) > > -- > ? ? ? ? ?((lambda (x) (x x)) (lambda (x) (x x))) ? ? ? ? ?Eli Barzilay: > ? ? ? ? ? ? ? ? ?http://www.barzilay.org/ ? ? ? ? ? ? ? ? Maze is Life! > From mflatt at cs.utah.edu Thu Mar 5 07:40:33 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:40 2009 Subject: [plt-scheme] A question about PLT Graphics Toolkit In-Reply-To: <45bb82cc0903050238y5d4df45cg94982b0fff50dcd3@mail.gmail.com> References: <45bb82cc0903050238y5d4df45cg94982b0fff50dcd3@mail.gmail.com> Message-ID: <20090305124035.B4CAA65009C@mail-svr1.cs.utah.edu> At Thu, 5 Mar 2009 11:38:01 +0100, Ziboon wrote: > #lang scheme/gui > (define f (new frame% > (label "test") )) > > > (define c (new canvas% > (parent f) > (min-width 200) > (paint-callback (? (canvas dc) > (send dc clear))))) > > > (define dc (send c get-dc)) > > (send dc set-background (make-object color% "red")) > > (send dc draw-rectangle 0 0 50 50) > > (send f show #t )* > > ;-------------------------------------------------- > ------------------------------------- > > Why set-background work : I see my canvas red; but draw-rectangle doesn't > work there are no rectangle in my canvas. > > I try to delete set-background line but I don't see my rectangle. > > so I know if I put *(send dc draw-rectangle 0 0 50 50) *in > paint-callback it will work . > > But i want draw a rectangle not directly in my canvas class. Images drawn onto a canvas are not persistent. When the canvas is hidden or shown by the windowing system, then the canvas is re-painted by calling its paint callback. Your paint callback always clears the canvas. If you move the `draw-rectangle' call into the paint callback after the clear, then you'll see a rectangle. Here's a revised version of your program: ---------------------------------------- #lang scheme/gui (define f (new frame% (label "test"))) (define c (new canvas% (parent f) (min-width 200) (paint-callback (? (canvas dc) (send dc set-background (make-object color% "red")) (send dc clear) (send dc draw-rectangle 0 0 50 50))))) (send f show #t ) ---------------------------------------- From mflatt at cs.utah.edu Thu Mar 5 07:47:08 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:40 2009 Subject: [plt-scheme] Programing problems (without attachments) In-Reply-To: <18863.12250.844928.760299@winooski.ccs.neu.edu> References: <18863.12250.844928.760299@winooski.ccs.neu.edu> Message-ID: <20090305124710.8E50E6500A9@mail-svr1.cs.utah.edu> At Wed, 4 Mar 2009 20:50:18 -0500, CHAMLY wrote: > In order to move our canvas, we use: > > (define c 0) > (define (move-niveau) > > > (if (= c 1) > (set! c 0) > (begin (send canvas init-auto-scrollbars 2000 #f c 0) > (set! c (+ c 0.001)) > (send canvas show-scrollbars #f #f) > > (send canvas refresh)))) > > But each time we call the Timer, our 'for' loop keeps, recreating the > lines of our level, > > (define TIMER (new timer% (notify-callback move-niveau))) > > How can we make the canvas advance with-out touching our 'for' Loop in > (niveau dc)? I'm not sure that I understand your goal, but I think that instead of trying to use scrollbars, you should instead try setting the "origin" of the drawing context. That is, call (send dc set-origin (+ c) 0) where your timer increments `c' each time. That way, anything you draw in `niveau' will move to the right on each refresh. From tom at zwizwa.be Thu Mar 5 08:04:17 2009 From: tom at zwizwa.be (Tom Schouten) Date: Thu Mar 26 02:43:40 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: References: <20090305073610.GB2840@giebrok.zwizwa.be> Message-ID: <20090305130417.GA9012@giebrok.zwizwa.be> On Thu, Mar 05, 2009 at 09:24:23AM +0000, Noel Welsh wrote: > On Thu, Mar 5, 2009 at 7:36 AM, Tom Schouten wrote: > > > Does anyone here have a recommendation for a parser/prettyprinter > > for reading/writing C code that can be integrated with PLT Scheme? > > http://planet.plt-scheme.org/package-source/dherman/c.plt/1/0/planet-docs/c/syntax.html > Dave, Are there any plans to add function definitions? I see it uses yacc. The 2nd edition K&R has a grammar acceptable by yacc in appendix A, section A13. Are there any difficulties to making this a complete parser other than "just typing it in" ? From mflatt at cs.utah.edu Thu Mar 5 08:22:10 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:41 2009 Subject: [plt-scheme] Question on profiling In-Reply-To: References: <20090305073610.GB2840@giebrok.zwizwa.be> Message-ID: <20090305132212.9B2336500B9@mail-svr1.cs.utah.edu> At Thu, 5 Mar 2009 10:57:30 +0100, "Ballnat, Stefan" wrote: > I was just profiling my code in DrScheme because of some performance > problems. I read the documentation about "Using errortrace" but still > have a problem. > > I have a simple function like: > > (define (slow-func x y) > (let* ((a (foo1 x)) > (b (foo2 y))) > (foo3 a b))) > > With some function definitions: > > (define (foo1 x) ... ) > (define (foo2 y) ... ) > (define (foo3 a b) ... ) > > Now the output of the profile is (about): > > slow-func - 6000ms - 1 call > foo1 - 0ms - 1 call > foo2 - 0ms - 1 call > foo3 - 0ms - 1 call > > Now, I wonder how I should interpret these results? How can "slow-func" > run so slow when the rest runs so fast? This may be because the time attributed to a function does not include tail calls from the function, and maybe your program is spending all its time in library functions that are tail-called. For example, profiling #lang scheme (define (all i) (if (zero? i) 'done (begin (compute i) (all (sub1 i))))) (define (compute i) (build-list i add1)) (all 10000) shows that all the time is in `all', but almost no time is in `compute'. Most of use would be inclined to say that all the time in this program is in `compute' during the call to `build-list'. From the profiler's perspective, however, the call to `build-list' is not inside `compute', since it's a tail call. > Is this behavior a result of the let*-expression and would it be > of help, if I define "a" and "b" in some separate functions or writing > "(foo3 (foo1 x) (foo2 y))" instead? No, those kinds of transformations won't change the result. Changing `foo1', `foo2', and `foo3' so that tail calls are non-tail (perhaps by wrapping tail calls with `(values ...)') could change the result. From noelwelsh at gmail.com Thu Mar 5 08:24:15 2009 From: noelwelsh at gmail.com (Noel Welsh) Date: Thu Mar 26 02:43:41 2009 Subject: [plt-scheme] "procedure ..." in mzscheme error messages In-Reply-To: <49A1A1D7.9010407@neilvandyke.org> References: <49A1A1D7.9010407@neilvandyke.org> Message-ID: This might be down to the setting of error-print-width (which you can easily change). N. On Sun, Feb 22, 2009 at 7:04 PM, Neil Van Dyke wrote: > Occasionally, an "mzscheme" error messages looks something like this: > > procedure ...s/funcelit-scrbl:18:9: expects 1 argument, given 3: # > # # > > Any chance the error message could be changed to not elide the path to the > source file? > > Thanks, > Neil From Stefan.Ballnat at fokus.fraunhofer.de Thu Mar 5 08:54:00 2009 From: Stefan.Ballnat at fokus.fraunhofer.de (Ballnat, Stefan) Date: Thu Mar 26 02:43:41 2009 Subject: AW: [plt-scheme] Question on profiling In-Reply-To: <20090305132212.9B2336500B9@mail-svr1.cs.utah.edu> References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305132212.9B2336500B9@mail-svr1.cs.utah.edu> Message-ID: Thanks, that made it more clear. But is there a way of multiple library profiling? For example, to open the library where the tailed-call function is defined (analogue to multiple file debugging). Our project consists of about 30 self-written and a lot more imported libraries. And profiling every single library cannot be the solution (at least, I hope so). - Stefan -----Urspr?ngliche Nachricht----- Von: Matthew Flatt [mailto:mflatt@cs.utah.edu] Gesendet: Donnerstag, 5. M?rz 2009 14:22 An: Ballnat, Stefan Cc: plt-scheme@list.cs.brown.edu Betreff: Re: [plt-scheme] Question on profiling This may be because the time attributed to a function does not include tail calls from the function, and maybe your program is spending all its time in library functions that are tail-called. For example, profiling #lang scheme (define (all i) (if (zero? i) 'done (begin (compute i) (all (sub1 i))))) (define (compute i) (build-list i add1)) (all 10000) shows that all the time is in `all', but almost no time is in `compute'. Most of use would be inclined to say that all the time in this program is in `compute' during the call to `build-list'. From the profiler's perspective, however, the call to `build-list' is not inside `compute', since it's a tail call. From mflatt at cs.utah.edu Thu Mar 5 09:01:27 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:41 2009 Subject: AW: [plt-scheme] Question on profiling In-Reply-To: References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305132212.9B2336500B9@mail-svr1.cs.utah.edu> Message-ID: <20090305140129.6BB606500AA@mail-svr1.cs.utah.edu> The files that are profiled are the ones that do not have bytecode ".zo" files. So, if your main module `require's another module that doesn't have a ".zo" file, then the `require'd module is also profiled. Profiling usually stops at libraries, because they usually have bytecode files installed. At Thu, 5 Mar 2009 14:54:00 +0100, "Ballnat, Stefan" wrote: > Thanks, that made it more clear. > > But is there a way of multiple library profiling? For example, to open the > library where the tailed-call function is defined (analogue to multiple file > debugging). > Our project consists of about 30 self-written and a lot more imported > libraries. And profiling every single library cannot be the solution (at > least, I hope so). > > - Stefan > > -----Urspr?ngliche Nachricht----- > Von: Matthew Flatt [mailto:mflatt@cs.utah.edu] > Gesendet: Donnerstag, 5. M?rz 2009 14:22 > An: Ballnat, Stefan > Cc: plt-scheme@list.cs.brown.edu > Betreff: Re: [plt-scheme] Question on profiling > > > This may be because the time attributed to a function does not include > tail calls from the function, and maybe your program is spending all > its time in library functions that are tail-called. > > For example, profiling > > #lang scheme > > (define (all i) > (if (zero? i) > 'done > (begin > (compute i) > (all (sub1 i))))) > > (define (compute i) > (build-list i add1)) > > (all 10000) > > shows that all the time is in `all', but almost no time is in > `compute'. Most of use would be inclined to say that all the time in > this program is in `compute' during the call to `build-list'. From the > profiler's perspective, however, the call to `build-list' is not inside > `compute', since it's a tail call. From mflatt at cs.utah.edu Thu Mar 5 09:13:23 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:41 2009 Subject: [plt-scheme] "procedure ..." in mzscheme error messages In-Reply-To: References: <49A1A1D7.9010407@neilvandyke.org> Message-ID: <20090305141325.69E246500AA@mail-svr1.cs.utah.edu> I don't think the error-print width affects that. A location-based name is generated at compile time, and it uses some arbitrarily chosen width --- something like 30 characters. The 30-character cut-off often has the nice effect of keeping a machine-specific path out of bytecode, though it's a hack for that goal. To support backtraces, there's a more complete and portable path stored with procedures (which was added long after the procedure-name support). So, I could change the way that the procedure name is generated and build it on demand from the more complete path, instead of keeping just 30 characters of the original filename. But then this needs to be generalized to work with other forms, such as `class'... I'll put it on my list as something to clean up, but it probably won't happen soon. At Thu, 5 Mar 2009 13:24:15 +0000, Noel Welsh wrote: > This might be down to the setting of error-print-width (which you can > easily change). > > N. > > On Sun, Feb 22, 2009 at 7:04 PM, Neil Van Dyke wrote: > > Occasionally, an "mzscheme" error messages looks something like this: > > > > procedure ...s/funcelit-scrbl:18:9: expects 1 argument, given 3: # > > # # > > > > Any chance the error message could be changed to not elide the path to the > > source file? > > > > Thanks, > > Neil > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-scheme From jcoglan at googlemail.com Thu Mar 5 10:48:28 2009 From: jcoglan at googlemail.com (James Coglan) Date: Thu Mar 26 02:43:42 2009 Subject: [plt-scheme] Nested macros and (... ...) Message-ID: Hi all, I came across this nested macro expression, found at http://fabiokung.com/2007/10/24/ruby-dsl-to-describe-automata/ : (define-syntax automaton (syntax-rules (:) [(_ init-state [state : response ...] ...) (let-syntax ([process-state (syntax-rules (-> accept) [(_ accept) (lambda (stream) (cond [(null? stream) #t] [else #f]))] [(_ (label -> target) (... ...)) (lambda (stream) (cond [(null? stream) #f] [else (case (car stream) [(label) (target (cdr stream))] (... ...) [else #f])]))])]) (letrec ([state (process-state response ...)] ...) init-state))])) (define cdar-sequence? (automaton init [init : (c -> more)] [more : (a -> more) (d -> more) (r -> end)] [end : accept])) (cdar-sequence? '(c a d a d r)) ; => #t (cdar-sequence? '(a c a d r c)) ; => #f Am I right in thinking that (... ...) is a way of placing a literal ... in the expansion without it being treated as a repetition pattern by the first expansion? -- James Coglan http://github.com/jcoglan/heist -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090305/a00d21bc/attachment.html From pocmatos at gmail.com Thu Mar 5 10:53:53 2009 From: pocmatos at gmail.com (Paulo J. Matos) Date: Thu Mar 26 02:43:42 2009 Subject: [plt-scheme] Highlighting Scheme Code Message-ID: <11b141710903050753v3a207df3sa919aa5d85e5389d@mail.gmail.com> Hi all, I would like to have a function that highlights scheme code. I know about code from slideshow but that highlights the code and returns a pict. I need, once the code is highlighted, the color of each character. I think it is possible to do this given that drscheme itself has probably to do this somehow since it has to highlight the code and display the character on screen with the appropriate color, but how does it do? Cheers, -- Paulo Jorge Matos - pocmatos at gmail.com Webpage: http://www.personal.soton.ac.uk/pocm From dherman at ccs.neu.edu Thu Mar 5 10:56:31 2009 From: dherman at ccs.neu.edu (Dave Herman) Date: Thu Mar 26 02:43:42 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: <20090305130417.GA9012@giebrok.zwizwa.be> References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305130417.GA9012@giebrok.zwizwa.be> Message-ID: <49AFF62F.8080302@ccs.neu.edu> > Dave, > Are there any plans to add function definitions? > > I see it uses yacc. The 2nd edition K&R has a grammar acceptable by > yacc in appendix A, section A13. Are there any difficulties to > making this a complete parser other than "just typing it in" ? Heh, if you can just hang on for another day or two I'm about to release a much more fully-featured C parser. I've implemented the full C99 grammar, plus the standard extensions of allowing typedef names to be used as identifiers in unproblematic positions (e.g., as struct tags). I haven't released it yet but it's getting close. No pretty printer implemented, though that's generally easier than parsing. And you could use my generic pretty-printing library for that: http://planet.plt-scheme.org/display.ss?package=pprint.plt&owner=dherman I'll notify you when I update the c.plt package to version 2:0. RSN. Dave From mflatt at cs.utah.edu Thu Mar 5 10:58:31 2009 From: mflatt at cs.utah.edu (Matthew Flatt) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] Highlighting Scheme Code In-Reply-To: <11b141710903050753v3a207df3sa919aa5d85e5389d@mail.gmail.com> References: <11b141710903050753v3a207df3sa919aa5d85e5389d@mail.gmail.com> Message-ID: <20090305155831.A2B4B6500B7@mail-svr1.cs.utah.edu> At Thu, 5 Mar 2009 15:53:53 +0000, "Paulo J. Matos" wrote: > Hi all, > > I would like to have a function that highlights scheme code. I know > about code from slideshow but that highlights the code and returns a > pict. I need, once the code is highlighted, the color of each > character. > > I think it is possible to do this given that drscheme itself has > probably to do this somehow since it has to highlight the code and > display the character on screen with the appropriate color, but how > does it do? Re-using DrScheme's syntax colorer is probably the right idea. The library is `syntax-color/scheme-lexer'. Aside from the documentation, you might look at the library's test suite to get ideas on using it: http://svn.plt-scheme.org/plt/trunk/collects/tests/syntax-color/scheme-lexer.ss From pocmatos at gmail.com Thu Mar 5 10:59:50 2009 From: pocmatos at gmail.com (Paulo J. Matos) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] Highlighting Scheme Code In-Reply-To: <20090305155831.A2B4B6500B7@mail-svr1.cs.utah.edu> References: <11b141710903050753v3a207df3sa919aa5d85e5389d@mail.gmail.com> <20090305155831.A2B4B6500B7@mail-svr1.cs.utah.edu> Message-ID: <11b141710903050759i7f570334j6bc0b0650ce78f37@mail.gmail.com> On Thu, Mar 5, 2009 at 3:58 PM, Matthew Flatt wrote: > > Re-using DrScheme's syntax colorer is probably the right idea. The > library is `syntax-color/scheme-lexer'. > > Aside from the documentation, you might look at the library's test > suite to get ideas on using it: > > ?http://svn.plt-scheme.org/plt/trunk/collects/tests/syntax-color/scheme-lexer.ss > > Great, thanks for the references. -- Paulo Jorge Matos - pocmatos at gmail.com Webpage: http://www.personal.soton.ac.uk/pocm From dherman at ccs.neu.edu Thu Mar 5 11:02:42 2009 From: dherman at ccs.neu.edu (Dave Herman) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: <49AFF62F.8080302@ccs.neu.edu> References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305130417.GA9012@giebrok.zwizwa.be> <49AFF62F.8080302@ccs.neu.edu> Message-ID: <49AFF7A2.4030003@ccs.neu.edu> >> I see it uses yacc. The 2nd edition K&R has a grammar acceptable by >> yacc in appendix A, section A13. Are there any difficulties to >> making this a complete parser other than "just typing it in" ? P.S. To answer your question more directly: *yes*. Parsing C is extremely tricky, especially using a parser generator. Long story short: the parser has to maintain an environment and feed the information to the lexer, and the lexer has to make sure it doesn't look ahead to far before the environment has been appropriately updated. It's one of history's glorious botches (a remarkable proportion of which seems to belong to C). Of course, C++ would be orders of magnitude harder... Dave From czhu at cs.utah.edu Thu Mar 5 11:07:36 2009 From: czhu at cs.utah.edu (Chongkai Zhu) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] Nested macros and (... ...) In-Reply-To: References: Message-ID: <49AFF8C8.9060000@cs.utah.edu> James Coglan wrote: > > Am I right in thinking that (... ...) is a way of placing a literal > ... in the expansion without it being treated as a repetition pattern > by the first expansion? > Yep. From robby at eecs.northwestern.edu Thu Mar 5 11:09:07 2009 From: robby at eecs.northwestern.edu (Robby Findler) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: <49AFF7A2.4030003@ccs.neu.edu> References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305130417.GA9012@giebrok.zwizwa.be> <49AFF62F.8080302@ccs.neu.edu> <49AFF7A2.4030003@ccs.neu.edu> Message-ID: <932b2f1f0903050809r3def373fuc1209a027ace6d70@mail.gmail.com> On Thu, Mar 5, 2009 at 10:02 AM, Dave Herman wrote: >>> I see it uses yacc. ?The 2nd edition K&R has a grammar acceptable by >>> yacc in appendix A, section A13. ?Are there any difficulties to >>> making this a complete parser other than "just typing it in" ? > > P.S. To answer your question more directly: *yes*. Parsing C is extremely > tricky, especially using a parser generator. Long story short: the parser > has to maintain an environment and feed the information to the lexer, and > the lexer has to make sure it doesn't look ahead to far before the > environment has been appropriately updated. It's one of history's glorious > botches (a remarkable proportion of which seems to belong to C). Of course, > C++ would be orders of magnitude harder... FWIW, if you really need to get serious about parsing C++, I think you want SWIG. Robby From hendrik at topoi.pooq.com Thu Mar 5 10:10:30 2009 From: hendrik at topoi.pooq.com (hendrik@topoi.pooq.com) Date: Thu Mar 26 02:43:43 2009 Subject: [plt-scheme] parsing/prettyprinting C In-Reply-To: <49AFF7A2.4030003@ccs.neu.edu> References: <20090305073610.GB2840@giebrok.zwizwa.be> <20090305130417.GA9012@giebrok.zwizwa.be> <49AFF62F.8080302@ccs.neu.edu> <49AFF7A2.4030003@ccs.neu.edu> Message-ID: <20090305151030.GB32660@topoi.pooq.com> On Thu, Mar 05, 2009 at 11:02:42AM -0500, Dave Herman wrote: > > Of course, C++ would be orders of magnitude harder... Been there. Done that. It is. -- hendrik From jcoglan at googlemail.com Thu Mar 5 11:13:30 2009 From: jcoglan at googlemail.com (James Coglan) Date: Thu Mar 26 02:43:44 2009 Subject: [plt-scheme] Nested macros and (... ...) In-Reply-To: <49AFF8C8.9060000@cs.utah.edu> References: <49AFF8C8.9060000@cs.utah.edu> Message-ID: 2009/3/5 Chongkai Zhu > James Coglan wrote: > >> >> Am I right in thinking that (... ...) is a way of placing a literal ... in >> the expansion without it being treated as a repetition pattern by the first >> expansion? >> >> > Yep. Cool, thanks. Is this peculiar to PLT, or is it more widely used? Also (and I realise this may be contrived), if you were to nest macros three or more levels deep, how would you escape the '...' at each level of nesting? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://list.cs.brown.edu/pipermail/plt-scheme/attachments/20090305/7eef01f3/attachment.htm From michael at schuerig.de Thu Mar 5 11:35:59 2009 From: michael at schuerig.de (Michael Schuerig) Date: Thu Mar 26 02:43:44 2009 Subject: [plt-scheme] Install error: access from an uncertified context... Message-ID: <200903051735.59842.michael@schuerig.de> Installing PLT Scheme (i.e. make install) fails with the error message appended below when there are planet packages installed already. I've tried this with the current release, 4.1.4, and SVN trunk, the effect is the same in both cases. Specifically, I've first removed any existing ~/.plt-scheme/planet directory, then installed PLT Scheme successfully, installed a few planet packages (see further below), then run make install a second time. I don't understand how things work nearly well enough, to diagnose the cause of this problem. The only workaround I've found is to remove the planet cache an reinstall packages again after installing PLT Scheme. make install is a somewhat time-consuming operation. AFAICT, make is only used to trigger some scheme code that ploughs ahead "blindly". Would it be possible for this code to take dependencies into account and only rebuild things that need it? Michael setup-plt: error: during making for /mflatt/scribble-paper.plt/2/0 setup-plt: standard-module-name-resolver: collection not found: # in any of: (# #) setup-plt: error: during Building docs for /home/michael/.plt-scheme/planet/300/4.1.4/cache/mflatt/scribble-paper.plt/2/0/scribble.scrbl setup-plt: standard-module-name-resolver: collection not found: # in any of: (# #) setup-plt: error: during Building docs for /home/michael/.plt-scheme/planet/300/4.1.4/cache/cce/scheme.plt/1/3/manual.scrbl setup-plt: compile: access from an uncertified context to unexported variable from module: "/tmp/plt/lib/plt/collects/scheme/private/stxloc.ss" in: relocate make[1]: *** [install-3m] Error 1 make[1]: Leaving directory `/tmp/build' make: *** [install] Error 2 $ planet show Normally-installed packages: cce scheme.plt 1 3 cobbe contract-utils.plt 3 0 dherman struct.plt 2 4 dyoo version-case.plt 1 8 mflatt scribble-paper.plt 2 0 ryanc require.plt 1 3 schematics schemeunit.plt 2 11 soegaard galore.plt 4 1 -- Michael Schuerig mailto:michael@schuerig.de http://www.schuerig.de/michael/ From czhu at cs.utah.edu Thu Mar 5 11:37:36 2009 From: czhu at cs.utah.edu (Chongkai Zhu) Date: Thu Mar 26 02:43:44 2009 Subject: [plt-scheme] Nested macros and (... ...) In-Reply-To: References: <49AFF8C8.9060000@cs.utah.edu> Message-ID: <49AFFFD0.10701@cs.utah.edu> James Coglan wrote: > > > 2009/3/5 Chongkai Zhu > > > James Coglan wrote: > > > Am I right in thinking that (... ...) is a way of placing a > literal ... in the expansion without it being treated as a > repetition pattern by the first expansion? > > > Yep. > > > > Cool, thanks. Is this peculiar to PLT, or is it more widely used? Also > (and I realise this may be contrived), if you were to nest macros > three or more levels deep, how would you escape the '...' at each > level of nesting? > This is also true for R6RS. You should read http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-14.html#node_sec_11.19 ===== A template of the form (