Re: [racket-dev] Build failures since 5.2

2012-02-19 Thread Matthew Flatt
Thanks for tracking this down! Compiling with `-funisgned-char' on my
machine produced the same error.

I've corrected the problem (pushed to the git repo) and added a
release-time checklist item to try compiling with `-funisgned-char'.

At Sat, 18 Feb 2012 21:17:36 -0500, James McCoy wrote:
> Hi all,
> 
> Since 5.2, racket has been failing to build on some of Debian's less
> mainstream architectures where it had been building fine with 5.1.3.
> The failure scenario below is common among a few of the architectures
> (armel[0], s390[1], s390x[2])
> 
> [0]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=armel&ver=5.2.1%2Bdfs
> g1-1&stamp=1329603367
> [1]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390&ver=5.2.1%2Bdfsg
> 1-1&stamp=1329602283
> [2]: 
> https://buildd.debian.org/status/fetch.php?pkg=racket&arch=s390x&ver=5.2.1%2Bdfs
> g1-1&stamp=1329601933
> 
> make[4]: Entering directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> mkdir xsrc/usr/bin/make xsrc/precomp.h
> make[5]: Entering directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> env XFORM_PRECOMP=yes ../racketcgc -cqu 
> /build/racket-5.2.1+dfsg1/src/racket/gc2/xform.rkt --setup . --cpp "gcc -E 
> -I./.. -I/build/racket-5.2.1+dfsg1/src/racket/gc2/../include 
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 "  --keep-lines -o xsrc/precomp.h 
> /build/racket-5.2.1+dfsg1/src/racket/gc2/precomp.c
> ...d/racket-5.2.1+dfsg1/collects/racket/private/reqprov.rkt:161:8: expand: 
> unbound identifier in module (in phase 1, transformer environment) in: 
> recur-pre
> make[5]: *** [xsrc/precomp.h] Error 1
> make[5]: Leaving directory `/build/racket-5.2.1+dfsg1/build/racket/gc2'
> 
> I took a look at one of Debian's wiki pages[3] to see if there was any
> commonality among those architectures which could explain this.
> 
> [3]: http://wiki.debian.org/ArchitectureSpecificsMemo
> 
> They all, unlike many others, use unsigned char by default.  Adding
> "-fsigned-char" to CFLAGS fixes the issue.  So it seems something was
> added between 5.1.3 and 5.2 that is sensitive to char signedness but
> doesn't explicitly declare the sign for char, like a lot of the code
> base does.
> 
> Cheers,
> -- 
> James
> GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy 
> 
> --
> [application/pgp-signature "signature.asc"] [~/Desktop & open] [~/Temp & open]
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] Formlets and POST

2012-02-19 Thread Norman Gray

Greetings.

Web-server formlets currently send their form input back to the server via an 
HTTP GET request.  They should probably generate a form which uses HTTP POST 
instead.

There are two problems with using GET for this.

1. If there's any sensitive information in the form, such as a password, then 
it's very obviously exposed in the URL and stored in logs, which wouldn't be 
the case if the form contents are in the HTTP request body instead.  The latter 
would provide at least a little bit of obscurity, rather than serious security. 
 This is of course not a great way to do authentication (to say the least), but 
if one trusts the network or one is talking to localhost, then it's good enough 
for some applications.  The problem isn't just confined to passwords, obviously.

2. HTTP defines GET to be side-effect free, and cacheable.  Therefore if 
there's an intermediary server between the client and the server, and it sees a 
GET request being made, it is (a) permitted to send a cached version if the URL 
is one it has seen before, and (b) permitted to make the GET request to the 
origin server multiple times (for example if there is or appears to be a 
failure), and send only one response to the client.  Either of these might mess 
up the form-mediated client-server interaction, and there's nothing anyone can 
do about it.  This is probably more of a theoretical problem than a common 
practical one.  POST is not defined to be side-effect free, and is not 
automatically cacheable.

Of course (again), the point of continuation-based forms is that they're 
functional, just like GET, but many people implement services using GET forms 
which are intended to have side-effects.

Simply defining (and using) a send/formlets/post which is identical to 
send/formlets but with a [method "POST"] added, seems to work fine, because 
formlet-process uses request-bindings/raw, which handles both GET and POST 
requests.  Therefore, I think that should probably be the default.

Best wishes,

Norman


-- 
Norman Gray  :  http://nxg.me.uk
SUPA School of Physics and Astronomy, University of Glasgow, UK


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


Re: [racket-dev] new logo

2012-02-19 Thread Matthias Felleisen

I for one like both designs a lot. 


On Feb 19, 2012, at 12:09 AM, Neil Toronto wrote:

> On 02/18/2012 08:49 PM, Eli Barzilay wrote:
>> An hour ago, Neil Toronto wrote:
>> That's why after several attempts to connect the paren to the rest of
>> the "R" I went back to Michael's original thing and left it
>> disconnected, and instead used the pointy serifs that match the pointy
>> tips of the paren, making the "R" a result of your brain connecting
>> the pieces.  In this image, I think that there are several problems in
>> that direction: separating the lambda into two parts make it look less
>> lambda-ish, and the low point of connecting the leg makes it look less
>> R-ish.  I found that using round lines helps in making it possible to
>> lift the hip with it still looking like a lambda.
> 
> Is the attached SVG better, in your opinion? I've thickened the left leg, 
> attached it to the slash, changed the angle to more R-ish, and also attached 
> the top of the round bit.
> 
>> (There's also something else that bugs me, but probably not many
>> others: de-emphasizing the line at the top makes it look too much like
>> an aleph ("ℵ"), in some army-like style.)
> 
> Yeah, but aleph is cool. If you're seeing aleph, I call that a bonus. In 
> fact, we should see how many letters from different alphabets we can cram in 
> there!
> 
> Uh, not really. :D
> 
> Neil ⊥
> _
>  Racket Developers list:
>  http://lists.racket-lang.org/dev


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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Matthias Felleisen

On Feb 18, 2012, at 11:14 AM, Sam Tobin-Hochstadt wrote:

> On Sat, Feb 18, 2012 at 11:10 AM, Robby Findler
>  wrote:
>> How about:
>> 
>>  Not enough languages in your life?
>>  Download Racket and add a few hundred more.
> 
> I like this a lot.


The above means "Racket is one of many languages, it is yet another language, 
it is oh so unspecial." 


> Or, with the Matthias theme:
>  I want YOU to build your own language [1]


Much much better. 


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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Matthias Felleisen

On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:

>> Or, with the Matthias theme:
>> I want YOU to build your own language [1]
> 
> 
> Much much better. 


We should re-work PLAI/EOPL to exploit this, turn into a Guide to the 
Metahitchiker's Guide. 
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Matthias Felleisen

On Feb 19, 2012, at 12:44 PM, Matthias Felleisen wrote:

> 
> On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:
> 
>>> Or, with the Matthias theme:
>>> I want YOU to build your own language [1]
>> 
>> 
>> Much much better. 
> 
> 
> We should re-work PLAI/EOPL to exploit this, turn into a Guide to the 
> Metahitchiker's Guide.


'Universe' of course. 


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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Eli Barzilay
Just now, Matthias Felleisen wrote:
> 
> On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:
> 
> >> Or, with the Matthias theme:
> >> I want YOU to build your own language [1]
> > 
> > Much much better. 
> 
> We should re-work PLAI/EOPL to exploit this, turn into a Guide to
> the Metahitchiker's Guide.

Speaking about meta-meta-hacks, http://tmp.barzilay.org/m.jpg .

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Shriram Krishnamurthi
I viewed it on my phone (ie, slow) on a 2G connection (ie, even slower).

I suggest trying to simulate the experience because the layers draw one by
one. About half way through, the person looks like Lothar from the Mandrake
comics.

I will not dwell on similarities to the final picture.

--
Pardon terseness and mistakes -- sent from phone.
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Jay McCarthy
Awesome

On Sun, Feb 19, 2012 at 10:47 AM, Eli Barzilay  wrote:
> Just now, Matthias Felleisen wrote:
>>
>> On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:
>>
>> >> Or, with the Matthias theme:
>> >> I want YOU to build your own language [1]
>> >
>> > Much much better.
>>
>> We should re-work PLAI/EOPL to exploit this, turn into a Guide to
>> the Metahitchiker's Guide.
>
> Speaking about meta-meta-hacks, http://tmp.barzilay.org/m.jpg .
>
> --
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                    http://barzilay.org/                   Maze is Life!
> _
>  Racket Developers list:
>  http://lists.racket-lang.org/dev



-- 
Jay McCarthy 
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

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


Re: [racket-dev] Is anybody else getting this error?

2012-02-19 Thread Sean Reque
Neil Toronto  writes:

> 
> This is from the latest release. On Redex errors and some Typed Racket 
> errors (so far), I get something like
> 
> exception raised by error display handler: normalize-path: 
> # (within the input path) is not a directory or 
> does not exist; original exception raised: reduction-relation: before 
> underscore must be either a non-terminal or a built-in pattern, found 1 
> in b_1
> 
> The problem isn't the Redex error I'm getting - I know how to fix that - 
> but that it's expecting a "/var/tmp/racket" directory to exist.
> 
> Obviously I could create this directory, but I wanted to bring it up 
> here first. It appears that some collects are either making an 
> assumption they shouldn't be making, or they rely on a badly behaved 
> function that creates temporary files. (I've verified that 
> `make-temporary-file' is working.)
> 
> Neil ⊥
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
> 

