GithubHelp home page GithubHelp logo

Comments (3)

moea avatar moea commented on June 1, 2024

You get this error in your code, or this error is thrown inside Eulalie? Do you have a stracktrace handy?

from eulalie.

robinheghan avatar robinheghan commented on June 1, 2024

It is a compile error.

#error {
:cause Can only recur from tail position
:via
[{:type clojure.lang.Compiler$CompilerException
:message java.lang.UnsupportedOperationException: Can only recur from tail position, compiling:(eulalie/core.cljc:107:24)
:at [clojure.lang.Compiler analyzeSeq Compiler.java 6730]}
{:type java.lang.UnsupportedOperationException
:message Can only recur from tail position
:at [clojure.lang.Compiler$RecurExpr$Parser parse Compiler.java 6402]}]
:trace
[[clojure.lang.Compiler$RecurExpr$Parser parse Compiler.java 6402]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6129]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$CaseExpr$Parser parse Compiler.java 8579]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6179]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6129]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6179]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$TryExpr$Parser parse Compiler.java 2261]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$FnMethod parse Compiler.java 5296]
[clojure.lang.Compiler$FnExpr parse Compiler.java 3925]
[clojure.lang.Compiler analyzeSeq Compiler.java 6721]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$InvokeExpr parse Compiler.java 3737]
[clojure.lang.Compiler analyzeSeq Compiler.java 6725]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$TryExpr$Parser parse Compiler.java 2232]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6129]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$FnMethod parse Compiler.java 5296]
[clojure.lang.Compiler$FnExpr parse Compiler.java 3925]
[clojure.lang.Compiler analyzeSeq Compiler.java 6721]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6129]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$FnMethod parse Compiler.java 5296]
[clojure.lang.Compiler$FnExpr parse Compiler.java 3925]
[clojure.lang.Compiler analyzeSeq Compiler.java 6721]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$InvokeExpr parse Compiler.java 3791]
[clojure.lang.Compiler analyzeSeq Compiler.java 6725]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6179]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6129]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6179]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
[clojure.lang.Compiler$FnMethod parse Compiler.java 5296]
[clojure.lang.Compiler$FnExpr parse Compiler.java 3925]
[clojure.lang.Compiler analyzeSeq Compiler.java 6721]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyzeSeq Compiler.java 6711]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler access$300 Compiler.java 38]
[clojure.lang.Compiler$DefExpr$Parser parse Compiler.java 577]
[clojure.lang.Compiler analyzeSeq Compiler.java 6723]
[clojure.lang.Compiler analyze Compiler.java 6524]
[clojure.lang.Compiler analyze Compiler.java 6485]
[clojure.lang.Compiler eval Compiler.java 6786]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 930]
[eulalie.sns$eval3321$loading__5340__auto____3322 invoke sns.cljc 1]
[eulalie.sns$eval3321 invoke sns.cljc 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 482]
[fink_nottle.internal.sns$eval3315$loading__5340__auto____3316 invoke sns.cljc 1]
[fink_nottle.internal.sns$eval3315 invoke sns.cljc 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 436]
[fink_nottle.sns$eval3309$loading__5340__auto____3310 invoke sns.cljc 1]
[fink_nottle.sns$eval3309 invoke sns.cljc 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 805]
[episode_next.tasks$eval3303$loading__5340__auto____3304 invoke tasks.clj 1]
[episode_next.tasks$eval3303 invoke tasks.clj 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 805]
[episode_next.db$eval978$loading__5340__auto____979 invoke db.clj 1]
[episode_next.db$eval978 invoke db.clj 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 457]
[repl$eval14$loading__5340__auto____15 invoke repl.clj 1]
[repl$eval14 invoke repl.clj 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.RT loadResourceScript RT.java 371]
[clojure.lang.RT loadResourceScript RT.java 362]
[clojure.lang.RT load RT.java 446]
[clojure.lang.RT load RT.java 412]
[clojure.core$load$fn__5448 invoke core.clj 5866]
[clojure.core$load doInvoke core.clj 5865]
[clojure.lang.RestFn invoke RestFn.java 408]
[clojure.core$load_one invoke core.clj 5671]
[clojure.core$load_lib$fn__5397 invoke core.clj 5711]
[clojure.core$load_lib doInvoke core.clj 5710]
[clojure.lang.RestFn applyTo RestFn.java 142]
[clojure.core$apply invoke core.clj 632]
[clojure.core$load_libs doInvoke core.clj 5749]
[clojure.lang.RestFn applyTo RestFn.java 137]
[clojure.core$apply invoke core.clj 632]
[clojure.core$require doInvoke core.clj 5832]
[clojure.lang.RestFn invoke RestFn.java 408]
[user$eval5 invoke form-init2936256088395689051.clj 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler eval Compiler.java 6771]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.Compiler loadFile Compiler.java 7165]
[clojure.main$load_script invoke main.clj 275]
[clojure.main$init_opt invoke main.clj 280]
[clojure.main$initialize invoke main.clj 308]
[clojure.main$null_opt invoke main.clj 343]
[clojure.main$main doInvoke main.clj 421]
[clojure.lang.RestFn invoke RestFn.java 421]
[clojure.lang.Var invoke Var.java 383]
[clojure.lang.AFn applyToHelper AFn.java 156]
[clojure.lang.Var applyTo Var.java 700]
[clojure.main main main.java 37]]}

from eulalie.

moea avatar moea commented on June 1, 2024

Thanks! It looks like the case statement there is somehow getting macroexpanded in some regressive & unanticipated way. I have no idea how core.async is playing into this, but I can confirm that just changing the dependency version is enough to trigger the compilation error. It continues to look like a tail call to me, but I guess I'm not a compiler.

In any case, I pushed 0.6.3-SNAPSHOT, which just changes the case to a cond Can you let me know if you get on any better with that? (e.g. by excluding the transitive eulalie dependency via your fink-nottle vector, and directly depending on 0.6.3-SNAPSHOT)? I tried it out a little here - if it works out for you, I'll release and update the dependent projects.

from eulalie.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.