lean4-htt/library/init
Leonardo de Moura 0dcdc2c198 feat(library/init/lean/parser/term): add support for "named" patterns n@(x :: s)
@kha, the implementation is a little bit hackish. It is whitespace
sensitive to avoid `f @g`, an application with argument `@g` to be
parsed as a named pattern.
Here are other approaches I have considered:

1- In the `namedPattern`, we add a guard that ensures the pattern
is *not* an identifier. Thus, `f @g` would not be considered a valid
`namedPattern`. Drawback: we would always try to parse it as a
namedPattern first, fail, and then try as an application.

2- Enforce whitespace before application arguments. Drawback: `f(a+b)`
would not be a valid application anymore.
2019-07-16 10:09:01 -07:00
..
control feat(library/init): use new "empty match" syntax 2019-07-15 16:25:14 -07:00
data feat(library/init/data/option/basic): add HasBeq (Option a) instance 2019-07-16 07:50:10 -07:00
lean feat(library/init/lean/parser/term): add support for "named" patterns n@(x :: s) 2019-07-16 10:09:01 -07:00
coe.lean chore(frontends/lean/parser): simplify binder notation 2019-07-08 08:54:19 -07:00
core.lean chore(library/init/core): missing parentheses 2019-07-15 16:05:12 -07:00
default.lean chore(library/init,runtime,library/compiler): add fix primitive back 2019-03-27 17:13:53 -07:00
fix.lean chore(frontends/lean): fun x, e ==> fun x => e 2019-07-02 13:22:11 -07:00
init.md chore(*.md): fix/remove broken links 2016-02-23 10:11:24 -08:00
io.lean feat(library/compiler/compiler): add option compiler.extract_closed 2019-07-10 11:08:34 -07:00
platform.lean chore(library): capitalize types and namespaces 2019-03-21 15:06:43 -07:00
util.lean feat(library/init/util): add unsafeCast 2019-05-08 14:17:17 -07:00
wf.lean chore(frontends/lean/parser): simplify binder notation 2019-07-08 08:54:19 -07:00