By thisine of reasoning a scheme imlementation that didn't have contracts should change car-of-null error message to say "a function had an error" which seems wrong to me.
I agree with Jay. Robby On Monday, March 29, 2010, Matthias Felleisen <[email protected]> wrote: > > Yeap, Lispers love that they can manipulate everything > and complain that everything manipulates them. > > I think we should accept these kind of value-errors > when we are working on our own code. When we pull in > someone else's code and this happens, we should complain > until he adds contracts to the module. > > The story for syntax looks analogous at first glance. > But we are missing syntax-contracts. So we write down > what we want the syntax extension to 'feel' like with > quasi grammars and whatever. We always do this, with > comments though. And therefore we should get errors > at the 'upper' level. > > All in all, this is why I proposed the second half of > Ryan's dissertation as a thesis-level problem, and I > think we have mad progress. > > > > > > On Mar 29, 2010, at 5:30 PM, Jay McCarthy wrote: > > > If I call (f 5) and the error pops up: > > car: expects argument of type <pair>; given 5 > > I could say, "A mis-user of a function shouldn't need to know that the > function is implemented with 'car' or even with pattern matching." > > I would say that f is a broken function because it doesn't translate > errors in its implementation (not checking enough before calling car) > to errors in the user's input. > > Similarly, I think that syntax-case errors should say 'syntax-case' in > them. If a macro lets such an error escape, then it is a bad macro, > just like f would be a bad function. > > In practice this means that good syntax-case macros have a clause: > > [_ (raise-syntax-error 'macro "My syntax is ...." stx)] > > Jay > > On Mon, Mar 29, 2010 at 2:43 PM, Matthias Felleisen > <[email protected]> wrote: > > > On Mar 29, 2010, at 4:39 PM, Matthew Flatt wrote: > > > For now, I'm opposed to either change. A mis-user of a syntactic form > shouldn't need to know that the form is implemented with `syntax-case' > or even with pattern matching. > > > > Eugene Kohlbecker would whole-heartedly agree here. Let's not confuse how a > macro is implemented with what it supposed to > do._________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-dev > > > > > > -- > Jay McCarthy <[email protected]> > Assistant Professor / Brigham Young University > http://teammccarthy.org/jay > > "The glory of God is Intelligence" - D&C 93 > > > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-dev > _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev
