F‑Script   The open source scripting environment for Cocoa

F-Script is a lightweight open-source scripting layer specifically designed for the Mac OS X object system (i.e. Cocoa). F-Script provides scripting and interactive access to Cocoa frameworks and custom Objective-C objects. It aims to be a useful and fun tool for both beginners and experts, allowing interactively exploring, testing and using Cocoa-based objects and frameworks.

Based on Smalltalk, F-Script provides a pure object-oriented environment that leverage Mac OS X technologies and includes significant innovations, like a high-level model for object manipulation and the most terrific object browser on earth! F-Script has been developed from scratch for the Objective-C object model. It is highly integrated with Cocoa and optimized for native access.

F-Script is used in various fields including finance, astrophysics, biology, music, game development, software debugging, artificial intelligence etc. It can be used as a stand-alone application that dynamically loads your Objective-C classes and enables you to access them either interactively or using scripts. It can also be easily embedded into your own applications.

Download F-Script
Version 1.3.5
You can go to the download page to get additional documentation, modules and source code. F-Script is free and open source.

Screenshots

The F-Script Shell provides an interactive command line interface for manipulating Objective-C objects.
  • Use a fully featured object-oriented shell.
  • Manipulate objects interactively or write scripts.
  • Save and load objects easily.
  • Express complex object manipulations quickly and easily with a high-level programming model.
  • Access the Cocoa frameworks as well as your own Objective-C objects.

The object browser lets you graphically find, explore and manipulate objects.
  • Explore objects and methods.
  • Browse Objective-C instances and Objective-C classes.
  • Quickly locate attributes and methods with the search field.
  • Graphically Invoke methods.
  • Navigate Cocoa bindings.
  • Explore Core Data objects graphs.
  • Select objects on screen with the "Select and browse" magic button.
  • Add custom actions to the browser.

Powerful tools let you inspect objects.
  • Query Core Data interactively.
  • Explore Cocoa collections (arrays, dictionaries, etc.)
  • Edit and run scripts.
  • Inspect Cocoa objects.

F-Script integration examples

You can embed F-Script into your own applications thanks to a set of components which are extremely easy to use. F-Script is used in a number of Mac OS X applications. Here are a few selected examples of F-Script integration.

Colloquy Colloquy is a Mac OS X chat client that provides excellent integration with F-Script. Colloquy let you write plugins with F-Script in order to customize or enhance it. Example...
Daylite Daylite is the award-winning business productivity suite from Marketcircle Inc. It embeds the F-Script engine and uses it for scripting and reporting.
ObjectiveCLIPS ObjectiveCLIPS is a rule-based development environment for Cocoa. It combines Cocoa and Core Data together with F-Script and CLIPS (the original NASA's expert system engine). With it, Cocoa developers can design rule-based applications around their Core Data object models. The inference engine can reason about rules and apply them when needed.
OpenBase SQL Originally developed for the OpenStep platform, OpenBase SQL is now a highly acclaimed multi-platform relational database management system from OpenBase International. With OpenBase SQL, Mac OS X developers or DBA can use F-Script to write stored procedures.
Event Horizon Event Horizon is a 3D first person shooter/mission/trading game set in space. F-Script can be used to write Event Horizon plugins. It is also integrated in the game-play itself to let the player interact with the game through a console.
OHR OHR is a platform for research in music theory. It is an excellent example of how F-Script is used by the research community. In OHR, F-Script is used to aid workflow between Music analysis tools, making it possible to specify music-theory material and to exchange it between existing tools.
Billings Billings, the popular time tracking, quoting and invoicing application from Marketcircle Inc., provides scripting and advanced reporting facilities using F-Script.
Project X Project X, the new, award-wining, project management software from Marware, makes use of a highly innovative engine powered by F-Script and the most recent Mac OS X technologies.
LSQL LSQL is an interactive tool for Sybase databases. It uses F-Script to provide a powerful scripting and extension layer.
LensForge LensForge is a lens design program that embeds the F-Script engine to facilitate analysis of lens properties.
Bellhop Bellhop allows you to use F-Script, along with other scripting languages such as Python and Ruby, for creating and publishing Mac OS X services.
Changes Changes is a beautiful, Core Animation-based, graphical file comparison and directory differencing application. It comes built-in with a complete F-Script environment for application exploration and scripting.

F-Script Injection

F-Script can be dynamically injected into any Cocoa application. This makes it a great tool for exploring Cocoa apps. Your tools:

See F-Script in action in these on-line articles

Scripting Cocoa with F-Script
Exploring Cocoa with F-Script
Embedding F-Script into Cocoa Applications

                                                         

Copyright © 2008 Philippe Mougin.
Apple and the Apple logo are trademarks of Apple Computer, Inc., registered in the U.S. and other countries, used with permission.