<br><br><div class="gmail_quote">On Fri, Mar 27, 2009 at 9:59 AM, <span dir="ltr"><<a href="mailto:plt-scheme-request@list.cs.brown.edu">plt-scheme-request@list.cs.brown.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Send plt-scheme mailing list submissions to<br>
<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:plt-scheme-request@list.cs.brown.edu">plt-scheme-request@list.cs.brown.edu</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:plt-scheme-owner@list.cs.brown.edu">plt-scheme-owner@list.cs.brown.edu</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of plt-scheme digest..."<br>
<br>
<br>
[Please handle PLT Scheme list administrative tasks through the Web:<br>
<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a>]<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: expr-syntax-object-iterator: unknown expr:<br>
(#%variable-reference) (Matthew Flatt)<br>
2. Re: Scheme and R (Neil Toronto)<br>
3. Re: Scheme and R (Prabhakar Ragde)<br>
4. Moby/Bootstrap talk slides (Shriram Krishnamurthi)<br>
5. Re: Moby/Bootstrap talk slides (Marek Kubica)<br>
6. Re: 3-D graphics (Matthias Felleisen)<br>
7. Re: [plt-edu] Re: [plt-scheme] 3-D graphics (David Van Horn)<br>
8. Re: Moby/Bootstrap talk slides (Shriram Krishnamurthi)<br>
9. Typed Scheme misses some contract definition? (Paulo J. Matos)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 26 Mar 2009 13:30:00 -0600<br>
From: Matthew Flatt <<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>><br>
Subject: Re: [plt-scheme] expr-syntax-object-iterator: unknown expr:<br>
(#%variable-reference)<br>
To: Tom Schouten <<a href="mailto:tom@zwizwa.be">tom@zwizwa.be</a>><br>
Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
Message-ID: <<a href="mailto:20090326193000.ED7BE6500BC@mail-svr1.cs.utah.edu">20090326193000.ED7BE6500BC@mail-svr1.cs.utah.edu</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
I fixed this in SVN by adding a case for `#%variable-reference' in<br>
`expr-syntax-object-iterator'.<br>
<br>
At Thu, 26 Mar 2009 14:13:10 +0100, Tom Schouten wrote:<br>
> Hello,<br>
><br>
> In DrScheme, the following code produces no errors on "run":<br>
><br>
> #lang scheme/base<br>
> (require html)<br>
> (read-html-as-xml (open-input-string "<html>"))<br>
><br>
> but it does print out an error message on "debug":<br>
><br>
> Welcome to DrScheme, version 4.1.5 [3m].<br>
> Language: Module; memory limit: 128 megabytes.<br>
> expr-syntax-object-iterator: unknown expr: (#%variable-reference)<br>
><br>
> Cheers,<br>
> Tom<br>
><br>
> _________________________________________________<br>
> For list-related administrative tasks:<br>
> <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 26 Mar 2009 16:17:39 -0600<br>
From: Neil Toronto <<a href="mailto:ntoronto@cs.byu.edu">ntoronto@cs.byu.edu</a>><br>
Subject: Re: [plt-scheme] Scheme and R<br>
To: Eli Barzilay <<a href="mailto:eli@barzilay.org">eli@barzilay.org</a>><br>
Cc: Prabhakar Ragde <<a href="mailto:plragde@uwaterloo.ca">plragde@uwaterloo.ca</a>>,<br>
<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
Message-ID: <<a href="mailto:49CBFF03.5010402@cs.byu.edu">49CBFF03.5010402@cs.byu.edu</a>><br>
Content-Type: text/plain; charset=us-ascii; format=flowed<br>
<br>
Eli Barzilay wrote:<br>
> On Mar 26, Neil Toronto wrote:<br>
>> As a language it's rather weak and inconsistent. Sungwoo Park's<br>
>> analysis is good, so I'll defer to him:<br>
>><br>
>> <a href="http://www.postech.ac.kr/%7Egla/paper/R-ism-dec-8.ppt" target="_blank">http://www.postech.ac.kr/~gla/paper/R-ism-dec-8.ppt</a><br>
><br>
> If anything, reading this made me appreciate R more than my previous<br>
> vague impression. Specifically, that criticism reads very obviously<br>
> as an ML advocate criticising (PLT) Scheme.<br>
<br>
I got that impression as well, though R does have problems in the<br>
*areas* he points out. It rather reminds me of Wadler's critique of<br>
scheming, where the problems he pointed out were often problems for a<br>
different reason than he said.<br>
<br>
> Even more specifically:<br>
><br>
> * We have a `void' value that is the common result of side-effect<br>
> functions[1] -- we even have (surprise) a `when' expression, and<br>
> one-sided `if's. (It's not clear to me whether R implements this<br>
> using a void value or using something like (values) -- but the<br>
> choice between the two is irrelevant.)<br>
<br>
In this case, he finally got to the real problem. It's not so much that<br>
"if" doesn't require an else branch or that a single-branch "if" returns<br>
NULL, but that the designers decided to make some uses of it "just work"<br>
by defining operations like this:<br>
<br>
> paste("Hello", NULL, "there", sep="|")<br>
[1] "Hello||there"<br>
<br>
So string-appending NULL appends nothing. But addition to it returns this:<br>
<br>
> NULL + 1<br>
numeric(0)<br>
<br>
where "numeric" creates a vector of zeros of the given length. The<br>
zero-length vector acts like a black hole in further math operations:<br>
<br>
> numeric(0) + 1<br>
numeric(0)<br>
<br>
Vectors are repeated if one vector argument is longer than the other,<br>
and give a warning if one length isn't a multiple of the other:<br>
<br>
> c(1, 2) + c(10, 20, 30, 40)<br>
[1] 11 22 31 42<br>
> c(1, 2, 3) + c(10, 20, 30, 40)<br>
[1] 11 22 33 41<br>
Warning message:<br>
In c(1, 2, 3) + c(10, 20, 30, 40) :<br>
longer object length is not a multiple of shorter object length<br>
<br>
(where "c" creates flat vectors) but the zero-length vector is treated<br>
specially with no warning or error at all:<br>
<br>
> numeric(0) + c(10, 20, 30, 40)<br>
numeric(0)<br>
<br>
I can see a train of thought leading to this overly forgiving and<br>
inconsistent state of affairs, and I think it derailed as soon as it set<br>
out.<br>
<br>
> * We have implicit boxing that allows `set!'. It's debatable whether<br>
> this is better than forcing an explicit `box' in the code (as ML<br>
> does), but again, with modules turning these into local boxes, the<br>
> difference is almost cosmetic[2].<br>
><br>
> * Note that the "No Lexical Scoping" criticises the R repl in a way<br>
> that applies to any Scheme repl. The only difference is the `set!'<br>
> implying a definition (which is not a good idea in any case). Even<br>
> more importantly, it highlights the `let*' semantics of the OCaml<br>
> repl -- which is very problematic in itself (up to the point where I<br>
> just gave up on using the OCaml repl for anything more than simple<br>
> testing)[3]. The "Special Top Level?" slide is bogus for the same<br>
> reason.<br>
<br>
I agree about the top-level/repl thing, and yes the slide is bogus.<br>
<br>
I just realized why I missed a lot of the bogus arguments. It appears<br>
that Park attacked the semantics of R without understanding what they<br>
are. I think I missed that because I'm already familiar with R and have<br>
already seen the problem areas he points out, along with specific<br>
examples of the sweeping generalizations made on slide 26 (evidence of<br>
too many complex/special cases).<br>
<br>
Back to lexical scope. To get around = creating bindings and how that<br>
makes it difficult to mutate outer scope variables, R has a special<br>
assignment operator <<- that operates on the nearest outer scope. It<br>
also creates bindings there if they don't already exist. It's like<br>
Python's "global" but for any level. Funky.<br>
<br>
I agree with the rest of your analysis.<br>
<br>
Neil<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Thu, 26 Mar 2009 18:28:34 -0400<br>
From: Prabhakar Ragde <<a href="mailto:plragde@uwaterloo.ca">plragde@uwaterloo.ca</a>><br>
Subject: Re: [plt-scheme] Scheme and R<br>
To: Neil Toronto <<a href="mailto:ntoronto@cs.byu.edu">ntoronto@cs.byu.edu</a>><br>
Cc: Eli Barzilay <<a href="mailto:eli@barzilay.org">eli@barzilay.org</a>>, <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
Message-ID: <<a href="mailto:49CC0192.3030006@uwaterloo.ca">49CC0192.3030006@uwaterloo.ca</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Neil Toronto wrote:<br>
<br>
> Back to lexical scope. To get around = creating bindings and how that<br>
> makes it difficult to mutate outer scope variables, R has a special<br>
> assignment operator <<- that operates on the nearest outer scope. It<br>
> also creates bindings there if they don't already exist. It's like<br>
> Python's "global" but for any level. Funky.<br>
<br>
There's something weird going on with scope in "lazy evaluation" in R.<br>
It's not lexical, but dynamic, and it's not clear to me when it flips<br>
from one to the other.<br>
<br>
It's fairly clear to me that the students in the stats course I'm<br>
talking about will not be dealing with most of these issues -- I think<br>
they're just asked to apply library functions without really<br>
understanding what they're doing. So the risk here is that in<br>
highlighting the similarities to Scheme -- and the differences from<br>
Scheme, which inevitably follow -- I would actually be doing them a<br>
disservice, relative to their prior blissfully ignorant state. --PR<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Thu, 26 Mar 2009 17:28:44 -0500<br>
From: Shriram Krishnamurthi <<a href="mailto:sk@cs.brown.edu">sk@cs.brown.edu</a>><br>
Subject: [plt-scheme] Moby/Bootstrap talk slides<br>
To: PLT Scheme ML <<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a>><br>
Message-ID:<br>
<<a href="mailto:c67d38c30903261528i11489acalad4cf29a140e4890@mail.gmail.com">c67d38c30903261528i11489acalad4cf29a140e4890@mail.gmail.com</a>><br>
Content-Type: text/plain; charset=ISO-8859-1<br>
<br>
After my keynote talk at yesterday's International Lisp Conference, a<br>
few people asked me for the talk slides. Better still, I made a<br>
personal audio recording as well. You can find both on the Web:<br>
<br>
<a href="http://www.cs.brown.edu/%7Esk/Publications/Talks/Moby-Bootstrap/" target="_blank">http://www.cs.brown.edu/~sk/Publications/Talks/Moby-Bootstrap/</a><br>
<br>
The first release of the compiler will go out this weekend.<br>
<br>
Special thanks to Danny Yoo, who made the talk possible!<br>
<br>
Shriram<br>
<br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Thu, 26 Mar 2009 23:47:12 +0100<br>
From: Marek Kubica <<a href="mailto:marek@xivilization.net">marek@xivilization.net</a>><br>
Subject: Re: [plt-scheme] Moby/Bootstrap talk slides<br>
To: Shriram Krishnamurthi <<a href="mailto:sk@cs.brown.edu">sk@cs.brown.edu</a>><br>
Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
Message-ID: <20090326234712.5916ba8b@halmanfloyd.lan.local><br>
Content-Type: text/plain; charset=US-ASCII<br>
<br>
On Thu, 26 Mar 2009 17:28:44 -0500<br>
Shriram Krishnamurthi <<a href="mailto:sk@cs.brown.edu">sk@cs.brown.edu</a>> wrote:<br>
<br>
> After my keynote talk at yesterday's International Lisp Conference, a<br>
> few people asked me for the talk slides. Better still, I made a<br>
> personal audio recording as well. You can find both on the Web:<br>
><br>
> <a href="http://www.cs.brown.edu/%7Esk/Publications/Talks/Moby-Bootstrap/" target="_blank">http://www.cs.brown.edu/~sk/Publications/Talks/Moby-Bootstrap/</a><br>
<br>
Could you post a PDF version of the slides too? I don't have Powerpoint<br>
and as a LaTeX/Beamer user have no desire to use OpenOffice.org either,<br>
since most slides are just PDF.<br>
<br>
Your topic sounds interesting and if I have some more time today, I<br>
might listen to the recording. I've hoped for some official recordings<br>
of all ILC talks.<br>
<br>
regards,<br>
Marek<br>
<br>
<br>
------------------------------<br>
<br>
Message: 6<br>
Date: Thu, 26 Mar 2009 19:27:42 -0400<br>
From: Matthias Felleisen <<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>><br>
Subject: Re: [plt-scheme] 3-D graphics<br>
To: John Clements <<a href="mailto:clements@brinckerhoff.org">clements@brinckerhoff.org</a>><br>
Cc: Justin Phillips <<a href="mailto:jjustinphillipss@gmail.com">jjustinphillipss@gmail.com</a>>, PLT Scheme ML<br>
<<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a>><br>
Message-ID: <<a href="mailto:8C54869E-2CA5-45C1-B5D3-447A8747D184@ccs.neu.edu">8C54869E-2CA5-45C1-B5D3-447A8747D184@ccs.neu.edu</a>><br>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed<br>
<br>
<br>
Richard Cleis has done a first prototype of a 3D world/universe for<br>
us and send Eli and me great examples. If you want to work on this or<br>
if you are working on this, get in touch with him. I have run his<br>
beautiful 3D balloon examples and they are truly beautiful. -- Matthias<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Mar 26, 2009, at 12:38 PM, John Clements wrote:<br>
<br>
><br>
> On Mar 26, 2009, at 6:28 AM, Stephen Bloch wrote:<br>
><br>
>> I attended a talk yesterday on using 3-D animation to teach<br>
>> mathematical concepts. The presenter was using either (a C/C++<br>
>> library named DarkGDK) or SecondLife, but I imagine a lot of the<br>
>> same things could be done with Alice. And if we perceive Alice as<br>
>> a serious competitor for "how to teach beginning programming," it<br>
>> would be nice if we could beat (or at least meet) her on her own<br>
>> turf -- fun, highly-motivating, attractive 3-D animation<br>
>> accessible to first-semester students.<br>
>><br>
>> So there's this OpenGL binding bundled with PLT Scheme. Who out<br>
>> there has played with it? I'd like to write (or, even better, get<br>
>> somebody else to write!) a beginner-friendly, functional front end<br>
>> for it that allows first-semester students to build 3-D<br>
>> animations, with not much more difficulty than the 2-D animations<br>
>> we do with world, sb-world, or universe. Is anybody working on<br>
>> this sort of thing?<br>
><br>
> It's ludicrously unfair of me to mention this before he's even<br>
> gotten started, but I'm working with an undergraduate (cc:'ed)<br>
> who's expressed an interest in bringing OpenGL into the FrTime<br>
> fold. If successful, this would probably fit extremely well with<br>
> the project you mention.<br>
><br>
> John Clements<br>
><br>
> _________________________________________________<br>
> For list-related administrative tasks:<br>
> <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 7<br>
Date: Thu, 26 Mar 2009 19:42:26 -0400<br>
From: David Van Horn <<a href="mailto:dvanhorn@ccs.neu.edu">dvanhorn@ccs.neu.edu</a>><br>
Subject: Re: [plt-edu] Re: [plt-scheme] 3-D graphics<br>
To: Geoffrey Knauth <<a href="mailto:gknauth@lycoming.edu">gknauth@lycoming.edu</a>><br>
Cc: plt edu <<a href="mailto:plt-edu@list.cs.brown.edu">plt-edu@list.cs.brown.edu</a>>, PLT Scheme ML<br>
<<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a>><br>
Message-ID: <<a href="mailto:49CC12E2.4020200@ccs.neu.edu">49CC12E2.4020200@ccs.neu.edu</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Geoffrey Knauth wrote:<br>
> While at Art and Code at CMU March 7-8, I learned CMU uses Processing<br>
> [1] for Intro to CS for non-majors [2], so if PLT develops a demo suite<br>
> rich with OpenGL examples, I think the examples in Processing would make<br>
> a good comparison. Processing's demos are fast enough I forget it's<br>
> Java underneath, and Processing syntax on the obnoxiousness scale is<br>
> less than Java and greater than Scheme.<br>
><br>
> Geoff<br>
><br>
> [1] <a href="http://processing.org/" target="_blank">http://processing.org/</a><br>
> [2] <a href="http://www.andrew.cmu.edu/course/15-100mooseNsquirrel/" target="_blank">http://www.andrew.cmu.edu/course/15-100mooseNsquirrel/</a><br>
<br>
Ben Fry just gave a talk here at NEU on Processing. It started off very<br>
much like our intro course starts off on day 1 by programming with<br>
images in DrScheme, but rapidly went far beyond that while using 1-3<br>
line programs. It was too bad the PLT group was under represented, but<br>
there should be video of the event up soon on our student ACM chapter<br>
web page.<br>
<br>
If PLT could keep pace with Fry's first 10 minutes or so of examples, it<br>
would be quite appealing to students, in my opinion. Of course, all his<br>
stuff is imperative. If we had all the polished bells and whistles of<br>
Processing *and* the usual gang of functional abstractions, our freshmen<br>
could probably code circles around Fry.<br>
<br>
David<br>
<br>
<a href="http://acm.ccs.neu.edu/" target="_blank">http://acm.ccs.neu.edu/</a><br>
<br>
<br>
------------------------------<br>
<br>
Message: 8<br>
Date: Thu, 26 Mar 2009 19:09:29 -0500<br>
From: Shriram Krishnamurthi <<a href="mailto:sk@cs.brown.edu">sk@cs.brown.edu</a>><br>
Subject: Re: [plt-scheme] Moby/Bootstrap talk slides<br>
To: Marek Kubica <<a href="mailto:marek@xivilization.net">marek@xivilization.net</a>><br>
Cc: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>
Message-ID:<br>
<<a href="mailto:c67d38c30903261709k4e6c660ap9e28a23e7d646e3a@mail.gmail.com">c67d38c30903261709k4e6c660ap9e28a23e7d646e3a@mail.gmail.com</a>><br>
Content-Type: text/plain; charset=ISO-8859-1<br>
<br>
Thanks for your interest.<br>
<br>
Unfortunately, my talk involves numerous bits of relevant animation,<br>
some of which are quite precise. This does not translate well to PDF.<br>
<br>
I did load it today in OpenOffice to confirm that, though it does not<br>
come out perfectly, the outcome is quite reasonable.<br>
<br>
For the benefit of those with neither, I've uploaded the files to<br>
slideshare:<br>
<br>
<a href="http://www.slideshare.net/guest66441a/the-moby-scheme-compiler-for-smartphones" target="_blank">http://www.slideshare.net/guest66441a/the-moby-scheme-compiler-for-smartphones</a><br>
<br>
This link is also on the talk's page.<br>
<br>
Enjoy!<br>
<br>
Shriram<br>
<br>
<br>
------------------------------<br>
<br>
Message: 9<br>
Date: Fri, 27 Mar 2009 01:58:55 +0000<br>
From: "Paulo J. Matos" <<a href="mailto:pocmatos@gmail.com">pocmatos@gmail.com</a>><br>
Subject: [plt-scheme] Typed Scheme misses some contract definition?<br>
To: PLT-Scheme Mailing List <<a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a>><br>
Message-ID:<br>
<<a href="mailto:11b141710903261858x3ff9a4e5s963910fb88d2a98d@mail.gmail.com">11b141710903261858x3ff9a4e5s963910fb88d2a98d@mail.gmail.com</a>><br>
Content-Type: text/plain; charset=UTF-8<br>
<br>
Hi all,<br>
<br>
Assume I define test.scm:<br>
#lang typed-scheme<br>
<br>
(provide (struct-out foo))<br>
<br>
(define-struct: foo<br>
((v : Integer)))<br>
<br>
I open another file xxx.scm:<br>
#lang typed-scheme<br>
<br>
(: v Integer)<br>
(define v 10)<br>
<br>
and I run it.<br>
On the interactions:<br>
Welcome to DrScheme, version 4.1.5.3-svn26mar2009 [3m].<br>
Language: Module; memory limit: 1024 megabytes.<br>
> (make-foo v)<br>
. typecheck: unbound identifier make-foo in: make-foo<br>
> (require "test.scm")<br>
> (make-foo v)<br>
- : foo2<br>
#<foo><br>
<br>
<br>
However, If I add a require line to xxx.scm:<br>
#lang typed-scheme<br>
<br>
(require "test.scm")<br>
<br>
(: v Integer)<br>
(define v 10)<br>
<br>
interactions is now:<br>
Welcome to DrScheme, version 4.1.5.3-svn26mar2009 [3m].<br>
Language: Module; memory limit: 1024 megabytes.<br>
> (make-foo v)<br>
. typecheck: unbound identifier contract/proc in: (make-foo v)<br>
> (require "test.scm")<br>
> (make-foo v)<br>
. typecheck: unbound identifier contract/proc in: (make-foo v)<br>
><br>
<br>
I don't know how typed-scheme works internally but I guess that the<br>
require line screws something up?<br>
<br>
Cheers,<br>
<font color="#888888"><br>
--<br>
Paulo Jorge Matos - pocmatos at <a href="http://gmail.com" target="_blank">gmail.com</a><br>
Webpage: <a href="http://www.personal.soton.ac.uk/pocm" target="_blank">http://www.personal.soton.ac.uk/pocm</a><br>
<br>
<br>
End of plt-scheme Digest, Vol 43, Issue 95<br>
******************************************<br>
</font></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.watch-movies-online-hollywoodkiller.com">http://www.watch-movies-online-hollywoodkiller.com</a><br>