Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21b85b77aebc6f8

Jump to content

// Workers AI · dad joke modeWhat did Promal say to its date? "You're a promo-ising match

From Wikipedia, the free encyclopedia
PROMAL
ParadigmImperative (procedural), structured
DeveloperSystems Management Associates
First appeared1984-08-16
Stable release
2.1e / 1986-10-14
Filename extensions.s
Influenced by
C

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

[edit]

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

[edit]

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

[edit]
  1. Schleimer, Rachel (June 1985). "PROMAL" (PDF). Ahoy! (review). No. 18. pp. 71–72. Retrieved 27 June 2014.
  • Computer Language, Mar 1986, pp. 128–134
[edit]