I'm working on modernizing Rosetta Code's infrastructure. Starting with communications. Please accept this time-limited open invite to RC's Slack.. --Michael Mol (talk) 20:59, 30 May 2020 (UTC)


From Rosetta Code
This page is a stub. It needs more information! You can help Rosetta Code by filling it in!
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.
Your Help Needed
If you know MontiLang, please write code for some of the tasks not implemented in 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 .
       || VAR ln .
       i 5 % 0 == 
       IF : .
           ln |Buzz| + VAR ln .
       i 3 % 0 ==
       IF : .
           ln |Fizz| + VAR ln .
       ln || ==
       IF : .
           i PRINT .
       ln || !=
       IF : .
           ln PRINT .
   i 1 + VAR i .

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