나는 다음과 같은 기능을 썼다 : (.>=.) :: Num a => STRef s a -> a -> Bool
r .>=. x = runST $ do
v <- readSTRef r
return $ v >= x
을하지만 컴파일하려고 할 때 나는 다음과 같은 오류 있어요 : Could not deduce (s ~ s1)
from the context
에서 나는 최근에 수은이 코드 예제를 건너 왔어요 : append(X,Y,Z) :-
X == [],
Z := Y.
append(X,Y,Z) :-
X => [H | T],
append(T,Y,NT),
Z <= [H | NT].
는 프롤로그 프로그래머 인, 궁금 : 정상적인 통일 = 과의 차이점은 무엇 := 또
가능한 중복 : Prolog delete: doesn't delete all elements that unify with Element 프롤로그에서 당신이 작성하는 경우 : delete([(1,1),(1,2),(1,1),(3,4)],(1,_),L).
결과가 될 것입니다 : L = [ (1, 2), (3, 4)].
_ 변수가 첫 번째 요소에서 1과 바
이것은 Prolog에서의 통합에 대한 과거의 시험에서 얻은 질문입니다. 우리는 그들이 통일되고 그 다음에 실체화가되는지 말하기로되어있었습니다. f(a,g(b,a)) and f(X,g(Y,X))
이 꽤 =의 X, g (B, A) = g (Y, X)를 통합하고 (아주 정직 f(g(Y),h(c,d)) and f(X,h(W,d))
내가이 일 때문에 g의 통
: mystery(1, 1).
mystery(N, F) :-
N1 is N-1,
mystery(N1,F1),
F is F1*N.
질문 1 : 여기 는 일부 프롤로그 코드 mystery(3, P).
에서 P와 통합되어 어떤 가치 질문 2 : Prolog가 수수께끼를 생성하고 답변 한 후에 세미콜론을 누르면 인터프리터는 결국
에서 통일 알고리즘을 찾고 있습니다. 나는 AST를 변형하고 있으며 단순한 패턴 매칭 이상의 통일 알고리즘이 필요합니다. .NET 프로젝트 용이지만 .NET PROLOG 구현과 상호 운용 할 수 있다는 것을 알고 있지만 통일 알고리즘 만 포함하면됩니다. 그래서 PROLOG는 잔인합니다. F #으로 작성된 "Martelli, Montanari : 효율적인 통
나는 Typed Logical Variables in Haskell이라는 글을 읽었으나 궁극적 인 구현 방법에 대해서는 자세히 이해하지 못했습니다. 내가 무슨 문제가 확실 해요 newtype BackT m a = BT { run :: forall b . (a -> m [b]) -> m [b] }
instance (Monad m) => Monad (Bac
편집 : 해결. 소스 파일에서 언어 확장을 활성화해도 GHCi에서 언어 확장을 사용할 수 없다는 사실을 알지 못했습니다. 해결책은 GHCi에서 :set FlexibleContexts이었습니다. 내가 최근 하스켈 클래스 및 인스턴스의 유형 선언을 발견은 혼 절입니다. 그래서 산술 연산을 프롤로그의 기술, 제 3 장에서 하스켈로 인코딩했습니다. 예 : fac(
C#에서 허용되지 않는 이유는 무엇입니까? alt text http://img706.imageshack.us/img706/7360/restriction.png 사실 나는 통일이 실제로 여기에 요구되는 alias Y<A, B> : X<A, B>, X<B, A>
을 쓸 수 있도록하고 싶습니다; A = B이면 하나의 메소드 만 정의해야합니다. 다음과 같다 마