Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Invalid token: byte/1 while trying to install clojure+.print #14

@laconiccrafts

Description

@laconiccrafts

First time trying this library. Not sure if it's something wrong with my setup.

Useful info:

stacktraces:

⚡️ Starting the REPL ⚡️ using the below command line:
(cd /Users/efraimmgon/repos/projects/pomodoroclj; clojure -Sdeps '{:deps {nrepl/nrepl {:mvn/version,"1.3.1"},cider/cider-nrepl {:mvn/version,"0.55.4"}}}' -A:dev -m nrepl.cmdline --middleware "[cider.nrepl/cider-middleware]")
WARNING: Implicit use of clojure.main with options is deprecated, use -M
Exception in thread "main" 
Syntax error reading source at (clojure+/print.clj:112:38).
        at clojure.lang.Compiler.load(Compiler.java:7660)
        at clojure.lang.RT.loadResourceScript(RT.java:381)
        at clojure.lang.RT.loadResourceScript(RT.java:372)
        at clojure.lang.RT.load(RT.java:459)
        at clojure.lang.RT.load(RT.java:424)
        at clojure.core$load$fn__6908.invoke(core.clj:6161)
        at clojure.core$load.invokeStatic(core.clj:6160)
        at clojure.core$load.doInvoke(core.clj:6144)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invokeStatic(core.clj:5933)
        at clojure.core$load_one.invoke(core.clj:5928)
        at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
        at clojure.core$load_lib.invokeStatic(core.clj:5974)
        at clojure.core$load_lib.doInvoke(core.clj:5953)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply.invokeStatic(core.clj:669)
        at clojure.core$load_libs.invokeStatic(core.clj:6016)
        at clojure.core$load_libs.doInvoke(core.clj:6000)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invokeStatic(core.clj:669)
        at clojure.core$require.invokeStatic(core.clj:6038)
        at clojure.core$require.doInvoke(core.clj:6038)
        at clojure.lang.RestFn.invoke(RestFn.java:457)
        at user$eval138$loading__6789__auto____139.invoke(user.clj:1)
        at user$eval138.invokeStatic(user.clj:1)
        at user$eval138.invoke(user.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:7194)
        at clojure.lang.Compiler.eval(Compiler.java:7183)
        at clojure.lang.Compiler.load(Compiler.java:7653)
        at clojure.lang.RT.loadResourceScript(RT.java:381)
        at clojure.lang.RT.loadResourceScript(RT.java:368)
        at clojure.lang.RT.maybeLoadResourceScript(RT.java:364)
        at clojure.lang.RT.doInit(RT.java:486)
        at clojure.lang.RT.init(RT.java:467)
        at clojure.main.main(main.java:38)
Caused by: java.lang.RuntimeException: Invalid token: byte/1
        at clojure.lang.Util.runtimeException(Util.java:221)
        at clojure.lang.LispReader.interpretToken(LispReader.java:412)
        at clojure.lang.LispReader.read(LispReader.java:305)
        at clojure.lang.LispReader.readDelimitedList(LispReader.java:1398)
        at clojure.lang.LispReader$MapReader.invoke(LispReader.java:1355)
        at clojure.lang.LispReader.read(LispReader.java:285)
        at clojure.lang.LispReader.readDelimitedList(LispReader.java:1398)
        at clojure.lang.LispReader$ListReader.invoke(LispReader.java:1243)
        at clojure.lang.LispReader.read(LispReader.java:285)
        at clojure.lang.LispReader.read(LispReader.java:216)
        at clojure.lang.Compiler.load(Compiler.java:7648)
        ... 34 more
Jack-in process exited. Exit code: 1

user ns:

(ns user
  (:require
   clojure+.hashp
   clojure+.error
   clojure+.print))

(clojure+.hashp/install!)
(clojure+.error/install! {:reverse? true})
(clojure+.print/install!)

deps.edn:

{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.11.1"}
        io.github.tonsky/clojure-plus {:mvn/version "1.4.0"}}
 :aliases {:dev {:extra-paths ["dev"]
                 :extra-deps {org.clojure/tools.namespace {:mvn/version "1.3.0"}}}}}

If I don't require clojure+.print the error goes away.

Following the stacktraces it leads to this line:

(swap! *catalogue conj {:class byte/1  :print #'print-bytes :tag 'bytes :read #'read-bytes})

Don't know if byte/1 is intentional or a mistype.

Update:

Updated to clojure 1.12.0 and it works now.

Tried to search when this change on clojure changelogs, but didn't find it so far.

Maybe just add a note to the readme to use clojure 1.12.0 or higher.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions