Opera 0.1.5

Opera 0.1.5 Free App

Rated 3.99/5 (507) —  Free Android application by

Advertisements

About Opera 0.1.5

A simple javascript translation program to code in a functional language looking like Haskell.

Each translation can be integrated in your web page via a single javascript script, provided you also installed jqMath (http://mathscribe.com/author/jqmath.html) -- with jQuery -- and Numeric Javascript (http://www.numericjs.com).

Like Haskell, Opera
* is functional
* is little verbose
* understands binary operation's infix notation

Unlike Haskell, Opera
* is not lazy in essence but infinite structures (lists, trees...) 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 lower/upper cases distinction
* doesn't assume any priority for binary operations
* doesn't regard ' (simple quote) as a valid syntactic symbol
* is at a very early stage

Regarding purity, Opera works most of the time with immutable variables and structures but occasionnally (after the interact keyword) some states can be modified (content of an HTML document for example, see Demos).

PRIMITIVE BUILT INS:
Only +,-,*,/,%,==,<,>,substring,length are kept literally from javascript with the same meaning they have in javascript (+ is polymorphic for example). They are now regarded as functions of 2 arguments (except unary length and ternary substring).

The get method has become the ! function
Eg: var val=obj['black']+xs[0]; becomes val = (obj!"black")+(xs!0)

A javascript Array is called a List in Opera
Eg: var xs=[1,2]; becomes xs = List () 1 2 ()

A javascript Object is called a Map in Opera
Eg: 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 () giving the end of the structure (the first one creates an new instance). It would then be reckless to defined ys = next 7 () for the (impredictible) order in which xs and ys are processed would influence the result of xs!5 (which could give 6 or 7 accordingly). Instead, define a new immutable List: ys = List () 1 2 3 4 5 7 ()

Several useful document manipulation fonctions are available also:
:=, ::=, newline, value, math, input, button, interact (see Demos)

Several useful general fonctions are available also:
hex2char, dec2hex, hex2dec

The other javascript components can be accessed by the javascript keyword (see below).

And thats'all for the primitive built-ins!

FOREIGN BUILT-INS:
Foreign JAVASCRIPT:
Opera only knows a very small set of primitive keywords and operators but all the 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 satisfies the jqMath format (http://mathscribe.com/author/jqmath.html), it will be displayed as a mathematical formula. For example
main = "$355/113$"
will display a nice 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 (http://www.numericjs.com) can be used. For example

m=List () row1 row2 ()
row1=List () 2 5 ()
row2=List () 6 3 ()
determinant = javascript "numeric.det"
main=determinant m

will return -24. Note that there is no shortcut (as in sqrt above) for the definitions of the numeric functions of 2 or more variables. For example, with the first four lines above and

main = determinant (product m m)

you should define

product = javascript "var fun=function(x){return function(y){return numeric.dot(x,y);};};fun"

in order to get 576.

How to Download / Install

Download and install Opera 0.1.5 version 0.1.5 on your Android device!
Downloaded 50,000+ times, content rating: Everyone
Android package: joel.duet.opera, download Opera 0.1.5.apk

All Application Badges

Free
downl.
Android
2.2+
Bug
buster
For everyone
Android app

App History & Updates

What's Changed
Since 0.1.4
* bug correction on newer devices
Since 0.1.3
* numericjs integration to be displayed with jqMath
* New List and Map constructors (see matrix Demo)
Since 0.1.2
* Six new language keywords for user interactions : interact, button, input, newline, value, math. Two new binary operators := for affectation and ::= for affectation after computation (see SAMPLE 20).
* New layout switching ability : coding or interacting layouts.
Version update Opera 0.1.5 was updated to version 0.1.5
More downloads  Opera 0.1.5 reached 50 000 - 100 000 downloads
Name changed  Name changed! Opera 0.1.4 now is known as Opera 0.1.5.
More downloads  Opera 0.1.5 reached 10 000 - 50 000 downloads

What are users saying about Opera 0.1.5

U70%
by U####:

Good

C70%
by C####:

به دردنمیخوره

M70%
by M####:

ادم باشین کمی بابا انقد دوروغ

S70%
by S####:

واقعن مضخرفه

B70%
by B####:

بده بد

O70%
by O####:

Good

Q70%
by Q####:

خداوکیلی این برنامه رو از کجاتون در اوردین

U70%
by U####:

مزخرفه دان نکنید

Y70%
by Y####:

عالی

V70%
by V####:

عالی عالی حرف اینارو گوش نکنید دان کنید

M70%
by M####:

خاک تو سرتون این چی بود. دانلود نکنید

M70%
by M####:

It was very good loved it keep up good work . Good luck the Sykes

R70%
by R####:

خیلی سرعتش افتضاح !!!!!!!

M70%
by M####:

واقعا که

I70%
by I####:

به دردنمیخوره

M70%
by M####:

Internet

Q70%
by Q####:

خدا وکیلی از کجا پیدا کردید ؟؟ وجدانن راستش را بگو خودت میدونی این چیه ساختی؟؟؟

A70%
by A####:

Good

M70%
by M####:

خیلی مزخررررررف

D70%
by D####:

عالی

M70%
by M####:

خخخخخخخخ

T70%
by T####:

مرسی

F70%
by F####:

Good

M70%
by M####:

Love

W70%
by W####:

Better

S70%
by S####:

خوب

H70%
by H####:

چرا دانلود نمیشه

A70%
by A####:

خیلی مزخرفه

Q70%
by Q####:

واقعا مسخره

A70%
by A####:

چرابیشترازیک صفحه چیزی نمیاد

L70%
by L####:

مفید . ممنون

I70%
by I####:

چرا برنامه ها تون قبلا خوب بودالان همه چرت شدن...اصلا حال آدم بهم میخوره از همچین برنامه های

P70%
by P####:

عالیه.مرسی

Q70%
by Q####:

بیمصرف

Q70%
by Q####:

خخخخخخخخ

Q70%
by Q####:

خوفه

U70%
by U####:

بله

Q70%
by Q####:

علکیه

E70%
by E####:

Cool and fast

Q70%
by Q####:

bad


Share The Word!


Rating Distribution

RATING
4.05
507 users

5

4

3

2

1