756 views
Teaching 2023-2024: Control structures: from "goto" to algebraic effects Course of February 8, 2024: Chase away control...: declarative programming Declarative programming focuses on describing the expected results of the program without explaining the sequence of elementary calculation steps that produce these results, unlike classic imperative programming. Do we still need control structures in declarative programs? The third course attempted to answer this question by taking the example of three declarative programming paradigms: synchronous reactive programming (Lustre), purely functional programming (Haskell, pure Scheme), and logic programming (Prolog). The semantics of programs written in these languages are based on elegant principles but which are not sufficient to guarantee the termination and cost (in time, space) of program executions; hence the importance, even in a declarative language, of giving programmers the means to control how their programs are evaluated. We have mentioned three of these means: adding ad hoc operations such as the break in Prolog, specifying the evaluation strategies used (such as call by value in Scheme and call by necessity in Haskell), or encoding the desired strategy in the program itself (for example by adding suspensions in a Scheme program). Professor: Xavier Leroy Chair of Software Sciences Find the audio and video recordings of the cycle and its presentation text: https://www.college-de-france.fr/fr/a... Find all of Professor Xavier Leroy's teachings: https://www.college-de-france.fr/chai... • Software Sciences - Xavier Leroy The Collège de France is an institution of fundamental research in all fields of knowledge and a place for the dissemination of "knowledge in the making" open to all. Courses, seminars, and conferences are recorded and then made available to the public on the Collège de France website. Discover all the resources of the Collège de France: https://www.college-de-france.fr Follow us on: Facebook: / college.de.france Instagram: / collegedefrance X (ex-Twitter): / cdf1530 LinkedIn: / collègedefrance