[developers] More TDL cobwebs

goodman.m.w at gmail.com goodman.m.w at gmail.com
Fri Sep 7 06:54:48 CEST 2018


Sorry, I forgot one more point:

10. Disallow unification of strings or regexes with anything

This follows a conversation on Emily's student list about strings being
primitive types. Currently they are just one term that's possible in a
conjunction, so the syntax allows this:

    a := b & [ ATTR "string" & type & < list, ... > & "another string" ].

This allow applies to ^regex$ patterns. In the other thread we concluded
that strings are of type 'string', where this type may be defined separate
from the grammar, or may exist in a type hierarchy, but all quoted
"strings" in TDL are like instances of that type and don't create new
hierarchy entries (I'm not sure what type the regexes are, though).
Furthermore, these strings should probably never appear in a conjunction
with other types, and not with features. The only other term that makes
sense in a conjunction with a string is a coreference, and indeed we see
this in the ERG's mtr.tdl:

    ... PRED #pred & "~._v_", ...

Anyway, the question is whether we enforce this in the TDL syntax,
somewhere else, or not at all. Similarly, do we enforce in the syntax that
regexes are not valid in type files (which is the case according to a
comment in lkb/src/io-tdl/tdltypeinput.lsp)?

On Thu, Sep 6, 2018 at 4:29 PM goodman.m.w at gmail.com <goodman.m.w at gmail.com>
wrote:

> Hi all,
>
> There are some remaining issues with TDL that I'd like to clean up. First
> I will summarize some decisions made (or at least not rejected) in previous
> email threads:
>
> 1. Supertypes appear before other terms in a conjunction only by
> convention (not enforced in the syntax)
> 2. Docstrings are triple-quoted and may appear before any top-level term
> or before the final . terminator
> 3. Comments may appear in definitions anywhere that spaces can, except
> within strings/regexes/affixing-patterns
>
> The following changes are things I think people agree with, so I'd like to
> consider them as decided:
>
> 4. Removal of the :< operator (if accepted as a variant of :=, throw a
> warning)
> 5. Removal of 'single-quoted-symbols
> 6. Removal of double-quoted "docstrings"
> 7. Removal of non-regex uses of ^ (otherwise any BNF of TDL is necessarily
> incomplete because the "extended-syntax" use of ^ is open-ended)
>
> And there's at least one point I don't think we reached a decision on:
>
> 8. Instances must have exactly 1 "supertype" (which is really just a type
> and not a supertype, i.e., it doesn't change the type hierarchy)
>
> Also:
>
> 9. Does anyone know how wild-cards differ from letter-sets? I see HaG has
> a wild-card and suffix pattern like these:
>
>     %(wild-card (?g ui))
>     ...
>     %suffix (!c!v !c!vn) (!v?g !vn)
> My guess is that wild-cards match but are not used in the replacement,
> which I can imagine is useful if you want the replacement to use the second
> of two matches but not the first. It makes me wonder why we don't just use
> regex substitutions for these things.
>
> If nobody responds about (1)--(7), I'll make sure the syntax description
> on the TdlRfc wiki reflects those decisions.
>
> --
> -Michael Wayne Goodman
>


-- 
-Michael Wayne Goodman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.delph-in.net/archives/developers/attachments/20180906/4fc00eeb/attachment.html>


More information about the developers mailing list