Internal Error "Keyword lookup gave bottom tpe"

37 views
Skip to first unread message

Peter Fraenkel

unread,
Sep 5, 2013, 9:21:51 PM9/5/13
to clojure-c...@googlegroups.com
I'm assuming that the "Internal" refers to a bug...

The error refers to the second line below, where the exception is thrown:

35                    (let [doc (http/request {:url url :method :get} identity)
36                              (if (not= (:status @doc) 200) (throw (Exception. (str "Got bad status: " @doc))))

This is 0.2.4, and check-ns results in the following stack trace:


Clojure.lang.ExceptionInfo: Internal Error (imdb.core:36:35) Keyword lookup gave bottom type: :status Nothing
 at clojure.core$ex_info.invoke (core.clj:4327)
    clojure.core.typed.utils$int_error.invoke (utils.clj:135)
    clojure.core.typed.check$invoke_keyword.invoke (check.clj:1619)
    clojure.core.typed.check$check _COLON_keyword_invoke13591.doInvoke (check.clj:1524)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2780)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$normal_invoke.doInvoke (check.clj:2504)
    clojure.lang.RestFn.invoke (RestFn.java:529)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2531)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check _COLON_if14835$fn__14840.invoke (check.clj:4383)
    clojure.core.typed.check$check _COLON_if14835.doInvoke (check.clj:4382)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14606$fn__14615.invoke (check.clj:3608)
    clojure.core.typed.check$check_let$fn__14606.invoke (check.clj:3605)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3648)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$ann_form_STAR_)13772.doInvoke (check.clj:1831)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2516)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.Cons.next (Cons.java:39)
    clojure.lang.LazySeq.next (LazySeq.java:92)
    clojure.lang.RT.next (RT.java:598)
    clojure.core$next.invoke (core.clj:64)
    clojure.core$dorun.invoke (core.clj:2781)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$normal_invoke.doInvoke (check.clj:2504)
    clojure.lang.RestFn.invoke (RestFn.java:529)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2531)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3655)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check_if$tc__14817.invoke (check.clj:4272)
    clojure.core.typed.check$check_if$fn__14823.invoke (check.clj:4306)
    clojure.core.typed.check$check_if.doInvoke (check.clj:4304)
    clojure.lang.RestFn.invoke (RestFn.java:445)
    clojure.core.typed.check$check _COLON_if14835$fn__14842.invoke (check.clj:4386)
    clojure.core.typed.check$check _COLON_if14835.doInvoke (check.clj:4385)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3653)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:749)
    clojure.core.typed.check$check _COLON_let14642$fn__14647.invoke (check.clj:3773)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3772)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__14317.invoke (check.clj:3016)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3013)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2885)
    clojure.core.typed.check$check_fn$fn__14258$fn__14265.invoke (check.clj:2858)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__14258.invoke (check.clj:2857)
    clojure.core.typed.check$check_fn.invoke (check.clj:2840)
    clojure.core.typed.check$check _COLON_fn_expr14170$fn__14181.invoke (check.clj:2609)
    clojure.core.typed.check$check _COLON_fn_expr14170.doInvoke (check.clj:2589)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2519)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$loop_GT__ann)13826.doInvoke (check.clj:1892)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2516)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check _COLON_if14835$fn__14840.invoke (check.clj:4383)
    clojure.core.typed.check$check _COLON_if14835.doInvoke (check.clj:4382)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3655)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check_if$tc__14817.invoke (check.clj:4272)
    clojure.core.typed.check$check_if$fn__14823.invoke (check.clj:4306)
    clojure.core.typed.check$check_if.doInvoke (check.clj:4304)
    clojure.lang.RestFn.invoke (RestFn.java:445)
    clojure.core.typed.check$check _COLON_if14835$fn__14842.invoke (check.clj:4386)
    clojure.core.typed.check$check _COLON_if14835.doInvoke (check.clj:4385)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3655)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check_if$tc__14817.invoke (check.clj:4272)
    clojure.core.typed.check$check_if$fn__14823.invoke (check.clj:4306)
    clojure.core.typed.check$check_if.doInvoke (check.clj:4304)
    clojure.lang.RestFn.invoke (RestFn.java:445)
    clojure.core.typed.check$check _COLON_if14835$fn__14842.invoke (check.clj:4386)
    clojure.core.typed.check$check _COLON_if14835.doInvoke (check.clj:4385)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3655)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14631.invoke (check.clj:3653)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3650)
    clojure.lang.RestFn.invoke (RestFn.java:749)
    clojure.core.typed.check$check _COLON_let14642$fn__14647.invoke (check.clj:3773)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3772)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__14317.invoke (check.clj:3016)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3013)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2885)
    clojure.core.typed.check$check_fn$fn__14258$fn__14265.invoke (check.clj:2858)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__14258.invoke (check.clj:2857)
    clojure.core.typed.check$check_fn.invoke (check.clj:2840)
    clojure.core.typed.check$check _COLON_fn_expr14170$fn__14181.invoke (check.clj:2609)
    clojure.core.typed.check$check _COLON_fn_expr14170.doInvoke (check.clj:2589)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2519)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$loop_GT__ann)13826.doInvoke (check.clj:1892)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2516)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__14317.invoke (check.clj:3016)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3013)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2885)
    clojure.core.typed.check$check_fn$fn__14258$fn__14265.invoke (check.clj:2858)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__14258.invoke (check.clj:2857)
    clojure.core.typed.check$check_fn.invoke (check.clj:2840)
    clojure.core.typed.check$check _COLON_fn_expr14170$fn__14181.invoke (check.clj:2609)
    clojure.core.typed.check$check _COLON_fn_expr14170.doInvoke (check.clj:2589)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core$mapv$fn__6258.invoke (core.clj:6241)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core$mapv.invoke (core.clj:6241)
    clojure.core.typed.check$check _COLON_new14506.doInvoke (check.clj:3501)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__14317.invoke (check.clj:3016)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3013)
    clojure.core.typed.check$check_fn_method$iter__14276__14280$fn__14281$fn__14282.invoke (check.clj:2889)
    clojure.core.typed.check$check_fn_method$iter__14276__14280$fn__14281.invoke (check.clj:2888)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2780)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2888)
    clojure.core.typed.check$check_fn$fn__14258$fn__14265.invoke (check.clj:2858)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__14258.invoke (check.clj:2857)
    clojure.core.typed.check$check_fn.invoke (check.clj:2840)
    clojure.core.typed.check$check _COLON_fn_expr14170$fn__14181.invoke (check.clj:2609)
    clojure.core.typed.check$check _COLON_fn_expr14170.doInvoke (check.clj:2589)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$ann_form_STAR_)13772.doInvoke (check.clj:1831)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_invoke14085$fn__14090.invoke (check.clj:2516)
    clojure.core.typed.check$check _COLON_invoke14085.doInvoke (check.clj:2515)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14606$fn__14615.invoke (check.clj:3608)
    clojure.core.typed.check$check_let$fn__14606.invoke (check.clj:3605)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3648)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__14606$fn__14615.invoke (check.clj:3608)
    clojure.core.typed.check$check_let$fn__14606.invoke (check.clj:3605)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3648)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let14642.doInvoke (check.clj:3775)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do14339$fn__14347$fn__14350.invoke (check.clj:3077)
    clojure.core.typed.check$check _COLON_do14339$fn__14347.invoke (check.clj:3069)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do14339.doInvoke (check.clj:3104)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__14317.invoke (check.clj:3016)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3013)
    clojure.core.typed.check$check_fn_method$iter__14276__14280$fn__14281$fn__14282.invoke (check.clj:2889)
    clojure.core.typed.check$check_fn_method$iter__14276__14280$fn__14281.invoke (check.clj:2888)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2780)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2888)
    clojure.core.typed.check$check_fn$fn__14258$fn__14265.invoke (check.clj:2858)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__14258.invoke (check.clj:2857)
    clojure.core.typed.check$check_fn.invoke (check.clj:2840)
    clojure.core.typed.check$check _COLON_fn_expr14170$fn__14181.invoke (check.clj:2609)
    clojure.core.typed.check$check _COLON_fn_expr14170.doInvoke (check.clj:2589)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_normal_def.doInvoke (check.clj:4408)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check _COLON_def14857.doInvoke (check.clj:4446)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_expr.doInvoke (check.clj:181)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.core.typed.check$check_ns_and_deps.invoke (check.clj:150)
    clojure.core.typed$check_ns.doInvoke (typed.clj:1327)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.core.typed$check_ns.invoke (typed.clj:1290)
    imdb.core$eval6954.invoke (NO_SOURCE_FILE:1)
    clojure.lang.Compiler.eval (Compiler.java:6619)
    clojure.lang.Compiler.eval (Compiler.java:6582)
    clojure.core$eval.invoke (core.clj:2852)
    clojure.main$repl$read_eval_print__6588$fn__6591.invoke (main.clj:259)
    clojure.main$repl$read_eval_print__6588.invoke (main.clj:259)
    clojure.main$repl$fn__6597.invoke (main.clj:277)
    clojure.main$repl.doInvoke (main.clj:277)
    clojure.lang.RestFn.invoke (RestFn.java:1096)
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__589.invoke (interruptible_eval.clj:56)
    clojure.lang.AFn.applyToHelper (AFn.java:159)
    clojure.lang.AFn.applyTo (AFn.java:151)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$with_bindings_STAR_.doInvoke (core.clj:1788)
    clojure.lang.RestFn.invoke (RestFn.java:425)
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke (interruptible_eval.clj:41)
    clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__630$fn__633.invoke (interruptible_eval.clj:171)
    clojure.core$comp$fn__4154.invoke (core.clj:2330)
    clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__623.invoke (interruptible_eval.clj:138)
    clojure.lang.AFn.run (AFn.java:24)
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
    java.lang.Thread.run (Thread.java:722)

