User:I am islptng/Draft for SLet 4
Jump to navigation
Jump to search
<- Older version | Newest version
Designed by | User:I am islptng |
---|---|
Appeared in | 2025 |
Computational class | Turing-complete |
Reference implementation | NonePython |
Influenced by | GolfScript |
File extension(s) | .slet |
In SLet 3, the programs are too long, so the author created SLet 4!
Data types
In this esolang, there is 5 data types.
Number: Fraction. Size is unlimited. Division by 0 is NaN. Boolean: true or false. Pair: A pair of objects. One former value and one latter value. Lambda: Just a lambda function. Set: The most common data type. Objects in a set is always sorted. Boolean < Number < Pair < Set < Lambda.
Commands
Braces are ignored.
==== Flow Control ~ for / filtrate [ while \ do @ call ! all ==== Input/Output ; get-char : put-char , input . print ` decprint ==== Data structures and calculations match |' Make a pair. Returns (A,B). combine || Makes a set with various objects by union. End with "!". opposite |- Not boolean A. Negate number A. Does 'reveal' otherwise. swap |$ Swap the two objects in pair A. Swap the numerator and the denominator in number A. Does 'size' otherwise. former |< Former object of pair A. Numerator of number A. The smallest item in a set. latter |> Latter object of pair A. Denominator of number B. The biggest item in a set. pack |^ Pack object A into a set. exist |= True if object A is a subset of object B. add |+ Does addition between numbers, OR between booleans. multiply |* Does multiplication between numbers, AND between booleans, intersection between sets. floordiv |/ Does floor division between numbers. modulo |% Does modulo between numbers. range |] Python "range(A,B,C)". Returns sets. ==== Variables # let
Strings can be written in double quotes. Use backslash for escape(\q is used for double quotes.). Comments are written between parentheses.