I'm getting this error on the latest release of Racket (5.2) on Windows just 
using vanilla Racket and running my program. The exact message is:

exception raised by error display handler: normalize-path: # 
(within the input path) is not a directory or does not exist; original 
exception 
raised: ...





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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Neil Toronto

Beat me to it.

+2

On 02/19/2012 01:26 PM, Jay McCarthy wrote:

Awesome

On Sun, Feb 19, 2012 at 10:47 AM, Eli Barzilay  wrote:

Just now, Matthias Felleisen wrote:


On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:


Or, with the Matthias theme:
I want YOU to build your own language [1]


Much much better.


We should re-work PLAI/EOPL to exploit this, turn into a Guide to
the Metahitchiker's Guide.


Speaking about meta-meta-hacks, http://tmp.barzilay.org/m.jpg .

--
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev

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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Robby Findler
This is just fantastic.

Robby

On Sun, Feb 19, 2012 at 7:06 PM, Neil Toronto  wrote:
> Beat me to it.
>
> +2
>
>
> On 02/19/2012 01:26 PM, Jay McCarthy wrote:
>>
>> Awesome
>>
>> On Sun, Feb 19, 2012 at 10:47 AM, Eli Barzilay  wrote:
>>>
>>> Just now, Matthias Felleisen wrote:


 On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:

