[racket] Are these in-cycle semantics intentional?

2011-11-24 Thread Neil Toronto
In the following program, "loop 2 finished" is never printed, even though `i' loops over nothing. As far as I understand, the second loop shouldn't iterate at all - it should stop as soon as the `i' sequence is finished, which is immediately. But I could be wrong, so I'm asking: is this a bug?

Re: [racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Sam Tobin-Hochstadt
On Thu, Nov 24, 2011 at 3:14 PM, Ismael Figueroa Palet wrote: > I need to compare to procedures for equality. In the untyped version of the > code I used eq? and it worked for my purposes. > Now, in the Typed Racket version I'm having the problem that somehow one of > the procedures is wrapped in

Re: [racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Robby Findler
Just a shot in the dark, but if you know the type of the procedures, then you might try to annotate the struct with the type. Robby On Thu, Nov 24, 2011 at 7:32 PM, Matthias Felleisen wrote: > > In the works Sam would say -- Matthias > > On Nov 24, 2011, at 4:46 PM, Ismael Figueroa Palet wrote:

Re: [racket] Beginner can't get some Macintosh command keys to work

2011-11-24 Thread Nadeem Abdul Hamid
Yes. When caps lock is on, pressing Cmd+N inserts an "n" into the current document. On Thu, Nov 24, 2011 at 1:51 PM, Neil Toronto wrote: > For either of you, does turning on Caps Lock do it as well? DrRacket does > this weird thing on my Ubuntu box, where CTRL- inserts a > capitalized when Caps

Re: [racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Matthias Felleisen
In the works Sam would say -- Matthias On Nov 24, 2011, at 4:46 PM, Ismael Figueroa Palet wrote: > Thanks Robby for your answer, > > When I create an annotated-proc (as in > http://docs.racket-lang.org/reference/procedures.html) > > Unfortunately it seems that I lose type information: > > >

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread J. Ian Johnson
Those are known as "semantic brackets." They denote a syntactic form into its ideal mathematical object. In a sense, they give "meaning" to what they surround. -Ian - Original Message - From: Patrick Li To: Matthias Felleisen Cc: users@racket-lang.org Sent: Thu, 24 Nov 2011 17:05:30 -05

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread nicolas.o...@gmail.com
It is often used to represent a function that applies on a term, or an expression. [ t ] means the function [] applied to t. In those papers, it often represent a CPS transform. Like [ x ] = \ k . k x would mean "the cps transform of 'x' is '\ k . k x' , or cps(x) = \ k . k x. Using [ _ ] is

[racket] racket's template system: expand: unbound identifier

2011-11-24 Thread Daniel Bastos
Good evening, gentlemen. I'm studying http://docs.racket-lang.org/web-server/templates.html to see how web development is done in Racket. Having written a first hello world using templates, I'm wishing to use the @in[] call. So I wrote %cat templates1.rkt #lang racket (require web-server/serv

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread Patrick Li
Thanks for the feedback. The literature references are extremely helpful, and I will read through them carefully. As an aside, may I ask what notation is being used in these papers? I thought it might be lambda calculus, however I cannot determine what it means to surround an expression using call

Re: [racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Ismael Figueroa Palet
Thanks Robby for your answer, When I create an annotated-proc (as in http://docs.racket-lang.org/reference/procedures.html) Unfortunately it seems that I lose type information: > (annotated-proc (lambda (x) x) (gensym)) - : annotated-proc # > (lambda (x) x) - : (Any -> Any : ((! False @ 0) | (

Re: [racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Robby Findler
Not a direct answer to your question, but comparing procedures for equality using eq? can be fragile (contracts will break the equality, depending on how you use them, for example). You might instead use applicable structs to implement the equality by putting some token you use for equality into a

[racket] TR: unwrapping from <#Typed Value: ... > ??

2011-11-24 Thread Ismael Figueroa Palet
I need to compare to procedures for equality. In the untyped version of the code I used eq? and it worked for my purposes. Now, in the Typed Racket version I'm having the problem that somehow one of the procedures is wrapped in a "typed value" struct while the other is not. When I display the valu

Re: [racket] Beginner can't get some Macintosh command keys to work

2011-11-24 Thread Leonard Cuff
The caps-lock key doesn't affect what I see. I normally have caps-lock mapped to control for the convenience of my left pinkie, but when I undo the mapping I see the same results with caps lock on and caps lock off. A lower case 'r' appears in the definitions or repl window when I do Command-R (or

Re: [racket] Beginner can't get some Macintosh command keys to work

2011-11-24 Thread Sam Tobin-Hochstadt
On Thu, Nov 24, 2011 at 1:51 PM, Neil Toronto wrote: > For either of you, does turning on Caps Lock do it as well? DrRacket does > this weird thing on my Ubuntu box, where CTRL- inserts a > capitalized when Caps Lock is on, instead of invoking a shortcut. > > I haven't reported it yet because I t

[racket] Applying keyword arguments to (send)

2011-11-24 Thread Michael W
Hey there, Racketeers! Hope you're having a nice thanksgiving if you're in America. (send) supports apply-style calling by calling it with a dotted parameter. How can I call a method with a list of *keyword* arguments? I essentially want to do keyword-apply but on a method, and I don't quite have

Re: [racket] Beginner can't get some Macintosh command keys to work

2011-11-24 Thread Neil Toronto
For either of you, does turning on Caps Lock do it as well? DrRacket does this weird thing on my Ubuntu box, where CTRL- inserts a capitalized when Caps Lock is on, instead of invoking a shortcut. I haven't reported it yet because I thought it might be an Ubuntu thing only - it seemed to star

Re: [racket] Google Challenge

2011-11-24 Thread Neil Van Dyke
Matthias Felleisen wrote at 11/24/2011 10:12 AM: Is the OO style required? I believe that OO style is *not* required, per vague statements and phrasing in "https://github.com/aichallenge/aichallenge/wiki/Ants-Starter-Pack-Guide";. Looks like the hardest part of writing the starter kit is th

Re: [racket] typed racket Procedure is not a function type

2011-11-24 Thread Sam Tobin-Hochstadt
On Thu, Nov 24, 2011 at 11:22 AM, Ismael Figueroa Palet wrote: > I got the following error: "Type Checker: Cannot apply expression of type > Procedure, since it is not a function type" > > What is the rationale behind this? Probably the error message should be better here, but what's going on is

[racket] typed racket Procedure is not a function type

2011-11-24 Thread Ismael Figueroa Palet
I got the following error: "Type Checker: Cannot apply expression of type Procedure, since it is not a function type" What is the rationale behind this? I'm constructing a function wrapper that uses apply, but I don't know how to type a function in the most general way. The code is like: (defin

Re: [racket] typed racket error message suggestion

2011-11-24 Thread Robby Findler
FWIW, this is what happens at runtime: > ((let () (struct s (x)) s-x) (let () (struct s (x)) (s 1))) s-x: expects args of type ; given instance of a different Robby On Thu, Nov 24, 2011 at 8:39 AM, Ismael Figueroa Palet wrote: > I'm using require/typed for a struct P in two different files, bu

Re: [racket] Google Challenge

2011-11-24 Thread Matthias Felleisen
Is the OO style required? On Nov 23, 2011, at 4:26 PM, Wayne Iba wrote: > Yes, sorry I'm responsible for that abomination of a "starter-package > starter". Actually, I could blame Neil for the idea but I wont. Two of my > students and I took the Common Lisp starter package and translated t

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread Matthias Felleisen
On Nov 24, 2011, at 9:52 AM, nicolas.o...@gmail.com wrote: >> But you could also break the tail-call discipline of CPS and translate >> [shift e] as \k. (k [e](\x.x)) >> Or you can use our 'abstract' continuations to manipulate a stack of >> continuations directly. > > What are your 'abstract

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread nicolas.o...@gmail.com
> But you could also break the tail-call discipline of CPS and translate [shift > e] as \k. (k [e](\x.x)) > Or you can use our 'abstract' continuations to manipulate a stack of > continuations directly. What are your 'abstract' continuations? Sounds very interesting.

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread Matthias Felleisen
On Nov 24, 2011, at 2:31 AM, Patrick Li wrote: > Hello everyone, > > Does anyone know of a guide on how delimited continuations (reset/shift) can > be implemented using a CPS transform? There is a paper for doing this in > Scala, but I don't have a CS background and cannot understand the nota

[racket] typed racket error message suggestion

2011-11-24 Thread Ismael Figueroa Palet
I'm using require/typed for a struct P in two different files, but with exactly the same imports. When, in a third file I get a mismatch because the P are different I got a message: "Type Checker: Expected P, but got P" At first I didn't understand the error, maybe you could put something like:

Re: [racket] scribble: @verbatim inside macro

2011-11-24 Thread Matthew Flatt
A `@para{ ... @verbatim[]}' doesn't work because `verbatim' generates a block, which is at the same level as a paragraph and cannot appear within a paragraph. Using `begin' works at the top level, since it splices the two blocks into the top-level flow. Using `list' would work more generally, such

Re: [racket] Implementing delimited continuations using a CPS transform

2011-11-24 Thread nicolas.o...@gmail.com
I think your solution is perfectly sensible. shift/reset needs two CPS transformations. Then you have two continuations : one local (up to the next reset), one global (from the next reset to the toplevel). The global one is usually called the meta-continuation, and often denoted m. I think this i