World Library  
Flag as Inappropriate
Email this Article
 

F-Script (programming language)

F-Script
Paradigm(s) multi-paradigm: object-oriented, array
Designed by Philippe Mougin
Stable release 2.2.1 / February 5, 2014 (2014-02-05)
Typing discipline dynamic
Major implementations F-Script
Influenced by Smalltalk, APL
Website .org.fscriptwww

F-Script is an object-oriented scripting programming language for Apple's Mac OS X operating system developed by Philippe Mougin. F-Script is an interactive language based on Smalltalk, using OS X's native Cocoa API.

Contents

  • Overview 1
  • Syntax 2
  • Message sending 3
  • Usage 4
  • External links 5

Overview

F-Script is based on a pure object paradigm (every entity manipulated within the language is an object), its base syntax and concepts being identical to those of Smalltalk (the canonical example of the category) with specific extensions to support array programming as in APL.

F-Script provides an interpreted, interactive environment with support for workspaces, which provide a rich set of functionality including object persistence, distributed objects, 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 transparently supported since an array itself 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 the generation of a number of messages relating the elements of the vectors involved. Thus, if A = {1, 2, 3} and B = {10, 20, 30}, then in F-Script you can have:

A + B = {11, 22, 33}

Usage

F-Script is chiefly used as a lightweight scripting layer on top of Mac OS X's Cocoa 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.

External links

  • F-Script homepage
  • F-Script Google Techtalk
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.