0.1.5 インストールしても安全
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.
概要
Operator 0.1.7 は、 Jöによって開発されたカテゴリ 教育 の Freeware ソフトウェアです。
Operator 0.1.7 の最新バージョン 0.1.5 2024/09/11 にリリースです。 それは最初 2024/09/11 のデータベースに追加されました。
Operator 0.1.7 が次のオペレーティング システムで実行されます: Android。
Operator 0.1.7 は私達のユーザーがまだ評価されていません。
最新のレビュー
![]() |
Rockstar Games Launcher
Rockstar Games Launcherでロックスターのゲーム体験を合理化しましょう! |
![]() |
IObit Smart Defrag
IObit Smart Defragでハードドライブをスムーズに動かし続けます。 |
![]() |
Calibre
Calibre を使用して電子書籍ライブラリを簡単に整理および管理します。 |
![]() |
Wipe
ワイプ・バイ・PrivacyRoot.com でプライバシーを保護 |
![]() |
KiCad
KiCad: エレクトロニクス設計のための強力なツール |
![]() |
Excire Foto
Excire Fotoで写真整理に革命を起こしましょう! |
![]() |
UpdateStar Premium Edition
ソフトウェアを最新の状態に保つことは、UpdateStar Premium Edition でかつてないほど簡単になりました。 |
![]() |
Microsoft Visual C++ 2015 Redistributable Package
Microsoft Visual C++ 2015再頒布可能パッケージでシステムパフォーマンスを向上させましょう! |
![]() |
Microsoft Edge
Webブラウジングの新しい標準 |
![]() |
Google Chrome
高速で用途の広いWebブラウザ |
![]() |
Microsoft Visual C++ 2010 Redistributable
Visual C++ アプリケーションの実行に不可欠なコンポーネント |
![]() |
Microsoft Update Health Tools
Microsoft Update Health Tools:システムが常に最新であることを確認してください。 |