페이지 "고급 계획 : 일부 장난 꾸러기 비트" 상태 :
연속은 거의 모든 다른 제어 흐름 구조 [...]가 도출 될 수 있는 강력한 제어 흐름 구조입니다.
call/cc
Peter Landin의 J 연산자와 관련된 Scheme이 알려진 제어 흐름 구조 를 구현 하는 데 사용될 수 있다고 생각 했습니까?
"제어 흐름 구조" 를 사용하여 예외, 코 루틴, 녹색 스레드 등 Wikipedia의 설명 에 대해 구체적으로 생각 하고 있습니다.
구체적으로 ?를 사용하여 구현할 수없는 제어 흐름 구조의 예가 call/cc
있습니까?
(*) 나는 call/cc
J 연산자만큼 강력한 종이를 파낼 수 없었습니다 . Felleisen의 논문 (이 글을 읽고 완전히 이해하는데 어려움을 겪지 않은 논문 )이 이것을 조사하고, 그것들이 다른 복잡성 클래스에 있지만 공식적으로 동등하다고 결론을 내릴 것 같습니다.
(또한 아래 의견에 따라 질문을 업데이트했습니다.)
최신 정보
아래 @Neel의 탁월한 대답을 바탕으로, 구분 및 무제한 연속에 대해 언급 한 사이트를 살펴 보았지만 실제로 call/cc
는 무제한이지만 충분하지 않은 것으로 보입니다 . 한편, 일류 구분 (같은 연속 요청이 shift/reset
) 수 있는 제어 흐름 구조를 표현하는 보인다 사용될.
call/cc
무제한 연속 은 예외 를 표현할 수 없다는 것이다. (Tileecke가 지적한대로, 예외는 프로그램과 예외 처리기를위한 두 가지 연속체를 전달하여 구현할 수 있지만, 그 이상은 필요 이상 call/cc
입니다.)
amb
연산자 등.