From: John MacFarlane <jgm-TVLZxgkOlNX2fBVCVOL8/A@public.gmane.org>
To: Anton Shepelev
<anton.txt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: Type of the `filter' argument to traversal functions
Date: Tue, 11 Aug 2020 17:24:56 -0700 [thread overview]
Message-ID: <m2o8nghfs7.fsf@johnmacfarlane.net> (raw)
In-Reply-To: <20200812004617.ec382d94b849e234bbaa6762-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Anton Shepelev <anton.txt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
> John MacFarlane to Anton Shepelev:
>
>> > The documentation to walk_block() and walk_fil-
>> > ter() states that the second parameter is "a Lua
>> > filter (table of functions) to be applied within
>> > the block element".
>> > [...]
>> > Is the documentation incorrect or do I misinter-
>> > pret it? For aught I know, {Span = OnSpan} is
>> > not a "table of functions".
>>
>> { } makes a table. OnSpan is a function. So, a
>> table of functions.
>
> Please, bear with me. A table in Lua is the one-to-
> rule-them-all complex type, that can represent many
> sturctures, including array, associative array, or
> structure. On the other hand, the generally used
> meaning of `table' in programming and mathematics is
> a two-dimensional sturcture with columns and any
> number of rows from zero up, which, too, can be rep-
> resented as a table in Lua, although it would be a
> compound one.
I would have thought that in the context of documenting a Lua
function 'table' would be naturally interpreted as 'Lua table'.
> But since the parameter is described as "a Lua fil-
> ter" and "a table of functions", the only way to in-
> terpret it is as describing the structure of the Lua
> filter itself, which is a table of functions in both
> Lua and general terminology:
>
> { { Id1 = Func1 }
> { Id2 = Func2 }
> { Id3 = Func3 } }
According to the docs, "Lua filters are tables with element names
as keys and values consisting of functions acting on those
elements." So yes, the parameter to walk_block is a Lua filter as
defined in the documentation.
If you had
{ { Id1 = Funct1,
Id2 = Funct2 } }
that would be an array of Lua filters. But now, I see where you
may be getting confused. Reading on in the docs: "Pandoc expects
each Lua file to return a list of filters. The filters in that
list are called sequentially, each on the result of the previous
filter." It may be confusing that one often uses the term
"lua filter" for the file itself. But the file can return
a list (technically an array, implemented as a Lua table) of
filters. I suspect you are confusing an array of Lua filters --
which can be defined in a single Lua file -- with a Lua filter.
next prev parent reply other threads:[~2020-08-12 0:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-11 19:09 Anton Shepelev
[not found] ` <20200811220909.e97f97ce8e8dad5d575d90f6-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-08-11 19:21 ` John MacFarlane
2020-08-11 21:46 ` Anton Shepelev
[not found] ` <20200812004617.ec382d94b849e234bbaa6762-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-08-11 22:15 ` EBkysko
2020-08-11 22:47 ` Anton Shepelev
[not found] ` <20200812014715.1c4ddc723344d9fb5f9c92e9-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-08-11 23:02 ` EBkysko
[not found] ` <996602a6-8c95-406c-b569-f381f517af31o-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-08-11 23:36 ` EBkysko
2020-08-12 0:24 ` John MacFarlane [this message]
[not found] ` <m2o8nghfs7.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2020-08-12 8:19 ` BPJ
[not found] ` <CADAJKhCR8ZQwWhEW2x_b9sUAyMikaFEySXnQCFVtFWq6VOdRKQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-08-12 8:22 ` BPJ
2020-08-12 9:32 ` Anton Shepelev
[not found] ` <20200812123257.14be2d659f808e89ecb7e7f9-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-08-12 11:40 ` EBkysko
2020-08-12 9:17 ` Anton Shepelev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2o8nghfs7.fsf@johnmacfarlane.net \
--to=jgm-tvlzxgkolnx2fbvcvol8/a@public.gmane.org \
--cc=anton.txt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).