Blog: 2024-09-16: Difference between revisions

From razwiki
Jump to navigation Jump to search
(Created page with "Trying to install sci https://github.com/babashka/sci?tab=readme-ov-file to use for a clojure-esque based editor ... oh yeah to get https://github.com/babashka/babashka?tab=readme-ov-file Anyways https://clojars.org/org.babashka/sci Gives [org.babashka/sci "0.8.43"] It'd be nice to have a way to "pip install" this kind of dependency. Though I must remember that this is a clojure dependency, not a babashka one etc (so it wouldn't work quite like this in my editor) S...")
 
No edit summary
Line 24: Line 24:
hack $ cd install-babashka/
hack $ cd install-babashka/
</pre>
</pre>

Adding the dep
<pre>
install-babashka $ cat project.clj
(defproject install-babashka "0.1.0-SNAPSHOT"
:description "A Clojure project"
:dependencies [[org.clojure/clojure "1.11.1"]
[org.babashka/sci "0.8.43"]]
:main install-babashka.core)
</pre>

Well I got some weird errors when I tried to <code>lein repl</code>

<pre>
install-babashka $ lein repl
WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-vals
WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-keys
Retrieving org/clojure/clojure/1.11.1/clojure-1.11.1.pom from central
Retrieving org/babashka/sci/0.8.43/sci-0.8.43.pom from clojars
Retrieving org/clojure/clojure/1.9.0/clojure-1.9.0.pom from central
Retrieving org/clojure/spec.alpha/0.1.143/spec.alpha-0.1.143.pom from central
Retrieving org/clojure/core.specs.alpha/0.1.24/core.specs.alpha-0.1.24.pom from central
Retrieving borkdude/sci.impl.reflector/0.0.1/sci.impl.reflector-0.0.1.pom from clojars
Retrieving borkdude/edamame/1.4.24/edamame-1.4.24.pom from clojars
Retrieving org/clojure/tools.reader/1.3.4/tools.reader-1.3.4.pom from central
Retrieving org/clojure/clojure/1.5.1/clojure-1.5.1.pom from central
Retrieving org/sonatype/oss/oss-parent/5/oss-parent-5.pom from central
Retrieving org/babashka/sci.impl.types/0.0.2/sci.impl.types-0.0.2.pom from clojars
Retrieving org/clojure/clojure/1.10.3/clojure-1.10.3.pom from central
Retrieving org/clojure/spec.alpha/0.2.194/spec.alpha-0.2.194.pom from central
Retrieving org/clojure/pom.contrib/0.3.0/pom.contrib-0.3.0.pom from central
Retrieving org/clojure/core.specs.alpha/0.2.56/core.specs.alpha-0.2.56.pom from central
Retrieving nrepl/nrepl/1.0.0/nrepl-1.0.0.pom from clojars
Retrieving org/nrepl/incomplete/0.1.0/incomplete-0.1.0.pom from clojars
Retrieving org/clojure/clojure/1.11.1/clojure-1.11.1.jar from central
Retrieving org/clojure/tools.reader/1.3.4/tools.reader-1.3.4.jar from central
Retrieving borkdude/sci.impl.reflector/0.0.1/sci.impl.reflector-0.0.1.jar from clojars
Retrieving nrepl/nrepl/1.0.0/nrepl-1.0.0.jar from clojars
Retrieving org/babashka/sci/0.8.43/sci-0.8.43.jar from clojars
Retrieving borkdude/edamame/1.4.24/edamame-1.4.24.jar from clojars
Retrieving org/babashka/sci.impl.types/0.0.2/sci.impl.types-0.0.2.jar from clojars
Retrieving org/nrepl/incomplete/0.1.0/incomplete-0.1.0.jar from clojars
WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-vals
WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-keys
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-apropos, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-classpath, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-complete, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-debug, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-enlighten, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-format, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-info, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-inspect, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-macroexpand, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-ns, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-out, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-pprint, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-pprint-fn, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-refresh, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-resource, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-spec, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-stacktrace, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-test, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-trace, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-tracker, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-undef, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-version, see nrepl.middleware/set-descriptor!
nREPL server started on port 49395 on host 127.0.0.1 - nrepl://127.0.0.1:49395
Exception in thread "nREPL-session-445432a3-a0e3-4bb1-894a-35e6d574cf23" java.lang.IllegalArgumentException: No implementation of method: :send of protocol: #'nrepl.transport/Transport found for class: cider.nrepl.middleware.track_state$make_transport$reify__5966
at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:584)
at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:576)
at nrepl.transport$eval658$fn__676$G__649__683.invoke(transport.clj:23)
at nrepl.middleware.print$send_nonstreamed.invokeStatic(print.clj:157)
at nrepl.middleware.print$send_nonstreamed.invoke(print.clj:138)
at nrepl.middleware.print$printing_transport$reify__1190.send(print.clj:174)
at nrepl.middleware.caught$caught_transport$reify__1225.send(caught.clj:58)
at nrepl.middleware.print$replying_PrintWriter$fn__1151.invoke(print.clj:115)
at nrepl.middleware.print.proxy$java.io.Writer$ff19274a.write(Unknown Source)
at java.base/java.io.BufferedWriter.implFlushBuffer(BufferedWriter.java:178)
at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:169)
at java.base/java.io.BufferedWriter.implFlush(BufferedWriter.java:371)
at java.base/java.io.BufferedWriter.flush(BufferedWriter.java:365)
at java.base/java.io.PrintWriter.implFlush(PrintWriter.java:426)
at java.base/java.io.PrintWriter.flush(PrintWriter.java:418)
at nrepl.middleware.interruptible_eval$evaluate.invokeStatic(interruptible_eval.clj:136)
at nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:56)
at nrepl.middleware.interruptible_eval$interruptible_eval$fn__1301$fn__1305.invoke(interruptible_eval.clj:152)
at clojure.lang.AFn.run(AFn.java:22)
at nrepl.middleware.session$session_exec$main_loop__1371$fn__1375.invoke(session.clj:218)
at nrepl.middleware.session$session_exec$main_loop__1371.invoke(session.clj:217)
at clojure.lang.AFn.run(AFn.java:22)
at java.base/java.lang.Thread.run(Thread.java:1583)
^[ERROR:
java.lang.ArithmeticException: long overflow
at java.base/java.lang.Math.multiplyExact(Math.java:1032)
at clojure.lang.Numbers.multiply(Numbers.java:1971)
at nrepl.bencode$read_long.invokeStatic(bencode.clj:128)
at nrepl.bencode$read_long.invokePrim(bencode.clj)
at nrepl.bencode$read_netstring_STAR_.invokeStatic(bencode.clj:155)
at nrepl.bencode$read_netstring_STAR_.invoke(bencode.clj:153)
at nrepl.bencode$read_token.invokeStatic(bencode.clj:246)
at nrepl.bencode$read_token.invoke(bencode.clj:236)
at nrepl.bencode$read_bencode.invokeStatic(bencode.clj:256)
at nrepl.bencode$read_bencode.invoke(bencode.clj:253)
at nrepl.transport$bencode$fn__746$fn__747.invoke(transport.clj:122)
at nrepl.transport$bencode$fn__746.invoke(transport.clj:122)
at nrepl.transport$fn_transport$fn__700.invoke(transport.clj:50)
at clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)
at clojure.lang.AFn.call(AFn.java:18)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)