Ambrose Bonnaire-Sergeant

unread,
Sep 5, 2013, 10:14:39 PM9/5/13
to core.typed
Hi Peter,

Could you show me the output of putting (print-env "before deref") before the `if`?

Thanks,
Ambrose

Peter Fraenkel

unread,
Sep 6, 2013, 10:50:24 AM9/6/13
to clojure-c...@googlegroups.com
On Thursday, September 5, 2013 10:14:39 PM UTC-4, Ambrose Bonnaire-Sergeant wrote:
Hi Peter,

Could you show me the output of putting (print-env "before deref") before the `if`?


Before and right before (wasn't sure if it mattered):

                      (let [doc (http/request {:url url :method :get} identity)
                            _ (t/print-env "before deref")
                            _  (if (not= (:status @doc) 200) (throw (Exception. (str "Got bad status: " @doc))))


{:env {s__80838258 (clojure.core.typed/NonEmptySeq java.lang.String), c__73__auto__ (clojure.lang.IChunk java.lang.String), id java.lang.String, i__8084 (U java.lang.Long java.lang.Integer), _ nil, temp__4092__auto__ (I (clojure.lang.ISeq java.lang.String) (CountRange 1)), b__8085 (clojure.lang.ChunkBuffer (clojure.core.typed/Seq (HMap :mandatory {:title java.lang.String, :links (clojure.core.typed/Seq java.lang.String), :id java.lang.String}))), urls (U [java.lang.String java.lang.String] [java.lang.String]), size__74__auto__ int, iter__8082 (Fn [(clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)) -> (clojure.lang.LazySeq (clojure.core.typed/Seq (HMap :mandatory {:title java.lang.String, :links (clojure.core.typed/Seq java.lang.String), :id java.lang.String})))]), url java.lang.String, s__8083 (clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)), s__80838131 (clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)), doc Error}, :props ((when (is (U nil false) s__80838258
) (is (U nil false) temp__4092__auto__)) (when (! (U nil false) s__80838131) (! (U nil false) s__8083)) (! (U nil false) temp__4092__auto__) (when (is (U nil false) urls) ff) (when (! (U nil false) s__80838258) (! (U nil false) temp__4092__auto__)) (when (is (U nil false) s__80838131) (is (U nil false) s__8083)))}

                      (let [doc (http/request {:url url :method :get} identity)
                              (do (t/print-env "before deref") (if (not= (:status @doc) 200) (throw (Exception. (str "Got bad status: " @doc)))))


{:env {s__85268715 (clojure.core.typed/NonEmptySeq java.lang.String), c__73__auto__ (clojure.lang.IChunk java.lang.String), id java.lang.String, s__8526 (clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)), s__85268574 (clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)), _ nil, b__8528 (clojure.lang.ChunkBuffer (clojure.core.typed/Seq (HMap :mandatory {:title java.lang.String, :links (clojure.core.typed/Seq java.lang.String), :id java.lang.String}))), temp__4092__auto__ (I (clojure.lang.ISeq java.lang.String) (CountRange 1)), iter__8525 (Fn [(clojure.core.typed/Option (clojure.lang.Seqable java.lang.String)) -> (clojure.lang.LazySeq (clojure.core.typed/Seq (HMap :mandatory {:title java.lang.String, :links (clojure.core.typed/Seq java.lang.String), :id java.lang.String})))]), i__8527 (U java.lang.Long java.lang.Integer), urls (U [java.lang.String java.lang.String] [java.lang.String]), size__74__auto__ int, url java.lang.String, doc Error}, :props ((! (U nil false) temp__4092__auto__
) (when (is (U nil false) s__85268574) (is (U nil false) s__8526)) (when (is (U nil false) urls) ff) (when (is (U nil false) s__85268715) (is (U nil false) temp__4092__auto__)) (when (! (U nil false) s__85268574) (! (U nil false) s__8526)) (when (! (U nil false) s__85268715) (! (U nil false) temp__4092__auto__)))}


