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