^C
</pre>

Then I saw https://github.com/technomancy has some contributions to https://github.com/bakpakin/Fennel

And neovim supports lua

So maybe rather than a totally new editor, it's a neovim distribution that is configured only in fennel

Let's do a little fennel research

Revision as of 10:32, 16 September 2024

Trying to install sci https://github.com/babashka/sci?tab=readme-ov-file to use for a clojure-esque based editor ... oh yeah to get https://github.com/babashka/babashka?tab=readme-ov-file

Anyways

https://clojars.org/org.babashka/sci

Gives

[org.babashka/sci "0.8.43"]

It'd be nice to have a way to "pip install" this kind of dependency. Though I must remember that this is a clojure dependency, not a babashka one etc (so it wouldn't work quite like this in my editor)

Still adding some clojure tooling is nice

Ok so here's how I start my clojure project

hack $ lein new empty install-babashka
WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-vals
WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-keys
Retrieving empty/lein-template/1.1.0/lein-template-1.1.0.pom from clojars
Retrieving empty/lein-template/1.1.0/lein-template-1.1.0.jar from clojars
Generating empty project.
hack $ cd install-babashka/

Adding the dep

install-babashka $ cat project.clj 
(defproject install-babashka "0.1.0-SNAPSHOT"
  :description "A Clojure project"
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [org.babashka/sci "0.8.43"]]
  :main install-babashka.core)

