Category:Arturo: Difference between revisions

m
minor edit
No edit summary
m (minor edit)
 
(4 intermediate revisions by 2 users not shown)
Line 2:
|exec=interpreted
|strength=strong
|safety=safe
|checking=dynamic
|express=implicit
|parampass=value
|site=httphttps://arturo-lang.io
|tags=arturo
|gc=yes}}
'''Arturo''' Arturo is aan independently-developed, modern programming language, vaguely inspiredrelated byto various other ones - including but not limited to [[Logo]], [[Rebol]], [[Forth]], [[Ruby]], [[Haskell]], [[D]], [[SmallTalk]], [[Tcl]] and [[Lisp]].
 
===Principles===
 
The language has been designed following some very simple and straightforward principles:
Line 18 ⟶ 15:
* No reserved words or keywords - look for them as hard as you can; there are absolutely none
 
<syntaxhighlight lang="arturo">
<pre>
factorial: function [n][
print "Hello world!"
if? n > 0 -> n * factorial n-1
else -> 1
]
 
loop 1..1019 '[x []->
print ["Factorial of" x "=" factorial x]
if? even? x -> print [x "is even"]
</syntaxhighlight>
else -> print [x "is odd"]
</pre>
 
===Implementation===
The main compiler is implemented in [[Nim]]/[[C]] as a Bytecode interpreter / Stack-based VM and should run in most architectures.
 
The main goals are: performanceexpressiveness, energy-efficiencybrevity, performance and portability. (With that exact order)
 
===License===
Line 36 ⟶ 34:
 
===Todo===
[[Tasks not implemented in Arturo]]
[[Reports:Tasks_not_implemented_in_Arturo]]
 
{{language programming paradigm|Concatenative}}
{{language programming paradigm|ImperativeDeclarative}}
{{language programming paradigm|Dynamic}}
{{language programming paradigm|Functional}}
{{language programming paradigm|Imperative}}
{{language programming paradigm|Reflective}}
1,532

edits