--JyQhYY0D03rJoQgjSiZ
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Mon, 2007-10-08 at 01:12 +0900, Pat Maddox wrote:
> Here's something off the top of my head, that allows you to reason
> about "types" without needing MI.
> 
> module LinuxApplication; end
> module VideoApplication; end
> module WindowsApplication; end
> 
> class LinuxVideoApplication
>   include LinuxApplication
>   include VideoApplication
> end
> 
> class WindowsVideoApplication
>   include WindowsApplication
>   include VideoApplication
> end
> 
> def only_linux_video_please(app)
>   raise "Must be a LinuxVideoApplication" unless LinuxApplication ===
> app && VideoApplication === app
> end

I'm not sure this is a particularly good example; it's based off of
Trans' example, not Sylvain's, and it also does use multiple inheritance
inasmuch as modules amount to restricted MI.

-mental

--JyQhYY0D03rJoQgjSiZ
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD4DBQBHCYWjSuZBmZzm14ERAtLWAJjQDKkkPg/BZRo3wn7gxZsK+71PAJ9e8iar
yQRQYeDfXG10JCasYiZh2wv1
-----END PGP SIGNATURE-----

--JyQhYY0D03rJoQgjSiZ--