Peter Fraenkel

unread,
Sep 6, 2013, 2:45:37 PM9/6/13
to clojure-c...@googlegroups.com
I can make the internal error go away by annotating the httpkit call:
  (t/ann org.httpkit.client/request ['{:url String :method (Value :get)} -> (t/Atom1 String)])
I annotate it incorrectly (as I did at first), I'll get the expected error but not the internal error.

Ambrose Bonnaire-Sergeant

unread,
Sep 7, 2013, 12:07:00 AM9/7/13
to core.typed
Thanks Peter. It should be fixed in master, please follow the instructions on the ticket to verify.


Ambrose

Peter Fraenkel

unread,
Sep 7, 2013, 10:07:02 AM9/7/13
to core.typed
There's no longer an Internal Error message, but I do get the assertion failure below, and check-ns aborts without checking further.


java.lang.AssertionError: Assert failed: (TCResult? %)
 at clojure.core.typed.check$invoke_keyword.invoke (check.clj:1589)
    clojure.core.typed.check$check _COLON_keyword_invoke15066.doInvoke (check.clj:1524)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2780)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$normal_invoke.doInvoke (check.clj:2505)
    clojure.lang.RestFn.invoke (RestFn.java:529)
    clojure.core.typed.check$check _COLON_invoke15560$fn__15565.invoke (check.clj:2532)
    clojure.core.typed.check$check _COLON_invoke15560.doInvoke (check.clj:2516)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.MultiFn.invoke (MultiFn.java:227)
    clojure.core.typed.check$check _COLON_if16310$fn__16315.invoke (check.clj:4384)
    clojure.core.typed.check$check _COLON_if16310.doInvoke (check.clj:4383)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_let$fn__16081$fn__16090.invoke (check.clj:3609)
    clojure.core.typed.check$check_let$fn__16081.invoke (check.clj:3606)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check_let.doInvoke (check.clj:3649)
    clojure.lang.RestFn.invoke (RestFn.java:587)
    clojure.core.typed.check$check _COLON_let16117.doInvoke (check.clj:3776)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check _COLON_do15814$fn__15822$fn__15825.invoke (check.clj:3078)
    clojure.core.typed.check$check _COLON_do15814$fn__15822.invoke (check.clj:3070)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6005$G__6000__6014.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__5979$G__5974__5992.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6177)
    clojure.core.typed.check$check _COLON_do15814.doInvoke (check.clj:3105)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_fn_method1$fn__15792.invoke (check.clj:3017)
    clojure.core.typed.check$check_fn_method1.invoke (check.clj:3014)
    clojure.core.typed.check$check_fn_method$iter__15751__15755$fn__15756$fn__15757.invoke (check.clj:2890)
    clojure.core.typed.check$check_fn_method$iter__15751__15755$fn__15756.invoke (check.clj:2889)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2780)
    clojure.core$doall.invoke (core.clj:2796)
    clojure.core.typed.check$check_fn_method.invoke (check.clj:2889)
    clojure.core.typed.check$check_fn$fn__15733$fn__15740.invoke (check.clj:2859)
    clojure.core$map$fn__4207.invoke (core.clj:2487)
    clojure.lang.LazySeq.sval (LazySeq.java:42)
    clojure.lang.LazySeq.seq (LazySeq.java:60)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$mapcat.doInvoke (core.clj:2514)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check_fn$fn__15733.invoke (check.clj:2858)
    clojure.core.typed.check$check_fn.invoke (check.clj:2841)
    clojure.core.typed.check$check _COLON_fn_expr15645$fn__15656.invoke (check.clj:2610)
    clojure.core.typed.check$check _COLON_fn_expr15645.doInvoke (check.clj:2590)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_normal_def.doInvoke (check.clj:4409)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.core.typed.check$check _COLON_def16332.doInvoke (check.clj:4447)
    clojure.lang.RestFn.invoke (RestFn.java:423)
    clojure.lang.MultiFn.invoke (MultiFn.java:231)
    clojure.core.typed.check$check_expr.doInvoke (check.clj:181)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.core.typed.check$check_ns_and_deps.invoke (check.clj:150)
    clojure.core.typed$check_ns.doInvoke (typed.clj:1327)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.core.typed$check_ns.invoke (typed.clj:1290)
    imdb.core$eval6082.invoke (NO_SOURCE_FILE:1)
    clojure.lang.Compiler.eval (Compiler.java:6619)
    clojure.lang.Compiler.eval (Compiler.java:6582)
    clojure.core$eval.invoke (core.clj:2852)
    clojure.main$repl$read_eval_print__6588$fn__6591.invoke (main.clj:259)
    clojure.main$repl$read_eval_print__6588.invoke (main.clj:259)
    clojure.main$repl$fn__6597.invoke (main.clj:277)
    clojure.main$repl.doInvoke (main.clj:277)
    clojure.lang.RestFn.invoke (RestFn.java:1096)
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__589.invoke (interruptible_eval.clj:56)
    clojure.lang.AFn.applyToHelper (AFn.java:159)
    clojure.lang.AFn.applyTo (AFn.java:151)
    clojure.core$apply.invoke (core.clj:617)
    clojure.core$with_bindings_STAR_.doInvoke (core.clj:1788)
    clojure.lang.RestFn.invoke (RestFn.java:425)
    clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke (interruptible_eval.clj:41)
    clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__630$fn__633.invoke (interruptible_eval.clj:171)
    clojure.core$comp$fn__4154.invoke (core.clj:2330)
    clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__623.invoke (interruptible_eval.clj:138)
    clojure.lang.AFn.run (AFn.java:24)
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
    java.lang.Thread.run (Thread.java:722)

