Skip to content

augmenting README #27

Open
Open
@JeffreySarnoff

Description

@JeffreySarnoff

There are no separate docs yet. Considering what ought be mentioned, I am editing the README (to become a PR when clean and of our agreement).

Here is a start with some questions,

  • should Static.dynamic become part of the interface example?
  • should NDIndex be described as an external export, or is it for special uses?
  • how to describe StaticBool with True, True(), False, False()?
  • what is a good intro explaining why and where to use this?

Static

Stable
Dev
Build Status
Coverage

Static defines a limited set of statically parameterized types and a common interface that is shared between them. Defining a new static type that conforms with this interface only requires defining the following:

  • Static.static(::T) - given the non-static type T return its static counterpart.
  • Static.dynamic(::Type{S})- given the static type S return the known non-static type.
  • Static.is_static(::Type{S}) - given the static type S return True() (else False())
  • Static.known(::Type{S})- given the static type S return the known non-static value.

Fore example, the following would appropriately define the interface for StaticChar

Static.static(x::Char) = StaticChar(x)
Static.dynamic(::Type{StaticChar}) = Char
Static.is_static(::Type{T}) where {T<:StaticChar} = True()
Static.known(::Type{StaticChar{C}}) where {C} = C::Char

Exported Types

  • StaticBool, True, False
  • StaticInt, StaticFloat64
  • StaticSymbol
  • NDIndex

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions