It is proposed that this article be deleted because of the following concern:Fails WP: N. I found a passing mention in a book, but nothing more than that. (proposed by HyperAccelerated) If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. The article may be deleted if this message remains in place for seven days, i.e., after 02:00, 31 May 2024 (UTC). If you created the article, please don't be offended. Instead, consider improving the article so that it is acceptable according to the deletion policy.Find sources: "F-Script" programming language – news · newspapers · books · scholar · JSTORPRODExpired+%5B%5BWP%3APROD%7CPROD%5D%5D%2C+concern+was%3A+Fails+%5B%5BWP%3A+N%5D%5D.+I+found+a+passing+mention+in+a+book%2C+but+nothing+more+than+that.Expired [[WP:PROD|prod]], concern was: Fails WP: N. I found a passing mention in a book, but nothing more than that.
F-Script
Paradigmmulti-paradigm: object-oriented, array
Designed byPhilippe Mougin
DeveloperJonathan Mitchell, Ilya Kulakov, others
First appearedJune 28, 2009; 14 years ago (2009-06-28)
Stable release
2.2.1 / February 5, 2014; 10 years ago (2014-02-05)
Typing disciplinedynamic
Platformx86
OSmacOS
LicenseOpen-source
Websitegithub.com/pmougin/F-Script
Major implementations
F-Script
Influenced by
Smalltalk, APL

F-Script is an object-oriented scripting programming language for Apple's macOS 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 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 (GUI) framework, database access, among other things.

Syntax

Like Smalltalk, F-Script's syntax is very simple, without requiring specific notation for control 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, {1+3, 'name', true} 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 = {1, 2, 3} and B = {10, 20, 30}, then F-Script allows A + B = {11, 22, 33}.

Usage

F-Script is chiefly used as a lightweight scripting layer on top of macOS's Cocoa application programming interface (API). It can be embedded in applications using the F-Script framework and Interface Builder 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.[1]

References

  1. ^ Baird, Wolfgang (23 March 2020). "w0lfschild/F-Script". GitHub.