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: a21cf43f7cfe4c41

Jump to content

// Workers AI · dad joke modeWhat did Sympl say to its date? You simplify my life.

From Wikipedia, the free encyclopedia

SYMPL is an obsolete programming language developed by the Control Data Corporation (CDC) for use on the CDC 6000 series computer systems in the 1970s and 1980s. It was based on a subset of CDC's version of JOVIAL, as an alternative to assembly language. A number of important CDC software products were implemented in SYMPL, including compilers, libraries, a full-screen editor, and major subsystems.

SYMPL is a compiled, imperative, and procedural language. Compared to the Fortran of the day, SYMPL supports:

  • Strong data typing: All variables must be declared before use
  • Boolean variables
  • Variable bit width integers (both signed and unsigned)
  • "Status" (enumerated integer) variables
  • Data structures - Including "based" dynamically allocated structures
  • Structured programming constructs
  • Nested procedures
  • In-fix "bead" (bit) and character manipulation
  • A simple macro facility

A distinct feature of SYMPL, also found in JOVIAL tables, is that arrays of multi-item variables can be specified with either a "serial" or "parallel" memory layout. A "serial" layout has array entries following one another in memory as is usual in most computer languages. A "parallel" layout groups each of the individual items within each of the array entries together. For example, if each array entry has items x, y, and z, a parallel layout would group x[0]...x[n] together in memory, followed by y[0]...y[n], and then z[0]...z[n]. This has the effect of potentially speeding up access to all the same items across the array - as they are all contiguous with one another.

Simplifications compared to JOVIAL include: no fixed point data type, no table structures, and no COMPOOL concept. Though in lieu of COMPOOLs, a CDC-specific system text capability allows encapsulation of common data declarations.

[edit]