@@ -10,7 +10,7 @@ \section{Domänspecifika språk}
1010Ett domänspecifikt språk är ett språk som är avgränsat till en specifik domän.
1111Nyckelorden är språk, specifik och domän. En domän är ett område, till exempel
1212textformatering eller matlagning. Specifikt syftar det på att det är \textit {just
13- detta } område man lägger fokus på. Med språk menas ett sätt att uttrycka
13+ detta } område fokus läggs på. Med språk menas ett sätt att uttrycka
1414saker inom domänen. Svenska och Java är två exempel på språk.
1515
1616Domänspecifika språk är vanligt förekommande i programmeringssammanhang. HTML är
@@ -22,7 +22,7 @@ \section{Domänspecifika språk}
2222Domänspecifika språk används inte bara i programmering utan förekommer även i
2323andra mer vardagliga sammanhang. Inom domänen matlagning är steka, grilla och
2424fritera användbara ord. Likaså inom domänen ridning är grimma, box och galopp
25- användbara ord. Befinner man sig inom domänen vet man vad som menas med grimma
25+ användbara ord. Befinner användaren sig inom domänen vet den vad som menas med grimma
2626och det är ett kort och väldefinierat sätt att uttrycka sig. Men detta språk (här
2727i form av ord och begrepp) blir svårtolkat utanför domänen. Ett recept kan inte
2828förklaras i termer av grimmor, boxar och galopper.
@@ -45,7 +45,7 @@ \section{Domänspecifika språk}
4545utvecklats inom detta projekt är inbäddade i programmeringsspråket
4646\textit {Haskell }. Haskell är ett lämpligt val eftersom det är enkelt att skapa
4747datatyper som bygger upp det domänspecifika språket. Att Haskell är ett
48- högnivåspråk är också en fördel då man slipper programmeringstekniska detaljer,
48+ högnivåspråk är också en fördel då programmeraren slipper programmeringstekniska detaljer,
4949till exempel minneshantering, och istället kan fokusera på programmets innehåll
5050och betydelse. Slutligen gör dess mönstermatchning att de datatyper som utgör
5151det domänspecifika språket enkelt kan brytas isär och manipuleras.
@@ -55,8 +55,8 @@ \section{Domänspecifika språk}
5555\section {Syntax, syntaxträd och semantik }\label {sec:syntax }
5656
5757I samband med domänspecifika språk dyker begreppen \textit {syntax } och
58- \textit {semantik } upp. Syntax är reglerna för hur man sammanslår
59- enheter , som ord, i språket till komplexa strukturer, som meningar och
58+ \textit {semantik } upp. Syntax är reglerna för hur enheter sammanslås
59+ , som ord, i språket till komplexa strukturer, som meningar och
6060satser. Semantik är betydelsen av sådana komplexa strukturer i ett språk.
6161Inom aritmetik\footnote {Aritmetik är
6262 den gren inom matematiken som behandlar räkning av tal.} är tal och
@@ -85,11 +85,10 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
8585
8686Typen innehåller \textit {datakonstruktorer } för att representera
8787\textit {löv } (ändpunkter) och \textit {förgreningar }. I detta exempel är
88- \texttt {:+: } och \texttt {:*: } förgreningar. Med hjälp av dem kan man uttrycka
89- summan respektive produkten av två andra uttryck. Löven representeras av
90- \texttt {Const }. Det är en konstant som man ej kan bygga vidare på.
88+ \texttt {:+: } och \texttt {:*: } förgreningar. Med hjälp av dem kan summan respektive produkten av två andra uttryck uttryckas. Löven representeras av
89+ \texttt {Const }. Det är en konstant som ej kan byggas vidare på.
9190
92- Med datakonstruktorerna kan man konstruera uttryck representerade av syntaxträd. Ett exempeluttryck
91+ Med datakonstruktorerna kan uttryck representerade av syntaxträd konstrueras . Ett exempeluttryck
9392från den tidigare datatypen visas i figur~\ref {fig:syntax_exempel_varde }, som visar hur det aritmetiska uttrycket $ 7 * (3
9493+ 10 )$ modelleras. Konstruktorn \texttt {:*: } får som sina två argument uttrycken
9594\texttt {Const 7 } och \texttt {Const 3 :+: Const 10 }. Det är alltså en produkt av
@@ -135,23 +134,23 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
135134\texttt {Const }.
136135
137136Den andra saken att notera i figuren är hur ett fall
138- beräknas. Hur beräkningen ska se ut får man genom att ta hänsyn till
137+ beräknas. Hur beräkningen ska se ut fås genom att ta hänsyn till
139138semantiken hos det syntaktiska uttrycket. \texttt {e1 :+: e2 } är syntax för
140139addition av de två uttrycken \texttt {e1 } och \texttt {e2 }. Därför blir
141140semantiken, värdet, av \texttt {e1 :+: e2 } lika med värdet hos \texttt {e1 } och
142141\texttt {e2 } adderade. Ett liknande resonemang ger svaret på hur beräkningen av
143142de två resterande fallen ska se ut.
144143
145144Den tredje saken värd att poängtera är beräkningsfunktionens
146- typsignatur, \texttt {Expr -> Double }. Den gör nämligen att man kan tolka
147- \texttt {evaluate }, och beräkningsfunktioner i allmänhet, som en översättning
145+ typsignatur, \texttt {Expr -> Double }. Den gör nämligen att
146+ \texttt {evaluate }, och beräkningsfunktioner i allmänhet, kan tolkas som en översättning
148147från syntax (här \texttt {Expr }) till semantik (här \texttt {Double }).
149148
150149\section {Litterat programmering och Literate Haskell }\label {sec:lhs }
151150
152151\textit {Litterat programmering } (engelska \textit {literate programming }) är ett
153152alternativt sätt att programmera som introducerades av Donald Knuth~\cite {knuth }.
154- Istället för att skriva ett program främst för datorer att exekvera, så skriver man
153+ Istället för att skriva ett program främst för datorer att exekvera, så skrivs
155154programmet främst för människor att läsa.
156155
157156Jämfört med traditionella program får dokumentationen en
@@ -208,7 +207,7 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
208207\section {Lärandeteorier }\label {sec:arcs }
209208
210209Motivation är en persons vilja att göra något och i undervisningssammanhang vill
211- man att studenten ska lära sig materialet, studenten behöver alltså bli
210+ läraren eller författaren att studenten ska lära sig materialet, studenten behöver alltså bli
212211motiverad till att lära sig. Motivation kan ha flera källor, till exempel
213212att studenten tycker materialet är intressant eller att det finns belöningar i
214213form av tillfredsställelsen från ett högt betyg.
@@ -234,14 +233,14 @@ \section{Lärandeteorier}\label{sec:arcs}
234233 tillfredsställelse efter att ha lärt sig något så att hen vill fortsätta
235234 lära sig.
236235\end {itemize }
237- Det finns olika strategier för hur man genomför de olika delarna i praktiken,
236+ Det finns olika strategier för hur de olika delarna genomförs i praktiken,
238237här följer en översikt för \textit {Attention }\footnote {Eftersom projektet har
239238ett begränsat fokus på de pedagogiska aspekterna, se
240239avsnitt~\ref {sec:avgransningar }, har enbart \textit {Attention } tagits hänsyn
241240till. Av detta skäl är det enbart denna del beskriven här.}.
242241
243242För att fånga studentens uppmärksamhet och intresse finns tre allmänna
244- strategier. Den första är varseblivning, att något plötsligt händer som man
243+ strategier. Den första är varseblivning, att något plötsligt händer som studenten
245244blir medveten om. Det kan till exempel åstadkommas genom överraskande
246245information, en förändring i ljuset i en föreläsning eller att humor vävs in.
247246Den andra är att väcka nyfikenhet. Ett par sätt för det är att involvera mystik
0 commit comments