►
From YouTube: NGS weekly meeting #14 - 2022-01-16
Description
Project website - https://ngs-lang.org/
Builds for Red Hat based distros - https://github.com/ngs-lang/ngs/pull/524
Milestone 0.2.15 - UI infrastructure - I/O -- https://github.com/ngs-lang/ngs/milestone/10
IO Design issue - https://github.com/ngs-lang/ngs/issues/526
IO Design wiki page - https://github.com/ngs-lang/ngs/wiki/IO-Design
JSON RPC - https://www.jsonrpc.org/specification
Netty - https://netty.io/
A
Hello,
welcome
to
weekly
ngs
meeting
ngs
stands
for
next
generation.
Shell
weekly
meetings
are
about
recent
progress
and
future
plans.
We
have
ricardo
today
contributor,
I'm
ilya
the
author
of
the
project.
Let's
go
okay,
ricardo.
Do
you
want
to
start
or
you
want
me
to
start.
B
Yeah,
I
can
start
so
not
much
so
there
are
some
pull
requests
going
forward.
Good
thing
is
that
we
manage
also
to
to
do
the
red
hat
builds,
that's
also
another
pull
request,
that
is
there
and
yeah.
We
are
trying
to
move
forward
with
it.
A
Yeah,
nice,
okay
yeah.
So
let
me
then
share
the
screen
and
share
the
milestones
and
all
that
and
we'll
try
to
be
orderly
here.
Okay,
share
screen
milestones
yeah.
Here
we
go
okay.
So
what
do
we
have
so
as
to
0
to
14?
It
was
finished
over
a
week
ago.
We
just
need
to
release
the
version
zero
to
15.
I'm
kind
of
thinking
about
this
so
and
the
first
thing
that
I
think
that
we
need
to
do
is
to
design
the
I
o.
B
A
To
be
able
to
make
a
server
which
will
be
used
by
the
ui,
so
I
I
was
looking
into
several
let's
say:
patterns
or
designs,
and
okay,
it's
all
here.
So
I
was
looking
into
this
guys
so
at
this
point
in
time,
I'm
mostly
impressed
by
neti
channels
as
they
implement
the
intercepting
filter
pattern,
as
we
see
it
in
many
other
places
too.
I
think
that
native
that
did
a
great
job
in
the
implementation.
A
So
I
think
I'll
take
many
ideas
from
there
with
cutting
some
corners.
Let's
say
to
make
it
smaller,
easier
to
implement
and
maybe
simpler,
but
I
think
I'll
be
basing
the
io
after
90
like
in
most
in
most
of
the
things.
A
A
Actually,
it
is
unknown
amount
of
work,
but
it's
pretty
big
that
I
already
know
for
now.
Okay,
so
let's
go
back
to
the
pull
request.
So
first.
B
B
That
will
probably
make
sense,
because
you
know
I
don't
want
to
bring
these
changes
into
the
this
io.
This
io
milestone.
Why.
A
A
Example,
but
you
know
if
something
will
be
completely
ready
from
my
point
of
view,
we
can
there's
no
like
issue
merging
this,
like
releasing
this
with
this
release.
Okay,
so
what
do
we
have
improved
github
actions
that
was
the
reddit
build.
A
Yeah,
it
also
fixes
yeah.
I
still
have
some
doubts
because
you
know
there's
like
still
things
that
you
didn't
answer
here,
for
example
like
here
stuff,
which
is
not
answered.
I
know.
B
A
So
I
looked
at
man
today.
I
had
some
comments.
You
say
you
handled
them.
Yes,
yeah!
It's
fixed,
okay,
try
to
consolidate,
conciliate,
install
and
test
new
change;
okay,
as
well
I'll
need
to
go
over
this.
I
will
not
do
this
online.
Well,
I
assume
it's
sold
website.
B
When
we
merge
that
one,
we
probably
should
merge
with
the
with
the
dislike,
you
know
how
do
they
call
it?
I
know
I
got
a
blank
with
give
me
a
hint.
Let
me
look,
they
have
a
word
for
that.
They
have
a
special
word
for
that
too
much.
B
A
I
never
did
that,
so
I
don't
know
how
to
do
that,
but.
B
A
Okay,
so
and
website
yeah
we
need
to
get
there.
I
don't
actually
remember
where
it
is
stuck.
Is
it
on
my
side
on
your
side
on.
A
Start
closing
them:
okay,
yeah.
I
need
to
look
yeah
requested
your
review.
Yes,
okay,
that's
pretty
clear!
Okay!
So
we
have
this
and.
B
A
B
A
Well,
I
guess
that
would
be
it
right:
yeah,
yeah,
okay,
so
our
biggest
yeah,
okay,
yeah
almost
forgot.
So
I
in
this
io
infrastructure
I
was
thinking.
How
would
something
talk
to
ngs
and
I
was
thinking
something
like
some
simple
protocol
like
json,
based
something
very
simple,
and
I
found
something
actually
which
is
pretty
close
to
what
I
imagined
not
exactly
but
pretty
close,
and
this
is
called
json
rpc
and
it
is
actually
pretty
simple.
A
Okay,
you
have
json
with
request
and
json
with
response
request.
Object
has
json
rpc,
which
has
version,
which
is
must
be
two:
zero
have
methods.
That's
a
function
name,
parameters
to
a
function;
it's
either
array
or
object.
So
it's
like
either
positional
named
and
id
of
the
request.
That's
what
you
have
and
your
response
is
json
rpc,
with
version
result
error.
If
there
was
an
error
and
the
id
of
the
request,
that's
pretty
much
it
so
by
the
way.
I
I
didn't
remember
that
this
exists,
and
I
was
thinking
hold
a
moment.
A
There
is
like
language
server
right
for
the
visual
studio
code
and
stuff,
like
that.
How
does
it
work?
And
I
went
there
and
I
seen
that
they
they're
using
this
json.
I
think
they
are
actually
using
this
over
http,
but
it
doesn't
have
to
be
over
http,
so
it
can
be
just
simple
things.
The
only
downside
that
I
see
here.
A
So
these
are
all
like
lines:
okay,
request
response,
but
if
you
have
a
batch
that
could
be
multi-line
and
well,
then
you
need
to
parse
it.
You
know,
get
the
multiple
lines
and
you
need
to
understand
where
the
json
ends-
and
I
don't
know,
I'm
wondering
whether
it
will
be
like
valid
implementation
without
supporting
batch,
something.
B
B
What
about
the
answer
of
the
first
one,
this
I
don't
know.
A
A
Rp
sequel
is
empty,
it
doesn't
say
so.
Maybe
all
with
the
world
batch
is
not
valid.
In
this
case
I
don't
know
a
rpc
called
batch.
B
A
A
Yes,
invalid
request:
yeah,
when
you
can
parse
your
json,
that's
fine,
but
here
you
couldn't.
You
could.
B
A
Yeah,
okay,
that's
the
whole
protocol.
That's
that's
why
I
like
it
by
the
way
when
I
was
thinking
I
was
thinking
about
something
like
which
has
like
content
playing
encoded
like
in
let's
say
four
bytes
wisconsin
and
then
json
something
it
would
be
like.
I
think
it
would
be
simpler
to
parse
because
you
don't
need
to
find
the
end
of
line,
and
you
know
to
cut
this.
A
A
Yeah,
so
how
how
you
need
to
like
understand
where
your
json
ends
right?
You
need
to
pass
json
and
you
need
in
this
json
to
understand
that
you
passed
an
array
and
I
don't
think
I
have
low
label
json
parsing
methods
exposed
like
that.
My
json
methods
can
get
a
string
and
pass
adjacent.
But
if
you
don't
know
when
the
string
ends
well,
you
can't
parse
it,
but.
B
B
A
Gonna
know,
that's
gonna
be
pretty
bad
because
it
may
be
on
separate
string
or
separate
line
on
not
separate
line
with
one
of
them.
It
can
be
like
finished
here
right
and
then
how
do
I
know
that
the
closing
bracket
is
is
actually
for
this
one?
Maybe
it's
this
one
right
so,
like
you
can't
like
take
it.
A
A
A
B
A
There
was
something
about
transport
transport.
I
think
it's
transport
agnostic.
So
you
don't?
You
don't
know
about
transport,
so
you
can
yeah
over
http
over
sockets,
yeah,
sockets
and
then
socket.
You
don't
know
where.
A
Where
is
the
yeah
the
fragment
yeah?
But
I
hope
by
implementing
this
we
will
be
able
to
find
many
tools
on
the
other
side
which
could
work
with
that
or
maybe
maybe
I
can
find
c
implementation
for
this
thing,
unfortunately,
and
be
done
with
this
also
good
for.
A
But
I
I
would
like
that
c
implementation
to
use
the
same
json
libraries
that
I'm
using
just
not
to
duplicate
json
libraries
right
yeah
anyhow,
if
it,
if
I
don't,
find
anything
appropriate
in
c.
That's
not
it's
not
supposed
to
be
a
big
problem
to
parse
it.
A
Of
course,
I
will
not
do
it
in
c
I'll
expose
lower
level
implementation,
implementations
of
json,
parser
or
parts,
and
then
everything
else
will
be
in
ngs,
of
course,
and
that
could
be
already
be
in
this
io
design
layout,
where
you
have
like
a
channel,
and
you
have
these
filters
in
the
channel.
So
you
have
the
channel.
You
have
filter
which
can
cut
chunks
up
out
of
the
stream,
and
then
you
have
like
next
filter
already
gets
json
and
that's
pretty
much.
It.
B
A
Yeah,
I
guess
that
that
would
be
it
for
now.