It occurred to me that we don't have a document detailing the coding conventions we use. So I though we can have a github issue where we discuss them and perhaps develop new ones. Here are some of the ones I think I've picked up:
( something -- ? )
( ... - foo/f )
( blah -- blah' )
There are some here http://docs.factorcode.org/content/article-conventions.html
It's only about factor though, not the vm.
I think there is another place where we that words can have any UTF-8 characters and this allows for great conventions, but I can't remember where.
Ah, I should have known about that documentation page. Oh well, at least it doesn't contain all the conventions I listed.
For blah* I'd like to add two new notes:
Another interesting and potentially useful convention is the -1 suffix in relayout vs. relayout-1, which demarcates recursive vs. non-recursive application of the word. The same notion in other places is expressed with the deep- prefix (deep-map). Maybe that's something to unify (to settle on one variant: deep-relayout) or document (to encourage wider use of both).
I may also propose some conventions for words that do DB queries:
Note that in the last example I'm using singular "booking" instead of plural "bookings". The intention is to have the tuple name of the output verbatim. In all cases the left part is more of a description (not an exact type), and the right part is a type name of the output.
When id->1-employee is called with id = f, it should either return the first matching tuple or throw if none are available.