This is surprising me:
$ bb '(resolve (quote file-seq))'
#'clojure.core/file-seq
$ ys -pe '(resolve (quote file-seq))'
nil
$ ys -pe 'file-seq'
Error: Could not resolve symbol: file-seq
ys refers all of clojure.core like bb does. Where is file-seq??Yeah I know it's there. Just don't know why:
$ ys -pe 're-find'
#object[clojure.core$re_find 0x57ef75c3 "clojure.core$re_find@57ef75c3"]
$ ys -pe 'clojure::core/re-find'
#object[clojure.core$re_find 0x57ef75c3 "clojure.core$re_find@57ef75c3"]
$ ys -pe 'file-seq'
Error: Could not resolve symbol: file-seq
in file '/home/ingy/NO-NAME' line 1 column 1
$ ys -pe 'clojure::core/file-seq'
Error: Could not resolve symbol: clojure.core/file-seq
in file '/home/ingy/NO-NAME' line 1 column 1
I've never seen anything missing from clojure.core before.Ah. https://github.com/babashka/babashka/blob/master/src/babashka/impl/clojure/core.clj#L147
I have seen this before with spit and slurp. @borkdude said something about them being special because in bb because of clojure releases but I forget the specifics...
Speciall in SCI rather: https://github.com/yaml/yamlscript/blob/main/core/src/yamlscript/runtime.clj#L59
~/src/yamlscript main $ YS -pe 'file-seq: io/file("perl")'
(#object[java.io.File 0x52d0f583 "perl"]
#object[java.io.File 0x353f472a "perl/.gitignore"]
#object[java.io.File 0x4525e9e8 "perl/doc"]
#object[java.io.File 0x443a53df "perl/doc/YAMLScript.md"]
#object[java.io.File 0x6c33da7a "perl/Makefile"]
#object[java.io.File 0x69aabcb0 "perl/lib"]
#object[java.io.File 0x32a72c4 "perl/lib/YAMLScript"]
#object[java.io.File 0x15986dd5 "perl/lib/YAMLScript/Alien.pm"]
#object[java.io.File 0x678a9516 "perl/lib/YAMLScript.pm"]
#object[java.io.File 0x5bf9ea6b "perl/test"]
#object[java.io.File 0xb950f82 "perl/test/load.t"]
#object[java.io.File 0x5d352de0 "perl/Meta"]
#object[java.io.File 0x6e243175 "perl/Changes"])
Yay! Happy!YS is a little shell script I use to test local changes to ys from the command line: https://github.com/yaml/yamlscript/blob/main/.profile#L10-L17
Since ys takes a long time to re-compile (native-image)