Logtalk 2.30.1 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1903 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
@@ -15,14 +15,12 @@ version 2.1 (http://opensource.org/licenses/osl-2.1.php).
|
||||
|
||||
:- category(assignvars).
|
||||
|
||||
|
||||
:- info([
|
||||
version is 1.0,
|
||||
author is 'Nobukuni Kino and Paulo Moura',
|
||||
date is 2005/1/7,
|
||||
comment is 'Assignable variables (supporting logical, backtracable assignement of non-variable terms).']).
|
||||
|
||||
|
||||
:- public(assignable/1).
|
||||
:- mode(assignable(-assignvar), one).
|
||||
:- info(assignable/1, [
|
||||
@@ -56,35 +54,28 @@ version 2.1 (http://opensource.org/licenses/osl-2.1.php).
|
||||
exceptions is [
|
||||
'Variable is not instantiated' - instantiation_error]]).
|
||||
|
||||
|
||||
:-op(100, xfx, <=).
|
||||
:-op(100, xfx, =>).
|
||||
|
||||
|
||||
assignable(Assig) :-
|
||||
nonvar(Assig),
|
||||
self(Self),
|
||||
sender(Sender),
|
||||
throw(error(type_error(variable, Assig), Self::assignable(Assig), Sender)).
|
||||
|
||||
assignable([_| _]).
|
||||
|
||||
|
||||
assignable(Assig, Init) :-
|
||||
nonvar(Assig),
|
||||
self(Self),
|
||||
sender(Sender),
|
||||
throw(error(type_error(variable, Assig), Self::assignable(Assig, Init), Sender)).
|
||||
|
||||
assignable(Assig, Init) :-
|
||||
var(Init),
|
||||
self(Self),
|
||||
sender(Sender),
|
||||
throw(error(instantiation_error, Self::assignable(Assig, Init), Sender)).
|
||||
|
||||
assignable([_, Init| _], Init).
|
||||
|
||||
|
||||
Assig <= Value :-
|
||||
var(Value),
|
||||
self(Self),
|
||||
@@ -97,7 +88,6 @@ version 2.1 (http://opensource.org/licenses/osl-2.1.php).
|
||||
;
|
||||
Tail = [Value| _].
|
||||
|
||||
|
||||
Assig => Value :-
|
||||
var(Assig),
|
||||
self(Self),
|
||||
@@ -110,5 +100,4 @@ version 2.1 (http://opensource.org/licenses/osl-2.1.php).
|
||||
;
|
||||
Current = Value.
|
||||
|
||||
|
||||
:- end_category.
|
||||
|
Reference in New Issue
Block a user