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

Reply via email to