als-design post would go there, but no
BMK subscriber could post.
Just be careful about the perl6-all redirection. Don't allow registration
on both redirection lists.
Hmm, How would this work? Headers would be re-written? How would 'critical'
comments get to the -internals-design list?
chaim
--
Cha
hould be
outside the realm of the object. (It seems like trying to lift yourself
by the bootstraps.)
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
presenting COBOL records/data, or even XML documents)
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
see the association of attributes with the underlying
data as an extra 'service'.
If for no other reason, there are many ways of having the attributes
distribute across, deletions, additions, and moves. That is a policy
decision that should not be done at the perl internal level.
cha
so be seen as
an indictment of threaded code).
JvV Now I am really confused. This directly contradicts the Threaded Perl RFC.
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
operations that
are done very regularly, a new word that does that combo could be provided.
If the representation doesn't allow for certain optimizations, the TIL is
not the optree, but rather the final executable form. The compiler could
in fact create new words optimized just for the job.
chaim
"AT" == Adam Turoff [EMAIL PROTECTED] writes:
AT On Tue, Oct 24, 2000 at 10:55:29AM -0400, Chaim Frenkel wrote:
I don't see it.
I would find it extremely akward to allow
thread 1:*foo = \one_foo;
thread 2:*foo = \other_foo;
[...]
copy the foo body to a ne
n. But I'm not sure that all architectures support long enough
relative jumps/calls.
Doing the actual relocation should be quite fast. I believe that all
current executables have to be relocated upon loading. Not to mention
the calls to shared modules/dlls.
chaim
--
Cha
body. If the header of the function
is target location, the header could any one of
nop,
nest another inner loop
lookup current symbol
fixup caller
or jump to new target.
(Hmm, with Q::S, it could be all of them in constant time.)
cha
with an indirection
(I believe this is atomic.)
And optionally, the indirection could be to a fixup routine, that would
adjust the caller to directly point at the new body.
chaim
--
Chaim FrenkelNonlinear Knowledge, I
) to other
body of code made up of pointers or a real piece of code.
You seem to be thinking of threaded execution.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
t may need to be
AT rethreaded to incorporate overrideable subs/builtins.
I'm missing something here.
Wouldn't just the appearance of *foo = \other_foo, be enough to tell
the compiler to treat all foo's (or perhaps if there were some dataflow
analysis some region of code) to use indirection?
chaim
e
DS different than calls to C functions, and I'm trying not to do that--I
DS really do want to be able to get real function pointers that can be used in
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
"DS" == Dan Sugalski [EMAIL PROTECTED] writes:
DS At 01:50 PM 10/10/00 -0400, Chaim Frenkel wrote:
There is an intermediate method, have our own execution and data stack.
Basically build a TIL interpreter. This might be intermediate in speed
between raw machine code and the perl va
I thought it was to make it more natural.
When splitting on whitespace, one is interested in the non-space tokens.
Effectively the leading and trailing whitespace isn't there.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
cord{@keys} = new_values();
Using a set of 'intern'ed strings might make it more efficient. And unless
we are able to note that @keys is always the same,the hashes would have to
keep getting recomputed. With the symbols we might be able to recognize
the constant set.
chaim
--
Cha
George did this one
And this would be disabled under -T
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
e the line starts, if it still
exists.
TC Make it:
TC Division by zero error on statement beginning at line xx
TC Consider multiline constants -- where do you say the warning occurred?
TC print EOF;
TC blah
TC blah
TC $fred
TC blah
TC blah
--
Cha
perl code is available to be read. So what can a perl program do
that the black hat couldn't by tweaking the code? The code is running
under the black hat's priviledges and uid.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
interpret the script.
The only other mechanism that might be worthwhile would be for perl
to notice the -T and then give up and re-exec itself with an added
-T at the front of the line.
This would be workable as long as none of the -M's do anything to
change state.
chaim
--
Cha
here. Only the #!.
If the subclued webmaster has perl in his cgi-bin directory, -T is
his least worry.
Hmm, or are you thinking of a shell script that's calling perl?
Then he has lots of holes to worry about.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
nt.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
opriate failure line in a multiline statement. We don't worry about
DS bloat or slowdown, because the assumption is that -H is only used during
DS debugging or when speed doesn't matter, and it will be turned off when the
DS code goes to production.
--
Chaim Frenkel
t contains the
PRL -T option on the #! line, Perl should just turn on
PRL taint mode and not complain about it.
PRL =head1 MIGRATION ISSUES
PRL None.
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED]
%INC)
file#, filename
from, to, file#, line#
...
If the optimizer moves some opcodes around, it would slice and dice
the relevent offset records to keep track.
(I saw this in the Stratus VOS compiler/linker)
Thoughts?
cha
meant, is left as an excersize
for someone brighter than me.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
"NI" == Nick Ing-Simmons [EMAIL PROTECTED] writes:
NI Chaim Frenkel [EMAIL PROTECTED] writes:
NI Well if you want to place that restriction on perl6 so be it but in perl5
NI I can say
NI tie $a[4],'Something';
That I didn't realize.
NI Indeed that is exactly how tied a
"AB" == Alan Burlison [EMAIL PROTECTED] writes:
AB Chaim Frenkel wrote:
You aren't being clear here.
fetch($a) fetch($a)
fetch($b) ...
add ...
store($a) store($a)
Now all of the perl internals are do
"AB" == Alan Burlison [EMAIL PROTECTED] writes:
AB Chaim Frenkel wrote:
What tied scalar? All you can contain in an aggregate is a reference
to a tied scalar. The bucket in the aggregate is a regular bucket. No?
AB So you don't intend being able to roll back anything that h
from, What happens to the held locks, etc.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ing before the other).
If this can not be done, then one or the other thread has to be notified
of deadlock and the relevant changes thrown away.
(As a former boss liked to say, "Work is conserved."
or perhaps TANSTAFL)
chaim
--
Chaim FrenkelNo
larly, all of the locking and deadlocks here could be internal
to perl, and never visible to the user, so taking out a series of
locks, even if they do deadlock, perl can recover.
Again, this is probably too expensive and complex, but it isn't
something that is completely infeasible.
chaim
--
Cha
eep a lock
on %h while the entire expression/statement completes, then you have
essentially given me an atomic operation which is what I would like.
I think we all would agree that an op is atomic. +, op=, push, delete
exists, etc. Yes?
Then let's go on from there.
chaim
--
Cha
sub mycritical : lock { } # critical section here.
or
sub onlyone : method, lock { } # lock the object/class
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
g them in order (say by address).
Also the thread doesn't need to make any changes until all the locks are
available so a backoff algorithm may work.
This would keep a _single_ statment 'consistent'. But wouldn't do anything
for anything more complex.
cha
push(@a, @b);
Will these?
And given that users will be doing the locking. What do you see for
handling deadlock detection and recovery/retry.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
unlock(%y);
Hmm, I just realized, perhaps we can just punt. Any p5 program that
doesn't use Threads can be left alone. Using p5 threads would
then need manual intervention.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
int)
Some series of points (I can't remember what they are called in C)
where operations are consider to have completed will have to be
defined, between these points operations will have to be atomic.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
effected point.
I'm partial to the don't do that approach. It can easily be handled
at the user level.
delete @hash{@delete_these};
@hash{keys %add_these} = values %add_these;
chaim
(Hmm, push(%hash, %add_these))
--
Chaim FrenkelNonl
ke a seek,read,tell sequence without any
guarentees between access.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
LOAD for the bitwise
BS ops).
But that's against the point. Nothing has to check. The only
operation that is called is the correct one.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
this case. Putting a reference into
a shared variable would wrap the reference.
Would this satisfy your needs?
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
rt-sighted.
The job of perl is to make things easy, and the hard possible.
Single thingee access mediation, should be done automatically by perl.
The multi-thingee complex mediation should have the user step in, since
solving it (correctly and efficiently) is a complex problem.
chaim
--
Cha
he keys. I really am suspicious of replacing the
vtbl entry, there may be more than one thread working its way through
the hash.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
r that you want visible.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
For =~)
DS repeat (For x)
Are these so that operators can be overriden?
DS Anyone got anything to add before I throw together the base vtable RFC?
Are you going to fully specify the expected input and results in the RFC?
chaim
--
Chaim FrenkelNonlinear Know
NI and how is is_same different from just comparing addresses of the things?
Proxies? Wrappers?
The proxy might want to answer on behalf of the proxied.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED]
"KF" == Ken Fox [EMAIL PROTECTED] writes:
KF Chaim Frenkel wrote:
You are now biting off quite a bit.
KF What good is half a transaction? If transactions are to be useful,
KF they should be fully supported -- including rolling back stuff some
KF third party module did to it
quot; keyword triggers munging
KF of the variables used in the following block. Obviously the munging
KF is very different between these, but if we allow the general concept
KF of munging the intermediate code (parse tree or OP tree or whatever),
KF then both "with" and "transation&quo
le to have a group of variables be transaction protected.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
le for non-core modules (assuming some sort of registry)
so that an implicit use might be performed.
(I'm ignoring the problems of multiple versions or multiple conflicting
routines of the same name.)
Are we still far apart?
chaim
--
Chaim FrenkelNonlinear
.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
be to have it become
# $foo=1 $baz=2 @bar=(4)
*blech*, I'm glad that you're doing the thinking.
chaim
"LW" == Larry Wall [EMAIL PROTECTED] writes:
LW Chaim Frenkel writes:
LW : LW P.S. I think we *could* let @foo and %bar return an object ref in scalar
LW :
rrently do in scalar context.
Isn't this an internals issue?
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
"DS" == Dan Sugalski [EMAIL PROTECTED] writes:
DS At 02:25 PM 8/24/00 -0400, Chaim Frenkel wrote:
But
($foo, $baz, @bar) = (1,(2,3),4) # $foo = 1 $baz=2, @bar=(3,4)
Actually, looking at it like that makes it an ugly situation. The 'new'
expectation would be to have it become
the another version of having an indirection? DBM's that
don't allow multiple iterators means the porter to the DBM has to
supply a wrapper that does.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ED] writes:
SWM Does Perl6 support Symmetric MultiProcessing (SMP)?
SWM This is a *huge* issue. It affects everything else that we do with
SWM threads.
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED]
for grabs.
But if it participates then as far as the 'caller' or user is concerned
it looks like a variable and acts like a variable. It must be a variable.
chaim
"d" == dLux [EMAIL PROTECTED] writes:
d /--- On Thu, Aug 17, 2000 at 06:17:51PM -0400, Chaim Frenkel wrote:
d | Though this
utex?
DLN Giving every variable its own mutex would mean we could have
DLN greater control if needed --- something like flock(SH|EX|NB|UN)
DLN semantics on anything that can be an Lvalue.
DLN How about rewriting it as an extension to flock() involving mutexes
DLN and sending it to perl6-language?
"LW" == Larry Wall [EMAIL PROTECTED] writes:
LW On the other hand, targeting JVM and IL.NET might keep us honest enough.
What is IL.NET?
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED]
e pointers into real calls, and replacing
calls to push functions with real pushes.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
dispatch.
Again operations on the object itself.
Cross operations, addition, concatination, etc. Are handled in the optree.
I can't see how objectA's vtbl can handle a cross-operation to objectB's
vtbl.
Enlightenment sought.
chaim
--
Chaim FrenkelNonlinear
llel" structure to store those items that cover a range of
statements (or parts of an optree) should do it.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
TIL inner loop in C, should be quite portable.
A faster port, that intimately understands the compiler and how to play
with it, can be done at lesiure.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
,Version= ":oldest"
);
Seems messy.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
"DS" == Dan Sugalski [EMAIL PROTECTED] writes:
DS At 10:26 PM 8/12/00 -0400, Chaim Frenkel wrote:
If we are going to have pre-compiled modules (bytecode or machine) why
bother with AUTOLOAD?
The "registry" would handle the 'autoloading'
DS It can't, though. We don't
it, and we probably want to allow folks to wedge at least C code into each
DS bit. (I'm not sure whether allowing you to write part of the optimizer in
DS perl would be a win, but I suppose if it was saving the byte stream to disk...)
--
Chaim FrenkelNonlinear
ing passed some arguments but then can
either manipulate the raw source code or ask the lexer/parser for
parsed tokens.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ain you only need do a pointer comparison and not a
GB string compare.
I don't think anything should be in the op tree. The optree (or whatever
the engine is) should only be operations. Data should be either in the
object, vtbl, or stack.
chaim
--
Chaim FrenkelNonl
ed version be a wrapper of
the base op and near it on the same page would be a VM win.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
hough.
We will have to wait for the code to shape up.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
a deadlock, right?
Which brings to mind, (probably more appropriate to -language)
the user needs a mechanism to handle multi-object locking, or a clean
method to order his lock aquisition.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL
fined Data...
Sounds like one of the vtbl entries would be dump_self
Hmm, will vtbl get rid of all the magic hacks?
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
op that does the check, would dispatch to the underlying op.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
arr [EMAIL PROTECTED] writes:
GB On Mon, Aug 07, 2000 at 06:05:30AM -0400, Chaim Frenkel wrote:
What are the issues doing it through the vtbl of 'self'? Though if
the op does it, there would be a different op under the tristate pragma.
GB Not true. Right now you get a warning for use of uninit
e.
Then when something is blessed into the package (if this is retained for
OO) then the objects vtbl becomes the precompiled merger of vtbls based
upon the inheritence tree.
If we use a TIL for the engine then the vtbl is a direct
pointer. Otherwise it can be trampoline code.
chaim
--
Chaim Frenke
case (which had better be the common one).
NI As I recall my LISP it has two pointers + flags
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ative math libraries. A more concerted effort to standardise the
PRL behaviour of Perl across the platforms would be desirable.
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
his would help avoid the proliferation of uses. And let perl find the
right use. The only need for use would then be to customize the behavior.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ble to add a hint hook to the module (or the vtbl) that
would help optimization and the compiler.
chaim
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
n a module is installed
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
ter.
Just remember, Larry's dislike of making untainting easy.
I'd rather not have multiple characters. A option hash or even a longer
namespace would be more readable.
$Perl::Warnings{undef} = 1;
$Perl::Tainting = 1;
chaim
--
Chaim Frenkel
nt block. Whether we still set the
DS taint status on a scalar could depend on the -T switch, so data would still
DS be tainted in a no taint block.
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
foo, $bar);
DSmy ($here, $there) : Place;
DS$foo = $bar;
DS$here = $there;
--
Chaim FrenkelNonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183
84 matches
Mail list logo