Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Marijn
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10-02-12 23:38, John Clements wrote:
 A user on stackoverflow had a question about this code:
 
 (define list-sum-odd (lambda (list) (cond ((null? list) 0) ((odd?
 (car list)) (+ (car list) (list-sum-odd (cdr list (list-sum-odd
 (cdr list)
 
 
 (list-sum-odd '(3 4 5))
 
 ... which signalled an error. In #lang racket, you get
 
 +: expects type number as 2nd argument, given: '(5); other
 arguments were: 3
 
 ... which is the right error for #lang racket. The response showed
 him that he'd forgotten the else in his last clause.
 
 Ho Ho! thought I. Beginner Student Racket will give a much
 better error message. Actually, though, the error message was much
 worse: it highlighted the id list-sum-odd in what should have
 been the 'else' case, and wrote:
 
 list-sum-odd: expected a function call, but there is no open
 parenthesis before this function
 
 ... which is really terrible, because there *IS* a parenthesis
 right before the function name.

How about changing the message such that it complains about a shortage
of parentheses without stating that there are none?

- - expected a function call, but there is an open parenthesis missing
before this function name

Or maybe formulate it in a positive way to encourage the user to
insert parentheses?

- - expected a function call, but found a function name; to call it add
surrounding parentheses

Marijn
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEUEARECAAYFAk844HoACgkQp/VmCx0OL2yVKACXWLUXrftUvkaqxqMkmK0LY/UO
OwCgmulM/kFmLsxoQfv4t+flPv9D4G8=
=/Yj0
-END PGP SIGNATURE-
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] new logo

2012-02-13 Thread Norman Gray

Greetings.

I've no real standing here -- this is an observation from the sidelines

On 2012 Feb 13, at 06:05, SF wrote:

 Another way to combine lambda and capital R:
 http://i.imgur.com/PuGTE.png

Combining the lambda and the R in this way looks like a very good idea to me.

I can see the point to the original 'r' logo -- it picks up the previous PLT 
colours, it looks nicely informal (though that particular example perhaps went 
a little too far, and could look childish), and of course it picks up the 'r' 
of Racket.  I'm also one of those who thinks it'd be a shame to lose the 
lambdas, and I think that SF's suggestion here marries several of these 
desiderata.

With that in mind, I'll suggest a variant of it (born analogue, I'm afraid, 
rather than as pixels)

http://nxg.me.uk/temp/lambda-r.png

The first three seem to be tending towards the florid, but some more rhythmic 
version of the other three -- variants of 'λr.' -- might be worth closer 
examination.  I'm aware the last one of the six is starting to look more like 
lambda-tau.

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-13 Thread Jens Axel Søgaard
2012/2/12 Eli Barzilay e...@barzilay.org

 An hour ago, Michael W wrote:
 
  Or something with the parenthesis echo motif on the main site:
  http://img513.imageshack.us/img513/5233/lambdarechopng.jpg

 This one is great!



 Here's a rough sketch that shows what I'm thinking of (using the shiny
 bg):

  http://tmp.barzilay.org/cr.png


From all the suggestions so far, this is the concept I like the best.
(Imagine it rendered in the style of the new r-logo).

Pros:  * it is clear it is an R
  * it is clear R builds on lambda
  * a black and white version is easy to make
  * it will work in small sizes too

Who cares about unbalanced parentheses in logos?

-- 
Jens Axel Søgaard
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Robby Findler
+1

Robby

On Fri, Feb 10, 2012 at 4:52 PM, Matthias Felleisen
matth...@ccs.neu.edu wrote:


 Yes, and it was submitted in some form as a bug before. Why don't you modify 
 teach.rkt and see whether you like the result better. Then submit.




 On Feb 10, 2012, at 5:43 PM, Danny Yoo wrote:


 Ho Ho! thought I. Beginner Student Racket will give a much better error 
 message. Actually, though, the error message was much worse: it 
 highlighted the id list-sum-odd in what should have been the 'else' case, 
 and wrote:

 list-sum-odd: expected a function call, but there is no open parenthesis 
 before this function

 ... which is really terrible, because there *IS* a parenthesis right before 
 the function name.


 This is a variation of one of the cases described in Guillaume's paper
 on error messages.  Figure 4 of
 http://gmarceau.qc.ca/papers/Marceau-2010-Measuring-Effectiveness.pdf
 _
  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] new logo

2012-02-13 Thread Eduardo Bellani
+1 for something like

http://tmp.barzilay.org/cr.png

On 02/12/2012 04:50 AM, Eli Barzilay wrote:
 An hour ago, Michael W wrote:

 Or something with the parenthesis echo motif on the main site:
 http://img513.imageshack.us/img513/5233/lambdarechopng.jpg
 
 This one is great!  The noisy parens are not important as the R
 itself which is very recognizable as an R even with a clear λ.  It
 inherits the benefits of the λ logo and maintains continuity.  It even
 has a semi-hidden visual pun: it combines λ and ) to get an R.
 All of this is just from the basic shape, which means that it will
 work well in other contexts and forms (printed on paper, shirts, and
 those ads that little piper planes drag around).
 
 Here's a rough sketch that shows what I'm thinking of (using the shiny
 bg):
 
   http://tmp.barzilay.org/cr.png
 
 The pun can even be taken further by adding a ( on the left, smaller
 and fading out, so it looks like a curl on the top-left:
 
   http://tmp.barzilay.org/cr2.png
 


-- 
Eduardo Bellani

omnia mutantur, nihil interit.
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] Google Summer of Code

2012-02-13 Thread Sam Tobin-Hochstadt
Google continues to run the summer of code project, and in recent
years, they've significantly expanded the set of open-source projects
they accept.  We should submit Racket this year:

http://www.google-melange.com/gsoc/homepage/google/gsoc2012

-- 
sam th
sa...@ccs.neu.edu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] Google Summer of Code

2012-02-13 Thread Matthias Felleisen

Go do it. Both Asumu and John have sent similar signals. Take the initiative. 
Do! 


On Feb 13, 2012, at 8:02 AM, Sam Tobin-Hochstadt wrote:

 Google continues to run the summer of code project, and in recent
 years, they've significantly expanded the set of open-source projects
 they accept.  We should submit Racket this year:
 
 http://www.google-melange.com/gsoc/homepage/google/gsoc2012
 
 -- 
 sam th
 sa...@ccs.neu.edu
 _
  Racket Developers list:
  http://lists.racket-lang.org/dev


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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Stephen Bloch

On Feb 13, 2012, at 5:05 AM, Marijn wrote:

 ... it highlighted the id list-sum-odd in what should have
 been the 'else' case, and wrote:
 
 list-sum-odd: expected a function call, but there is no open
 parenthesis before this function
 
 ... which is really terrible, because there *IS* a parenthesis
 right before the function name.
 
 How about changing the message such that it complains about a shortage
 of parentheses without stating that there are none?
 
 - - expected a function call, but there is an open parenthesis missing
 before this function name

Doesn't help much: as any student can see, there IS an open parenthesis before 
this function name.

 Or maybe formulate it in a positive way to encourage the user to
 insert parentheses?
 
 - - expected a function call, but found a function name; to call it add
 surrounding parentheses

It's GOT surrounding parentheses.



The mistake the student made was at the cond level, not at the level of this 
function call, so the right error message has to say something about cond, 
like

-- cond: each clause must be a question/answer pair enclosed in brackets.  You 
have two expressions that look like the question and the answer, but you 
need another pair of brackets around the two of them.

It should be possible for the cond macro to detect this situation, at least 
in BSL, because the first element of what should be a cond-clause is a function 
name, and that's not a complete expression.  In ISLL, a function name can 
appear as an expression in its own right, but it still doesn't make sense as 
the first element of a cond-clause because a function name isn't a boolean: if 
it's defined, then it's non-null and therefore true, and if it's not, the 
student shouldn't be mentioning it at all.  Not until ASL does it become 
possible (albeit unlikely) that a function name could make sense as a condition.



Stephen Bloch
sbl...@adelphi.edu


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


Re: [racket-dev] new logo

2012-02-13 Thread Stephen Bloch

On Feb 13, 2012, at 6:16 AM, Jens Axel Søgaard wrote:

  http://tmp.barzilay.org/cr.png
 
 From all the suggestions so far, this is the concept I like the best.
 (Imagine it rendered in the style of the new r-logo).
 
 Pros:  * it is clear it is an R
   * it is clear R builds on lambda
   * a black and white version is easy to make
   * it will work in small sizes too
 
 Who cares about unbalanced parentheses in logos?

Hear, hear!

When people are looking for something to complain about in Scheme, the 
parentheses are the first thing they point to.  Racket is not about 
parentheses, so I'd prefer towards a logo that DOESN'T have any obvious 
parentheses (balanced or otherwise).  If we build an R from a lambda, the added 
bow should be sufficiently curvy that parenthesis isn't the first thing one 
thinks of.


Stephen Bloch
sbl...@adelphi.edu

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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread David Van Horn

On 2/13/12 8:11 AM, Stephen Bloch wrote:


On Feb 13, 2012, at 5:05 AM, Marijn wrote:


... it highlighted the id list-sum-odd in what should have
been the 'else' case, and wrote:

list-sum-odd: expected a function call, but there is no open
parenthesis before this function

... which is really terrible, because there *IS* a parenthesis
right before the function name.


How about changing the message such that it complains about a shortage
of parentheses without stating that there are none?

- - expected a function call, but there is an open parenthesis missing
before this function name


Doesn't help much: as any student can see, there IS an open parenthesis before 
this function name.


Or maybe formulate it in a positive way to encourage the user to
insert parentheses?

- - expected a function call, but found a function name; to call it add
surrounding parentheses


It's GOT surrounding parentheses.



The mistake the student made was at the cond level, not at the level of this function call, so 
the right error message has to say something about cond, like

-- cond: each clause must be a question/answer pair enclosed in brackets.  You have two expressions 
that look like the question and the answer, but you need another pair of 
brackets around the two of them.

It should be possible for the cond macro to detect this situation, at least 
in BSL, because the first element of what should be a cond-clause is a function name, and 
that's not a complete expression.  In ISLL, a function name can appear as an expression 
in its own right, but it still doesn't make sense as the first element of a cond-clause 
because a function name isn't a boolean: if it's defined, then it's non-null and 
therefore true, and if it's not, the student shouldn't be mentioning it at all.  Not 
until ASL does it become possible (albeit unlikely) that a function name could make sense 
as a condition.


In BSL, you can detect when the first element of a clause is a variable 
bound to a function, but I don't follow the reasoning about ISL.  You 
can't distinguish good from bad uses without running the code because 
you can't tell if a name refers to a function or a non-function.


ISL actually gives the best error message in my opinion:

cond: question result is not true or false: (lambda (a1) ...)

But it only does this at run time (as it must).  The syntax error for 
BSL could be similar though:


cond: question is not an expression but a function name: list-sum-odd

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


Re: [racket-dev] new logo

2012-02-13 Thread Vincent St-Amour
At Mon, 13 Feb 2012 01:05:57 -0500,
SF wrote:
 While trying to refine that sketch I had the idea to extend the stem
 for a dynamic look, perhaps this would fit better in a circle:
 http://i.imgur.com/IywqK.png

+1

That's my new favorite.

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


[racket-dev] meta discussion: standing and participating in discussions

2012-02-13 Thread Matthias Felleisen

The discussion on logo and a few others recent exchanges have repeatedly 
brought fourth messages with lines such as these: 

 I've no real standing here -- this is an observation from the sidelines


As the oldest PLTer on this list, let me clarify something here: 

if you have bothered to sign up for dev, 
and if you have read a thread, 
and if you don't post OT on a dec discussion, 
-
we WELCOME your insights. 

This is especially true if a thread starts out with I have done X and I would 
like to know what you think or some such phrasology. 

So keep posting your insights, ideas, comments in a constructive way. 

Thanks -- Matthias




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


Re: [racket-dev] new logo

2012-02-13 Thread Philippe Meunier
How about combining the ideas of http://i.imgur.com/PuGTE.png
http://nxg.me.uk/temp/lambda-r.png (the one in the upper right) and
http://tmp.barzilay.org/cr.png (forgetting about an explicit
parenthesis) into a single, simple, new symbol like the one attached?
(okay, it looks more like a lambda merged with a P rather than with an
R but I think the trick would just be to find a font where lambdas
and italic Rs combine more nicely than in my quick example).

For some reason it slightly reminds me of a symbol for some religious
cult or political party, which might or might not be a good thing.

And that's all I'll say on the topic...  Goodnight.

Philippe


attachment: lamket.jpg_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] new logo

2012-02-13 Thread Vincent St-Amour
At Mon, 13 Feb 2012 09:54:58 -0500,
Philippe Meunier wrote:
 For some reason it slightly reminds me of a symbol for some religious
 cult or political party, which might or might not be a good thing.

Were you thinking of this?
http://en.wikipedia.org/wiki/Chi_Rho

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


Re: [racket-dev] new logo

2012-02-13 Thread Norman Gray

On 2012 Feb 13, at 14:54, Philippe Meunier wrote:

 For some reason it slightly reminds me of a symbol for some religious
 cult or political party, which might or might not be a good thing.

Whoa!  Doesn't it just!

Another thing that occurred to me, on the same model as before, is to go for an 
almost completely typographical logo.  At http://nxg.me.uk/temp/lambda-r5.pdf 
is a possibility.  It's just '\r.', really, but with the lambda in a cursive 
font, the 'r.' in a modern one (Gill Sans), and some pretty aggressive tracking 
to make it into a unit.

That doesn't have the shinies of other suggestions, but it's obviously very 
adaptable and (to my aesthetic at least) matches the chiselled restraint of a 
Scheme.

I think that's exhausted my visual creativity for the day, so I'll shut up 
now

All the best,

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-13 Thread Matthias Felleisen

I do actually like the combination of lambda and r, though I am sure the color 
scheme could benefit from some variation. 


On Feb 13, 2012, at 10:25 AM, Norman Gray wrote:

 
 On 2012 Feb 13, at 14:54, Philippe Meunier wrote:
 
 For some reason it slightly reminds me of a symbol for some religious
 cult or political party, which might or might not be a good thing.
 
 Whoa!  Doesn't it just!
 
 Another thing that occurred to me, on the same model as before, is to go for 
 an almost completely typographical logo.  At 
 http://nxg.me.uk/temp/lambda-r5.pdf is a possibility.  It's just '\r.', 
 really, but with the lambda in a cursive font, the 'r.' in a modern one (Gill 
 Sans), and some pretty aggressive tracking to make it into a unit.
 
 That doesn't have the shinies of other suggestions, but it's obviously very 
 adaptable and (to my aesthetic at least) matches the chiselled restraint of a 
 Scheme.
 
 I think that's exhausted my visual creativity for the day, so I'll shut up 
 now
 
 All the best,
 
 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


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


Re: [racket-dev] new logo

2012-02-13 Thread Norman Gray

Greetings.

On 2012 Feb 13, at 17:03, Matthias Felleisen wrote:

 I do actually like the combination of lambda and r, though I am sure the 
 color scheme could benefit from some variation. 

Less might be more, but http://nxg.me.uk/temp/lambda-r6.pdf shows an 
adjustment.  The blue is a bit too light, the red a bit too pink, and the text 
could perhaps be a shade bigger, but the shape is not, I think, unpleasing.

All the best,

Norman


 On Feb 13, 2012, at 10:25 AM, Norman Gray wrote:
 
 
 On 2012 Feb 13, at 14:54, Philippe Meunier wrote:
 
 For some reason it slightly reminds me of a symbol for some religious
 cult or political party, which might or might not be a good thing.
 
 Whoa!  Doesn't it just!
 
 Another thing that occurred to me, on the same model as before, is to go for 
 an almost completely typographical logo.  At 
 http://nxg.me.uk/temp/lambda-r5.pdf is a possibility.  It's just '\r.', 
 really, but with the lambda in a cursive font, the 'r.' in a modern one 
 (Gill Sans), and some pretty aggressive tracking to make it into a unit.
 
 That doesn't have the shinies of other suggestions, but it's obviously very 
 adaptable and (to my aesthetic at least) matches the chiselled restraint of 
 a Scheme.
 
 I think that's exhausted my visual creativity for the day, so I'll shut up 
 now
 
 All the best,
 
 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
 

-- 
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-13 Thread Jose A. Ortega Ruiz
On Sun, Feb 12 2012, David Van Horn wrote:

[...]

 Maybe an 'r' in different scripts can be considered? For example, an
 R rotunda: http://en.wikipedia.org/wiki/R_rotunda

 FWIW, I like this quite a bit.  I think if you put this on the new
 background, you'd have a winner.

For the very little it's worth, i agree.  To my taste, it's the most
elegant option by far.

jao
-- 
How many Zen Buddhist does it take to change a light bulb?
Two. One to change it and one not to change it.

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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread David Van Horn

On 2/13/12 4:20 PM, Stephen Bloch wrote:


On Feb 13, 2012, at 8:28 AM, David Van Horn wrote:


In BSL, you can detect when the first element of a clause is a variable bound 
to a function, but I don't follow the reasoning about ISL.  You can't 
distinguish good from bad uses without running the code because you can't tell 
if a name refers to a function or a non-function.


Not reliably, because the student COULD be using a parameter or a local 
variable in that position.  But in the COMMON case of this error, the student 
will use a predefined function or an explicitly user-defined top-level 
function, and it should be possible to recognize those at syntax-check-time.


But even if the name is a parameter, it cannot be bound to a function. 
If it's a local, it either is or isn't a function -- you can tell from 
the definition.


I think it's correct to consider this a syntax error, not a run-time 
error.  It should just have a better message.



Which leaves


cond: question result is not true or false: (lambda (a1) ...)


as a good error message to report at run time in the rare cases that don't 
match the above description.


Except you don't want to say lambda in BSL.

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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Stephen Bloch

On Feb 13, 2012, at 8:28 AM, David Van Horn wrote:

 In BSL, you can detect when the first element of a clause is a variable bound 
 to a function, but I don't follow the reasoning about ISL.  You can't 
 distinguish good from bad uses without running the code because you can't 
 tell if a name refers to a function or a non-function.

Not reliably, because the student COULD be using a parameter or a local 
variable in that position.  But in the COMMON case of this error, the student 
will use a predefined function or an explicitly user-defined top-level 
function, and it should be possible to recognize those at syntax-check-time.

Which leaves

 cond: question result is not true or false: (lambda (a1) ...)

as a good error message to report at run time in the rare cases that don't 
match the above description.



Stephen Bloch
sbl...@adelphi.edu


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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Stephen Bloch

On Feb 13, 2012, at 5:07 PM, David Van Horn wrote:

 On 2/13/12 4:20 PM, Stephen Bloch wrote:
 
 On Feb 13, 2012, at 8:28 AM, David Van Horn wrote:
 
 In BSL, you can detect when the first element of a clause is a variable 
 bound to a function, but I don't follow the reasoning about ISL.  You can't 
 distinguish good from bad uses without running the code because you can't 
 tell if a name refers to a function or a non-function.
 
 Not reliably, because the student COULD be using a parameter or a local 
 variable in that position.  But in the COMMON case of this error, the 
 student will use a predefined function or an explicitly user-defined 
 top-level function, and it should be possible to recognize those at 
 syntax-check-time.
 
 But even if the name is a parameter, it cannot be bound to a function. If 
 it's a local, it either is or isn't a function -- you can tell from the 
 definition.

In ISLL, a parameter could be bound to a function.  You're right, in ISL it 
can't, so that's even easier.

 I think it's correct to consider this a syntax error, not a run-time error.  
 It should just have a better message.
 
 Which leaves
 
 cond: question result is not true or false: (lambda (a1) ...)
 
 as a good error message to report at run time in the rare cases that don't 
 match the above description.
 
 Except you don't want to say lambda in BSL.

No, of course not.

So to sum it up:

In BSL and BSLL, you can tell at compile-time what identifiers are bound to 
functions (either predefined or user-defined-at-the-top-level).  If the first 
element of a cond-clause is such an identifier, trigger our 
clever-error-message-to-be-determined.

In ISL, there's an additional case: a local variable might or might not be 
bound to a function.  That's a little more hassle to check, but it should be 
doable at compile-time.  Again, if the first element of a cond-clause is an 
identifier bound to a function, trigger our clever error message at 
compile-time.

In ISLL, there's another additional case: a parameter, for which you REALLY 
can't tell (without a bunch of heavy-duty type inference, and in general it's 
probably undecidable) whether it's bound to a function.  In that case, you can 
use the aforementioned run-time error message involving lambda.  In all the 
previous cases, which we should still be able to detect and which should cover 
the great majority of cases, trigger the clever compile-time error message.

In ASL and #lang racket, there are still cases in which you could trigger this 
error message.  There's already a mechanism to tell whether a particular 
variable is ever mutated in a particular module (I don't remember what this is 
used for, but people have mentioned adding a set! as a work-around to various 
provide/require problems), so if the cond-clause-entry in question is an 
identifier that isn't mutated in this module and is bound to a function, 
trigger the clever error message.  Although for ASL and #lang racket, the 
clever error message isn't as important

Stephen Bloch
sbl...@adelphi.edu


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


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread David Van Horn

On 2/13/12 7:32 PM, Stephen Bloch wrote:

In ISL, there's an additional case: a local variable might or might not be 
bound to a function.  That's a little more hassle to check, but it should be 
doable at compile-time.  Again, if the first element of a cond-clause is an 
identifier bound to a function, trigger our clever error message at 
compile-time.


Once you go to ISL you cannot tell whether a name refers to a function 
or a non-function without running code.


ISL is higher-order; it just doesn't have lambda or the ability to 
compute functions in operator position.  Even that's a lie if you're 
willing to squint a little.


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


[racket-dev] build fail for 64-bit OS X af9bab74265

2012-02-13 Thread John Clements
After axing and re-creating the src directory, I get this error while building 
racket on 64-bit Lion:

a - src/rational.o
a - src/read.o
a - src/regexp.o
a - src/resolve.o
a - src/salloc.o
a - src/sema.o
a - src/setjmpup.o
a - src/sfs.o
a - src/string.o
a - src/struct.o
a - src/symbol.o
a - src/syntax.o
a - src/thread.o
a - src/type.o
a - src/unwind.o
a - src/validate.o
a - src/vector.o
a - ../foreign/foreign.o
ranlib libracket.a
ranlib: file: libracket.a(unwind.o) has no symbols
make racketcgc 
mkdir -p  Racket.framework/Versions/5.2.1.5
gcc -o Racket.framework/Versions/5.2.1.5/Racket  -pthread -framework 
CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
-L/opt/local/lib -lffi   
Undefined symbols for architecture x86_64:
 _iconv_close, referenced from:
 _close_converter in libracket.a(string.o)
 _scheme_close_converter in libracket.a(string.o)
 _do_convert in libracket.a(string.o)
 _byte_string_close_converter in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _iconv_open, referenced from:
 _do_convert in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _scheme_open_converter in libracket.a(string.o)
 _iconv, referenced from:
 _do_convert in libracket.a(string.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [Racket.framework/Versions/5.2.1.5/Racket] Error 1
make[3]: *** [cgc] Error 2
make[2]: *** [3m] Error 2
make[1]: *** [3m] Error 2
make: *** [all] Error 2
device:~/plt/src/build clements$

I conjecture that this is related to commit 
af927734079e823c566b0791ae440d8a6722b7d6 ?

John


smime.p7s
Description: S/MIME cryptographic signature
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] build fail for 64-bit OS X af9bab74265

2012-02-13 Thread Matthew Flatt
Have you changed anything about your installation via MacPorts lately?

I think you're seeing a mismatch between a MacPorts iconv and the
pre-installed iconv. See also

 https://lists.racket-lang.org/dev/archive/2011-April/006153.html

At Mon, 13 Feb 2012 17:02:20 -0800, John Clements wrote:
 After axing and re-creating the src directory, I get this error while 
 building 
 racket on 64-bit Lion:
 
 a - src/rational.o
 a - src/read.o
 a - src/regexp.o
 a - src/resolve.o
 a - src/salloc.o
 a - src/sema.o
 a - src/setjmpup.o
 a - src/sfs.o
 a - src/string.o
 a - src/struct.o
 a - src/symbol.o
 a - src/syntax.o
 a - src/thread.o
 a - src/type.o
 a - src/unwind.o
 a - src/validate.o
 a - src/vector.o
 a - ../foreign/foreign.o
 ranlib libracket.a
 ranlib: file: libracket.a(unwind.o) has no symbols
 make racketcgc 
 mkdir -p  Racket.framework/Versions/5.2.1.5
 gcc -o Racket.framework/Versions/5.2.1.5/Racket  -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
 -L/opt/local/lib -lffi   
 Undefined symbols for architecture x86_64:
  _iconv_close, referenced from:
  _close_converter in libracket.a(string.o)
  _scheme_close_converter in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _byte_string_close_converter in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _iconv_open, referenced from:
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _scheme_open_converter in libracket.a(string.o)
  _iconv, referenced from:
  _do_convert in libracket.a(string.o)
 ld: symbol(s) not found for architecture x86_64
 collect2: ld returned 1 exit status
 make[4]: *** [Racket.framework/Versions/5.2.1.5/Racket] Error 1
 make[3]: *** [cgc] Error 2
 make[2]: *** [3m] Error 2
 make[1]: *** [3m] Error 2
 make: *** [all] Error 2
 device:~/plt/src/build clements$
 
 I conjecture that this is related to commit 
 af927734079e823c566b0791ae440d8a6722b7d6 ?
 
 John  
 
 --
 [application/pkcs7-signature smime.p7s] [~/Desktop  open] [~/Temp  open]
 _
   Racket Developers list:
   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] very unhelpful beginner language error message, possible fix proposed

2012-02-13 Thread Bloch Stephen


On Feb 13, 2012, at 7:44 PM, David Van Horn wrote:


On 2/13/12 7:32 PM, Stephen Bloch wrote:
In ISL, there's an additional case: a local variable might or  
might not be bound to a function.  That's a little more hassle to  
check, but it should be doable at compile-time.  Again, if the  
first element of a cond-clause is an identifier bound to a  
function, trigger our clever error message at compile-time.


Once you go to ISL you cannot tell whether a name refers to a  
function or a non-function without running code.


You can't tell IN GENERAL, but in many cases you can.  I'm suggesting  
that those cases cover the most common instances of this user error,  
so it would be worth checking for them.



Stephen Bloch
sbl...@adelphi.edu



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


Re: [racket-dev] new logo

2012-02-13 Thread SF
http://i.imgur.com/glpGB.png
_
  Racket Developers list:
  http://lists.racket-lang.org/dev