Re: The core platforms list

2001-09-19 Thread H . Merijn Brand

On Wed 19 Sep 2001 11:15, H.Merijn Brand [EMAIL PROTECTED] wrote:
 On Tue 18 Sep 2001 20:43, Dan Sugalski [EMAIL PROTECTED] wrote:
  Okay, folks, the following platforms are considered core for the parrot 
  interpreter. That means we need to run on all of them for any release of 
  the interpreter to be considerd OK. They are:
  
  Linux (x86)
  CygWin
  Win32
  Tru64
  OpenVMS (Alpha)
  Solaris (Sparc)
  FreeBSD (x86)
  
  If a platform's not here it's not because we don't want to run on it, 
  rather it's because we can't guarantee the manpower to make it right. (If 
  we can, then new platforms can and will come on board)
  
  So remember, all the world is not *X*, for any value of X you might have...

And, maybe even more important, not all the world has gcc!

in build_interp_starter.pl I find:
--8---
#define DO_OP(w,x,y,z) do { \\
x = (void *)z-opcode_funcs; \\
(void *)y = x[*w]; \\
w = (y)(w,z); \\
 } while (0);
EOI
--8---

(cast)foo = bar; syntax is *not* supported in most non-GNU C compilers:

cc -DDEBUGGING -Ae -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -g -o interpreter.o -c interpreter.c
cc: interpreter.c, line 44: warning 524: Cast (non-lvalue) appears on left-hand side 
of assignment.
cc: interpreter.c, line 44: error 1549: Modifiable lvalue required for assignment 
operator.

(Almost the same applies to AIX)

