[plt-scheme] Changing the behavior of the run and debug buttoninDrScheme
I think you'd have to extend mzscheme (as described in the "inside
mzscheme" manual) unless, of course, the connection is simply a tcp
port or a network connection or something and you can inherit the way
those are shutdown.
Robby
On Sat, Feb 23, 2008 at 5:53 AM, Robert Matovinovic
<robert.matovinovic at web.de> wrote:
> Hi Robby,
> I read the paper you pointed me to, searched source code and mailing list.
> From what I understand now, your suggestion to extend the custodian
> hierarchy seems very logical to me. But I don't now how to do it. Where is
> it defined? What might be a good start? Will it work if it is implemented in
> my langugage module? So far I read only about using custodians but not how
> to extend there functionality. Any suggestions appreciated.
>
> Robert
>
> -----Ursprüngliche Nachricht-----
> Von: plt-scheme-bounces at list.cs.brown.edu
> [mailto:plt-scheme-bounces at list.cs.brown.edu] Im Auftrag von Robby Findler
> Gesendet: Montag, 18. Februar 2008 21:50
> An: Gregory Cooper
> Cc: Robert Matovinovic; plt-scheme at list.cs.brown.edu
>
>
> Betreff: Re: [plt-scheme] Changing the behavior of the run and debug
> buttoninDrScheme
>
>
> Others would probably know better than me, but it might make sense to extend
> the custodian hierarchy with DDE support (so that when a custodian is
> shutdown, the connection is properly closed) and then you won't need to do
> anything DrScheme specific at all.
>
> This has been pointed out many times here so I hope it isn't old news to
> you, but it would fit in with the way DrScheme is designed as well as other
> tools, as described in a research paper here:
>
> http://citeseer.ist.psu.edu/201755.html
>
> Robby
>
> On Feb 18, 2008 12:59 PM, Gregory Cooper <greg at cs.brown.edu> wrote:
> > Hi Robert,
> >
> > Perhaps you could simply override the on-execute method in your module
> > language to make it initiate a connection. I believe such a
> > connection would be terminated automatically when you closed the tab
> > or clicked Run or Debug again. Would that work?
> >
> > For an example of something similar, look at
> > collects/frtime/frtime-tool.ss, where the on-execute method is
> > overridden to extract some values from the program before it starts
> > running.
> >
> > Cheers,
> > Greg
> >
> >
> > On Feb 18, 2008 6:41 AM, Robert Matovinovic
> > <robert.matovinovic at web.de> wrote:
> > > Hi Greg,
> > > thanks for your hints. They will definitely help me. I looked
> > > already at the tools manual before I wrote the first mail but it
> > > didn't help me where actually to find the code which is executed,
> > > when the run button is clicked and how to extend/override it. So do
> > > you or anybody know where to look at? Robert
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: plt-scheme-bounces at list.cs.brown.edu
> > > [mailto:plt-scheme-bounces at list.cs.brown.edu] Im Auftrag von Gregory
> > > Cooper
> > > Gesendet: Sonntag, 17. Februar 2008 21:37
> > > An: Robert Matovinovic
> > > Cc: plt-scheme at list.cs.brown.edu
> > > Betreff: Re: [plt-scheme] Changing the behavior of the run and debug
> button
> > > inDrScheme
> > >
> > >
> > >
> > > Hi Robert,
> > >
> > > Yes. You'll probably need to define a tool with mixins that extend
> > > various DrScheme classes.
> > >
> > > You can use drscheme:get/extend:extend-unit-frame to apply a mixin
> > > to the unit frame (the class for the top-level DrScheme window).
> > > The mixin can override the execute-callback method, which gets
> > > invoked when the user clicks Run or Debug.
> > >
> > > To run your startup code: the unit frame provides a current-tab
> > > method, to which you can send get-ints to get the associated
> > > interactions-text object. Once you have the interactions-text, you
> > > can send it run-in-evaluation-thread with a thunk containing the
> > > code you want to run.
> > >
> > > As far as running shutdown code, you can similarly use
> > > drscheme:get/extend:extend-tab to override enable-evaluation in the
> > > tab. (I'm pretty sure enable-evaluation gets invoked once all the
> > > definitions have been run, which should give you a suitable hook.
> > > Someone else can correct me if I'm wrong about this.)
> > >
> > > For examples of these mechanisms in use, you can look in
> > > collects/mztake/debug-tool.ss. There may be simpler examples, but
> > > that's where my experience comes from.
> > >
> > > Cheers,
> > > Greg
> > >
> > > On Feb 17, 2008 2:02 PM, Robert Matovinovic
> > > <robert.matovinovic at web.de>
> > > wrote:
> > > > Hi,
> > > > is it possible to change the behavior of the run and debug buttons
> > > > in DrScheme via a tool? I implemented a module language to control
> > > > an external program via DDE (this ancient Windows dynamic data
> > > > exchange). I would like to implement an automated connection setup
> > > > to the external program before the program in the definitions
> > > > window in executed or debugged and an automated disconnection
> > > > afterwards, if that language is chosen. Can anybody point me to
> > > > the right files to look at and what might be a good way to go?
> > > > Thanks a lot. Robert _________________________________________
> > > > Robert Matovinovic
> > > > Wintererstr. 61
> > > > 79104 Freiburg
> > > > Germany
> > > >
> > > > Tel: +49 (0)700 6286 0000
> > > > Cell: +49 (0)171 56 32 330
> > > > email: robert.matovinovic at web.de
> > > >
> > > >
> > > > ____________
> > > > Virus checked by G DATA AntiVirusKit
> > > > Version: AVK 18.2756 from 13.02.2008
> > > > Virus news: www.antiviruslab.com
> > > >
> > > > _________________________________________________
> > > > For list-related administrative tasks:
> > > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> > > >
> > > _________________________________________________
> > > For list-related administrative tasks:
> > > http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> > >
> > >
> > > ____________
> > > Virus checked by G DATA AntiVirusKit
> > > Version: AVK 18.2756 from 13.02.2008
> > > Virus news: www.antiviruslab.com
> > >
> > >
> > _________________________________________________
> > For list-related administrative tasks:
> > http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >
>
>
> ____________
> Virus checked by G DATA AntiVirusKit
> Version: AVK 18.2831 from 20.02.2008
>
>
> Virus news: www.antiviruslab.com
>
>