문제

나는 생각을 이해(일반적)무엇인 shiftreset 의미합니다.그러나 내가 이해하지 못하는 이유 그의 이름은 그래서?무엇 shiftreset 으로 구분 지속 프리미티브가"shift"및"reset"단어에서 영어를 배울 수 있습니다.

도움이 되었습니까?

해결책

그들은 구현되는 방식 때문에 (일반적으로)이기 때문에 호출됩니다. 시프트 및 재설정의 직접 구현 Mincaml 컴파일러

을 사용하여 프로그램을 해석하여 계속되는 의미, 우리는 간주 할 수 있습니다 프로그램의 상태 계속 스택. 그런 다음 reset가 될 수 있습니다 지속적인 표시로 생각해 스택 및 shift 캡처 계속 스택이 가장 가까운 스택 reset가 생성 한 표시. 여기에 있습니다 구현 개요 :

  • reset를 호출 할 때 재설정 마크 을 스택 로 설정하십시오.
  • shift (fun k -> M), 이동 의 일부를 스택 프레임의 일부를 호출 할 때 가장 가까운 리셋 마크 힙
  • 연속 k를 호출 할 때 재설정 마크 을 스택으로 설정하고 힙에서 해당 프레임 스택 탑.

    k가있는 경우 리셋 마크가 삽입됩니다. 캡처 된 연속이기 때문에 호출되었습니다 빈 연속으로 실행됩니다.

다른 팁

Danvy & Filinski는 그들이 계속되는 지나가는 스타일의 모델을 노출시키는 첫 번째 종이 ( 참조)), 그리고 그것은 스칼라가 구현하는 것입니다.

스칼라의 구현은 이 다른 용지 에서 설명합니다.Danvy & Filinski에 대한 참조가 명확합니다 :

본 논문에서는 통제 운영자 가이 언어 프레임 워크로 재설정하여 정전기 구분 연속을 구현하는이 언어 프레임 워크로 재설정을 연구합니다 (Danvy and Filinski 1990, 1992)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top