lua-users home
lua-l archive

RE: newbie: how to modify lua code while the program is running like visual basic

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


thanks for the reply.
i have been able to dynamically reload a module. that works fine.
no debbuger needed.
i posted some sample code to this list.
________________________________
> Date: 2012年6月24日 00:01:27 +0100 
> From: robert.virding@erlang-solutions.com 
> To: lua-l@lists.lua.org 
> Subject: Re: newbie: how to modify lua code while the program is 
> running like visual basic 
> 
> I am not a Lua expert so I don't know how it handles this. 
> 
> To modify code inside a debugger or IDE is the easy part. The 
> interesting part is doing it in running production systems. For that 
> you need a very clear definition of what it means to load code and how 
> this affects the system. For example if you reload a function which 
> someone is executing how will it be affected. You need support from the 
> underlying system/implementation to do this. I come from another world, 
> erlang, where this is defined and it is only because it is defined that 
> you can dynamically manage code at runtime. 
> 
> So something similar would be needed in Lua to do this properly. It 
> depends, of course, whether this is a goal for the language or not. 
> 
> Robert 
> 
> ________________________________ 
> Philippe, thanks for the reply. 
> so i am been programming in Basic for over 38 years. 
> my first computer had a version of basic hand-coded by bill gates, in 
> the 1970's. 
> 
> yes, it is true that visual basic does require the use of an IDE but 
> visual basic for application does have a interactive console. 
> yes, i use print() and that works and only for people who cannot do 
> edit-and-continue are doomed to be punished with just print(). 
> not a very nice solution when i am trying to teach programming concepts 
> to children. 
> 
> lol, i used to program using punch cards on an ibm mainframe, perhaps 
> we should downgrade back to that, who needs keyboards anyway... 
> 
> since i first asked my question, and based on some posts and doing some 
> research, edit-and-continue can in fact be done for Lua from the 
> interactive console. 
> 
> it is much more then a crutch or convenience. 
> anybody that has not tried it should not trivialize it. 
> all the more so for Lua. 
> Lua is designed to be a embedded solution, often used by non-programmers. 
> for example, arrays indexes start from 1, not zero. 
> 
> you should take a look at the posts by Kevin T. Ryan. 
> one example of what he wrote is: 
> "You may want to try ZeroBrane Studio: 
> >> 
> http://notebook.kulchenko.com/zerobrane/live-coding-in-lua-bret-victor-style"; 
> 
> after looking at the videos, let me know what you think. youtube has 
> some great videos. 
> look at the zues editor for Lua videos 
> thanks and enjoy. 
> 
> > To: lua-l@lists.lua.org 
> > From: PhiLho@GMX.net 
> > Date: 2012年6月22日 14:44:44 +0200 
> > Subject: Re: newbie: how to modify lua code while the program is 
> running like visual basic 
> > 
> > On 21/06/2012 21:41, yoyomeltz yoyomeltz wrote: 
> > > kevin, thanks you much. it does seem to offer what i wanted but the 
> problem is i would be 
> > > locked into an ide that does not seem to offer much else. 
> > > 
> > > there has to be a simple way to dynamically reload code as needed via a 
> > > console/command.line or other simple solution. 
> > > if visual basic from microsoft can do it and python can do it, then 
> why should i be an 
> > > issue for Lua. 
> > > even visual basic 6.0 from 10 years ago can do that. 
> > > 
> > > it seems to me this such a feature is a pre-requisite for learning 
> any language, espcially 
> > > a lightweight scripting language. 
> > > so does anybody have any other suggestions? 
> > 
> > Well, if I am not mistaken, VB is "locked into an IDE"... 
> > I don't know for Python. 
> > Debugging is often tied to an IDE anyway, unless you are using some 
> command line debug 
> > tool (but that's still a tool, often separate of the compiler / 
> interpreter, no?). 
> > 
> > Eclipse (and probably other Java IDEs as well) allows such hot fix, 
> changing code while 
> > running and the program continue to run with this change. 
> > Now, it has some limitations: if you change a method while debugging 
> in it, Eclipse puts 
> > the current program line pointer to the start of the method. 
> > If you change deeply a class, eg. the visibility of a method, or a 
> new method, it tells 
> > you it can't do the hot fix and shows markers in the debug stack 
> trace to show the code is 
> > no longer synchronized. 
> > 
> > So it isn't a perfect feature for every language / IDE. Just a very 
> convenient feature! 
> > 
> > Note: don't under-evaluate the power of print() in tracing / 
> debugging Lua! :-) 
> > 
> > -- 
> > Philippe Lhoste 
> > -- (near) Paris -- France 
> > -- http://Phi.Lho.free.fr 
> > -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
> > 
> > 
> > 
> > 
> 
 		 	 		 

AltStyle によって変換されたページ (->オリジナル) /