delver / core.typed

An optional type system for Clojure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

core.typed

Gradual typing in Clojure, as a library.

Releases and Dependency Information

Latest stable release is 0.3.0-alpha2.

Leiningen dependency information:

[org.clojure/core.typed "0.3.0-alpha2"]

...
; for very recent releases
:repositories {"sonatype-oss-public" "https://oss.sonatype.org/content/groups/public/"}

; for slim jars, follow version string with: :classifier "slim"

Maven dependency information:

<dependency>
  <groupId>org.clojure</groupId>
  <artifactId>core.typed</artifactId>
  <version>0.3.0-alpha2</version>
  <!-- slim jar -->
  <!-- <classifier>slim</classifier> -->
</dependency>

The default jars contain AOT files for faster loading. If jar size is a concern, consider using the slim jar in production.

Compatibility

core.typed supports Clojure 1.6.0 and JDK 1.7+.

[Talk] Clojure Conj 2012

Video

Mailing List and IRC

Use the core.typed mailing list for core.typed discussion, or try #typed-clojure on Freenode (the main developer is ambrosebs).

IRC Logs (Thanks to Anthony Grimes!)

Documentation

See wiki.

API Reference

Ambrose's blog

Leiningen Plugin

lein-typed

Vim Plugin

vim-typedclojure

Quickstart

(clojure.core.typed/ann v t) gives var v the static type t.

(clojure.core.typed/ann-form f t) ensures form f is of the static type t.

(clojure.core.typed/check-ns) type checks the current namespace.

(clojure.core.typed/cf t) type checks the form t.

Examples

core.async Rock-paper-scissors

Developer Information

Contributors

Thanks to the following people for contributing to core.typed:

  • Stephen Compall (S11001001)
  • Andrew Brehaut (brehaut)
  • Christopher Spencer (cspencer)
  • Reid McKenzie (arrdem)
  • Di Xu (xudifsd)
  • Nicola Mometto (Bronsa)
  • Chas Emerick (cemerick)
  • Jake Goulding (shepmaster)
  • Andy Fingerhut
  • Aravind K N (arav93)
  • Allen Rohner (arohner)
  • Minori Yamashita (ympbyc)
  • Kyle Kingsbury (aphyr)
  • Nathan Sorenson

Sponsors

Development is sponsored (via crowdfunding) by

YourKit

YourKit is kindly supporting core.typed and other open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:

License

Copyright © Ambrose Bonnaire-Sergeant, Rich Hickey & contributors.

Licensed under the EPL (see the file epl.html).

About

An optional type system for Clojure


Languages

Language:Clojure 99.4%Language:HTML 0.6%