>> Or, with the Matthias theme:
>> I want YOU to build your own language [1]
>
>
> Much much better.


 We should re-work PLAI/EOPL to exploit this, turn into a Guide to
 the Metahitchiker's Guide.
>>>
>>>
>>> Speaking about meta-meta-hacks, http://tmp.barzilay.org/m.jpg .
>>>
>>> --
>>>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>>>                    http://barzilay.org/                   Maze is Life!
>>> _
>>>  Racket Developers list:
>>>  http://lists.racket-lang.org/dev
>
> _
>  Racket Developers list:
>  http://lists.racket-lang.org/dev

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


Re: [racket-dev] Possible promotional poster (with apologies to Matthias)

2012-02-19 Thread Eli Barzilay
(BTW, I have the XCF file, in case anyone wants to use it with some
other text...  or some other person...)


An hour ago, Robby Findler wrote:
> This is just fantastic.
> 
> Robby
> 
> On Sun, Feb 19, 2012 at 7:06 PM, Neil Toronto  wrote:
> > Beat me to it.
> >
> > +2
> >
> >
> > On 02/19/2012 01:26 PM, Jay McCarthy wrote:
> >>
> >> Awesome
> >>
> >> On Sun, Feb 19, 2012 at 10:47 AM, Eli Barzilay  wrote:
> >>>
> >>> Just now, Matthias Felleisen wrote:
> 
> 
>  On Feb 19, 2012, at 12:42 PM, Matthias Felleisen wrote:
> 
> >> Or, with the Matthias theme:
> >> I want YOU to build your own language [1]
> >
> >
> > Much much better.
> 
> 
>  We should re-work PLAI/EOPL to exploit this, turn into a Guide to
>  the Metahitchiker's Guide.
> >>>
> >>>
> >>> Speaking about meta-meta-hacks, http://tmp.barzilay.org/m.jpg .
> >>>
> >>> --
> >>>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
> >>>                    http://barzilay.org/                   Maze is Life!
> >>> _
> >>>  Racket Developers list:
> >>>  http://lists.racket-lang.org/dev
> >
> > _
> >  Racket Developers list:
> >  http://lists.racket-lang.org/dev
> 
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!

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


Re: [racket-dev] An Improvement to for/set

2012-02-19 Thread Matthias Felleisen

for/set sounds and looks more uniform with the rest of the loops, no? 
union you can throw in as a function or for/fold. 


On Feb 17, 2012, at 1:30 PM, J. Ian Johnson wrote:

> I would prefer a simpler for/union:
> 
> (define-syntax (for/union stx)
>  (syntax-case stx ()
>[(_ clauses . body)
> #'(for/fold/derived stx ((accum-set (set))) clauses
> (set-union accum-set (let () . body))]))
> 
> -Ian
> 
> - Original Message -
> From: "Daniel King" 
> To: "Racket Dev List" 
> Sent: Friday, February 17, 2012 1:07:25 PM GMT -05:00 US/Canada Eastern
> Subject: [racket-dev] An Improvement to for/set
> 
> I've noticed myself desiring a for/set that would allow me to
> optionally add zero, one, or more elements to the accumulated set
> during each iteration. Is this something that other people would be
> interested in having in the set library? If so, I can send a pull
> request to the github repo.
> 
> My implementation should be backwards compatible with the old one. I
> also created set-add* because I found myself wanting to add arbitrary
> numbers of elements to sets as well.
> 
> ;; set-add* : [Set X] X ... -> [Set X]
> (define (set-add* s . vs)
>  (for/fold ((s s)) ((v vs))
>(set-add s v)))
> 
> (define-syntax (for/set stx)
>  (syntax-case stx ()
>[(_ clauses . body)
> #'(for/fold/derived stx ((accum-set (set))) clauses
> (call-with-values (lambda () . body)
>   (curry set-add* accum-set)))]))
> 
> Examples:
> 
>> (for/set ((x '(1 2 3 4 5)))
>  (sqr x))
> (set 1 4 9 16 25)
> 
>> (for/set ((x '(1 2 3 4 5)))
>(if (odd? x) x (values)))
> (set 1 3 5)
> 
> 
> -- 
> Dan King
> College of Computer and Information Science
> Northeastern University
> _
>  Racket Developers list:
>  http://lists.racket-lang.org/dev
> _
>  Racket Developers list:
>  http://lists.racket-lang.org/dev

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