*** Welcome to piglix ***

Profile Scripting Language

Profile Scripting Language
Paradigm Procedural
Designed by Frank Sanchez
First appeared 1998
OS Cross-platform
Influenced by
MUMPS

Profile Scripting Language (PSL) is a superset of the MUMPS programming language that adds object-oriented language features. It is currently developed by Fidelity National Information Services (hereafter FIS).

PSL is a language that implements object orientated concepts such as classes, methods, encapsulation, inheritance, and strong data typing as extensions to the MUMPS language. PSL was initially conceived in December 1998 by Frank Sanchez, then President of Sanchez Computer Associates, as a transformation tool that could reverse engineer a very large and complex banking application (Fidelity National Information Services 'Profile') which was written predominantly in MUMPS.

Frank Sanchez developed the original language semantics, syntax, parser, compiler and optimizer, database interface, schema binding, intrinsic classes and methods over the Christmas holiday in 1998 and early 1999. He was assisted in the development of the initial commercial releases (version 1 - 2) by the late Bob Chiang, the Head of Data-Qwik tool development at Sanchez, and Mark Spier, a Senior Software Developer with Sanchez at the time. Sanchez Computer Associates (SCAI) was acquired by Fidelity National Financial (FNF), now FIS, in April 2004. In later versions the compiler has been maintained and significantly enhanced by Frans Witte, a Senior Technical Lead at FIS, and Dan Russell, formerly the Head of Technology Development at Sanchez and now a remote Senior Technical consultant to FIS. Frans and Dan have focused on implementing the database independent features of the language, and more recently the Java source target code.

The initial language concepts included the ability to bind the source code to a database schema which generates dynamic Data Access Classes (preempting similar persistent class generation in Java) and database methods that could be code generated into either MUMPS globals or a commercial RDMS. The PSL Data Access Classes are identified in the source code as Record<classes>.

PSL interprets legacy MUMPS code, though some legacy commands (such as GO, NEW and KILL) can be disabled or marked as deprecated (generating compiler warnings). Direct references to MUMPS globals can also be disabled or deprecated. Numerous PSL compiler directives (e.g., #IF/#ELSE, #ACCEPT) were also added to the PSL language, as were Java style blocks and comments, modern error handling semantics and white space. Two MUMPS language elements were eliminated initially (M-style blocks and goto label+offset) as they could not be supported within the PSL object scope handling.


...
Wikipedia

...