From: Natasha Kerensikova <lithiumcat@gmail.com>
Subject: Re: Parser interface design
Date: Tue, 12 Apr 2011 16:13:30 +0000 (UTC)
Date: 2011-04-12T16:13:30+00:00 [thread overview]
Message-ID: <slrniq8uha.2fnq.lithiumcat@sigil.instinctive.eu> (raw)
In-Reply-To: m2wrj4tsz1.fsf@pushface.org
Hello,
On 2011-04-08, Simon Wright <simon@pushface.org> wrote:
> Natasha Kerensikova <lithiumcat@gmail.com> writes:
>
>>> Don't see what's wrong with providing a No_Op function which returns its
>>> input unchanged? unless you do something specific for a null?
>>
>> Yes, as I said in my reply to Dmitry, I thought of disabling in the
>> parser the feature associated to a callback set to null. In the
>> "foo *bar* baz" example I provided, using a No_Op for Emphasis would
>> result in "<p>foo baz</p>", while disabling the emphasis feature means
>> considering the star as an inactive character, resulting in
>> "<p>foo *bar* baz</p>".
>
> I had in mind more that using my No_Op (I think it was Georg who used
> the better name Identity) would result in "<p>foo bar baz</p>".
Indeed, and this is *not* the result I want: if the star is supposed to
be a character like any other (and not the indicator of emphasis), then
it should be in the result too: "<p>foo *bar* baz</p>".
> In other words, HTML.Emphasize ("bar") would return "<b>bar</b>", but
> No_Op ("bar") would just return "bar".
And that's exactly why disabling emphasis should be done on the parser
level: the callback only has the semantic information ("render bar
emphasized") without any knowledge of how it was obtained (the source
could have been "foo *bar* baz" or "foo _bar_ baz"). Therefore no
callback can reconstruct the intact input.
Natasha
next prev parent reply other threads:[~2011-04-12 16:13 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-06 10:11 Parser interface design Natasha Kerensikova
2011-04-06 12:17 ` Georg Bauhaus
2011-04-07 18:56 ` Natasha Kerensikova
2011-04-08 11:49 ` Stephen Leake
2011-04-06 12:20 ` Dmitry A. Kazakov
2011-04-07 19:14 ` Natasha Kerensikova
2011-04-07 20:31 ` Dmitry A. Kazakov
2011-04-08 13:51 ` Natasha Kerensikova
2011-04-08 14:21 ` Dmitry A. Kazakov
2011-04-12 15:58 ` Natasha Kerensikova
2011-04-12 17:14 ` Dmitry A. Kazakov
2011-04-06 15:51 ` Georg Bauhaus
2011-04-07 19:44 ` Natasha Kerensikova
2011-04-07 20:52 ` Dmitry A. Kazakov
2011-04-07 22:09 ` Simon Wright
2011-04-08 14:03 ` Natasha Kerensikova
2011-04-08 19:06 ` Jeffrey Carter
2011-04-08 19:59 ` Simon Wright
2011-04-12 16:13 ` Natasha Kerensikova [this message]
2011-04-12 17:22 ` Dmitry A. Kazakov
2011-04-12 19:02 ` Simon Wright
2011-04-13 8:20 ` Natasha Kerensikova
2011-04-13 8:37 ` Dmitry A. Kazakov
2011-04-13 11:06 ` Georg Bauhaus
2011-04-13 12:46 ` Dmitry A. Kazakov
2011-04-13 22:33 ` Randy Brukardt
2011-04-14 6:55 ` Natasha Kerensikova
2011-04-15 0:22 ` Randy Brukardt
2011-04-12 21:54 ` Randy Brukardt
2011-04-07 22:13 ` Georg Bauhaus
2011-04-08 15:30 ` Natasha Kerensikova
2011-04-07 0:36 ` Randy Brukardt
2011-04-08 11:16 ` Brian Drummond
2011-04-19 9:08 ` Natasha Kerensikova
2011-04-19 12:35 ` Ludovic Brenta
2011-04-20 10:44 ` Brian Drummond
2011-04-19 17:28 ` Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox