Category:MontiLang

From Rosetta Code
This page is a stub. It needs more information! You can help Rosetta Code by filling it in!
Language
MontiLang
This programming language may be used to instruct a computer to perform a task.
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using MontiLang.
  1. REDIRECT Category:MontiLang

MontiLang is a stack-oriented imperative programming language.

Programming in MontiLang is done through the use of imperative statements. As an alternate to functions, MontiLang uses user defined statements that can take input as items from the parameter stack. Unlike other similar concatenative languages such as forth, cat and joy, MontiLang supports the use of variables, processor statements and other similar higher level programming constructs.

Here is an example 'fizzbuzz' program written in MontiLang

   /# loops through numbers 1-100. Prints 'Fizz' if it is a multiple of 3, 'Buzz' if it is a multiple of 5,
   'FizzBuzz' if it is a multiple of both, or the number if neither #/
   &DEFINE LOOP 100&
   1 VAR i .
   FOR LOOP
       || VAR ln .
       i 5 % 0 == 
       IF : .
           ln |Buzz| + VAR ln .
       ENDIF
       i 3 % 0 ==
       IF : .
           ln |Fizz| + VAR ln .
       ENDIF
       ln || ==
       IF : .
           i PRINT .
       ENDIF
       ln || !=
       IF : .
           ln PRINT .
       ENDIF
   i 1 + VAR i .
   ENDFOR

View MontiLang at https://github.com/leowhitehead/MontiLang, or contact the developer at http://whiteheadsoftware.dev