From the recent P6 Summary:
Larry's response is a masterpiece of conciseness:
Well, actually, we saved you last summer when we decided to make +
mean that the parameter must be named.
Larry's response also didn't really address the issue, since parameters
marked with a + in the
On Wed, Apr 28, 2004 at 02:16:00PM -0400, John Siracusa wrote:
: ...but I'm not sure if this is just one of Damian's Crazy Ideas(tm)
: or if it'll actually end up as a standard part of the Perl 6 language.
I've never considered the two to be mutually exclusive. :-)
Larry
They're exclusive by definition.
Were it to become part of the language, it would be one of Damian's
Brilliant Ideas.
=Austin
-Original Message-
From: Larry Wall [mailto:[EMAIL PROTECTED]
Sent: Wednesday, 28 April, 2004 03:01 PM
To: Perl 6 Language
Subject: Re: Required Named
On Wed, Apr 28, 2004 at 03:18:14PM -0400, Austin Hastings wrote:
: They're exclusive by definition.
I don't think so. Merely disjunctional.
: Were it to become part of the language, it would be one of Damian's
: Brilliant Ideas.
Crazy and Brilliant are not mutually exclusive either. There are
MF == Matt Fowles [EMAIL PROTECTED] writes:
MF Perhaps it is just the mathematician in me speaking, but I think that
MF a sqrt op might be superfluous and could be replaced with exp as
MF sqrt(x) == exp(x,0.5). I cannot say anything about numerical
MF stability of precision, though, so
On Apr 27, 2004, at 10:25 AM, Dan Sugalski wrote:
At 9:40 AM -0700 4/27/04, Jeff Clites wrote:
On Apr 23, 2004, at 2:43 PM, Dan Sugalski wrote:
CHARACTER SET - Contains meta-information about code points. This
includes both the meaning of individual code points
(65
Chromatic [EMAIL PROTECTED] wrote:
... Still, there has to be some extra support for out
parameters, or else NCI will walk all over the newly-updated contents of
the registers with the return results.
Ah yep. That's a problem.
I patched pcf_i_pt33()
missing test?
... manually to prevent
Chromatic [EMAIL PROTECTED] wrote:
No problem. Fair warning, though: nci_test doesn't build by default on
Linux PPC. I had to build it manually then copy it into
runtime/parrot/dynext/.
That's the current procedure, yes. I don't know, if all platforms
support dynamic loading - probably not.
Aaron Sherman [EMAIL PROTECTED] wrote:
See attached patch which prevents the docs/Makefile from including
invalid targets that just happen to be editor temp files (emacs temp
files have a # character which really boggles make).
Thanks, applied.
leo
Nick Glencross [EMAIL PROTECTED] wrote:
* 200K file limit imposed when reading in the file
The Cread opcodes truncates files at 64K. Needs fixing.
And we need Cstat - at least the filesize.
E.g.
read S0, P0 # slurp whole file
And of course: the string really shouldn't get created as
Nick Glencross [EMAIL PROTECTED] wrote:
for fun I've written md5sum using IMCC, and have attached my first cut.
Yet another f'up. Some enhancements and nit picks.
- buffer should be a IntvalArray (or IntList still)
(I've copied the splice over to intlist.c)
- extracting the chars out of the
In light of ongoing discussions of Parrot's string model, I've decided
to prepare a document spelling out my general viewpoint on the subject
of strings. It's intended also to supply a self-consistent set of
terminology. It will frame my future comments. Some notes:
1) This is explicitly
chromatic [EMAIL PROTECTED] writes:
On Fri, 2004-04-23 at 05:42, Dan Sugalski wrote:
Since any type potentially has assignment behaviour, it has to be a
constructor. For example, if you've got the Joe class set such that
assigning to it prints the contents to stderr, this:
my Joe
Time for an update.
I've now split the code into a library, an example and a test.
* runtime/parrot/include/Digest_MD5.imc (_md5sum and _md5_print calls)
* examples/assembly/md5sum.imc
* imcc/t/syn/md5.t
I don't know if the test lives in the most appropriate directory.
Investigating why some
At 10:29 PM -0400 4/27/04, Matt Fowles wrote:
All~
Perhaps it is just the mathematician in me speaking, but I think
that a sqrt op might be superfluous and could be replaced with exp
as sqrt(x) == exp(x,0.5). I cannot say anything about numerical
stability of precision, though, so feel free to
{snipped, obviously}
Hmmm... very good.
One question.
Does (that which the masses normally refer to as) binary data
fall inside or outside the scope of a string?
--
Bryan C. Warnock
bwarnock@(gtemail.net|raba.com)
A simple implementation of rand() and srand() which may not be ideal for
Perl. Also included is the test file for random ops. If anyone can think
of a good way to ALWAYS know that a number we got back was random,
throw that into the test ;-)
Perl 5 mandates that it calls srand if you call rand
Hi!
On Wednesday 28 April 2004 14:31, Nick Glencross wrote:
Time for an update.
I've now split the code into a library, an example and a test.
* runtime/parrot/include/Digest_MD5.imc (_md5sum and _md5_print calls)
runtime/parrot/library/Digest/MD5.imc should IMO be better.
You should put
Hi!
On Wednesday 28 April 2004 15:54, Aaron Sherman wrote:
The real concern is that Perl and
Foolanguage might both srand(), but that's not something I'm gonna think
too hard about just now and probably is a matter for library maintainers
in those languages anyway.
Thats the reason why we
Nick Glencross [EMAIL PROTECTED] wrote:
I've now split the code into a library, an example and a test.
Good.
* runtime/parrot/include/Digest_MD5.imc (_md5sum and _md5_print calls)
* examples/assembly/md5sum.imc
* imcc/t/syn/md5.t
I don't know if the test lives in the most
As I attempt to get things in a nice and tidy state, and clear up the
loose ends...
Return continuations.
Right now they get stuck in P1, which is fine for easy access, but as
has been pointed out that makes P1 part of the caller's state that
has to be preserved, wedged in the middle of stuff
At 4:41 PM +0200 4/28/04, Leopold Toetsch wrote:
Nick Glencross [EMAIL PROTECTED] wrote:
* runtime/parrot/include/Digest_MD5.imc (_md5sum and _md5_print calls)
* examples/assembly/md5sum.imc
* imcc/t/syn/md5.t
I don't know if the test lives in the most appropriate directory.
Rather
Okay, here's the scoop, since nobody worked out anything much better.
The interpreter has a library array. We can stick it somewhere in the
interpreter structure and hang it off the interpinfo op to get to it.
Each element in the array is a sub PMC. The prototype is:
int loader(string)
The
Ron Blaschke [EMAIL PROTECTED] wrote:
nmake doesn't accept $ in non-inference rules. The attached patch fixes
this for the generated pmc rules.
Thanks, applied.
leo
Jens Rieks [EMAIL PROTECTED] wrote:
Hi!
.namespace[Digest::MD5]
Ack
Leo, what is the status of the pending changes WRT library paths?
Mainly a missing portable way to find the library. *But* searching in
Cruntime/parrot/include is working for current platforms, so we can
do the same for
Okay, we've a long-running discussion between Leo and I about the
keyed variants for all the binary vtable entries.
On the one hand, there's a hell of a lot of 'em, of potentially
limited utility.
On the other, without them it means creating temporary PMCs if we do
something like:
On Wed, 2004-04-28 at 10:01, Jens Rieks wrote:
Thats the reason why we have a Random PMC (classes/random.pmc).
I'am still not sure if we need an rand/srand OP for random numbers. As you
already mentioned, srand uses a global state and I belief that it will cause
trouble earlier or later.
As part of the great clean up the dangling bits sweep...
File stat stuff. Let's do:
stat [PINS]x, Sy, Iz
stat Px, Sy
where Y is the filename. Z is the stat element, and X is the value
for that element. (In the two-arg case it's an array PMC, where the
offset matches the element number in
On Wed, 2004-04-28 at 11:33, Dan Sugalski wrote:
We toss the keyed variants for everything but get and set. And... we
move *all* the operator functions out of the vtable and into the MMD
system.
[...]
Comments?
Only one question. What's the performance hit likely to be and is there
any way
Apparently it doesn't work. A good task for the perl hackers with some time.
Go for it, good luck, patches welcome. :)
--
Dan
--it's like this---
Dan Sugalski even samurai
[EMAIL
At 11:59 AM -0400 4/28/04, Aaron Sherman wrote:
On Wed, 2004-04-28 at 11:33, Dan Sugalski wrote:
We toss the keyed variants for everything but get and set. And... we
move *all* the operator functions out of the vtable and into the MMD
system.
[...]
Comments?
Only one question. What's the
On Wed, 2004-04-28 at 11:56, Dan Sugalski wrote:
stat [PINS]x, Sy, Iz
stat Px, Sy
[...]
The returned PMC in the two-arg case could be a hash/array pmc and
allow string-keyed access to elements. If we do that, then the names
correspond to the constant names that follow.
NAME
On Wed, 2004-04-28 at 12:06, Dan Sugalski wrote:
I'm not sure of the hit--an MMD version of the perl base scalar PMCs
is faster than the non-mmd version in some tests. I fully expect that
can't hold, though. And no, there's no way around it--if we do this
everyone pays. (OTOH, all perl
On Wed, 2004-04-28 at 08:59, Dan Sugalski wrote:
Apparently it doesn't work.
Hm, I think it does work, just not the way Leo wants. I'll look again
today.
-- c
At 12:15 PM -0400 4/28/04, Aaron Sherman wrote:
On Wed, 2004-04-28 at 11:56, Dan Sugalski wrote:
stat [PINS]x, Sy, Iz
stat Px, Sy
[...]
The returned PMC in the two-arg case could be a hash/array pmc and
allow string-keyed access to elements. If we do that, then the names
correspond to
At 12:21 PM -0400 4/28/04, Aaron Sherman wrote:
On Wed, 2004-04-28 at 12:06, Dan Sugalski wrote:
I'm not sure of the hit--an MMD version of the perl base scalar PMCs
is faster than the non-mmd version in some tests. I fully expect that
can't hold, though. And no, there's no way around it--if we
At 9:21 AM -0700 4/28/04, chromatic wrote:
On Wed, 2004-04-28 at 08:59, Dan Sugalski wrote:
Apparently it doesn't work.
Hm, I think it does work, just not the way Leo wants. I'll look again
today.
Cool. If they do work, could you fire a quick note on how to the
list, so I don't forget again?
--
On Wednesday 28 April 2004 17:17, Dan Sugalski wrote:
1 - no good, try the next entry in the array
0 - Good, done
-1 - good, try the next entry in the array anyway
exception - something went wrong
The string parameter is the unqualified name of the library to load.
The parameter
At 6:38 PM +0200 4/28/04, Jens Rieks wrote:
On Wednesday 28 April 2004 17:17, Dan Sugalski wrote:
1 - no good, try the next entry in the array
0 - Good, done
-1 - good, try the next entry in the array anyway
exception - something went wrong
The string parameter is the unqualified
On Wed, 2004-04-28 at 09:33, Dan Sugalski wrote:
Cool. If they do work, could you fire a quick note on how to the
list, so I don't forget again?
Alright, here's a TODO test:
use Parrot::Test tests = 2;
use Test::More;
TODO:
{
local $TODO = 'Not
On Wed, 2004-04-28 at 12:33, Dan Sugalski wrote:
At 12:21 PM -0400 4/28/04, Aaron Sherman wrote:
Since we're specifically talking about Perl here (and probably not Perl
5, since its overloading model is baroque and probably has to be managed
by the compiler, not Parrot)
Actually perl 5's
At 9:48 AM -0700 4/28/04, chromatic wrote:
If for some reason one of the tests suddenly starts to succeed, you'll
see a different message from the harness:
$ perl t/harness t/example.t
t/exampleok
1/2 unexpectedly succeeded
The Perl 6 Summary for the week ending 2004-04-25
And we're back on a weekly schedule again (unless the Mayday bank
holiday knocks me for six next week). As I expected, the Apocalypse has
brought out a rash of prophets and prognosticators in perl6-language,
but perl6-internals is
At 12:51 PM -0400 4/28/04, Aaron Sherman wrote:
On Wed, 2004-04-28 at 12:33, Dan Sugalski wrote:
At 12:21 PM -0400 4/28/04, Aaron Sherman wrote:
Since we're specifically talking about Perl here (and probably not Perl
5, since its overloading model is baroque and probably has to be managed
by
Oh, yeah, another thing--if we do kill all the non load/store vtable
operations, then all the hyper ops just move to a separate set of MMD
dispatch tables.
--
Dan
--it's like this---
Dan Sugalski
On Wed, 2004-04-28 at 12:26, Dan Sugalski wrote:
NAME Filename, no extension or path
EXTENSION File extension
This represents a world-view that is not universal. Rather than making
Parrot into a lens through which system features need to be de-coded,
why not provide a set
At 1:33 PM -0400 4/28/04, Aaron Sherman wrote:
On Wed, 2004-04-28 at 12:26, Dan Sugalski wrote:
NAME Filename, no extension or path
EXTENSIONFile extension
This represents a world-view that is not universal. Rather than making
Parrot into a lens through which system features
Not to sound like a Jackie Chan cartoon or anything, but...
If we go MMD all the way, we can skip the bytecode-C-bytecode
transition for MMD functions that are written in parrot bytecode, and
instead dispatch to them like any other sub.
Not to make this sound good or anything, of course. :-P
--
All in all, very well written. I do, of course, have a few quibbles:
On Wed, Apr 28, 2004 at 04:22:07AM -0700, Jeff Clites wrote:
: As it turns out, people find it convenient to programmatically represent a
: character by an integer (think whole number, not a specific data type
: here).
After
On Wed, 2004-04-28 at 13:40, Dan Sugalski wrote:
ALTERNATE RESPONSE
This is where you go mad, right? :)
Usually ;-)
Why abstract within
the arbitrary constraints of a POSIX-type stat model?
I wasn't, actually. There's a good sprinkling of VMSisms in that
list, and I'm all for
Dan Sugalski wrote:
[...]
CTIME Creation time
Will unixen use this for change time? (also spelled ctime too)
OWNER_READTrue if owner can read
OWNER_WRITE True if owner can write
OWNER_EXECUTE True if owner can run
OWNER_DELETE True if owner can delete
GROUP_CD True if
I think you're basically forcing this concept onto national standards
which lack it. I don't think that most of the national standards
actually define the semantics of the characters they encode
(categorizations, case mapping, sort order), and although they assign
byte sequences to
Ok, nuff said. I think there are slightly too many definitions that
we're not agreeing on (though, I suspect if we ironed those out, we'd be
in violent agreement).
As for INT/PMC thing I'm pretty sure all of my concerns come down
to: compilers can really screw each other over, but then we
Dan Sugalski wrote:
Not to sound like a Jackie Chan cartoon or anything, but...
I was thinking Columbo, actually...
If we go MMD all the way, we can skip the bytecode-C-bytecode
transition for MMD functions that are written in parrot bytecode, and
instead dispatch to them like any other
Dan Sugalski [EMAIL PROTECTED] wrote:
We toss the keyed variants for everything but get and set. And... we
move *all* the operator functions out of the vtable and into the MMD
system. All of it. Math, logical ops, bit ops... the works. All
that's left are the gets, sets, and meta-information
Dan Sugalski [EMAIL PROTECTED] wrote:
Leo wants the harness to report TODO tests that fail as expected; that's
a little more complex, but it's doable.
If you can, great. If not, even this is fine.
Well, there is exactly one TODO test in t/pmc/*. It you have a look at
that one this is fine :)
The Perl 6 Summarizer [EMAIL PROTECTED] wrote:
Passing arrays of structs to NCI subs
Is working in the meantime.
Separating allocation and initialization of objects
Last week, Leo posted the latest object benchmarks, and things were
fast. But there was one test where Python was
From a Perl 6 language point of view, populating an array is a waste
of time. The user just wants an object that has various methods.
Some of those methods (ACLs, for instance) might be optional depending
on the roles filled by the object. New roles can be added to the
object as the concept of
At 8:08 PM +0200 4/28/04, Jerome Quelin wrote:
Dan Sugalski wrote:
[...]
CTIME Creation time
Will unixen use this for change time? (also spelled ctime too)
Nope, for that they use mtime. We can expand the names to skip the confusion.
Should be OWNER_CD?
Should be SYSTEM_CD?
Should be OTHER_CD?
Oh, don't get me wrong! I'm not saying an abstraction isn't all keen and
such, I'm just wondering why we're abstracting farther out than POSIX
when the right way, as you point out has never been a matter of
consensus, and many client languages will be presenting POSIX semantics
through their
Which is why I'm fine with yanking all the filename mangling stuff
from stat here.
I would recommend leaving out from stat()ish layer. An API not
s/out/that out/
At 2:01 PM -0400 4/28/04, Aaron Sherman wrote:
Keeping a niche open for ACLs is probably smart, esp. in the Windows
world.
I think you'll find ACL use is increasing, not decreasing. They've
been tacked on to most recent filesystems, and they're coming into
more widespread use as Linux is getting
At 11:39 AM -0700 4/28/04, Larry Wall wrote:
From a Perl 6 language point of view, populating an array is a waste
of time.
Who says we're populating an array? In the common case we'll be
checking individual bits (it'll be a long time before perl 6's the
common case) and in the case where we *do*
At 8:21 PM +0200 4/28/04, Leopold Toetsch wrote:
Dan Sugalski [EMAIL PROTECTED] wrote:
We toss the keyed variants for everything but get and set. And... we
move *all* the operator functions out of the vtable and into the MMD
system. All of it. Math, logical ops, bit ops... the works. All
At 9:53 PM +0300 4/28/04, Jarkko Hietaniemi wrote:
Oh, don't get me wrong! I'm not saying an abstraction isn't all keen and
such, I'm just wondering why we're abstracting farther out than POSIX
when the right way, as you point out has never been a matter of
consensus, and many client languages
Keeping a niche open for ACLs is probably smart, esp. in the Windows
world.
I think you'll find ACL use is increasing, not decreasing. They've
been tacked on to most recent filesystems, and they're coming into
This is true. But good luck in trying to map between the ACL schema of
At 10:32 PM +0300 4/28/04, Jarkko Hietaniemi wrote:
Keeping a niche open for ACLs is probably smart, esp. in the Windows
world.
I think you'll find ACL use is increasing, not decreasing. They've
been tacked on to most recent filesystems, and they're coming into
This is true. But good luck in
Yech, good point. I'm not even sure you can do any sort of sane
abstraction there.
In that case, are we better off chopping it out entirely and leaving
it to library code, or making it a simple yes/no indicator that there
are some? (Chopping it out's probably the best thing)
Chopping
At 10:49 PM +0300 4/28/04, Jarkko Hietaniemi wrote:
Yech, good point. I'm not even sure you can do any sort of sane
abstraction there.
In that case, are we better off chopping it out entirely and leaving
it to library code, or making it a simple yes/no indicator that there
are some?
On Wed, 2004-04-28 at 14:51, Dan Sugalski wrote:
At 8:08 PM +0200 4/28/04, Jerome Quelin wrote:
Dan Sugalski wrote:
[...]
CTIME Creation time
Will unixen use this for change time? (also spelled ctime too)
Nope, for that they use mtime. We can expand the names to skip the
On Wed, 2004-04-28 at 15:42, Dan Sugalski wrote:
At 10:32 PM +0300 4/28/04, Jarkko Hietaniemi wrote:
I think you'll find ACL use is increasing, not decreasing. They've
been tacked on to most recent filesystems, and they're coming into
But AFAIK, Windows is the only place where the use of
On Wed, Apr 28, 2004 at 10:49:50PM +0300, Jarkko Hietaniemi wrote:
: Yech, good point. I'm not even sure you can do any sort of sane
: abstraction there.
:
: In that case, are we better off chopping it out entirely and leaving
: it to library code, or making it a simple yes/no indicator
Dan Sugalski wrote:
At 8:08 PM +0200 4/28/04, Jerome Quelin wrote:
Dan Sugalski wrote:
CTIME Creation time
Will unixen use this for change time? (also spelled ctime too)
Nope, for that they use mtime. We can expand the names to skip the
confusion.
mtime != ctime
mtime =
On top of which, ACLs suffer the same illness of any stat-based
checking, insofar as checks against them are only an approximation
to reality, potentially full of race conditions. It's really the OS
that's going to do the ACL checking, and it'll do it when you do the
actual operation, not
At 10:47 PM +0200 4/28/04, Jerome Quelin wrote:
Dan Sugalski wrote:
At 8:08 PM +0200 4/28/04, Jerome Quelin wrote:
Dan Sugalski wrote:
CTIMECreation time
Will unixen use this for change time? (also spelled ctime too)
Nope, for that they use mtime. We can expand the names to
Since we're doing this, we need to set up some basic semantics as to
what happens when we add things into the table.
It's pretty simple when dealing with the actual types--put a function
in for an Matrix and an Integer and we should call it when we have a
Matrix and an Integer. The more
Since we really ought to have it, as I don't think we want to bother
messing around with what we have already in the PMCs, and it's useful
in those cases where folks want to write a single override version
and install it as a default...
What I'm planning on doing is setting it so that a type
On Wed, Apr 28, 2004 at 05:20:53PM -0400, Dan Sugalski wrote:
: The first question is... *should* we synthesize anything at all? I'd
: argue yes, but at this level I can see it going either way.
Probably, in general. It's the equivalent of a method cache. But
maybe some people will want to
At 5:43 PM -0400 4/28/04, Dan Sugalski wrote:
Since we really ought to have it, as I don't think we want to bother
messing around with what we have already in the PMCs, and it's
useful in those cases where folks want to write a single override
version and install it as a default...
Oh, right,
On Apr 28, 2004, at 4:57 AM, Bryan C. Warnock wrote:
{snipped, obviously}
Hmmm... very good.
One question.
Does (that which the masses normally refer to as) binary data
fall inside or outside the scope of a string?
Outside. Conceptually, JPEG isn't a string any more than an XML
document is an
At 2:56 PM -0700 4/28/04, Larry Wall wrote:
On Wed, Apr 28, 2004 at 05:20:53PM -0400, Dan Sugalski wrote:
: The first question is... *should* we synthesize anything at all? I'd
: argue yes, but at this level I can see it going either way.
Probably, in general. It's the equivalent of a method
Dan Sugalski wrote:
OWNER_READTrue if owner can read
OWNER_WRITETrue if owner can write
OWNER_EXECUTETrue if owner can run
OWNER_DELETETrue if owner can delete
GROUP_CDTrue if owner can enter this directory
Is it possible to have something along the lines of
As I dig through the source here, looking to nail down and make
permanent some stuff...
Looks like compiler modules may be done in one of three ways:
1) A plain sub, which is passed in the string to compile and returns
a sub PMC that represents the compiled code (if it actually does
something)
On Wed, Apr 28, 2004 at 03:30:07PM -0700, Jeff Clites wrote:
: Outside. Conceptually, JPEG isn't a string any more than an XML
: document is an MP3.
I'm not vehemently opposed to redefining the meaning of string
this way, but I would like to point out that the term used to have
a more general
At 4:43 PM -0700 4/28/04, Brent 'Dax' Royal-Gordon wrote:
Dan Sugalski wrote:
OWNER_READTrue if owner can read
OWNER_WRITETrue if owner can write
OWNER_EXECUTETrue if owner can run
OWNER_DELETETrue if owner can delete
GROUP_CDTrue if owner can enter this directory
Is it
On Wed, 2004-04-28 at 03:06, Leopold Toetsch wrote:
Not very wrong, but ... Anyway the syntax is:
Px[Rect; 0; x] # rect[0].x named access of Rect
Px[ 0 ; 2; h] # rect[2].h idx
Constructions differs too.
Please have a look at the test.
Ahh, that makes sense after squinting the
Is it possible to have something along the lines of
ME_{READ,WRITE,EXECUTE,DELETE,CD} to say if, as the user the program
is running as, you can perform these actions? That strikes me as
rather useful. (Alternately, could we have a field indicating if
the current user is OWNER, GROUP, SYSTEM,
On Wed, 2004-04-28 at 03:23, Leopold Toetsch wrote:
I patched pcf_i_pt33()
missing test?
That's an autogenerated file and my patch was only a local proof of
concept. I'm not sure exactly how the interface should look, so I
haven't written the test yet.
Well, that's ok for this one. Bu,
88 matches
Mail list logo