Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

beatnik

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

beatnik

beatnik interpreter

  • 1.0
  • PyPI
  • Socket score

Maintainers
1

Beatnik

This python package contains functions for stack-based esoteric programming language: Beatnik

Description

Beatink is a stack-based esoteric programming language created by Cliff L. Biffle. This package contains each ACTION functions by the rules of beatnik, and build a stack to calculate the resulted output from the given text.

Scrabble letter values
--- ABCDEFGHIJKLMNOPQRSTUVWXYZ ---
 1: A---E---I--L-NO--RSTU-----
 2: ---D--G-------------------
 3: -BC---------M--P----------
 4: -----F-H-------------VW-Y-
 5: ----------K---------------
 6: --------------------------
 7: --------------------------
 8: ---------J-------------X--
 9: --------------------------
10: ----------------Q--------Z
--- ABCDEFGHIJKLMNOPQRSTUVWXYZ ---

Action list

The following table describes the meaning of the ACTIONS (see above).

ScorePseudo-CodeDescription
<5NOOPDoes nothing. The Beatnik Interpreter may mock you for your poor scoring, at its discretion.
5 npush(n)Finds the score of the next word and push it onto the stack.
the actual word with 5 is then skipped.
6pop(n)Pops the top number off the stack and discards it.
7push(pop()+pop())Adds the top two values on the stack together
8push(input())Input a character from the user and push its value on the stack. Waits for a keypress.
9print(pop())Pop a number off the stack and output the corresponding ASCII character to the screen.
10push(pop()-pop())Pop two numbers from the stack, subtract the first one popped from the second one popped, and push the result.
11a = pop(); b = pop(); push(a); push(b)Swap the top two values on the stack.
12a = pop(); push(a); push(a)Duplicate the top value and pushes the value on top of the stack.
13 nif(top()==0) jump(+n)Pop a number from the stack, and figure out the score of the next word.
If the number from the stack is zero, skip ahead by n words, where n is the score of the next word.
(The skipping is actually n+1 words, because the word scored to give us n is also skipped.)
14 nif(top()!=0) jump(+n)Same as above, except skip if the value on the stack isn't zero.
15if(top()==0) jump(-n)Skip back n words, if the value on the stack is zero.
16if(top()!=0) jump(-n)Skip back if it's not zero.
17exit()Stop the program.
18-23NOOPDoes nothing. However, the score is high enough that the Beatnik Interpreter will not mock you, unless it's had a really bad day.
>23Generates "Beatnik applause" for the programmer.

Installation

The Blend Modes package can be installed through pip:

pip install beatnik

Import

from beatnik import beatnik_simple
from beatnik import beatnik_stack

Use the example file beatnik_interact


Simple usage of this library

text = "this is a line of text"
beatnik.beatnik_simple(text,debug=True)

Step-by-step

preprocess text

text = "this is a line of text"
words = beatnik.preprocess(text)

scrabbling word

VALUE = []
  for i in word:
      value = beatnik.scrabble(i)
      VALUE.append(value)

words are list of words that before scrabble

running stack machine

beatnik.stack(words,VALUE,debug=False)

License

The Beatnik package is distributed under the MIT License (MIT). Please also take note of the licenses of the dependencies.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc