Re: Redefinition of datatypes

2013-03-25 Thread Ambrose Bonnaire-Sergeant
I think I figured out how to disable compilation. Seems to work. (just
failing unit tests now)

http://build.clojure.org/job/core.typed/17/console

Thanks!
Ambrose

On Mon, Mar 25, 2013 at 9:30 AM, Ambrose Bonnaire-Sergeant <
abonnaireserge...@gmail.com> wrote:

> Hi Stuart,
>
> I think the problem is slightly deeper with core.typed. I use `derive` to
> define a common supertype for several defrecords, which is the source of
> the original (Filter? +) assertion error. Filter? is defined
>
> (def Filter ::filter)
>
> (defn Filter? [a]
>   (isa? (class a) Filter))
>
> This ends up with lots of weirdness with compilation.
>
> How do I disable AOT? I don't know if I even want AOT anyway: I'm moving
> towards lazily loading most of core.typed.
>
> Thanks,
> Ambrose
>
> On Mon, Mar 25, 2013 at 9:08 AM, Stuart Sierra <
> the.stuart.sie...@gmail.com> wrote:
>
>> Ah yes, the joys of AOT-compilation and static initializers. I know them
>> well.
>>
>> Strange things happen with AOT-compilation. Classes get loaded in a
>> different order, or get loaded by different classloaders. Maybe someday we
>> can figure it all out. Try replacing that with `instance?` as you say. (Is
>> the return value of `defrecord` even defined?)
>>
>> If nothing else works, it is possible to disable AOT-compilation
>> altogether. The Contrib super-POM does it only as a sanity check.
>>
>> I tried this and got failures during the test phase:
>>
>> [INFO] --- clojure-maven-plugin:1.3.13:test (clojure-test) @ core.typed
>> ---
>> Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
>> String index out of range: 1,
>> compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)
>> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
>> at clojure.lang.Compiler.analyze(Compiler.java:6361)
>>
>> -S
>>
>>
>>
>> On Friday, March 22, 2013 9:08:00 PM UTC-4, Ambrose Bonnaire-Sergeant
>> wrote:
>>>
>>> On Sat, Mar 23, 2013 at 7:32 AM, Hugo Duncan  wrote:
>>>
>>> Ambrose Bonnaire-Sergeant  writes:

 > Now that ClojureWest has finished, I'll gently bump this thread :)
 >
 > Thanks,
 > Ambrose

 Ambrose,

 I had a quick look at this.  I tried running with zi:test, and it
 complained about a missing dependency on tools.macro.  Adding that as a
 test scoped dependency and running again gives me:

   [ERROR] InvocationTargetException: java.lang.**
 StringIndexOutOfBoundsExceptio**n: String index out of range: 1,
 compiling:(clojure/core/typed/**test/mini_kanren.clj:575:3)

 The original error seems to have something to do with the core.contracts
 expansion.  Defining TopFilter and BotFilter with c.core/defrecord (and
 defining appropriate type predicate functions) seems to get further.
>>>
>>>
>>> Cheers Hugo. You're right, it does get further with some defrecords,
>>> then gets stuck at another defconstrainedrecord predicate.
>>>
>>> This is the macroexpansion for a defconstrainedrecord predicate:
>>>
>>>   (clojure.core/let [t__3815__auto__ (clojure.core/defrecord
>>>TopFilter
>>>[])]
>>> (clojure.core/defn TopFilter? [r__3816__auto__]
>>>   (clojure.core.contracts.**constraints/=
>>> t__3815__auto__
>>> (clojure.core/type r__3816__auto__
>>>
>>> Perhaps we should be doing an (instance? TopFilter r) here instead? The
>>> output of `defrecord` seems to be out of date immediately when compiling.
>>>
>>> Thanks,
>>> Ambrose
>>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/o

Re: Redefinition of datatypes

2013-03-24 Thread Ambrose Bonnaire-Sergeant
Hi Stuart,

I think the problem is slightly deeper with core.typed. I use `derive` to
define a common supertype for several defrecords, which is the source of
the original (Filter? +) assertion error. Filter? is defined

(def Filter ::filter)

(defn Filter? [a]
  (isa? (class a) Filter))

This ends up with lots of weirdness with compilation.

How do I disable AOT? I don't know if I even want AOT anyway: I'm moving
towards lazily loading most of core.typed.

Thanks,
Ambrose

On Mon, Mar 25, 2013 at 9:08 AM, Stuart Sierra
wrote:

> Ah yes, the joys of AOT-compilation and static initializers. I know them
> well.
>
> Strange things happen with AOT-compilation. Classes get loaded in a
> different order, or get loaded by different classloaders. Maybe someday we
> can figure it all out. Try replacing that with `instance?` as you say. (Is
> the return value of `defrecord` even defined?)
>
> If nothing else works, it is possible to disable AOT-compilation
> altogether. The Contrib super-POM does it only as a sanity check.
>
> I tried this and got failures during the test phase:
>
> [INFO] --- clojure-maven-plugin:1.3.13:test (clojure-test) @ core.typed ---
> Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
> String index out of range: 1,
> compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
> at clojure.lang.Compiler.analyze(Compiler.java:6361)
>
> -S
>
>
>
> On Friday, March 22, 2013 9:08:00 PM UTC-4, Ambrose Bonnaire-Sergeant
> wrote:
>>
>> On Sat, Mar 23, 2013 at 7:32 AM, Hugo Duncan  wrote:
>>
>> Ambrose Bonnaire-Sergeant  writes:
>>>
>>> > Now that ClojureWest has finished, I'll gently bump this thread :)
>>> >
>>> > Thanks,
>>> > Ambrose
>>>
>>> Ambrose,
>>>
>>> I had a quick look at this.  I tried running with zi:test, and it
>>> complained about a missing dependency on tools.macro.  Adding that as a
>>> test scoped dependency and running again gives me:
>>>
>>>   [ERROR] InvocationTargetException: java.lang.**
>>> StringIndexOutOfBoundsExceptio**n: String index out of range: 1,
>>> compiling:(clojure/core/typed/**test/mini_kanren.clj:575:3)
>>>
>>> The original error seems to have something to do with the core.contracts
>>> expansion.  Defining TopFilter and BotFilter with c.core/defrecord (and
>>> defining appropriate type predicate functions) seems to get further.
>>
>>
>> Cheers Hugo. You're right, it does get further with some defrecords, then
>> gets stuck at another defconstrainedrecord predicate.
>>
>> This is the macroexpansion for a defconstrainedrecord predicate:
>>
>>   (clojure.core/let [t__3815__auto__ (clojure.core/defrecord
>>TopFilter
>>[])]
>> (clojure.core/defn TopFilter? [r__3816__auto__]
>>   (clojure.core.contracts.**constraints/=
>> t__3815__auto__
>> (clojure.core/type r__3816__auto__
>>
>> Perhaps we should be doing an (instance? TopFilter r) here instead? The
>> output of `defrecord` seems to be out of date immediately when compiling.
>>
>> Thanks,
>> Ambrose
>>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-03-24 Thread Stuart Sierra
Ah yes, the joys of AOT-compilation and static initializers. I know them 
well.

Strange things happen with AOT-compilation. Classes get loaded in a 
different order, or get loaded by different classloaders. Maybe someday we 
can figure it all out. Try replacing that with `instance?` as you say. (Is 
the return value of `defrecord` even defined?)

If nothing else works, it is possible to disable AOT-compilation 
altogether. The Contrib super-POM does it only as a sanity check.

I tried this and got failures during the test phase:

[INFO] --- clojure-maven-plugin:1.3.13:test (clojure-test) @ core.typed ---
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: 
String index out of range: 1, 
compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6567)
at clojure.lang.Compiler.analyze(Compiler.java:6361)

-S



On Friday, March 22, 2013 9:08:00 PM UTC-4, Ambrose Bonnaire-Sergeant wrote:
>
> On Sat, Mar 23, 2013 at 7:32 AM, Hugo Duncan 
> > wrote:
>
>> Ambrose Bonnaire-Sergeant > writes:
>>
>> > Now that ClojureWest has finished, I'll gently bump this thread :)
>> >
>> > Thanks,
>> > Ambrose
>>
>> Ambrose,
>>
>> I had a quick look at this.  I tried running with zi:test, and it
>> complained about a missing dependency on tools.macro.  Adding that as a
>> test scoped dependency and running again gives me:
>>
>>   [ERROR] InvocationTargetException: 
>> java.lang.StringIndexOutOfBoundsException: String index out of range: 1, 
>> compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)
>>
>> The original error seems to have something to do with the core.contracts
>> expansion.  Defining TopFilter and BotFilter with c.core/defrecord (and
>> defining appropriate type predicate functions) seems to get further.
>
>
> Cheers Hugo. You're right, it does get further with some defrecords, then 
> gets stuck at another defconstrainedrecord predicate.
>
> This is the macroexpansion for a defconstrainedrecord predicate:
>
>   (clojure.core/let [t__3815__auto__ (clojure.core/defrecord
>TopFilter
>[])]
> (clojure.core/defn TopFilter? [r__3816__auto__]
>   (clojure.core.contracts.constraints/=
> t__3815__auto__
> (clojure.core/type r__3816__auto__
>
> Perhaps we should be doing an (instance? TopFilter r) here instead? The 
> output of `defrecord` seems to be out of date immediately when compiling.
>
> Thanks,
> Ambrose
>  

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-03-22 Thread Ambrose Bonnaire-Sergeant
On Sat, Mar 23, 2013 at 7:32 AM, Hugo Duncan  wrote:

> Ambrose Bonnaire-Sergeant  writes:
>
> > Now that ClojureWest has finished, I'll gently bump this thread :)
> >
> > Thanks,
> > Ambrose
>
> Ambrose,
>
> I had a quick look at this.  I tried running with zi:test, and it
> complained about a missing dependency on tools.macro.  Adding that as a
> test scoped dependency and running again gives me:
>
>   [ERROR] InvocationTargetException:
> java.lang.StringIndexOutOfBoundsException: String index out of range: 1,
> compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)
>
> The original error seems to have something to do with the core.contracts
> expansion.  Defining TopFilter and BotFilter with c.core/defrecord (and
> defining appropriate type predicate functions) seems to get further.


Cheers Hugo. You're right, it does get further with some defrecords, then
gets stuck at another defconstrainedrecord predicate.

This is the macroexpansion for a defconstrainedrecord predicate:

  (clojure.core/let [t__3815__auto__ (clojure.core/defrecord
   TopFilter
   [])]
(clojure.core/defn TopFilter? [r__3816__auto__]
  (clojure.core.contracts.constraints/=
t__3815__auto__
(clojure.core/type r__3816__auto__

Perhaps we should be doing an (instance? TopFilter r) here instead? The
output of `defrecord` seems to be out of date immediately when compiling.

Thanks,
Ambrose

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-03-22 Thread Hugo Duncan
Ambrose Bonnaire-Sergeant  writes:

> Now that ClojureWest has finished, I'll gently bump this thread :)
>
> Thanks,
> Ambrose

Ambrose,

I had a quick look at this.  I tried running with zi:test, and it
complained about a missing dependency on tools.macro.  Adding that as a
test scoped dependency and running again gives me:

  [ERROR] InvocationTargetException: java.lang.StringIndexOutOfBoundsException: 
String index out of range: 1, 
compiling:(clojure/core/typed/test/mini_kanren.clj:575:3)

The original error seems to have something to do with the core.contracts
expansion.  Defining TopFilter and BotFilter with c.core/defrecord (and
defining appropriate type predicate functions) seems to get further.

Hugo

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-03-22 Thread Ambrose Bonnaire-Sergeant
Now that ClojureWest has finished, I'll gently bump this thread :)

Thanks,
Ambrose

On Wed, Mar 13, 2013 at 12:51 PM, Ambrose Bonnaire-Sergeant <
abonnaireserge...@gmail.com> wrote:

> core.typed dependencies are all in Central now.
>
> Here's a reproducible example of this failure.
>
> http://build.clojure.org/job/core.typed/3/console
>
> Thanks,
> Ambrose
>
>
> On Sun, Feb 24, 2013 at 12:50 AM, Chas Emerick  wrote:
>
>> On Feb 23, 2013, at 11:35 AM, Stuart Sierra wrote:
>>
>> Furthermore, according to the policy of the Maven Central 
>> Repository,
>> we cannot deploy anything which depends on third-party repositories.
>> Therefore we cannot deploy core.typed to the Central Repository unless all
>> its dependencies are also deployed there.
>>
>>
>> Straying further off-topic, but: FWIW, unless they've changed the
>> verification of POMs being promoted recently, that's not so.  The official
>> guide to OSS deployment only says it's strongly discouraged (
>> https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide),
>> and links to blog posts that indicate that Sonatype is (was?) planning on
>> rewriting POMs to remove external repository definitions, but tons of
>> artifacts in central still contain them, e.g.:
>>
>>
>> http://repo1.maven.org/maven2/org/openid4java/openid4java-nodeps/0.9.6/openid4java-nodeps-0.9.6.pom
>>
>> (…which refers to a now-defunct Guice repository, thus highlighting the
>> rationale for the proposed no-external-repositories policy.)
>>
>> Cheers,
>>
>> - Chas
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-03-12 Thread Ambrose Bonnaire-Sergeant
core.typed dependencies are all in Central now.

Here's a reproducible example of this failure.

http://build.clojure.org/job/core.typed/3/console

Thanks,
Ambrose

On Sun, Feb 24, 2013 at 12:50 AM, Chas Emerick  wrote:

> On Feb 23, 2013, at 11:35 AM, Stuart Sierra wrote:
>
> Furthermore, according to the policy of the Maven Central 
> Repository,
> we cannot deploy anything which depends on third-party repositories.
> Therefore we cannot deploy core.typed to the Central Repository unless all
> its dependencies are also deployed there.
>
>
> Straying further off-topic, but: FWIW, unless they've changed the
> verification of POMs being promoted recently, that's not so.  The official
> guide to OSS deployment only says it's strongly discouraged (
> https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide),
> and links to blog posts that indicate that Sonatype is (was?) planning on
> rewriting POMs to remove external repository definitions, but tons of
> artifacts in central still contain them, e.g.:
>
>
> http://repo1.maven.org/maven2/org/openid4java/openid4java-nodeps/0.9.6/openid4java-nodeps-0.9.6.pom
>
> (…which refers to a now-defunct Guice repository, thus highlighting the
> rationale for the proposed no-external-repositories policy.)
>
> Cheers,
>
> - Chas
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-02-23 Thread Chas Emerick
On Feb 23, 2013, at 11:35 AM, Stuart Sierra wrote:

> Furthermore, according to the policy of the Maven Central Repository, we 
> cannot deploy anything which depends on third-party repositories. Therefore 
> we cannot deploy core.typed to the Central Repository unless all its 
> dependencies are also deployed there.

Straying further off-topic, but: FWIW, unless they've changed the verification 
of POMs being promoted recently, that's not so.  The official guide to OSS 
deployment only says it's strongly discouraged 
(https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide),
 and links to blog posts that indicate that Sonatype is (was?) planning on 
rewriting POMs to remove external repository definitions, but tons of artifacts 
in central still contain them, e.g.:

http://repo1.maven.org/maven2/org/openid4java/openid4java-nodeps/0.9.6/openid4java-nodeps-0.9.6.pom

(…which refers to a now-defunct Guice repository, thus highlighting the 
rationale for the proposed no-external-repositories policy.)

Cheers,

- Chas

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-02-23 Thread Ambrose Bonnaire-Sergeant
Hi Stuart,

Sorry about that, I just changed it to analyze 0.3.0, which is on Clojars.
Try pulling again.

As for dependencies:
- the Trammel dep could be refactored to use core.contracts
- I'm happy to offer analyze as a contrib project if needed. It's crucial
to core.typed.
- other deps can be deleted easily.

Thanks,
Ambrose

On Sun, Feb 24, 2013 at 12:35 AM, Stuart Sierra  wrote:

> Hi Ambrose,
>
> I would try to help diagnose this, but I can't even try to compile
> core.typed in its present state because of dependencies: core.typed
> declares a dependency on analyze 
> 0.3.1-SNAPSHOT,
> which I cannot find anywhere, including the 
> sourceon GitHub.
>
> Even if we fix that, there are larger issues with releasing core.typed as
> a contrib library. The Maven-based builds on build.clojure.org do not
> include Clojars.org in their list of repositories. All of the contrib
> libraries released so far have no dependencies other than Clojure itself.
> There has been an *implicit* policy that contrib libraries may not have
> external dependencies, on which Rich has the final say.
>
> Furthermore, according to the policy of the Maven Central 
> Repository,
> we cannot deploy anything which depends on third-party repositories.
> Therefore we cannot deploy core.typed to the Central Repository unless all
> its dependencies are also deployed there.
>
> I will do whatever I can to help you get core.typed up and running on
> build.clojure.org, but these are the constraints we have to work in. Feel
> free to contact me off-list if you have additional questions.
>
> Thanks,
> -S
>
>
>
>
> On Friday, February 22, 2013 2:26:31 AM UTC-5, Ambrose Bonnaire-Sergeant
> wrote:
>>
>> Hi,
>>
>> I don't understand why this `assert` fails when the namespace is compiled
>> with `compile`.
>> It seems like the datatype A is being compiled twice.
>>
>> (ns mvn-test.core)
>>
>> (deftype A [])
>>
>> (assert (= (class (A.))
>>(class ((fn [] (A.))
>>
>> user=> (compile 'mvn-test.core)
>> CompilerException java.lang.AssertionError: Assert failed: (= (class
>> (A.)) (class ((fn [] (A.), compiling:(core.clj:5:1)
>>
>> Here is the project.clj:
>>
>> (defproject mvn-test "0.0.1-SNAPSHOT"
>>   :source-paths ["src/main/clojure"]
>>   :dependencies [[org.clojure/clojure "1.5.0-RC16"]])
>>
>> I found this behaviour was the root cause of why `mvn test` fails in
>> core.typed,
>> while `lein test` works perfectly.
>>
>> Any pointers would be appreciated.
>>
>> Thanks,
>> Ambrose
>>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-02-23 Thread Stuart Sierra
Hi Ambrose,

I would try to help diagnose this, but I can't even try to compile 
core.typed in its present state because of dependencies: core.typed 
declares a dependency on analyze 
0.3.1-SNAPSHOT,
 
which I cannot find anywhere, including the 
sourceon GitHub.

Even if we fix that, there are larger issues with releasing core.typed as a 
contrib library. The Maven-based builds on build.clojure.org do not include 
Clojars.org in their list of repositories. All of the contrib libraries 
released so far have no dependencies other than Clojure itself. There has 
been an *implicit* policy that contrib libraries may not have external 
dependencies, on which Rich has the final say.

Furthermore, according to the policy of the Maven Central 
Repository, 
we cannot deploy anything which depends on third-party repositories. 
Therefore we cannot deploy core.typed to the Central Repository unless all 
its dependencies are also deployed there.

I will do whatever I can to help you get core.typed up and running on 
build.clojure.org, but these are the constraints we have to work in. Feel 
free to contact me off-list if you have additional questions.

Thanks,
-S




On Friday, February 22, 2013 2:26:31 AM UTC-5, Ambrose Bonnaire-Sergeant 
wrote:
>
> Hi,
>
> I don't understand why this `assert` fails when the namespace is compiled 
> with `compile`.
> It seems like the datatype A is being compiled twice.
>
> (ns mvn-test.core)
>
> (deftype A [])
>
> (assert (= (class (A.))
>(class ((fn [] (A.))
>
> user=> (compile 'mvn-test.core)
> CompilerException java.lang.AssertionError: Assert failed: (= (class (A.)) 
> (class ((fn [] (A.), compiling:(core.clj:5:1) 
>
> Here is the project.clj:
>
> (defproject mvn-test "0.0.1-SNAPSHOT"
>   :source-paths ["src/main/clojure"]
>   :dependencies [[org.clojure/clojure "1.5.0-RC16"]])
>
> I found this behaviour was the root cause of why `mvn test` fails in 
> core.typed,
> while `lein test` works perfectly.
>
> Any pointers would be appreciated.
>
> Thanks,
> Ambrose
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Redefinition of datatypes

2013-02-22 Thread Christophe Grand
I have,'t looked much into it but my hunch is that it's the same bytecode
but loaded by two different classloaders.
So a double loading rather than a double compilation.

Christophe


On Fri, Feb 22, 2013 at 8:26 AM, Ambrose Bonnaire-Sergeant <
abonnaireserge...@gmail.com> wrote:

> Hi,
>
> I don't understand why this `assert` fails when the namespace is compiled
> with `compile`.
> It seems like the datatype A is being compiled twice.
>
> (ns mvn-test.core)
>
> (deftype A [])
>
> (assert (= (class (A.))
>(class ((fn [] (A.))
>
> user=> (compile 'mvn-test.core)
> CompilerException java.lang.AssertionError: Assert failed: (= (class (A.))
> (class ((fn [] (A.), compiling:(core.clj:5:1)
>
> Here is the project.clj:
>
> (defproject mvn-test "0.0.1-SNAPSHOT"
>   :source-paths ["src/main/clojure"]
>   :dependencies [[org.clojure/clojure "1.5.0-RC16"]])
>
> I found this behaviour was the root cause of why `mvn test` fails in
> core.typed,
> while `lein test` works perfectly.
>
> Any pointers would be appreciated.
>
> Thanks,
> Ambrose
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
On Clojure http://clj-me.cgrand.net/
Clojure Programming http://clojurebook.com
Training, Consulting & Contracting http://lambdanext.eu/

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.