Category:MontiLang: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
mNo edit summary
Line 33: Line 33:
ENDFOR
ENDFOR


View montilang at http://montilang.ml or https://github.com/lduck11007/MontiLang. Or contact the developer at http://x89k.tk
View montilang at https://lduck11007.github.io/MontiLang or https://github.com/lduck11007/MontiLang. Or contact the developer at http://whiteheadsoftware.dev

Revision as of 07:31, 23 September 2019

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://lduck11007.github.io/MontiLang or https://github.com/lduck11007/MontiLang. Or contact the developer at http://whiteheadsoftware.dev