Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
In computer science, a "let" expression associates a function definition with a restricted scope. The "let" expression may also be defined in mathematics, where it associates a Boolean condition with a restricted scope. The "let" expression may be considered as a lambda abstraction applied to a value. Within mathematics, a let expression may also be considered as a conjunction of expressions, within an existential quantifier which restricts the scope of the variable. The let expression is present in many functional languages to allow the local definition of expression, for use in defining another expression. The let-expression is present in some functional languages in two forms; let or "let rec". Let rec is an extension of the simple let expression which uses the fixed-point combinator to implement recursion. Dana Scott's LCF language was a stage in the evolution of lambda calculus into modern functional languages. This language introduced the let expression, which has appeared in most functional languages since that time. The languages Scheme, ML, and more recently Haskell have inherited let expressions from LCF. Stateful imperative languages such as ALGOL and Pascal essentially implement a let expression, to implement restricted scope of functions, in block structures. A closely related "where" clause, together with its recursive variant "where rec", appeared already in Peter Landin's The mechanical evaluation of expressions. A "let" expression defines a function or value for use in another expression. As well as being a construct used in many functional programming languages, it is a natural language construct often used in mathematical texts. It is an alternate syntactical construct for a where clause. In both cases the whole construct is an expression whose value is 5. Like the if-then-else the type returned by the expression is not necessarily Boolean. A let expression comes in 4 main forms, In functional languages the let expression defines functions which may be called in the expression.
Riccardo Rattazzi, Alexander Monin, Gil Badel, Gabriel Francisco Cuomo
Jian Wang, Olivier Schneider, Yiming Li, Yi Zhang, Aurelio Bay, Guido Haefeli, Christoph Frei, Frédéric Blanc, Tatsuya Nakada, Michel De Cian, Luca Pescatore, François Fleuret, Elena Graverini, Chitsanu Khurewathanakul, Renato Quagliani, Maria Vieites Diaz, Federico Betti, Andrea Merli, Aravindhan Venkateswaran, Luis Miguel Garcia Martin, Vitalii Lisovskyi, Mingkui Wang, Zhirui Xu, Lei Zhang, Jessica Prisciandaro, Mark Tobin, Minh Tâm Tran, Niko Neufeld, Matthew Needham, Marc-Olivier Bettler, Greig Alan Cowan, Maurizio Martinelli, Vladislav Balagura, Donal Patrick Hill, Cédric Potterat, Liang Sun, Pietro Marino, Mirco Dorigo, Jean Wicht, Xiaoxue Han, Sebastiana Gianì, Liupan An, Federico Leo Redi, Plamen Hristov Hopchev, Thibaud Humair, Maxime Schubiger, Hang Yin, Guido Andreassi, Violaine Bellée, Olivier Göran Girard, Axel Kuonen, Preema Rennee Pais, Pavol Stefko, Maria Elena Stramaglia, Tommaso Colombo, Vladimir Macko, Guillaume Max Pietrzyk, Lino Ferreira Lopes, Dipanwita Dutta, Yi Wang, Hans Dijkstra, Gerhard Raven, Peter Clarke, Frédéric Teubert, Giovanni Carboni, Victor Coco, Adam Davis, Paolo Durante, Yu Zheng, Anton Petrov, Maxim Borisyak, Feng Jiang, Zhipeng Tang, Luis Alberto Granado Cardoso, Daniel Hugo Cámpora Pérez