Well I got some weird errors when I tried to lein repl

install-babashka $ lein repl
WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-vals
WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-keys
Retrieving org/clojure/clojure/1.11.1/clojure-1.11.1.pom from central
Retrieving org/babashka/sci/0.8.43/sci-0.8.43.pom from clojars
Retrieving org/clojure/clojure/1.9.0/clojure-1.9.0.pom from central
Retrieving org/clojure/spec.alpha/0.1.143/spec.alpha-0.1.143.pom from central
Retrieving org/clojure/core.specs.alpha/0.1.24/core.specs.alpha-0.1.24.pom from central
Retrieving borkdude/sci.impl.reflector/0.0.1/sci.impl.reflector-0.0.1.pom from clojars
Retrieving borkdude/edamame/1.4.24/edamame-1.4.24.pom from clojars
Retrieving org/clojure/tools.reader/1.3.4/tools.reader-1.3.4.pom from central
Retrieving org/clojure/clojure/1.5.1/clojure-1.5.1.pom from central
Retrieving org/sonatype/oss/oss-parent/5/oss-parent-5.pom from central
Retrieving org/babashka/sci.impl.types/0.0.2/sci.impl.types-0.0.2.pom from clojars
Retrieving org/clojure/clojure/1.10.3/clojure-1.10.3.pom from central
Retrieving org/clojure/spec.alpha/0.2.194/spec.alpha-0.2.194.pom from central
Retrieving org/clojure/pom.contrib/0.3.0/pom.contrib-0.3.0.pom from central
Retrieving org/clojure/core.specs.alpha/0.2.56/core.specs.alpha-0.2.56.pom from central
Retrieving nrepl/nrepl/1.0.0/nrepl-1.0.0.pom from clojars
Retrieving org/nrepl/incomplete/0.1.0/incomplete-0.1.0.pom from clojars
Retrieving org/clojure/clojure/1.11.1/clojure-1.11.1.jar from central
Retrieving org/clojure/tools.reader/1.3.4/tools.reader-1.3.4.jar from central
Retrieving borkdude/sci.impl.reflector/0.0.1/sci.impl.reflector-0.0.1.jar from clojars
Retrieving nrepl/nrepl/1.0.0/nrepl-1.0.0.jar from clojars
Retrieving org/babashka/sci/0.8.43/sci-0.8.43.jar from clojars
Retrieving borkdude/edamame/1.4.24/edamame-1.4.24.jar from clojars
Retrieving org/babashka/sci.impl.types/0.0.2/sci.impl.types-0.0.2.jar from clojars
Retrieving org/nrepl/incomplete/0.1.0/incomplete-0.1.0.jar from clojars
WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-vals
WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: cider.nrepl.middleware.util.misc, being replaced by: #'cider.nrepl.middleware.util.misc/update-keys
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-apropos, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-classpath, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-complete, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-debug, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-enlighten, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-format, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-info, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-inspect, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-macroexpand, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-ns, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-out, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-pprint, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-pprint-fn, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-refresh, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-resource, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-spec, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-stacktrace, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-test, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-trace, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-tracker, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-undef, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl/wrap-version, see nrepl.middleware/set-descriptor!
nREPL server started on port 49395 on host 127.0.0.1 - nrepl://127.0.0.1:49395
Exception in thread "nREPL-session-445432a3-a0e3-4bb1-894a-35e6d574cf23" java.lang.IllegalArgumentException: No implementation of method: :send of protocol: #'nrepl.transport/Transport found for class: cider.nrepl.middleware.track_state$make_transport$reify__5966
	at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:584)
	at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:576)
	at nrepl.transport$eval658$fn__676$G__649__683.invoke(transport.clj:23)
	at nrepl.middleware.print$send_nonstreamed.invokeStatic(print.clj:157)
	at nrepl.middleware.print$send_nonstreamed.invoke(print.clj:138)
	at nrepl.middleware.print$printing_transport$reify__1190.send(print.clj:174)
	at nrepl.middleware.caught$caught_transport$reify__1225.send(caught.clj:58)
	at nrepl.middleware.print$replying_PrintWriter$fn__1151.invoke(print.clj:115)
	at nrepl.middleware.print.proxy$java.io.Writer$ff19274a.write(Unknown Source)
	at java.base/java.io.BufferedWriter.implFlushBuffer(BufferedWriter.java:178)
	at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:169)
	at java.base/java.io.BufferedWriter.implFlush(BufferedWriter.java:371)
	at java.base/java.io.BufferedWriter.flush(BufferedWriter.java:365)
	at java.base/java.io.PrintWriter.implFlush(PrintWriter.java:426)
	at java.base/java.io.PrintWriter.flush(PrintWriter.java:418)
	at nrepl.middleware.interruptible_eval$evaluate.invokeStatic(interruptible_eval.clj:136)
	at nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:56)
	at nrepl.middleware.interruptible_eval$interruptible_eval$fn__1301$fn__1305.invoke(interruptible_eval.clj:152)
	at clojure.lang.AFn.run(AFn.java:22)
	at nrepl.middleware.session$session_exec$main_loop__1371$fn__1375.invoke(session.clj:218)
	at nrepl.middleware.session$session_exec$main_loop__1371.invoke(session.clj:217)
	at clojure.lang.AFn.run(AFn.java:22)
	at java.base/java.lang.Thread.run(Thread.java:1583)
