Explore chapters and articles related to this topic
Simple type system for call-by-value calculus with first-class continuations and environments
Published in Shin-ya Nishizaki, Masayuki Numao, Jaime Caro, Merlin Teodosia Suarez, Theory and Practice of Computation, 2019
A continuation is an abstract notion of the programming language processor, that represents a rest of computation at some point in time. In the implementation of the programming language processor, a call-stack of a runtime system is considered as a continuation. For example, consider the following program: f(g(h(k(1.14))))
Combining diagnostic testing and student mentorship to increase engagement and progression of first-year computer science students
Published in European Journal of Engineering Education, 2022
G. Knight, N. Powell, G. Woods
A report by Engineering UK (Neave et al. 2018) highlighted that the UK has an annual skills shortfall in the engineering sector of approximately 59,000 engineering graduates and technicians. In response, the engineering sector has accentuated its efforts in widening the recruitment of students from diverse educational backgrounds into Higher Education (HE) (Smith and White 2011; Berge, Silfver, and Danielsson 2019). Although, this has increased STEM HE recruitment, student ‘leakage’ from HE engineering is a sector-wide issue, with STEM disciplines having a higher-than-average percentage of students leaving HE due to academic failure (Neave et al. 2018). Engineering-based degrees have the lowest rates of completion at around 90% with Computer Science (CS) and Mathematics degrees having some of the poorest continuation rates across the whole of the HE sector (Giannakos et al. 2017; HESA 2021), which is a concern when Big Data, 3D printing, and Robotics have been identified as employment growth areas (Woodfield 2014).
Divide-and-conquer checkpointing for arbitrary programs with no user annotation
Published in Optimization Methods and Software, 2018
Jeffrey Mark Siskind, Barak A. Pearlmutter
One way of implementing the general-purpose interruption and resumption interface is to convert the evaluator from direct style to what is known in the programming-language community as continuation-passing style (CPS) [18], where functions (in this case , , , and in the host) take an additional continuation input k and instead of yielding outputs via function-call return, do so by calling the continuation with said output as arguments (Figures 14 and 15). In CPS, functions never return: they just call their continuation. With tail-call merging, this corresponds to a computed go to and does not incur stack growth. This crucially allows an interruption to actually return a capsule containing the saved state of the evaluator, including its continuation, allowing the evaluation to be resumed by calling the evaluator with this saved state. This ‘level shift’ of return to calling a continuation, allowing an actual return to constitute interruption, is analogous to the way backtracking is classically implemented in Prolog, with success implemented as calling a continuation and failure implemented as actual return. In our case, we further instrument the evaluator to thread two values as inputs and outputs: the count n of the number of evaluation steps, which is incremented at each call to , and the limit l of the number of steps, after which an interrupt is triggered.
A Methodology for Modeling and Optimizing Social Systems
Published in Cybernetics and Systems, 2020
Antonio Caselles, David Soler, Maria T. Sanz, Joan C. Micó
A continuation of Forrester’s methodology is proposed by Caselles (1994, 2008), the General Modelling Methodology (GMM), which is used in this work, it can be implemented using intelligent generator of complex systems models SIGEM (Caselles 1992, 1993, 1994, 2008). Caselles et al. (1999) present an application of a complex real case (to control unemployment in a country). But with this same methodology they have already been solved problems such as the environment in Spain (Sanz et al. 2016), to get a demographical stable society in Austria (Sanz et al. 2013) or Spain (Sanz et al. 2014) or to increase the life expectancy at birth in Spain (Caselles et al. 2014).