►
From YouTube: .NET Core Design Reviews: SIMD and Console
Description
We're reviewing API additions to System.Numerics.Vectors (our SIMD library) and System.Console.
* https://github.com/dotnet/corefx/issues/5202
* https://github.com/dotnet/corefx/issues/4636
B
B
So
one
thing
that
I
think
I
should
mention
first
like
by
doing:
why
do
we
need
this
api?
If
this
thing
is
a
structure,
why
can't
you
just
like
take
a
pointer
to
it
and
dereference
it
etc,
like
none
of
the
other
structures
in
the
bcl
have
like
pointer
constructors,
so
I'd
be
able
to
this
one
I
just
want
to
mention
like
because
this
is
a
generic
struck.
B
C-Sharp
doesn't
let
you
like
take
a
pointer
to
it,
so
you
can't
like
basically,
you
couldn't
take
your
your
data
pointer
and
then
cast
it
to
like
a
vector
of
T
pointer
and
the
dereference
that
just
based
on
those
limitations,
so
we
need
like
a
specialized
constructor.
They
use
to
create
vectors
from
a
planner,
so
the
proposed
API,
it's
basically
just
additional
overloads
on
top
of
those.
We
already
have
that
take
an
array
and
an
offset.
B
B
B
Why
do
we
need
the
opposite
parameters?
Why
not
just
like
advance
the
pointer
and
pray
right?
That's
that's
an
option
I'm
wondering
if
we
have
any
other
guys
in
the
bcl
that
we
like.
Do
we
not
do
this,
or
do
we
do
that?
Do
this
I
sort
of
just
shows
us,
because
it's
mirrors
the
array,
one
where
we
have
an
offset
and
it
makes
more
sense
for
her
I.
Obviously,
yes,.
D
B
E
B
B
E
B
B
B
A
Mean
that
I
mean
honestly,
like
that's
the
big
father,
I,
think,
there's
a
sceptic.
If
you
actually
use
a
pointer,
then
the
nice
thing
is
you
kind
of
get
the
auto
computation
right
you?
Basically,
if
you
have
a
float
star
or
whatever
you
x,
for
a
it's
like
a
dry
for
like
you,
it
does
right
thing
versus
if
you
have
an
in
PDR
while
you
with
yourself
so
in
that
sense,
is
actually
somewhat
less
say
it's
because
I
don't
have
to
do
the
right
thing.
A
Plus
I
mean,
as
Kristoff
said,
just
because
the
type
is
not
actually
a
pointer
time.
You
can
still
stack
overflow
if
you
do
the
wrong
things
right,
I
mean
you
know:
Sega's
Oh,
like
Buffalo
flow
right.
If
you
use
the
wrong
pointer,
you
exceeds
that.
Take
I
mean
read
like
memory
that
you're
not
supposed
to
read.
E
E
To
it
today
again
very
much
oh
I,
miss
some
excellent,
say
yeah
and
I
would
not
have
it
honestly,
which
was
where
the
one
that
takes
in
pointer
because
they're
the
one
that
takes.
Oh
it
start
at
least
you
have
to
put
it
in
unsafe
block.
So
you
know
this
is
how
unsafe
code
works.
This
one
is
like
you
don't
have
to
have
any
on,
say,
block
you
just
possible
to
random
numbers,
and
you
write
to
this,
and
now
we
corrupted
the
heat
without
the
code
being
unsafe,
I.
B
See
what
you're
saying
this
is
so
that
really
supplies
it
a
copy
to
won
the
constructors
are
strictly
like
read-only.
They
would
just
read
the
data,
but
it
probably
does
apply
a
copy
to
one
if
it
Oh.
What
do
we
mean?
You
can
affect
430,
you
can,
but
it's
a
structure.
So
it's
just
a
copy
but
copy
to
will
store
the
data
pack.
That's
in
the
that's
the
end,
effector,
oh.
E
A
G
A
We
follow
that
guideline
Marshall
today,
I
think
Marshall
is
weird
because
Julie
allocate
because
Marshall
has
a
bunch
of
API
is
that
are
like
super
unsafe
right.
I
mean,
like
you,
know,
pierina
in
PDR
to
structure
you
get
it
you
right
to
it.
Everything's
doing
I.
Think
Marshall,
like
I,
think
the
idea
with
Marshall
was
because
its
interrupt
services,
you
know
everything
there.
That
say,
I
think
that's
that's
I
mean
if
you
use
system
Eric's
vectors.
You
know
it
doesn't
imply
that
this
may
corrupt
the
heap
a.
B
Alignment
issues
requirements
with
this
API
so
right
now
we
just
do
unaligned
loads
right.
We
had
discussed
like
his
requirements
when
we
initially
were
coming
up
with
Cindy
library
and
like
wasn't
it
Intel,
who
said
that
there's,
like
some
guidance,
that
as
of
like
the
current
processor,
you
know
lineup,
it's
not
like
a
big
performance
hit
if
there,
if
you
do
online
loads,
so
we
just
always
do
on
a
line
loads.
So.
D
We
do
we
do
a
line
loads
where
we
know,
and
we
only
we
only
assume.
We
know
when
it's
on
the
stack,
if
it's
so
name
be
paid
extra
cycle,
I
think,
but
on
the
Intel
processors.
It's
basically
the
same.
Oh
it's
just
unless
it
crosses
a
cache,
a
cache
clear
and
then
you
know
is
that
ok.
B
So
I'm
I'm
fine
with
anything
off
the
in
pointer,
overloads,
cuz,
that's
really
consensus.
The
reason
I
include
them
like
initially
was
I
was
thinking
of
some
libraries
like
a
system
drawing
like.
If
you
have
a
bitmap
you
can,
you
can
basically
lock
the
vents
and
it
gives
you
a
printer
back
and
you
can
read
and
write
to
those
pixels
I
can
do
an
in
pointer
so
technically
like
if
you
were
using
this
API.
E
A
Doesn't
exist,
this
is
just
a
lousy
to
use
pointers
in
C
sharp,
but
I
think
we
discussed
this
before,
because
we
had
similar
api's
are
immutable.
That
would
always
you
get
in
the
line
array.
We
wanted
to
the
same
enforcement,
but
so
far
it
was
not
enough.
They
do
for
the
C
sharp
teeth.
It
should
do
that.
A
lot
of
that
question
is
there
an
implicit
cast
in
c-sharp
from
widestar
to
what's
our
address.
H
B
E
J
A
K
B
B
We're
just
going
to
answer
this
one
yeah,
so
the
one
thing
about
the
sort
of
the
constructor
takes
avoid
star
and,
like
all
the
miners
are
implicitly
castle
to
each
other.
So
that
means
you
could
technically
create
a
vector
of
bite
by
passing
in
like
a
float
star
and
simplest
implicitly
castable,
it
would
still
work.
I
mentioned.
I
think,
that's
okay,
because
you
might
just
want
to
interpret
your
data
and,
like
the
pointers,
are
implicitly
or
explicitly
castle
anyways.
B
So,
even
if
you
took
this
approach
which
would
have
liked
factory
methods
that
took
the
strongly
typed
pointers,
you
could
still
just
take
a
float
star
and
cast
it
to
a
bite
storm
passed
to
this
anyways
and
it's
a
bit
more
like
awkward,
I,
think
using
this,
and
we
also
need
like
ten
overloads
for
this
yep.
You
can't
do
you
can't
do
a
t-star,
I
think
like
technically,
you
can
and
I'll,
but
like
not
in
c-sharp
integer.
E
G
B
I
mean
we
could
have
these
like
10
overloads,
where
we
had
all
my
star
and
star
posts
are
all
those
isn't
them
be
a
closed
set,
though
if
somebody
else
had
their
own
value
type.
It
is
it's
a
closed
that
you
can
t
0
value
type
of
vector,
0
RT.
Yes,
so
it
would
only
be
10
like
ever,
but
it's
still
10.
So
what's
the
key
constraint
to
t
is
constrained?
T
like
struct
and
like.
G
L
J
A
E
Yes,
runtime,
there's
a
tableau
effortlessly.
This
chart
is
just
like
two
inch.
You
still
fact
we
still
fail.
I
see
which
is
again
related
to
span
we
want
to.
We
literally
cannot
afford
having
this
first
fan,
so
fans
need
to
handle
strikes
that
are
don't
contain.
Internally
fighters
are
references
to
keep
objects,
so
we
need
to
have
a
constraint
for
now.
We
are
discussing
like
how
to
call
it.
It's
called
primitive.
Now
it's
just
an
attribute.
We
don't
enforce
it,
but
we
are
thinking
about
it.
B
A
I
mean
if
you
could
say,
Tico
the
numeric.
That
would
probably
be
pretty
close
to
work
we
would
like
to
have.
When
are
we
getting
that
numeric
I?
Don't
think
ever?
Was
I
well
I
guess
retreading
nobody.
Nobody
like
recently
tried
to
formalize
the
proposal
for
their
languages
I
meeting,
so
we
tried
that
I
know
I
think
nobody
did
I.
Think
yeah.
D
E
D
That
it
ought
to,
we
are
to
be
able
to
compose
that
constrain,
that
you
define
the
standard
operators
without
requires
that
you
have
static
interface
constraints,
ecstatic
yeah
instead,
I
get
it
now
are
shared
so
doing
that
requires
a
change,
the
clr,
and
that
was
a
non-starter
for
the
scene,
sharp
teeth,
but
he
didn't
want
to
have.
Apparently,
generic
really
really
bad
with.
It
would
be
painful
because
they
were,
it
was
being
exposed
in
both
the
CL
RN
C
sharp
at
the
same
time,
and
the
dependencies
were
so.
E
A
A
I,
don't
know
what
you
could
tie
to
that,
but
I
mean,
like
the
whole
operator
thing
by
the
way
to
me,
is
very
similar
to
what
we
already
know
that
we
kind
of
need
were
just
like
the
whole
extension
everything
kind
of
thing
right,
because
if
you
can
break
a
party
type
today
that
pretty
much
only
supports
methods.
Everything
besides
methods,
properties,
operators,
you're,
screwed
and
then
include
special.
A
You
know:
static
methods
will
also
be
I,
don't
know
how
far
we
could
go
with
one
of
the
design
points,
but
one
of
the
leaders
that
I
have.
If
you
would
have
static
extensions,
you
could
potentially
have
static
operators
right.
There
are
living
on
different
types,
and
now
you
could
do
it
on
any
time.
Theoretically,
right
so
there's
many
ways
you
could
go
about
doing
some
of
the
stuff,
but
I
think
it's
just
a
matter
of
writing
and
justifying
it.
A
But
as
I
said,
it's
probably
already
know
for
sure,
but
I
mean
my
point:
is
it's
not
just
a
they're
writing
the
semantics?
It's
also
about
making
clear
what
the
video
ad
is
and
like
which
features.
Would
you
said
and
I
think
that
needs
a
recent
motivation
anyway?
So
one
other
question
that
I
had
I
think
John
brought
this
up
last
time.
A
If
we
have
an
API
that
takes
pointer
there
was
this
guidance
to
say:
if
you
consume
more
than
one
value,
you
need
to
pass
in
the
length
explicitly
because
otherwise
you
may
be
surprised
that
it
reads
six
elements
right
and
I
think
I'm
vector
we
said.
Well,
you
know
the
sizes,
it's
it's
implicit,
it's
it's
it's!
It's
known.
I
think
it's
a
fixed
size,
but
the
exercise
is
hardware
dependent.
So
should
we
add
there
should
be
forced
people
to
posit
in
or
not
so
you
took
the
size.
You
always
have
the
person
like
vector.
A
So
into
the
idea
being
like
any
API,
the
basically
reads
or
writes
memory
and
takes
a
pointer
variables,
you
always
have
to
pass
in
the
length
so
you're
never
surprised
by
what
it
reads
because
otherwise
like
if
you
actually
you
know,
do
API
reviews
and
you
see
a
pointer
posten.
You
may
not
expect
this
thing
to
reach.
You
know
a
number
of
bytes
or
write
a
number
of
bytes.
A
A
E
A
I
also
think
people
are
able
to
feed
the
purpose
because
ideas
for
code
reviews,
your
force,
will
lead
to
read
in
the
code.
I
think
that
was
the
idea
of
forcing
string
length,
for
example,
to
take
lance
and
like
that
and
string
copying.
All
of
those
I
mean
probably
we're
following
up
with
yonward.
What
would
he
thinks
I'm
at,
because
I
think
he
was
the
last
person
asking
for
that
I'd.
E
G
D
A
B
D
Was
so
supporting
any
scenarios
where
that
would
be
useful,
and
you
know
you
would
have
to
look
with
the
appropriate
zero
for
the
type,
presumably
the
that
that
would
require
a
little
extra
work
in
the
agenda,
but
I
think
there
are
scenarios
where
it
would
be
convenient
for
people
to
be
able
to
construct
vectors
from
array
that
doesn't
happen
to
be
a
multiple
right.
Now,
if
you
want
it,
you
know.
B
D
We
might
want
to
think
about
it,
but
how
do
you
think
to
make
sure
that
the
JIT
could
generate
efficient
code,
so
you
wouldn't
really
want
to
have
a
loop
where
you're
always
checking
to
see.
If
the
length
is
the
same,
you
know
until
the
last
iteration.
Yes,
you
wouldn't
want
to
encourage
that
kind
of
that
stuff-
regredi,
oh
it.
You
know
it
has
some
risk.
A
D
Only
you
could
really
be
a
hard-nosed
about
it
and
have
one
that
only
accepts
a
length
from
one
to
length
minus
one,
so
you're
forced
to
only
use
that
for
your
clean
up,
my
little
heart
and.
A
A
E
G
B
A
G
A
E
B
E
A
D
D
It
recognizes
all
the
Cindy
types
and
then
the
symptoms
are
just
these
sort
of
generic
16
or
32
by
entities
that
are
treated
like
primitive
types,
so
they
may
exist
on
the
staff
they
may
exist
on
the
heap
that
may
exist
anywhere,
but
it's
just
this.
You
know
opaque
thing,
and
so
then,
when
you
do
anonib,
which
is
what
these
all
get
translated
into,
is
this?
Is
it
operator
once
you
get
down
to
the
code
generator?
D
It
says:
okay,
the
source
of
the
in
it
is
an
interaction
of
this
address
and
the
address
has
been
you
know,
he's
represented
in
the
aisle.
So
if
the
target
is
a
sindhi
type
that
was
allocated
into
a
register,
it
just
does
a
look
into
that
register.
If
it
happens
to
be
that
the
target
is
a
field
of
a
you
know,
something
else
or
if
it's
you
know
it's
a
static
field.
D
That's
you
know
what,
if
it's
in
memory,
that
it
does
a
load
into
a
vector
register
and
then
a
store
into
whatever
the
target
is
so
from
you
know,
from
sort
of
the
importer
on
these
are
just
sort
of
handled
like
any
other
primitive
type.
D
D
B
B
K
B
A
So
what
happens
on
desktop
I
mean
like
it's
big
changes
done.
In
course
you
are,
as
suppose,
it
goes
into
full
fabric
as
well,
but
if
we
add
those
overloads
that
means
47,
my
suppose
right
or
whatever
the
next
version
number
is
right.
So
that
means,
if
it
would
release
it
today,
we
would
get
you
know
whatever
the
X
release.
Of
course
it
does.
You
would
get
the
awesome
performance
when
you
use
the
unsaved
api's.
What
happens
on
desktop
now?
Would
they
still
work?
Oublie
would
still
work,
but
they.
D
A
A
A
Like
yeah
the
copy
too
and
then
the
ball
just
take
a
white
star
and
I
would
follow
up
with
you
on
to
check
whether
he
cares
about
the
length
being
passed
in
and
I
think
the
padding
one
we
should
probably
think
about,
but
I
would
honestly
decouple
that
because
yeah
seems
like
a
separate
feature.
Yeah.
B
E
D
D
So
if
somebody
who
doesn't
even
know
the
clr
I
mean
I
did
know
the
metadata
so
but
I
could
do
it.
You
know
it
was
me
six
months
to
do
that
and
a
really
happy
version
of
vector,
T
and
and
just
you
know
it's
not
a
big
cost.
Something
jaan
could
probably
do
it
a
week.
Maybe
more
I
don't
know
I'd,
like
I,
said
it's
really
hard
for
me
to
gauge
based
on
six
years
old
experience.
But
didn't
you
know
it's
not
so.
D
D
D
B
E
A
Actually,
you
have
that
feature
you
didn't
on
it.
If
you
go
to
the
windows
control
panel
under
sounds,
you
can
register
sounds
there
is
a
sound
even
for
break
point
being
hit
in
the
ass
as
a
bunch
of
things
you
can
answer.
How
would
you
do
it
for
your
build,
a
change?
There's
a
disconnect,
there's
an
event
want
those
finished,
there's
even
one
for.
A
E
K
D
A
I
I
Exactly
talks
about
it
at
sea,
so
yeah,
so
we
are
left
with
buffalo
hide
of
a
width
largest
in
the
white
light
is
in
dewitt.
These
AP
ice
kind
of
do
not
make
sense
on
linux
because
there's
no
concept
of
further,
but
it
does
I
value
on
windows
side.
So
we
could
support
them
by
the
saying
that
they
will
return
the
same
as
what
the
window
I
didn't
do.
It
would
be
and
let
the
scrolling
function
on
windows
we
at
least
work
a
bit
garcelle
size
would
be
something
similar.
E
A
I
I
A
The
Gator
is
fine.
The
question
is
whether,
if
you
said
it,
let's
say
that
you
say:
if
size
is
less
than
500
succeeds
well
set
size,
2
300
still
succeeds.
I
asked
for
the
sides
again
still
have
100.
It
may
be
not
what
I
expected
to
be
now.
The
question
is
that
better
than
to
throw
I,
don't
know
what
people
use
criticized
for,
but
if
you
do
it,
for
you
know,
computing
offset
or
whatever,
like
your
subsequent
code,
may
not
actually
succeed
it.
All
in
weird
ways
is
the
gutter
reliable
or
it's.
E
Honey
I
don't
know
if
the
on
Linux
it's
called
a
its
reliably
100.
Is
that
what
it
is?
My
understanding
is
I
thought
we
just
picked
about
you,
I,
don't
know
if
we
have
any
bacon,
so
this
area
is
completely
useless
on
this
whole
property,
correct
both
getter
and
setter.
Far
as
I
I
would
honestly
just
I
think
we
need
to
throw
in
these
cases
like
we
had.
E
L
F
L
L
E
L
E
I
E
J
B
E
I
C
E
E
A
Be
somewhat
careful
with
statements
like
you
should
be
super
consistent
because
sometimes
I'm
an
economic
examples.
The
printer
API,
so
I
mean
if
you
can
enumerate
the
printers
zero
predators,
a
better
dancer.
So
if
there
is
it,
if
it
is
sensible
answer,
we
can
provide
to
degrade
the
experience
of
odds
following
that
may
be.
Okay,
like
for
example,
course
a
size
to
me.
If
it's
always
100
that
you
can
never
be
changed,
is
it
is
a
valid
answer.
I
A
Question
is
how
would
you
you
I
think
honestly,
if
you
have
been
meaningful,
exceptionally
explains
what
these
things
don't
work
may
be
okay,
it
may
be
tricky
to
write
portable
coat
this
way,
because
they've
no
other
way
to
discover
it,
but
I
also
don't
think
having
create
the
eyes.
All
these
things
is
necessarily
awesome
too,
because
now
you
have
like
is
blah
blah
blah
well,.
E
A
All,
but
this
is
my
general
problem
with
that-
is
that
you
make
an
assumption
here
which
may
not
hold
true,
which
is
that
all
the
Nexus
are
equal,
which
was
some
API
is
going
to
be
the
case.
Yep
different.
Also,
the
feature
set
may
change
over
time,
so
I
mean
the
browser.
Basically,
space
still
is
all
times
what
happens
when
you
have
you
know,
platform
checks.
H
E
Also
like
this
is
such
a
corner
case
API
setting
the
cursor,
sighs
I
would
just
not
overthink
it
and
I
think
exception
is
safer.
Just
like
tells
you
what's
going
on
and
you
move
on.
You
solve
the
problem.
If
you
try
to
write
or
to
be
I
kind
of,
can
imagine,
let's
say,
there's
an
API
that
you
call
like
better
often
and
now
you
have
to
wrap
them
in
all
these
statements,
then,
maybe.
H
So
I
be
reluctant
to
add
an
exception
if
we
thought
it
was
a
landmine
like
a
hidden,
hidden,
API
call
something
that
you
might
not
run
until
you
go
down
one
particular
like
data-dependent
path
of
the
application.
These
types
of
things
are
not
that
they're
not
like.
Okay,
you
have
some
type
of
input
and
it
causes
the
full
application.
Go
like
people
are
interacting
with
these
AP
is
this
is
their
user
interface?
This
is
how
they're
setting
it
up.
So
so
it's
not
it's
not
like
a
landmine,
it's
more
like
it
be
in
their
face.
E
A
As
a
data
point,
by
the
way
like
we
do
have
the
data
for
you
good
and
you
have
the
data
for
API,
a
pardon
me
do
have
some
desktop
ads
right
there
been.
Probably
the
desktop
app
sample
is
pretty
misleading,
because
it's
mostly
desktop
apps,
which
doesn't
include
console
app.
So
they
don't
use
these
kind
of
things,
but
ABI
important
you
get
both
have
a
decent
amount
of
like
things
for
a
console
and
the
total
usage
is
0
point
0,
three
percent,
so
over
the
septum
can.
A
Full
for
the
cursor
size
combined
together
is
a
less
than
point
0
to
0,
and
then
the
setter
is
around
point
0
2,
so
I
mean
it
is
a
I
mean,
I
would
say
your
wife
on
the
cat
call.
You
no
argument,
but
I
would
say
that
things
like
cursor
sighs,
I
think
I
got
feel-
is
probably
close
to
being
accurate
for
some
other
things.
It's
misleading
but,
like
you
know,
caps
lock
same
thing,
I
mean
it
doesn't
even
show
up
in
the
data.
A
A
L
L
Somehow
we've
chosen
to
throw
to
make
it
clear
and
we've
had
some
disagreements
in
the
past
about
places
where
we've
been
throwing
in
folks
have
wanted
us
not
to
in
this
case
I,
don't
particularly
care
I've,
never
used,
cursor,
sighs,
I've,
never
known
anyone
who
has
and
I
don't
really
know
why
you
would
use
it.
The
only
thing
I
could
imagine
would
be
like,
maybe
put
it
into
underline
mode
or
something
send
it
to
one
or
100
based
on
whether
you
want
underline
or
a
full
block,
cursor
right,
I
can't
think
of
anything
else.
L
E
I
actually
like
the
kind
of
guidance
that
you've
just
talked
about,
which
is
like
if
it's
a
performance,
optimization
like
you
literally,
cannot
tell
maybe
it
happened.
Maybe
you
did
it
right
or
it's
something
you
know
unobservable
yeah,
then
nope,
I
think,
is
fine.
Here.
It's
like
I
wrote
my
coat.
I
said
it
I
wanted
to
write
the
you
know,
subscript
or
something
like
this,
and
it's
not
happening
and
I
have
no
idea.
B
L
There
is
like
an
underlying
thing:
I've
never
figured
out
exactly
what
it
does
and
I
think
it
varies
based
on
the
Sheldon
you're,
using
rather
terminal
that
you're
using
we
get
experiment
to
see
what
it
is,
and
you
know
if
we
wanted
to.
We
could
say
that
greater
than
50
was
full
block
and
lower
than
50
was
underlined.
Yeah.
We.
B
B
I
No
one's
one
thing
that
I
know
this
is
in
the
redirected
mode.
We
do
get
very
different
in
UNIX
hand
like
in
Linux
and
on
windows.
So
the
reason
as
Windows
doesn't
try
to
explicitly
say:
oh
if
I
mean
the
redirected,
more
I
need
to
throw
this
engine
exception,
the
kind
of
relies
on
us
to
do
the
things
for
it
so
at
times
of
throws
ioexception
at
times
at
first,
depending
upon
what
hanging
is
passed
to
it.
I
A
I
So,
first
of
all,
there
is
no
guarantee
that
you'll
end
up
getting
higher
exception.
You
could
get
like
the
msdn
documentation.
Also
says
you
could
get
I
exceptional,
you
ticket
platform
not
supported,
or
you
could
get
any
exception.
That
saying.
I
I
cannot
emulate
that
very
simple.
Similarly,
like
on
some
of
the
api's
on
Windows,
we
said.
Oh
you
know,
I
will
try
to
use
the
output
handy
to
get
the
bad
if
the
output
is
redirected,
I
try
to
list
the
input,
honey
or
the
error
handy
do
it,
which
is
not
the
case
in
Linux.
It's
mostly
like
we,
since
we
are
setting
the
streams
like
your
writing
to
the
stream,
we
use
input
and
output
handle.
I
I
A
We
do
expose
the
video
where
that
is
redirected,
hey
be
nice
right,
so
so
what
happens
of
color,
because
I
mean
now
on
Windows,
you
know
color
is
not
represented
as
with
escapes
right.
So
that
means
it's
basically
a
function
of
the
windows
on
the
function
of
the
output
versus
on
on
unix.
It's
part
of
the
text
right.
So
what
happens
when
you
set
coloring
and
you
right?
They
do.
We
throw
the
week
more
like
what
happens
in
women
yeah.
We
don't
write
about
so
on
windows.
The
space
it
just
means
color
is
looking.
L
A
A
A
A
L
A
H
A
C
Only
unsupported
in
another
places
donna
native
Publishing's,
it's
a
it-
requires
another
type
that
we
don't
even
have
new
contracts,
which
is
gr,
get
reader
thing
I
see
so
like
I,
don't
think
you
can
have.
These
two
does
to
advance
needs
to
take
the
argument,
but
when
the
leasing
school,
they
were
only
ever
really
needed,
never
used
by
many
c++
in
the
past.
As
far
as
understood
yet
and.
E
A
A
C
I
I
So
there
is
no
46
api
on
the
Nexus
4's
stiffener
I
know
that
can
increment
caps
lock
and
number
lot.
But
people
like
on
on
the
thread
did
mention
that
there
can
be
some
third-party
it
guys
that
we
can
depend
upon
that
might
give
us
the
same
thing
might
help
us
implement
this,
but
honestly
I'm
not
sure
whether
it's
worth
it
so.
E
A
A
K
G
L
A
We
hung
windows
even
moved
off.
The
area
is
not
as
fast
as
I
would
like
it
to
be,
because
I
tried
to
implement
scrolling
with
it
and
it's
still
painfully
slow,
but
but
I
mean,
like
you
know,
almost
all
my
terminal
sections
when
I
havenÃt
do
output
you
less
it's
cold,
super
fast
I,
don't
know
how
they
do
with
them.
I
A
C
I
Was
thinking
about
said,
we
know
if
he
is
that
Sonny
is,
since
we
are
exposing
buffer
and
we
are
exposing
the
other
things,
but
you
to
write
a
console
like
with
all
the
scrolling
mechanism
in
everything
you
would
need
be
they
face
also
at
least
on
windows
side.
If
you
do
not
expose
it,
we
are
kind
of
giving
them
a
half
its
30
on
windows.
I
E
Will
be
fine
with
it
I
think
we
talked
in
the
past
that
you
know
like
one
of
our
objectives
is
to
make
it
easy
for
people
to
port
existing
code.
It
may
be
working
from
windows
to
windows,
so
you
know
it's
an
objective
the
API
like
if
it
was
the
first
API
that
you
know.
Otherwise
we
have
beautiful
API
this
you
know
designed
to
because
blood
and
now
we
are
introducing
us,
you
know
first
or
it
I
would
be
more
concerned,
but
this
seems
to
be
like
yet
another
words
which.
A
L
Certainly
for
the
common
ones,
these
are
much
less
common
I
mean
everything
like
if
you
look
at
some
popular
or
not
popular,
but
you
look
at
various
sample
code
out
there
that
uses
console
these.
This
last
bucket
they're
pretty
rarely
used
the
things
about
this
are
pretty
commonly
used,
but
other
than
some
toy
apps
that
you
know
try
and
play
music
using
thread
dot,
sleep
and
beep
like
you
know,
and
no
one
really
uses
that
other
than
extremely
complicated
console.
Apps
that
try
and
optimize
you
know,
they're,
not
using
Bob
move
buffer
area.
L
As
far
as
I'm
aware
things
like
mono
don't
implement
these.
At
least
you
know
if
they
do
they're
either
throwing
or
no
ops
I
be
hesitant
to
expose
something
like
caps,
lock,
number
lock
as
a
no
op
that
returned
all
these
false
because
then
you
know
it'd
be
sort
of
lying.
So
if
you
were
to
expose
that
we
want
to
throw
I,
don't
know
I
I'm,
it
really
depends
on
what
our
goals
are.
I
guess.
L
E
I
J
A
Just
check
the
usage
I
mean
the
usage
is
very
low,
like
it's
like
a
point.
Four
percent
on
yeah
said
buffer
size
and
it's
the
most
commonly
used.
Everything
else
has
point
Oh
something
so
I
mean
they
are
super
rare
I
mean
I'm,
just
I'm
just
wondering
what
all
principal
is
I.
Think
in
general,
like
I,
would
be
in
favor
of
saying
unless
it
makes
the
API
like
it,
creates
a
super
common
speed
or
failure
for
prostate
developers.
I
would
be
in
favor
of
keeping
a
PS.
A
If
we
know
we
can
only
support
on
one
platform
and
just
throw
rather
than
tripling
the
contract
for
everybody,
because
I
mean
there
are
people
that
will
not
care
about
linux
at
all.
At
the
question
is,
what's
their
story
going
to
be
on
now?
The
question
is
these
AP
is
so
rare,
like
practically
speaking,
we're
not
really
harming
windows
adoption
because
it's
not
very
commonly
used
so
I'm
fine,
either
way,
I
mean
a
good
way,
I
sensed
it.
C
Was
like,
if
one
of
our
big
premiere
partners
there
about
one
percent
that
usually
stay
PS,
how
much
work
is
it
for
them
to
actually
implement?
These
are
I
think
it
would
be
quite
a
lot
or
somebody's
gonna
get
right
so
I
that
would
be
lean,
meat
more
to
a
favor,
just
exposing
them,
and
this
throwing
on
hot.
E
Spot
but
to
me
and
to
me,
as
I
said
to
me,
it's
to
some
extent
this,
like
a
big
jump
from
beautiful
API.
That
has
no
words
to
an
API
that
it's
not
beautiful
for
crown
splat
after
that,
it's
like
just
keep,
adding
a
DSN
just
create
a
nice.
Do
we
have
influence
over
documentation
for
this
API
is
because
it
would
be
nice
to
add.
You
haven't
really
got
have
like
a
guide
for
linux
developers
that
says
hey
if
using
console,
api's.
Here's
how
you
check
you
know
what
support
it
was.
A
A
I
C
A
C
A
F
L
E
That's
actually
a
good
point.
If,
like
you
know
windows,
you
could
just
like
even
be
in
bulk,
but
it's
you
know
a
simple
translation
from
I:
have
a
program
running
I'm
trying
to
pour
it.
I
don't
I'll,
sell
it
to
the
guy,
maybe
it's
not
just
for
linux,
but
in
general
for
porting
console,
and
it
basically
just
says,
keep
up
to
this.
One
I
think
this
reasonable
solution.
I
C
A
E
This
to
an
Argus
consciousness,
to
publish
which
again,
like
one
point
we
should
consider
is
we
are
almost
you
know
like-
could
almost
have
a
great
story
for
Windows
developments.
Basically
say
the
AP
ice
are,
as
is
yeah,
except
for
those
two
where
you
have
to
pee
poke.
Maybe
we
just
call
or
go
all
the
way
you.
J
C
E
C
E
A
E
A
J
A
E
Expose
as
much
a
Piazza
submissions,
I
also
would
say,
like
one
thing
that
you
know
place
in
my
opinion
on
this,
one
is
that
if
there
are
n
P
is
for
quickly
that
you
would
normally
use
it
in
a
library.
So
we
want
to
promote
multiple
libraries
and
feeling
like
very
wacky
ideas
from
portability
perspective
in
for
libraries,
it's
not
great
he's
like
the
eyes.
C
A
Should
use
the
remaining
like
time
to
actually
talk
about
the
principle
we
just
talked
about,
which
is
the
true,
be
ova,
sport
API
as
it
becomes
what
everywhere
I
think
there
were
a
few
juicing
dimensions.
One
of
them
is
how
calmly
is
it
like
if
everybody
hits
it
and
it's
very
easy
to
have
a
pit
of
failure,
I
think
we
should
Iran
the
side
of
factoring
it
correctly
and
making
clears
on
support
everywhere.
A
C
There's
no
point
and
there's
one
example:
reflection
I
think
we're
going
to
go
back
and
forth
around,
which
is
the
binders.
The
finders
is
an
interesting
one.
We
would
prefer
not
to
have
AP
at
all
like,
but
it
it's
it's
a
common
primer
in
a
number
of
the
APS,
where
you'd
like
to
have
just
like
this
one
stupid
thing:
that's
always
you
always
always
pass
it
off
for
that
parameter,
but
you
have
to
have
kind
of
the
type
in
orders.
C
A
E
C
Can
try
that
but
I
have
a
feeling
that
some
cases
that's
not
going
to
work
because
are
already
over
also
will
conflict
like,
for
example,
if
you
have
coded
passes
knowledge
that
all
resolved
to
another
API
now
you
know
you'll
get
confliction.
We
have
to
look
at
the
only.
We
need
to
pump.
Listen,
it's
not
that
you're
gonna,
notation,
name
yeah,
but
I,
don't
kind
of
defeat.
Some
of
the
purpose
to
know
these
are
like.
We
should
just
change
the
primer
or
it's
an
object
in
like
this.
Let's
think
about
the
passing
of
the
object.
A
It
in
our
contracts,
it's
this
kind
of
change,
yeah
I,
think
that's
that
to
me
is
like
one
of
those
things.
I
mean
reflection
is,
as
you
said
earlier,
like
full
of
warts
already,
like
I,
mean
yeah
I
care
a
bit
less
about
reflection,
because
already
has
so
many
other
problems
that
that
the
binary
thing
doesn't
even
register.
A
C
A
C
A
In
the
argument
types
and
they
match
exactly
it
definite
only
diviner
right
and
then
the
next
thing
is
what
you'd
also
don't
really
biting
flex,
because
you
literally
specify
the
signature
I
mean
like
they
can
only
be
one
of
them.
So
the
fact
that
it's
public,
private
or
whatever,
like
you,
cannot
you
can
check
after
after
you've
got
the
freakin
object.
Bag
I
mean
you
specify
the
thing
you
want
to
get.
That's
why
it's
a
bit
of
a
fishy
argument
to
begin
with,
I
need
to
pause,
inviting
flags
yeah
alright.
So
that
means
all.
I
A
And
you're
talking
about
adding
all
this
stuff
back
is
that
the
I
pair
of
you
yeah,
I
mean
what
would
be
helpful,
is
just
presenting
what
you
have
so
far,
and
then
we
can
use
the
remaining
stuff
to
talk
about
what
it
is.
If
you
want
to
achieve,
because
I
think
the
the
two
things
I
think
we
said
earlier,
I'm
sure
that
still
the
case
was
you
basically
won't
expose
everything
we
had.
However,
you
want
to
preserve
the
types
that
means
the
api's
wouldn't
go
back
on
type.
They
would
go
back
on
time.
I
A
It
means
like
I,
don't
know
how
far
we
can
get
like
I
mean.
The
binder
thing
is
one
of
those
things,
but
the
guy
is
there
more
of
these.
Api's
did
be
if
you
promise
a
certain
behavior
that
we
don't
want
a
promise
moving
forward
like
type
get
type,
for
example,
had
some
of
these
issues
right,
I
think.
C
A
C
I
A
C
A
C
And
we
are
fine
with
supporting
that
fiber
I,
don't
know.
If
we
were
like
right
now,
I,
don't
we
have.
We
have
some
magic
with
an
aisle
transformation,
phaser
down
the
native
right.
Now
we
start
talking
about
CLI
party,
neither
and
that
doesn't
exist.
I,
don't
know
how
we're
going
to
do
if
we,
if
we
can
even
do
it
at
all,
I
will
be
in
favor
of
killing
I've
been
trying
to
do
that.
You
know
I
pushed
pretty
hard
to
get
a
more
than
there's
enough
ya
know
it's.
A
Alright,
so
that
means
I,
think
I
got
everything
out.
The
meaning
I
think
you've
got
everything
out
of
it.
I
took
some
notes,
the
guidelines
that
will
probably
add
to
the
porting
guy.
We
just
talked
about,
and
then
that's
pretty
much.
It
everybody's
unblocked
great
thanks,
folks,
online
and
sorry
for
not
taking
all
the
questions,
because
I
didn't
see
them
earlier.