^[ERROR:
java.lang.ArithmeticException: long overflow
	at java.base/java.lang.Math.multiplyExact(Math.java:1032)
	at clojure.lang.Numbers.multiply(Numbers.java:1971)
	at nrepl.bencode$read_long.invokeStatic(bencode.clj:128)
	at nrepl.bencode$read_long.invokePrim(bencode.clj)
	at nrepl.bencode$read_netstring_STAR_.invokeStatic(bencode.clj:155)
	at nrepl.bencode$read_netstring_STAR_.invoke(bencode.clj:153)
	at nrepl.bencode$read_token.invokeStatic(bencode.clj:246)
	at nrepl.bencode$read_token.invoke(bencode.clj:236)
	at nrepl.bencode$read_bencode.invokeStatic(bencode.clj:256)
	at nrepl.bencode$read_bencode.invoke(bencode.clj:253)
	at nrepl.transport$bencode$fn__746$fn__747.invoke(transport.clj:122)
	at nrepl.transport$bencode$fn__746.invoke(transport.clj:122)
	at nrepl.transport$fn_transport$fn__700.invoke(transport.clj:50)
	at clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

^C

Then I saw https://github.com/technomancy has some contributions to https://github.com/bakpakin/Fennel

And neovim supports lua

So maybe rather than a totally new editor, it's a neovim distribution that is configured only in fennel

Let's do a little fennel research