LINUX.ORG.RU

корни sheme, call/cc

 


1

3

считается что scheme был первым языком, который применил данное сомнительное решение. Однако это не совсем так, на самом деле, может кому интересно:

McDermott, and Sussman [1972] developed the Lisp-based language Conniver based on “hairy control structure” that could implement non-chronological backtracking that was more general than the chronological backtracking in Planner. However, Hewitt and others were skeptical of hairy control structure.
Pat Hayes remarked:
Their [Sussman and McDermott] solution, to give the user access to theimplementation primitives of Planner, is however, something of a retrograde step (what are Conniver's semantics?). [Hayes 1974]

http://ai2-s2-pdfs.s3.amazonaws.com/7626/93415b205b075639fad6670b16e9f72d14cb...

Hewitt reported ...

we have found that we can do without the paraphernalia of «hairy control structure» (such as possibility lists, non-local gotos, and assignments of values to the internal variables of other procedures in CONNIVER.)... The conventions of ordinary messagepassing seem to provide a better structured, more intuitive foundation for constructing the communication systems needed for expert problem-solving modules to cooperate effectively.iv (emphasis in original)

https://www.cs.unm.edu/~eschulte/classes/cs550/data/middle-hist-lp.pdf

А J operator, который общеé call/cc, появился ещё раньше.

anonymous ()

Так что тебя можно банить.

anonymous ()
Ответ на: комментарий от anonymous

Да, вот тут об этом чуть подробней:

https://www.cs.unm.edu/~eschulte/classes/cs550/data/middle-hist-lp.pdf

Hairy control structure Peter Landin had introduced an even more powerful control structure using his J (for Jump) operator that could perform a nonlocal goto into the middle of a procedure invocation [Landin 1965]. In fact the J operator enabled a program to jump back into the middle of a procedure invocation even after it had already returned! Drew McDermott and Gerry Sussman called Landin's concept “Hairy Control Structure” and used it in the form of a nonlocal goto for the Conniver programming language [McDermott and Sussman 1972].

linearisation ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.