<map(s)> on strings with attachments
Funny behavior of map with strings and attachments…
map(foo;debug-term(|"x"));debug-term(|"y")19:47 | INFO | stderr- x: Occurrence(Namespace("DontCareNs"),"children",TermIndex("eclipse:///debug/debug.ice2",51)): children 19:47 | INFO | stderr- x: "No Occurence": parent 19:47 | INFO | stderr- y: [Occurrence(Namespace("DontCareNs"),"children",TermIndex("eclipse:///debug/debug.ice2",31)),"No Occurence"]: ["children","parent"{"n1"}]Note the
51and31, I expected51twice.and filter instead of map:
filter(foo;debug-term(|"x"));debug-term(|"y")19:51 | INFO | stderr- x: Occurrence(Namespace("DontCareNs"),"children",TermIndex("eclipse:///debug/debug.ice2",51)): children 19:51 | INFO | stderr- x: "No Occurence": parent 19:51 | INFO | stderr- y: [Occurrence(Namespace("DontCareNs"),"children",TermIndex("eclipse:///debug/debug.ice2",51)),"No Occurence"]: ["children","parent"{"n1"}]Note the
51and51, which is the expected behavior.
debug-termreads attachment on strings:Submitted by Daco Harkes on 28 September 2016 at 19:56debug-term(|info) = where(is-list);debug(|$[[info]: [<map(nabl2-mk-occurrence(|"DontCareNs")<+!"No Occurence");write-to-string>]]) debug-term(|info) = debug(|$[[info]: [< (nabl2-mk-occurrence(|"DontCareNs")<+!"No Occurence");write-to-string>]])
Issue Log
No worries, filter can do this as well
memberValueNames := <filter(entityinstancename-get-membervaluename-inv(|eiName);debug-term(|"x"));debug-term(|"y")>relRoleInvNames;20:10 | INFO | stderr - x: Occurrence(Namespace("DontCareNs"),"part",TermIndex("eclipse:///debug/debug.ice2",186)): part 20:10 | INFO | stderr - x: Occurrence(Namespace("DontCareNs"),"project",TermIndex("eclipse:///debug/debug.ice2",192)): project 20:10 | INFO | stderr - x: Occurrence(Namespace("DontCareNs"),"supplier",TermIndex("eclipse:///debug/debug.ice2",180)): supplier 20:10 | INFO | stderr - y: [Occurrence(Namespace("DontCareNs"),"part",TermIndex("eclipse:///debug/debug.ice2",67)),Occurrence(Namespace("DontCareNs"),"project",TermIndex("eclipse:///debug/debug.ice2",72)),Occurrence(Namespace("DontCareNs"),"supplier",TermIndex("eclipse:///debug/debug.ice2",62))]: ["part","project","supplier"]Expected numbers
186,192, and180, but got67,72and62.
Expected behavior: map and filter construct lists of the strings with the attachments.
Actual behavior: map and filter construct lists of equal strings with different attachments. (term-sharing behavior?)
The number in the
TermIndex(_,_)constructor in the above examples is stored in an attachment.
Log in to post comments