Ambrose Bonnaire-Sergeant

unread,
Sep 7, 2013, 10:32:35 AM9/7/13
to core.typed
Ahem, forgot to add a unit test to verify it :)

Please try 0.2.5-20130907.143145-5

Peter Fraenkel

unread,
Sep 7, 2013, 8:35:02 PM9/7/13
to clojure-c...@googlegroups.com
No joy.  Here is a complete example, including the project.clj: https://gist.github.com/pnf/e208b0d44860aedc9c9d

Ambrose Bonnaire-Sergeant

unread,
Sep 7, 2013, 11:31:08 PM9/7/13
to core.typed
Well at least we've made some progress, that error is a few forms outwards from the original one.

Ambrose Bonnaire-Sergeant

unread,
Sep 8, 2013, 2:32:27 AM9/8/13
to core.typed
I can't reproduce. Perhaps "request" has a different annotation for you?


Thanks,
Ambrose

Peter Fraenkel

unread,
Sep 9, 2013, 10:39:21 AM9/9/13
to core.typed
I get what you get... with the request annotation in place.  If I comment it out, I get the internal error.  Obviously it is an error, but it probably shouldn't cause an abort of the checking process.

By the way, why do we (both) get the warning about the missing definition when the annotation is in place?

Ambrose Bonnaire-Sergeant

unread,
Sep 9, 2013, 10:55:49 AM9/9/13
to core.typed
The "Definition missing" warning means the def was not checked. That would be fixed if we annotate request with:

(t/ann :^no-check org.httpkit.client/request ['{:url String :method (Value :get)} -> (t/Atom1 '{:status Number :body String})])

Please try 0.2.5-20130909.002504-7

The internal error should now be a warning.

Thanks,
Ambrose

Peter Fraenkel

unread,
Sep 9, 2013, 8:32:50 PM9/9/13
to core.typed
Success!
Reply all
Reply to author
Forward
0 new messages