shaclex is an implementation of SHACL and ShEx using a purely functional approach based on Monads.
shaclex is implemented in Scala which means that it can be used in any JVM environment.
We are currently working on adapting the implementation to ScalaJS so it could also be run within Javascript environments
shaclex can be used as:
More information is available at shaclex wiki.