Download src/snapkitty/lisp/bridge/reader.cljs from Snapkitty/snapkitty-clojure-lisp-bridge: direct link, hf CLI and curl.
- Browser
- Download file 713 Bytes
-
https://huggingface.co/Snapkitty/snapkitty-clojure-lisp-bridge/resolve/main/src/snapkitty/lisp/bridge/reader.cljs
- Command line
-
hf download hf://Snapkitty/snapkitty-clojure-lisp-bridge/src/snapkitty/lisp/bridge/reader.cljs
-
curl -L -o reader.cljs https://huggingface.co/Snapkitty/snapkitty-clojure-lisp-bridge/resolve/main/src/snapkitty/lisp/bridge/reader.cljs
713 Bytes
| (ns snapkitty.lisp.bridge.reader | |
| "Read LISP code and convert to Clojure forms" | |
| (:require [cljs.reader :as reader])) | |
| (defn read-lisp [code] | |
| "Parse LISP code string into Clojure forms" | |
| (try | |
| (reader/read-string (str "(" code ")")) | |
| (catch :default e | |
| (throw (ex-info "LISP parse error" {:code code :error (str e)}))))) | |
| (defn read-lisp-file [path] | |
| "Read LISP file and parse" | |
| (let [fs (js/require "fs")] | |
| (read-lisp (.readFileSync fs path "utf-8")))) | |
| (defn lisp->knowledge [lisp-form] | |
| "Convert LISP form to knowledge graph representation" | |
| {:form lisp-form | |
| :type (if (list? lisp-form) :list :atom) | |
| :value (if (list? lisp-form) (first lisp-form) lisp-form)}) | |