Re: [racket-dev] for loops with interleaved escape continuations

2014-07-02 Thread Matthias Felleisen

Interestingly enough, I tried to explain this idea to the Imperative Advanced 
Placement crowd in the 1990s. With functional programming -- control from 
tail-recursive functions -- is more expressive than programming with limited 
loops because you can (1) break/resume/continue/foobar your 'loops' more easily 
(including loops that communicate actual values instead of void) and (2) you 
can write abstractions over these things once you have good use cases. 

Now we're in a position to do so and what John  Sam sketch out is finally a 
realization of this idea. 

-- Matthias


_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] for loops with interleaved escape continuations

2014-07-02 Thread Neil Van Dyke
Loop syntax and sugar is fine.  And having #:continue and #:break 
keywords at the top of the form is sufficient warning of surprises 
ahead, IMHO.


I do have a minor ongoing concern that people coming from other 
languages lately latch onto the for family of forms from the start, 
don't get enough exposure to named-let, and/or mutually/self-recursive 
procedures, and then end up shoehorning problems into the for forms 
(with flag variables and redundant checks and such).  break and 
continue can be good shoehorns.


I still half-seriously like the idea of having unlockable language 
feature achievements, like unlockable equipment in video games.  I might 
play with that idea soon.


Neil V.

attachment: neil.vcf_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] for loops with interleaved escape continuations

2014-07-02 Thread Matthias Felleisen

On Jul 2, 2014, at 2:26 PM, Neil Van Dyke wrote:

 Loop syntax and sugar is fine.  And having #:continue and #:break 
 keywords at the top of the form is sufficient warning of surprises ahead, 
 IMHO.
 
 I do have a minor ongoing concern that people coming from other languages 
 lately latch onto the for family of forms from the start, don't get enough 
 exposure to named-let, and/or mutually/self-recursive procedures, and then 
 end up shoehorning problems into the for forms (with flag variables and 
 redundant checks and such).  break and continue can be good shoehorns.
 
 I still half-seriously like the idea of having unlockable language feature 
 achievements, like unlockable equipment in video games.  I might play with 
 that idea soon.

Cute idea. It generalizes the teaching languages, which at some point we wanted 
to explore, too. We dubbed this HLI as in Human-Language Interface. -- Matthias


_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] Release for v6.0.2 is about to begin

2014-07-02 Thread Ryan Culpepper

The release process for v6.0.2 will begin in about a week.  If
you have any new features that you want in and are relatively close
to being done, now is a good time to do that.
_
 Racket Developers list:
 http://lists.racket-lang.org/dev