HOME

TheInfoList



OR:

F-Script is an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of p ...
scripting
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
for Apple's
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
operating system developed by Philippe Mougin. F-Script is an interactive language based on Smalltalk, using macOS's native Cocoa API.


Overview

F-Script is based on a pure object paradigm: every entity manipulated within the language is an object. Its base syntax and concepts are identical to those of the language Smalltalk (the canonical example of an object-oriented language) with specific extensions to support
array programming In computer science, array programming refers to solutions which allow the application of operations to an entire set of values at once. Such solutions are commonly used in computational science, scientific and engineering settings. Modern progr ...
as in the language APL. F-Script provides an interpreted, interactive environment with support for workspaces, which provide a rich set of functions including object persistence, distributed objects,
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inst ...
(GUI) framework,
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases s ...
access, among other things.


Syntax

Like Smalltalk, F-Script's syntax is very simple, without requiring specific notation for
control Control may refer to: Basic meanings Economics and business * Control (management), an element of management * Control, an element of management accounting * Comptroller (or controller), a senior financial officer in an organization * Controllin ...
structures which are provided in a unified manner by the message send operation. Unlike Smalltalk, F-Script provides specific notational extensions to support the Array class, using curly brackets to describe literal arrays, which may contain any F-Script expressions. For example, is a valid array literal. The empty array is denoted by . Arrays of arrays are supported transparently, since any array is just another object.


Message sending

Message expressions in F-Script are similar to those in Smalltalk: they specify which object is the receiver of the message, which operation is called by the message, and any argument objects needed by the operation. F-Script supports unary, binary, and keyword messages. F-Script message semantics are extended to support array programming by recognizing that an array operation, such as adding to numerical vectors, must be viewed as generating a number of messages relating the elements of the vectors involved Thus, if A = and B = , then F-Script allows A + B = .


Usage

F-Script is chiefly used as a lightweight scripting layer on top of
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
's Cocoa application programming interface (API). It can be embedded in applications using the F-Script framework and
Interface Builder Interface Builder is a software development application for Apple's macOS operating system. It is part of Xcode (formerly Project Builder), the Apple Developer developer's toolset. Interface Builder allows Cocoa and Carbon developers to creat ...
palettes. It can also be used interactively from the F-Script interpreter to prototype applications. Finally, it can be used to explore applications' object hierarchies using an injector such as F-Script Anywhere.


Forks

The original F-script development by Philippe Mougin stopped at version 2.1 in 2011. Ilya Kulakov (Kentzo) took over the FScript.org website and updated the program to work with Mac OS X 10.7 through 10.10 until version 2.3 of 2014, building off Jonathan Mitchell's modernization work. Kulakov noted that as F-Script ties deeply into the system, the code must be changed to reflect the framework available in each Mac OS X release. The last update to this chain of work was done in 2018, by Wolfgang Baird, who updated F-Script to work with Mac OS X 10.12.


References


External links

* *
F-Script Google Techtalk
{{Smalltalk programming language Array programming languages Class-based programming languages Dynamically typed programming languages Object-oriented programming languages Scripting languages Smalltalk programming language family