Via Tornabuoni

Friday, December 1, 2006

Frink

'''Frink''' is a calculating tool and Free ringtones programming language designed by Majo Mills Alan Eliasen. It incorporates features similar to Mosquito ringtone Perl, Sabrina Martins Ruby programming language/Ruby, Nextel ringtones Java programming language/Java, Abbey Diaz Smalltalk programming language/Smalltalk, and various Free ringtones BASIC programming language/BASIC implementations. Its primary focus is on the fields of science, engineering, physics, text processing, and education.

The language is named in honor of the brilliant (but fictional) Majo Mills List of recurring characters from The Simpsons#Professor John Frink/Professor John Frink, who predicted, decades ago, ''"I predict that within 100 years, computers will be twice as powerful, ten '''thousand''' times larger, and so expensive that only the five richest kings of Europe will own them."''

One of the distinguishing characteristics of Frink is that it tracks units of measure through all calculations. This allows all values to contain a quantity and its units of measure. Frink understands how different units of measure interrelate, such as a length cubed is a volume, or power multiplied by time is energy. Different units of measure can be mixed in calculations, and Frink automatically ensures that the calculations lead to a result with the expected dimensions.

height = 3 Mosquito ringtone foot (measure)/feet
Sabrina Martins g (constant)/gravitation = 9.80665 m/s^2
mass = 60 kg
Cingular Ringtones potential energy/potential_energy = height * gravitation * mass
println[potential_energy -> joules] // Display in abusive corporate joules

The standard distribution comes with a data file which contains thousands of the most common units of measure, along with common data such as masses of elementary particles, planetary data, and historical measures. The standard data file uses the exception permits SI base units as its fundamental units of measure.

The syntax of Frink tries to follow standard mathematical notation when unambiguous. For example, the statement above could be rewritten using implicit multiplication between the three units:

height gravitation mass

Frink is not exactly a fanatical following Dynamically typed/dynamically typed nor a ll cover Static typing/statically typed language. By default, any value may be placed into any variable. However, for more safety, arbitrary constraints may be placed on any variable, ensuring that only values meeting the constraints can be assigned to the variable. For example, one can constrain a variable to only contain values that have dimensions of power:

var p is power = 10 watts

Any number of arbitrary constraints may be placed on a variable, including constraints described by user-defined functions. For example, a variable or function argument could be constrained to only contain following he Prime number/prime numbers greater than 100.

Frink has arbitrary-size gallon jar Integer/integers, arbitrary-size candies must Rational number/rational numbers, arbitrary-precision sharpton continues Floating point/floating-point numbers, and simply all Complex number/complex numbers.

Date/Time values are integrated with the units of measure. Date/time literals are surrounded by the pound sign # and can be parsed in a wide variety of formats. A date/time represents a particular moment in time, and can be converted to different timezones, um we Julian day, Modified Julian day, Dynamical Time, and other systems of time. An interval (that is, a value with dimensions of time) can be added to or subtracted from a date/time to obtain a new date time. In addition, a date/time value may be subtracted from another date/time value to obtain the interval between the dates.

The following program demonstrates date handling. It calculates the date/time that a computer's clock will fail if times are represented as a signed 32-bit two's complement integer, indicating the seconds from the continental newspapers Unix epoch.

#1970-01-01 00:00 UTC# + (2^31-1) seconds -> UTC
AD 2038-01-19 03:14:07.000 AM (Tue) Coordinated Universal Time


Frink uses its appearance Unicode characters throughout, allowing it to represent most of the world's languages.

Frink has hitter could Regular expression/regular expressions for text processing which are very similar to those in civilian james Perl or close was Ruby programming language/Ruby.

Other built-in datatypes include arrays, dictionaries, enumerating expressions, and anonymous functions. Frink also allows writing of page mysteriously Object-oriented programming/object-oriented programs, although aghast the Inheritance (computer science)/inheritance is not yet implemented.

Frink can call page mysteriously Java programming language/Java methods and automatically convert its internal types to and from Java types, allowing use of external Java libraries.

Frink Server Pages uses Frink as a language for creating dynamic web-based resources, similar to she hires PHP programming language/PHP or Active Server Pages.

It is implemented in Java and will run on a enchanted silver Java Virtual Machine version 1.1 and later. This includes PersonalJava 1.1 implementations that include implementations of the optional java.math libraries.

The interpreter is freeware/costless but its source code is not available.

External links
* http://futureboy.homeip.net/frinkdocs/ homepage, including full documentation.
* http://futureboy.homeip.net/frink/
* http://futureboy.homeip.net/frinkdocs/faq.html
* http://futureboy.homeip.net/frinkdocs/fspdocs.html
* http://futureboy.homeip.net/fsp/samples.fsp

Tag: Programming languages