0.1.5 Veilig te installeren
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.
Overzicht
Operator 0.1.7 is Freeware software in de categorie Onderwijs ontwikkeld door Jö.
De nieuwste versie van Operator 0.1.7 is 0.1.5, uitgegeven op 11-09-2024. Het werd aanvankelijk toegevoegd aan onze database op 11-09-2024.
Operator 0.1.7 draait op de volgende operating systems: Android.
Operator 0.1.7 niet is nog niet beoordeeld door onze gebruikers.
Recente beoordelingen
![]() |
FinePrint
FinePrint - de ultieme oplossing voor efficiënt printen |
![]() |
4k YouTube to MP3
Converteer moeiteloos YouTube-video's naar MP3-bestanden van hoge kwaliteit met 4k YouTube naar MP3. |
![]() |
Tenorshare 4DDiG
Herstel verloren gegevens gemakkelijk met Tenorshare 4DDiG! |
![]() |
Bang & Olufsen Audio
Dompel uzelf onder in eersteklas audio met Bang & Olufsen Audio van CONEXANT |
![]() |
QNAP Qfinder Pro
Beheer uw QNAP NAS-apparaten efficiënt met QNAP Qfinder Pro. |
![]() |
NVIDIA GeForce NOW
Game overal met NVIDIA GeForce NOW! |
![]() |
UpdateStar Premium Edition
Uw software up-to-date houden is nog nooit zo eenvoudig geweest met UpdateStar Premium Edition! |
![]() |
Microsoft Visual C++ 2015 Redistributable Package
Verbeter de prestaties van uw systeem met Microsoft Visual C++ 2015 Redistributable Package! |
![]() |
Microsoft Edge
Een nieuwe standaard in surfen op het web |
![]() |
Google Chrome
Snelle en veelzijdige webbrowser |
![]() |
Microsoft Visual C++ 2010 Redistributable
Essentieel onderdeel voor het uitvoeren van Visual C++-toepassingen |
![]() |
Microsoft Update Health Tools
Microsoft Update Health Tools: zorg ervoor dat uw systeem altijd up-to-date is! |