lib/pseudoc.ex

defmodule Pseudoc do
  @moduledoc """
  pseudoc — name reserved for the Pseudo programming language CLI.

  `pseudoc` is the canonical CLI binary name for the Pseudo language; this
  Hex.pm package reserves the matching universal-package-name slot. Alias
  of the `pseudo_lang` package; both point at the same Pseudo project.

  The Pseudo language is currently in pre-v1 development. The actual
  Elixir bindings (if Elixir ever becomes a target — currently not in
  ADR-0032's 10 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
    """

      pseudoc — name reserved for the Pseudo programming language CLI.

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