PROMAL: Difference between revisions
imported>Alexflatter No edit summary |
imported>Lambiam →Reception: fix broken url |
||
| Line 25: | Line 25: | ||
}} | }} | ||
'''PROMAL''' ('''PROgrammer's Microapplication Language''') is a [[structured programming]] language from Systems Management Associates for [[MS-DOS]], [[Commodore 64]], and [[Apple II]]. PROMAL features simple syntax, no line numbers, long variable names, functions and procedures with argument passing, real number type, arrays, strings, pointer, and a built-in I/O library. Like [[ABC (programming language)|ABC]] and [[Python (programming language)|Python]], indentation is part of the language syntax. | '''PROMAL''' ('''PROgrammer's Microapplication Language''') is a [[structured programming]] language from [[Systems management|Systems Management]] Associates for [[MS-DOS]], [[Commodore 64]], and [[Apple II]]. PROMAL features simple syntax, no line numbers, long variable names, functions and procedures with argument passing, real number type, arrays, strings, pointer, and a built-in I/O library. Like [[ABC (programming language)|ABC]] and [[Python (programming language)|Python]], indentation is part of the language syntax. | ||
The language uses a [[single-pass compiler]] to generate byte code that is interpreted when the program is run. The compiler can compile to/from disk and memory. The software package for C64 includes a full-screen editor and command shell. | The language uses a [[single-pass compiler]] to generate byte code that is interpreted when the program is run. The compiler can compile to/from disk and memory. The software package for C64 includes a full-screen editor and command shell. | ||
==Reception== | ==Reception== | ||
''[[Ahoy!]]'' called PROMAL for the Commodore 64 "one of the best" structured languages. It concluded "As an introduction to structured programming languages and as an alternative to BASIC, PROMAL is well worth the time needed to learn it and the $49.95 to purchase it".<ref name="schleimer198506">{{cite news | url=https:// | ''[[Ahoy!]]'' called PROMAL for the Commodore 64 "one of the best" structured languages. It concluded "As an introduction to structured programming languages and as an alternative to BASIC, PROMAL is well worth the time needed to learn it and the $49.95 to purchase it".<ref name="schleimer198506">{{cite news | url=https://www.commodore.ca/gallery/magazines/ahoy/Ahoy-issue-18.pdf | title=PROMAL | type=review | work=Ahoy! | date=June 1985 | issue=18 | accessdate=27 June 2014 | author=Schleimer, Rachel | pages=71–72}}</ref> | ||
==Example code== | ==Example code== | ||
| Line 36: | Line 36: | ||
PROGRAM SIEVE | PROGRAM SIEVE | ||
; Sieve of Eratosthenes Benchmark | ; [[Sieve of Eratosthenes]] Benchmark | ||
; test (BYTE magazine) | ; test (BYTE magazine) | ||
; 10 iterations, 1800 element array. | ; 10 iterations, 1800 element array. | ||
Latest revision as of 20:26, 28 August 2025
Script error: No such module "Unsubst". Script error: No such module "Infobox".Template:Template otherScript error: No such module "Check for unknown parameters".
PROMAL (PROgrammer's Microapplication Language) is a structured programming language from Systems Management Associates for MS-DOS, Commodore 64, and Apple II. PROMAL features simple syntax, no line numbers, long variable names, functions and procedures with argument passing, real number type, arrays, strings, pointer, and a built-in I/O library. Like ABC and Python, indentation is part of the language syntax.
The language uses a single-pass compiler to generate byte code that is interpreted when the program is run. The compiler can compile to/from disk and memory. The software package for C64 includes a full-screen editor and command shell.
Reception
Ahoy! called PROMAL for the Commodore 64 "one of the best" structured languages. It concluded "As an introduction to structured programming languages and as an alternative to BASIC, PROMAL is well worth the time needed to learn it and the $49.95 to purchase it".[1]
Example code
From the PROMAL program disk:
PROGRAM SIEVE ; Sieve of Eratosthenes Benchmark ; test (BYTE magazine) ; 10 iterations, 1800 element array. INCLUDE LIBRARY CON SIZE=1800 WORD I WORD J WORD PRIME WORD K WORD COUNT BYTE FLAGS[SIZE] BEGIN OUTPUT "10 ITERATIONS" FOR J= 1 TO 10 COUNT=0 FILL FLAGS, SIZE, TRUE FOR I= 0 TO SIZE IF FLAGS[I] PRIME=I+I+3 K=I+PRIME WHILE K <= SIZE FLAGS[K]=FALSE K=K+PRIME COUNT=COUNT+1 OUTPUT "#C#I PRIMES", COUNT END
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
- Computer Language, Mar 1986, pp. 128–134