You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Detta avsnitt innehåller en översikt av läromaterialet samt ett utdrag av vardera kapitel. Utdragen exemplifier delar av läromaterialet och implementationerna av domänspecifika språk. De fullständiga implementationerna är inte inkluderade (och förklarade) eftersom det är precis det läromaterialet innehåller. Rapporten skulle då bli en kopia av läromaterialet. Istället hänvisas till ett längre utdrag i bilaga~\ref{cha:utdrag} samt hemsidan där läromaterialet~\cite{LYAP} finns tillgängligt.
8
+
Detta avsnitt innehåller en översikt av läromaterialet samt ett utdrag av vardera kapitel. Utdragen exemplifier delar av läromaterialet och implementationerna av domänspecifika språk. De fullständiga implementationerna är inte inkluderade (och förklarade) eftersom det är precis det läromaterialet innehåller. Rapporten skulle då bli en kopia av läromaterialet. Istället hänvisas till ett längre utdrag i bilaga~\ref{cha:utdrag} samt hemsidan där läromaterialet~\cite{LYAP} finns tillgängligt. De utdrag som finns är inga exakta kopior ord-för-ord av läromaterialet utan de har anpassats till rapporten.
\caption{Exempel på en bild. Bilden visar hur en hund springer och hoppar upp på en stillastående vagn.}
34
34
\label{fig:smakprov_bild_laromaterial}
35
35
\end{figure}
@@ -85,7 +85,7 @@ \subsection{Översikt}
85
85
antal delvis färdigställda områden, till exempel bevisföring. Texten i
86
86
läromaterialet är skriven på engelska.
87
87
88
-
\subsection{Implementation av dimensioner}
88
+
\subsection{Dimensioner}
89
89
\label{sec:grund_impl}
90
90
91
91
I detta avsnitt visas delar av hur implementationen av dimensioner ser ut i läromaterialet. Den fullständiga implementationen innehåller tre delar:
@@ -98,11 +98,7 @@ \subsection{Implementation av dimensioner}
98
98
99
99
Dimensioner på värdenivå används för att enkelt kunna skriva ut dimensioner i GHCi. Dimensioner på typnivå används för att ge typsäkerhet till dimensioner, så att till exempel en längd och en massa inte kan adderas, likt att ett värde av typ \texttt{Double} och \texttt{Integer} inte kan adderas i Haskell. Till sist kombineras de två varianterna av dimensioner till en datatyp för storheter som aritmetiska operationer kan utföras på.
100
100
101
-
Den del som visas här är början av implementationen av dimensioner på värdenivå. Texten är på engelska eftersom läromaterialet är på engelska. Förutom formateringen är det precis som nedanstående som läromaterialet ser ut.
102
-
103
-
\begin{displayquote}
104
-
105
-
A dimension can be seen as a product of the base dimensions, with an individual exponent on each base dimension. Because the 7 base dimensions are known in advance, we can design our data type using this fact.
101
+
Dimensioner kan ses som en produkt av de 7 basdimensionerna\footnote{Längd, massa, tid, elektrisk ström, temperatur, substansmängd och ljusstyrka.}, med en indiviudell exponent till varje basdimension. Datatypen, på värdenivå, som används ser därför ut som följande
@@ -115,38 +111,29 @@ \subsection{Implementation av dimensioner}
115
111
deriving (Eq)
116
112
\end{lstlisting}
117
113
118
-
Each field denotes the exponent for the corresponding base dimension. If the exponent is 0, the base dimension is not part of the dimension. Some examples should clarify.
114
+
Varje fält i datatypen representerar exponenten för motsvarande basdimension. Om exponenten är $0$ betyder det att den basdimension inte är inkluderad i dimensionen. Några exempel ges för att förtydliga.
Velocity is $m/s$ or equivalently $m^1*s^{-1}$. This explains why the exponents are as above.
133
-
134
-
Noticed how we used ``m'' (for metre) for implicitly refering to the dimension ``length''? It’s quite natural to work this way.
126
+
Hastighet skrivs vanligtvis som $\frac{m}{s}$ men ekvivalent är att skriva $m^1*s^{-1}$ vilket förklarar varför värdena ovan ser ut som de gör.
135
127
136
-
\textbf{Exercise} Create values for acceleration, area and charge.
128
+
I resterande del av detta kapitel i läromaterialet visas hur multiplikation och division samt hur en \textit{utskriftsfunktion}, som skriver ut ett värde snyggt, kan implementeras. Därefter följer ett antal delkapitel som innehåller testning, typnivådimensioner och storheter. Som tidigare nämnt inkluderas de inte här eftersom då skulle rapporten och läromaterialet bli precis samma text.
Det skapas med andra ord en datatyp för dimensioner som använder sig av en exponent för varje basdimension. I resterande del av detta delkapitel visas hur multiplikation och division samt hur en \textit{utskriftsfunktion}, som skriver ut ett värde snyggt, kan implementeras. Därefter följer ett antal delkapitel som innehåller testning, typnivådimensioner och storheter. Som tidigare nämnt inkluderas de inte här eftersom då skulle rapporten och läromaterialet bli precis samma text.
134
+
\subsection{Exempelproblem}
148
135
149
-
\subsection{Implementation av partikelmekanik}
136
+
\subsection{Partikelmekanik}
150
137
151
138
Implementationen av komposita områden var en vidareutveckling av de redan
152
139
implementerade grundläggande områdena. Detta utfördes genom att kombinera
0 commit comments