IFn (Clojure API)
Date: 2016-02-23

clojure.lang

## Interface IFn

- All Superinterfaces:
    java.util.concurrent.Callable, java.lang.Runnable

      public interface IFn
      extends java.util.concurrent.Callable, java.lang.Runnable

  `IFn` provides complete access to invoking any of Clojure's APIs. You can also access any other library written in Clojure, after adding either its source or compiled form to the classpath.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `applyTo(clojure.lang.ISeq arglist)`
    `java.lang.Object` | `invoke()`
    `java.lang.Object` | `invoke(java.lang.Object arg1)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16, java.lang.Object arg17)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16, java.lang.Object arg17, java.lang.Object arg18)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16, java.lang.Object arg17, java.lang.Object arg18, java.lang.Object arg19)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16, java.lang.Object arg17, java.lang.Object arg18, java.lang.Object arg19, java.lang.Object arg20)`
    `java.lang.Object` | `invoke(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12, java.lang.Object arg13, java.lang.Object arg14, java.lang.Object arg15, java.lang.Object arg16, java.lang.Object arg17, java.lang.Object arg18, java.lang.Object arg19, java.lang.Object arg20, java.lang.Object... args)`

    - ### Methods inherited from interface java.util.concurrent.Callable

      `call`

    - ### Methods inherited from interface java.lang.Runnable

      `run`

- - ### Method Detail

    - #### invoke

          java.lang.Object invoke()

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16,
                                java.lang.Object arg17)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16,
                                java.lang.Object arg17,
                                java.lang.Object arg18)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16,
                                java.lang.Object arg17,
                                java.lang.Object arg18,
                                java.lang.Object arg19)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16,
                                java.lang.Object arg17,
                                java.lang.Object arg18,
                                java.lang.Object arg19,
                                java.lang.Object arg20)

    - #### invoke

          java.lang.Object invoke(java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4,
                                java.lang.Object arg5,
                                java.lang.Object arg6,
                                java.lang.Object arg7,
                                java.lang.Object arg8,
                                java.lang.Object arg9,
                                java.lang.Object arg10,
                                java.lang.Object arg11,
                                java.lang.Object arg12,
                                java.lang.Object arg13,
                                java.lang.Object arg14,
                                java.lang.Object arg15,
                                java.lang.Object arg16,
                                java.lang.Object arg17,
                                java.lang.Object arg18,
                                java.lang.Object arg19,
                                java.lang.Object arg20,
                                java.lang.Object... args)

    - #### applyTo

          java.lang.Object applyTo(clojure.lang.ISeq arglist)