I find it useful to distinguish between unassigned and undefined (null).
None is very often a valid value, especially for primitive types, and
especially where databases are involved. i.e., the range of a variable might
be {undef, -2^31..2^31-1}. In my experience:
99 + undef - 99 #
--
Gordon Henriksen
[EMAIL PROTECTED]
of this to
those versed in such. :)
And I'm going to shut my yap, now, having butted into the middle of a
discussion of a hopelessly complex runtime that I haven't been
following for a 18 months. :)
—
Gordon Henriksen
[EMAIL PROTECTED]
(Class $c:) { bool::true }
}
class AB {
does PlugIn;
does SupportsFeatureA;
does SupportsFeatureB;
}
role SupportsFeatureC {
method supportsFeatureC (Class $c:) { bool::true }
}
class ABC {
does AB;
does SupportsFeatureC;
}
—
Gordon Henriksen
[EMAIL PROTECTED]
and
PMC_ptr1p/PMC_ptr2v macros ought to be treated as deprecated.
—
Gordon Henriksen
[EMAIL PROTECTED]
[* - Somewhat inadvisedly, I think. UnionVal is 8 bytes on a 32-bit
architecture, but bloats to 16 bytes on a 64-bit architecture. The
generic containers which use UnionVal don't appear to use
it
The decimal point without a fractional part looks bizarre to me:
1.e5 # syntax error
Surely +. and -. are invalid syntax? (\.\d+)? , not (\.\d*)? .
--
Gordon Henriksen
[EMAIL PROTECTED]
Precedence.
print(day\n xor night\n);
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
-Original Message-
From: Sam Ruby [mailto:[EMAIL PROTECTED]
Sent: Friday December 10, 2004 13:28
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [CVS ci] class
Dan Sugalski wrote:
Gordon Henriksen wrote:
So, for GUI events, could calling into parrot and doing the
following from the OS event handler work to synchronously dispatch
an event?
... parrot-ify a mouse-moved event into $P5 ...
post $P5
checkevent
Hm
(in Pevent)
Invokes the registered event handler(s) for Pevent.
Which makes checkevent really this:
polleventq Py
isnull Py, .NO_EVENT
dispatch Py
.NO_EVENT:
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
more amenable to the optimizer.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
that I do actually support
calling these events--so long as they're modified to play nice with OS
event loops. Upon reflection, that just requires a means to
synchronously dispatch an event to a handler chain from a C callback.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
That's really and truly evil. I love it.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
Brent 'Dax' Royal-Gordon wrote:
Gordon Henriksen wrote:
Oh, it's worse than thatGUI commands need to be issued
from the main
thread, at least with OS X. (There's no actual requirement
as to which
thread handles the actual events as long as you treat the OS event
queue
On May 12, 2004, at 09.12, Dan Sugalski wrote:
At 2:59 PM -0400 5/11/04, Gordon Henriksen wrote:
As I pointed out in another post, this doesn't work for integrating
with at least two significant event sources: Windows and the Mac
OS. :) UI events need to be handled synchronously on the thread
of events isn't even in the same class of
problem that your document addresses. Probably best to use another term
for this (very cool, very necessary) technology.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
P.S. - Now that they're in, have you considered using objects
events need to be handled synchronously on the thread to which they were
delivered, since the GUI APIs are not threadsafe. Trying to handle these
events from another thread is, quite simply, a doomed endeavour.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
long as the x=
operators are also available for native types, so that the the same AST
traversal algorithm can work for all register types.
--
Gordon Henriksen
[EMAIL PROTECTED]
anything but one's current
binary*, parrot could adopt a cryptographic solution for verifying
integrity of resource files, if anybody's really all that worried about
an errant Unicode character database.
Gordon Henriksen
[EMAIL PROTECTED]
* - Is the binary itself is really all that trustworthy
On Saturday, April 17, 2004, at 10:35 , Gordon Henriksen wrote:
Which suggests to me a linked list of resource resolvers. First one in
the chain to return a file handle to the data or PBC wins. The head of
parrot's own system chain would be available to be appended to any
other chains
-thinking to me.
Which suggests to me a linked list of resource resolvers. First one in
the chain to return a file handle to the data or PBC wins. The head of
parrot's own system chain would be available to be appended to any
other chains that wanted it.
Gordon Henriksen
[EMAIL PROTECTED
On Saturday, April 17, 2004, at 02:17 , Gordon Henriksen wrote:
On Thursday, April 15, 2004, at 02:25 , Jeff Clites wrote:
For Unix platforms at least, you should be able to do this:
executablePath = isAbsolute($0) ? dirname($0) : cwd().dirname($0)
That absolutely does not work, as already
(and non-portable) way to do
this on Mac OS X, since Carbon applications need to reliably open the
resource fork of the executable.
Gordon Henriksen
[EMAIL PROTECTED]
that a very simple solution to the
{call()} vs. {bareword} ambiguity, the {string literal}, is indeed
fewer keystrokes and less surprise (at least for a Perl 5 programmer)
and less context dependence than «»-is-a-subscript-now-too.
Ba-a-ah,
Gordon Henriksen
[EMAIL PROTECTED]
(YAY!)
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
-Original Message-
From: Dan Sugalski [mailto:[EMAIL PROTECTED]
Sent: Thursday March 11, 2004 10:34
To: [EMAIL PROTECTED]
Subject: Dates. Or, rather, months
Okay, unless there are objections I'm going
Jared Rhine wrote:
Gordon Henriksen wrote:
gmclock(out Nx)
UTC clock in seconds since hrs Jan 1, 2000,
ignoring leap seconds.
tolocal out Nx, out Iy, in Nz
x is set to z converted to the local time zone. y - 1
if Daylight Savings Time
Edward S. Peschko wrote:
Gordon Henriksen wrote:
Leave parsing and formatting entirely to libraries.
Absolutely no need for that in the instruction set.
well, I have a bit of a problem with that... As it was pointed out
before, people have gone hogwild with the parsing and formatting
Edward,
Want to call strptime? Use NCI. No need for anything new in the core.
That's WHY it's the CORE.
Gordon Henriksen
[EMAIL PROTECTED]
]
Nz = Nz * 60 # = 60 seconds per minute
Nx = Nx + Nz
# seconds
Nz = Py[0]
Nx = Nx + Nz
Leave parsing and formatting entirely to libraries. Absolutely no need
for that in the instruction set.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
be another case
entirely.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
-Original Message-
From: Andrew Dougherty [mailto:[EMAIL PROTECTED]
Sent: Friday February 27, 2004 11:52
To: Perl6 Internals
Subject: [PATCH] Configure test for inet_aton
On Fri, 27 Feb
Andrew Dougherty wrote:
On Fri, 27 Feb 2004, Gordon Henriksen wrote:
On Mac OS X, the preferred technique would be to weak link with
inet_pton and test for its availability at run-time. (inet_pton is
not available on 10.1, but is available on 10.3.) This would be
another case
@array of Int;
@array = sort @array;
Does this meet the key extractor returns number qualification?
Gordon Henriksen
[EMAIL PROTECTED]
?
(Sorry if this has already been discussed; catching up after being out
of down.)
Early versions of Mac OS X do not have inet_pton.
Gordon Henriksen
[EMAIL PROTECTED]
Leopold Toetsch wrote:
Gordon Henriksen wrote:
The patch is at the URL below, and I've split it into 4 for you. The
classes-include-lib patch must be applied before any of the other 3.
I've resolved the 3-4 conflicts that occurred since the patch was first
I've applied now pmc-accessors2
(64-bit ptr + 64-bit ptr = 128-bit struct = 16 bytes).
Shouldn't be any padding in UnionVal unless there's a 32-bit
architecture out there that wants to align 32-bit values to 64-
bit boundaries...
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
Larry Wall wrote:
Gordon Henriksen wrote:
I've submitted a patch to bugs-parrot, and it didn't seem
to get posted to RT or otherwise handled. Anyone know where it
might've gone?
Did it have an executable attachment? :-)
Thanks, Larry, but no. :)
It was a very lage patch, however
in
general, since it was sometimes used outside of the context of a
pobj. [*]
The old syntax continues to work, and so nobody's patches will break
excl. those w conflicts. But the pobj-cache.foo_val and
PMC_ptr1p/PMC_ptr2v macros ought to be treated as deprecated.
Gordon Henriksen
[EMAIL PROTECTED
is:
x : 0
i : 4
j : 8
z : 12
Gordon Henriksen
[EMAIL PROTECTED]
it didn't show up pronto.
Gordon Henriksen
[EMAIL PROTECTED]
I've submitted a patch to bugs-parrot, and it didn't seem to get posted
to RT or otherwise handled. Anyone know where it might've gone?
http://www.parrotcode.org/openpatches
http://www.parrotcode.org/openpatches isn't working (ERROR RETRIEVING
DATA).
--
Gordon Henriksen
IT Manager
ICLUBcentral
for library authors to provide ASCII alternatives in the form of
multimethods. Then, at least, the alternative name will be pertinent to
the module.
Gordon Henriksen
[EMAIL PROTECTED]
.
Then there's the whole PMCs don't move guarantee. And there's also the
conservative tracing of system areas.
Gordon Henriksen
[EMAIL PROTECTED]
[1] To be that simple, all allocated memory must be contiguous. So it's
not usually that simple. More likely, this:
(((alloc_header*) obj) - 1
Leopold Toetsch wrote:
Gordon Henriksen wrote:
... in the multi-thousand-
line-diff it was, yet. :( Else you'd have the patch already
1) *no* multi-thousands line diffs
2) what is the problem, you like to solve?
Er? Extending to the rest of the source tree the huge patch to
classes
Dan Sugalski wrote:
Gordon Henriksen wrote:
Leopold Toetsch wrote:
Gordon Henriksen wrote:
... Best example: morph. morph must die.
Morph is necessary. But please note: morph changes the vtable of
the PMC to point to the new data types table. It has nothing to do
Leopold Toetsch wrote:
Gordon Henriksen wrote:
Or, hell, put the flags directly in the VTABLE if it's not
necessary for them to vary across instances.
No, flags are mutable and per PMC *not* per class.
Of course there are flags which must remain per-PMC. I wasn't
referring to them
Dan Sugalski wrote:
And pointless. Let's just rename it to Parrot_Interp everywhere.
I've submitted a patch for this already.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
Java programs. Fixing it
for Java 2's class library was quite non-trivial, but because the VM was
powerful enough to allow it, more efficient unsynchronized collections
could be made available as a class library even for the earlier Java VMs.
Gordon Henriksen
[EMAIL PROTECTED]
On Thursday, January 29, 2004, at 09:12 , Matt Fowles wrote:
I have been getting out of order messages from this list for months...
I just assumed that the internet was a mysterious thing...
Methinks the list is also manually moderated
Gordon Henriksen
[EMAIL PROTECTED]
On Thursday, January 29, 2004, at 11:55 , Melvin Smith wrote:
At 11:45 PM 1/28/2004 -0500, Gordon Henriksen wrote:
On Wednesday, January 28, 2004, at 12:53 , Melvin Smith wrote:
At 12:27 PM 1/23/2004 -0800, Damien Neil wrote:
Java Collections are a standard Java library of common data
Seiler Thomas wrote:
Gordon Henriksen wrote:
The Parrot_INTERP type from embed.c and embed.h serves no purpose.
[linking failures...]
mem_alloc_executable
mem_free_executable
mem_realloc_executable
[...]
Re-ran Configure.pl and these went away, in case anyone else has this.
inet_pton
Is a IPv6
On Sunday, January 25, 2004, at 06:10 , Michael Scott wrote:
On 25 Jan 2004, at 00:50, Gordon Henriksen wrote:
[...]
Is there something so terribly wrong with English? How about a general
scheme of adjective* noun? So, respectively,
MixedArray
Array
FixedArray
StringArray
FixedStringArray
Leopold Toetsch wrote:
Gordon Henriksen wrote:
I overstated when I said that morph must die. morph could live IF:
[ long proposal ]
Increasing the union size, so that each pointer is distinct is not an
option. This imposes considerable overhead on a non-threaded program
too, due its bigger
struct Parrot_Interp {
...
} Interp;
Gordon Henriksen
[EMAIL PROTECTED]
/benchmarks. If those programs are not at
all realistic, then more realistic benchmarks should be added.
Would be nice if there were a convenient way to run the lot of them and
collect the timing information, though.
Gordon Henriksen
[EMAIL PROTECTED]
On Sunday, January 25, 2004, at 06:42 , Michael Scott wrote:
I see that t/src/io is now failing on OS X 10.3.2. Is anyone else
seeing this on another system?
Also on 10.1.5.
Gordon Henriksen
[EMAIL PROTECTED]
On Sunday, January 25, 2004, at 07:08 , Leopold Toetsch wrote:
Gordon Henriksen [EMAIL PROTECTED] wrote:
Speaking of cleaning and uniting, what is with this?
#define bufstart obj.u.b.bufstart
#define buflen obj.u.b.buflen
These are *currently* necessary macros, until the PMC/PObj layout
On Friday, January 23, 2004, at 10:57 , Larry Wall wrote:
Anyway, if we do use _ for that, the people who want to warp Perl into
Prolog will have to use something else for unnamed bindings. :-)
Use ! Then the AppleScripters will feel right at home when they upgrade
to Perl 6. :/
Gordon
On Saturday, January 24, 2004, at 09:23 , Leopold Toetsch wrote:
Gordon Henriksen [EMAIL PROTECTED] wrote:
... Best example: morph. morph must die.
Morph is necessary. But please note: morph changes the vtable of the
PMC to point to the new data types table. It has nothing to do with a
typed
Leopold Toetsch wrote:
Gordon Henriksen [EMAIL PROTECTED] wrote:
... Best example: morph. morph must die.
Morph is necessary. But please note: morph changes the vtable of the
PMC to point to the new data types table. It has nothing to do with a
typed union.
I overstated when I said that morph
, just as
the first one didn't require anything more than pointer assignment at
pointer assignment time.) Could probably be simplified with the addition
of pointer type to the definitions section.
Anyhoo.
Gordon Henriksen
[EMAIL PROTECTED]
contained
within the array.
Gordon Henriksen
[EMAIL PROTECTED]
.
... okay, I'm beginning to agree with you. There's another name, Interp,
for the same structure, defined in parrot/interpreter.h. That, and
struct Parrot_Interp is a struct while Parrot_Interp is a pointer.
Gordon Henriksen
[EMAIL PROTECTED]
opacity guards in place.
Gordon Henriksen
[EMAIL PROTECTED]
Pete Lomax wrote:
Gordon Henriksen wrote:
snip
It doesn't matter if an int field could read half of a double or v.v.;
it won't crash the program. Only pointers matter.
snip
These rules ensure that dereferencing a pointer will not segfault.
In this model, wouldn't catching the segfault
programs.
And more than 69 and replies to messages containing patch snippets will
wrap in some mail programs.
ad infinitum...
Gordon Henriksen
[EMAIL PROTECTED]
Deven T. Corzine wrote:
The most novel approach I've seen is the one taken by Project UDI
(Uniform Driver Interface).
This is very much the ithreads model which has been discussed. The
problem is that, from a functional perspective, it's not so much
threading as it is forking.
--
Gordon
performant strategy might differ for uniprocessors and multiprocessors.
Gordon Henriksen
[EMAIL PROTECTED]
it's going into and falls out of the transient
root set before the DOD traces over to it.
(Worse than that. It could come from any untraced locationor possibly
even be brand new, depending upon memory allocation details.)
Gordon Henriksen
[EMAIL PROTECTED]
lock, replacing it with a form of coordination that's cheaper in
aggregate, and free in the common case? It's not simple, but I'd rather
one elephant than a billion mice. Might help with infant mortality, too.
Gordon Henriksen
[EMAIL PROTECTED]
P.S. - morph must die.
it. A
generational collector is a more likely means by which parrot might
reduce memory-related overhead.
Gordon Henriksen
[EMAIL PROTECTED]
.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
the generation is exhausted.
- One could say that the generation is fragmented by garbage.
+ It is no more fragmented by garbage than a GC system which uses a
freelist allocator.
Gordon Henriksen
[EMAIL PROTECTED]
consequence
worth noting for everyone.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
have to fall inside of the trusted environment,
so that's not really a failure. Of course uncooperative code can break
a cooperative algorithm. :)
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
On Monday, January 19, 2004, at 06:37 , Gordon Henriksen wrote:
Dan Sugalski wrote:
For a copying collector to work, all the mutators must be blocked,
and arguably all readers should be blocked as well.
True of non-moving collectors, too. [...]
Some of what I've written up addresses why
On Saturday, January 17, 2004, at 05:53 , Leopold Toetsch wrote:
Gordon Henriksen [EMAIL PROTECTED] wrote:
Other threads than the target could be executing the same chunk of
JITted code at the same time.
No. JITed (and prederefed) code is thread-specific, because register
addresses
.
Gordon Henriksen
[EMAIL PROTECTED]
X 10.1 does not.
Gordon Henriksen
[EMAIL PROTECTED]
On Saturday, January 17, 2004, at 12:47 , Leopold Toetsch wrote:
Gordon Henriksen [EMAIL PROTECTED] wrote:
What if control leaves the current code segment before you finish
patching it?
Ops that can leave the code segment have to explicitely check for
events.
Then no need to patch invoke
-overhead, but it's simple and easy enough to do
portably. Crazy platform-specific zero-overhead schemes can come later
as optimizations.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
are that mechanism
through which the code which will throw the exception can
interrupt normal program execution.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
be executing the same chunk
of JITted code at the same time.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
operation.
I'm tired
Gordon Henriksen
[EMAIL PROTECTED]
instruction.
Gordon Henriksen
[EMAIL PROTECTED]
[Vocab note: A write-back cache only stores changes to main memory when
the variable is evicted from the cache (it optimizes both loads and
stores). Its corollary is a write-through cache, which stores changes to
main memory on every update
the contents of its working copy of
a variable into the master copy or vice versa.
This is very obliquely phrased, but it refers to the register file and
stack frame. Or, since the Java bytecode is stack-based, it refers to
the stack.
Gordon Henriksen
[EMAIL PROTECTED]
, c: $c\n;
}
So if you're going to basically go all out in emulating DBI's fetch_*
permutations, don't forget this one. :)
Gordon Henriksen
[EMAIL PROTECTED]
On Sunday, January 4, 2004, at 03:17 , Jeff Clites wrote:
On Jan 3, 2004, at 8:59 PM, Gordon Henriksen wrote:
On Saturday, January 3, 2004, at 04:32 , Nigel Sandever wrote:
Transparent interlocking of VHLL fat structures performed
automatically by the VM itself. No need for :shared or lock
On Sunday, January 4, 2004, at 01:43 , Dan Sugalski wrote:
At 11:59 PM -0500 1/3/04, Gordon Henriksen wrote:
On Saturday, January 3, 2004, at 04:32 , Nigel Sandever wrote:
Transparent interlocking of VHLL fat structures performed
automatically by the VM itself. No need for :shared or lock
say no based upon precedent; the cost is too high.
Gordon Henriksen
[EMAIL PROTECTED]
normal RPC proxies would cause reference cycles).
The .NET design doesn't meet all of requirements Dan set forth, but it's
at least an interesting case study in a successful threading environment
for a high-performance virtual machine.
Gordon Henriksen
[EMAIL PROTECTED]
, and the above line of thought isn't doing threading
justice in my opinion.
Gordon Henriksen
[EMAIL PROTECTED]
synchronization.
Gordon Henriksen
[EMAIL PROTECTED]
to make it work right.
- or -
Take the performance hit and go home.
Dynamism has a price. Perl has always paid it in the past. What's
changed?
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
finally by default? None for me; thanks, though.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
Spelling aside, anyhow. (e.g., where find_onesym yada might be spelled
set yada[].)
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
to be
willing go to in order to hide a function call or obscure the existence
of an object. :)
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
to work correctly on a safe core
but will seg fault on some other. Also, I see no reason not
to use PMCNULL in all cores now.
Okay, lets do this:
Add an isnull branch op:
isnull Px, destination
How about this to test if Px is really null?
null Py
eq_addr Px, Py
Gordon Henriksen
of PMCNULL, to fire an exception rather than having undefined
behavior?
Gordon Henriksen
[EMAIL PROTECTED]
in separate files; i.e. purely a
structural convenience to the compiler's user, with absolutely no effect
at runtime.
http://www.c-sharppro.com/features/2003/10/cs200310bw_f/cs200310bw_f.asp
search for Partial types are simple
Gordon Henriksen
[EMAIL PROTECTED]
.
The suspect drank half a dozen double whiskeys
and then drove into a lake.
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
* - It's also a sometimes a noun (live has been hard since then) and
rarely an adjective (the then president).
to trigger spam filters...
--
Gordon Henriksen
IT Manager
ICLUBcentral Inc.
[EMAIL PROTECTED]
1 - 100 of 151 matches
Mail list logo