►
From YouTube: Languages & Runtime: .NET Community Standup - June 13th 2019 - The new JSON library with Ahson Khan
Description
Join members from the .NET teams for our community standup covering great community contributions for Framework, .NET Core, Languages, CLI, MSBuild, and more.
A
B
B
Pronouncing
everything
I've
always
so
my
name
is
Amal
and
remember:
p.m.
on
the.net,
a
platform
team,
Oh,
Carter
and
I
do
stuff
with
f-sharp
and
other
nothing,
and
he
just
made
me
at
least
5
years
older,
like
he
was
hiding
in
the
corner.
When
I
came
into
the
room,
he
yelled
at
me
and
I'm
still
recovering
slowly
from
this
exercise.
So
today
we're
going
to
do.
We
want
to
talk
a
little
bit
about
our
new
JSON
API.
B
So
that's
what
post
coming
later
today,
we're
still
in
the
weeds
of
tweaking
it
a
little
bit
because
WordPress,
but
we
will
hopefully
get
outta
time.
That
should
be
possible
if
you
also
have
a
video
recording
with
more
demos.
But
this
is
a
perfect
opportunity
for
you
to
ask
us
questions
about
new
JSON.
Api
is
why
we
build
them
and
what
not?
So
maybe
we
I
don't
know.
What
do
you
want
to
talk
about
today?
Just
a
few
things
related
they're
sharp.
Do
you
have
anything
prepared
like
slides
or
no.
B
A
Yeah,
so
they're
kind
of
I
mean
there's
been
a
lot
of
plenty,
a
lot
of
F
sharp
things
happening,
but
sort
of
two
prominent
ones.
I
guess
the
callouts
is
f
sharp
for
visual
studio
code
via
the
I&I
plugin
is
churning
along
quite
a
bit.
It's
heading
towards
a
4.0
release
with
a
lot
of
different
changes,
especially
as
it
relates
to
performance
improvements
and
fully
implementing
language
server
protocol
and
looks
like
it's
gonna
be
pretty
great.
A
It's
set
for
you
at
least
we're
intending
were
at
least
working
with
the
open
source
people
who
work
on
it,
sort
of
planning
with
them.
Okay,
you
know
kind
of
by
the
end
of
this
month
we're
thinking
an
I-9
4.0
release,
sort
of
makes
sense
with
that
yeah
there's
just
gonna
be
tons
and
tons
of
performance
improvements
with
f-sharp
in
business.
With
your
code
and
like
a
bit
more
of
a
getting
started,
experience
that's
more
tailored
towards
down
at
core
making
that
just
nicer
as
a
whole.
That's
we
pretty
good.
A
It
was
sort
of
a
call
to
the
f-sharp
community
to
be
like
hey,
you
know,
for
all
the
different
domains
that
you
use,
F
sharp
in,
like
you
know,
create
an
application
that
that
does
so
or
write
an
article
or
something
like
that,
and
you
know
we
had
a
couple
of
expert
f-sharp
users,
sort
of
act
as
judges
for
different
categories,
and
so
the
winners
were
were
announced
a
while
ago,
and
so
there's
some
pretty
cool
ones
like
see.
One
of
them
was
a
cloud
CloudFlare
workers
in
F
sharp.
So
this
is
CloudFlare.
A
Is
it's
sort
of
like
a
junctions
or
AWS
lambda,
except
for
the
cloud
player?
I.
Think
yeah
cloud
floor
is
the
name
of
the
company
I
keep
forgetting.
Is
that
but
anyways
it
uses
chrome
v8,
but
it
does
like
all
sorts
of
it.
Does
things
very
very
differently,
and
so
somebody
was
like
hey
I,
wonder
if
I
can
get
F
sharp
to
work
on
that
and
turns
out,
they
did
so
pretty
cool
right
and
there
were
also
some
pretty
good.
A
That
sort
of
said,
like
you,
know,
hey,
if
you
thought
you
can
do
meta
programming
with
F
sharp
well,
let
me
tell
you
how
you
can
do
it
even
more
and
it's
it's
it's
pretty
cool,
so
I
recommend
everybody
sort
of
just
look
up
the
F,
sharp
applied
challenge
and
the
results,
because
you
know
the
results
there
there's
just
a
lot
of
really
really
cool
blogs
and
a
really
cool
set
of
projects
in
there.
Oh
yeah
I
think
another
one
that
was
really
cool,
which
is
a
FSH,
an
f-sharp
shell
with
integrated
f-sharp
scripting.
A
A
A
B
A
Yeah,
it
basically
turns
to
this
video
code
into
a
fully-fledged,
f-sharp
IDE
and
there's
a
whole
bunch
of
features
in
there.
That
don't
exist
like,
for
example,
in
Visual
Studio,
even
because
it's
sort
of
it's
also
a
bit
of
like
an
experimental
grounds
for
like
what
you
can
do
with
f-sharp
tools
and
some
of
that
accrues
to
other
editors.
But
it's
you
know
the
way
that
nine-eyed
were
in
visual
studio
work
is
it's
very
easy
to
move
very
quickly,
and
so
that's
sort
of
one
of
the
purposes
that
it
serves.
B
A
This
is
a
community
project
and
it
uses
the
same
f-sharp,
compiler
and
compiler
service
API
is
that
we
use
in
Visual
Studio
so
like
transitively,
yes,
Microsoft
has
like
involvement
in
it,
but
in
terms
of
like
package
like
calling,
those
API
is
building
new
features
on
top
of
them
and
packaging
it
up
and
all
that
sort
of
stuff.
That's
entirely
a
community
run
thing
so.
B
A
B
B
C
Jason
system
next
Jason
is
the
library
that
we
have
been
working
on.
Meanwhile,
my
team
includes
means
SD,
harder
and
Jamie
Barden.
Primarily
this
is
a
little
hobby
to
be
shipping
as
part
of
donek
or
three.
Oh,
that's,
driven
primarily
towards
performance,
driven
towards
supporting
utf-8
that
directly
mm-hmm.
B
C
News
of
Jason,
which
is
the
most
widely
used,
suggests
library
in
the
radio
system.
So
there
was
reasons
I
think
I
had
question
in
the
chat
as
well.
How
does
the
new
API,
as
relates
to
new
suggestion,
so
we
went
with
a
new
approach,
this
built
from
the
ground
up,
primarily
because
we
want
to
leverage
some
of
the
new
primitives
that
we
Internet
code-
one
for
example,
span,
and
we
only
sequence
and
because
you
know,
Jason
has
a
lot
of
features:
a
lot
of
user
users.
B
C
B
Basically,
you
have
to
not
think
about
how
many
machines
do
you
need
to
sustain
your
load
and
if
you
can
like
reduce
about
20
percent,
that
means
you
can
get
20
percent
effectively
it
savings
in
your
number
of
machines.
You
have
to
keep
around
so
I
think
we
talked
about
this
like
last
year.
I
think
I.
Think
I.
Just
look
at
my
announcement
here
that
I
that
I
published
this
was
from
I
believe
October.
So
we
talked
about
this
openly
for
a
while,
so
it
hopefully,
people
that
are
connected
to
husky
open-source.
B
A
complete
surprise,
otherwise
we
miserably
failed
at
communicating
if
you've
never
followed.
This
repo.
Does
that
meant
announcement?
Repo
is
specifically
designed
for
you
to
you
know,
keep
basically
track
of
what's
going
on,
so
we
have
like
91
issues.
We
never
closed
issues
in
the
announcement
repo.
So
it
is,
you
can
follow
the
repo
and
you
only
get
sporadically
emails
when
new
announcements
are
being
posted
so
that
you're
not
drowning
in
you
know,
notifications
from
github
as
the
rest
of
us
does
every
day,
but
the
idea
is
that
you
this
way.
B
Basically,
all
the
teams
are
publishing
their
their
announcements
here.
So
if
you
haven't
followed
this
yet
we
post
security
updates
here
we
post
feature
updates
roadmap
changes
like
everything
that's
relevant,
for
the
open,
open
source
standpoint
is
what
goes
here
if
you're
just
curious
about
what's
happening
from
the
product
standpoint
like
just
following
our
block,
is
also
fine,
but
the
block
is
basically
usually
talking
about
things
when
things
are
either
in
preview
or
you
know
ready
for
release
or
something
like
this,
which
you
know,
we
basically
do
today
for
our
JSON
stuff,
for
example
right.
B
But
we
are
talking
about
this
since
October,
so
if
you
want
to
get
a
sneak
peek
early,
you
should
really
follow
our
or
announcement
repo
anyway.
So
the
one
thing
that
I
wanted
to
mention
here
is,
you
said,
like
there's
a
there's,
a
bar
problem
with
Jason
net.
In
the
sense,
then
there's
a
compat
right,
and
so
this
is
not
just
us
like
making
stuff
up.
He
is
basically
a
quote
from
from
James
himself,
the
the
author
of
Jason
net.
So
you
know,
since
I,
don't
know
how
many
people
know
this,
but
we
hired
him.
B
I.
Think
I
want
to
say
almost
a
year
ago,
maybe
and
a
half
ago,
so
James
works
on
Microsoft
now
so
he
may
have
a
you
know
tilted
view
on
this
now
as
well,
but
I
mean
the
idea
is
I
mean
he
maintained
Jason
for
a
long
time,
and
you
know
it's
not
that
we
didn't
try
to
like
change
Jason
net
right,
but
the
thing
is
there's
in
Jason.
That
is,
this
would
be
called
the
Swiss
Army
knife
kind
of
thing,
and
so
it's
very
hard
to
like
take
new
features
like
span
of
T.
C
B
And
we
asunder
is
in
the
framework
right
I
mean
we
added
overloads
for
span
throughout
the
BCL
and
there's
areas
where
this
what's
easier,
it's
much
more
logical
which
already
up
and
overload
that
takes
a
string,
another
orbital
it
takes
by
the
way
if
another
one
takes
this
panel
right
now,
but
it's
not
always
possible
right
where
you're,
like
streams
comes
to
mind
here,
where
there's
virtual
methods
and
it's
very
hard
to
like
retrofit
something
span
based
over
that
without
making
me
without
making
these
some
sacrifices.
For
personally,.
C
B
B
B
C
Understand
it
is
their
most
critical
for
Glavine,
Epson
n
is
the
Commission
and
operating
for
those,
and
that's
one
of
the
reason
why
we
are
in
preview
right
now
is
because
we
won't
get
feedback
so
for
IB.
Next,
we
have
a
backlog
of
issues
and
features
that
people
are
really
actually
asked
for
right.
B
So
let's
talk
a
little
bit
more
about
code,
so
one
thing
that
that
I'm
always
interested
is
that
we
look
at
Jason's
like
sterilization.
Is
this
thing
that
happens
on
multiple
layers
so
like
yeah,
you
can
instantiate
the
reader
and
like
mess
with
the
bracelet
yourself,
but
that's
not
how
most
people
use
it
right.
So
most
people,
publishers
use
it
as
part
of
like
you
know,
a
spinet
for
example.
So
there's
a
little
bit
more
like
what's
what's
happening,
obviously,
on
the
screen
right
now,
yeah.
C
So
what
I
have
it
just?
This
is
just
a
template
that
you
can
format
you
if
you
want
to
create
a
new
REST
API,
and
if
you
see
here
this
is
a
sample
that
comes
out
with
it
and
the
endpoint
I'm
gonna
hit
is
already
trying
to
weather
forecasts.
Now
this
this
is
using
just
one,
and
the
covers
to
this
was
ingested,
run
around
the
covers
to
create
your
request
in
return,
the
actual
data
back
to
you
now
what's
happening
in
Gordon,
SP,
nightcore
306.
C
C
C
C
C
So
this
is
using
the
system
destination
library.
Under
the
doors
you
see,
the
output
that
temperature
date
and
location
now
now
going
back
to
the
example,
I
had,
if,
let's
say
you
for
somebody's
in
your
model
had
a
field
which
is
something
a
video
support
and
you
need
to
revert
back
to
neutral
Jason.
We
provide
this
compatibility.
Integration
package
called
max
of
SP
nightcore,
MB
senior
suggestion,
and
you
include
include
a
reference
to
this
package
in
your
sort
of
startup.
You
add
new
submission
to
you
services,
so.
B
That's
it
it's
a
key
difference
from
before
I
like
in
donut
core
to
point
to
what
the
latest
release
before
3:00
or
like
we
wouldn't
have
had
this
line
da
Dada
Newton
sub
Jason.
It
was
just
implied
that
Jason
dotnet
is
the
civilization
library
that
we
are
using
and
basically
we
remove
the
dependency
from
asp
net.
So
if
you
just
do
the
you
know
the
default,
if
you
will,
then
you
just
get
system
or
text
or
jason,
but
this
line
you
just
bring
back
effectively
the
the
Jason
net,
yeah
way
of
civilization.
So.
C
Let
me
show
you
what
happens
if
you
didn't
add
new
sub-basin,
because
any,
if
you
happy
to
have
a
field
right,
so
I
just
changed
my
model
to
from
a
property
to
a
public
field,
and
what
you
see
is
the
temperature
no
longer
showing
up
right?
You
should
show
up
in
our
desert
right
now.
Okay,
so
if
you
want
to
go
back
and
say,
wait,
I
actually
want
fields
in
my
model.
For
some
reason
you
can
add
the
new
sub
Jason
integration
package,
rewrite
it
and
most
likely
you
will
get
the
temperature
back.
A
B
B
C
So
we
have
some
of
the
things
is
like
having
support
for
octal
like
if
you're
reading,
a
just
a
payload,
and
that
happens
to
a
contain
numbers
that
shot
a
prefix
to
0,
just
to
donate
a
soother.
Their
format
is
octal
and
parse
it.
As
such,
we
assume
that
this
we
found
additional
RFC
precisely.
That
means
he
knows
of
protocol
numbers
right.
B
C
B
C
C
C
B
But
the
idea
was
I
think
for
us
to
like
cut
down
the
scope,
also
to
be
able
to
do
some
prop
optimizations,
but
as
we
support
every
every
possible
feature
in
the
world
and
effectively,
you
reinvent
Jason
on
every
different
API.
But
at
the
end
it
has
the
same
problems.
If
you
will
all
right,
yeah
I
mean.
C
B
C
C
C
So
I
yeah
I
have
an
accounting
model,
it
has
email,
createdate,
etc,
and
once
the
people
do
most
often
is
they
won't
see
you
as
their
model
and
then
they
also
want
to
see
you
guys
right.
So
this
is
my
helper
method,
I
just
serialize.
It
takes
an
account
and
if
you
look
at
my
get
account
method
all
it
is.
This
new
example
account
feeling
it
some
fields.
You
have
the
email
and
a
few
things
so
like.
C
You
want
support,
indented
annoying
tented,
you
know,
I
have
ignores
another
user
cetera,
and
if
you
want
to
refer
to
rerun
it,
it
would
be
yes,
safe,
yep,
okay,
so
it's
more
human
readable
now
usually
for
performance
of
people
tend
to
just
have
a
minute:
I'd
Jason
output,
because
as
less
it's
compressed,
respectively
and
now
on
the
CDs
realization
side,
which
is
if
I
had
Jason
Peter
coming
in
right.
What
would
that
look
like
it's
very
similar
to
the
Siddhas
exercise,
so
just
the
same
similar
code?
C
We,
instead
of
having
calling
two
string
or
two
bytes.
You
just
call
the
first
method
on
the
Caesar.
These
are
static
methods
right
and
pass
in
the
string
that
we
have
in
this
case
we
just
passing
in
in
the
sample
jason
string.
Now,
if
you
note
here,
this
has
a
trailing
comma
which
usually
like
my
default.
Trailing
commas
are
all
our
in
DSL,
but
if
you
wanted
to
opt
into
it,
you
would
just
set
this
off
as
an
option
now,
trading
covers
and
now
you'll
be
able
to
DC.
Where
so.
B
C
Now
we
have
read
the
decent
chain
and
if
you
look
at
the
sample
code,
here's
the
count,
we're
reading
the
email
right.
The
guy
comments
you
can
ignore
comments,
I
just
realisation
there,
but
that
really
make
sense
to
a
la
cama.
So
so
there's
only
feature
less
for
it.
If
you
want
to
do
that,
you
would
just
have
a
thing
called
comet
handling
is
an
enum
and
it's
jason
comment
and
laying
skip
is
what
you
want
to
do.
I'm.
B
C
I
use
trains
because
they're
easier
to
output
to
display
as
part
of
the
demo
but
effectively
like,
for
example.
If
you
wanted
to
create
a
return,
you
can
rate
pillow
mm-hmm.
We
returns
the
binary
and
you
change
this
to
to
utf-8
virus
right
and
that
now
returns
a
wide
array
and
this
country,
and
you
take
that
encoded,
JSON,
payload
mm-hmm
and
on
similarly
on
the
DC
Lasseter
side.
If
you're
Jason
strain
was
byte
array
of
utf-8
encoded
data
and
keep
in
mind,
it
has
to
be
valid
utf-8,
let's
say
then
I.
C
B
That
makes
sense
yeah,
and
so
this
way,
basically
that's
what
we
get
the
performance.
It's
just
that
these
things
are
really
useful
when
you
have
like
something
like
a
web
server,
but
you
already
have
like
you
know,
memory
allocated
and
stuff
like
that,
but-
and
you
know
for
things
like
this,
when
you
just
have
a
string
in
memory-
you
just
want
to
party
on
that.
Typically,
we
also
have
those
overload.
So
while
we
don't
optimize
for
convenience,
we
have
some
conveniences.
So
it's
not.
You
know
completely
writing
assembler
code.
Similarly,.
C
If
you
like,
reading
from
reply
stream
as
long
as
is
saved
as
you
give
it,
you
could
pass
the
stream
directly.
One
question
on
the
chat
is:
can
we
make
this?
You
has
a
strict
yeah
so
by
default,
if
you
deposit,
no
options,
the
seal
is
ready,
says
a
stripped,
so
comments
are
not
support.
Any
commas
are
not
supported.
Comments
are
not
supported
and
basically,
whatever
the
JSON
RFC
states
is,
what
works.
You
think.
B
You
can
smoke
with
the
sealers
apart.
Where
basically
will
be
output
is
valid,
Jason
might
be
down
output,
trailing
commas
ever
oh
yeah.
Is
that
so
like
it
don't
even
mean
keep
options
from
that
write,
whatever
we
would
produce,
as
always
under
percent
strict
yep,
so
yeah
I
think
there
there's
other
questions
that
go
further
along
the
script.
So
maybe
we
should
drop
down
a
layer,
yeah.
C
B
C
B
A
Yeah
I
mean
there
are
two
core
tight,
so
well
really
three,
but
one
of
them
is
much
like
the
first
there's
f
sharp
records,
F,
sharp
anonymous
records
and
sharp
discriminated
unions.
That
kind
of
omit
some
rather
complicated
stuff
for
variety
reasons,
but
yeah
I
mean
that
that's
sort
of
the
primary
data
types
that
people
use
in
us
yeah.
A
I
mean
at
least
I
would
think
that
you
wouldn't,
like
you,
wouldn't
necessarily
work
off
of
you
know
the
thing
that
is
fully
emitted,
because
you
know
we
emit
all
sorts
of
stuff
to
like
you
know,
make
sure
that
things
are
structurally
comparable
and
structurally
equatable
and,
like
that,
doesn't
really
matter
for
serialization.
You
really
like.
Okay,
here's
like
a
core
shape
of
the
thing.
How
do
I
like
turn
that
into
the
string
and
then
take
that
string
and
be
like
okay,
that
represents
a
core
shape.
B
I
think
Jason
Dannette
has
some
very
advanced
things,
because
the
bass,
everything
there
is
built
right
of
based
off
of
reflection
right.
So
do
you
like
it,
inspects
the
types
and
you
know
it
even
supports
immutable
types
and
many
other
things
that
we
don't
have
right
now.
So
this
is
on
our
list
of
things
to
do
we
for
field.
We
just
went
out
of
time
to
support
this.
If
you
follow
our
design
reviews,
we
have
it's
hard
enough
for
us
to
design
C
election.
B
If,
yes,
right
now
like
you're,
not
even
in
the
mode,
would
be
like
you
know
what,
if
we
have,
this
completely
other,
you
know
random
shape
of
x.
We
want
to
support,
but
that,
basically
the
idea
is
you
yeah.
We
plan
on
supporting
that
it's
a
say,
especially
because
he
should
have
also
has
the
community
Union
on
their
list
of
things.
They
would
like
to
support
eventually
so
same
thing.
We
need
goods
and
well
so.
A
B
Yes,
yeah
I
mean
somebody
who's
in
this.
In
the
set
mentioned,
I
think
fuels
naval
I,
don't
probably
not
it
I
pronounce
the
name
or
it's
something:
I
don't
get
the
reference
to,
but
basically
he's
saying-
or
she
actually
put
it
matter
whether
we
have
extension
points
effectively,
but
other
recent
libraries
have
extension
points
where
you
can
basically
plug
in
your
own
handler,
for
whatever
shape
of
times.
You
have
that's
kind
of
the
thing
that
we're
designing
right
now,
like
it
follow
or
your
YouTube
Oh
YouTube,
the
stream
but
yeah.
B
So
the
idea
is,
you
will
have
extension
points
if
the
problem
of
all
these
extension
points
is
like
how
how
powerful
other,
how
complicated
are
they?
But
yes,
I
mean
if
you're
willing
to
revise
a
lot
of
code.
You
can
you
can
tool
this.
Your
lies
anything
you
want,
but
things
like
f-sharp
is
committed,
the
unions
or
enums
or
some
other
things
that
have
kind
of
built
in
knowledge
around
certain
things.
You
just
expect
to
work
eventually
right
there.
B
C
So
the
underlying
primitive
types
that
the
C
doesn't
teach
others
is
built
on
top
of
is
the
utf-8
Jason
reader,
and
it's
a
writer
right
and
these
types
are
effectively
give
you
all
the
control
that
you
want
right
to
drill
deeper
into.
Let
us
say
you
want
to
write
comments.
For
example,
what
do
you
want
if
you
want
to
control
exactly
what
the
structure
looks
like?
C
Even
if
I
write
invalid
Jason,
you
can
do
that
using
utf-8
gesture
writer,
so
I
have
an
example
here,
where
I'm
showing
that
you,
yes,
sir
Ryder
API,
is
and
in
your
by
Jason
Ryder
you
pass
in
a
stream
or
if
you
have
an
ibuffer
ID,
which
is
a
new
primitive
via
drain
interface.
We
added
into
one
which
lets
you
control
your
own
buffering.
You
pass
that
in
as
the
output
sink,
and
these
API
is
similar
to
what
we
have
in
just
Internet.
You
just
qualify
as
like
registered
object,
right,
straying
right,
number
and.
C
Since
this
type
is
disposable,
you
can
just
dispose
it
and
it
will
flush
on
disposed
to
the
underlying
output
sink.
In
this
case,
it
will
be
the
stream.
Now,
if
you
notice
here
we
have
this
red
options.
You
can
pass
intended
to
the
other
option.
We
have
this
kept
a
violation
and
we
by
default,
be
validated.
So,
for
example,
if
you
want
to
write
it
out,
object
me
right
and
array.
We
will
throw
in
that
case,
but
there's
a
performance
closer
to
that.
C
If,
first,
if
you
think
that
if
you
have
tested
your
code,
you
value
that
is
correct
and
you
want
the
writer
to
get
out
of
your
way.
You
can
make
a
skip
validation
and
now
you
can
write
whatever
you
want
and
you
assume
is
valid,
so
this
I
would
only
do
this.
If,
for
my
super
editor
for
you,
and
maybe
even
in
debug,
you
keep
this
off
and
release,
you
turn
it
true.
On
the
right
side
we
have.
C
You
don't
need
to
pass
anything
in
the
state
is
before
it.
You
don't
need
to
do
any
stage,
shuffling
or
management
like
that,
and
now
we
have
the
standard
rep
leader
Lu.
You
can't
read
or
read,
and
you
switch
on
the
token
type
now
and
per
token.
You
have
AP
as
like.
You
want
get
the
strain
if
the
JSON
string
or
property
or
if
you
want
to
get
an
it
now,
if
you
want
to
showcase
what
it
looks
like,
let's
try
to
run
it
so.
C
This
is
the
output
that
we
see
when
we
write
to
the
memory
stream
we
just
roll
all
day
and
temperature.
This
is
what
we
used
to
do
here.
Right,
shadow
object,
right,
string,
right
number
and
then
now
we're
taking
the
same
output
that
we
read
and
reading
a
token,
my
token.
So,
if
you
see
we
are
start
off,
jekt
followed
by
appropriate
is
a
date,
and
then
we
have
strings,
probably
names
number
now.
C
C
Do
the
actual
and
the
fetching
of
more
data
or
any
other
processing
asynchronously?
And
similarly,
on
the
read
side,
the
the
pauses
of
the
talking
by
token
is
done
synchronously.
But
if
you
want
fresh
more
data
from
unless
an
underlying
stream
that
you're
reading
a
file
from
from
reading
from
a
file
or
a
network,
you
would
go
and
fetch
more
data,
it's
inversely
and
then
passed
it
back
to
a
reader.
So
I
have
an
example
for
async
rights.
C
For
example,
you
want
to
write
a
really
large
JSON
string
to
a
file
right,
so
we
have
this
file
stream.
I
mean
your
file
stream,
some
parts
of
some
reason
and
we
passed
this
and
we're
using
the
new
c-sharp
syntax
with
using
without
braces
you
pass
in
the
stream
to
the
decider
and
if
you
see
here
we're
meeting
it
so
because
we
have
a
dispossessing
method
on
it
as
well.
And
you
start
writing
Jason.
Let's
see
writing
to
my
thousand
two
million
in
this
case
or
to
a
million
instances
of
a
JSON
string
periodically.
C
C
C
Since
is
a
restaurant
you,
you
cannot
really
new
up
the
json
reader
in
line
with
the
method
that
is
actually
getting
more
data
from
the
street
Wow
I
shuffled
off
to
a
non
async
method,
because
ref
sucks
cannot
survive
across
basic
module,
which
is
this
is
the
main
reason
why
we
have
this
constant
of
state.
So
you
first
data
from
a
stream.
You
are
balanced,
printable
binary
or
you
want
for
a
pipe
and
you
get
ready
only
sequence.
C
B
So,
basically,
that's
kind
of
what
we
meant
earlier,
it's
hard
to
retrofit
these
things
over
an
existing
API
surface,
because
these
are
the
kind
of
things
that
are
just
inherently
different
when
you
deal
with
async
and
span.
But
if
the
limitations
of
how
span
works,
you
kind
of
have
to
craft
your
types
in
such
a
way
that
these
things
are
possible.
Yeah.
C
Side,
this
is
the
API
that
the
Syria
as
it
uses
to
read
from
a
stream.
If
you
notice
here
it
has
this
loop
and
it's
trying
to
read
from
the
underlying
stream.
It
gets
the
data
and
then
it
passes
that
in
to
this
read
core
method
with
the
red
state
and
whatever
the
days
along
is
whether
or
not
this
was
the
philosophy
that
that's
been
very
well.
C
C
Well,
yeah
and
also
be
exciting
about
that
as
well,
because
we
are
leveraging
a
lot
of
hard
waitresses
that
came
on
three
oh
right,
and
we
definitely
should
have
difficulty
look
into
that
as
well,
and
it
copied
some
of
their
ideas
into
the
disability
parts
area.
For
us.
That's
something
I!
Consider
for
future.
That.
B
B
A
B
A
B
B
Blog
posts,
why
can't
we
just
do
that?
I
was
about
to
say,
like
the
p-n
position
way,
you
don't
have
to
fight
purpose
is
called
a
developer.
It's
all
we
call
it
so
anyway.
So
the
one
thing
in
this
blog
post,
like
there's
lots
of
video
in
here,
which,
by
the
way
I,
really
would
like
to
notice
you
one
thing
here:
it's
like.
Do
you
notice
that
we
don't
wear
the
same
shirt
today
that
took
effort
like
in
this
video?
We
failed
that
test.
B
You
both
wear
this
and
it's
a
good
t-shirt,
but
no,
we
are
not
Pizza
boys
actually
normally,
not
very
in
the
same
shirt
but
anyway.
That's
the
nicest
thing
here
in
the
stuff
was
that
I
want
to
quickly
talk
about,
because
we
talked
about
performance
a
lot
and
we
can't
really
talk
about
proof
about
showing
some
numbers
at
least,
and
so
here.
Basically,
the
the
wrong
I
might
want
to
talk
to
a
little
bit
about
what
these
numbers
mean.
Sure.
C
So
effectively
on
the
you
want
to
use
this
eliezer
digitizer.
Once
all
you,
like,
you
see
here,
one
more
factor,
2x
performance
improvement
and
in
the
block
cause
we
shared
scenarios
where
this
lasers
being
used
in
MVC,
and
they
see
similar
gains
if
it
is
just
to
micro,
benchmarking
of
the
stairs.
When
you
write
and
I
end-to-end
scenarios
this
here,
trying
percent
throughput
increase
by
flipping
to
use
our
GDC
as
the
interesting
thing
that
really
like
is
on
the
D
so
document.
C
Even
though
it's
read-only,
we
get
almost
up
to
5x
performance
improvement
right
and
no
allocations
for
reasonably
sized
papers.
So
what
we
observed
is
usually
for
small
pillows
people
want
simple
and
easy
to
use.
Ap
is,
and
they
want
a
structured
view
of
the
Jason
in
not
in
dotnet
concepts
and
Delta
entities,
and
if
you
were
to
build
a
dictionary
or
tree
structure
into
the
covers
its
massive
it
a
notice
of
quite
a
bit
right.
C
B
C
B
Awesome
so
basically,
these
numbers
are
just
the
roof.
One
for
improvement
sounds
like
that's
awesome,
yeah
I,
think
I
really
mean
of
other
blog
posts
are
set
up
to
5x
fast,
and
you
said
you
can't
write
this.
This
is
too
much
promising,
but
like
yeah
I
mean
we
made
it
very
clear,
like
you
know,
your
mileage
might
vary
like
these
are
like,
of
course,
micro
benchmarks
right.
So
we
look
at
particular
things
and
we
we,
you
know
basically
scale
them
up
and
see
what
they
land
but
I.
B
C
If
you
find
scenarios
like
people
who
watch
my
scenarios,
that
so
for
you,
please
reach
out
and
also
I'll
gladly
take
contributions,
I
felt
actually
courageous
act
like
simply
Jason
library.
That
was
all
open
sourced
contribution
right
right,
I.
It
was
based
on
C
C++,
and
it
was
ported
to
this
C
sharp
right,
yeah.
B
I
think
that's
a
that's.
The
one
thing
I
can
do
with
the
block.
Unfortunately,
I
can't
a
contribution
to
the
book
have
to
write
it
myself,
but
the
one
thing
that
I
want
to
also
quickly
talk
about
is
how
do
I
get
the
new
JSON
API
s
and
there's
basically
two
ways.
There's
yesterday
we
should
preview
six
so
get
the
latest
version
of
connect
or
preview.
B
That's
basically,
what
gives
you
the
a
spinet
integration
where,
if
choose
by
default,
so
one
thing
we
really
would
like
you
to
do
is
upgrade
to
preview
six,
your
existing
copies
of
your
existing
models
and
run
them
through
our
cylinder
to
see
what
falls
over
alright.
Because
for
us,
that's
one
of
the
harder
things
to
measure.
We
don't
know
what
your
object
shape
looks
like.
We
of
course,
have
telemetry
for
some
things
like,
for
example,
API
usage.
B
So
we
know
which
API
I
used
a
lot
and
we
talked
to
James
Newton
King,
a
lot
who
you
know,
authors
japes.
You
know
Jason
Garnett,
so
we
have
a
lot
of
opinions
on
what
we
think
is
popular,
but
it's
always
helpful.
We
will
actually
run
into
their
code
to
see
how
it
turns
out.
Many
people
use
immutable
data
structures
or
many
people
would
like
to
construct
a
thing
working.
B
Many
people
use
feels
like
those
are
the
kind
of
feedback
that
we're
looking
for
to
get
and
then
the
other
thing
is
there's
NuGet
package
as
well
so
system,
no
texture,
Jason
lots
available,
you
get.
It
is
as
a.net
standard
tool
compatible
libraries.
So
that
means,
if
you're
gonna
in
framework,
even
you
can
also
use
that.
But
of
course
you
can't
expect
the
same
curve
gains
not
in
favor,
because
we
depend
on
other
things
in
the
runtime
that
we
have
changed
in
core
our
own
span
in
particular.
That
will
make
that
faster.
B
A
A
A
Mean
in
terms
of
what
we're
working
on
there's
a
lot
of
performance
related
stuff
that
we're
doing
in
the
compiler
in
tools-
and
you
know
we're
kind
of
sort
of
corralling
all
of
the
language
work
for
a
language
release
corresponding
with
on
at
core
3.
Oh
that's
kind
of
bad
I
mean
like
there's,
not
a
whole
lot.
A
That's
that
wraps
up
what
string
interpolation
no
but
I
mean
we
support
typesafe.
Well,
it's
printf!
So
it's
a
function
that
you
you
put
in
a
format
string,
but
it's
it's
it's
tied
in
with
the
type
system
so
like.
If
you
say
that
something
is
a
format
specifier
of
type
int
and
you
pass
in
a
string,
you
get
a
compile
error.
So
it's
more
powerful
and
interpolated
strings
interpreted
strings
might
land
at
some
point
in
the
future,
but
certainly
not
for
the
upcoming
release.
A
And
it's
not
like
on
our
priority
list
right
now,
I
like
the
little
kick
on
the
phone
yeah,
but
yeah
I
mean
there's
some
stuff
talking
about
there.
But
it's
like
everything
is
sort
of
either
in
progress
or
like
we
haven't,
made
the
definitive
decisions
about.
What's
getting
cut
or
what's
not
so
I,
don't
know
if
it's
too
interesting.
So
when
I
Jason
interval
is
arriving,
Jason
literals
well.
B
B
Yeah,
we
will
probably
provide
something
on
top
like
until
that,
because
it's
you
know
awesome
that
the
lower
level
has
to
support
necessarily
right,
but
I
mean
similar
to
XML.
If
you
look
at
XML,
there's
like
a
bunch
of
stuff
that
I
layer
on
top
of
each
other
right,
it's
just
that
the
XML
API
is
a
bit
dated
at
this
point,
but
the
general
technology
layering
is
similar
I.
B
C
B
This
to
chammy
would
like
to
replace,
because
the
tool
chain
is
fairly
fragile
at
this
moment,
and
so
basically,
what
you
want
to
do
is
you
want
to
move
the
whole.
You
WP
stack
more
or
less
to
to
donate
core
so
that
you
can
also
use
you
know
JIT
based
runtime,
if
you
want
to,
because
everybody
wants
to
pay
the
overhead
of
running
a
OT
for
most
apps,
it
doesn't,
even
you
know,
increase
necessarily
to
put
by
that
much.
B
It
does
a
lot
of
for
startup,
which
we
think
we
have
other
options
to
improve
as
well
and,
of
course,
the
work
of
the
mono
team
on
their
äôt
500
that
we
try
to
unify
between
what
is
in
iOS
and
what
we
will
do
for
you.
W
peel
isn't
done
at
5:00
timeframe,
so
I
don't
think.
There's
any
major
changes
for
core
three
all
planned
as
far
as
I
understand
it,
though,
when
is
it
politically
could've
functor
coming
to
computation
expressions
in
there,
but.
A
A
There's
there's
there's
a
lot
of
things.
I
mean
it's
kind
of
now
we're
getting
into
the
Monad
tutorial
problem,
but
we're
like
once
you
know
what
this
thing
is.
You
can
no
longer
like
actually
explain
what
it
is,
but
at
a
high
level
there
are
monadic
operations.
You
can
do
an
f-sharp
today,
which
is
a
fancy
way
of
saying
computing
within
a
given
context.
A
So
in
this
case,
say
in
a
synchronous
context
right
so
within
the
type
system
you
can
say,
hey,
there's
a
we
call
it
an
async
block
and
you
can
do
async
computations
inside
of
that
async
block.
You
can't
do
you
cannot
you
cannot.
You
can
like
you,
can
await
in
asynchronous
computation
inside
of
that
block,
but
you
cannot
await
one
outside
of
one
of
those
blocks.
It's
very
similar
to
c-sharp
like
that,
but
this
is
expressed
more
at
the
type
system
level
rather
than
like.
You
know
this.
A
This
thing
works,
like
keywords
that
you
know
magically
turns
into
state
machines
under
the
covers
like
it
is
for
c-sharp
right.
So
there
are
a
few
strategies
that
you
can
employ
to
kind
of
do
what
you
want.
One
of
the
typical
things
as
though
I
have
this
asynchronous
call
I
await.
There
was
I've.
This
others
say
asynchronous
call
I
await
the
result.
I
do
something
with
those
things
say,
one
of
those
go
say:
an
error
happens
like
something
fails.
So
I
failed
a
binder
results,
it
short
circuits
out
and
it
says
all
right.
A
Here's
here's
the
failure,
and
so
you
can
apply
a
particular
type.
We
have
a
thing
called
a
result,
type
where
you
can
say:
okay,
there
was
either
a
success
type
or
a
failure,
type
and
I'm
going
to
associate
that
with
the
asynchronous
call
all
fine
and
dandy.
But
what?
If,
instead
of
short-circuiting
out
on
an
error,
you
wanted
to
collect
all
errors
and
then
have
some
sort
of
aggregate.
A
You
know
some
like
aggregating
function
or
something
that
you
apply
to
all
errors
and
then
give
that
out
if
this
isn't
specific
to
errors,
but
this
is
just
one
way.
You
can't
really
express
that.
Well
today,
an
F
sharp,
like
you
have
to
kind
of
go
around,
but
it's
not.
You
have
to
go
around
the
type
system
so
much
as
the
type
system
has
like.
No
way
to
sort
of
express
that,
so
you
have
to
sort
of
hardwired
a
lot
of
that
stuff,
you're
safe,
whereas
an
applicative
functor
is
sort
of
saying
it.
A
B
B
A
That's
like
well,
that's
effectively
a
monad
or
monadic
operations,
but
the
the
word
doesn't
like
you
can't
hear
that
word
without
without
knowing
what
it
is
and
be
like.
Oh
I
get
it
that
means
contextual
computations,
because,
like
the
problem
is,
it
doesn't
actually
mean
contextual,
computations
monad
is
it's
an
algebraic
thing,
and
so,
like
you,
just
it's
math
how
you
use
that
math
is
kind
of
up
to
you,
typically
in
the
context
of
I
want
to
compute,
but
I
want
certain
guarantees
about
that.
A
So
yeah
long
story,
short
read
up
on
monads
read
one
of
those
monad
tutorials
that
that's
also
the
other
thing.
The
monad
tutorial
thing
is
like
a
joke.
If
this
is
like,
it's
like
a
really
big
meme
at
this
point,
where,
like
everybody's,
like
alright
I,
just
I
learned
what
it
is
so
I'm
gonna
write
a
blog
post
that
explains
it
and
they
always
try
to
explain
it
by
lowering.
You
know
the
abstract
mathematical
concept
into
some
like
real
world
thing,
and
it
makes
sense
for
that
thing,
but
then
every
single
time.
B
B
B
I
think
you
can
I,
don't
even
know
whether
you
can
order
this
one.
However,
there's
a
website
called
Nesta
swag
and
the
github
repo,
where
we
have
a
ton
of
stickers
that
you
can
order
I,
believe
we
be
to
be
used,
so
you
can
just
download
them
and
make
print
them
yourself,
but
I
also
thought
at
some
point.
We
had
a
link
here
to
actually
go
to
yeah
order
stickers
in
our
store,
so
there's
a
store.
B
You
can
actually
order
stuff
from
there's
a
sticker
pack,
you
can
you
can
order
or
you
can
just
do
what
I
do
you
just
find
the
people
that
distribute
the
stickers
on
Twitter
and
you
harass
them
until
you
get
one?
That's
my
strategy
and
what
you
have
to
go
to
conference
to
do
this
effectively,
because
it's
much
more
effective
in
person,
then
is
on
Twitter.
So
else
is
asking:
when
will
be
pricing
Jason
and
Q
sharp?
And
the
answer
is
yes,
I
think
that's
pretty
much
all
we
had
I
think
equation.
B
Don't
know
the
package
so
when
Oh
below
the
Dorian
question
of
you
know
it's
available
as
an
you
get
package
for
don't
and
Senate
tools,
so
everything
that
supports
our
internet
tool
has
access
to
the
library.
There
are
issues
for
us
with
revving
that
API
surface
after
we
should
three
o
due
to
the
rules
of
versioning.
So
the
to
the
Dartmouth
Center
package
is
effectively.
You
can
think
of
it
as
a
bridge
pack
for
the
past,
but
it's
not
going
to
be
this
active,
developed
components.
B
If
you
want
to
get
the
latest
features,
you
have
to
be
on
core
three
or
moving
forward
yeah
posted
into
the
deck
blocks.
I
showed
it
it's.
Basically,
all
net
block
is
just
the
latest
blog
post
I.
You
think
it
can
just
copy
and
paste
a
URL
into
the
chatroom.
It's
actually
not
that
simple
things
through
the
computers
that
we
have
here,
but
yeah.
It
should
be
easy
to
find.
So
in
that
sense,
I
would
say:
let's
sign
off.
No,
we
actually
two
minutes
over,
but
hey
we.
B
That
is
because
somebody
else
was
late
at
a
little
divergence
in
Dimona.
That's
how
we
make
sure
we
go
over
time.
That's
true!
We
need
we
need
a
time-based
monad
to
make
estimates
more
accurate
in
the
dollar
and
no
software
all
right,
then,
in
this
case,
let
me
let
me
find
the
right
button.
Let
me
find
the
right
proteins:
I,
just
press
I'm,
gonna
press
one
for
you,
okay,
wave
wave
goodbye
goodbye.