Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
10801 lines (10800 sloc) 527 KB
{:namespaces
({:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.core-api.html",
:name "clojure.core",
:doc "Fundamental library of the Clojure language"}
{:source-url
"https://github.com/clojure/clojure/blob/1aeb592afc0059c8d66a635699c460f70b81a102/src/clj/clojure/data.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.data-api.html",
:name "clojure.data",
:author "Stuart Halloway",
:doc "Non-core data functions."}
{:source-url
"https://github.com/clojure/clojure/blob/59b65669860a1f33825775494809e5d500c19c63/src/clj/clojure/inspector.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.inspector-api.html",
:name "clojure.inspector",
:author "Rich Hickey",
:doc "Graphical object inspector for Clojure data structures."}
{:source-url
"https://github.com/clojure/clojure/blob/b9b1a094499b69a94bd47fc94c4f082d80239fa9/src/clj/clojure/java/browse.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.java.browse-api.html",
:name "clojure.java.browse",
:author "Christophe Grand",
:doc "Start a web browser from Clojure"}
{:source-url
"https://github.com/clojure/clojure/blob/93ee4fe90072d4b75f7b3fc2684f93dcd55cad2b/src/clj/clojure/java/io.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.java.io-api.html",
:name "clojure.java.io",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/b9b1a094499b69a94bd47fc94c4f082d80239fa9/src/clj/clojure/java/javadoc.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.java.javadoc-api.html",
:name "clojure.java.javadoc",
:author "Christophe Grand, Stuart Sierra",
:doc "A repl helper to quickly open javadocs."}
{:source-url
"https://github.com/clojure/clojure/blob/fe0cfc71e6ec7b546066188c555b01dae0e368e8/src/clj/clojure/java/shell.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.java.shell-api.html",
:name "clojure.java.shell",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/71930b6b6537a796cdf13c4ffa7cf93eb53b6235/src/clj/clojure/main.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.main-api.html",
:name "clojure.main",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/404110d0de559bede6eda4b3f14424059b8540b8/src/clj/clojure/pprint.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.pprint-api.html",
:name "clojure.pprint",
:author "Tom Faulhaber",
:doc
"A Pretty Printer for Clojure\n\nclojure.pprint implements a flexible system for printing structured data\nin a pleasing, easy-to-understand format. Basic use of the pretty printer is \nsimple, just call pprint instead of println. More advanced users can use \nthe building blocks provided to create custom output formats. \n\nOut of the box, pprint supports a simple structured format for basic data \nand a specialized format for Clojure source code. More advanced formats, \nincluding formats that don't look like Clojure data at all like XML and \nJSON, can be rendered by creating custom dispatch functions. \n\nIn addition to the pprint function, this module contains cl-format, a text \nformatting function which is fully compatible with the format function in \nCommon Lisp. Because pretty printing directives are directly integrated with\ncl-format, it supports very concise custom dispatch. It also provides\na more powerful alternative to Clojure's standard format function.\n\nSee documentation for pprint and cl-format for more information or \ncomplete documentation on the the clojure web site on github."}
{:source-url
"https://github.com/clojure/clojure/blob/479bb230b410cd39f3ca94120729096a38c8df67/src/clj/clojure/reflect.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.reflect-api.html",
:name "clojure.reflect",
:author "Stuart Halloway",
:doc
"Reflection on Host Types\nAlpha - subject to change.\n\nTwo main entry points: \n\n* type-reflect reflects on something that implements TypeReference.\n* reflect (for REPL use) reflects on the class of an instance, or\n on a class if passed a class\n\nKey features:\n\n* Exposes the read side of reflection as pure data. Reflecting\n on a type returns a map with keys :bases, :flags, and :members.\n\n* Canonicalizes class names as Clojure symbols. Types can extend\n to the TypeReference protocol to indicate that they can be\n unambiguously resolved as a type name. The canonical format\n requires one non-Java-ish convention: array brackets are <>\n instead of [] so they can be part of a Clojure symbol.\n\n* Pluggable Reflectors for different implementations. The default\n JavaReflector is good when you have a class in hand, or use\n the AsmReflector for \"hands off\" reflection without forcing\n classes to load.\n\nPlatform implementers must:\n\n* Create an implementation of Reflector.\n* Create one or more implementations of TypeReference.\n* def default-reflector to be an instance that satisfies Reflector."}
{:source-url
"https://github.com/clojure/clojure/blob/553f4879cad019dd9dc1727165d8a41c216bd086/src/clj/clojure/repl.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.repl-api.html",
:name "clojure.repl",
:author
"Chris Houser, Christophe Grand, Stephen Gilardi, Michel Salim",
:doc "Utilities meant to be used interactively at the REPL"}
{:source-url
"https://github.com/clojure/clojure/blob/5ca0c1feb7f7260aad257e52f2ddb0d426e2db77/src/clj/clojure/set.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.set-api.html",
:name "clojure.set",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/49b05680354271062cfcaf4b5001b35296f3a94b/src/clj/clojure/stacktrace.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.stacktrace-api.html",
:name "clojure.stacktrace",
:author "Stuart Sierra",
:doc "Print stack traces oriented towards Clojure, not Java."}
{:source-url
"https://github.com/clojure/clojure/blob/f30995c86056959abca53d0ca35dcb9cfa73e6e6/src/clj/clojure/string.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.string-api.html",
:name "clojure.string",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/787938361128c2bc21ed896dd4523651b59cb420/src/clj/clojure/template.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.template-api.html",
:name "clojure.template",
:author "Stuart Sierra",
:doc
"Macros that expand to repeated copies of a template expression."}
{:source-url
"https://github.com/clojure/clojure/blob/6b6356340282e56162a6f365ec08281ad614b488/src/clj/clojure/test.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.test-api.html",
:name "clojure.test",
:author
"Stuart Sierra, with contributions and suggestions by \n Chas Emerick, Allen Rohner, and Stuart Halloway",
:doc
"A unit testing framework.\n\nASSERTIONS\n\nThe core of the library is the \"is\" macro, which lets you make\nassertions of any arbitrary expression:\n\n(is (= 4 (+ 2 2)))\n(is (instance? Integer 256))\n(is (.startsWith \"abcde\" \"ab\"))\n\nYou can type an \"is\" expression directly at the REPL, which will\nprint a message if it fails.\n\n user> (is (= 5 (+ 2 2)))\n\n FAIL in (:1)\n expected: (= 5 (+ 2 2))\n actual: (not (= 5 4))\n false\n\nThe \"expected:\" line shows you the original expression, and the\n\"actual:\" shows you what actually happened. In this case, it\nshows that (+ 2 2) returned 4, which is not = to 5. Finally, the\n\"false\" on the last line is the value returned from the\nexpression. The \"is\" macro always returns the result of the\ninner expression.\n\nThere are two special assertions for testing exceptions. The\n\"(is (thrown? c ...))\" form tests if an exception of class c is\nthrown:\n\n(is (thrown? ArithmeticException (/ 1 0))) \n\n\"(is (thrown-with-msg? c re ...))\" does the same thing and also\ntests that the message on the exception matches the regular\nexpression re:\n\n(is (thrown-with-msg? ArithmeticException #\"Divide by zero\"\n (/ 1 0)))\n\nDOCUMENTING TESTS\n\n\"is\" takes an optional second argument, a string describing the\nassertion. This message will be included in the error report.\n\n(is (= 5 (+ 2 2)) \"Crazy arithmetic\")\n\nIn addition, you can document groups of assertions with the\n\"testing\" macro, which takes a string followed by any number of\nassertions. The string will be included in failure reports.\nCalls to \"testing\" may be nested, and all of the strings will be\njoined together with spaces in the final report, in a style\nsimilar to RSpec <http://rspec.info/>\n\n(testing \"Arithmetic\"\n (testing \"with positive integers\"\n (is (= 4 (+ 2 2)))\n (is (= 7 (+ 3 4))))\n (testing \"with negative integers\"\n (is (= -4 (+ -2 -2)))\n (is (= -1 (+ 3 -4)))))\n\nNote that, unlike RSpec, the \"testing\" macro may only be used\nINSIDE a \"deftest\" or \"with-test\" form (see below).\n\n\nDEFINING TESTS\n\nThere are two ways to define tests. The \"with-test\" macro takes\na defn or def form as its first argument, followed by any number\nof assertions. The tests will be stored as metadata on the\ndefinition.\n\n(with-test\n (defn my-function [x y]\n (+ x y))\n (is (= 4 (my-function 2 2)))\n (is (= 7 (my-function 3 4))))\n\nAs of Clojure SVN rev. 1221, this does not work with defmacro.\nSee http://code.google.com/p/clojure/issues/detail?id=51\n\nThe other way lets you define tests separately from the rest of\nyour code, even in a different namespace:\n\n(deftest addition\n (is (= 4 (+ 2 2)))\n (is (= 7 (+ 3 4))))\n\n(deftest subtraction\n (is (= 1 (- 4 3)))\n (is (= 3 (- 7 4))))\n\nThis creates functions named \"addition\" and \"subtraction\", which\ncan be called like any other function. Therefore, tests can be\ngrouped and composed, in a style similar to the test framework in\nPeter Seibel's \"Practical Common Lisp\"\n<http://www.gigamonkeys.com/book/practical-building-a-unit-test-framework.html>\n\n(deftest arithmetic\n (addition)\n (subtraction))\n\nThe names of the nested tests will be joined in a list, like\n\"(arithmetic addition)\", in failure reports. You can use nested\ntests to set up a context shared by several tests.\n\n\nRUNNING TESTS\n\nRun tests with the function \"(run-tests namespaces...)\":\n\n(run-tests 'your.namespace 'some.other.namespace)\n\nIf you don't specify any namespaces, the current namespace is\nused. To run all tests in all namespaces, use \"(run-all-tests)\".\n\nBy default, these functions will search for all tests defined in\na namespace and run them in an undefined order. However, if you\nare composing tests, as in the \"arithmetic\" example above, you\nprobably do not want the \"addition\" and \"subtraction\" tests run\nseparately. In that case, you must define a special function\nnamed \"test-ns-hook\" that runs your tests in the correct order:\n\n(defn test-ns-hook []\n (arithmetic))\n\nNote: test-ns-hook prevents execution of fixtures (see below).\n\n\nOMITTING TESTS FROM PRODUCTION CODE\n\nYou can bind the variable \"*load-tests*\" to false when loading or\ncompiling code in production. This will prevent any tests from\nbeing created by \"with-test\" or \"deftest\".\n\n\nFIXTURES\n\nFixtures allow you to run code before and after tests, to set up\nthe context in which tests should be run.\n\nA fixture is just a function that calls another function passed as\nan argument. It looks like this:\n\n(defn my-fixture [f]\n Perform setup, establish bindings, whatever.\n (f) Then call the function we were passed.\n Tear-down / clean-up code here.\n )\n\nFixtures are attached to namespaces in one of two ways. \"each\"\nfixtures are run repeatedly, once for each test function created\nwith \"deftest\" or \"with-test\". \"each\" fixtures are useful for\nestablishing a consistent before/after state for each test, like\nclearing out database tables.\n\n\"each\" fixtures can be attached to the current namespace like this:\n(use-fixtures :each fixture1 fixture2 ...)\nThe fixture1, fixture2 are just functions like the example above.\nThey can also be anonymous functions, like this:\n(use-fixtures :each (fn [f] setup... (f) cleanup...))\n\nThe other kind of fixture, a \"once\" fixture, is only run once,\naround ALL the tests in the namespace. \"once\" fixtures are useful\nfor tasks that only need to be performed once, like establishing\ndatabase connections, or for time-consuming tasks.\n\nAttach \"once\" fixtures to the current namespace like this:\n(use-fixtures :once fixture1 fixture2 ...)\n\nNote: Fixtures and test-ns-hook are mutually incompatible. If you\nare using test-ns-hook, fixture functions will *never* be run.\n\n\nSAVING TEST OUTPUT TO A FILE\n\nAll the test reporting functions write to the var *test-out*. By\ndefault, this is the same as *out*, but you can rebind it to any\nPrintWriter. For example, it could be a file opened with\nclojure.java.io/writer.\n\n\nEXTENDING TEST-IS (ADVANCED)\n\nYou can extend the behavior of the \"is\" macro by defining new\nmethods for the \"assert-expr\" multimethod. These methods are\ncalled during expansion of the \"is\" macro, so they should return\nquoted forms to be evaluated.\n\nYou can plug in your own test-reporting framework by rebinding\nthe \"report\" function: (report event)\n\nThe 'event' argument is a map. It will always have a :type key,\nwhose value will be a keyword signaling the type of event being\nreported. Standard events with :type value of :pass, :fail, and\n:error are called when an assertion passes, fails, and throws an\nexception, respectively. In that case, the event will also have\nthe following keys:\n\n :expected The form that was expected to be true\n :actual A form representing what actually occurred\n :message The string message given as an argument to 'is'\n\nThe \"testing\" strings will be a list in \"*testing-contexts*\", and\nthe vars being tested will be a list in \"*testing-vars*\".\n\nYour \"report\" function should wrap any printing calls in the\n\"with-test-out\" macro, which rebinds *out* to the current value\nof *test-out*.\n\nFor additional event types, see the examples in the code."}
{:source-url
"https://github.com/clojure/clojure/blob/c5673086d40f206135b99a37001c80a4016c3877/src/clj/clojure/walk.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.walk-api.html",
:name "clojure.walk",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/b9b1a094499b69a94bd47fc94c4f082d80239fa9/src/clj/clojure/xml.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.xml-api.html",
:name "clojure.xml",
:author "Rich Hickey",
:doc "XML reading/writing."}
{:source-url
"https://github.com/clojure/clojure/blob/59b65669860a1f33825775494809e5d500c19c63/src/clj/clojure/zip.clj",
:wiki-url "http://clojure.github.com/clojure/clojure.zip-api.html",
:name "clojure.zip",
:author "Rich Hickey",
:doc
"Functional hierarchical zipper, with navigation, editing,\nand enumeration. See Huet"}
{:source-url
"https://github.com/clojure/clojure/blob/d2fce54ccfcf46815524c2af94d1939573c1e9a9/src/clj/clojure/core/protocols.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.core.protocols-api.html",
:name "clojure.core.protocols",
:doc nil}
{:source-url
"https://github.com/clojure/clojure/blob/36642c984cbf52456e45a8af0a96e4b7e7417041/src/clj/clojure/test/junit.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.test.junit-api.html",
:name "clojure.test.junit",
:author "Jason Sankey",
:doc
"clojure.test extension for JUnit-compatible XML output.\n\nJUnit (http://junit.org/) is the most popular unit-testing library\nfor Java. As such, tool support for JUnit output formats is\ncommon. By producing compatible output from tests, this tool\nsupport can be exploited.\n\nTo use, wrap any calls to clojure.test/run-tests in the\nwith-junit-output macro, like this:\n\n (use 'clojure.test)\n (use 'clojure.test.junit)\n\n (with-junit-output\n (run-tests 'my.cool.library))\n\nTo write the output to a file, rebind clojure.test/*test-out* to\nyour own PrintWriter (perhaps opened using\nclojure.java.io/writer)."}
{:source-url
"https://github.com/clojure/clojure/blob/36642c984cbf52456e45a8af0a96e4b7e7417041/src/clj/clojure/test/tap.clj",
:wiki-url
"http://clojure.github.com/clojure/clojure.test.tap-api.html",
:name "clojure.test.tap",
:author "Stuart Sierra",
:doc
"clojure.test extensions for the Test Anything Protocol (TAP)\n\nTAP is a simple text-based syntax for reporting test results. TAP\nwas originally develped for Perl, and now has implementations in\nseveral languages. For more information on TAP, see\nhttp://testanything.org/ and\nhttp://search.cpan.org/~petdance/TAP-1.0.0/TAP.pm\n\nTo use this library, wrap any calls to\nclojure.test/run-tests in the with-tap-output macro,\nlike this:\n\n (use 'clojure.test)\n (use 'clojure.test.tap)\n\n (with-tap-output\n (run-tests 'my.cool.library))"}),
:vars
({:arglists ([] [x] [x y] [x y & more]),
:name "*",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L943",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*",
:doc
"Returns the product of nums. (*) returns 1. Does not auto-promote\nlongs, will throw on overflow. See also: *'",
:var-type "function",
:line 943,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [x] [x y] [x y & more]),
:name "*'",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L931",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*'",
:doc
"Returns the product of nums. (*) returns 1. Supports arbitrary precision.\nSee also: *",
:var-type "function",
:line 931,
:file "src/clj/clojure/core.clj"}
{:name "*1",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5515",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*1",
:doc "bound in a repl thread to the most recent value printed",
:var-type "var",
:line 5515,
:file "src/clj/clojure/core.clj"}
{:name "*2",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5520",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*2",
:doc
"bound in a repl thread to the second most recent value printed",
:var-type "var",
:line 5520,
:file "src/clj/clojure/core.clj"}
{:name "*3",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5525",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*3",
:doc
"bound in a repl thread to the third most recent value printed",
:var-type "var",
:line 5525,
:file "src/clj/clojure/core.clj"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*agent*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"The agent currently running an action on this thread, else nil",
:name "*agent*"}
{:name "*clojure-version*",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L6149",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*clojure-version*",
:doc
"The version info for Clojure core, as a map containing :major :minor \n:incremental and :qualifier keys. Feature releases may increment \n:minor and/or :major, bugfix releases will increment :incremental. \nPossible values of :qualifier include \"GA\", \"SNAPSHOT\", \"RC-x\" \"BETA-x\"",
:var-type "var",
:line 6149,
:file "src/clj/clojure/core.clj"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*command-line-args*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"A sequence of the supplied command line arguments, or nil if\nnone were supplied",
:name "*command-line-args*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*compile-files*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc "Set to true when compiling files, false otherwise.",
:name "*compile-files*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*compile-path*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"Specifies the directory where 'compile' will write out .class\nfiles. This directory must be in the classpath for 'compile' to\nwork.\n\nDefaults to \"classes\"",
:name "*compile-path*"}
{:name "*e",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5530",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*e",
:doc
"bound in a repl thread to the most recent exception caught by the repl",
:var-type "var",
:line 5530,
:file "src/clj/clojure/core.clj"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*err*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"A java.io.Writer object representing standard error for print operations.\n\nDefaults to System/err, wrapped in a PrintWriter",
:name "*err*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*file*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"The path of the file being evaluated, as a String.\n\nEvaluates to nil when there is no file, eg. in the REPL.",
:name "*file*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*flush-on-newline*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"When set to true, output will be flushed whenever a newline is printed.\n\nDefaults to true.",
:name "*flush-on-newline*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*in*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"A java.io.Reader object representing standard input for read operations.\n\nDefaults to System/in, wrapped in a LineNumberingPushbackReader",
:name "*in*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*ns*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"A clojure.lang.Namespace object representing the current namespace.",
:name "*ns*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*out*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"A java.io.Writer object representing standard output for print operations.\n\nDefaults to System/out, wrapped in an OutputStreamWriter",
:name "*out*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*print-dup*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"When set to logical true, objects will be printed in a way that preserves\ntheir type when read in later.\n\nDefaults to false.",
:name "*print-dup*"}
{:name "*print-length*",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj#L15",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*print-length*",
:doc
"*print-length* controls how many items of each collection the\nprinter will print. If it is bound to logical false, there is no\nlimit. Otherwise, it must be bound to an integer indicating the maximum\nnumber of items of each collection to print. If a collection contains\nmore items, the printer will print items up to the limit followed by\n'...' to represent the remaining items. The root binding is nil\nindicating no limit.",
:var-type "var",
:line 15,
:file "src/clj/clojure/core_print.clj"}
{:name "*print-level*",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj#L26",
:dynamic true,
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*print-level*",
:doc
"*print-level* controls how many levels deep the printer will\nprint nested objects. If it is bound to logical false, there is no\nlimit. Otherwise, it must be bound to an integer indicating the maximum\nlevel to print. Each argument to print is at level 0; if an argument is a\ncollection, its items are at level 1; and so on. If an object is a\ncollection and is at a level greater than or equal to the value bound to\n*print-level*, the printer prints '#' to represent it. The root binding\nis nil indicating no limit.",
:var-type "var",
:line 26,
:file "src/clj/clojure/core_print.clj"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*print-meta*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"If set to logical true, when printing an object, its metadata will also\nbe printed in a form that can be read back by the reader.\n\nDefaults to false.",
:name "*print-meta*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*print-readably*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"When set to logical false, strings and characters will be printed with\nnon-alphanumeric characters converted to the appropriate escape sequences.\n\nDefaults to true",
:name "*print-readably*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*read-eval*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"When set to logical false, the EvalReader (#=(...)) is disabled in the \nread/load in the thread-local binding.\nExample: (binding [*read-eval* false] (read-string \"#=(eval (def x 3))\"))\n\nDefaults to true",
:name "*read-eval*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*unchecked-math*",
:namespace "clojure.core",
:added "1.3",
:var-type "var",
:doc
"While bound to true, compilations of +, -, *, inc, dec and the\ncoercions will be done without overflow checks. Default: false.",
:name "*unchecked-math*"}
{:file nil,
:raw-source-url nil,
:source-url nil,
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/*warn-on-reflection*",
:namespace "clojure.core",
:added "1.0",
:var-type "var",
:doc
"When set to true, the compiler will emit warnings when reflection is\nneeded to resolve Java method calls or field accesses.\n\nDefaults to false.",
:name "*warn-on-reflection*"}
{:arglists ([] [x] [x y] [x y & more]),
:name "+",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L919",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/+",
:doc
"Returns the sum of nums. (+) returns 0. Does not auto-promote\nlongs, will throw on overflow. See also: +'",
:var-type "function",
:line 919,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [x] [x y] [x y & more]),
:name "+'",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L907",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/+'",
:doc
"Returns the sum of nums. (+) returns 0. Supports arbitrary precision.\nSee also: +",
:var-type "function",
:line 907,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "-",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L978",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/-",
:doc
"If no ys are supplied, returns the negation of x, else subtracts\nthe ys from x and returns the result. Does not auto-promote\nlongs, will throw on overflow. See also: -'",
:var-type "function",
:line 978,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "-'",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L966",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/-'",
:doc
"If no ys are supplied, returns the negation of x, else subtracts\nthe ys from x and returns the result. Supports arbitrary precision.\nSee also: -",
:var-type "function",
:line 966,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x form] [x form & more]),
:name "->",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1528",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/->",
:doc
"Threads the expr through the forms. Inserts x as the\nsecond item in the first form, making a list of it if it is not a\nlist already. If there are more forms, inserts the first form as the\nsecond item in second form, etc.",
:var-type "macro",
:line 1528,
:file "src/clj/clojure/core.clj"}
{:arglists ([x form] [x form & more]),
:name "->>",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1540",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/->>",
:doc
"Threads the expr through the forms. Inserts x as the\nlast item in the first form, making a list of it if it is not a\nlist already. If there are more forms, inserts the first form as the\nlast item in second form, etc.",
:var-type "macro",
:line 1540,
:file "src/clj/clojure/core.clj"}
{:arglists ([x form] [x form & more]),
:name "..",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1510",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/..",
:doc
"form => fieldName-symbol or (instanceMethodName-symbol args*)\n\nExpands into a member access (.) of the first member on the first\nargument, followed by the next member on the result, etc. For\ninstance:\n\n(.. System (getProperties) (get \"os.name\"))\n\nexpands to:\n\n(. (. System (getProperties)) (get \"os.name\"))\n\nbut is easier to write, read, and understand.",
:var-type "macro",
:line 1510,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "/",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L955",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core//",
:doc
"If no denominators are supplied, returns 1/numerator,\nelse returns numerator divided by all of the denominators.",
:var-type "function",
:line 955,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "<",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L835",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/<",
:doc
"Returns non-nil if nums are in monotonically increasing order,\notherwise false.",
:var-type "function",
:line 835,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "<=",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L990",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/<=",
:doc
"Returns non-nil if nums are in monotonically non-decreasing order,\notherwise false.",
:var-type "function",
:line 990,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "=",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L718",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/=",
:doc
"Equality. Returns true if x equals y, false if not. Same as\nJava x.equals(y) except it also works for nil, and compares\nnumbers and collections in a type-independent manner. Clojure's immutable data\nstructures define equals() (and thus =) as a value, not an identity,\ncomparison.",
:var-type "function",
:line 718,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "==",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1035",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/==",
:doc
"Returns non-nil if nums all have the equivalent\nvalue (type-independent), otherwise false",
:var-type "function",
:line 1035,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name ">",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1005",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/>",
:doc
"Returns non-nil if nums are in monotonically decreasing order,\notherwise false.",
:var-type "function",
:line 1005,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name ">=",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1020",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/>=",
:doc
"Returns non-nil if nums are in monotonically non-increasing order,\notherwise false.",
:var-type "function",
:line 1020,
:file "src/clj/clojure/core.clj"}
{:arglists ([s key]),
:name "accessor",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3609",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/accessor",
:doc
"Returns a fn that, given an instance of a structmap with the basis,\nreturns the value at the key. The key must be in the basis. The\nreturned function should be (slightly) more efficient than using\nget, but such use of accessors should be limited to known\nperformance-critical areas.",
:var-type "function",
:line 3609,
:file "src/clj/clojure/core.clj"}
{:arglists ([array]),
:name "aclone",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3443",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aclone",
:doc
"Returns a clone of the Java array. Works on arrays of known\ntypes.",
:var-type "function",
:line 3443,
:file "src/clj/clojure/core.clj"}
{:arglists ([url]),
:name "add-classpath",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4521",
:deprecated "1.1",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/add-classpath",
:doc
"DEPRECATED \n\nAdds the url (String or URL object) to the classpath per\nURLClassLoader.addURL",
:var-type "function",
:line 4521,
:file "src/clj/clojure/core.clj"}
{:arglists ([reference key fn]),
:name "add-watch",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1909",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/add-watch",
:doc
"Alpha - subject to change.\nAdds a watch function to an agent/atom/var/ref reference. The watch\nfn must be a fn of 4 args: a key, the reference, its old-state, its\nnew-state. Whenever the reference's state might have been changed,\nany registered watches will have their functions called. The watch fn\nwill be called synchronously, on the agent's thread if an agent,\nbefore any pending sends if agent or ref. Note that an atom's or\nref's state may have changed again prior to the fn call, so use\nold/new-state rather than derefing the reference. Note also that watch\nfns may be called from multiple threads simultaneously. Var watchers\nare triggered only by root binding changes, not thread-local\nset!s. Keys must be unique per reference, and can be used to remove\nthe watch with remove-watch, but are otherwise considered opaque by\nthe watch mechanism.",
:var-type "function",
:line 1909,
:file "src/clj/clojure/core.clj"}
{:arglists ([state & options]),
:name "agent",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1841",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/agent",
:doc
"Creates and returns an agent with an initial value of state and\nzero or more options (in any order):\n\n:meta metadata-map\n\n:validator validate-fn\n\n:error-handler handler-fn\n\n:error-mode mode-keyword\n\nIf metadata-map is supplied, it will be come the metadata on the\nagent. validate-fn must be nil or a side-effect-free fn of one\nargument, which will be passed the intended new state on any state\nchange. If the new state is unacceptable, the validate-fn should\nreturn false or throw an exception. handler-fn is called if an\naction throws an exception or if validate-fn rejects a new state --\nsee set-error-handler! for details. The mode-keyword may be either\n:continue (the default if an error-handler is given) or :fail (the\ndefault if no error-handler is given) -- see set-error-mode! for\ndetails.",
:var-type "function",
:line 1841,
:file "src/clj/clojure/core.clj"}
{:arglists ([a]),
:name "agent-error",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1936",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/agent-error",
:doc
"Returns the exception thrown during an asynchronous action of the\nagent if the agent is failed. Returns nil if the agent is not\nfailed.",
:var-type "function",
:line 1936,
:file "src/clj/clojure/core.clj"}
{:arglists ([a]),
:name "agent-errors",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2003",
:deprecated "1.2",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/agent-errors",
:doc
"DEPRECATED: Use 'agent-error' instead.\nReturns a sequence of the exceptions thrown during asynchronous\nactions of the agent.",
:var-type "function",
:line 2003,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx] [array idx & idxs]),
:name "aget",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3450",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aget",
:doc
"Returns the value at the index/indices. Works on Java arrays of all\ntypes.",
:var-type "function",
:line 3450,
:file "src/clj/clojure/core.clj"}
{:arglists ([array]),
:name "alength",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3436",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/alength",
:doc
"Returns the length of the Java array. Works on arrays of all\ntypes.",
:var-type "function",
:line 3436,
:file "src/clj/clojure/core.clj"}
{:arglists ([alias namespace-sym]),
:name "alias",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3787",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/alias",
:doc
"Add an alias in the current namespace to another\nnamespace. Arguments are two symbols: the alias to be used, and\nthe symbolic name of the target namespace. Use :as in the ns macro in preference\nto calling this directly.",
:var-type "function",
:line 3787,
:file "src/clj/clojure/core.clj"}
{:arglists ([]),
:name "all-ns",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3674",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/all-ns",
:doc "Returns a sequence of all namespaces.",
:var-type "function",
:line 3674,
:file "src/clj/clojure/core.clj"}
{:arglists ([ref fun & args]),
:name "alter",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2180",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/alter",
:doc
"Must be called in a transaction. Sets the in-transaction-value of\nref to:\n\n(apply fun in-transaction-value-of-ref args)\n\nand returns the in-transaction-value of ref.",
:var-type "function",
:line 2180,
:file "src/clj/clojure/core.clj"}
{:arglists ([iref f & args]),
:name "alter-meta!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2143",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/alter-meta!",
:doc
"Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n\n(apply f its-current-meta args)\n\nf must be free of side-effects",
:var-type "function",
:line 2143,
:file "src/clj/clojure/core.clj"}
{:arglists ([v f & args]),
:name "alter-var-root",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4807",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/alter-var-root",
:doc
"Atomically alters the root binding of var v by applying f to its\ncurrent value plus any args",
:var-type "function",
:line 4807,
:file "src/clj/clojure/core.clj"}
{:arglists ([a idx ret expr]),
:name "amap",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4566",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/amap",
:doc
"Maps an expression across an array a, using an index named idx, and\nreturn value named ret, initialized to a clone of a, then setting \neach element of ret to the evaluation of expr, returning the new \narray ret.",
:var-type "macro",
:line 4566,
:file "src/clj/clojure/core.clj"}
{:arglists ([tag] [h tag]),
:name "ancestors",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4901",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/ancestors",
:doc
"Returns the immediate and indirect parents of tag, either via a Java type\ninheritance relationship or a relationship established via derive. h\nmust be a hierarchy obtained from make-hierarchy, if not supplied\ndefaults to the global hierarchy",
:var-type "function",
:line 4901,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [x] [x & next]),
:name "and",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L777",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/and",
:doc
"Evaluates exprs one at a time, from left to right. If a form\nreturns logical false (nil or false), and returns that value and\ndoesn't evaluate any of the other expressions, otherwise it returns\nthe value of the last expr. (and) returns true.",
:var-type "macro",
:line 777,
:file "src/clj/clojure/core.clj"}
{:arglists
([f args]
[f x args]
[f x y args]
[f x y z args]
[f a b c d & args]),
:name "apply",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L595",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/apply",
:doc
"Applies fn f to the argument list formed by prepending intervening arguments to args.",
:var-type "function",
:line 595,
:file "src/clj/clojure/core.clj"}
{:arglists ([a idx ret init expr]),
:name "areduce",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4582",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/areduce",
:doc
"Reduces an expression across an array a, using an index named idx,\nand return value named ret, initialized to init, setting ret to the \nevaluation of expr at each step, returning ret.",
:var-type "macro",
:line 4582,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [& keyvals]),
:name "array-map",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3888",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/array-map",
:doc "Constructs an array-map.",
:var-type "function",
:line 3888,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3461",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset",
:doc
"Sets the value at the index/indices. Works on Java arrays of\nreference types. Returns val.",
:var-type "function",
:line 3461,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-boolean",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3494",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-boolean",
:doc
"Sets the value at the index/indices. Works on arrays of boolean. Returns val.",
:var-type "function",
:line 3494,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-byte",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3514",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-byte",
:doc
"Sets the value at the index/indices. Works on arrays of byte. Returns val.",
:var-type "function",
:line 3514,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-char",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3519",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-char",
:doc
"Sets the value at the index/indices. Works on arrays of char. Returns val.",
:var-type "function",
:line 3519,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-double",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3504",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-double",
:doc
"Sets the value at the index/indices. Works on arrays of double. Returns val.",
:var-type "function",
:line 3504,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-float",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3499",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-float",
:doc
"Sets the value at the index/indices. Works on arrays of float. Returns val.",
:var-type "function",
:line 3499,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-int",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3484",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-int",
:doc
"Sets the value at the index/indices. Works on arrays of int. Returns val.",
:var-type "function",
:line 3484,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-long",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3489",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-long",
:doc
"Sets the value at the index/indices. Works on arrays of long. Returns val.",
:var-type "function",
:line 3489,
:file "src/clj/clojure/core.clj"}
{:arglists ([array idx val] [array idx idx2 & idxv]),
:name "aset-short",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3509",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/aset-short",
:doc
"Sets the value at the index/indices. Works on arrays of short. Returns val.",
:var-type "function",
:line 3509,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x message]),
:name "assert",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4222",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/assert",
:doc
"Evaluates expr and throws an exception if it does not evaluate to\nlogical true.",
:var-type "macro",
:line 4222,
:file "src/clj/clojure/core.clj"}
{:arglists ([map key val] [map key val & kvs]),
:name "assoc",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L177",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/assoc",
:doc
"assoc[iate]. When applied to a map, returns a new map of the\nsame (hashed/sorted) type, that contains the mapping of key(s) to\nval(s). When applied to a vector, returns a new vector that\ncontains val at index. Note - index must be <= (count vector).",
:var-type "function",
:line 177,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll key val] [coll key val & kvs]),
:name "assoc!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2950",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/assoc!",
:doc
"Alpha - subject to change.\nWhen applied to a transient map, adds mapping of key(s) to\nval(s). When applied to a transient vector, sets the val at index.\nNote - index must be <= (count vector). Returns coll.",
:var-type "function",
:line 2950,
:file "src/clj/clojure/core.clj"}
{:arglists ([m [k & ks] v]),
:name "assoc-in",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5421",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/assoc-in",
:doc
"Associates a value in a nested associative structure, where ks is a\nsequence of keys and v is the new value and returns a new nested structure.\nIf any levels do not exist, hash-maps will be created.",
:var-type "function",
:line 5421,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "associative?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5485",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/associative?",
:doc "Returns true if coll implements Associative",
:var-type "function",
:line 5485,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x & options]),
:name "atom",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2081",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/atom",
:doc
"Creates and returns an Atom with an initial value of x and zero or\nmore options (in any order):\n\n:meta metadata-map\n\n:validator validate-fn\n\nIf metadata-map is supplied, it will be come the metadata on the\natom. validate-fn must be nil or a side-effect-free fn of one\nargument, which will be passed the intended new state on any state\nchange. If the new state is unacceptable, the validate-fn should\nreturn false or throw an exception.",
:var-type "function",
:line 2081,
:file "src/clj/clojure/core.clj"}
{:arglists ([& agents]),
:name "await",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2855",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/await",
:doc
"Blocks the current thread (indefinitely!) until all actions\ndispatched thus far, from this thread or agent, to the agent(s) have\noccurred. Will block on failed agents. Will never return if\na failed agent is restarted with :clear-actions true.",
:var-type "function",
:line 2855,
:file "src/clj/clojure/core.clj"}
{:arglists ([timeout-ms & agents]),
:name "await-for",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2877",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/await-for",
:doc
"Blocks the current thread until all actions dispatched thus\nfar (from this thread or agent) to the agents have occurred, or the\ntimeout (in milliseconds) has elapsed. Returns nil if returning due\nto timeout, non-nil otherwise.",
:var-type "function",
:line 2877,
:file "src/clj/clojure/core.clj"}
{:arglists ([c]),
:name "bases",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4845",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bases",
:doc
"Returns the immediate superclass and direct interfaces of c, if any",
:var-type "function",
:line 4845,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "bean",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/3a3bf705c6d8029f98f82b8cc1d7a3030a3cf5d3/src/clj/clojure/core_proxy.clj#L372",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/3a3bf705c6d8029f98f82b8cc1d7a3030a3cf5d3/src/clj/clojure/core_proxy.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bean",
:doc
"Takes a Java object and returns a read-only implementation of the\nmap abstraction based upon its JavaBean properties.",
:var-type "function",
:line 372,
:file "src/clj/clojure/core_proxy.clj"}
{:arglists ([x]),
:name "bigdec",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3238",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bigdec",
:doc "Coerce to BigDecimal",
:var-type "function",
:line 3238,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "bigint",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3212",
:added "1.3",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bigint",
:doc "Coerce to BigInt",
:var-type "function",
:line 3212,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "biginteger",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3225",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/biginteger",
:doc "Coerce to BigInteger",
:var-type "function",
:line 3225,
:file "src/clj/clojure/core.clj"}
{:arglists ([bindings & body]),
:name "binding",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1734",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/binding",
:doc
"binding => var-symbol init-expr\n\nCreates new bindings for the (already-existing) vars, with the\nsupplied initial values, executes the exprs in an implicit do, then\nre-establishes the bindings that existed before. The new bindings\nare made in parallel (unlike let); all init-exprs are evaluated\nbefore the vars are bound to their new values.",
:var-type "macro",
:line 1734,
:file "src/clj/clojure/core.clj"}
{:arglists ([x y] [x y & more]),
:name "bit-and",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1228",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-and",
:doc "Bitwise and",
:var-type "function",
:line 1228,
:file "src/clj/clojure/core.clj"}
{:arglists ([x y] [x y & more]),
:name "bit-and-not",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1255",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-and-not",
:doc "Bitwise and with complement",
:var-type "function",
:line 1255,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-clear",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1266",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-clear",
:doc "Clear bit at index n",
:var-type "function",
:line 1266,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-flip",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1278",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-flip",
:doc "Flip bit at index n",
:var-type "function",
:line 1278,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "bit-not",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1221",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-not",
:doc "Bitwise complement",
:var-type "function",
:line 1221,
:file "src/clj/clojure/core.clj"}
{:arglists ([x y] [x y & more]),
:name "bit-or",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1237",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-or",
:doc "Bitwise or",
:var-type "function",
:line 1237,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-set",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1272",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-set",
:doc "Set bit at index n",
:var-type "function",
:line 1272,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-shift-left",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1291",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-shift-left",
:doc "Bitwise shift left",
:var-type "function",
:line 1291,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-shift-right",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1297",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-shift-right",
:doc "Bitwise shift right",
:var-type "function",
:line 1297,
:file "src/clj/clojure/core.clj"}
{:arglists ([x n]),
:name "bit-test",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1284",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-test",
:doc "Test bit at index n",
:var-type "function",
:line 1284,
:file "src/clj/clojure/core.clj"}
{:arglists ([x y] [x y & more]),
:name "bit-xor",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1246",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bit-xor",
:doc "Bitwise exclusive or",
:var-type "function",
:line 1246,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "boolean",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3102",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/boolean",
:doc "Coerce to boolean",
:var-type "function",
:line 3102,
:file "src/clj/clojure/core.clj"}
{:arglists ([size-or-seq] [size init-val-or-seq]),
:name "boolean-array",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4602",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/boolean-array",
:doc "Creates an array of booleans",
:var-type "function",
:line 4602,
:file "src/clj/clojure/core.clj"}
{:arglists ([xs]),
:name "booleans",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4665",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/booleans",
:doc "Casts to boolean[]",
:var-type "function",
:line 4665,
:file "src/clj/clojure/core.clj"}
{:arglists ([& fntail]),
:name "bound-fn",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1793",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bound-fn",
:doc
"Returns a function defined by the given fntail, which will install the\nsame bindings in effect as in the thread at the time bound-fn was called.\nThis may be used to define a helper function which runs on a different\nthread, but needs the same bindings in place.",
:var-type "macro",
:line 1793,
:file "src/clj/clojure/core.clj"}
{:arglists ([f]),
:name "bound-fn*",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1781",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bound-fn*",
:doc
"Returns a function, which will install the same bindings in effect as in\nthe thread at the time bound-fn* was called and then call f with any given\narguments. This may be used to define a helper function which runs on a\ndifferent thread, but needs the same bindings in place.",
:var-type "function",
:line 1781,
:file "src/clj/clojure/core.clj"}
{:arglists ([& vars]),
:name "bound?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4814",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bound?",
:doc
"Returns true if all of the vars provided as arguments have any bound value, root or thread-local.\nImplies that deref'ing the provided vars will succeed. Returns true if no vars are provided.",
:var-type "function",
:line 4814,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "butlast",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L252",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/butlast",
:doc
"Return a seq of all but the last item in coll, in linear time",
:var-type "function",
:line 252,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "byte",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3090",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/byte",
:doc "Coerce to byte",
:var-type "function",
:line 3090,
:file "src/clj/clojure/core.clj"}
{:arglists ([size-or-seq] [size init-val-or-seq]),
:name "byte-array",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4610",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/byte-array",
:doc "Creates an array of bytes",
:var-type "function",
:line 4610,
:file "src/clj/clojure/core.clj"}
{:arglists ([xs]),
:name "bytes",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4670",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/bytes",
:doc "Casts to bytes[]",
:var-type "function",
:line 4670,
:file "src/clj/clojure/core.clj"}
{:arglists ([e & clauses]),
:name "case",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5904",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/case",
:doc
"Takes an expression, and a set of clauses.\n\nEach clause can take the form of either:\n\ntest-constant result-expr\n\n(test-constant1 ... test-constantN) result-expr\n\nThe test-constants are not evaluated. They must be compile-time\nliterals, and need not be quoted. If the expression is equal to a\ntest-constant, the corresponding result-expr is returned. A single\ndefault expression can follow the clauses, and its value will be\nreturned if no clause matches. If no default expression is provided\nand no clause matches, an IllegalArgumentException is thrown.\n\nUnlike cond and condp, case does a constant-time dispatch, the\nclauses are not considered sequentially. All manner of constant\nexpressions are acceptable in case, including numbers, strings,\nsymbols, keywords, and (Clojure) composites thereof. Note that since\nlists are used to group multiple constants that map to the same\nexpression, a vector can be used to match a list if needed. The\ntest-constants need not be all of the same type.",
:var-type "macro",
:line 5904,
:file "src/clj/clojure/core.clj"}
{:arglists ([c x]),
:name "cast",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L312",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/cast",
:doc "Throws a ClassCastException if x is not a c, else returns x.",
:var-type "function",
:line 312,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "char",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3096",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/char",
:doc "Coerce to char",
:var-type "function",
:line 3096,
:file "src/clj/clojure/core.clj"}
{:arglists ([size-or-seq] [size init-val-or-seq]),
:name "char-array",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4618",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/char-array",
:doc "Creates an array of chars",
:var-type "function",
:line 4618,
:file "src/clj/clojure/core.clj"}
{:name "char-escape-string",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj#L164",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/char-escape-string",
:doc "Returns escape string for char or nil if none",
:var-type "var",
:line 164,
:file "src/clj/clojure/core_print.clj"}
{:name "char-name-string",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj#L244",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/9ccbc06fc60b51081f30148faa44b8e4676ccd43/src/clj/clojure/core_print.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/char-name-string",
:doc "Returns name string for char or nil if none",
:var-type "var",
:line 244,
:file "src/clj/clojure/core_print.clj"}
{:arglists ([x]),
:name "char?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L149",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/char?",
:doc "Return true if x is a Character",
:var-type "function",
:line 149,
:file "src/clj/clojure/core.clj"}
{:arglists ([xs]),
:name "chars",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4675",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/chars",
:doc "Casts to chars[]",
:var-type "function",
:line 4675,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "class",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3046",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/class",
:doc "Returns the Class of x",
:var-type "function",
:line 3046,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "class?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4745",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/class?",
:doc "Returns true if x is an instance of Class",
:var-type "function",
:line 4745,
:file "src/clj/clojure/core.clj"}
{:arglists ([a]),
:name "clear-agent-errors",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2013",
:deprecated "1.2",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/clear-agent-errors",
:doc
"DEPRECATED: Use 'restart-agent' instead.\nClears any exceptions thrown during asynchronous actions of the\nagent, allowing subsequent actions to occur.",
:var-type "function",
:line 2013,
:file "src/clj/clojure/core.clj"}
{:arglists ([]),
:name "clojure-version",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L6161",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/clojure-version",
:doc "Returns clojure version as a printable string.",
:var-type "function",
:line 6161,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "coll?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5453",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/coll?",
:doc "Returns true if x implements IPersistentCollection",
:var-type "function",
:line 5453,
:file "src/clj/clojure/core.clj"}
{:arglists ([& body]),
:name "comment",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4161",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/comment",
:doc "Ignores body, yields nil",
:var-type "macro",
:line 4161,
:file "src/clj/clojure/core.clj"}
{:arglists ([ref fun & args]),
:name "commute",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2159",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/commute",
:doc
"Must be called in a transaction. Sets the in-transaction-value of\nref to:\n\n(apply fun in-transaction-value-of-ref args)\n\nand returns the in-transaction-value of ref.\n\nAt the commit point of the transaction, sets the value of ref to be:\n\n(apply fun most-recently-committed-value-of-ref args)\n\nThus fun should be commutative, or, failing that, you must accept\nlast-one-in-wins behavior. commute allows for more concurrency than\nref-set.",
:var-type "function",
:line 2159,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [f] [f g] [f g h] [f1 f2 f3 & fs]),
:name "comp",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2265",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/comp",
:doc
"Takes a set of functions and returns a fn that is the composition\nof those fns. The returned fn takes a variable number of args,\napplies the rightmost of fns to the args, the next\nfn (right-to-left) to the result, etc.",
:var-type "function",
:line 2265,
:file "src/clj/clojure/core.clj"}
{:arglists ([pred]),
:name "comparator",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2679",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/comparator",
:doc
"Returns an implementation of java.util.Comparator based upon pred.",
:var-type "function",
:line 2679,
:file "src/clj/clojure/core.clj"}
{:arglists ([x y]),
:name "compare",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L766",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/compare",
:doc
"Comparator. Returns a negative number, zero, or a positive number\nwhen x is logically 'less than', 'equal to', or 'greater than'\ny. Same as Java x.compareTo(y) except it also works for nil, and\ncompares numbers and collections in a type-independent manner. x\nmust implement Comparable",
:var-type "function",
:line 766,
:file "src/clj/clojure/core.clj"}
{:arglists ([atom oldval newval]),
:name "compare-and-set!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2111",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/compare-and-set!",
:doc
"Atomically sets the value of atom to newval if and only if the\ncurrent value of the atom is identical to oldval. Returns true if\nset happened, else false",
:var-type "function",
:line 2111,
:file "src/clj/clojure/core.clj"}
{:arglists ([lib]),
:name "compile",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5388",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/compile",
:doc
"Compiles the namespace named by the symbol lib into a set of\nclassfiles. The source for the lib must be in a proper\nclasspath-relative directory. The output files will go into the\ndirectory specified by *compile-path*, and that directory too must\nbe in the classpath.",
:var-type "function",
:line 5388,
:file "src/clj/clojure/core.clj"}
{:arglists ([f]),
:name "complement",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1332",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/complement",
:doc
"Takes a fn f and returns a fn that takes the same arguments as f,\nhas the same effects, if any, and returns the opposite truth value.",
:var-type "function",
:line 1332,
:file "src/clj/clojure/core.clj"}
{:arglists ([] [x] [x y] [x y & zs]),
:name "concat",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L653",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/concat",
:doc
"Returns a lazy seq representing the concatenation of the elements in the supplied colls.",
:var-type "function",
:line 653,
:file "src/clj/clojure/core.clj"}
{:arglists ([& clauses]),
:name "cond",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L534",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/cond",
:doc
"Takes a set of test/expr pairs. It evaluates each test one at a\ntime. If a test returns logical true, cond evaluates and returns\nthe value of the corresponding expr and doesn't evaluate any of the\nother tests or exprs. (cond) returns nil.",
:var-type "macro",
:line 534,
:file "src/clj/clojure/core.clj"}
{:arglists ([pred expr & clauses]),
:name "condp",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5595",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/condp",
:doc
"Takes a binary predicate, an expression, and a set of clauses.\nEach clause can take the form of either:\n\ntest-expr result-expr\n\ntest-expr :>> result-fn\n\nNote :>> is an ordinary keyword.\n\nFor each clause, (pred test-expr expr) is evaluated. If it returns\nlogical true, the clause is a match. If a binary clause matches, the\nresult-expr is returned, if a ternary clause matches, its result-fn,\nwhich must be a unary function, is called with the result of the\npredicate as its argument, the result of that call being the return\nvalue of condp. A single default expression can follow the clauses,\nand its value will be returned if no clause matches. If no default\nexpression is provided and no clause matches, an\nIllegalArgumentException is thrown.",
:var-type "macro",
:line 5595,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll x] [coll x & xs]),
:name "conj",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L75",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/conj",
:doc
"conj[oin]. Returns a new collection with the xs\n'added'. (conj nil item) returns (item). The 'addition' may\nhappen at different 'places' depending on the concrete type.",
:var-type "function",
:line 75,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll x]),
:name "conj!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2941",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/conj!",
:doc
"Alpha - subject to change.\nAdds x to the transient collection, and return coll. The 'addition'\nmay happen at different 'places' depending on the concrete type.",
:var-type "function",
:line 2941,
:file "src/clj/clojure/core.clj"}
{:arglists ([x seq]),
:name "cons",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L22",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/cons",
:doc
"Returns a new seq where x is the first element and seq is\nthe rest.",
:var-type "function",
:line 22,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "constantly",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1344",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/constantly",
:doc
"Returns a function that takes any number of arguments and returns x.",
:var-type "function",
:line 1344,
:file "src/clj/clojure/core.clj"}
{:arglists ([c & ctor-args]),
:name "construct-proxy",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/3a3bf705c6d8029f98f82b8cc1d7a3030a3cf5d3/src/clj/clojure/core_proxy.clj#L264",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/3a3bf705c6d8029f98f82b8cc1d7a3030a3cf5d3/src/clj/clojure/core_proxy.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/construct-proxy",
:doc
"Takes a proxy class and any arguments for its superclass ctor and\ncreates and returns an instance of the proxy.",
:var-type "function",
:line 264,
:file "src/clj/clojure/core_proxy.clj"}
{:arglists ([coll key]),
:name "contains?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1377",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/contains?",
:doc
"Returns true if key is present in the given collection, otherwise\nreturns false. Note that for numerically indexed collections like\nvectors and Java arrays, this tests if the numeric key is within the\nrange of indexes. 'contains?' operates constant or logarithmic time;\nit will not perform a linear search for a value. See also 'some'.",
:var-type "function",
:line 1377,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "count",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L809",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/count",
:doc
"Returns the number of items in the collection. (count nil) returns\n0. Also works on strings, arrays, and Java Collections and Maps",
:var-type "function",
:line 809,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "counted?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5503",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/counted?",
:doc "Returns true if coll implements count in constant time",
:var-type "function",
:line 5503,
:file "src/clj/clojure/core.clj"}
{:arglists ([sym]),
:name "create-ns",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3659",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/create-ns",
:doc
"Create a new namespace named by the symbol if one doesn't already\nexist, returns it or the already-existing namespace of the same\nname.",
:var-type "function",
:line 3659,
:file "src/clj/clojure/core.clj"}
{:arglists ([& keys]),
:name "create-struct",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3576",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/create-struct",
:doc "Returns a structure basis object.",
:var-type "function",
:line 3576,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "cycle",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2556",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/cycle",
:doc
"Returns a lazy (infinite!) sequence of repetitions of the items in coll.",
:var-type "function",
:line 2556,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "dec",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1077",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dec",
:doc
"Returns a number one less than num. Does not auto-promote\nlongs, will throw on overflow. See also: dec'",
:var-type "function",
:line 1077,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "dec'",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1070",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dec'",
:doc
"Returns a number one less than num. Supports arbitrary precision.\nSee also: dec",
:var-type "function",
:line 1070,
:file "src/clj/clojure/core.clj"}
{:arglists ([n]),
:name "decimal?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3191",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/decimal?",
:doc "Returns true if n is a BigDecimal",
:var-type "function",
:line 3191,
:file "src/clj/clojure/core.clj"}
{:arglists ([& names]),
:name "declare",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2665",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/declare",
:doc
"defs the supplied var names with no bindings, useful for making forward declarations.",
:var-type "macro",
:line 2665,
:file "src/clj/clojure/core.clj"}
{:arglists ([name & decl]),
:name "definline",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4546",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/definline",
:doc
"Experimental - like defmacro, except defines a named function whose\nbody is the expansion, calls to which may be expanded inline as if\nit were a macro. Cannot be used with variadic (&) args.",
:var-type "macro",
:line 4546,
:file "src/clj/clojure/core.clj"}
{:arglists
([name doc-string? attr-map? [params*] body]
[name doc-string? attr-map? ([params*] body) + attr-map?]),
:name "defmacro",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L405",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defmacro",
:doc
"Like defn, but the resulting function name is declared as a\nmacro and will be used as a macro by the compiler when it is\ncalled.",
:var-type "macro",
:line 405,
:file "src/clj/clojure/core.clj"}
{:arglists ([multifn dispatch-val & fn-tail]),
:name "defmethod",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1609",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defmethod",
:doc
"Creates and installs a new method of multimethod associated with dispatch-value. ",
:var-type "macro",
:line 1609,
:file "src/clj/clojure/core.clj"}
{:arglists ([name docstring? attr-map? dispatch-fn & options]),
:name "defmulti",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1567",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defmulti",
:doc
"Creates a new multimethod with the associated dispatch function.\nThe docstring and attribute-map are optional.\n\nOptions are key-value pairs and may be one of:\n :default the default dispatch value, defaults to :default\n :hierarchy the isa? hierarchy to use for dispatching\n defaults to the global hierarchy",
:var-type "macro",
:line 1567,
:file "src/clj/clojure/core.clj"}
{:arglists
([name doc-string? attr-map? [params*] body]
[name doc-string? attr-map? ([params*] body) + attr-map?]),
:name "defn",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L263",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defn",
:doc
"Same as (def name (fn [params* ] exprs*)) or (def\nname (fn ([params* ] exprs*)+)) with any doc-string or attrs added\nto the var metadata",
:var-type "macro",
:line 263,
:file "src/clj/clojure/core.clj"}
{:arglists ([name & decls]),
:name "defn-",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4331",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defn-",
:doc "same as defn, yielding non-public def",
:var-type "macro",
:line 4331,
:file "src/clj/clojure/core.clj"}
{:arglists ([name expr]),
:name "defonce",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5124",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defonce",
:doc
"defs name to have the root value of the expr iff the named var has no root value,\nelse expr is unevaluated",
:var-type "macro",
:line 5124,
:file "src/clj/clojure/core.clj"}
{:arglists ([name & opts+sigs]),
:name "defprotocol",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L600",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defprotocol",
:doc
"A protocol is a named set of named methods and their signatures:\n(defprotocol AProtocolName\n\n ;optional doc string\n \"A doc string for AProtocol abstraction\"\n\n;method signatures\n (bar [this a b] \"bar docs\")\n (baz [this a] [this a b] [this a b c] \"baz docs\"))\n\nNo implementations are provided. Docs can be specified for the\nprotocol overall and for each method. The above yields a set of\npolymorphic functions and a protocol object. All are\nnamespace-qualified by the ns enclosing the definition The resulting\nfunctions dispatch on the type of their first argument, which is\nrequired and corresponds to the implicit target object ('this' in \nJava parlance). defprotocol is dynamic, has no special compile-time \neffect, and defines no new types or classes. Implementations of \nthe protocol methods can be provided using extend.\n\ndefprotocol will automatically generate a corresponding interface,\nwith the same name as the protocol, i.e. given a protocol:\nmy.ns/Protocol, an interface: my.ns.Protocol. The interface will\nhave methods corresponding to the protocol functions, and the\nprotocol will automatically work with instances of the interface.\n\nNote that you should not use this interface with deftype or\nreify, as they support the protocol directly:\n\n(defprotocol P \n (foo [this]) \n (bar-me [this] [this y]))\n\n(deftype Foo [a b c] \n P\n (foo [this] a)\n (bar-me [this] b)\n (bar-me [this y] (+ c y)))\n\n(bar-me (Foo. 1 2 3) 42)\n=> 45\n\n(foo \n (let [x 42]\n (reify P \n (foo [this] 17)\n (bar-me [this] x)\n (bar-me [this y] x))))\n=> 17",
:var-type "macro",
:line 600,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([name [& fields] & opts+specs]),
:name "defrecord",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L257",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defrecord",
:doc
"Alpha - subject to change\n\n(defrecord name [fields*] options* specs*)\n\nCurrently there are no options.\n\nEach spec consists of a protocol or interface name followed by zero\nor more method bodies:\n\nprotocol-or-interface-or-Object\n(methodName [args*] body)*\n\nDynamically generates compiled bytecode for class with the given\nname, in a package with the same name as the current namespace, the\ngiven fields, and, optionally, methods for protocols and/or\ninterfaces.\n\nThe class will have the (immutable) fields named by\nfields, which can have type hints. Protocols/interfaces and methods\nare optional. The only methods that can be supplied are those\ndeclared in the protocols/interfaces. Note that method bodies are\nnot closures, the local environment includes only the named fields,\nand those fields can be accessed directy.\n\nMethod definitions take the form:\n\n(methodname [args*] body)\n\nThe argument and return types can be hinted on the arg and\nmethodname symbols. If not supplied, they will be inferred, so type\nhints should be reserved for disambiguation.\n\nMethods should be supplied for all methods of the desired\nprotocol(s) and interface(s). You can also define overrides for\nmethods of Object. Note that a parameter must be supplied to\ncorrespond to the target object ('this' in Java parlance). Thus\nmethods for interfaces will take one more argument than do the\ninterface declarations. Note also that recur calls to the method\nhead should *not* pass the target object, it will be supplied\nautomatically and can not be substituted.\n\nIn the method bodies, the (unqualified) name can be used to name the\nclass (for calls to new, instance? etc).\n\nThe class will have implementations of several (clojure.lang)\ninterfaces generated automatically: IObj (metadata support) and\nIPersistentMap, and all of their superinterfaces.\n\nIn addition, defrecord will define type-and-value-based =,\nand will defined Java .hashCode and .equals consistent with the\ncontract for java.util.Map.\n\nWhen AOT compiling, generates compiled bytecode for a class with the\ngiven name (a symbol), prepends the current ns as the package, and\nwrites the .class file to the *compile-path* directory.\n\nTwo constructors will be defined, one taking the designated fields\nfollowed by a metadata map (nil for none) and an extension field\nmap (nil for none), and one taking only the fields (using nil for\nmeta and extension fields).",
:var-type "macro",
:line 257,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([name & keys]),
:name "defstruct",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3583",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/defstruct",
:doc "Same as (def name (create-struct keys...))",
:var-type "macro",
:line 3583,
:file "src/clj/clojure/core.clj"}
{:arglists ([name [& fields] & opts+specs]),
:name "deftype",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L344",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/deftype",
:doc
"Alpha - subject to change\n\n(deftype name [fields*] options* specs*)\n\nCurrently there are no options.\n\nEach spec consists of a protocol or interface name followed by zero\nor more method bodies:\n\nprotocol-or-interface-or-Object\n(methodName [args*] body)*\n\nDynamically generates compiled bytecode for class with the given\nname, in a package with the same name as the current namespace, the\ngiven fields, and, optionally, methods for protocols and/or\ninterfaces. \n\nThe class will have the (by default, immutable) fields named by\nfields, which can have type hints. Protocols/interfaces and methods\nare optional. The only methods that can be supplied are those\ndeclared in the protocols/interfaces. Note that method bodies are\nnot closures, the local environment includes only the named fields,\nand those fields can be accessed directy. Fields can be qualified\nwith the metadata :volatile-mutable true or :unsynchronized-mutable\ntrue, at which point (set! afield aval) will be supported in method\nbodies. Note well that mutable fields are extremely difficult to use\ncorrectly, and are present only to facilitate the building of higher\nlevel constructs, such as Clojure's reference types, in Clojure\nitself. They are for experts only - if the semantics and\nimplications of :volatile-mutable or :unsynchronized-mutable are not\nimmediately apparent to you, you should not be using them.\n\nMethod definitions take the form:\n\n(methodname [args*] body)\n\nThe argument and return types can be hinted on the arg and\nmethodname symbols. If not supplied, they will be inferred, so type\nhints should be reserved for disambiguation.\n\nMethods should be supplied for all methods of the desired\nprotocol(s) and interface(s). You can also define overrides for\nmethods of Object. Note that a parameter must be supplied to\ncorrespond to the target object ('this' in Java parlance). Thus\nmethods for interfaces will take one more argument than do the\ninterface declarations. Note also that recur calls to the method\nhead should *not* pass the target object, it will be supplied\nautomatically and can not be substituted.\n\nIn the method bodies, the (unqualified) name can be used to name the\nclass (for calls to new, instance? etc).\n\nWhen AOT compiling, generates compiled bytecode for a class with the\ngiven name (a symbol), prepends the current ns as the package, and\nwrites the .class file to the *compile-path* directory.\n\nOne constructors will be defined, taking the designated fields.",
:var-type "macro",
:line 344,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([& body]),
:name "delay",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L681",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/delay",
:doc
"Takes a body of expressions and yields a Delay object that will\ninvoke the body only the first time it is forced (with force or deref/@), and\nwill cache the result and return it on all subsequent force\ncalls. See also - realized?",
:var-type "macro",
:line 681,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "delay?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L690",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/delay?",
:doc "returns true if x is a Delay created with delay",
:var-type "function",
:line 690,
:file "src/clj/clojure/core.clj"}
{:arglists ([promise val]),
:name "deliver",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L6208",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/deliver",
:doc
"Alpha - subject to change.\nDelivers the supplied value to the promise, releasing any pending\nderefs. A subsequent call to deliver on a promise will throw an exception.",
:var-type "function",
:line 6208,
:file "src/clj/clojure/core.clj"}
{:arglists ([r]),
:name "denominator",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3183",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/denominator",
:doc "Returns the denominator part of a Ratio.",
:var-type "function",
:line 3183,
:file "src/clj/clojure/core.clj"}
{:arglists ([ref] [ref timeout-ms timeout-val]),
:name "deref",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2065",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/deref",
:doc
"Also reader macro: @ref/@agent/@var/@atom/@delay/@future/@promise. Within a transaction,\nreturns the in-transaction-value of ref, else returns the\nmost-recently-committed value of ref. When applied to a var, agent\nor atom, returns its current state. When applied to a delay, forces\nit if not already forced. When applied to a future, will block if\ncomputation not complete. When applied to a promise, will block\nuntil a value is delivered. The variant taking a timeout can be\nused for blocking references (futures and promises), and will return\ntimeout-val if the timeout (in milliseconds) is reached before a\nvalue is available. See also - realized?.",
:var-type "function",
:line 2065,
:file "src/clj/clojure/core.clj"}
{:arglists ([tag parent] [h tag parent]),
:name "derive",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4929",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/derive",
:doc
"Establishes a parent/child relationship between parent and\ntag. Parent must be a namespace-qualified symbol or keyword and\nchild can be either a namespace-qualified symbol or keyword or a\nclass. h must be a hierarchy obtained from make-hierarchy, if not\nsupplied defaults to, and modifies, the global hierarchy.",
:var-type "function",
:line 4929,
:file "src/clj/clojure/core.clj"}
{:arglists ([tag] [h tag]),
:name "descendants",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4917",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/descendants",
:doc
"Returns the immediate and indirect children of tag, through a\nrelationship established via derive. h must be a hierarchy obtained\nfrom make-hierarchy, if not supplied defaults to the global\nhierarchy. Note: does not work on Java type inheritance\nrelationships.",
:var-type "function",
:line 4917,
:file "src/clj/clojure/core.clj"}
{:arglists ([set] [set key] [set key & ks]),
:name "disj",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1411",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/disj",
:doc
"disj[oin]. Returns a new set of the same (hashed/sorted) type, that\ndoes not contain key(s).",
:var-type "function",
:line 1411,
:file "src/clj/clojure/core.clj"}
{:arglists ([set] [set key] [set key & ks]),
:name "disj!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2985",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/disj!",
:doc
"Alpha - subject to change.\ndisj[oin]. Returns a transient set of the same (hashed/sorted) type, that\ndoes not contain key(s).",
:var-type "function",
:line 2985,
:file "src/clj/clojure/core.clj"}
{:arglists ([map] [map key] [map key & ks]),
:name "dissoc",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1397",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dissoc",
:doc
"dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\nthat does not contain a mapping for key(s).",
:var-type "function",
:line 1397,
:file "src/clj/clojure/core.clj"}
{:arglists ([map key] [map key & ks]),
:name "dissoc!",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2964",
:added "1.1",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dissoc!",
:doc
"Alpha - subject to change.\nReturns a transient map that doesn't contain a mapping for key(s).",
:var-type "function",
:line 2964,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "distinct",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4413",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/distinct",
:doc
"Returns a lazy sequence of the elements of coll with duplicates removed",
:var-type "function",
:line 4413,
:file "src/clj/clojure/core.clj"}
{:arglists ([x] [x y] [x y & more]),
:name "distinct?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4988",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/distinct?",
:doc "Returns true if no two of the arguments are =",
:var-type "function",
:line 4988,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll] [n coll]),
:name "doall",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2729",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/doall",
:doc
"When lazy sequences are produced via functions that have side\neffects, any effects other than those needed to produce the first\nelement in the seq do not occur until the seq is consumed. doall can\nbe used to force any effects. Walks through the successive nexts of\nthe seq, retains the head and returns it, thus causing the entire\nseq to reside in memory at one time.",
:var-type "function",
:line 2729,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll] [n coll]),
:name "dorun",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2714",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dorun",
:doc
"When lazy sequences are produced via functions that have side\neffects, any effects other than those needed to produce the first\nelement in the seq do not occur until the seq is consumed. dorun can\nbe used to force any effects. Walks through the successive nexts of\nthe seq, does not retain the head and returns nil.",
:var-type "function",
:line 2714,
:file "src/clj/clojure/core.clj"}
{:arglists ([seq-exprs & body]),
:name "doseq",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2797",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/doseq",
:doc
"Repeatedly executes body (presumably for side-effects) with\nbindings and filtering as provided by \"for\". Does not retain\nthe head of the sequence. Returns nil.",
:var-type "macro",
:line 2797,
:file "src/clj/clojure/core.clj"}
{:arglists ([& exprs]),
:name "dosync",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4445",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dosync",
:doc
"Runs the exprs (in an implicit do) in a transaction that encompasses\nexprs and any nested calls. Starts a transaction if none is already\nrunning on this thread. Any uncaught exception will abort the\ntransaction and flow out of dosync. The exprs may be run more than\nonce, but any effects on Refs will be atomic.",
:var-type "macro",
:line 4445,
:file "src/clj/clojure/core.clj"}
{:arglists ([bindings & body]),
:name "dotimes",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2894",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/dotimes",
:doc
"bindings => name n\n\nRepeatedly executes body (presumably for side-effects) with name\nbound to integers from 0 through n-1.",
:var-type "macro",
:line 2894,
:file "src/clj/clojure/core.clj"}
{:arglists ([x & forms]),
:name "doto",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3395",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/doto",
:doc
"Evaluates x then calls all of the methods and functions with the\nvalue of x supplied at the front of the given arguments. The forms\nare evaluated in order. Returns x.\n\n(doto (new java.util.HashMap) (.put \"a\" 1) (.put \"b\" 2))",
:var-type "macro",
:line 3395,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "double",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L3078",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/double",
:doc "Coerce to double",
:var-type "function",
:line 3078,
:file "src/clj/clojure/core.clj"}
{:arglists ([size-or-seq] [size init-val-or-seq]),
:name "double-array",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4634",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/double-array",
:doc "Creates an array of doubles",
:var-type "function",
:line 4634,
:file "src/clj/clojure/core.clj"}
{:arglists ([xs]),
:name "doubles",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4695",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/doubles",
:doc "Casts to double[]",
:var-type "function",
:line 4695,
:file "src/clj/clojure/core.clj"}
{:arglists ([n coll]),
:name "drop",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2513",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/drop",
:doc
"Returns a lazy sequence of all but the first n items in coll.",
:var-type "function",
:line 2513,
:file "src/clj/clojure/core.clj"}
{:arglists ([s] [n s]),
:name "drop-last",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2525",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/drop-last",
:doc
"Return a lazy sequence of all but the last n (default 1) items in coll",
:var-type "function",
:line 2525,
:file "src/clj/clojure/core.clj"}
{:arglists ([pred coll]),
:name "drop-while",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2543",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/drop-while",
:doc
"Returns a lazy sequence of the items in coll starting from the first\nitem for which (pred item) returns nil.",
:var-type "function",
:line 2543,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "empty",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4558",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/empty",
:doc
"Returns an empty collection of the same category as coll, or nil",
:var-type "function",
:line 4558,
:file "src/clj/clojure/core.clj"}
{:arglists ([coll]),
:name "empty?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5446",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/empty?",
:doc
"Returns true if coll has no items - same as (not (seq coll)).\nPlease use the idiom (seq x) rather than (not (empty? x))",
:var-type "function",
:line 5446,
:file "src/clj/clojure/core.clj"}
{:arglists ([ref]),
:name "ensure",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2225",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/ensure",
:doc
"Must be called in a transaction. Protects the ref from modification\nby other transactions. Returns the in-transaction-value of\nref. Allows for more concurrency than (ref-set ref @ref)",
:var-type "function",
:line 2225,
:file "src/clj/clojure/core.clj"}
{:arglists ([e]),
:name "enumeration-seq",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L5032",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/enumeration-seq",
:doc "Returns a seq on a java.util.Enumeration",
:var-type "function",
:line 5032,
:file "src/clj/clojure/core.clj"}
{:arglists ([a]),
:name "error-handler",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1971",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/error-handler",
:doc
"Returns the error-handler of agent a, or nil if there is none.\nSee set-error-handler!",
:var-type "function",
:line 1971,
:file "src/clj/clojure/core.clj"}
{:arglists ([a]),
:name "error-mode",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1996",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/error-mode",
:doc "Returns the error-mode of agent a. See set-error-mode!",
:var-type "function",
:line 1996,
:file "src/clj/clojure/core.clj"}
{:arglists ([form]),
:name "eval",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2791",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/eval",
:doc
"Evaluates the form data structure (not text!) and returns the result.",
:var-type "function",
:line 2791,
:file "src/clj/clojure/core.clj"}
{:arglists ([n]),
:name "even?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L1315",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/even?",
:doc
"Returns true if n is even, throws an exception if n is not an integer",
:var-type "function",
:line 1315,
:file "src/clj/clojure/core.clj"}
{:arglists ([p] [p1 p2] [p1 p2 p3] [p1 p2 p3 & ps]),
:name "every-pred",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L6381",
:added "1.3",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/every-pred",
:doc
"Takes a set of predicates and returns a function f that returns true if all of its\ncomposing predicates return a logical true value against all of its arguments, else it returns\nfalse. Note that f is short-circuiting in that it will stop execution on the first\nargument that triggers a logical false result against the original predicates.",
:var-type "function",
:line 6381,
:file "src/clj/clojure/core.clj"}
{:arglists ([pred coll]),
:name "every?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2359",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/every?",
:doc
"Returns true if (pred x) is logical true for every x in coll, else\nfalse.",
:var-type "function",
:line 2359,
:file "src/clj/clojure/core.clj"}
{:arglists ([atype & proto+mmaps]),
:name "extend",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L654",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/extend",
:doc
"Implementations of protocol methods can be provided using the extend construct:\n\n (extend AType\n AProtocol\n {:foo an-existing-fn\n :bar (fn [a b] ...)\n :baz (fn ([a]...) ([a b] ...)...)}\n BProtocol \n {...} \n ...)\n\n extend takes a type/class (or interface, see below), and one or more\n protocol + method map pairs. It will extend the polymorphism of the\n protocol's methods to call the supplied methods when an AType is\n provided as the first argument. \n\n Method maps are maps of the keyword-ized method names to ordinary\n fns. This facilitates easy reuse of existing fns and fn maps, for\n code reuse/mixins without derivation or composition. You can extend\n an interface to a protocol. This is primarily to facilitate interop\n with the host (e.g. Java) but opens the door to incidental multiple\n inheritance of implementation since a class can inherit from more\n than one interface, both of which extend the protocol. It is TBD how\n to specify which impl to use. You can extend a protocol on nil.\n\n If you are supplying the definitions explicitly (i.e. not reusing\n exsting functions or mixin maps), you may find it more convenient to\n use the extend-type or extend-protocol macros.\n\n Note that multiple independent extend clauses can exist for the same\n type, not all protocols need be defined in a single extend call.\n\n See also:\n extends?, satisfies?, extenders",
:var-type "function",
:line 654,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([p & specs]),
:name "extend-protocol",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L754",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/extend-protocol",
:doc
"Useful when you want to provide several implementations of the same\nprotocol all at once. Takes a single protocol and the implementation\nof that protocol for one or more types. Expands into calls to\nextend-type:\n\n(extend-protocol Protocol\n AType\n (foo [x] ...)\n (bar [x y] ...)\n BType\n (foo [x] ...)\n (bar [x y] ...)\n AClass\n (foo [x] ...)\n (bar [x y] ...)\n nil\n (foo [x] ...)\n (bar [x y] ...))\n\nexpands into:\n\n(do\n (clojure.core/extend-type AType Protocol \n (foo [x] ...) \n (bar [x y] ...))\n (clojure.core/extend-type BType Protocol \n (foo [x] ...) \n (bar [x y] ...))\n (clojure.core/extend-type AClass Protocol \n (foo [x] ...) \n (bar [x y] ...))\n (clojure.core/extend-type nil Protocol \n (foo [x] ...) \n (bar [x y] ...)))",
:var-type "macro",
:line 754,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([t & specs]),
:name "extend-type",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L722",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/extend-type",
:doc
"A macro that expands into an extend call. Useful when you are\nsupplying the definitions explicitly inline, extend-type\nautomatically creates the maps required by extend. Propagates the\nclass as a type hint on the first argument of all fns.\n\n(extend-type MyType \n Countable\n (cnt [c] ...)\n Foo\n (bar [x y] ...)\n (baz ([x] ...) ([x y & zs] ...)))\n\nexpands into:\n\n(extend MyType\n Countable\n {:cnt (fn [c] ...)}\n Foo\n {:baz (fn ([x] ...) ([x y & zs] ...))\n :bar (fn [x y] ...)})",
:var-type "macro",
:line 722,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([protocol]),
:name "extenders",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L475",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/extenders",
:doc
"Returns a collection of the types explicitly extending protocol",
:var-type "function",
:line 475,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([protocol atype]),
:name "extends?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj#L468",
:added "1.2",
:raw-source-url
"https://github.com/clojure/clojure/raw/6d84867f4c892159ad48f6ef4b56f11567b2172c/src/clj/clojure/core_deftype.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/extends?",
:doc "Returns true if atype extends protocol",
:var-type "function",
:line 468,
:file "src/clj/clojure/core_deftype.clj"}
{:arglists ([x]),
:name "false?",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L466",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/false?",
:doc "Returns true if x is the value false, false otherwise.",
:var-type "function",
:line 466,
:file "src/clj/clojure/core.clj"}
{:arglists ([x]),
:name "ffirst",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L96",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/ffirst",
:doc "Same as (first (first x))",
:var-type "function",
:line 96,
:file "src/clj/clojure/core.clj"}
{:arglists ([dir]),
:name "file-seq",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L4354",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/file-seq",
:doc "A tree seq on java.io.Files",
:var-type "function",
:line 4354,
:file "src/clj/clojure/core.clj"}
{:arglists ([pred coll]),
:name "filter",
:namespace "clojure.core",
:source-url
"https://github.com/clojure/clojure/blob/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj#L2461",
:added "1.0",
:raw-source-url
"https://github.com/clojure/clojure/raw/f5f827ac9fbb87e770d25007472504403ed3d7a6/src/clj/clojure/core.clj",
:wiki-url
"http://clojure.github.com/clojure//clojure.core-api.html#clojure.core/filter",
:doc