pseudo_lang/lib.rs
1//! `pseudo-lang` — name reserved for the [Pseudo] language.
2//!
3//! The Pseudo language is currently in pre-v1 development. The actual
4//! Rust runtime + compiler bindings will be published to crates.io when
5//! v1.0 Ludens ships and Vladimir Dukelic personally tests + approves
6//! the working version.
7//!
8//! Until then:
9//!
10//! - **Source**: <https://github.com/siliconyouth/pseudo>
11//! - **Marketing**: <https://pseudo-lang.com> (lands at v1.0)
12//! - **Spec**: in the GitHub repo under `docs/superpowers/specs/`
13//! - **Compatibility matrix**: `COMPATIBILITY.md` in the repo
14//! - **Standards conformance**: `CONFORMANCE.md` in the repo
15//!
16//! License: MIT OR Apache-2.0
17//! Owner: Vladimir Dukelic <vladimir@dukelic.com>
18//!
19//! [Pseudo]: https://github.com/siliconyouth/pseudo
20
21#![doc(html_root_url = "https://docs.rs/pseudo-lang/0.0.1")]
22
23/// Reserved-name marker. Always `true` in this placeholder release.
24pub const RESERVED: bool = true;
25
26/// Pre-v1 development status.
27pub const STATUS: &str = "pre-v1";
28
29/// Marketing site URL (lands at v1.0).
30pub const HOMEPAGE: &str = "https://pseudo-lang.com";
31
32/// Upstream repository.
33pub const REPOSITORY: &str = "https://github.com/siliconyouth/pseudo";
34
35/// Print the reserved-name notice.
36pub fn notice() -> &'static str {
37 "\n pseudo-lang — name reserved for the Pseudo language.\n\n The actual crate will be published when v1.0 Ludens ships.\n Source: https://github.com/siliconyouth/pseudo\n"
38}
39
40#[cfg(test)]
41mod tests {
42 use super::*;
43
44 #[test]
45 fn reserved() {
46 assert!(RESERVED);
47 assert_eq!(STATUS, "pre-v1");
48 assert!(notice().contains("pseudo-lang"));
49 }
50}