On 2020-01-29 17:45, Trey Harris wrote:


On Wed, Jan 29, 2020 at 20:20 ToddAndMargo via perl6-users <perl6-us...@perl.org <mailto:perl6-us...@perl.org>> wrote:

    On 2020-01-29 10:28, Trey Harris wrote:
     > B is not a subset of A. That is the relationship of uint and int—two
     > distinct types whose values happen to overlap in a way that
    describes a
     > subset. Perl isn’t Prolog; a logical relationship between two
    types is
     > not a first-class entity of the language.
     >
     >
     >
     >     I know, I am slicing the baloney thin here, but uint is
     >     not a static C variable. It can change into an int with
     >     the position of the moon.
     >
     >
     > I’m STILL waiting for you to show me ONE example of a `uint` turning
     > into `int`. Not `Int`, via auto-boxing, `int`, via who-knows-what.
     > Either do that, or stop making the assertion it does that; if you
    don’t
     > show a reproducible example, I am going to conclude you are lying
    if you
     > persist.

    $ p6 'my uint8 $u; say $u.^name;'
    Int

I’m done. I haven’t killfiled anyone in over twenty years. Congratulations, you’re the first this century.



#!/usr/bin/env perl6

use NativeCall;

constant BYTE     := uint8;
constant BYTES    := CArray[BYTE];

my BYTES  $lpBuffer = CArray[BYTE].new( 0xFF xx 4 );

if    $lpBuffer[0] == -1   { say "$lpBuffer[0] acts like an integer"; }
elsif $lpBuffer[0] == 0xFF { say "$lpBuffer[0] acts like an unsigned integer"; }
else                       { say $lpBuffer[0], " unknown"; }


-1 acts like an integer

Reply via email to