Does SML have a mutex/lock/semaphore/etc library? I couldn't find one anywhere in the docs. I couldn't even find a multithreading library anywhere. Does it exist?
There is nothing in the standard as such. However, if you are using SML/NJ or MLton, then they both provide Concurrent ML, an advanced concurrency library with first-class synchronisation events. Poly/ML also has its own Thread module.