Category:MontiLang: Difference between revisions

m
‎ add concatenative paradigm
(Created page with "{{stub}}{{language|MontiLang}} #REDIRECT Category:Ayrch")
 
m (‎ add concatenative paradigm)
 
(6 intermediate revisions by one other user not shown)
Line 1:
{{stub}}{{language|MontiLang}}
#REDIRECT [[:Category:AyrchMontiLang]]
 
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
 
{{language programming paradigm|concatenative}}
559

edits