To load up Pseudoscheme into LSW: ;; Enter the top-level LSW directory. (load "start") (asdf:operate 'asdf:load-op :pseudoscheme) (ps:scheme) (load "pseudo/load.scm") The URI `!' syntax is almost the same as in CL LSW, except that !foo:bar will yield a URI rather than an expression (MAKE-URI NIL "foo:bar"), because (1) Pseudoscheme wants NIL quoted, but (2) Alan's EVAL-URI-READER-MACRO doesn't handle a quoted NIL gracefully. `pseudo-slime.el' has some amenities for editing Pseudoscheme source files in Emacs. It can be loaded with `M-x load-file RET /path/to/pseudo-slime.el RET'. At present, it just adds a hook after SLIME loads so that any buffer with a `pseudoscheme-package' variable in the `-*-' line will set `slime-buffer-package', so that SLIME will evaluate code in the appropriate package. (Note that this also requires `pseudo-slime.scm', which `pseudo/load.scm' will load, so that the text will also be sent in the correct readtable.) SPARQL can be invoked through the CL-USER::SPARQL symbol; example, after running the instructions printed by the start.lisp script to load up a knowledge base: scheme> (cl:pprint (cl-user::sparql '(:select (?mol) () (?mol !bug:classifiedByKEGG ?kegg) (?kegg !bug:hasID "C00645")) :use-reasoner #t)) ((!) (!)) ; No value Java can be invoked with the (#"..." syntax). The procedure NEW acts just like in CL LSW, to construct a new Java instance.