Nythop

From Esolang
Jump to navigation Jump to search
Nythop
Designed by User:Luxedo
Appeared in 2024
Computational class Turing-complete
Reference implementation Nythop
File extension(s) .yp

Nythop is here to revolutionize your coding experience by turning Python on its head – literally. Forget the simplicity and readability of Python; Nythop takes that elegance and adds an exciting twist: every line is written backwards! With Nythop, code clarity reaches a whole new level (of confusion), promising an impressively awkward and cryptic experience that will have you wondering how you ever tolerated straightforward syntax.

Nythop enthusiasts argue that it’s not just Python – it’s Python improved. Indentation wars? Resolved. All your indentation happens at the end of the line, so tabs vs. spaces is no longer a battle you can even see. And comments? They’re read from right to left, so cryptic notes and backward logic are just part of the _Nythopic_ experience.

If you’re tired of the predictability and accessibility of Python, Nythop promises to shake things up by keeping things just familiar enough to fool you into thinking you know what’s happening. But in practice? It’s perfectly unreadable – just as any good esolang should be.

Nythop Logo
Nythop Logo


Try Nythop Now!


Examples

Hello, World!

)"!dlroW ,olleH"(tnirp

Arithmetic operations

Arithmetic operations #
5 = a
3 = b
)b + a ,":muS"(tnirp
)b - a ,":ecnereffiD"(tnirp
)b * a ,":tcudorP"(tnirp
)b / a ,":tneitouQ"(tnirp

Leading whitespaces are not a problem

Leading whitespaces are not a problem #
                   5 = a
                    3 = b
      )b + a ,":muS"(tnirp
)b - a ,":ecnereffiD"(tnirp
  )b * a ,":tcudorP"(tnirp
)b / a ,":tneitouQ"(tnirp

Factorial!

5 Factorial #
:)n(lairotcaf fed
:0 == n fi    
1 nruter        
:esle    
)1 - n(lairotcaf * n nruter        

))5(lairotcaf ,":5 fo lairotcaF"(tnirp

Fibonacci

Print up to 10th term of fibonacci #
:)n(iccanobif fed
1 ,0 = b ,a    
:)n(egnar ni _ rof    
)" "=dne ,a(tnirp        
b + a ,b = b ,a        

)01(iccanobif

Run LLMs

Nythop supports the most advanced LLM technologies too! #
IAnepO tropmi smll.niahcgnal morf

)"yek-ipa-ruoy"=yek_ipa_ianepo(IAnepO = mll
)"?pohtyN htiw gnidoc yojne uoy oD"(mll = esnopser
)esnopser(tnirp

Ready to leave Python behind? Let’s dive in!

Installation

Nythop is available on PyPI, so you can install it in seconds if you’re ready to turn Python upside-down. Just run:

pip install nythop

Coding

Nythop is, at its core, just Python – but backwards. Every line is simply a reversed version of Python syntax, which means if you’re already familiar with Python, you’re halfway there (or perhaps halfway confused). Any valid Python code can be adapted to Nythop by flipping each line from right to left. For example:

print("Hello, World!")
)"!dlroW ,olleH"(tnirp

That’s it. No new keywords, no unfamiliar constructs – just reversed lines of Python code. Of course, this makes even the simplest tasks look cryptic, but it’s still technically Python. Indentation (the invisible kind) happens at the end of each line, so the usual debate over tabs vs. spaces doesn’t apply here.

Check out some of the possible for loop versions:

# Using the character ␠ to visualize whitespaces
:)01(egnar ni i rof
)"}20:i{ retI"f(tnirp␠␠␠␠

# You can move things around within the line, just don't mess with the invisible indentation at the end.
                                :)01(egnar ni i rof
)"}20:i{ retI"f(tnirp␠␠␠␠

# Maybe you're feeling adventurous and want to make it feel right.
      :)01(egnar ni i rof
)"}20:i{ retI"f(tnirp␠␠␠␠

Once you get used to this “improvement,” you’ll find Nythop code offers the same functionality as Python but with the added benefit of looking impressively perplexing.

Implementation

Implementing Nythop is as simple as reversing each line of Python code and executing it. Here’s a minimal example that interprets Nythop code directly:

exec("\n".join(line[::-1] for line in nythop_code.split("\n")), {})

For a full-featured interpreter and transpiler, you can install the Nythop package on PyPI, which provides command-line tools and libraries to run Nythop code, including REPL and file-based execution.