Category:Lambdatalk: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 7:
2) {lambda talk}, a purely functional language unifying authoring, styling and scripting in a single and coherent s-expression based syntax.
 
==A) {lambda talk} in few words==
 
1) Expressions are written in a prefix notation using curly braces.
Line 25:
-> 2+3 is equal to 5
 
==B) more about {lambda talk}==
 
{lambda talk} is freely inspired by the λ-calculus. At the lowest level a {lambda talk} expression is exclusively made of words, abstractions and applications:
Line 133:
-> 120
 
==B) {lambda talk} full==
 
But {lambda talk} can take benefit from the extraordinary power of modern '''web browsers''' and, without ''re-inventinging the wheel'', {lambda talk} simply adds a coherent and unique language on existing tools.
 
In its complete state, {lambda talk} comes with a more complete set of special forms, ['''lambda''', '''def''', if, let, quote, macro, require, script, style], and a dictionary containing about 200 primitives built on Javascript Math object, HTML tags and CSS rules, the DOM and more, pairs, lists, arrays, ... and some other specific to the wiki context. Example:
 
{def ! {lambda {:a :b}
{if {< :b 2}
then :a
else {! {* :a :b} {- :b 1}}}}}
-> !
{! 1 6}
-> 720
 
What for? Well, you could compute the famous Euler's number:
 
{def euler {lambda {:n}
{+ {map {lambda {:n} {/ 1 {! 1 :n}}} {serie 0 :n}}}}}
-> euler
{euler 17}
-> 2.7182818284590455
 
The {lambda way} project adds on browsers a thin overlay, {lambda tank}, proposing a small ''Interactive Development Environment'' without any external dependencies and thereby easy to download (50kb) and install on any web account provider running PHP. From any web browser, on any system, complex and dynamic web pages can be created, enriched, structured and tested in real time on the web.