Joule (programmeringsspråk)
Paradigm | multi-paradigm : objektorienterad , distribuerad , dataflöde |
---|---|
Designad av | E. Dean Tribble |
Dök först upp | 1996 |
Maskinskrivningsdisciplin | oskrivet |
Influerad av | |
Concurrent Logic Programmering , Skådespelare | |
påverkade | |
E |
Joule är ett kapacitetssäkert programmeringsspråk för massivt samtidig dataflöde , designat för att bygga distribuerade applikationer . Det är så samtidigt att ordningen på uttalanden inom ett block är irrelevant för blockets funktion. Uttalanden utförs när det är möjligt, baserat på deras indata. Allt i Joule sker genom att skicka meddelanden. Det finns inget kontrollflöde . Istället beskriver programmeraren dataflödet, vilket gör det till ett dataflödesprogrammeringsspråk . [ citat behövs ]
Joule-utvecklingen startade 1994 på Agorics i Palo Alto, Kalifornien . Det anses vara föregångaren till programmeringsspråket E.
Språksyntax
Siffror består av ASCII- siffror 0–9; identifierare är Unicode- sekvenser av siffror, bokstäver och operatortecken som börjar med en bokstav. Det är också möjligt att skapa identifierare genom att använda Unicode-sekvenser (inklusive blanksteg) omgivna av antingen raka (' ') eller standard (' ') enkla citattecken, där omvänt snedstreck är escape-tecknet. Nyckelord måste börja med en bokstav, förutom nyckelordet • för att skicka information. Operatörer består av Unicode-sekvenser av siffror, bokstäver och operatortecken som börjar med ett operatortecken. Etiketter är identifierare följt av ett kolon (':').
I roten är Joule ett imperativt språk och därför ett uttalandebaserat språk. Den har en rik uttryckssyntax, som lätt omvandlas till sin relationella syntax under. Komplexa uttryck blir separata påståenden, där platsen för det ursprungliga uttrycket ersätts med en referens till acceptorn för resultatkanalen. Därför beräknas kapslade uttryck fortfarande helt samtidigt med deras inbäddningssats.
Om belopp <= saldo • kontouttag: annat belopp • kontorapport-studs: slut
En identifierare kan namnge en kanal för att kommunicera med servern. Om så är fallet sägs den vara bunden till den kanalen.
externa länkar