# PROMAL

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/PROMAL
> Markdown URL: https://mediated.wiki/source/PROMAL.md
> Source: https://en.wikipedia.org/wiki/PROMAL
> Source revision: 1308325040
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{More citations needed|date=April 2023}}
{{Infobox programming language
| name = PROMAL
| logo = PROMAL logo.png
| logo size = 150px
| paradigm = [Imperative](/source/Imperative_programming) ([procedural](/source/Procedural_programming)), [structured](/source/structured_programming)
| year = 1984-08-16
| designer = 
| developer = Systems Management Associates
| latest release version = 2.1e
| latest release date    = 1986-10-14
| latest preview version = 
| latest preview date    = 
| typing = 
| implementations = 
| influenced_by = C
| influenced = 
| dialects = 
| programming_language = 
| operating_system = 
| license = 
| website = 
| file_ext = .s
| wikibooks = 
}}

'''PROMAL''' ('''PROgrammer's Microapplication Language''') is a [structured programming](/source/structured_programming) language from [Systems Management](/source/Systems_management) Associates for [MS-DOS](/source/MS-DOS), [Commodore 64](/source/Commodore_64), and [Apple II](/source/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](/source/ABC_(programming_language)) and [Python](/source/Python_(programming_language)), indentation is part of the language syntax.

The language uses a [single-pass compiler](/source/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!](/source/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==
From the PROMAL program disk:

  PROGRAM SIEVE
    ; [Sieve of Eratosthenes](/source/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==
{{reflist}}

*Computer Language, Mar 1986, pp.&nbsp;128–134

== External links ==
*[http://www.lyonlabs.org/commodore/onrequest/PROMAL/ PROMAL for the Commodore 64]
*[https://trademarks.justia.com/734/97/promal-73497839.html PROMAL - Trademark Details]

Category:C programming language family

---
Adapted from the Wikipedia article [PROMAL](https://en.wikipedia.org/wiki/PROMAL) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/PROMAL?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
