lib/pseudo_lang.ex

defmodule PseudoLang do
  @moduledoc """
  pseudo_lang — name reserved for the Pseudo programming language.

  The Pseudo language is currently in pre-v1 development. The actual
  Elixir bindings (if Elixir ever becomes a target — currently not in
  ADR-0019's 9 official targets) or simply a stable name reservation
  will be published to Hex.pm when v1.0 Ludens ships and Vladimir
  Dukelic personally tests + approves the working version.

  Until then:

    * Source:        https://github.com/siliconyouth/pseudo
    * Marketing:     https://pseudo-lang.com (lands at v1.0)
    * Spec:          docs/superpowers/specs/ in the GitHub repo
    * Compatibility: COMPATIBILITY.md in the GitHub repo
    * Conformance:   CONFORMANCE.md in the GitHub repo

  License: MIT OR Apache-2.0
  Owner:   Vladimir Dukelic <vladimir@dukelic.com>
  """

  @reserved true
  @status "pre-v1"
  @homepage "https://pseudo-lang.com"
  @repository "https://github.com/siliconyouth/pseudo"

  @doc "Reserved-name marker. Always `true` in this placeholder release."
  def reserved?, do: @reserved

  @doc "Pre-v1 development status."
  def status, do: @status

  @doc "Marketing site URL (lands at v1.0)."
  def homepage, do: @homepage

  @doc "Upstream repository."
  def repository, do: @repository

  @doc "The reserved-name notice text."
  def notice do
    """

      pseudo_lang — name reserved for the Pseudo programming language.

      The actual package will be published when v1.0 Ludens ships.
      Source: #{@repository}
    """
  end
end