[racket-dev] release blurb for 5.1.1 (Eli Barzilay)

From: James Swaine (james.swaine at gmail.com)
Date: Fri Apr 29 15:47:05 EDT 2011

Here's the release note for futures:

- futures: added fsemaphores; 'future' primitive now no longer freezes
futures;
  improved the logging messages futures produce

-James


On Fri, Apr 29, 2011 at 12:05 PM, <dev-request at racket-lang.org> wrote:

> Send dev mailing list submissions to
>        dev at racket-lang.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://lists.racket-lang.org/dev/listinfo
> or, via email, send a message with subject or body 'help' to
>        dev-request at racket-lang.org
>
> You can reach the person managing the list at
>        dev-owner at racket-lang.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of dev digest..."
>
>
> [Please handle dev list administrative tasks through the Web:
>   http://lists.racket-lang.org/listinfo/dev]
>
> Today's Topics:
>
>   1. Re: racket vs. scheme vs. clojure (as it appears to       others)
>      (Matthias Felleisen)
>   2. Re: racket vs. scheme vs. clojure (as it appears to       others)
>      (Danny Yoo)
>   3. Re: racket vs. scheme vs. clojure (as it appears to       others)
>      (Matthias Felleisen)
>   4. Re: release blurb for 5.1.1 (Eli Barzilay)
>   5. Re: racket vs. scheme vs. clojure (as it appears  to      others)
>      (Eli Barzilay)
>   6. Re: racket vs. scheme vs. clojure (as it appears to others)
>      (Stephen Bloch)
>   7. Re: racket vs. scheme vs. clojure (as it appears to       others)
>      (Joe Marshall)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 29 Apr 2011 12:10:25 -0400
> From: Matthias Felleisen <matthias at ccs.neu.edu>
> To: Neil Van Dyke <neil at neilvandyke.org>
> Cc: Racket Dev List <dev at racket-lang.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to      others)
> Message-ID: <A9D92E4F-3D60-400E-B427-A58EB14D9939 at ccs.neu.edu>
> Content-Type: text/plain; charset=us-ascii
>
>
>
> On Apr 29, 2011, at 11:31 AM, Neil Van Dyke wrote:
>
> >  "Scheme" is usually a liability when someone used it in school years ago
> (other than with HtDP).
>
> Sad.
>
>
> Thanks for the idea. -- Matthias
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 29 Apr 2011 12:38:24 -0400
> From: Danny Yoo <dyoo at cs.wpi.edu>
> To: Matthias Felleisen <matthias at ccs.neu.edu>
> Cc: Racket Dev List <dev at racket-lang.org>, Neil Van Dyke
>        <neil at neilvandyke.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to      others)
> Message-ID: <BANLkTimrPyQmFqQeJ_LbknFLW2Ng902T=A at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> >> ?"Scheme" is usually a liability when someone used it in school years
> ago (other than with HtDP).
>
> Small anecdote: I had gone a small presentation at WPI about teaching
> alternative concurrent programming models to undergraduates.  The
> presenter wanted to explore teaching with channels and actors.  They
> chose Google Go as the language to explore those models.  I raised the
> question in the after-session: why not use Racket?  The presenter
> responded with some shock: he had no idea Racket supported threads or
> had channels.
>
> The presenter had gone through a HtDP class, and was convinced that
> BSL was all that Racket was about.  So I don't necessarily agree that
> it's only the non-HtDP students who have a distorted understanding.
>
>
>
> ------------------------------
>
> Message: 3
> Date: Fri, 29 Apr 2011 12:42:35 -0400
> From: Matthias Felleisen <matthias at ccs.neu.edu>
> To: Danny Yoo <dyoo at cs.wpi.edu>
> Cc: Racket Dev List <dev at racket-lang.org>, Neil Van Dyke
>        <neil at neilvandyke.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to      others)
> Message-ID: <CD2497A7-F6D3-4948-B0CF-F11F1541A935 at ccs.neu.edu>
> Content-Type: text/plain; charset=us-ascii
>
>
> On Apr 29, 2011, at 12:38 PM, Danny Yoo wrote:
>
> >>>  "Scheme" is usually a liability when someone used it in school years
> ago (other than with HtDP).
> >
> > Small anecdote: I had gone a small presentation at WPI about teaching
> > alternative concurrent programming models to undergraduates.  The
> > presenter wanted to explore teaching with channels and actors.  They
> > chose Google Go as the language to explore those models.  I raised the
> > question in the after-session: why not use Racket?  The presenter
> > responded with some shock: he had no idea Racket supported threads or
> > had channels.
> >
> > The presenter had gone through a HtDP class, and was convinced that
> > BSL was all that Racket was about.  So I don't necessarily agree that
> > it's only the non-HtDP students who have a distorted understanding.
>
>
> I am aware of that.
>
> That's distinct from why I said 'sad'.
>
>
> ------------------------------
>
> Message: 4
> Date: Fri, 29 Apr 2011 12:45:55 -0400
> From: Eli Barzilay <eli at barzilay.org>
> To: Matthias Felleisen <matthias at ccs.neu.edu>
> Cc: dev <dev at racket-lang.org>
> Subject: Re: [racket-dev] release blurb for 5.1.1
> Message-ID: <19898.60227.302124.283133 at winooski.ccs.neu.edu>
> Content-Type: text/plain; charset=us-ascii
>
> On Tuesday, Matthias Felleisen wrote:
> >
> > On Apr 26, 2011, at 3:46 PM, Jon Rafkind wrote:
> >
> > > kathy
> > >  * Addition of `define-wish' to the teaching languages and
> > > corresponding addition of support for wishes in test reports and
> > > check-expects (7758f508c56)
> >
> > This wasn't supposed to go in.
>
> I see that Matthew pushed a change that disables it in BSL -- is that
> the only place where they were in?
>
> --
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                    http://barzilay.org/                   Maze is Life!
>
>
> ------------------------------
>
> Message: 5
> Date: Fri, 29 Apr 2011 12:50:16 -0400
> From: Eli Barzilay <eli at barzilay.org>
> To: Danny Yoo <dyoo at cs.wpi.edu>
> Cc: Racket Dev List <dev at racket-lang.org>, Neil Van Dyke
>        <neil at neilvandyke.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to      others)
> Message-ID: <19898.60488.560050.367743 at winooski.ccs.neu.edu>
> Content-Type: text/plain; charset=utf-8
>
> 8 minutes ago, Danny Yoo wrote:
> > >> ?"Scheme" is usually a liability when someone used it in school
> > >> ?years ago (other than with HtDP).
> >
> > Small anecdote: I had gone a small presentation at WPI about
> > teaching alternative concurrent programming models to
> > undergraduates.  The presenter wanted to explore teaching with
> > channels and actors.  They chose Google Go as the language to
> > explore those models.  I raised the question in the after-session:
> > why not use Racket?  The presenter responded with some shock: he had
> > no idea Racket supported threads or had channels.
>
> This is completely off-topic wrt the original thread, but IMO having
> these tools in Racket means that you can play with them and contrast
> various approaches in a better way.  One example I show in my class is
> the sieve way of generating prime numbers -- I do that first in lazy
> racket:
>
>  (define nats (cons 1 (map add1 nats)))
>  (define (divides? n m)
>    (zero? (modulo m n)))
>  (define (sift n l)
>    (filter (lambda (x) (not (divides? n x))) l))
>  (define (sieve l)
>    (cons (first l) (sieve (sift (first l) (rest l)))))
>  (define primes (sieve (rest nats)))
>
> and then I show them a solution that is based on channels which is
> more or less a direct translation from Rob Pike's talk at google
> (which is why it relies heavily on state in each thread), and then one
> more that uses generators.
>
>  ----------------------------------------------------------------------
>  #lang racket
>
>  (define-syntax-rule (bg expr ...) (thread (lambda () expr ...)))
>
>  (define nats
>    (let ([out (make-channel)])
>      (define (loop i) (channel-put out i) (loop (add1 i)))
>      (bg (loop 1))
>      out))
>  (define (divides? n m)
>    (zero? (modulo m n)))
>  (define (filter pred c)
>    (define out (make-channel))
>    (define (loop)
>      (let ([x (channel-get c)])
>        (when (pred x) (channel-put out x))
>        (loop)))
>    (bg (loop))
>    out)
>  (define (sift n c)
>    (filter (lambda (x) (not (divides? n x))) c))
>  (define (sieve c)
>    (define out (make-channel))
>    (define (loop c)
>      (define first (channel-get c))
>      (channel-put out first)
>      (loop (sift first c)))
>    (bg (loop c))
>    out)
>  (define primes
>    (begin (channel-get nats) (sieve nats)))
>
>  (define (take n c)
>    (if (zero? n) '() (cons (channel-get c) (take (sub1 n) c))))
>
>  (take 10 primes)
>  ----------------------------------------------------------------------
>
>  ----------------------------------------------------------------------
>  #lang racket
>
>  (require racket/generator)
>
>  (define nats
>    (generator ()
>      (letrec ([loop (lambda (i)
>                       (yield i)
>                       (loop (add1 i)))])
>        (loop 1))))
>  (define (divides? n m)
>    (zero? (modulo m n)))
>  (define (filter pred g)
>    (generator ()
>      (letrec ([loop (lambda ()
>                       (let ([x (g)])
>                         (when (pred x) (yield x))
>                         (loop)))])
>        (loop))))
>  (define (sift n g)
>    (filter (lambda (x) (not (divides? n x))) g))
>  (define (sieve g)
>    (define (loop g)
>      (define first (g))
>      (yield first)
>      (loop (sift first g)))
>    (generator () (loop g)))
>  (define primes
>    (begin (nats) (sieve nats)))
>
>  (define (take n g)
>    (if (zero? n) '() (cons (g) (take (sub1 n) g))))
>
>  (take 10 primes)
>  ----------------------------------------------------------------------
>
>
> --
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                    http://barzilay.org/                   Maze is Life!
>
>
>
> ------------------------------
>
> Message: 6
> Date: Fri, 29 Apr 2011 12:56:16 -0400
> From: Stephen Bloch <sbloch at adelphi.edu>
> To: Danny Yoo <dyoo at cs.wpi.edu>
> Cc: Racket Dev List <dev at racket-lang.org>, Neil Van Dyke
>        <neil at neilvandyke.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to others)
> Message-ID: <971277C1-C191-43BE-ACCD-50C7358DF198 at adelphi.edu>
> Content-Type: text/plain; charset=us-ascii
>
> The last chapter of _Picturing Programs_ is entitled "Next Steps".  It
> mentions HtDP, HtDP2e, HtDW, HtDC, and a list of advanced Racket topics: the
> Web server, modules, racket/contract, classes, macros, stand-alone
> executables, and GUI and graphics libraries.  Most of these topics (not to
> mention futures, promises, threads, and channels) I'm only vaguely familiar
> with myself, even having used PLT Scheme since 1998. So I'm not surprised
> that somebody who had gone through a TS! workshop might not even be aware of
> their existence.
>
> (When I'm programming in Racket for myself, I tend to work in ISLL +
> racket/contract.  Why would anyone need more than that? :-) )
>
>
>
> Stephen Bloch
> sbloch at adelphi.edu
>
> On Apr 29, 2011, at 12:38 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
>
> >>>  "Scheme" is usually a liability when someone used it in school years
> ago (other than with HtDP).
> >
> > Small anecdote: I had gone a small presentation at WPI about teaching
> > alternative concurrent programming models to undergraduates.  The
> > presenter wanted to explore teaching with channels and actors.  They
> > chose Google Go as the language to explore those models.  I raised the
> > question in the after-session: why not use Racket?  The presenter
> > responded with some shock: he had no idea Racket supported threads or
> > had channels.
> >
> > The presenter had gone through a HtDP class, and was convinced that
> > BSL was all that Racket was about.  So I don't necessarily agree that
> > it's only the non-HtDP students who have a distorted understanding.
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://lists.racket-lang.org/listinfo/dev
>
>
>
> ------------------------------
>
> Message: 7
> Date: Fri, 29 Apr 2011 10:05:25 -0700
> From: Joe Marshall <jmarshall at alum.mit.edu>
> To: Matthias Felleisen <matthias at ccs.neu.edu>
> Cc: PLT Developers <dev at lists.racket-lang.org>
> Subject: Re: [racket-dev] racket vs. scheme vs. clojure (as it appears
>        to      others)
> Message-ID: <BANLkTi=QJAsFvAG49p5CFL4_Ki0bicy8NA at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> On Fri, Apr 29, 2011 at 8:38 AM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
> >
> > 2. Could you point me to a criteria that classify Racket as a 'fringe'
> language
> > and Clojure as a non-fringe language?
>
> This is no criterion, but it is suggestive:
>
> http://www.google.com/insights/search/#cat=5&q=racket%20-%20tennis%2Cclojure&date=1%2F2008%2040m&cmpt=q
>
> But to be fair, popularity is a terrible metric:
> http://www.google.com/insights/search/#q=porn%2Cfood%2Cwater&cmpt=q
>
> This page shows the relative popularity of `DrScheme' to `Racket'.
> https://sites.google.com/site/evalapply/name-change
>
> It appears that `Racket' has only recently overtaken `DrScheme' in
> what people search for.
>
>
>
> --
> ~jrm
>
>
> End of dev Digest, Vol 27, Issue 76
> ***********************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110429/dee5dd70/attachment.html>

Posted on the dev mailing list.