A stack oriented esoteric programming language inspired by poetry and forth

paperStack

A stack oriented esoteric programming language inspired by poetry and forth

What is paperStack

  • A stack oriented language
  • An esoteric programming language
  • Programming as an art form
  • Code is writen as poetry
  • A program is an algorith and a poem at the same time

Development

  • Languages: Go (Golang)
  • Libraries: Vyper, Cobra, Logrus, Testify
  • Inspirations: Poetry, Porth, Forth, Shakespeare, Chef, ...

Documentation

Stack Operations

  • Swap
|a|     |b|
|b| ->  |a|
|c|     |c|   
  • Drop
|a|     
|b| ->  |b|
|c|     |c|   
  • Dup
|a|     |a|
|b| ->  |a|
|c|     |b|   
  • Dup2
|a|     |a|
|b| ->  |b|
|c|     |a|   
|d|     |b|
  • Over
|a|     |b|
|b| ->  |a|
|c|     |b|   
  • Rot
|a|     |c|
|b| ->  |a|
|c|     |b|   
  • Pop
|a|  |a|          
|b| ->  |b|
|c|     |c|   
  • Pop2
|a|  |a|          
|b|  |b|
|c| -> |c|   
  • Push
|a|    |x|          
|b|    |a|
|c| -> |b|   

Math Operations

  • Plus +
|a|     
|b| -> |a+b|
|c|     |c|   
  • Minus -
|a|     
|b| -> |a-b|
|c|     |c|   
  • Times *
|a|     
|b| -> |a*b|
|c|     |c|   
  • Divide /
|a|     
|b| -> |a/b|
|c|     |c|   
  • Power ^
|a|     
|b| -> |a^b|
|c|     |c|   
  • Modulus %
|a|     
|b| -> |a%b|
|c|     |c|   

Comparrison Operations

  • Equal ==
|a|     
|b| -> |a==b|
|c|    |c|   
  • Different !=
|a|     
|b| -> |a!=b|
|c|    |c|   
  • Lesser <
|a|     
|b| -> |a
   
  • LesserEq <=
|a|     
|b| -> |a<=b|
|c|    |c|   
  • Greater >
|a|     
|b| -> |a>b|
|c|     |c|   
  • GreaterEq >=
|a|     
|b| -> |a>=b|
|c|    |c|   

Math Functions

  • Abs (Absolute value)
|a|    |Abs(a)| 
|b| -> |b|
|c|    |c|   
  • Sqrt (Square root)
|a|    |Sqrt(a)| 
|b| -> |b|
|c|    |c|   
  • Max
|a|    
|b| -> |Max(a,b)| 
|c|    |c|   
  • Min
|a|    
|b| -> |Min(a,b)| 
|c|    |c|   
  • Floor
|a|    |Floor(a)| 
|b| -> |b|
|c|    |c|   
  • Ceil
|a|    |Ceil(a)| 
|b| -> |b|
|c|    |c|   
  • Exp (Exponential)
|a|    |Exp(a)| 
|b| -> |b|
|c|    |c|   
  • Log (Logarithm)
|a|    |Log(a)| 
|b| -> |b|
|c|    |c|   
  • Simetric
|a|    |-a| 
|b| -> |b|
|c|    |c|   
  • Tan (Tangent)
|a|    |tan(a)| 
|b| -> |b|
|c|    |c|   
  • Sin (Sine)
|a|    |sin(a)| 
|b| -> |b|
|c|    |c|   
  • Cos (Cossine)
|a|    |cos(a)| 
|b| -> |b|
|c|    |c|   
Owner
Currently studying Physics at FCUP I am a student from Famalicรฃo, Portugal. I love science, particularly physics and computer science.
null
Similar Resources

The Gorilla Programming Language

The Gorilla Programming Language

Gorilla Programming Language Gorilla is a tiny, dynamically typed, multi-engine programming language It has flexible syntax, a compiler, as well as an

Apr 16, 2022

Elastic is an Elasticsearch client for the Go programming language.

Elastic is an Elasticsearch client for the Go programming language.

Jan 9, 2023

๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ปA simple compiled programming language

๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ปA simple compiled programming language

The language is written in Go and the target language is C. The built-in library is written in C too

Nov 29, 2022

accessor methods generator for Go programming language

accessory accessory is an accessor generator for Go programming language. What is accessory? Accessory is a tool that generates accessor methods from

Nov 15, 2022

Http web frame with Go Programming Language

Http web frame with Go Programming Language

Oct 17, 2021

A modern programming language written in Golang.

MangoScript A modern programming language written in Golang. Here is what I want MangoScript to look like: struct Rectangle { width: number he

Nov 12, 2021

Oak is an expressive, dynamically typed programming language

Oak ๐ŸŒณ Oak is an expressive, dynamically typed programming language. It takes the best parts of my experience with Ink, and adds what I missed and rem

Dec 30, 2022

Besten programming language

Besten What holds this repository? Besten Lexer Besten Parser Besten Interpreter Besten Module Loader Besten Lexer Located in ./internal/lexer A set o

Jun 13, 2022

๐ŸŽ… A programming language for Advent of Code.

๐ŸŽ… Adventlang My blog post: Designing a Programming Language for Advent of Code A strongly typed but highly dynamic programming language interpreter w

Dec 28, 2022
Gec is a minimal stack-based programming language

Gec is a minimal stack-based programming language

Sep 18, 2022
Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

Advent of Code 2021 Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved

Dec 2, 2021
Jan 4, 2022
Lithia is an experimental functional programming language with an implicit but strong and dynamic type system.

Lithia is an experimental functional programming language with an implicit but strong and dynamic type system. Lithia is designed around a few core concepts in mind all language features contribute to.

Dec 24, 2022
Core Brightgate Software Stack

Brightgate Product Software Directories Directory Description base/ Resource and Protocol Buffer message definitions build/ Scripts to do with buildin

Sep 25, 2021
Stack-Overflow Tags Monitor
Stack-Overflow Tags Monitor

stack-overflow monitor Simple stackoverflow monitor (tags based) Install go install github.com/butuzov/stackoverflow@latest Usage stackoverflow -h=wo

Dec 24, 2021
customer.io full stack engineer take home project
customer.io full stack engineer take home project

customer.io full stack engineer take home project

Jan 21, 2022
Unit tests generator for Go programming language
Unit tests generator for Go programming language

GoUnit GoUnit is a commandline tool that generates tests stubs based on source function or method signature. There are plugins for Vim Emacs Atom Subl

Jan 1, 2023
FreeSWITCH Event Socket library for the Go programming language.

eventsocket FreeSWITCH Event Socket library for the Go programming language. It supports both inbound and outbound event socket connections, acting ei

Dec 11, 2022
Simple interface to libmagic for Go Programming Language

File Magic in Go Introduction Provides simple interface to libmagic for Go Programming Language. Table of Contents Contributing Versioning Author Copy

Dec 22, 2021