Also you can add missing annotations via ann.

(ann ^:no-check clojure.core/+ ....)

Core vars observe the same rules as all vars: they must be annotated.

Thanks,
Ambrose


On Thu, Aug 29, 2013 at 3:44 PM, Ambrose Bonnaire-Sergeant <
abonnaireserge...@gmail.com> wrote:

> Hi,
>
> Roughly 1/3 of clojure.core is annotated and comes included with
> core.typed. They are unchecked annotations.
>
>
> https://github.com/clojure/core.typed/blob/master/src/main/clojure/clojure/core/typed/base_env.clj#L658
>
> You can lookup types via cf at the REPL.
>
> (clojure.core.typed/cf +)
> ;=> (Fn [clojure.core.typed/AnyInteger * -> clojure.core.typed/AnyInteger]
> [Number * -> Number])
>
> Thanks,
> Ambrose
>
>
> On Thu, Aug 29, 2013 at 3:40 PM, Jozef Wagner <jozef.wag...@gmail.com>wrote:
>
>> How about annotating clojure.core API. Is it needed, provided, optional?
>>
>>
>> On Thursday, August 29, 2013 12:28:35 AM UTC+2, Ambrose Bonnaire-Sergeant
>> wrote:
>>>
>>> Hi,
>>>
>>> After 10 months and 26 0.1.x releases of transitioning core.typed from
>>> an ambitious student project, I am finally comfortable recommending
>>> core.typed for production use.
>>>
>>> Production Ready
>>>
>>> My interpretation of "production ready" in this context is:
>>> - core.typed can *find bugs* in real code
>>> - core.typed will *not slow down* your existing code by loading
>>>   a large library at production. (core.typed does introduce an extra
>>> "identity-like"
>>>   function call at type annotations, I assume this is a candidate for
>>> optimisation via
>>>   HotSpot)
>>> - A basic *tutorial*, API docs and example project exist
>>> - core.typed is *currently used in production* with success (at
>>> CircleCI for several months)
>>> - The core type checking API is mostly *stable*, with only very
>>>   minor removals/breaking changes in the last few months.
>>>
>>> There are several outstanding issues, but I am satisfied that core.typed
>>> can bring real utility to real programs *today* and with *no
>>> production-time drawbacks*, thus this release.
>>>
>>> How to get started
>>>
>>> Leiningen dep:
>>>
>>> [org.clojure/core.typed "0.2.0"]
>>> ...; for very recent releases:repositories {"sonatype-oss-public" 
>>> "https://oss.sonatype.org/**content/groups/public/ 
>>> <https://oss.sonatype.org/content/groups/public/>"}
>>>
>>> If you like following tutorials try the user/types guide. If you just
>>> want to get your hands on some typed code, see the Example project.
>>>
>>> core.typed User Guide<https://github.com/clojure/core.typed/wiki/User-Guide>
>>> core.typed Types Guide<https://github.com/clojure/core.typed/wiki/Types>
>>> Example project <https://github.com/frenchy64/core.typed-example>
>>> API Reference <http://clojure.github.io/core.typed/>
>>>
>>> core.typed Github Home <https://github.com/clojure/core.typed>
>>> core.typed Wiki <https://github.com/clojure/core.typed/wiki>
>>>
>>> Please report bugs, ask questions or discuss things on the mailing 
>>> list<https://groups.google.com/forum/?fromgroups#!forum/clojure-core-typed>
>>> .
>>>
>>> (FWIW I'm ambrosebs on #clojure.)
>>>
>>> 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.

Reply via email to