►
From YouTube: IETF-JSONPATH-20210917-0900
Description
JSONPATH meeting session at IETF
2021/09/17 0900
https://datatracker.ietf.org/meeting//proceedings/
A
So
while
we
are
waiting,
I
was
unable
to
find
notes
from
the
june
meeting.
B
B
Yeah
no,
I
haven't
because
if
you
remember
at
the
start
of
the
meeting
I
said
because
I'm
not
very
good
at
taking
notes
in
line,
I
usually
I
wait
for
the
vod
and
then
I
sit
down
and
do
it
that
way,
and
I
I
said
I'd
do
that
afterwards
and
I
did
it's
sitting
on
my
hard
drive.
A
Because
my
slides
are
recurring
to
the
the
slides
I
used
three
months
ago,
but
I
couldn't
find
what
we
actually
decided
on
that
so,
and
that
was
why
I
why
I
was
a
little
bit
late
and
preparing
for
this
meeting,
where
a
little
bit
is
a
very
nice
way
of
putting
something
ugly.
B
Yeah,
I
promise
I'll
fish
it
out
and
get
it
onto
data
tracker
either
later
today
or
tomorrow.
C
C
H
B
Yeah
sure
so,
let's
just
get
started,
so
this
is
the
september
interim
meeting
for
jsonpath.
Let's
see
if
I
get
the
key
key
combinations
right
here
so
note.
Well,
this
is
an
official
ietf
meeting
that
the
notewell
applies
here,
just
as
it
does
every
other
itf
meeting.
B
If
you've
got
any
questions,
you
can
obviously
speak
to
myself
or
francesca
l,
a
d
should
we
should
go
through
the
administrative,
the
jabber
I'll,
just
monitor
the
jabber.
There's
there's
only
a
few
of
us,
so
it
shouldn't
be
a
concern.
B
Blue
sheets
are
automatic
because
we're
using
meat
echo
this
time
notes.
Shall
we
just
do
what
we've
done
in
the
past
and
I'll
I'll
do
some
tim
and
I
will
do
summary
notes
and
distribute
that
after.
B
Works
for
me
cool.
Do
we
have
any
agenda
bashing,
noting
that
this
is
the
agenda.
D
We
have
slides
from
carsten
on
truthiness
yep.
E
A
A
F
F
Oh
I'm
a
bit
concerned
that
we
don't
seem
to
be
converging
particularly
rapidly
towards
a
consensus
in
several
areas
and
I'm
hoping
the
discussion
of
issues
this
morning
will
prove
me
wrong.
B
Okay,
carson
did
you
want
to
go
first
and
go
through
yours,
or
do
we
want
to
start
in
this
order.
A
I
would
prefer
to
show
my
slides
first
because
I
need
those
questions
answered
before.
So
let
me
just
bring
your
rest,
those
and
there
you
go.
I
think
you
haven't
put
them
in
yet.
Oh.
B
B
Yeah,
I
I
approved
them
before
we
started
it.
Might
a
cron
job
might
not
have
fired
somewhere.
A
Okay,
so
when
I
tried
to
prepare
for
this
meeting,
I
I
was
a
bit
unsure.
Certainly
we
want
to
go
through
all
the
I
don't
know
how
many
they
are
at
the
moment,
a
large
two-digit
number
of
issues
at
some
point,
but
it
seems
we
are
always
stumbling
about
some
some
fundamentals
here
and
I
think
it
would
be
a
good
thing
to
discuss
these
fundamentals
briefly
before
we
go
into
the
issues.
A
So
in
the
interim
we
had
three
months
ago,
we
already
raised
the
question:
what
is
our
stance
on
implicit
conversions
and
at
the
time
I
made
the
slides
my
consensus,
my
sense
of
the
emerging
consensus
was
we
were
not
going
to
want
implicit
conversions,
so
that's,
maybe
a
an
extreme
that
we
are
not
completely
doing,
but,
on
the
other
hand,
embracing
implicit
conversions
as
much
as
php
or
javascript
have
done.
That
may
may
not
be
the
right
thing
to
do
and
then,
of
course,
the
the
question
came
up.
A
A
So
this
is
what
what
we
had
three
months
ago
and
we
have
a
had
a
lot
of
discussion
about
what
the
json
path
query
itself
actually
provides,
and
the
the
abstract
model
I
have
in
mind-
and
that's
also
reflected
in
the
draft-
is
that
a
selector
returns
a
node
list
and
that
node
list
is
then
the
the
input
to
the
next
selector.
A
So
we
we
have
to
come
up
with
a
way
to
handle
note
lists
in
the
expression
language,
and
we
also
have.
A
Yes,
one
second,
we
also
have
the
inverse
problem
that
we
do
not
necessarily
have
to
carry
the
entirety
of
the
json
type
system
into
the
expression
language.
So
what
my
my
presumption
here
is
that
we
will
have
an
expression
language
type
system,
that
is
a
super
subset
of
the
json
type
system.
So
now
please
go
ahead.
F
Yeah,
I
agree
that
the
node
list
is
input
to
the
next
selector,
but
I
was
under
the
impression
that
for
every
selector
the
nodeless
was
then
passed
as
individual
nodes
to
the
selector,
which
would
then
act
on
them
and
then
we'd
com
compose
the
result
of
the
effects
on
each
node
in
the
in
the
node
list
into
the
node
list
for
the
next
selector.
F
So
the
node
list
doesn't
really
get
presented
to
the
selector.
It's
just
individual
nodes,
one
at
a
time.
I
A
F
So
yeah
I
just
disagree.
I
say
that
the
selector
is
passed
past,
a
node
of
the
node
list,
an
individual
node
and
any
expression
within
expression.
Language
within
that
selector
gets
that
node
can't
see
the
other
nodes
of
the
node
list.
A
Well,
it's
yeah!
So
let
me
go
to
my
next
slides
because
I
think
I'm
I'm
clarifying
this
a
little
rich,
but
so
right
now
what
we
are
doing
is
the
the
ad
based
queries
which
actually
operate
on
on
what
what
glenn
has
been
talking
about
are
limited
to
add.fu
and
the
index
expression.
A
So
that's
nice
because
the
result
is,
is
a
node
list
of
zero
or
one
node
and
for
a
node
list
of
one
node.
We
actually
have
an
easy
way
to
convert
this
into
a
json
value,
because
a
node
contains
a
json
value
so
that
that's
the
simple
case,
but
we
also
have
dollar
based
queries
and
these
actually
provide
node
lists
so
either
we
need
to
get
rid
of
the
dollar
based
queries
or
only
allow
database
queries
that
produce
a
single
node
or
yeah.
A
So
we
have
a
pretty
open
design
space
here,
but
I
think
we
need
to
cover
what
people
are
doing
today
with
the
adjacent
path.
Now,
assuming
that
good
yeah.
Thank
you.
I
agree
now
so
that
that
note
list,
whether
it
be
a
single
or
no
note
or
actually
the
whole
concept
of
note
list.
A
A
In
the
current
grammar,
which
is
the
right
hand,
side
of
a
comparison
expression
and
there
we
could
essentially
to
translate
this
to
a
union
type
that
the
type
contains
all
json
values,
because
that's
what
we
will
find
at
that
node,
but
also
something
like
like
undefined
yeah,
and
we
have
to
work
with
the
fact
that
there
may
be
several
nodes
in
there.
So
I
don't
have
a
full
proposal
here.
A
A
Yeah,
so
let
me
just
quickly
go
forward,
so
my
my
conjecture
is
that
we,
if
we
continue
to
disallow
structured
values
in
the
grammar
for
the
expression
language,
then
we
have
a
subset
of
the
json
values
that
we
actually
can
compare
with
that
we
can
notate
as
literals.
Excuse
me
that
only
includes
primitive
values.
A
I
also
note
that
we
have
no
computation
in
the
expression
language
at
this
point
in
time,
so
we
cannot
add
things
or
divide
things
or
compute
modulos,
or
things
like
that,
which
sometimes
can
come
in
handy,
but
but
we
we
have
to
agree
whether
that's
something
we
want
to
have
or
not.
That
will
increase
the
complexity.
A
A
Yeah-
and
we
also
need
to
be
able
to
compare
query
results
because
we
we
have
path
as
as
a
potential
right-hand
side
of
the
comparison,
expression,
okay
and
then,
from
from
this
background,
we
can
start
discussing
the
slides
I
had
three
months
ago
with
respect
to
the
decisions,
the
the
decision
space
we
have
on
this
slide.
Glenn.
F
Yeah,
you
said
com,
we
only
allow
comparison
against
literals,
but
we
would
allow
some
comparison,
for
instance,
at
dot
foo
equals
equals
at
dot
bar.
I
E
E
Two
two
ways
where
we
indeed
need
structured
values
or
complex
values
in
the
expression
language
one
is
the
in
operator.
We
are
starting
to
discuss.
E
E
E
A
My
opinion,
if
you
ask
me,
is
that
we
have
a
result
from
the
comparison
project
which
shows
that
about
a
third
of
the
implementations,
don't
really
implement
anything
that
we
could
use
as
a
basis
for
this
decision
about.
A
third
is
providing
an
actual
existence
test
and
about
the
other.
Third,
not
quite
maybe
another
third
essentially
provides
half
a
dozen
different
ways
of
of
doing
the
truthiness
test.
A
D
I'm
looking
in
the
draft,
you
know
the
the.
What
I
think
is
is
probably
the
the
draft
and
there's
there's
really
very
very
little
in
there.
That
suggests
you
would
do
anything,
but
literal
single
literal
values
is,
is
somebody
put
in
a
proposal
because
I
don't
recall
seeing
it
for
for
changes
to
the
draft
to
talk
about
doing
comparison
against
structured
values.
A
Well,
people
are
carrying
around
examples
that
have
something
like
equals
bracket,
one
comma
two
bracket,
but
the
draft
currently
does
not
provide
that
in
the
syntax,
and
it
also
has
this
comment
in
in
the
notes
to
the
one
big
piece
of
syntax.
Comparisons
are
restricted
to
primitive
values,
such
as
number
string
through
false
null.
A
So
it
then
says:
comparisons
with
complex
values
will
fail,
but
we
can
cannot
even
notate
these
complex
values
at
the
moment.
So
that's
not
a
question
that
needs
to
be
raised
and
answered.
So
as
long
as
the
grammar
doesn't
provide
structured
values,
I
think
yes,
indeed,
the
draft
is
limited
to
simple
values:
primitive
values.
E
E
D
D
A
D
One
comma
two,
but
it
seems
like.
D
It
isn't
that
high
I
mean
I
I
I
you
know
what
you'd
have
to
do
with
spec
is
is
fairly
straightforward,
but
implementation
yeah,
the
implementation,
could
be.
A
A
Now
that's
one
half
and
and
then
my
slide
has
this
next
line.
What
about
equals
8.4?
So
that's
a
comparison
that
doesn't
have
a
simple
value,
but
that
actually
has
a
query
on
the
right-hand
side
and
I
think
we
need
to
understand
what
that
means.
A
Well,
I
would
expect
that
for
for
foo
we
can
simply
extract
the
json
value
if
there
is
a
node,
but
we
have
to
define
all
the
cases
where
there
is
not
a
node
or
there
are
multiple
nodes
to
look
at.
So
this
becomes
more
complicated
if
we
have
a
path
to
path.
Comparison.
E
A
A
F
F
D
F
E
D
If
I
say
dollar
dot
foo
equals
equals
that
can
only
work
if
dollar
dot
foo
happens
to
be
a
scalar
like
three
or
a
string.
F
The
dot
foo
could
be
a
complex
value,
structured
value,
but
it
would
have
to
be
a
single
structure
of
value.
It
couldn't
be
a
node
list,
sure.
F
F
F
Oh
right,
okay,
there's
a
bit
of
a
delay
there,
so
I
put
it
up
twice.
Sorry.
F
At
in
here
glenn,
so
if
you
look
at
the
selector.peg
under
implementation,
that's
the
easiest
way
to
see
the
syntax
of
proposal
a.
F
Well,
I'm
looking
at
really
the
comparisons
which
are
in,
let's
see
line
54,
for
example.
Yes,
okay,.
F
So
that
comes
down
to
allowing
left,
filter
value
on
left
and
right,
filter
value
is
defined
on
line
71
and
72,
and
so
74
is
where
it
really
starts
to
get
interesting,
where
the
document
value
is
the
non-constant
comparison
term
and
that
allows
a
scalar
operator,
not
a
general
selector,
so
scalar
operators
are
defined
in
line,
78
has
been
dot
single
child
name,
or
rather
child
names,
that's
a
singular
thing
or
a
bracket
child
name,
so
it
doesn't
allow
array
slices,
for
example,
or
recursive
descent
or.
F
Yeah
and
once
you're
that
comparison
of
multiple
values,
there
is
some
strange
stuff
in
the
logic
as
well
that
I
pointed
out
before,
which
is
not
consistent
with
the
way
logic
is
normally
done.
I
think
I've
raised
that
in
an
issue
so,
but
you
know
there
are
certainly
downsides
of
allowing
comparisons
of
multiple
values.
D
E
E
E
A
A
H
E
A
A
A
A
Expressions,
I
think
the
grammar
is
broken
in
the
in
you
know,
expression
that
it
doesn't
work
the
way
it's
written
down.
So
I
think
the
the
intention
was
that
this
was
also
going
to
be
a
path.
A
But
I
think
the
the
idea
behind
proposal
a
to
restrict
path
to
what
they
call
document
value
is
a
nice
way
also
to
to
simplify
the
in
up.
E
A
Well,
I'm
takes
me
a
while
to
do
that,
which
issue
was
this.
E
F
D
He's
asking
the
the
content
of
the
array
literal:
can
the
elements
of
it
only
be
primitives
or
could
you
have
a
nested
array
or
something
okay.
F
D
E
E
Exactly
we
need
not
to
exclude
it
explicitly,
because
if
the
left
hand
side
must
be
a
primitive
value,
there
would
will
be
no
match.
E
E
But
it
might
be
a
json
array
of
complex
values,
but
there
would
be
no
match
because
the
left
hand
side
is
a
primitive
value.
So
the
result
is
no
selection
of
cures.
F
Right,
interestingly,
I
disagree
because
just
think
about
the
case
where
the
left-hand
side
yields
a
complex
value,
such
as
an
object
and
the
the
user
has
coded
a
in
a
really
literal
compromising.
F
E
D
So
so
are
we
going
to
agree
that
it's
actually
a
syntax
error
to
have
a
non-simple
value
on
the
right-hand
side.
D
Yeah,
I
don't
care
either
way.
I
think
we
should,
because
I
can
you
know
that
simplifies
code
generation,
if
I'm
generating
one
of
these
things,
I'm
just
going
to
say
you
know
for
anything.
I
want
to
match,
put
it
in
the
array.
If
there's
nothing,
you
get
an
empty
array
and
it
doesn't
match.
I
think
that's
yeah.
D
E
F
D
Well,
maybe
not
no,
I'm
not
sure
I
agree
here
is
that
if
you're,
if
you're
providing
a
literal,
you
can
only
provide
simple
values,
but
you
know
dollar
dot
foo
could
could
be
an
object
and
you
could
you're
not
going
to
rule
that
out.
Syntactically
right
you're
not
going
to
match.
D
F
Okay,
so
if,
if
dot,
if
colors,
if
dollar
dot
colors.
E
With
an
eraser,
I
see
the
different,
the
difference
tim
you
make.
If
we
have
a.
D
D
E
E
A
A
Are
using
the
terminology,
primitive
and
structured.
A
D
D
D
D
E
Okay,
yeah
yeah,
because
you
write
counter
intuitive.
It's
counterintuitive.
E
D
E
We
we
couldn't
argue
to
allow
or
make
a
allow
deep
equals
in
in
within
operator
and
disallow
it
with
comparisons.
F
Yeah,
I
just
think
it'd
be
good
to
document
why
deep
equals
is
a
problem.
A
D
Well,
it's
certainly
an
expansion
of
the
semantics
of
the
current
draft,
because
you
know
the
current
draft
only
shows
numbers
and
strings
and
things
like
that
yeah
you're.
Just
in
all
things
I
tend
to
to
to
the
minimalist
and
in
general,
don't
want
to
make
the
draft
bigger
than
it
is
and
are
we
going
to
be
happy
writing
down?
D
Here's
what
I
think
I
think
we
should
take
this
very
specific
question
back
to
the
working
group
and
say:
are
we
okay
with
with
you
know,
if
allowing
queries
that
would
force
implementation
of
deep
equals
at
runtime.
E
Query
a
path
resulting
in
a
note
list,
and
should
we
allow
the
syntax
I'm
tending
to
disallow
it,
because
we've
also
disallowed
such
queries,
such
selector,
selectors
and
paths
with
comparisons
that
would
be
consistent
with
the
restrictions
with
comparisons.
A
D
A
Yes,
well
to
a
certain
extent,
so
it
depends
a
lot
on
on
the
the
trade-off
here
between
implementation
complexity.
On
one
end,
and
I
think
we
we
have
hit
something
that
that
is
actually
reason
reasonably
easy
to
implement
on
a
constraint
system
now
and
the
the
problem
that
in
json
you
sometimes
have
to
go
to
structured
videos
to
represent
non-trivial
data
and
so
put
putting
in
a
somewhat
artificial
limitation.
A
Here
would
then
lead
people
to
actually
representing
colors,
not
as
an
array
of
three
values,
but
as
a
string
of
three
decimal
integers
with
slashes
between
them
or
something
which
makes
life
very
much
harder
for
for
a
constrained
implementation.
So
I
think
there's
a
trade-off
here
and
I'm
I'm
not
entirely
decided
on
which
end
of
the
trade-off
I'm
I'm
at,
but
forcing
users
to
actually
do
who
do
weird
representation
decisions
just
because
the
tool
they
are
using
is
not
capable
of
of
handling
the
the
obvious
representation.
A
Yeah,
but
I'm
pretty
happy
with
what
what
is
on
on
this
issue
here
and
I
think
we
we
should
spend
a
little
bit
more
time,
thinking
about
122,
but
I
think
that
what
what
we
have
written
down
there
is
actually
a
reasonable
result
as
well,
but
I
I'm
sure
would
like
to
hear
from
the
working
group
what
they
think
about
this.
At
least
what
we
have
now.
E
E
Consider
a
member
of
an
object
named
answer,
given
maybe
in
the
test
or
something
and
the
given,
maybe
have
three
values
or
two
values
answer
given
is
true
answer
given
is
false
or
answer
or
no
answer
has
been
given,
so
the
answer
given
member
simply
does
not
exist.
So
I
think
this
is
an
example
where.
E
All
three
two
faults
and
undefined
have
have
its
value
so.
E
11
of
42
in
implementations
to
properly
can
handle
that
case
properly.
The
rest
does
not
do
it.
So
what
can
we
do?
We
can
follow
the
proposal
from
carson
to
use
a
function
for
that
exist
function,
but
we
didn't
even
discuss
functions
in
the
expression
language,
so
we
need
to
postpone
them.
E
E
A
Well,
I
think
it
should
be
in
there.
We
we
have
it
in
the
exist
expression,
and
we
should
stick
with
exactly
that.
A
A
A
D
E
A
F
Because
that's
right,
I
just
just
think
the
the
special
case
would
you
know,
make
people
recall
in
horror
even
more
than
the
general
case.
E
Javascript
results
in
true
undefined
equals.
Undefined
is
true
in
which
language
javascript
node
nodejs.
I
started
nodejs
and
typed
in
undefined
equals
undefined.
A
A
E
No,
maybe
it
makes
sense
if,
if
we
have
an
object
and
want
to
test
the
case,
if
two
members
are
missing,
then
this
is
what
the
user
wants
and
here's
a
conjunction
of
two
existence
tests.
E
Yes,
I
want
to
test.
E
Then
use
the
the
end
operator
and
the
and
test
not
equals,
but
a
is
missing
and
b
is
missing.
Okay,.
A
D
Right
and
73
now
I
can
see
it
now,
but
users
would
be
wrong
right.
A
So
essentially
you
you
are
saying:
if,
if
anything
in
in
a
comparison
expression
returns
undefined,
then
the
whole
comparison
expression
is
false
and
of
course,
that
immediately
runs
into
the
problem
that
there
is
equals
and
not
equals,
and
then
there
are
even
a
greater
equal
and
things
like
that,
and
there
are
some
fundamental
transformations
you
no
longer
can
do.
A
If
you
make
things
that
way,
so
you
can
no
longer
trans
transfer
less
than
or
equal
into,
not
greater
and
and
all
these
ugly
things
that
happen.
So
I.
D
F
F
I
mean
going
back
to
in
how
about
dollar
dot
foo
in
the
empty
array
where
dollar
dot
food
doesn't
exist.
J
A
So
the
the
you
run
through
the
array
by
by
doing
a
logical
all
of
of
matching
to
each
individual
element
of
the
array
and
that
logical
or
if
it
has
zero
arguments,
actually
actually
yields
false.
C
D
We
have
until
we
have
about
half
an
hour
left:
okay,
40
minutes.
A
Well,
we
have
pretty
much
covered
some
of
the
other
ones,
so
we
haven't
talked
about.
D
A
D
I
I
think
that
we
have
an
open
issue
here
on
on
on
your
line.
73
thing
there
yup,
you
know,
is
absent:
equal
absent.
D
E
Kim
is
right,
not
a
number
is
equal
equals.
Not
a
number
is
false
in
javascript
and
we
could
argue
that
not
exist
or
up
absent
is
more
in
the
direction
of
not
a
number
than.
E
A
D
Okay,
so
have
we
have
we
extracted
all
the
gold
from
this
mine
shaft.
D
Okay,
so
we've
got
a
couple
of
open
issues
on
the
you
know,
comparison
on
the
allowability
of
deep
equals
and
on
the
semantics
of
things
being
absent.
D
In
my
heart
I
would
like
to
just
leave
regular
expressions
out
to
be
honest
because
expecting
consistent
results
from
one
programming
language
to
another
is
probably
going
to
make
people
unhappy.
F
D
I
mean
there
was
some
really
good
discussion
there
about
this
particular
flavor
from
various
xml
things
and
json
schema
and
so
on.
D
H
A
D
So
so
kirsten
in
in
theory,
I
can
see
the
argument,
but
in
terms
of
getting
a
library
and-
and
if
I'm
writing
just
you
know,
implementation
in
ruby
or
go
or
rust
or
whatever
is
there?
Is
there
a
way
in
the
standard,
regular
expression,
library
to
say
you
know,
only
accept
this
flavor
and
I
don't
know
how
to
do
that.
A
Well,
I
just
had
the
same
discussion
about
abnf
with
someone
and
the
the
result
of
that
discussion
was
that
it
actually
was
simpler
to
to
actually
implement
the
thing
than
to
to
continue
discussing
how
to
do
this,
because
abnf
is,
is
actually
surprisingly
easy
to
implement.
If
you
think
about
it.
So
my
approach
to
this
would
actually
be
to
define
a
subclass
of
regular
expressions.
A
That
is
actually
simple
enough
to
implement
that
everybody
can
do
that
and,
of
course,
you
implement
it
by
transforming
the
regular
expression
into
the
regular
expression,
syntax
that
you
already
have
and
yeah.
This
is
not
the
first
idea
you
get
when
thinking
about
this
problem,
but
after
a
lot
of
thinking,
I
I
think
that's
the
the
only
reasonable
way
to
handle
regular
expressions.
A
E
E
So
if
it's
really
easy
to
implement,
why
not
do
it
users
will,
I
think
they
will
like
it
having
regular
expressions.
I
can't
see.
F
I
guess
my
my
concern
about
this
is
that
we've
kind
of
got
one
standard
which
is
spawning
some
another
standards
activity
and
we've
still
got
the
jsonpath
audience
of
the
only
people
that
I'm
aware
of
will
take
an
interest
in
this.
F
But
it's
actually
quite
a
general
regex
standard
that
we're
proposing
here
might
be
simple,
but
it's
general,
it's
not
limited
to
jsonpath,
so
it
seems
a
bit
strange
to
do
it
in
a
corner
of
the
jsonpath
working
group
and
then
expose
it
to
the
world
and
then
lean
upon
it.
D
At
the
irega
graph
there
and
there's
what
I'm
just
counting,
there's
30
or
40
lines
of
abnf
there.
D
Something
like
that.
So
I
think
what
you're
saying
is
the
ideal
behavior
we
would
like
to
see
in
implementers
is
that
if
they
see
a
reg
x
they
they,
then
it
doesn't
match
the
grammar.
They
throw
it
out,
it's
a
syntax
error
and
if
it
does
match
the
grammar,
they
toss
it
to
the
to
the
nearest
nearest
reg,
f
library
and
with
the
expectation
that
they
should
get
interoperable
behavior.
A
Yeah,
that's
not
quite
how
it
works,
because
you
actually
do
have
to
make
some
transformation
because,
for
instance,
the
way
unicode
is
handled
in
different,
regular
explainers
is
different.
A
D
Okay,
so
so
somehow
I
had
missed
your
concrete
proposal
there
kirsten
so
now
that
we
have
that.
D
A
A
third
alternative
would
be
to
to
provide
an
extension
point,
but
that
would
yeah
throw
away
one
significant
advantage
of
of
the
json
path
we
are
arriving
at,
which
is
that
it's
monolithic,
you
don't
choose
options
right.
E
E
A
Everybody
is
yeah,
so
yeah.
The
the
most
important
fight
that
has
happened
is
in
the
yang
community,
so
yang
opted
for
the
xsd.
The
the
xml
regular
expressions
and
about
half
of
the
community
is
using
those
and
the
other
half
of
the
community
is
completely
ignoring
the
fact
that
this
is
based
on
xml,
regular
expressions
I
and
are
instead
writing
some
perl
java,
javascript,
whatever
regular
expression
in
there
and
and
hoping
that
something
useful
will
happen
so
that
that's
definitely
an
unhappy
situation.
D
I'm
looking
at
the
the
the
jason
jason
pass
comparison
document.
Oh,
I
lost
that
browser
tab
hold
on
a
second.
A
So
where
should
I
go
to
yeah?
They
see
bergner
documents
yeah,
that's
where
I
am
all
right.
F
The
link
to
the
document
this
one
yeah.
D
D
D
Are
they
actually
going
to
go
to
the
work
of
rejecting
regular
expressions
that
they
can
handle
just
because
the
the
specs
you
know
it
says
so
and
just
you
know
if
I'm
thinking
of
in
my
previous
life
as
a
software
team
leader,
I
was
my
instinct,
would
be
to
say:
don't
use
them,
because
if
you
do,
you
will
probably
get
you
know
surprises
when
you
try
and
ship
it
from
your
java
microservice
to
your
go
microservice.
F
Yeah
yeah,
because
we
we've
narrowly
focused
on
interoperation
between
jsonpath
implementations,
but
there's
also
a
general
question
that
you
alluded
to
just
then
using
adjacent
regular
expression
in
adjacent
path
and
in
another
context
in
the
same
project,
and
it
might
be
quite
a
complex,
regular
expression,
you're
trying
to
maintain
them
both
so
you've
got
to
then
massage
it
into
the
the
new
standard
version
and
maintain
it.
Alongside
the
well-known
loved
programming
language
version
that
you're
using
separately,
it's
pretty
horrendous.
D
E
A
Yeah,
I
think
the
idea
behind
providing
extension
points
is
to
structure
the
base
specification
in
such
a
way
that
implementers
expect
extensions
in
a
specific
place
and
that
there
is
somewhat
like,
like
a
obvious
way
to
to
integrate
an
extension
into
the
base
specification
and
that
there
is
a
process
that
actually
makes
these
these
extensions
happen.
A
So
when,
when
an
implementation
encounters
one,
it
can
find
out
whether
it
actually
implements
that
extension
and
it's
it's
breaking
implementations
that
are
not
implementing
the
extension
in
a
more
defined
way
than
than
just
randomly
changing
the
syntax.
After
the
fact.
What
do
so?
That
can
really
help
both
implementers
and
users,
because
users
have
a
very
specific
things
they
can
can
ask.
Do
you
support
extension
eggs
and
there
is
a
boolean
answer
to
that,
and
so
so
you
know
whether
a
certain
extension
point
is
included
in
an
implementation
or
not.
F
Yeah,
so
stepping
back
I
mean,
if
I
could
say
something
like
my
implementation
is
jsonpath
over
re2,
and
I
mean
golang
and
I'll
interoperate
with
any
other
json
path
over
ii
implementation.
That
would
be
great.
F
Yeah,
what
I'm
saying
is
slightly
different,
I'm
thinking
from
the
implementer's
point
of
view.
If
there's
a
way
of
declaring
that
you
know
there,
there
isn't
a
an
ietf
standard
for
re2,
but
if
I
want
a
go
implementation
to
implement
to
interoperate
with
another
go
implementation,
then
rb2
is
the
way
to
go.
For
example,
it's
just
just
what's
there
and
go.
H
D
D
D
D
D
So
I
think
we
should
probably
go
go
back
and
get
the
sense
of
okay.
So,
broadly
speaking,
we
have
two
options:
one
is
no
json
path.
A
option
b
is
sorry,
no
regular
expression.
I
feel
like
a
option.
A
is
no
regular
expression.
Option
b
is
okay,
regular
expression,
but
with
the
full
abn
for
the
regular
expression
included.
F
So,
where
do
where
do
extension
points
fall
in
that
categorization.
B
B
Certainly,
it
would
regardless
of
the
option.
So
even
if
we
agree
that
the
we
go
for
the
second
option
that
doesn't
stop
in
one
implementers
wanting
to
have
an
extension,
so
they
can
use
a
different,
regular
expression
engine,
for
example,.
C
A
Okay,
that
you
can
have
a
superset
relationship.
I
don't
think
there
is
a
single
usable
subset
of
all
the
the
viable
regular
expression
flavors
that
are
in
use.
A
A
Yeah
but
it
gets
pretty
useless
pretty
quickly,
so
if
I
can't
use
unicode
characters
in
in
a
regular
expression,
I
I
don't
care
about
the
mechanism,
because
my
world
doesn't
turn
around
ascii
anymore.
That
I
think
I
think
what
you
mean.
D
D
I'm
actually
working
on
a
different
protocol
now
on
another
project,
where
somebody
proposed
using
emoji
as
field
separators
in
assertions-
and
I
thought
the
idea
was
crazy,
but
it
seems
to
just
work.
You
know
all
the
libraries
just
yeah
okay,
you
can
just
put
it
in
right
right
there
and
then
they
join
and
the
split.
And
then
it
just
works.
D
D
D
A
A
D
G
B
One
last
agenda
item
I'd
like
to
discuss
before
we
wrap.
This
up
is
when
what
are
our
plans
for
scheduling
the
next
meeting
and
what
are
our
plans
for
a
meeting
at
ietf
112.
D
112
is
what
time
zone
it'll
be
in
europe
this
time.
So
I
think
we
should
probably
schedule
a
meeting
because
that's
who
I
would
say,
that's
who
we
are,
but
it's
not
me.
So
that's
who
you
are.
Is
you
know
it's
a
very
euro-heavy
group,
so
I
think
we
should
probably
try
scheduling
one.
B
B
B
Okay,
I'll
I'll,
put
in
I'll
request
a
slot
for
112,
then
and
we'll
then
next
meet
on
on
the
week
of
november
12th
of
before
november
12th.
Sorry.