나는 내 책을 다 읽었으며 검색어가 다 떨어질 때까지 봤지만 아직이 문제에 대한 예나 대답을 찾을 수 없습니다. 다음 코드는 컴파일되지 않습니다. Entity가 선언 될 때 Type Effect와 Type Affect가 선언되지 않았기 때문입니다. 그래서 내가 이해할 수없는 것은 이것을 어떻게 해결할 것인가입니다. C++에서이 문제는 h 파일의 프로토 타입
F #에서이 문제를 발견했습니다. 가정, 나는 서로를 참조하는 두 가지 유형을 선언 할 :
type firstType =
| T1 of secondType
//................
type secondType =
| T1 of firstType
//................
어떻게 컴파일러 오류가
상호 의존적 인 변수를 정의해야합니다. 이 말은 하나의 변수가 예를 들어. 다른 var와 vector는 그 반대입니다. 분명히 test=> (first a)
1
test=> (second a)
#<Unbound Unbound: #'test/b>
test=> (first b)
[1 #<Unbound Unbound: #'test/b>]
test=>
OCaml에서 상호 재귀 적 모듈 정의를 사용할 때는 .ml 파일에서도 서명을해야합니다. 이것은 .mli에서 제공된 인터페이스를 공개하려는 성가신 일로, 서명을 두 번 반복합니다. :(! module rec Client : sig
type ('serv,'cli) t
(* functions ... *)
end = struct
t
OCaml에서 함수를 정의하기 전에 함수를 선언 할 방법이 있습니까? OCaml 인터프리터를 사용하고 있습니다. 그것이 만들어되기 전에 myFunctionA이 myFunctionB를 호출 할 수 없기 때문에 let myFunctionA =
(* some stuff here..... *) myFunctionB (*some stuff *)
let myFu
상호 재귀 함수의 튜플을 생성하기위한 고정 소수점 연결자가 있습니까? 나는. 나는 Y-Combinator와 같은 것을 찾고 있지만 여러 "재귀 적"* 함수를 사용하며 함수의 튜플을 반환 할 것입니까? * : 보통의 Y-Combinator 방식으로 논증으로서 자신과 (형제 자매)를 취하도록 작성 되었기 때문에 실제로 재귀 적이 아닙니다.
내 문제는 재귀와 매우 흡사 한 특정 스타일의 코드에서 발생하지만 은 꽤이 아닙니다. 재귀는 Wikipedia을 인용하여 "정의 된 함수가 자체 정의 내에서 적용되는 함수를 정의하는 방법"입니다. 비슷하게 상호 재귀는 직접 또는 간접적으로 우리가 정의하는 함수를 적용하는 다른 함수를 적용합니다. 문제는 내가 생각하고있는 코드가 동일한 기능을 사용하지 않는다