I would avoid AOT or avoid the code generating macros and just use the
underlying functional facilities. No plans to fix the underlying issue any
time soon, too busy with more pressing things.

David

On Thu, Nov 5, 2015 at 12:08 AM, Armando Blancas <[email protected]>
wrote:

> I get an IOException: File name too long after reaching a certain number
> of clauses in a conda goal (happens with conde as well).
>
> This code will illustrate the case. The project is setup for AOT
> compilation, Clojure 1.7.0, core.logic 0.8.10, OSX 10.10.3
> The problem does not occur without AOT compilation but I must take that as
> a constraint.
>
> (ns conda
>   (:refer-clojure :exclude [==])
>   (:use [clojure.core.logic]))
>
> (defn g [n]
>   (conda
>    ((== n  1))
>    ((== n  2))
>    ((== n  3))
>    ((== n  4))
>    ((== n  5))
>    ((== n  6))
>    ((== n  7))
>    ((== n  8))
>    ((== n  9))
>    ((== n 10))))
>
> The class files are the following. There's a conda$g$fn_2121... class for
> each clause.
>
> conda $ ls target/classes/
> META-INF
> clojure
> conda$fn__2118.class
>
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125$fn__2126$fn__2127$fn__2128$fn__2129$fn__2130.class
>
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125$fn__2126$fn__2127$fn__2128$fn__2129.class
>
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125$fn__2126$fn__2127$fn__2128.class
>
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125$fn__2126$fn__2127.class
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125$fn__2126.class
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124$fn__2125.class
> conda$g$fn__2121$fn__2122$fn__2123$fn__2124.class
> conda$g$fn__2121$fn__2122$fn__2123.class
> conda$g$fn__2121$fn__2122.class
> conda$g$fn__2121.class
> conda$g.class
> conda$loading__5340__auto____21.class
> conda__init.class
>
> When there are some 26 or so clauses the filename ends up causing the IO
> exception. I wonder what's the best way to handle this situation; at the
> moment I'm considering a recursive procedure that will stop at the first
> successful goal.
>
> --
> You received this message because you are subscribed to the Google Groups
> "minikanren" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/minikanren.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"minikanren" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/minikanren.
For more options, visit https://groups.google.com/d/optout.

Reply via email to