Unknown syntax in IBM research paper

Viewed 73

I'm reading a research paper High Performance Dynamic Lock-Free Hash Tables and List-Based Sets (Maged M. Michael) and I don't understand this pseudo-code syntax that's being used for examples.

Specifically these parts:

〈pmark,cur,ptag〉: MarkPtrType;
〈cmark,next,ctag〉: MarkPtrType;
nodeˆ.〈Mark,Next〉←〈0,cur〉;
if CAS(prev,〈0,cur,ptag〉,〈0,node,ptag+1〉)

Eg. (page 5, chapter 3) enter image description here

UPDATE:

1 Answers

The wide angle bracket notation seems to be either an ad-hoc list notation or manipulation of multiple variables on a single line (thanks @graybeard for pointing it out). It might even be some kind of tuple.

This is what 〈pmark,cur,ptag〉: MarkPtrType; would look like in a C like language:

MarkPtrType pmark;
MarkPtrType cur;
MarkPtrType ptag;

// or some list assignment notation
// or a tuple

The ˆ. seems to be a Pascal notation for dereferencing the pointer and accessing the variable in the record (https://stackoverflow.com/a/1814936/8524584).

The ← arrow is an APL assignment notation, also similar to the Haskell's do notation operator for assignment.

Related