change from xsi to iso in bimetatrans, correct atomic/1 failure (#343)

This commit is contained in:
Mark Thom
2020-04-14 00:40:51 -06:00
parent 15d18484e3
commit 16a572c250
2 changed files with 10 additions and 4 deletions

View File

@@ -790,7 +790,7 @@ constant_chars(symbol, Constant, Chars) :-
/*
* ruleml_data//1 delegates to ruleml_data_contents//2 to determine
* the contents of <Data> nodes, with adjoining xsi:type elements.
* the contents of <Data> nodes, with adjoining iso:type elements.
*
* constant_chars/3 performs type-driven conversion between
* Prolog/'$V' and RuleML/XML in both directions;
@@ -800,13 +800,13 @@ constant_chars(symbol, Constant, Chars) :-
ruleml_data(Name) -->
( { var(Name) } ->
list_ws("<Data xsi:type=\""),
list_ws("<Data iso:type=\""),
prolog_symbol(Type),
list_ws("\">"),
ruleml_data_contents(Type, Cs),
{ constant_chars(Type, Name, Cs) },
list_ws("</Data>")
; "<Data xsi:type=\"",
; "<Data iso:type=\"",
{ constant_chars(Type, Name, Cs) },
prolog_symbol(Type),
"\">",

View File

@@ -2400,7 +2400,13 @@ impl MachineState {
let d = self.store(self.deref(self[r1]));
match d {
Addr::Con(_) => self.p += 1,
Addr::Char(_) |
Addr::CharCode(_) |
Addr::Con(_) |
Addr::EmptyList |
Addr::Fixnum(_) |
Addr::Float(_) |
Addr::Usize(_) => self.p += 1,
_ => self.fail = true,
};
}