Skip to content

molarmanful/sclin

Repository files navigation

sclin

maven build license

sclin 100I-a \; tap
  "Fizz""Buzz", over 3 5, % ! *` \pop ||# n>o

Try it on scline!

A concatenative cyborg chimera.

sclin is a programming language that leans heavily into its weirdness. Some of its features include:

  • Postfix notation - sclin reads left-to-right with no precedence rules. Concatenation is composition!
  • The Stack - sclin's FIFO stack serves as both storage and a "staging ground" for function arguments. This - in tandem with stack manipulation commands - enables an intuitive point-free style that mirrors those found in functional languages.
  • Line-jumping - sclin treats each line as a separate function, enabling "GOTO"-style line execution commands to create recursion and other control flow structures.
  • Vectorization - Most of sclin's built-in commands vectorize, which allow those commands to operate on arbitrarily nested data structures.
  • Concise symbols - sclin's commands follow a pictographic language to convey and distinguish properties.
  • Type fluidity - Most (if not all) sclin commands auto-convert types as necessary, eschewing type safety for flexibility and expressiveness.

For more info/docs, please visit the wiki.

Installation

Browser Interface

Try it on scline! The official online interpreter for sclin.

Requirements

  • JRE/JDK 21+

Installation with Coursier

cs install --contrib sclin

Prebuilt Executable

Download the latest executable JAR from releases and place it on your $PATH. Verify that it works with sclin --help.

Building from Scratch

Clone this repo, cd into it, and run ./mill sclin.assembly (use mill.bat instead of mill if on Windows). The built JAR is at out/sclin/assembly.dest/out.jar.

Tooling/Projects

Licensing

Made with ♥ by Ben Pang. Released under the MIT License.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy