0.1.5 Safe to install
A simple JavaScript transpiler program to code in a functional language similar to another famous functional programming language (starting with an H).
- Each translation can be integrated into your web page via a single JavaScript script, provided you have also installed jqMath (jqMath)—with jQuery—and Numeric JavaScript (Numeric JavaScript).
Like H., Operator:
- Is functional
- Is a little verbose
- Understands binary operations in infix notation
Unlike H., Operator:
- Is not lazy by nature, but infinite structures (lists, trees, etc.) can be implemented
- Is untyped
- Doesn't understand sections with binary operators (you have to (\x->x+1) if you want to (+1)), but understands sections otherwise
- Doesn't have a distinction between lower and upper cases
- Doesn't assume any priority for binary operations
- Doesn't accept ' (simple quote) as a valid syntactic symbol
- Is at a very early stage
Regarding purity, Operator mostly works with immutable variables and structures, but occasionally (after the interact keyword), some states can be modified (e.g., content of an HTML document, see Demos).
Primitive Built-Ins:
Only these JavaScript operators are kept literally: +, -, *, /, %, ==, <, >, substring, length. They are now considered functions of two arguments (except unary length and ternary substring).
The get method has been replaced with the ! function. For example: var val = obj['black'] + xs[0]; becomes val = (obj!"black") + (xs!0).
A JavaScript Array is called a List in Operator. For example: var xs = [1,2]; becomes xs = List () 1 2 ().
A JavaScript Object is called a Map in Operator. For example: var obj = {'red':0,'black':1}; becomes obj = Map () "red" 0 "black" 1 ().
These are designed to be immutable and as functions, the following is valid:
- beg = List () 1 2 3
next = beg 4 5
xs = next 6 ()
The last () signifies the end of the structure (while the first one creates a new instance). It would be unwise to define ys = next 7 () due to the order in which xs and ys are processed potentially affecting the result of xs!5 (yielding either 6 or 7). Instead, define a new immutable List: ys = List () 1 2 3 4 5 7 ().
Several useful document manipulation functions are available as well: :=, :: = , newline, value, math, input, button, interact (see Demos).
Several useful general functions are also available: hex2char, dec2hex, hex2dec.
The other JavaScript components can be accessed by the javascript keyword.
That's all for the primitive built-ins!
Foreign Built-Ins:
- Foreign JavaScript:
Operator only recognizes a minimal set of primitive keywords and operators, but all JavaScript functions can be accessed with the javascript keyword.
Eg:
sqrt x = javascript (("Math.sqrt("+x) + ")")
or, better,
sqrt = javascript "var fun=function(x){return Math.sqrt(x);};fun"
or simply
sqrt = javascript "Math.sqrt"
- Foreign jqMath:
If the result of a computation conforms to the jqMath format (jqMath format), it will be displayed as a mathematical formula. For example:
main = "$355/113$"
would display a fraction on the screen and on your web page if you install the script (sent by the "Send JavaScript" menu) and the jqMath script.
- Foreign Numeric JavaScript:
All the numericjs functions (numericjs functions) can be utilized. For example:
m = List () row1 row2 ()
row1 = List () 2 5 ()
row2 = List ()6 3()
determinant = javascript "numeric.det"
Main=determinant m
would return -24.
Note that there are no shortcuts (as in sqrt above) for defining numeric functions with two or more variables.
Eg: main = determinant(product m m)
You should define:
Eg:
A) product=javascript "var fun=function(x){return function(y){return numeric.dot(x,y);};};fun"
To get -576.
Overview
Operator 0.1.7 is a Freeware software in the category Education developed by Jö.
The latest version of Operator 0.1.7 is 0.1.5, released on 09/11/2024. It was initially added to our database on 09/11/2024.
Operator 0.1.7 runs on the following operating systems: Android.
Operator 0.1.7 has not been rated by our users yet.
Latest Reviews
![]() |
FlexNet Activation Service
Streamline Software Activation with FlexNet Activation Service |
A Hat in Time
A Whimsical Platformer Adventure Worth Every Penny |
|
![]() |
Leica Geosystems CLM Administrator
Streamline Your Surveying Projects with Leica Geosystems CLM Administrator |
![]() |
Leica Geosystems CLM Activation Wizard
Streamline Your Leica Equipment Setup with CLM Activation Wizard |
![]() |
Smart Puzzle
Unleash Your Inner Genius with Smart Puzzle |
![]() |
Skype
Stay Connected with Skype by Microsoft |
![]() |
UpdateStar Premium Edition
Keeping Your Software Updated Has Never Been Easier with UpdateStar Premium Edition! |
![]() |
Microsoft Visual C++ 2015 Redistributable Package
Boost your system performance with Microsoft Visual C++ 2015 Redistributable Package! |
![]() |
Microsoft Edge
A New Standard in Web Browsing |
![]() |
Google Chrome
Fast and Versatile Web Browser |
![]() |
Microsoft Visual C++ 2010 Redistributable
Essential Component for Running Visual C++ Applications |
![]() |
Microsoft Update Health Tools
Microsoft Update Health Tools: Ensure Your System is Always Up-to-Date! |