Minipy
Jump to navigation
Jump to search
Minipy is a golfing "language" created by Challenger5. It is Python, but with the following statements prepended to every program:
import sys as y
av = y.argv
if len(av) > 1:
v1 = av[1]
try:
v2 = eval(v1)
except SyntaxError: pass
import os
import re
import functools as ft
import string as st
import copy as cp
import random as rd
import math as m
ri = rd.randint
rt = lambda seq: seq[ri(0, len(seq)-1)]
N = None
_i = __import__
_b = __builtins__
_B = dir(_b)
ab = abs
al = all
an = any
bn = bin
c = chr
cx = complex
d = dict
dr = dir
em = enumerate
e = eval
x = exec
b = lambda x: lambda y: eval(x)
fm = lambda x,y: map(b(x),y)
ff = lambda x,y: filter(b(x),y)
fr = ft.reduce
fl = float
gtat = getattr
hsat = hasattr
dlat = delattr
stat = setattr
hx = hex
i = input
n = lambda *args: eval(input(*args))
sr = ""
t = int
l = len
ls = list
ot = oct
o = open
f = lambda s: o(s).read()
p = print
r = range
rp = repr
rvr = reversed
rnd = round
srt = sorted
s = str
sm = sum
v = vars
z = zip
def rf(s): # regex finder
index = s.index("!")
regex = re.compile(s[:index])
search = s[index + 1 :]
if search[0] == "!":
return regex.findall(search[1:])
else:
return regex.findall(eval(search))
q = chr(34)
k = "\n"
def e(s):
raise RuntimeError(s)
This shortens the names of functions, automatically imports modules, and creates some useful functions.
Interpreter
Here is a (minimized) Python interpreter for Minipy. It assumes that the above statements are loaded into the file minipy.py stored in the current directory. It executes a file given as a command line argument.
from minipy import*;x(f(v1))
Examples
Hello, World! program:
p("Hello, World!")
Quicksort:
def q(k):
if l(k)<2:return k
p=rt(k);return q(ff("y>p",k))+q(ff("y<=p",k))
Factorial:
p(m.factorial(v2))