• Kipper

    v0.12.1
  • Downloads

  • Docs

  • Playground

  • Changelog

  • Kipper

    v0.12.1
    • Downloads

    • Docs

    • Playground

    • Changelog

      • next /
      • Kipper API /
      • Module /
      • @kipper/core /
      • compiler
    Kipper Docs
    • next
    • latest
    • 0.11.0
    • 0.10.4
    • 0.9.2
    • Overview

    • Quickstart

    • Goals for Kipper

    • Supported platforms

    • Usage Examples

      • Overview

    • Variables

      • Overview

      • String Type

      • Number Type

      • Boolean Type

      • Void Type

      • Null Type

      • Undefined Type

      • Array Type

      • Overview

      • Tangled Expression

      • Arithmetic Expression

      • Assignment Expression

      • Conditional Expressions

      • Logical Expressions

      • Bitwise Expression

      • Relational Expressions

      • Convert Or Cast Expression

      • F-String Expression

      • Member Access Expression

      • Function Call Expression

      • Lambda Expression

      • Matches Expression

      • Overview

      • Expression Statement

      • If Statement

      • While Loop

      • Do-While Loop

      • For Loop

      • Compound Statement

      • Jump Statement

    • Functions

    • Interfaces

    • Classes

    • Comments

    • Built-in Functions

      • Overview

      • Compiler Setup

        • Overview

          • index

          • compiler

          • errors

          • logger

          • utils

          • config

          • index

          • index

        • Overview

        • new

        • run

        • compile

        • help

        • version

      • next /
      • Kipper API /
      • Module /
      • @kipper/core /
      • compiler
    • next /
    • Kipper API /
    • Module /
    • @kipper/core /
    • compiler

    Edit page

    Class: InternalFunction

    compiler.InternalFunction

    Interface representation of a InternalFunction, which is used to provide functionality for Kipper specific keywords, internal logic and other implementation related handling that must be present for a program to work.

    Since

    0.8.0

    Since

    0.11.0 Became a class instead of an interface.

    Table of contents

    Constructors

    • constructor

    Properties

    • identifier
    • params
    • returnType

    Constructors

    constructor

    • new InternalFunction(identifier, params, returnType)

    Parameters

    Name Type
    identifier string
    params InternalFunctionArgument[]
    returnType ProcessedType

    Defined in

    kipper/core/src/compiler/semantics/runtime-internals/internal-function.ts:40

    Properties

    identifier

    • Readonly identifier: string

    The identifier of the internal function.

    The identifier may only contain default numbers and alphabet characters!

    Example

    "4" as num; // 'strAsNum' is the internal function used to perform this expression

    Since

    0.8.0

    Defined in

    kipper/core/src/compiler/semantics/runtime-internals/internal-function.ts:19


    params

    • Readonly params: InternalFunctionArgument[]

    The args that are accepted inside this function. These are represented using InternalFunctionArgument.

    The index in the array also represents the argument position inside the function. Meaning the first item in the array maps to the first argument inside the function.

    Since

    0.8.0

    Defined in

    kipper/core/src/compiler/semantics/runtime-internals/internal-function.ts:28


    returnType

    • Readonly returnType: ProcessedType

    The expected return of the function. If the return type is KipperVoidType void, then the function will not return anything.

    Unlike BuiltInFunction, this can also be an array of types, which means that the function return may be a union.

    Since

    0.8.0

    Defined in

    kipper/core/src/compiler/semantics/runtime-internals/internal-function.ts:38

  • Developed at:

    • Releases
    • GitHub
    • Security
    • Issue Tracker
    • License
  • Copyright © 2021-2026 Luna Klatzer, 2024-2025 Lorenz Holzbauer & Fabian Baitura.
    Kipper is licensed under the GPL-3.0-or-later license.