Källa (programmeringsspråk)

Källa
Paradigm Multiparadigm : scripting , imperativ , procedural , funktionell
Dök först upp 2017 ; 6 år sedan ( 2017 )
Stabil frisättning
2022 (Rook) / 31 december 2021 ; för 14 månader sedan ( 31-12-2021 )
Maskinskrivningsdisciplin Dynamisk , anka
OS webbläsarbaserad
Licens Apache
Filnamnstillägg .js
Hemsida docs .sourceacademy .org
Stora implementeringar
Safari (Safaris JavaScript är korrekt svansrekursivt ), Source Academy
Dialects
Källa §1, Källa §2, Källa §3, Källa §4
Influerad av
JavaScript , Schema

Source är en familj av underspråk av JavaScript , utvecklad för läroboken Structure and Interpretation of Computer Programs, JavaScript Edition ( SICP JS). JavaScript-underspråken Källa §1, Källa §2, Källa §3 och Källa §4 är utformade för att vara precis tillräckligt uttrycksfulla för att stödja alla exempel på respektive kapitel i läroboken.

Syfte och designprincip

Under utvecklingen av SICP JS, med start 2008, blev det klart att specialanpassade underspråk av JavaScript skulle bidra till inlärningsupplevelsen. Ursprungligen kallad "JediScript" och inspirerad av boken "JavaScript: The Good Parts" av Douglas Crockford , Source-underspråken följer kapitlen i SICP JS; varje språk Källa §x är ett underspråk till nästa språk Källa §(x+1). Efter det minimalistiska tillvägagångssättet hos SICP JS förväntas implementeringar av Source ta bort alla JavaScript-språkfunktioner som inte ingår i språkspecifikationen.

Funktioner

Källa §1 är ett mycket litet rent funktionellt underspråk till JavaScript, designat för kapitel 1 i SICP JS. Källa §2 lägger till par och ett listbibliotek, enligt datastrukturtemat i kapitel 2. Källa §3 lägger till statistiska konstruktioner, och Källa §4 lägger till stöd för meta-cirkulär utvärdering. Kapitel 5 i SICP JS kräver inte språkstöd utöver Källa §4. Alla källspråk är korrekt svansrekursiva , som krävs enligt kapitel 1 i SICP och enligt ECMAScript 2015.

Källa Academy

Eftersom webbläsaren Safari är ECMAScript -2015-kompatibel, inklusive korrekta svansanrop , kan den fungera som en implementering av alla källspråk, förutsatt att SICP-paketet är laddat. Source Academy är en webbaserad programmeringsmiljö som implementerar alla källspråk, oavsett webbläsarstöd för korrekta tail calls, och har olika verktyg för läsarna av SICP JS. Språkimplementeringen i Source Academy, js-slang, är också tillgänglig som en fristående miljö baserad på Node.js.

externa länkar