Кажется, компилятор Java поддерживает выражения let
в com .sun.tools.javac.tree. *
(ищите LetExpr
).
Один комментарий в JCTree даже упоминает некоторый синтаксис
(let int x = 3; in x+2)
, который, конечно, не принимается грамматикой языка и отклоняется на более ранней стадии компиляции.
Меня интересует происхождение этой конструкции, которую я никогда раньше не видел.
Используется ли он внутри javac
или синтезируется другими инструментами? Может быть, это просто артефакт с самых первых дней Java из языковой функции, которая так и не увидела свет?
Есть ли что-нибудь полезное, что можно сделать с ее помощью сегодня?
В общем, почему она существует?