[plt-dev] weird error; contracts for xml error

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat May 30 15:59:23 EDT 2009

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.


> 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

Posted on the dev mailing list.