PROLOG-REQUEST@SU-SCORE.ARPA (Chuck Restivo, The Moderator) (11/18/86)
PROLOG Digest Wednesday, 19 Nov 1986 Volume 4 : Issue 75
Today's Topics:
Implementation - CProlog 1.5.4 fix to update 1.5.5,
LP Library - Declarative Language Bibliography, Part V
----------------------------------------------------------------------
Date: Sun, 2 Nov 86 23:37:36 PST
From: Mike Newton <newton@vlsi.caltech.edu>
Subject: CProlog 1.5.4 fix to update to 1.5.5
Hello --
All changes were produced with 'diff -c5 NewFile Oldfile' so
that in each pair, the code appearing first is the new
('corrected') code.
Corrected:
[1] Fix a bug I introduced when trying to fix #2 below.
[2] Fix the goal f(X) :- ( true, ! ; writeX), X =< 6.
[3] Conform get to skip over blanks.
*** V1.5.5/main.c Sun Nov 2 18:11:56 1986
--- V1.5.4/main.c Sun Nov 2 17:59:26 1986
***************
*** 1081,1091
}
/* nonempty continuation */
notfoot:
/* Oh boy is this line useful -- MON */
- x1 = X->gsofcf;
if (IsPrim(c)) goto efail;
if (SkelP(c)->Fn != commatag) {
pg = c; c = NULL;
goto icall;
}
--- 1081,1090 -----
}
/* nonempty continuation */
notfoot:
if (IsPrim(c)) goto efail;
if (SkelP(c)->Fn != commatag) {
pg = c; c = NULL;
goto icall;
}
***************
*** 1200,1211
HighTide(v,Vtide);
v = x+szofcf+((X->altofcf)-FlOffset)->ltofcl;
vv = X->lcpofcf;
vv1 = VV->gsofcf;
HighTide(tr,TRtide);
! if (X->trofcf != tr) { /* this fixes f:-
(true,!;g(X)),g. */
! register PTR kept, old, xentry ; PTR globound, locbound;
/* If debugging, trail entries pointing to frames not
being discarded cannot be removed, otherwise the
retry option would not work. The variables globound
and locbound contain the lowest discardable
entries for the global and local stack respectively */
--- 1199,1210 -----
HighTide(v,Vtide);
v = x+szofcf+((X->altofcf)-FlOffset)->ltofcl;
vv = X->lcpofcf;
vv1 = VV->gsofcf;
HighTide(tr,TRtide);
! if (X->trofcf == tr) goto continuation;
! { register PTR kept, old, xentry ; PTR globound,locbound;
/* If debugging, trail entries pointing to frames not being
discarded cannot be removed, otherwise the retry option
would not work. The variables globound and locbound
contain the lowest discardable
entries for the global and local stack respectively */
***************
*** 1305,1315
case _get0: /* get0(n) b20 */
IfInput(modeflag,k = ConsInt(Get()));
goto unifyatom;
case _get: /* get(n) b21 */
IfInput(modeflag,
! do ch = Get(); while (ch <= ' ' || ch >= 127);/* '=' -- MON */
)
k = ConsInt(ch);
goto unifyatom;
case _skip: /* skip(n) b22 */
ch2 = intval(&(ARG1));
--- 1304,1314 -----
case _get0: /* get0(n) b20 */
IfInput(modeflag,k = ConsInt(Get()));
goto unifyatom;
case _get: /* get(n) b21 */
IfInput(modeflag,
! do ch = Get(); while (ch < ' ' || ch >= 127);
)
k = ConsInt(ch);
goto unifyatom;
case _skip: /* skip(n) b22 */
ch2 = intval(&(ARG1));
*** V1.5.5/pl/init Sun Nov 2 18:13:52 1986
--- V1.5.4/pl/init Sun Nov 2 18:01:22 1986
***************
*** 93,104
(A -> B ; C) :- !, $cond(A,B,C).
$cond(A,B,C) :- $user_call(A), !, $user_call(B).
$cond(A,B,C) :- $user_call(C).
! (A;B) :- $call(A).
! (A;B) :- $call(B).
(A -> B) :- $user_call(A), !, $user_call(B).
see(F) :- 10.
seeing(F) :- 11.
seen :- 12.
--- 93,105 -----
(A -> B ; C) :- !, $cond(A,B,C).
$cond(A,B,C) :- $user_call(A), !, $user_call(B).
$cond(A,B,C) :- $user_call(C).
! % Old version crashed w/ DB: f(A) :- (true, ! ; A=0),
A =< 7. -- MON
% This seems to fix an -- MON
! (A;B) :- $hidden_call(A).
% obscure bug -- MON
! (A;B) :- $hidden_call(B).
(A -> B) :- $user_call(A), !, $user_call(B).
see(F) :- 10.
seeing(F) :- 11.
seen :- 12.
------------------------------
Date: Mon 17 Nov 86 11:05:27-PST
From: Chuck Restivo <Restivo@Score.Stanford.EDU>
Subject: Lauren Smith's Bibliography, Part V
VALI85
Valiant L.G.
Deductive Learning
in HOA85a
1985
VANE76a *
Van Emden M.
Verification Conditions As Programs
Proceedings 3rd International Colloquium on Automata
Languages and Programming
pp 99-119
Edinburgh University Press, 1976
VANE76b *
Van Emden M. & Kowalski R.A
The Semantics of Predicate Logic As a Programming Language
Journal of the ACM, Vol 23, No 4, pp 733-742
October 1976
VANE84a *
Van Emden M.H. & Lloyd J.W.
A Logical Reconstruction Of PrologII
Journal of Logic Programming, Vol 1, No 2, pp 143-150
August 1984
VANE86a *
Van Emden M.H. & Yukawa K.
Equational Logic Programming
Technical Report CS-86-05
Department of Computer Science, University of Waterloo
March 1986
VARD86a *
Vardi M.Y.
Automata-Theoretic Techniques for Modal Logics of Programs
Journal of Computer and System Sciences, 32, pp 183-221
1986
VASE?? *
Vasey P.
Qualified Answers And Their Application To Transformation
To Be Presented At Third International Conference On Logic
Programming,
Imperial College, July 14-18, 1986
VASS85a *
Access to Specific Declarative Knowledge by Expert Systems:
The Impact of Logic Programming
Decision Support Systems 1, pp 123-141
April 1985
VEGD84a
Vegdahl S.R.
A Survey of Proposed Architectures for the Execution of
Functional Languages
IEEE TOC C-33 No12, Dec 1984, p1050-1071
VICK86a *
Vickers S.
The Domain of P-Adic Integers
Dept of Computing, Imperial College
Overhead slides for talk presented at BTSCC '86 at Warwick
University
1986
VODA85a *
Voda P.J.
A View of Programming Languages as Symbiosis of Meaning
and Computations
New Generation Computing, 3, pp 71-100
1985
VUIL74a *
Vuillemin J.
Correct and Optimal Implementation of Recursion In A
Simple Programming Language
J. Comp. Sys., 9, no 3, pp 332-354
1974
------------------------------
End of PROLOG Digest
********************