Re: [fpc-pascal] Re: OT: Amazing new development tools
Martin wrote: On 29/02/2012 11:44, Mark Morgan Lloyd wrote: Martin wrote: Sure one *could* record *all* variables, and the callstack... But what if - you add a new variable, what to initialize it with? - remove the function that called the current code, or even delete the line where you just paused? Or one could record all input, and replay the app. But that has limits too. Neither of those are likely to happen btw on some platforms, gdb can step backwards (again limitations apply). But it's not integrated in Lazarus yet... Noting what I described looking at in http://lists.freepascal.org/lists/fpc-other/2012-February/000670.html, I found myself wondering whether the IDE could tweak (writable?) constants at runtime, or possibly closures once they exist. Being able to tune e.g. the exact position of visible components could be rather useful. The evaluate dialog, offers a way to change values. Yes it is not at all comfortable ... And be warned, it performs no checks. Trying to change managed types (string, dyn array) will almost certainly crash your app. I guess, if you have a Form you can change it's values. Only to make those thinks visible on screen, it is not enough to change them. You need to call the setter. And calling functions from the debugger is not yet there... Thanks, noted. I must admit that I've never really got my head around evaluation of anything other than simple variables, but I'm sure that's because I've not spent enough time really getting to grips with it. - If you work on the IDE itself try the package IdeInspector (it adds itself to view Ide Internals if installed) Thanks, I'll make a point of looking at that, but it leads my into another question which I'll post in the Lazarus ML since I think it's out of place here. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: OT: Amazing new development tools
On 29/02/2012 11:44, Mark Morgan Lloyd wrote: Martin wrote: Sure one *could* record *all* variables, and the callstack... But what if - you add a new variable, what to initialize it with? - remove the function that called the current code, or even delete the line where you just paused? Or one could record all input, and replay the app. But that has limits too. Neither of those are likely to happen btw on some platforms, gdb can step backwards (again limitations apply). But it's not integrated in Lazarus yet... Noting what I described looking at in http://lists.freepascal.org/lists/fpc-other/2012-February/000670.html, I found myself wondering whether the IDE could tweak (writable?) constants at runtime, or possibly closures once they exist. Being able to tune e.g. the exact position of visible components could be rather useful. The evaluate dialog, offers a way to change values. Yes it is not at all comfortable ... And be warned, it performs no checks. Trying to change managed types (string, dyn array) will almost certainly crash your app. I guess, if you have a Form you can change it's values. Only to make those thinks visible on screen, it is not enough to change them. You need to call the setter. And calling functions from the debugger is not yet there... - If you work on the IDE itself try the package IdeInspector (it adds itself to view Ide Internals if installed) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: OT: Amazing new development tools
Martin wrote: On 27/02/2012 12:32, Lukasz Sokol wrote: On 26/02/2012 11:17, Mattias Gaertner wrote: On Sun, 26 Feb 2012 11:43:38 +0100 (CET) Michael Van Canneyt mich...@freepascal.org wrote: On Sun, 26 Feb 2012, Vinzent Höfler wrote: On Sat, 25 Feb 2012 19:15:54 +0100, ik ido...@gmail.com wrote: I found the following amazing lecture that present a new idea of a development tool, that I think will interest you all: http://vimeo.com/36579366 Impressive, indeed. And I am usually not that easily impressed. Impressed indeed. But IMHO limited to a certain kind of programming. The binary search part could probably be done for any kind of programming, I suppose. I doubt that any kind of programming. He showed the simplest case: a function that only receives base types. But most functions work on complex parameters - classes. These need to be set up. Either by writing a test environment or by taking a snapshot with the debugger. Then you can run the function repeatedly. The next step is to compile the function on every change. Easy with an interpreter. How to compile only one function of a big program and insert/replace it? Sorry for a plug, but MS VC++ 6.0 (!)* allowed for Pause-Edit Code- Quick compile-Resume Execution kind of workflow... Yes, in Debug/Pause mode, you COULD write a {code block} and then go Debug-Apply and Continue (or something like that) and voila, you could totally change code paths ... (Not that I know much about internals/constraints of this, to be honest, but of all, i found that a very cool feature) Is there a way to add THAT to FPC/Lazarus/GDB world ? I wonder where the limits of that are. Sure one *could* record *all* variables, and the callstack... But what if - you add a new variable, what to initialize it with? - remove the function that called the current code, or even delete the line where you just paused? Or one could record all input, and replay the app. But that has limits too. Neither of those are likely to happen btw on some platforms, gdb can step backwards (again limitations apply). But it's not integrated in Lazarus yet... Noting what I described looking at in http://lists.freepascal.org/lists/fpc-other/2012-February/000670.html, I found myself wondering whether the IDE could tweak (writable?) constants at runtime, or possibly closures once they exist. Being able to tune e.g. the exact position of visible components could be rather useful. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal