<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV>To All,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>I was wondering if anyone has ever created a real time operating system with Racket.&nbsp; As well as, create applications within a FPGA device by utilizing racket??&nbsp; Can racket be a solution to ALL PROBLEMS that is the question.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>David Blubaugh</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR><BR>--- On <B>Wed, 12/5/12, users-request@racket-lang.org <I>&lt;users-request@racket-lang.org&gt;</I></B> wrote:<BR></DIV>
<BLOCKQUOTE style="BORDER-LEFT: rgb(16,16,255) 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px"><BR>From: users-request@racket-lang.org &lt;users-request@racket-lang.org&gt;<BR>Subject: users Digest, Vol 88, Issue 18<BR>To: users@racket-lang.org<BR>Date: Wednesday, December 5, 2012, 10:30 AM<BR><BR>
<DIV class=plainMail>Send users mailing list submissions to<BR>&nbsp;&nbsp;&nbsp; <A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users@racket-lang.org" ymailto="mailto:users@racket-lang.org">users@racket-lang.org</A><BR><BR>To subscribe or unsubscribe via the World Wide Web, visit<BR>&nbsp;&nbsp;&nbsp; <A href="http://lists.racket-lang.org/users/listinfo" target=_blank>http://lists.racket-lang.org/users/listinfo</A><BR>or, via email, send a message with subject or body 'help' to<BR>&nbsp;&nbsp;&nbsp; <A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users-request@racket-lang.org" ymailto="mailto:users-request@racket-lang.org">users-request@racket-lang.org</A><BR><BR>You can reach the person managing the list at<BR>&nbsp;&nbsp;&nbsp; <A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users-owner@racket-lang.org" ymailto="mailto:users-owner@racket-lang.org">users-owner@racket-lang.org</A><BR><BR>When replying, please edit your Subject line
 so it is more specific<BR>than "Re: Contents of users digest..."<BR><BR><BR>[Racket Users list:<BR><A href="http://lists.racket-lang.org/users" target=_blank>http://lists.racket-lang.org/users</A>]<BR><BR><BR>Today's Topics:<BR><BR>&nbsp;&nbsp;&nbsp;1. Re: Whats the difference between a predicate and a flat<BR>&nbsp; &nbsp; &nbsp; contract? (Harry Spier)<BR>&nbsp;&nbsp;&nbsp;2. Re: Whats the difference between a predicate and a flat<BR>&nbsp; &nbsp; &nbsp; contract? (Robby Findler)<BR>&nbsp;&nbsp;&nbsp;3. Re: DRRacket right-click menu fragility in Linux. (Neil Toronto)<BR>&nbsp;&nbsp;&nbsp;4. Re: minimum spanning tree (Matthias Felleisen)<BR><BR><BR>----------------------------------------------------------------------<BR><BR>Message: 1<BR>Date: Tue, 4 Dec 2012 21:59:42 -0500<BR>From: Harry Spier &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=vasishtha.spier@gmail.com"
 ymailto="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</A>&gt;<BR>To: Robby Findler &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;<BR>Cc: Carl Eastlund &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=cce@ccs.neu.edu" ymailto="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</A>&gt;, users &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users@racket-lang.org" ymailto="mailto:users@racket-lang.org">users@racket-lang.org</A>&gt;<BR>Subject: Re: [racket] Whats the difference between a predicate and a<BR>&nbsp;&nbsp;&nbsp; flat&nbsp;&nbsp;&nbsp; contract?<BR>Message-ID:<BR>&nbsp;&nbsp;&nbsp; &lt;CAJ3b0o9_yd-j4U6tbEOQaB+JKWto_A1XwSrh3_xyRTk=Uviy=<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=Q@mail.gmail.com" ymailto="mailto:Q@mail.gmail.com">Q@mail.gmail.com</A>&gt;<BR>Content-Type: text/plain;
 charset=UTF-8<BR><BR>Are flat-contract and flat-contract-predicate equivalent?<BR><BR>&gt; ((flat-contract 'x) 'x)<BR>#t<BR>&gt; ((flat-contract-predicate 'x) 'x)<BR>#t<BR>&gt; ((flat-contract 'x) 'y)<BR>#f<BR>&gt; ((flat-contract-predicate 'x) 'y)<BR>#f<BR>&gt;<BR><BR>Harry<BR><BR>On Tue, Dec 4, 2012 at 9:41 PM, Robby Findler<BR>&lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt; wrote:<BR>&gt; It does that for symbols, but not everything.<BR>&gt;<BR>&gt; This is the place you should be looking, I think.<BR>&gt;<BR>&gt; <A href="http://docs.racket-lang.org/reference/contracts.html" target=_blank>http://docs.racket-lang.org/reference/contracts.html</A><BR>&gt;<BR>&gt; Robby<BR>&gt;<BR>&gt; On Tue, Dec 4, 2012 at 8:38 PM, Harry Spier &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=vasishtha.spier@gmail.com"
 ymailto="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</A>&gt; wrote:<BR>&gt;&gt; OK I see the docs to flat-contract? but not flat-contract<BR>&gt;&gt; <A href="http://docs.racket-lang.org/reference/contract-utilities.html#" target=_blank>http://docs.racket-lang.org/reference/contract-utilities.html#</A>(def._((lib._racket/contract/private/misc..rkt)._flat-contract~3f))<BR>&gt;&gt; mention that flat-contracts are more than predicates.&nbsp; Those docs<BR>&gt;&gt; don't mention it, but it appears from experimentation that<BR>&gt;&gt; (flat-contract something) produces a procedure such that<BR>&gt;&gt; ((flat-contract something) x) is #t if something eq? x .<BR>&gt;&gt;<BR>&gt;&gt; Harry Spier<BR>&gt;&gt;<BR>&gt;&gt; On Tue, Dec 4, 2012 at 8:57 PM, Robby Findler<BR>&gt;&gt; &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;
 wrote:<BR>&gt;&gt;&gt; On Tue, Dec 4, 2012 at 7:28 PM, Carl Eastlund &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=cce@ccs.neu.edu" ymailto="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</A>&gt; wrote:<BR>&gt;&gt;&gt;&gt; On Tue, Dec 4, 2012 at 7:49 PM, Robby Findler &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;<BR>&gt;&gt;&gt;&gt; wrote:<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Flat contracts includes more things than contracts. For example:<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; [robby@yanpu] ~/git/plt/collects/scribblings/reference$ racket<BR>&gt;&gt;&gt;&gt;&gt; Welcome to Racket v5.3.1.9.<BR>&gt;&gt;&gt;&gt;&gt; &gt; (flat-contract? 'x)<BR>&gt;&gt;&gt;&gt;&gt; #t<BR>&gt;&gt;&gt;&gt;&gt; &gt; (procedure? 'x)<BR>&gt;&gt;&gt;&gt;&gt; #f<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; The flat-contract
 function is a holdover from the days when flat contracts<BR>&gt;&gt;&gt;&gt;&gt; weren't able to be used directly as predicate functions.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; I'll push a clarification to the docs for flat-contract.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; Isn't that the wrong way around?&nbsp; The flat-contract function lets you use a<BR>&gt;&gt;&gt;&gt; predicate as a contract, not a contract as a predicate.&nbsp; Presumably it's<BR>&gt;&gt;&gt;&gt; from before predicates could be used as contracts, although I hadn't<BR>&gt;&gt;&gt;&gt; realized there was such a time.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; There was a time when you had to call 'flat-contract' to turn a<BR>&gt;&gt;&gt; predicate into a contract, yep. There was a housecleaning (anyone<BR>&gt;&gt;&gt; remember the days when there were multiple suffixes (not just "/c") on<BR>&gt;&gt;&gt; the combinators?) and I probably should
 have gotten rid of it at that<BR>&gt;&gt;&gt; time, but I didn't.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; (Oh and I mean "contracts" where I wrote "preducate functions" above. Oops.)<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Robby<BR><BR><BR>------------------------------<BR><BR>Message: 2<BR>Date: Tue, 4 Dec 2012 21:05:45 -0600<BR>From: Robby Findler &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;<BR>To: Harry Spier &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=vasishtha.spier@gmail.com" ymailto="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</A>&gt;<BR>Cc: Carl Eastlund &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=cce@ccs.neu.edu" ymailto="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</A>&gt;, users &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users@racket-lang.org"
 ymailto="mailto:users@racket-lang.org">users@racket-lang.org</A>&gt;<BR>Subject: Re: [racket] Whats the difference between a predicate and a<BR>&nbsp;&nbsp;&nbsp; flat&nbsp;&nbsp;&nbsp; contract?<BR>Message-ID:<BR>&nbsp;&nbsp;&nbsp; &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=CAL3TdOMVL4xerBMr9xWqNz3tPjxbSXDfjaiJro2N9j6fxrSrOQ@mail.gmail.com" ymailto="mailto:CAL3TdOMVL4xerBMr9xWqNz3tPjxbSXDfjaiJro2N9j6fxrSrOQ@mail.gmail.com">CAL3TdOMVL4xerBMr9xWqNz3tPjxbSXDfjaiJro2N9j6fxrSrOQ@mail.gmail.com</A>&gt;<BR>Content-Type: text/plain; charset=UTF-8<BR><BR>Yes ..., I think so (well, eq? probably messes things up, as usual).<BR><BR>But that's a funny question! What's really going on there is that<BR>flat-contract is coercing the value into a contract, and flat<BR>contracts also acts as predicate functions (matching what the<BR>contracts match). flat-contract-predicate takes its argument, turns it<BR>into the contract and then returns the predicate.
 This last step is<BR>useless, as flat-contracts are now predicates without any coercion<BR>(again, not something that was always the case).<BR><BR>I'll add a similar note to the docs for this function too.<BR><BR>Robby<BR><BR>On Tue, Dec 4, 2012 at 8:59 PM, Harry Spier &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=vasishtha.spier@gmail.com" ymailto="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</A>&gt; wrote:<BR>&gt; Are flat-contract and flat-contract-predicate equivalent?<BR>&gt;<BR>&gt;&gt; ((flat-contract 'x) 'x)<BR>&gt; #t<BR>&gt;&gt; ((flat-contract-predicate 'x) 'x)<BR>&gt; #t<BR>&gt;&gt; ((flat-contract 'x) 'y)<BR>&gt; #f<BR>&gt;&gt; ((flat-contract-predicate 'x) 'y)<BR>&gt; #f<BR>&gt;&gt;<BR>&gt;<BR>&gt; Harry<BR>&gt;<BR>&gt; On Tue, Dec 4, 2012 at 9:41 PM, Robby Findler<BR>&gt; &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu"
 ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt; wrote:<BR>&gt;&gt; It does that for symbols, but not everything.<BR>&gt;&gt;<BR>&gt;&gt; This is the place you should be looking, I think.<BR>&gt;&gt;<BR>&gt;&gt; <A href="http://docs.racket-lang.org/reference/contracts.html" target=_blank>http://docs.racket-lang.org/reference/contracts.html</A><BR>&gt;&gt;<BR>&gt;&gt; Robby<BR>&gt;&gt;<BR>&gt;&gt; On Tue, Dec 4, 2012 at 8:38 PM, Harry Spier &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=vasishtha.spier@gmail.com" ymailto="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</A>&gt; wrote:<BR>&gt;&gt;&gt; OK I see the docs to flat-contract? but not flat-contract<BR>&gt;&gt;&gt; <A href="http://docs.racket-lang.org/reference/contract-utilities.html#"
 target=_blank>http://docs.racket-lang.org/reference/contract-utilities.html#</A>(def._((lib._racket/contract/private/misc..rkt)._flat-contract~3f))<BR>&gt;&gt;&gt; mention that flat-contracts are more than predicates.&nbsp; Those docs<BR>&gt;&gt;&gt; don't mention it, but it appears from experimentation that<BR>&gt;&gt;&gt; (flat-contract something) produces a procedure such that<BR>&gt;&gt;&gt; ((flat-contract something) x) is #t if something eq? x .<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; Harry Spier<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt; On Tue, Dec 4, 2012 at 8:57 PM, Robby Findler<BR>&gt;&gt;&gt; &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt; wrote:<BR>&gt;&gt;&gt;&gt; On Tue, Dec 4, 2012 at 7:28 PM, Carl Eastlund &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=cce@ccs.neu.edu"
 ymailto="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</A>&gt; wrote:<BR>&gt;&gt;&gt;&gt;&gt; On Tue, Dec 4, 2012 at 7:49 PM, Robby Findler &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;<BR>&gt;&gt;&gt;&gt;&gt; wrote:<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt; Flat contracts includes more things than contracts. For example:<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt; [robby@yanpu] ~/git/plt/collects/scribblings/reference$ racket<BR>&gt;&gt;&gt;&gt;&gt;&gt; Welcome to Racket v5.3.1.9.<BR>&gt;&gt;&gt;&gt;&gt;&gt; &gt; (flat-contract? 'x)<BR>&gt;&gt;&gt;&gt;&gt;&gt; #t<BR>&gt;&gt;&gt;&gt;&gt;&gt; &gt; (procedure? 'x)<BR>&gt;&gt;&gt;&gt;&gt;&gt; #f<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt; The flat-contract function is a holdover from the days when flat contracts<BR>&gt;&gt;&gt;&gt;&gt;&gt; weren't able
 to be used directly as predicate functions.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt; I'll push a clarification to the docs for flat-contract.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Isn't that the wrong way around?&nbsp; The flat-contract function lets you use a<BR>&gt;&gt;&gt;&gt;&gt; predicate as a contract, not a contract as a predicate.&nbsp; Presumably it's<BR>&gt;&gt;&gt;&gt;&gt; from before predicates could be used as contracts, although I hadn't<BR>&gt;&gt;&gt;&gt;&gt; realized there was such a time.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; There was a time when you had to call 'flat-contract' to turn a<BR>&gt;&gt;&gt;&gt; predicate into a contract, yep. There was a housecleaning (anyone<BR>&gt;&gt;&gt;&gt; remember the days when there were multiple suffixes (not just "/c") on<BR>&gt;&gt;&gt;&gt; the combinators?) and I probably should have gotten rid of it at
 that<BR>&gt;&gt;&gt;&gt; time, but I didn't.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; (Oh and I mean "contracts" where I wrote "preducate functions" above. Oops.)<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; Robby<BR><BR><BR>------------------------------<BR><BR>Message: 3<BR>Date: Tue, 04 Dec 2012 21:30:23 -0700<BR>From: Neil Toronto &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=neil.toronto@gmail.com" ymailto="mailto:neil.toronto@gmail.com">neil.toronto@gmail.com</A>&gt;<BR>To: <A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users@racket-lang.org" ymailto="mailto:users@racket-lang.org">users@racket-lang.org</A><BR>Subject: Re: [racket] DRRacket right-click menu fragility in Linux.<BR>Message-ID: &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=50BECDDF.4030508@gmail.com" ymailto="mailto:50BECDDF.4030508@gmail.com">50BECDDF.4030508@gmail.com</A>&gt;<BR>Content-Type: text/plain; charset=UTF-8; format=flowed<BR><BR>Could what
 you're experiencing have anything to do with tooltips? It <BR>seems my right-click menu doesn't stay up whenever there's a tooltip <BR>out. Which is, like, every time I want it.<BR><BR>Neil ?<BR><BR>On 12/04/2012 07:55 PM, Ray Racine wrote:<BR>&gt; Yea, I didn't want to make a big deal out of it, but the up/down button<BR>&gt; change did not fix the issue.&nbsp;&nbsp;&nbsp;In fact I'd say no impact positive or<BR>&gt; negative.<BR>&gt;<BR>&gt; It seems to happen when there is additional drawing 'complexity' in<BR>&gt; co-occurrence with the pop up drawing area.&nbsp; I.e. the pop up menu is<BR>&gt; drawing where arrows are drawn or error highlighting is occurring etc.<BR>&gt; Also maybe when the pop up menu area is near the 'edge' of the Dr window<BR>&gt; and or pane area.&nbsp; But again the problem is not consistently<BR>&gt; reproducible yet happens more often then not.&nbsp; Its not a once in a blue<BR>&gt; moon that thing.&nbsp; Sometimes an
 attempt to right click pop up&nbsp; menu will<BR>&gt; fail numerous times in a row then succeed for no apparent reason.<BR>&gt;<BR>&gt; On Dec 4, 2012 9:07 PM, "Robby Findler" &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A><BR>&gt; &lt;mailto:<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;&gt; wrote:<BR>&gt;<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;On Tue, Dec 4, 2012 at 6:11 PM, Stephen Chang &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=stchang@ccs.neu.edu" ymailto="mailto:stchang@ccs.neu.edu">stchang@ccs.neu.edu</A><BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;&lt;mailto:<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=stchang@ccs.neu.edu" ymailto="mailto:stchang@ccs.neu.edu">stchang@ccs.neu.edu</A>&gt;&gt;
 wrote:<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; On Fri, Nov 2, 2012 at 9:33 PM, Robby Findler<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A><BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;&lt;mailto:<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=robby@eecs.northwestern.edu" ymailto="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>&gt;&gt; wrote:<BR>&gt;&nbsp; &nbsp; &nbsp; &gt;&gt; I've pushed a fix to this. Thanks to Matthew for looking into it and<BR>&gt;&nbsp; &nbsp; &nbsp; &gt;&gt; sorting it out and sorry for the delay.<BR>&gt;&nbsp; &nbsp; &nbsp; &gt;<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; I'm using git head and I'm still seeing this problem (Ubuntu<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;11.10). I<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; can't reliably reproduce it but in case it helps, it most
 recently<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; happened when I selected tack arrows and now I can't bring up the<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;menu<BR>&gt;&nbsp; &nbsp; &nbsp; &gt; to untack the arrows anymore.<BR>&gt;&nbsp; &nbsp; &nbsp; &gt;<BR>&gt;<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;The particular fix Matthew pointed me to is popping up the menu on a<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;mouse down event, not a mouse up event.<BR>&gt;<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;<A href="http://git.racket-lang.org/plt/blobdiff/27aa99944657c5827eee3772f715df7dd971d1e0..0377bda9474f8848a97509ace898174c83361006:/collects/framework/private/keymap.rkt" target=_blank>http://git.racket-lang.org/plt/blobdiff/27aa99944657c5827eee3772f715df7dd971d1e0..0377bda9474f8848a97509ace898174c83361006:/collects/framework/private/keymap.rkt</A><BR>&gt;<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;So I guess there's something else going on, too (because that's the<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;code that
 pops up the menu with the check syntax items).<BR>&gt;<BR>&gt;&nbsp; &nbsp;&nbsp;&nbsp;Robby<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; ____________________<BR>&gt;&nbsp; &nbsp; Racket Users list:<BR>&gt;&nbsp; &nbsp; <A href="http://lists.racket-lang.org/users" target=_blank>http://lists.racket-lang.org/users</A><BR>&gt;<BR><BR><BR><BR>------------------------------<BR><BR>Message: 4<BR>Date: Wed, 5 Dec 2012 10:30:22 -0500<BR>From: Matthias Felleisen &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=matthias@ccs.neu.edu" ymailto="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</A>&gt;<BR>To: Pierpaolo Bernardi &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=olopierpa@gmail.com" ymailto="mailto:olopierpa@gmail.com">olopierpa@gmail.com</A>&gt;<BR>Cc: Racket mailing list &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=users@racket-lang.org" ymailto="mailto:users@racket-lang.org">users@racket-lang.org</A>&gt;<BR>Subject: Re: [racket]
 minimum spanning tree<BR>Message-ID: &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=CE678990-63D0-4400-AF2A-C6B2880E4FFB@ccs.neu.edu" ymailto="mailto:CE678990-63D0-4400-AF2A-C6B2880E4FFB@ccs.neu.edu">CE678990-63D0-4400-AF2A-C6B2880E4FFB@ccs.neu.edu</A>&gt;<BR>Content-Type: text/plain; charset="iso-8859-1"<BR><BR><BR>You are making a very good point here, especially the last one, <BR>which in a sense exposes the folly of Perlis's maxim (it is better<BR>to have one data type with a 100 operations than 10 data types <BR>with 10 operations each). One, the maxim biases programmers <BR>and before they know it, they have introduced bad dependences <BR>and performance problems and whoknowswhat. <BR><BR>---------------------------------------------------------------<BR><BR>Having said that, I think Ian's point is equally good. So here<BR>is what I am wondering. <BR><BR>Isn't the case of graphs worth a case study where we define <BR>a WIDE interface
 for graphs and their operations, which we <BR>can do so with contracts. Then we implement it in several <BR>different ways and conduct performance studies (small and<BR>large). And we advertise, which library is good for which <BR>kind of scenario. <BR><BR>I am sure that some data structure person has done this<BR>for C++ or some such language. The Saarbr?cken MPI 1 comes<BR>to mind. BUT, I am also sure that we don't have it and that<BR>we would benefit from having one. <BR><BR>NOW: as we conduct this study, we might be able to articulate<BR>performance "contracts" (that's probably the wrong word) and<BR>possibly learn how to add those to library implementations as<BR>a secondary interface. Doing so would once again distinguish<BR>Racket from other programming languages. <BR><BR>It is probably a dissertation, possibly more. <BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>On Dec 4, 2012, at 5:36 AM, Pierpaolo Bernardi
 wrote:<BR><BR>&gt; On Mon, Dec 3, 2012 at 5:07 PM, J. Ian Johnson &lt;<A href="http://us.mc1133.mail.yahoo.com/mc/compose?to=ianj@ccs.neu.edu" ymailto="mailto:ianj@ccs.neu.edu">ianj@ccs.neu.edu</A>&gt; wrote:<BR>&gt;&gt; Graph algorithms are often meant to be very fast, and different algorithms necessitate different representations. Two popular representations are adjacency lists and shared structures.<BR>&gt; <BR>&gt; The representations usually used in general purpose graphs libraries<BR>&gt; are adiacency lists and incidence matrices.<BR>&gt; <BR>&gt; Two good examples that I know of are:&nbsp; Knuth's Stanford GraphBase<BR>&gt; (available from his home page and in published book form), and the<BR>&gt; Combinatorica library for Mathematica (code available freely on the<BR>&gt; net, manual available as a published book "Computational Discrete<BR>&gt; Mathematics" by Skiena &amp; Pemmaraju).<BR>&gt; <BR>&gt;&gt; It also isn't right to call them lists
 unless you're talking about multigraphs. Indeed successor nodes should be treated as a set, but Racket's sets have quite a bit of overhead, especially for small sets. Should it be fast to compute predecessor nodes? There are too many considerations for there to be just one blessed representation, IMHO.<BR>&gt; <BR>&gt; Linked lists made of cons pairs are not the best data structure for<BR>&gt; every possible use of a sequence data structure.&nbsp; However, we find<BR>&gt; this data structure very useful, don't we?&nbsp; we force them into uses<BR>&gt; for which they are not optimal, because of the convenience of having<BR>&gt; available a vast library using them. And when we can't fit them to our<BR>&gt; purpose we use a more specialized data structure.<BR>&gt; <BR>&gt; I think a similar compromise for a graph data structure would be very useful.<BR>&gt; <BR>&gt; Cheers<BR>&gt; P.<BR>&gt; <BR>&gt; ____________________<BR>&gt;&nbsp; Racket Users
 list:<BR>&gt;&nbsp; <A href="http://lists.racket-lang.org/users" target=_blank>http://lists.racket-lang.org/users</A><BR><BR>-------------- next part --------------<BR>A non-text attachment was scrubbed...<BR>Name: smime.p7s<BR>Type: application/pkcs7-signature<BR>Size: 4373 bytes<BR>Desc: not available<BR>URL: &lt;<A href="http://lists.racket-lang.org/users/archive/attachments/20121205/52954024/attachment.p7s" target=_blank>http://lists.racket-lang.org/users/archive/attachments/20121205/52954024/attachment.p7s</A>&gt;<BR><BR>End of users Digest, Vol 88, Issue 18<BR>*************************************<BR></DIV></BLOCKQUOTE></td></tr></table>