Draft:Some unnamed language

From Esolanging
Jump to navigationJump to search

Some unnamed language is an esolang invented by user:phira, it is using buffers for computation..


Codepage

This language use a custom codepage.

0 1 2 3 4 5 6 7 8 9 a b c d e f
0 ♩ ♪ ♫ ♬ ¤ § © ® ℗ ™ ◁ ▷ ♤ ♡ ♢ ♧
1 ± ∞ ☾ ☽ △ ▲ ▽ ▼ ○ ● ◀ ▶ ♠ ♥ ♦ ♣
2 space ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~
8 ℕ ℤ ℚ ℝ ℂ ℍ α β γ δ ε ζ η θ ι κ
9 λ μ ν ξ π ρ σ τ υ φ χ ψ ω ↖ ↑ ↗
a † ‡ · Γ Δ Θ Λ Ξ Π Σ Φ Ψ Ω ← ◎ →
b ⊕ ⊙ ∫ ‰ “ ” ‹ › ∵ ∴ £ ¥ Þ ↙ ↓ ↘
c ⁿ Ȧ Ḃ Ċ Ḋ Ė Ḟ Ġ Ḣ İ ∂ ʊ ‘ Ṁ Ṅ Ȯ
d Ṗ « Ṙ Ṡ Ṫ ≒ × Ẇ Ẋ Ẏ Ż ½ ⅓ ⅔ ¼ ¾
e ⊥ ȧ ḃ ċ ḋ ė ḟ ġ ḣ ï ð ª ’ ṁ ṅ ȯ
f ṗ » ṙ ṡ ṫ ∅ ÷ ẇ ẋ ẏ ż ₁ ₂ ₃ ² ³

or as a 256-character string:

♩♪♫♬¤§©®℗™◁▷♤♡♢♧±∞☾☽△▲▽▼○●◀▶♠♥♦♣ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~¶ℕℤℚℝℂℍαβγδεζηθικλμνξπρστυφχψω↖↑↗†‡·ΓΔΘΛΞΠΣΦΨΩ←◎→⊕⊙∫‰“”‹›∵∴£¥Þ↙↓↘ⁿȦḂĊḊĖḞĠḢİ∂ʊ‘ṀṄȮṖ«ṘṠṪ≒×ẆẊẎݽ⅓⅔¼¾⊥ȧḃċḋėḟġḣïðª’ṁṅȯṗ»ṙṡṫ∅÷ẇẋẏż₁₂₃²³

Program flow

the program runs on a buffer which can be arbitrarily large, and initially has nothing.

groups still need functions: Ġ℗←WζȧḞ₁ ↑Ȧẏ↙ρ×♦Ḃ ”↓ḊKΠΣYT⊥qṡ∵gjι‘ïℚ◁®y‡£χ♬→ηx²\ℂrℝ♫ẋġΨℕÞ6'C1△Ẋẇ§∞·uṁBĊ"X≒Ṫ:ż☾»♧↘# Θ♪ḟŻ◎○βlo2%₃ð0$γ™I-sZ☽ʊ?ΔḃẆṀ«cN◀]⅓_⊙⅔Ẏ▲μ♩ṘνΛ●t↖υ▼/ωⁿ8&↗¥±α!δȮfVεSė÷Φ;kMA

Caption text
command (any in the set is ok) meaning
H¼Γ>@={© append "Hello, World!" into buffer
Qṙd†Ṡ♠zw append program's source code into buffer
9ℍ5“i∫[b append lyrics of 99 bottles of beer into buffer
³ℤg triple each character's charcode of buffer modulo 256
+’ adds the adjacent characters of the buffer and modulo the charcode to produce a new character, replace buffer with that. eg. abcdef⊥∵ -> 97 98 99 100 101 102 224 184 -> 197 199 201 152 -> ĖĠİυ
^Ṅṅȯ same as + but xors instead
|}ªG unconditionally skips 2 instructions
R‹*pmψ♢` reverse entire buffer
3Ṗİ< append the first 3 chars of buffer to buffer
h∴¶ append "h!.rf[,zla;,,[.zq" to buffer
(ḋ½ jump to the corresponding command whose group is equal to that of )
)Ėξ jump to the corresponding command whose group is equal to that of (
Ωθ skips next command if buffer front is equal to previous character in program. eg. aΩ(bḢ) with buffer a single a will skip the ( and Ḣ skips the ), thus terminates.
∅Ḣ skips next command if buffer front is NOT equal to previous character in program.
L¾ḣ append the length of buffer, as base 23, to buffer. aphabet: 0123456789abc_.?∂<)Ėξ>
.‰τ output & remove first char of buffer
φσ∂ċ input a character and append to buffer
e♥U4 expands the program by the buffer. does not clear the buffer
OJn♡ outputs and cleans entire buffer
π▶E▷ṫP♤7 append "3.14159265358979323846264338327" to buffer
FΞ♣Daλκ¤ use fence cipher to encrypt buffer, using x lanes, x is the charcode of the character following this command (will be executed) modulo 17, and added by 2.
ṗ,v⊕₂›~▽ appends all characters with prime codepoints into buffer, that is, ♫♬§®▷♡∞☽▼♥♣%)+/5;=CGIOSYaegkmq¶ℝδζρτ↖ΓΞ←‰”↘ȦĖĠṠ¾ċėïȯ»₁