Skip to content

TryItOnline/snusp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name

Language::SNUSP - A SNUSP Interpreter and Visual Debugger

language-snusp-pm language-snusp-pm

Synopsis

> snusp examples/fizzbuzz.snusp
> snusp --trace examples/fizzbuzz.snusp
> snusp --debug examples/fizzbuzz.snusp

Description

SNUSP is a two-dimensional programming language described here:

Here is the well-known FizzBuzz algorithm, written in SNUSP:

/               'B' @=@@=@@++++#
           // /             'u' @@@@@=@+++++#
          // // /           'z' @=@@@@+@++++#
         // // // /         'i' @@@@@@=+++++#
        // // // // /       'F' @@@=@@+++++#
       // // // // // /      LF  ++++++++++#
      // // // // // // /   100 @@@=@@@=++++#
    $@/>@/>@/>@/>@/>@/>@/\   0
    /                    /
    !                             /======= Fizz <<<.<.<..>>>#
    /                             |      \
    \?!#->+ @\.>?!#->+ @\.>?!#->+@/.>\   |
    /        !          !         !  /   |
    \?!#->+ @\.>?!#->+@\ .>?!#->+@/.>\   |
    /        !         \!===\!    !  /   |
    \?!#->+ @\.>?!#->+ @\.>?!#->+@/.>\   |
    /        !          !   |     !  /   |
    \?!#->+@\ .>?!#->+ @\.>?!#->+@/.>\   |
    /       \!==========!===\!    !  /   |
    \?!#->+ @\.>?!#->+ @\.>?!#->+@/>>@\.>/
 !          |   |         |
 /==========/   \========!\=== Buzz <<<<<<<.>.>..>>>#
 |
 \!/=dup==?\>>@\<!/back?\<<<#
   \<<+>+>-/   |  \>+<- /
              |
    /======================/
    |
    |       /recurse\    #/?\ zero
    \print=!\@\>?!\@/<@\.!\-/
  |   \=/  \=itoa=@@@+@+++++#
  !     /+ !/+ !/+ !/+   \    mod10
  /<+> -\!?-\!?-\!?-\!?-\!
  \?!\-?!\-?!\-?!\-?!\-?/\    div10
     #  +/! +/! +/! +/! +/

This module installs a SNUSP interpreter so that you can run this code yourself. It also installs a visual debugger, to help you follow the flow of SNUSP programs.

Try it. It's very cool!

Credit

This code originated from http://c2.com/cgi/wiki?SnuspLanguage but has been fairly heavily refactored to be clear, DRY and conform to modern Perl standards.

I have packaged it on CPAN and GitHub for easy installation and continued maintenance.

Author

Ingy döt Net <ingy@cpan.org>

Copyright and License

Copyright 2004. Rick Klement.

Copyright 2013-2014. Ingy döt Net.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

About

SNUSP Programming Language Interpreter

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 55.5%
  • Perl 44.5%