PokeType

From Esolang
Jump to navigation Jump to search
PokeType
Paradigm(s) String-rewriting
Designed by User:Daggy1234
Appeared in 2021
Computational class Unknown
Major implementations Repo
File extension(s) .pt

A simple mathematical expression evaluator that uses Pokemon types to replace symbols.

Syntax

Reference

Symbol Math Equivalent Pokemon Type
๐Ÿ”ฅ + Fire
๐ŸŒŠ - Water
๐Ÿชจ * Rock
๐Ÿ’จ / Flying
โšก // Electric
โ˜ ๏ธ % Poison
โœŠ > Fighting
๐Ÿ”ฎ < Psychic
โœจ == Normal
๐Ÿ‘ป != Ghost
๐Ÿงš ( Fairy
๐ŸŒŒ ) Dark
โ„๏ธ() abs() Ice
โ›“() log() Steel
๐ŸŒฟ Grass
๐Ÿ‰ >= Dragon
๐Ÿ๏ธ <= Ground
๐Ÿ›() ^() Bug

Symbols Needed

Ran out of pokemon types, need help representing: >> <<

Data Types

  • Numbers
  • Boolean: โ€œtrueโ€ or โ€œfalseโ€

Examples

Basic Arithmetic

Addition:

1 ๐Ÿ”ฅ 1

Subtraction:

1 ๐ŸŒŠ 1

Comparisons/Boolean

Checking if numbers are equal:

1 โœจ 1

Is true >= false:

true ๐Ÿ‰ false

Functions

For Absolute of -2:

โ„๏ธ๐Ÿงš-2๐ŸŒŒ
โ„๏ธ(-2)

Interpreter/Compiler

Using the installed python poketype package!

Syntax Checking

Check if PokeType expression is valid

from poketype import PokeType
pt = PokeType()
pt.check_syntax('code')

Interpret

Run code, and print output.

from poketype import PokeType
pt = PokeType()
print(pt.eval('code'))

Compile

Turn PokeType to python code

from poketype import PokeType
pt = PokeType()
print(pt.compile('code')) #Python