Re: Hypatia 3.0
- Posted by petelomax in February
- 1798 views
I suspect that the issue would not be present on Phix
Nah mate, leave me out of it! The eval() function has been eagerly used a round number of times
in the 30 months since it was released, either that or the design was absolutely perfect, the
documentation flawless and crystal clear, and there were no bugs of any kind in it whatsoever.
Also, my attitude to dlls is that if you are going to build one from Phix code then 99.999% of
the whole point is so it can be called from some other programming language, hence there are
no plans to ever let it return "a phix sequence" - not that there is any problem serialising
such to a string and reconstructing from that on receipt, unless playing with "big data".
[You could peek/poke raw values into ipc memory, but that cannot hold phix sequences either.]
There is a potential issue in that any routines defined in a dll must be somehow marked as
invalid by the close_dll(), perhaps slightly more of an issue should any of them have been
turned into a call_back() - abandoning integer rids might perhaps help with that.
Fourthly and of course any other program trying to use a dll you are rebuilding won't work.
I struggle to comprehend how it is easier to construct working source code rather than just
write more flexible static code... and the wee little matter of testing it adequately...
In light of those five, rebuilding a dll/so mid-run is (imo) an utter insanity, and that is before
you consider the inevitable execution stalls that will occur when your AV kicks in.
Of course Phix is open source and I am not telling anyone they cannot add that sort of thing
to Phix themselves, just that I will not be participating, though o/c I would take a second
look at an actually working demo that incontrovertibly proves it has merit.
The worst thing anyone should be accusing me of here is refusing to do their work for them.
PS:
It only happened on windoze,
That surprises me, I would have thought that M_DEFINE_C in be_machine.c always returning c_routine_next++;
would be an issue... unless it was always returning -1?