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.

Jump to content

Caché ObjectScript

From Wikipedia, the free encyclopedia
Caché ObjectScript
First appeared1997
OSCross-platform
Influenced by
MUMPS

Caché ObjectScript is a part of the Caché database system sold by InterSystems. The language is a functional superset of the ANSI-standard MUMPS programming language. Since Caché is at its core a MUMPS implementation, it can run ANSI MUMPS routines with no change. To appeal as a commercial product, Caché implements support for object-oriented programming, a macro preprocessing language, embedded SQL for ANSI-standard SQL access to M's built-in database, procedure and control blocks using C-like brace syntax, procedure-scoped variables, and relaxed whitespace syntax limitations.

The language has private and public variables and globals. Global has a different meaning in this language than in most; such variables are global across routines, processes, and sessions. Thus, editing a global variable is making permanent and immediate changes to a system-universal database (which survives reboots, etc.). The scope of a private variable is the local function, the scope of a public variable is the entire process. Variables, private and public, may be single elements or complete multi-dimensional arrays.

The great majority of Caché's feature-set is inherited from the ANSI MUMPS standard. See that article for details on how data is represented and the different ways a programmer can think about the data during development.

Caché programming examples

[edit]

Hello world program as a routine

[edit]
hello // hello world routine
    write "hello world"
end quit  // end

Then in Caché Terminal (assuming you wrote the hello routine to the SAMPLE namespace):

SAMPLE> DO ^hello

[1]

Hello world program as a ClassMethod

[edit]
Class User.Helloworld
{
  ClassMethod HelloWorld()
  {
    // Write to console
    Write "Hello World"
    Quit
  }
}

Then in Caché Terminal (assuming you wrote the User.Helloworld Class to the SAMPLE namespace):

SAMPLE> DO ##class(User.Helloworld).HelloWorld()

See also

[edit]

References

[edit]
  1. "Quit Command | ObjectScript Tutorial | Caché & Ensemble 2018.1.4 & 2018.1.5".
[edit]