Please fix ASAP, so I can send useful test reports ;)

 If the nightly builds start OK, I could add a daily report for
 
   HP-UX 11.00 HPc/gcc 32/64 threading/non-threading
   HP-UX 10.20 HPc 32threading/non-threading
   AIX 4.3.3   vac/gcc 32/64 threading/non-threading
   AIX 4.2.1   xlc 32threading/non-threading
 
 If that's what it takes to get it on the list.
 
 -- 
 H.Merijn BrandAmsterdam Perl Mongers (http://www.amsterdam.pm.org/)
 using perl-5.6.1, 5.7.1  629 on HP-UX 10.20  11.00, AIX 4.2, AIX 4.3,
   WinNT 4, Win2K pro  WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
 http:[EMAIL PROTECTED]/   [EMAIL PROTECTED]
 send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org

-- 
H.Merijn BrandAmsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.6.1, 5.7.1  629 on HP-UX 10.20  11.00, AIX 4.2, AIX 4.3,
  WinNT 4, Win2K pro  WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
http:[EMAIL PROTECTED]/   [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org




Re: The core platforms list

2001-09-19 Thread H . Merijn Brand

On Wed 19 Sep 2001 13:10, H.Merijn Brand [EMAIL PROTECTED] wrote:
 And, maybe even more important, not all the world has gcc!

and bytecode.c

l1:/pro/3gl/CPAN/parrot 136  make test_prog
cc -DDEBUGGING -Ae -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE -D_FI
LE_OFFSET_BITS=64  -I.. -I./include -g -o bytecode.o -c bytecode.c
cc: bytecode.c, line 53: warning 603: Cast is not lvalue; ++ requires lvalue.
cc: bytecode.c, line 53: error 1560: Modifiable lvalue required with operator
++.

which comes from

#define GRAB_IV(x) *((IV*)*x)++


OK, switching to gcc, just because I'm curious ;)

l1:/pro/3gl/CPAN/parrot 149  make test_prog
perl make_op_header.pl opcode_table  op.h
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o test_main.o -c test_main.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o global_setup.o -c global_setup.c
perl build_interp_starter.pl
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o interpreter.o -c interpreter.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o parrot.o -c parrot.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o register.o -c register.c
perl process_opfunc.pl basic_opcodes.ops
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o basic_opcodes.o -c basic_opcodes.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o memory.o -c memory.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o bytecode.o -c bytecode.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o string.o -c string.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o strnative.o -c strnative.c
gcc -lnsl -lnm -lndbm -lgdbm -ldb -ldld -lm -lc -lndir -lcrypt -lsec   -o test_prog 
global_setup.o interpreter.o parrot.o register.o basic_opcodes.o memory.o bytecode.o 
string.o strnative.o test_main.o
l1:/pro/3gl/CPAN/parrot 150  make test
perl t/harness
Can't open perl script t/harness: No such file or directory
make: *** [test] Error 2
l1:/pro/3gl/CPAN/parrot 151  test_prog
Warning: Bytecode does not include opcode table fingerprint!
l1:/pro/3gl/CPAN/parrot 152 

MANIFEST? (using most recent parrot-nightly)

-- 
H.Merijn BrandAmsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.6.1, 5.7.1  629 on HP-UX 10.20  11.00, AIX 4.2, AIX 4.3,
  WinNT 4, Win2K pro  WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
http:[EMAIL PROTECTED]/   [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org




Re: The core platforms list

2001-09-19 Thread Simon Cozens

On Wed, Sep 19, 2001 at 01:22:04PM +0200, H. Merijn Brand wrote:
 Can't open perl script t/harness: No such file or directory
 MANIFEST? (using most recent parrot-nightly)

Don't use parrot-nightly; use the snapshots from cvs.perl.org

-- 
I don't think so, said Rene Descartes.  Just then, he vanished.



Re: The core platforms list

2001-09-19 Thread Jarkko Hietaniemi

 And, maybe even more important, not all the world has gcc!

Hear, hear.

-- 
$jhi++; # http://www.iki.fi/jhi/
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen



Re: The core platforms list

2001-09-19 Thread John Siracusa

On 9/18/01 7:26 PM, Randal L. Schwartz wrote:
 I'd suggest you Darwin there to be sure you're thinking about
 case-insensitive-32-char filenames

Someone will correct me if I'm wrong, but I don't think Darwin even installs
on file systems that support anything less than 255 character file names
(e.g. HFS).

I'll probably try building Parrot on Darwin (well, OS X) from time to time,
but I don't have the skills (or time) to do much more than notice whether
it's broken or not, heh.  I hope someone does pick up the Darwin torch,
though.  I don't want a repeat of the Apache/Perl 5 situation on Darwin (I
*still* can't get mod_perl running correctly)

-John




RE: The core platforms list

2001-09-19 Thread Gibbs Tanton - tgibbs

Both of these things were fixed when I converted from IV to opcode_t. (not
that I didn't break other things...)
Since that change was made, how many of the core platforms pass?  If we lose
one, I need to revert.

Thanks!
Tanton 

-Original Message-
From: H.Merijn Brand
To: Simon Cozens
Cc: [EMAIL PROTECTED]
Sent: 9/19/2001 6:22 AM
Subject: Re: The core platforms list

On Wed 19 Sep 2001 13:10, H.Merijn Brand [EMAIL PROTECTED] wrote:
 And, maybe even more important, not all the world has gcc!

and bytecode.c

l1:/pro/3gl/CPAN/parrot 136  make test_prog
cc -DDEBUGGING -Ae -D_HPUX_SOURCE -I/pro/local/include
-D_LARGEFILE_SOURCE -D_FI
LE_OFFSET_BITS=64  -I.. -I./include -g -o bytecode.o -c bytecode.c
cc: bytecode.c, line 53: warning 603: Cast is not lvalue; ++ requires
lvalue.
cc: bytecode.c, line 53: error 1560: Modifiable lvalue required with
operator
++.

which comes from

#define GRAB_IV(x) *((IV*)*x)++


OK, switching to gcc, just because I'm curious ;)

l1:/pro/3gl/CPAN/parrot 149  make test_prog
perl make_op_header.pl opcode_table  op.h
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o test_main.o -c test_main.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o global_setup.o -c
global_setup.c
perl build_interp_starter.pl
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o interpreter.o -c
interpreter.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o parrot.o -c parrot.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o register.o -c register.c
perl process_opfunc.pl basic_opcodes.ops
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o basic_opcodes.o -c
basic_opcodes.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o memory.o -c memory.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o bytecode.o -c bytecode.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o string.o -c string.c
gcc -DDEBUGGING -D_HPUX_SOURCE -I/pro/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64  -I.. -I./include -o strnative.o -c strnative.c
gcc -lnsl -lnm -lndbm -lgdbm -ldb -ldld -lm -lc -lndir -lcrypt -lsec
-o test_prog global_setup.o interpreter.o parrot.o register.o
basic_opcodes.o memory.o bytecode.o string.o strnative.o test_main.o
l1:/pro/3gl/CPAN/parrot 150  make test
perl t/harness
Can't open perl script t/harness: No such file or directory
make: *** [test] Error 2
l1:/pro/3gl/CPAN/parrot 151  test_prog
Warning: Bytecode does not include opcode table fingerprint!
l1:/pro/3gl/CPAN/parrot 152 

MANIFEST? (using most recent parrot-nightly)

-- 
H.Merijn BrandAmsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.6.1, 5.7.1  629 on HP-UX 10.20  11.00, AIX 4.2, AIX 4.3,
  WinNT 4, Win2K pro  WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
http:[EMAIL PROTECTED]/   [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org



Re: The core platforms list

2001-09-19 Thread Simon Cozens

On Wed, Sep 19, 2001 at 08:57:53AM -0500, Gibbs Tanton - tgibbs wrote:
 Both of these things were fixed when I converted from IV to opcode_t. (not
 that I didn't break other things...)
 Since that change was made, how many of the core platforms pass?

Tru64 builds beautifully, but also segfaults beautifully too. This 
alignment bug is a MAJOR problem and I am going to work on it tonight.

Simon

-- 
An algorithm must be seen to be believed.
-- D.E. Knuth



Re: The core platforms list

2001-09-19 Thread Dan Sugalski

At 11:15 AM 9/19/2001 +0200, H.Merijn Brand wrote:
If the nightly builds start OK, I could add a daily report for

 HP-UX 11.00 HPc/gcc 32/64 threading/non-threading
 HP-UX 10.20 HPc 32threading/non-threading
 AIX 4.3.3   vac/gcc 32/64 threading/non-threading
 AIX 4.2.1   xlc 32threading/non-threading

If that's what it takes to get it on the list.

The daily reports are cool, but it takes more than those to get on the 
list. We also need someone who can fix the breakage. Once we have that... :)


Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: The core platforms list

2001-09-19 Thread Dan Sugalski

At 01:10 PM 9/19/2001 +0200, H.Merijn Brand wrote:
(cast)foo = bar; syntax is *not* supported in most non-GNU C compilers:

My sloppiness, I'll fix anything remaining. (It wasn't done out of any 
gcc-centrism--I don't even use gcc much. Just never occurred to me that it 
wouldn't work...)

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: The core platforms list

2001-09-19 Thread John Siracusa

On 9/19/01 10:35 AM, Randal L. Schwartz wrote:
 John Someone will correct me if I'm wrong, but I don't think Darwin
 John even installs on file systems that support anything less than
 John 255 character file names (e.g. HFS).
 
 My HFS+ drive held Darwin for at least a little while, and that's only
 32-character, case-insensitive names.  Unless the Finder is hiding
 something from me.

HFS+ supports 255 character file names.  Yes, the (classic Mac OS) Finder is
hiding something from you, as are the rest of the classic Mac OS file access
APIs, which are limited to 32 characters and weren't updated when HFS+ was
introduced with Mac OS 8.1(?).  In Darwin and OS X on HFS+, feel free to:

touch thisfilenameismuchlongerthanthirtytwocharactersanditworks

(HFS and HFS+ are indeed case-insensitive though)
-John




Re: The core platforms list

2001-09-19 Thread Nathan Torkington

Simon Cozens writes:
 On Wed, Sep 19, 2001 at 01:22:04PM +0200, H. Merijn Brand wrote:
  Can't open perl script t/harness: No such file or directory
  MANIFEST? (using most recent parrot-nightly)
 
 Don't use parrot-nightly; use the snapshots from cvs.perl.org

So parrot-nightly will only be useful when we have many more features
implemented, and there's a high probability that most features in a
snapshot will actually be working (for some value of working)?

Perhaps we need to more loudly disclaim parrot-nightly on the website
and docs, or maybe even put it on hold until there's more chance it'll
be useful?

Nat




Re: The core platforms list

2001-09-19 Thread Simon Cozens

On Wed, Sep 19, 2001 at 08:44:34AM -0600, Nathan Torkington wrote:
  Don't use parrot-nightly; use the snapshots from cvs.perl.org
 
 So parrot-nightly will only be useful when we have many more features
 implemented, and there's a high probability that most features in a
 snapshot will actually be working (for some value of working)?

That's not what I mean. parrot-nightly was the hastily-hacked up thing
I hosted on NetThink; it wasn't an official service. Real snapshots
of the CVS *are* available, built every six hours, from
http://cvs.perl.org/snapshots/parrot


-- 
  They laughed at Columbus, they laughed at Fulton, they laughed at the
   Wright brothers.  But they also laughed at Bozo the Clown.
 -- Carl Sagan



Re: The core platforms list

2001-09-19 Thread Dan Sugalski

At 12:08 PM 9/19/2001 -0400, John Siracusa wrote:
On 9/19/01 11:51 AM, Randal L. Schwartz wrote:
  John (HFS and HFS+ are indeed case-insensitive though)
 
  Which they *could* have fixed from the Unix side in the same way that
  MachTen did it..., and I wish they would.  In MachTen, each
  case-folded collision on the HFS+ side is handled by adding \0 bytes
  until the names are distinct.  The finder has a bit of a mess renaming
  them, but at least you can see them as separate files.  And no
  collisions from the Unix side!
 
  So, foo, Foo, and FOO would be stored as foo Foo\0 and FOO\0\0,
  effectively.

Ick.

  Is there anybody I can write at Apple to beg for this?

If you're going to beg, beg for an actual case-sensitive file system, not an
evil hack on top of HFS+ (the hard link hacking is bad enough ;)  Check
lists.apple.com for the relevant mailing list archive(s) to see how this
debate has gone so far.

Bletch. Case-insensitivity's much nicer in a filesystem. But this isn't the 
place to go into that, I think. :)


Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: The core platforms list

2001-09-19 Thread H . Merijn Brand

On Wed 19 Sep 2001 16:43, Dan Sugalski [EMAIL PROTECTED] wrote:
 At 11:15 AM 9/19/2001 +0200, H.Merijn Brand wrote:
 If the nightly builds start OK, I could add a daily report for
 
  HP-UX 11.00 HPc/gcc 32/64 threading/non-threading
  HP-UX 10.20 HPc 32threading/non-threading
  AIX 4.3.3   vac/gcc 32/64 threading/non-threading
  AIX 4.2.1   xlc 32threading/non-threading
 
 If that's what it takes to get it on the list.
 
 The daily reports are cool, but it takes more than those to get on the 
 list. We also need someone who can fix the breakage. Once we have that... :)

I cannot promise anything, but when the 'make test' results drip in, one might
never know how enthousiatic I might become ;)

-- 
H.Merijn BrandAmsterdam Perl Mongers (http://www.amsterdam.pm.org/)
using perl-5.6.1, 5.7.1  629 on HP-UX 10.20  11.00, AIX 4.2, AIX 4.3,
  WinNT 4, Win2K pro  WinCE 2.11.  Smoking perl CORE: [EMAIL PROTECTED]
http:[EMAIL PROTECTED]/   [EMAIL PROTECTED]
send smoke reports to: [EMAIL PROTECTED], QA: http://qa.perl.org




Re: The core platforms list

2001-09-19 Thread Randal L. Schwartz

 John == John Siracusa [EMAIL PROTECTED] writes:

John HFS+ supports 255 character file names.  Yes, the (classic Mac OS) Finder is
John hiding something from you, as are the rest of the classic Mac OS file access
John APIs, which are limited to 32 characters and weren't updated when HFS+ was
John introduced with Mac OS 8.1(?).  In Darwin and OS X on HFS+, feel free to:

John touch thisfilenameismuchlongerthanthirtytwocharactersanditworks

Ooh! cool.  I might need to reinstall darwin then.

John (HFS and HFS+ are indeed case-insensitive though)

Which they *could* have fixed from the Unix side in the same way that
MachTen did it..., and I wish they would.  In MachTen, each
case-folded collision on the HFS+ side is handled by adding \0 bytes
until the names are distinct.  The finder has a bit of a mess renaming
them, but at least you can see them as separate files.  And no
collisions from the Unix side!

So, foo, Foo, and FOO would be stored as foo Foo\0 and FOO\0\0,
effectively.

Is there anybody I can write at Apple to beg for this?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!



The core platforms list

2001-09-18 Thread Dan Sugalski

Okay, folks, the following platforms are considered core for the parrot 
interpreter. That means we need to run on all of them for any release of 
the interpreter to be considerd OK. They are:

Linux (x86)
CygWin
Win32
Tru64
OpenVMS (Alpha)
Solaris (Sparc)
FreeBSD (x86)

If a platform's not here it's not because we don't want to run on it, 
rather it's because we can't guarantee the manpower to make it right. (If 
we can, then new platforms can and will come on board)

So remember, all the world is not *X*, for any value of X you might have...

Dan

--it's like this---
Dan Sugalski  even samurai
[EMAIL PROTECTED] have teddy bears and even
  teddy bears get drunk




Re: The core platforms list

2001-09-18 Thread Philip Kendall

On Tue, Sep 18, 2001 at 02:43:07PM -0400, Dan Sugalski wrote:
 Okay, folks, the following platforms are considered core for the parrot 
 interpreter. That means we need to run on all of them for any release of 
 the interpreter to be considerd OK. They are:

[...]

 Solaris (Sparc)

32 bit, 64 bit or both?

Phil

-- 
  Philip Kendall [EMAIL PROTECTED]
  http://www.srcf.ucam.org/~pak21/



Re: The core platforms list

2001-09-18 Thread Michael G Schwern

On Tue, Sep 18, 2001 at 02:43:07PM -0400, Dan Sugalski wrote:
 If a platform's not here it's not because we don't want to run on it, 
 rather it's because we can't guarantee the manpower to make it right. (If 
 we can, then new platforms can and will come on board)

I can handle Linux (PowerPC).  There shouldn't be much difference from
x86 except the byte ordering, I hope.


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl6 Quality Assurance [EMAIL PROTECTED]   Kwalitee Is Job One
Maybe they hooked you up with one of those ass-making magazines.
-- brian d. foy as misheard by Michael G Schwern



Re: The core platforms list

2001-09-18 Thread Simon Cozens

On Tue, Sep 18, 2001 at 02:43:07PM -0400, Dan Sugalski wrote:
Linux (x86)
CygWin
Win32
Tru64
OpenVMS (Alpha)
Solaris (Sparc)
FreeBSD (x86)

To clarify: we're *not* saying these are the only platforms we care
about. Parrot *will* run on many, many more platforms than the above.
And yes, if it doesn't run nicely on yours, we'll patch it (sorry,
*you*'ll patch it :) until it does. 

But if it doesn't play nice on those platforms, we don't ship; and one
of the committers - probably me, since I'm theoretically herding this
bunch of cats - screwed up.

The point of the list is to encourage people to think about portability.

-- 
 I'm a person, not a piece of property.
Happily, I'm both!
- Lionel and Stephen Harris.