Dear Karim,
I gave an example for the process, but not how it would appear in OM or llisp. (The parenthesis are written only for the purpose to emphasise the elements fixed in positions of the end list. They are irrelevant for programming)
step 1 :
(a b c d e f) since there is an empty list inputed to define the end position of an element (there are no elements to be fixed in position), the whole list is rotated:
Step 2: (b c d e f a)
Step 3: the element a is fixed to its final position 3, and the rest of the list (b c d e f) is rotated (c d e f b) hence giving the resulting list is (c d e a f b)
Step 4: again only a stays fixed in position while the rest of the list (c d e f b) is further rotated (d e f b c), hence giving (d e f a b c)
Step 5: beside a on posn 3, there is also element e fixed at the posn 2. The rest of the list (d f b c) is further rotated (f b c d), so resulting with (f b e a c d)
The process continues further until the end constellation (b d e a f c) is reached.
I hope I give more clear explanation of the process I want to program.
The aim of this is to make a process where elements of a list gradually reaches predefined constellation, whereby it may be controlled in its dynamic. (On the non-fixed parts of a list, instead of rotation there could be applied also random permutation, but I used rotation in order to make the process more transparent for understanding.)
I hope I gave a plausible explanation!
Thank you for your time and help!
All the best!
Ališer