[plt-dev] weird error; contracts for xml error
On Sat, May 30, 2009 at 2:46 PM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
> On Sat, May 30, 2009 at 12:17 PM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>>
>> 1. what does this really mean:
>>
>>> Making Web pages in /Users/matthias/0Unison/0Web/
>>> link: module mismatch, probably from old bytecode whose dependencies have
>>> changed: variable not provided (directly or indirectly and at the expected
>>> position) from module: "/Users/matthias/plt/collects/xml/private/reader.ss"
>>> accessed from module: "/Users/matthias/plt/collects/wxme/xml.ss" at source
>>> phase level: 0 in: provide/contract-contract-id-read-xml.2
>>
>> This happened right after I ran setup-plt -l xml.
>>
>> 2. here is a contract error, which I believes illustrates the "pressure of
>> contracts" conjecture:
>>
>>> Making Web pages in /Users/matthias/0Unison/0Web/107-f08/
>>> (file "/Users/matthias/plt/collects/xml/private/reader.ss") broke the
>>> contract
>>> (->
>>> (or/c location? symbol? #f)
>>> (or/c location? symbol? #f)
>>> symbol?
>>> (or/c permissive/c string?)
>>> attribute?)
>>> on make-attribute; not in permissive mode
>>
>> So this seems to mean a (permissive? #t) is missing from reader.ss. I added
>> it and 'it works now' but I don't think that's the proper way to go about
>> it.
>
> I don't know what the pressure of contracts is,
It is when adding one contract to (say) my module forces you to a
contract your module in order to shift the blame on to the next guy.
It is a way in which contracts infect a codebase.
Robby
> but the XML parameter
> permissive? is basically only used by the XML tool in DrScheme to put
> the special Scheme boxes inside of the XML behind the XML box. You
> should put it in _your_ code, not the XML collection if you need it to
> be in permissive mode.
>
> Jay
>
> --
> Jay McCarthy <jay at cs.byu.edu>
> 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
>