ly real benifit I see is typing ease, and -> isn't that
hard to type. That's what editor macros are for.
It's rather unfornate that we've run out of characters to use
for operators, but we've got to deal with it better then flipping
around operators willy-nilly.
-=- James Mastros
Unicode 2.0 starts introducing characters above this)
- Both assume that the byteorder of an INTVAL is the same as a utf32
character. (I think the core string code does the same thing, though.)
-=- James Mastros
-=- James Mastros
have 8 bit characters or INTVAL
sized characters. (So utf16 probably won't work).
- Both chr and ord assume that the byteorder of a UTF32 string matches the
byteorder of an INTVAL.
-=- James Mastros
Index: core.ops
==
;s in the
right position to ret without doing any swaps.
That would have to be done by doing a:
SET In, *+ (Assuming that we can do constant arith on *)
jmp
OTOH, we could keep our current ABI, and pop the return address into an I
register, and then push it and ret, or jmp to it.
-=- James Mastros
.unicode.org/glossary/)
Whoops. What I meant was that characters requiring surrogate pairs aren't
supported. According to http://www.unicode.org/unicode/faq/utf_bom.html,
there are none currently assigned.
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fiele
String encodings are an enum, so I
can't take the name of the encoding as an s|sc parameter. Ideas?
-=- James Mastros
Index: core.ops
===
RCS file: /home/perlcvs/parrot/core.ops,v
retrieving revision 1.17
diff -u -r1.17 co
y anything, and the encodings list being static.)
Chr and Ord aren't implemented for utf8 and utf16, only for native and
utf32. I'd much appreciate it if sombody who knew what they were doing did
this.
The tests are woefuly incomplete.
The style of the example is poor.
-=- J
Sorry for the train-of-thought, but I think it's decently clear.)
(BTW, for those paying attention, I'm waiting on this discussion for my
chr/ord patch, since I want them in terms of charsets, not encodings.)
-=- James Mastros
set.
(This, BTW, means that only encodings that feel like it have to provide
either, but all encodings must be able to convert to utf32.)
Powers-that-be (I'm looking at you, Dan), is that good?
-=- James Mastros
Hey all. Attached is the latest edition of the chr and ord opcodes patch,
updated and enhanced for the New Way of Strings.
Let me know of any changes I need to make.
-=- James Mastros
On Fri, Nov 02, 2001 at 11:26:37PM -0300, Daniel Grunblatt wrote:
> You forgot the attachment.
Whoops.
-=- James Mastros
? chr5.diff
? chrord4.diff
? chrord5.diff
? core.ops.mine
? mops.c
? ops.chrord.diff
? ord3.diff
? examples/assembly/chr_table.pasm
? examples/assembly/ord.p
7;s what is uncompileable. Surprisingly (to me, anyway), using a
constant integer instead of a label works.)
Hope that this is useful.
-=- James Mastros
pdump.pl
re that we're
dispatching to a different set of tables when we cross boundries between
opcode peices.
I'm going to set about implementing this now.
-=- James Mastros
m. I'm not
nearly good enough to be writing code that I can't test.
Sombody care to clue me in?
-=- James Mastros
I started my current project now instead of later.
-=- James Mastros
On Sat, Nov 03, 2001 at 03:53:10PM -0500, James Mastros wrote:
> Here's what I'm thinking: The high 16 bits (or so) of the opcode can identify
> the oplib (as an index to the table of oplibs, see the next para), the rest
> can identify the opcode. This shouldn't be too
in a different
> bytecode chunk.
This sounds much better then either of my plans. (OTOH, I'd like to see the
overhead from the larger number of opcode adds.) I'm going to keep working,
and see how our implementations differ.
-=- James Mastros
|sc, i|ic, i|ic).
2) Define the notation for setting the opcode number in the .ops file.
3) Define what the correct behavor is for when you have holes in the opcode
numbering.
-=- James Mastros
#x27;m seeing what you're meaning is.
I like. I like a lot. It seems quite elegant... though it also seems like
it'd have a /lot/ of overhead. But we'll see. (It shouldn't be /too/ bad,
because in a real system, we won't be loading all that many oplibs, I should
think).
-=- James Mastros
he point where different modules can have different
GCs... but I don't think it's reasonably possible.
Without doubt, there should be a way for parrot code to modify the
properties of the GC, like the frequency of calling, and to specify "run the
GC now".
-=- James Mastros
5,98, or Me. But so long as we don't care, the security descriptor
parameter can be NULL, and it will work fine on both.)
I should note, BTW, that I don't write windows programs when I can manage
not to, and I don't run NT.
-=- James Mastros
to
tell it how to get core_ops.c. (Note that in the current Makefile, we
special-case it.)
-=- James Mastros
shouldn't it make the MOPS numbers look better, not worse?
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
the exception #defines are currently only used for errorlevels
on the intepreter's death.)
> (The general gist of the patch is damn good, btw)
I agree. (The documentation is even more lacking then in mine, though.
Dan'll complain. Or should, anyway.)
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
uestion is 5 of 8. Perl, PHP,
Python, and Tcl we plan (AFAIK) on being compilable to Parrot, and
possibly XSLT as well. (I have no idea how much sense considering XSLT
being "compiled" to a VM makes.)
Mozilla, ".NET Framework", Web Services, and XML I see as N/A on a Parrot
lev
An INTVAL should never get a /native/ pointer in it. However, when we do
relitave or absolute jumps in parrot code, the destination is an INTVAL.
Also, there's a good chance that PMC constants or non-constants may be at
some points native pointers, and it would probably help effinceny for
sizeof(INTVAL)==sizeof(PMC), no?
-=- James Mastros
requires some uniformity on how handles are created
> (ergo always from the arena).
I think we can just declare like
struct PMC {
struct PMC *next, *prev; // GC stuff, don't touch!
}
and trust XS writers not to touch.
-=- James Mastros
ead lock failed - giving up
Sombody want to fix that? Presumably, it's a dead lockfile that needs to be
deleted.
-=- James Mastros
stead of sepperatly?
-=- James Mastros
uot;,
> but that wouldn't really help that much. And I could fudge it all
> with macros, but that's a Perl 5 thing to do.
I don't see doing it with a macro as too bad, so long as the macro is
decently localized. (If you don't like macros because of their
preprocessor natur
got a bit of a problem.
This is completly untested on anything but my the linux and winME sides of
my computer. (The windows side gets errors in core_ops.c that I can't seem
to track down.)
-=- James Mastros
Index: Configure.pl
===
.
Note that some (many) possible methods havn't been written. (Esp. for
dynloading.) This is still proof-of-concept stage, largly.
-=- James Mastros
--
God has both Tea and No Tea -=- SLM
platforms.tar.gz
Description: Binary data
r (the fd), and some
(win32 CreateFile(), for example) want to return a void* (the file
handle). (This is a pointer to a kernel-allocated structure that will
cause a segfault to directly access, BTW, so no GC problems here.)
I propose that we make INTVAL and opcode_t the same size, and gaurrenteed
to
I
> know others disagree.
I think we can get the best of both worlds. We, I think, should be able
to get the bytecode format such that it is mmapable on platforms with the
same endiannes and sizeof(INTVAL), and nonmmapable otherwise.
-=- James Mastros
--
Put bin Laden out like a bad ci
On Wed, 28 Nov 2001, Andy Dougherty wrote:
> Longer term, James Mastros was working on splitting out the larger
> platform-specific chunks (e.g. dynaloading, async I/O, time functions,
> etc.). See the earlier thread "Platform splitting, mark 2" for details.
> I&quo
On Thu, 29 Nov 2001, Simon Cozens wrote:
> On Thu, Nov 29, 2001 at 06:41:36PM +, Alex Gough wrote:
> I'd prefer you did it the way Perl does it - if (foo < 0) foo = -foo;
Why? For at least x86, your way will be a lot slower.
-=- James Mastros
--
Put bin Laden out li
going to get there sooner or later (probably sooner).
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
table, which binutils doesn't like.
Hm. When we figure out the ABI for calls between routines of different
opcode tables, we'll have to teach it to gcc.
I can see this as a big, big win. I can also see this as being bigger
then I can handle, but a damm nice project.
-=- Jam
able to do 'perl Configure.pl; make
test'.
-=- James Mastros
? languages/jako/a.out
? languages/jako/benchmarks
? languages/jako/mops.c
? t/op/number20.out
? t/op/number20.pasm
Index: Configure.pl
===
RCS file: /home/p
g, I think, for them to be
addressible from numeric registers.)
-=- James Mastros
27;t think of a reason why it wouldn't be, but I'm sure that there is
one.)
(And I havn't even discussed reading/writing strings or numbers.)
This all seems very inneficent.
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
hould do the
Right Thing.
Please, though, try my patch from a couple of days ago. (It should be in
the archives; if you can't find it, mail me and I'll mail you a copy.)
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what
in mind it'd make
> working out what would be needed to support it easier.
I'm thinking of porting GCC, of course . However, I'm thinking that
pretty much any c-like language is going to want somthing like this.
-=- James Mastros
--
Put bin Laden out like a bad cigar: http
If our VM can run C and C++, then we hugely expand the usefulness of both
C/C++ and Parrot. And that can only be a win for everybody.
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
th a string less
then Ic-1 characters long is illegal.
-=- James Mastros
--
Put bin Laden out like a bad cigar: http://www.fieler.com/terror
"You know what happens when you bomb Afghanastan? Thats right, you knock
over the rubble." -=- SLM
I'm going to stop cluttering the list with my GCC port stuff now. (Though
I am going to look at things with an eye towards it, which is one of the
reasons I suggested putting chr and ord in as core opcodes. (And it
really is an inner-loop thing, and completly expressable without any PMCs
with
e][to_enc](from, to);
This seems like an easy error, and like it'd create more compact code.
(It'd also lower efficency slightly, by having more lookups and a function
call every time, rather then only on non-identy transforms.
(The second isn't neccesarly a bug, the first is.)
problems with PBC compatablity. For efficency, we might want to
downgrade the string to the native encoding on loading if we see that the
native encoding will fit the string without being lossy. (Shouldn't the
transcoding functions tell their caller that?)
-=- James Mastros
--
Put
fies what codepoints map to what characters.
Thus, we could have BIG-5, utf8 encoded data. This is
machine-independent, and also lossless for things originaly coded in BIG5.
(Of course, this could also easily have n^2 problems.)
-=- James Mastros
--
Put bin Laden out like a
about platdeps.
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go bang before they try it (and the chemical engineers still duck
anyway)." -=- Alan Cox
e letters are also numbers (Aleph is also 1, Bet is also
2, etc.))
(Damm... when did I become such a Unicode fanatic. The only language I
acatualy know doesn't even use most of Latin-1.)
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
p
hinking. You can simulate it with a properly
constructed PMC, of course, but that makes the output be of not much use.
(Of course, I notice you didn't ask that question.)
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go ba
think they should get their own %ENV.
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go bang before they try it (and the chemical engineers still duck
anyway)." -=- Alan Cox
just that there's a good way
to deal with it in p6, because we have our choice of semantic.)
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go bang before they try it (and the chemical engineers still duck
anyway)." -=- Alan Cox
onment, the OS's
poor excuse for a hash that was useful for taking persistant parameters
from the shell.
I didn't think that it was an advanced IPC mechinisim. I didn't think
anything that even resembled IPC was any of core.ops & pals domain.
Peace, Love, and Turnpike,
;Under the same terms as _parrot_ should be fine.
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go bang before they try it (and the chemical engineers still duck
anyway)." -=- Alan Cox
On Tue, 4 Dec 2001, Dan Sugalski wrote:
> Q: What about endianness?
> A: Native endianness. Byteswapping's easy enough.
Where in the packfile does it define the native endinaness of floats?
(Note "native endianess" has to include wheather the sign is the MSB or
the LSB, and the endianness of the e
any file changes, which
would be the easiest way of doing it.)
-=- James Mastros
--
"In the case of alchemy v chemistry the chemists know whether it will
probably go bang before they try it (and the chemical engineers still duck
anyway)." -=- Alan Cox
On Sat, 15 Dec 2001, David & Lisa Jacobs wrote:
> Are the missing ops (e.g. mul_i_ic_i) intentional or just not implemented
> yet.
Intentional; since mul is communitive, there's no reason to have versions
with args 2&3 i,ic and ic,i.
-=- James Mastros
--
"
probably never really complete. For
now, I'm just reading along and occasionaly kabitzing.)
-=- James Mastros
On 11/27/2002 3:09 AM, Dan Sugalski wrote:
At 1:02 AM -0500 11/27/02, James Mastros wrote:
On 11/25/2002 9:02 PM, Dan Sugalski wrote:
Pretty straightforward. Edit call_types.txt. First parameter's the
return type, the rest are the parameter types. Use "p" for any
generic
even that infesable, no?)
(BTW, I removed p5p from the CC list, since I don't think this makes
sense for non-JIT targets... and since p5 doesn't JIT...)
-=- James Mastros
ther major sections located dynamicly.
(Then again, making me happy shouldn't be anybody's priority.)
-=- James Mastros
now what's actualy going on that we have to
be wary of. (Even authenticating the host is potentialy useful...
though I can't think of a good use.)
-=- James Mastros
eads) this shouldn't be an issue.
Might I suggest that we make sure we can deal sanely with either mmaping
or reading PBC files, and then worry about this later, like when
somebody actualy finds it being a problem in real use?
-=- James Mastros
e complexity in every class
ever written. I know, not rocket science. But darned annoying, and
it's better to force one person to write darned annoying code (even if
it is you), then to force everybody to implement it.
-=- James Mastros
name might also avoid accidental access
of "your globals".
...or you could document it as a feature, enabling enhanced
introspection versus "standard" TCL.
("It's not a bug, it's a feature!")
-=- James Mastros
a fresh look at that section of code.)
-=- James Mastros
t; or
some such.
"is mindwarping"? "does the_time_warp_again"?
The problem, in any case, is similar to "throws" in Java: if any of your
children are marked, so shall you be, unto the Nth generation. (Or, at
least, this is how I understand it.)
-=- James Mastros
without stubs), if at all
(the stubs may be quite difficult).
Is it worthwhile anyway?
Quite possibly.
Is it easy?
No.
Will it do everything you want it to do?
No.
-=- James Mastros
header that says that it
shouldn't be allowed to eval string, which is easy to prove, since it's
a verifiable given.)
-=- James Mastros
be more
trusted then the code that calls them, and callbacks to be less trusted).
-=- James Mastros
is set to vibrate, and you aren't wearing it, you
need to check every so often, or you'll miss pages.
-=- James Mastros
g and leave the
string as-is, with an optional, default-on, warning, but that's a matter
for p6l.)
Mechanism, not policy, on this issue.
-=- James Mastros
?
Possibly. I'd be more interested in running the test suite as well as
the benchmarks, and plotting a line of %success along with the response
time.
-=- James Mastros,
theorbtwo
ave a pair of keywords or a data item for "has been made into a
test", and we should provide a list of bugs that have not been marked
that way, and also have not been marked as "can't make into a test".
-=- James Mastros
tstrap yourself into PIR, for example. (Either with yourself, or
compiling whatever other language you're written in into PBC.)
-=- James Mastros,
theorbtwo
77 matches
Mail list logo