From e9d0def9ae7b4b0499516e44c10dcf261f740e5b Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 09:22:12 +0100 Subject: [PATCH 01/30] text changes --- docs/abbreviations.tex | 1 + docs/chapters.tex | 24 ++++++++++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/docs/abbreviations.tex b/docs/abbreviations.tex index d256c29..2dc9281 100644 --- a/docs/abbreviations.tex +++ b/docs/abbreviations.tex @@ -9,5 +9,6 @@ \chapter{Abkürzungen}\label{a:Abkuerzungen} \acro{gui}[GUI]{Graphical User Interface} \acro{fp}[FP]{Functional programming} \acro{repl}[REPL]{Read-eval-print loop} + \acro{uml}[UML]{Unified Modeling Language} \end{acronym} \ No newline at end of file diff --git a/docs/chapters.tex b/docs/chapters.tex index c2f633a..5ea1dd2 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -8,8 +8,7 @@ \chapter{Introduction}\label{chap:introduction} \section{Purpose of the Project}\label{sec:purpose} The object of this project is to analyze and compare the similarities and differences between two functional programming languages. The selected languages for this comparative study are Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it mandatory inclusion in the project. - In addition to Go, a second programming language is essential for the comparative analysis, and F\# has been selected for this purpose. The inclusion of F\# in this study was a deliberate choice, as explained in section - ef{sec:whyfsharp}. By juxtaposing Go and F\#, the project aims to unravel the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project seeks to contribute valuable insights into the \ac{fp} landscape, providing a nuanced understanding of the strengths and trade-offs associated with these two languages. + In addition to Go, a second programming language is essential for the comparative analysis, and F\# has been selected for this purpose. The inclusion of F\# in this study was a deliberate choice, as explained in section \ref{sec:whyfsharp}. By juxtaposing Go and F\#, the project aims to unravel the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project seeks to contribute valuable insights into the \ac{fp} landscape, providing a nuanced understanding of the strengths and trade-offs associated with these two languages. \section{Why F\#?}\label{sec:whyfsharp} One of the key reasons for choosing F\# is its status as a functional-first programming language. In contrast to Go's multi-paradigm approach, F\#'s commitment to functional principles provides an excellent opportunity to explore the benefits of implementing code from a pure perspective. @@ -21,10 +20,10 @@ \chapter{Introduction}\label{chap:introduction} \chapter{Project Overview}\label{chap:project-overview} \section{Description of the \textit{NerdDeck} Flash Card Application}\label{sec:description} This coding project should illustrate and highlight similarities and differences about \ac{fp} in Go versus F\#. - \textit{NerdDeck} is app which can help remembering things with flashcards. There exists already such a product called Anki\footnote{Website: \url{https://apps.ankiweb.net} (Accessed on 12/03/2023)} for the same use case. Most parts of Anki are written in Rust and Python.\footnote{Website: \url{https://github.com/ankitects/anki} (Accessed on 12/03/2023)} The difference in \textit{NerdDeck} is that it is written twice, each time in a different programming language, Go and F\#, and the \ac{fp} paradigm should be used. In F\# there will be no problem as it will turn out in section \ref{sec:fsharp-overview} because it is possible to write functional-first code. But as Go is a impure language, the goal is to write it as functional as possible. In addition to that, \textit{NerdDeck} should just use the \ac{cli} as a \ac{gui} while Anki has a own one. + \textit{NerdDeck} is an \ac{app} which can help remembering things with flashcards. There exists already such a product called Anki\footnote{Website: \url{https://apps.ankiweb.net} (Accessed on 12/03/2023)} for the same use case. Most parts of Anki are written in Rust and Python.\footnote{Website: \url{https://github.com/ankitects/anki} (Accessed on 12/03/2023)} The difference in \textit{NerdDeck} is that it is written twice, each time in a different programming language, Go and F\#, and the \ac{fp} paradigm is used. In F\# there will be no problem as it will turn out in section \ref{sec:fsharp-overview} because it is possible to write functional-first code. But as Go is a impure language, the goal is to write it as functional as possible. To be able to adhere to the project framework, \textit{NerdDeck} uses the \ac{cli} as a \ac{gui} while Anki has its own developed one. \section{Requirements} - The \ac{app} should allow a single user to use the \ac{sm2} alorithm which is used for spaced repetition.\cite{sm2} One of Anki's algroithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} Because \textit{NerdDeck} is build by a student, the requirements are also written from a students perspective. The requirements are written down in table \ref{tab:requirements}. These should not differ too big from other users using this application. The goal is to implement this twice, one time in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, so it's possible to do the comparison about \ac{fp}. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. They can not be deleted. + The \ac{app} should allow a single user to use the \ac{sm2} alorithm which is used for a learning technique called spaced repetition.\cite{sm2} One of Anki's algorithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} Because \textit{NerdDeck} is build by a student, the requirements are also written from a students perspective. These are written down in table \ref{tab:requirements}. The requirements should not differ too big from other users using this \ac{app}. The goal is to implement this twice, one time in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, so it's possible to do the comparison about \ac{fp}. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. They can not be deleted. \begin{table}[h] \centering \begin{tabular}{|m{0.5in}|m{4in}|} @@ -54,7 +53,7 @@ \chapter{Project Overview}\label{chap:project-overview} \begin{figure} \centering \includegraphics[width=0.4\textwidth]{NerddeckModel.png} - \caption{Entity-Relationship Model of Flashcard and Deck}\label{fig:model} + \caption{\ac{uml} diagram of the Flashcard model}\label{fig:model} \end{figure} \begin{lstlisting}[language=json,firstnumber=1,float=tp, caption={Example of how a flashcard is saved inside a \ac{json} file}, label=l:flashcardjson] @@ -69,7 +68,7 @@ \chapter{Project Overview}\label{chap:project-overview} \end{lstlisting} \section{Functionality Overview and User Interface} - In figure \ref{fig:screenshotcli} the result of the F\# implementation can be seen, the welcome screen and menu looks the same way in the go implementation.. A user who executes the program can select between 5 choices: + In figure \ref{fig:screenshotcli} the prompt inside the \ac{cli} of the F\# implementation can be seen. This welcome screen and menu looks the same way in the go implementation. A user who executes the program can select between the following five choices: \begin{itemize} \item \textbf{0. Instructions:} Shows how the program should be used. \item \textbf{1. Add Flash Card} Add a Flash Card and saves it into the \ac{json} file. @@ -80,7 +79,7 @@ \chapter{Project Overview}\label{chap:project-overview} \begin{figure} \centering - \includegraphics[width=0.8\textwidth]{ScreenshotNerdDeck.png} + \includegraphics[width=0.6\textwidth]{ScreenshotNerdDeck.png} \caption{Screenshot of the \ac{cli}. Shows start of \textit{NerdDeck}.} \label{fig:screenshotcli} \end{figure} @@ -113,11 +112,11 @@ \chapter{Project Overview}\label{chap:project-overview} \section*{Imperative vs. Declarative} -Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. In the following the two approaches will be shown on a simple algorithm: summing up a array of numbers. +Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. The following will demonstrate both approaches using a simple algorithm for summing up an array of numbers. \subsubsection{Imperative Approach} -Algorithm \ref{alg:imperative_sum} exemplifies the imperative paradigm, which guides the computer through computations using explicit steps. Each line of pseudocode provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. +Algorithm \ref{alg:imperative_sum} is an example of the imperative paradigm. This paradigm guides the computer through computations using explicit steps. Each line of pseudocode provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. The sum is calculated explicitly in a \textit{for loop} from line three to five. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -160,16 +159,13 @@ \subsubsection{Declarative Approach} \label{alg:declarative_sum} \end{algorithm} -The juxtaposition of these algorithms not only highlights the difference in coding philosophy but also serves as a tangible exploration of the imperative and declarative styles within the context of \ac{fp}. - - \chapter{Introduction to Go and F\#}\label{chap:language-comparison} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. \section{Overview of Go}\label{sec:go-overview} Go, commonly known as Golang, is employed to build simple, secure, and scalable systems. It is a statically-typed, compiled programming langauge designed by Google engineers Robert Griesemer, Rob Pike, and Ken Thompson in 2007. It is used very widely within big companies like Google, Paypal or Netflix. As an open source language, Go is characterized by: \begin{itemize} - \item \textbf{Concurrent programming:} Native support through goroutines and channels for scalable and parallelized applications. + \item \textbf{Concurrent programming:} Native support through goroutines and channels for scalable and parallelized \ac{app}s. \item \textbf{Efficiency:} Statically-typed, compiled that produces standalone binaries. Good for deployment in various environments. \item \textbf{Flexibility:} Can be used for Cloud \& Network Services, \ac{cli}s, Web Development and Development Operations \& Site Reliability Engineering. \end{itemize} @@ -277,7 +273,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \chapter{Conclusion}\label{chap:conclusion} -In the exploration of functional programming paradigms within the context of Go and F\#, this paper aimed to analyze and compare key concepts such as Algebraic Data Types and First-class Functions. The \textit{NerdDeck} Flash Card application served as a practical example to illustrate the application of functional programming principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. +In the exploration of functional programming paradigms within the context of Go and F\#, this paper aimed to analyze and compare key concepts such as Algebraic Data Types and First-class Functions. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of functional programming principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of functional programming. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with functional programming principles, Go's multi-paradigm nature necessitated creative workarounds to achieve a functional style. This underscored the importance of navigating the balance between functional and imperative programming in each language. The challenges also highlighted the need for a nuanced approach when selecting a language for projects where functional programming principles are a priority. From 48c8d272138989d69b00f8f84f3defa13ed5d2b4 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 10:32:11 +0100 Subject: [PATCH 02/30] refactoring text of comparison --- docs/chapters.tex | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 5ea1dd2..9d9692d 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -103,7 +103,7 @@ \chapter{Project Overview}\label{chap:project-overview} \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section \ref{sec:first-class-functions}. \end{itemize} - Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like F\# and Go. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:language-comparison}. + Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:language-comparison}. As developers navigate through contrasting algorithms, exploring the interplay between imperative and declarative styles, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. @@ -186,23 +186,21 @@ \chapter{Introduction to Go and F\#}\label{chap:language-comparison} \chapter{Comparison of functional concepts}\label{chap:comparison} -In order to compare the two languages, the following two functional concepts are examined in more detail: Algebraic Data Types and First-class Functions. +To compare the programming languages Go and F\# in the context of \ac{fp}, we will examine two concepts in more detail: Algebraic Data Types and First-class Functions. \section{Algebraic Data Types}\label{sec:algebraic-data-types} - Algebraic data types (ADTs) are a cornerstone of functional programming, providing a way to model complex data structures. In Go, ADTs are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both F\# and Go, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, repetition count, easiness factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in F\# and Go. + Algebraic data types are a cornerstone of functional programming, providing a way to model complex data structures. In Go, these types are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in Go and F\#. \subsection*{F\#} - F\# provides native support for algebraic data types through discriminated unions. Developers can define a set of related values using a discriminated union, and pattern matching allows for concise and expressive handling of these types. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers embracing functional programming. - - - In listing \ref{l:flashcardfsharp} the \texttt{FlashCard} type is defined using a record type, a lightweight and immutable data structure. The \texttt{FlashCard} record includes fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# automatically provide immutability, making them well-suited for representing data with fixed attributes. + F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace functional programming. + Listing \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# provide automatically, making them well-suited for representing data with fixed attributes. \subsection*{Go} - In Go, developers commonly use struct types to represent data structures. While structs provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by ADTs. + In Go, developers commonly use \texttt{struct} types to represent data structures. Although they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. - The \texttt{FlashCard} type is defined using a struct. Go structs are mutable, and fields can be updated after the struct's creation. The \texttt{FlashCard} struct includes fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Go uses explicit types for each field, providing a statically typed approach. + Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. \begin{figure}[ht] \begin{subfigure}{0.48\textwidth} @@ -236,6 +234,8 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the functional programming paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its functional programming paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. \subsection*{F\#} + In this F\# example, we define a first-class function \textit{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. + \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:flashcardfunction] let isDueForReview card = card.Repetitions > 0 && card.NextReview <= DateTime.Now @@ -243,10 +243,10 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} let dueFlashcards = List.filter isDueForReview flashcards \end{lstlisting} - In this F\# example, we define a first-class function `isDueForReview` that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards. - - \subsection*{Go} - \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardfsharp] + + \subsection*{Go} + In the Go example in listing \ref{l:flashcardgo}, we define a first-class function `isDueForReview` that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a slice of flashcards and print the result. + \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardgo] func isDueForReview(card FlashCard) bool { return card.Repetitions > 0 && card.NextReview.Before(time.Now()) @@ -266,14 +266,13 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} dueFlashcards := filterDueFlashcards(cards) \end{lstlisting} - In this Go example, we define a first-class function `isDueForReview` that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a slice of flashcards and print the result. \section{Key Takeaway}\label{sec:keytakeaway} - In conclusion, when it comes to algebraic data types—a fundamental feature in functional programming—F\# excels with its native support for discriminated unions and pattern matching. While Go developers can achieve similar outcomes using struct types and interfaces, F\# provides a more elegant and concise solution. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and functional programming styles. + While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. In addition, it is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and functional programming styles. The difference between the two languages lies in their syntax and expressiveness. \chapter{Conclusion}\label{chap:conclusion} -In the exploration of functional programming paradigms within the context of Go and F\#, this paper aimed to analyze and compare key concepts such as Algebraic Data Types and First-class Functions. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of functional programming principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. +In the exploration of functional programming paradigms within the context of Go and F\#, this paper aimed to analyze and compare key concepts such as algebraic data types and First-class Functions. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of functional programming principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of functional programming. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with functional programming principles, Go's multi-paradigm nature necessitated creative workarounds to achieve a functional style. This underscored the importance of navigating the balance between functional and imperative programming in each language. The challenges also highlighted the need for a nuanced approach when selecting a language for projects where functional programming principles are a priority. From 3de4565eab723e24d8d7783c46b001f26be4c4aa Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 11:03:17 +0100 Subject: [PATCH 03/30] - conclusion refactoring - provided a better description of the first-class function comparison and explanation --- docs/chapters.tex | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 9d9692d..8ba6da1 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -7,7 +7,7 @@ \chapter{Introduction}\label{chap:introduction} This spot should be covered by this paper with the comparison of Go and F\# in the context of \ac{fp}. \section{Purpose of the Project}\label{sec:purpose} - The object of this project is to analyze and compare the similarities and differences between two functional programming languages. The selected languages for this comparative study are Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it mandatory inclusion in the project. + The object of this project is to analyze and compare the similarities and differences between two \ac{fp} languages. The selected languages for this comparative study are Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it mandatory inclusion in the project. In addition to Go, a second programming language is essential for the comparative analysis, and F\# has been selected for this purpose. The inclusion of F\# in this study was a deliberate choice, as explained in section \ref{sec:whyfsharp}. By juxtaposing Go and F\#, the project aims to unravel the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project seeks to contribute valuable insights into the \ac{fp} landscape, providing a nuanced understanding of the strengths and trade-offs associated with these two languages. \section{Why F\#?}\label{sec:whyfsharp} @@ -190,10 +190,10 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \section{Algebraic Data Types}\label{sec:algebraic-data-types} - Algebraic data types are a cornerstone of functional programming, providing a way to model complex data structures. In Go, these types are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in Go and F\#. + Algebraic data types are a cornerstone of \ac{fp}, providing a way to model complex data structures. In Go, these types are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in Go and F\#. \subsection*{F\#} - F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace functional programming. + F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace \ac{fp}. Listing \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# provide automatically, making them well-suited for representing data with fixed attributes. @@ -231,50 +231,53 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \end{figure} \section{First-class Functions}\label{sec:first-class-functions} - Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the functional programming paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its functional programming paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. + Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the \ac{fp} paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its \ac{fp} paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. \subsection*{F\#} - In this F\# example, we define a first-class function \textit{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. - + In this F\# example, we define a first-class function \texttt{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. As an example in line four, the function is called on the List.filter function. It takes a predicate of type \texttt{T -> bool} and a list as input and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Moreover, F\# introduces the pipe operator \texttt{|>}, affording developers the convenience of placing the last argument at the forefront. This operator facilitates a more fluid and readable syntax, as exemplified by \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list through the pipe operator. This expression is equivalent to line four of listing \ref{l:flashcardfunction}. + \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:flashcardfunction] let isDueForReview card = card.Repetitions > 0 && card.NextReview <= DateTime.Now -let dueFlashcards = List.filter isDueForReview flashcards +let dueFlashCards = List.filter isDueForReview cards \end{lstlisting} \subsection*{Go} - In the Go example in listing \ref{l:flashcardgo}, we define a first-class function `isDueForReview` that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a slice of flashcards and print the result. + In the Go example in listing \ref{l:flashcardgo}, we define the same first-class function \texttt{isDueForReview} than in F\# that checks if a flashcard is due for review based on specific criteria. The filter function from line six called \texttt{filterDueFlashCards} takes a slice of flashcards (\texttt{cards}) and applies the \texttt{isDueForReview} function to filter out only those flashcards that meet the review criteria. The filtered flashcards are then collected in the \texttt{dueFlashCards} slice and will be returned when all cards are covered. + + As an example, line 17 invokes the \texttt{filterDueFlashCards} function with a given set of flashcards (\texttt{cards}) and assigns the resulting list of flashcards due for review to the \texttt{dueFlashCards} variable. This variable encapsulates the outcome of the flashcard filtering process. + \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardgo] func isDueForReview(card FlashCard) bool { return card.Repetitions > 0 && card.NextReview.Before(time.Now()) } - func filterDueFlashcards(cards []FlashCard) []FlashCard { - var dueFlashcards []FlashCard + func filterDueFlashCards(cards []FlashCard) []FlashCard { + var dueFlashCards []FlashCard for _, card := range cards { if isDueForReview(card) { - dueFlashcards = append(dueFlashcards, card) + dueFlashCards = append(dueFlashCards, card) } } - return dueFlashcards + return dueFlashCards } - dueFlashcards := filterDueFlashcards(cards) + dueFlashCards := filterDueFlashCards(cards) \end{lstlisting} \section{Key Takeaway}\label{sec:keytakeaway} - While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. In addition, it is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and functional programming styles. The difference between the two languages lies in their syntax and expressiveness. + While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. In addition, it is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. \chapter{Conclusion}\label{chap:conclusion} -In the exploration of functional programming paradigms within the context of Go and F\#, this paper aimed to analyze and compare key concepts such as algebraic data types and First-class Functions. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of functional programming principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. +This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} - The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of functional programming. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with functional programming principles, Go's multi-paradigm nature necessitated creative workarounds to achieve a functional style. This underscored the importance of navigating the balance between functional and imperative programming in each language. The challenges also highlighted the need for a nuanced approach when selecting a language for projects where functional programming principles are a priority. + The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles are a priority. \section{Outlook}\label{sec:outlook} - Looking ahead, there is potential for further exploration into writing more pure functional code within the \textit{NerdDeck} or similar projects. For this, a pure programming language like for example Haskell\footnote{Website: \url{https://www.haskell.org} (Accessed on 12/20/2023)} can be considered. This could involve delving deeper into functional programming concepts and finding innovative solutions within the constraints of a specific language. Additionally, as programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for functional programming practitioners. The insights gained from this comparative analysis contribute to a broader understanding of functional programming in diverse language ecosystems and provide a foundation for future exploration and research. + Looking ahead, there is potential for further exploration into writing more pure functional code within the \textit{NerdDeck} or similar projects. To achieve this, a pure programming language such as Haskell\footnote{Website: \url{https://www.haskell.org} (Accessed on 12/20/2023)} could be considered. This would involve delving deeper into \ac{fp} concepts and finding innovative solutions within the constraints of a specific language. Additionally, as programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for \ac{fp} practitioners. The insights gained from this comparative analysis contribute to a broader understanding of \ac{fp} in diverse language ecosystems and provide a foundation for future exploration and research. From 96c31878972bec836bfa56ae512a85e65f3100f0 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 11:09:08 +0100 Subject: [PATCH 04/30] added questions for lecturer --- questions.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 questions.md diff --git a/questions.md b/questions.md new file mode 100644 index 0000000..f3dd6ad --- /dev/null +++ b/questions.md @@ -0,0 +1,10 @@ +# Questions before submission: + +- Is my text sufficient? +- Do I have enough sources? +- Are unit tests enough? +- Do I need to calculate or specify the coverage myself? +- How important is the build pipeline? +- Is my README sufficient? (Details on how the project can be started are missing and will be added before submission) +- Are there any bonus points available? +- Is there anything important missing? From 421c2973bb63abf6d4934423e3181a02eac75a3f Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 13:10:21 +0100 Subject: [PATCH 05/30] refactoring of text and readme --- README.md | 33 +++++++++++++++++++++++++++------ docs/chapters.tex | 21 +++++++++++---------- 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index d3335bf..810a9d3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![Build Status](https://github.com/maex0/nerddeck/actions/workflows/go.yml/badge.svg) ![Build Status](https://github.com/maex0/nerddeck/actions/workflows/latex.yml/badge.svg) -Welcome to NerdDeck, a project initiated during the first semester of my Master's program at [TH Rosenheim](https://www.th-rosenheim.de) in the course "Concepts of Programming Languages." In this project, I will be comparing two programming languages, [Go](https://go.dev) and [F#](https://dotnet.microsoft.com/languages/fsharp), within the context of functional programming. +Welcome to _NerdDeck_, a project initiated during the first semester of my Master's program at [TH Rosenheim](https://www.th-rosenheim.de) in the course **Concepts of Programming Languages**. In this project, I will be comparing two programming languages, [Go](https://go.dev) and [F#](https://dotnet.microsoft.com/languages/fsharp), within the context of functional programming. ## Project Overview @@ -16,22 +16,43 @@ This repository is dedicated to exploring the paradigms of functional programmin - [Introduction](#nerddeck) - [Project Overview](#project-overview) -- [Goals](#goals) +- [Paper](#paper) - [Getting Started](#getting-started) + - [Go](#go) + - [F#](#fsharp) - [Database](#database) - [Database Schema](#database-schema) - [Model](#Model) - [Contributing](#contributing) - [License](#license) -## Goals +## Paper -- Compare and contrast the key features of Go and F# as functional programming languages. -- Provide practical examples and use cases to demonstrate the strengths and weaknesses of each language. -- Implement the spaced repetition algorithm SM-2. Information about this algorithm can be found [here](https://www.supermemo.com/en/blog/application-of-a-computer-to-improve-the-results-obtained-in-working-with-the-supermemo-method). +I wrote a paper for this project, it contains an introduction for functional programming, for Go and F# and also for the coding project _NerdDeck_. This paper was written in LaTeX and can be found here [here](./docs/). ## Getting Started +This section is about how you can execute the code by yourself. Note that _NerdDeck_ is only a command line program! + +### Go + +- Verify that you have installed everything which is necessary Go on your system (info can be found here) +- Clone the repository: + `git clone https://github.com/maex0/nerddeck.git` +- Navigate to the project directory: `cd nerddeck` +- Navigate to the go project directory: `cd go` +- Execute and verify there are no build errors +- Execute and enjoy _NerdDeck_ + +### F# + +- Verify that you have installed everything which is necessary F# on your system. [.NET 7](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) is used. +- Clone the repository: + `git clone https://github.com/maex0/nerddeck.git` +- Navigate to the go project directory: `cd fsharp/NerdDeckFSharp` +- Execute `dotnet build` and verify there are no build errors +- Execute `dotnet run` and enjoy _NerdDeck_ + ## Database **Disclaimer:** For the purpose of this project, a single json file is used as a simple and lightweight database to store flashcards. While this approach is suitable for educational and illustrative purposes, it may not be suitable for production usage due to limitations in scalability and concurrent access. diff --git a/docs/chapters.tex b/docs/chapters.tex index 8ba6da1..0755e20 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -112,11 +112,11 @@ \chapter{Project Overview}\label{chap:project-overview} \section*{Imperative vs. Declarative} -Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. The following will demonstrate both approaches using a simple algorithm for summing up an array of numbers. +Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. The following will demonstrate both approaches using a simple algorithm written in pseudo code for summing up an array of numbers. \subsubsection{Imperative Approach} -Algorithm \ref{alg:imperative_sum} is an example of the imperative paradigm. This paradigm guides the computer through computations using explicit steps. Each line of pseudocode provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. The sum is calculated explicitly in a \textit{for loop} from line three to five. +Algorithm \ref{alg:imperative_sum} is an example of the imperative paradigm. This paradigm guides the computer through computations using explicit steps. Each line of pseudo code provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. The sum is calculated explicitly in a \texttt{for loop} from line three to five. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -163,7 +163,7 @@ \chapter{Introduction to Go and F\#}\label{chap:language-comparison} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. \section{Overview of Go}\label{sec:go-overview} - Go, commonly known as Golang, is employed to build simple, secure, and scalable systems. It is a statically-typed, compiled programming langauge designed by Google engineers Robert Griesemer, Rob Pike, and Ken Thompson in 2007. It is used very widely within big companies like Google, Paypal or Netflix. As an open source language, Go is characterized by: + Go, commonly known as Golang, is employed to build simple, secure, and scalable systems. It is a statically-typed, compiled programming language designed by Google engineers Robert Griesemer, Rob Pike, and Ken Thompson in 2007. It is used very widely within big companies like Google, Paypal or Netflix. As an open source language, Go is characterized by: \begin{itemize} \item \textbf{Concurrent programming:} Native support through goroutines and channels for scalable and parallelized \ac{app}s. \item \textbf{Efficiency:} Statically-typed, compiled that produces standalone binaries. Good for deployment in various environments. @@ -182,7 +182,7 @@ \chapter{Introduction to Go and F\#}\label{chap:language-comparison} \end{itemize} \cite{dotnet} \cite{keyfeaturesfsharp} - Both of the languages are not completely pure. + \chapter{Comparison of functional concepts}\label{chap:comparison} @@ -200,7 +200,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \subsection*{Go} In Go, developers commonly use \texttt{struct} types to represent data structures. Although they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. - Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. + Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing \ref{l:flashcardgo}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. \begin{figure}[ht] \begin{subfigure}{0.48\textwidth} @@ -234,9 +234,9 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the \ac{fp} paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its \ac{fp} paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. \subsection*{F\#} - In this F\# example, we define a first-class function \texttt{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. As an example in line four, the function is called on the List.filter function. It takes a predicate of type \texttt{T -> bool} and a list as input and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Moreover, F\# introduces the pipe operator \texttt{|>}, affording developers the convenience of placing the last argument at the forefront. This operator facilitates a more fluid and readable syntax, as exemplified by \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list through the pipe operator. This expression is equivalent to line four of listing \ref{l:flashcardfunction}. + In the F\# example in listing \ref{l:dueforreviewfsharp}, we define a first-class function \texttt{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. As an example in line four, the function is called on the List.filter function. It takes a predicate of type \texttt{T -> bool} and a list as input and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Moreover, F\# introduces the pipe operator \texttt{|>}, affording developers the convenience of placing the last argument at the forefront. This operator facilitates a more fluid and readable syntax, as exemplified by \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list through the pipe operator. This expression is equivalent to line four of listing \ref{l:dueforreviewfsharp}. The same functionality should no be implemented in the Go programming language. - \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:flashcardfunction] + \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:dueforreviewfsharp] let isDueForReview card = card.Repetitions > 0 && card.NextReview <= DateTime.Now @@ -249,7 +249,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} As an example, line 17 invokes the \texttt{filterDueFlashCards} function with a given set of flashcards (\texttt{cards}) and assigns the resulting list of flashcards due for review to the \texttt{dueFlashCards} variable. This variable encapsulates the outcome of the flashcard filtering process. - \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardgo] + \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:dueforreviewgo] func isDueForReview(card FlashCard) bool { return card.Repetitions > 0 && card.NextReview.Before(time.Now()) @@ -271,13 +271,14 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \section{Key Takeaway}\label{sec:keytakeaway} - While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. In addition, it is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. + While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing \ref{l:flashcardgo}, \ref{l:flashcardfsharp}, \ref{l:dueforreviewfsharp} and \ref{l:dueforreviewgo}. + It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. \chapter{Conclusion}\label{chap:conclusion} This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} - The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles are a priority. + The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles and their advantages are a priority. \section{Outlook}\label{sec:outlook} Looking ahead, there is potential for further exploration into writing more pure functional code within the \textit{NerdDeck} or similar projects. To achieve this, a pure programming language such as Haskell\footnote{Website: \url{https://www.haskell.org} (Accessed on 12/20/2023)} could be considered. This would involve delving deeper into \ac{fp} concepts and finding innovative solutions within the constraints of a specific language. Additionally, as programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for \ac{fp} practitioners. The insights gained from this comparative analysis contribute to a broader understanding of \ac{fp} in diverse language ecosystems and provide a foundation for future exploration and research. From cbd1d87c2f9414696d36bc27ad79a21fbed6f04c Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 15:23:12 +0100 Subject: [PATCH 06/30] Refactoring --- docs/abbreviations.tex | 11 ++-- docs/chapters.tex | 130 ++++++++++++++++++++--------------------- docs/document.bib | 16 ++--- 3 files changed, 79 insertions(+), 78 deletions(-) diff --git a/docs/abbreviations.tex b/docs/abbreviations.tex index 2dc9281..96da67c 100644 --- a/docs/abbreviations.tex +++ b/docs/abbreviations.tex @@ -1,14 +1,15 @@ -\chapter{Abkürzungen}\label{a:Abkuerzungen} +\chapter{Abbreviations}\label{a:Abbreviations} \begin{acronym} + \acro{app}[App]{Application} - \acro{mvp}[MVP]{Minimal Viable Product} - \acro{json}[JSON]{JavaScript Object Notation} - \acro{sm2}[SM-2]{SuperMemo 2.0} \acro{cli}[CLI]{Command Line Interface} + \acro{fp}[FP]{functional programming} \acro{gui}[GUI]{Graphical User Interface} - \acro{fp}[FP]{Functional programming} + \acro{json}[JSON]{JavaScript Object Notation} + \acro{mvp}[MVP]{Minimal Viable Product} \acro{repl}[REPL]{Read-eval-print loop} + \acro{sm2}[SM2]{SuperMemo 2.0} \acro{uml}[UML]{Unified Modeling Language} \end{acronym} \ No newline at end of file diff --git a/docs/chapters.tex b/docs/chapters.tex index 0755e20..039c663 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -1,7 +1,7 @@ \chapter{Introduction}\label{chap:introduction} This paper is written for the master course \textit{Concepts of Programming Languages} of the department of computer science in the Winter Term 23/24 at the Technical University of Applied Sciences Rosenheim. \section{Background}\label{sec:background} -As of the TIOBE Index data as of November 2023, it is reported that there are currently over 150 programming languages in existence. This implies that, up until the present moment, the programming landscape continues to encompass a diverse array of languages, reflecting the dynamic and ever-evolving nature of the field.\cite{tiobeindex} The task of a software engineer at a certain point in the production of software is to select one of these programming languages that is suitable for a particular problem. This can be a science in itself. This very topic has been discussed for around 50 years.\cite{Tharp1982} +As of the TIOBE Index data as of November 2023, it is reported that there are currently over 150 programming languages in existence. This implies that, up until the present moment, the programming landscape continues to encompass a diverse array of languages, reflecting the dynamic and ever-evolving nature of the field.\cite{Tiobeindex} The task of a software engineer at a certain point in the production of software is to select one of these programming languages that is suitable for a particular problem. This can be a science in itself. This very topic has been discussed for around 50 years.\cite{Tharp1982} The reason for that is that every language has its own paradigms and concepts. One can come up with a solution, selecting a language which fits a lot of problems but not a single one perfect. Or he selects one which fits perfect for a single problem but it is not possible to solve all the other problems. So the goal would be to select the \textit{right} programming language which suits the requirements and the surrounding of a given problem accordingly. This spot should be covered by this paper with the comparison of Go and F\# in the context of \ac{fp}. @@ -23,7 +23,7 @@ \chapter{Project Overview}\label{chap:project-overview} \textit{NerdDeck} is an \ac{app} which can help remembering things with flashcards. There exists already such a product called Anki\footnote{Website: \url{https://apps.ankiweb.net} (Accessed on 12/03/2023)} for the same use case. Most parts of Anki are written in Rust and Python.\footnote{Website: \url{https://github.com/ankitects/anki} (Accessed on 12/03/2023)} The difference in \textit{NerdDeck} is that it is written twice, each time in a different programming language, Go and F\#, and the \ac{fp} paradigm is used. In F\# there will be no problem as it will turn out in section \ref{sec:fsharp-overview} because it is possible to write functional-first code. But as Go is a impure language, the goal is to write it as functional as possible. To be able to adhere to the project framework, \textit{NerdDeck} uses the \ac{cli} as a \ac{gui} while Anki has its own developed one. \section{Requirements} - The \ac{app} should allow a single user to use the \ac{sm2} alorithm which is used for a learning technique called spaced repetition.\cite{sm2} One of Anki's algorithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} Because \textit{NerdDeck} is build by a student, the requirements are also written from a students perspective. These are written down in table \ref{tab:requirements}. The requirements should not differ too big from other users using this \ac{app}. The goal is to implement this twice, one time in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, so it's possible to do the comparison about \ac{fp}. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. They can not be deleted. + The \ac{app} should allow a single user to use the \ac{sm2} alorithm which is used for a learning technique called spaced repetition.\cite{Sm2} One of Anki's algorithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} Because \textit{NerdDeck} is build by a student, the requirements are also written from a students perspective. These are written down in table \ref{tab:requirements}. The requirements should not differ too big from other users using this \ac{app}. The goal is to implement this twice, one time in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, so it's possible to do the comparison about \ac{fp}. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. They can not be deleted. \begin{table}[h] \centering \begin{tabular}{|m{0.5in}|m{4in}|} @@ -56,16 +56,16 @@ \chapter{Project Overview}\label{chap:project-overview} \caption{\ac{uml} diagram of the Flashcard model}\label{fig:model} \end{figure} - \begin{lstlisting}[language=json,firstnumber=1,float=tp, caption={Example of how a flashcard is saved inside a \ac{json} file}, label=l:flashcardjson] - [{ - "ID": "37268335dd6931045bdcdf926", - "Question": "What algebraic data types does F# use?", - "Answer": "Record types and discriminated unions", - "Repetitions": 1, - "EasinessFactor": 1.3, - "NextReview": "2023-12-18T18:17:22.438077+01:00" - }] - \end{lstlisting} +\begin{lstlisting}[language=json,firstnumber=1,float=tp, caption={Example of how a flashcard is saved inside a \ac{json} file}, label=l:flashcardjson] +[{ + "ID": "37268335dd6931045bdcdf926", + "Question": "What algebraic data types does F# use?", + "Answer": "Record types and discriminated unions", + "Repetitions": 1, + "EasinessFactor": 1.3, + "NextReview": "2023-12-18T18:17:22.438077+01:00" +}] +\end{lstlisting} \section{Functionality Overview and User Interface} In figure \ref{fig:screenshotcli} the prompt inside the \ac{cli} of the F\# implementation can be seen. This welcome screen and menu looks the same way in the go implementation. A user who executes the program can select between the following five choices: @@ -79,8 +79,8 @@ \chapter{Project Overview}\label{chap:project-overview} \begin{figure} \centering - \includegraphics[width=0.6\textwidth]{ScreenshotNerdDeck.png} - \caption{Screenshot of the \ac{cli}. Shows start of \textit{NerdDeck}.} + \includegraphics[width=0.7\textwidth]{ScreenshotNerdDeck.png} + \caption{Screenshot of the \ac{cli} which shows the start of \textit{NerdDeck}.} \label{fig:screenshotcli} \end{figure} @@ -169,19 +169,19 @@ \chapter{Introduction to Go and F\#}\label{chap:language-comparison} \item \textbf{Efficiency:} Statically-typed, compiled that produces standalone binaries. Good for deployment in various environments. \item \textbf{Flexibility:} Can be used for Cloud \& Network Services, \ac{cli}s, Web Development and Development Operations \& Site Reliability Engineering. \end{itemize} - \cite{GoWebsite} + \cite{Gowebsite} \section{Overview of F\#}\label{sec:fsharp-overview} F\# is a functional-first programming language developed by Microsoft Research in 2005. - Besides C\# and Visual Basic, F\# is another programming language within the .NET ecosystem. On the official website of microsoft it is declared as an open-source language that makes it easy to write succinct, robust, and performant code. Microsoft names itself as a leading contributor. F\# has an active community and support \cite{fsharpfoundation}. + Besides C\# and Visual Basic, F\# is another programming language within the .NET ecosystem. On the official website of microsoft it is declared as an open-source language that makes it easy to write succinct, robust, and performant code. Microsoft names itself as a leading contributor. F\# has an active community and support \cite{Fsharpfoundation}. While developing, F\# has a very powerful build-in future called \ac{repl}. Besides of that the key features are: \begin{itemize} \item \textbf{Functional-first:} Immutable by default, First-class functions, Pattern Matching, Algebraic Data Types \item \textbf{Lightweight syntax:} Type inference and automatic generalization \item \textbf{Interoperability:} Access .NET Libraries and APIs (e.g. ASP.NET or Entity Framework). \end{itemize} - \cite{dotnet} - \cite{keyfeaturesfsharp} + \cite{Dotnet} + \cite{Keyfeaturesfsharp} @@ -203,32 +203,32 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing \ref{l:flashcardgo}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. \begin{figure}[ht] - \begin{subfigure}{0.48\textwidth} - \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in Go}, label=l:flashcardgo] - type FlashCard struct { - ID string - Question string - Answer string - Repetitions int - EFactor float64 - NextReview time.Time - } - \end{lstlisting} - \end{subfigure}\hfill - \begin{subfigure}{0.48\textwidth} - \begin{lstlisting}[language=FSharp, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardfsharp] - type FlashCard = - { ID : string - Question : string - Answer : string - Repetitions : int - EFactor : float - NextReview : DateTime } - \end{lstlisting} - \end{subfigure} - \caption{Comparison of FlashCard representations in Go and F\#} - \label{fig:flashcardcomparison} - \end{figure} +\begin{subfigure}{0.48\textwidth} +\begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in Go}, label=l:flashcardgo] +type FlashCard struct { + ID string + Question string + Answer string + Repetitions int + EFactor float64 + NextReview time.Time +} +\end{lstlisting} +\end{subfigure}\hfill +\begin{subfigure}{0.48\textwidth} +\begin{lstlisting}[language=FSharp, firstnumber=1, caption={FlashCard representation in F\#}, label=l:flashcardfsharp] +type FlashCard = + { ID : string + Question : string + Answer : string + Repetitions : int + EFactor : float + NextReview : DateTime } +\end{lstlisting} +\end{subfigure} +\caption{Comparison of FlashCard representations in Go and F\#} +\label{fig:flashcardcomparison} +\end{figure} \section{First-class Functions}\label{sec:first-class-functions} Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the \ac{fp} paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its \ac{fp} paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. @@ -236,12 +236,12 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \subsection*{F\#} In the F\# example in listing \ref{l:dueforreviewfsharp}, we define a first-class function \texttt{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. As an example in line four, the function is called on the List.filter function. It takes a predicate of type \texttt{T -> bool} and a list as input and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Moreover, F\# introduces the pipe operator \texttt{|>}, affording developers the convenience of placing the last argument at the forefront. This operator facilitates a more fluid and readable syntax, as exemplified by \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list through the pipe operator. This expression is equivalent to line four of listing \ref{l:dueforreviewfsharp}. The same functionality should no be implemented in the Go programming language. - \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:dueforreviewfsharp] +\begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:dueforreviewfsharp] let isDueForReview card = card.Repetitions > 0 && card.NextReview <= DateTime.Now let dueFlashCards = List.filter isDueForReview cards - \end{lstlisting} +\end{lstlisting} \subsection*{Go} @@ -249,25 +249,25 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} As an example, line 17 invokes the \texttt{filterDueFlashCards} function with a given set of flashcards (\texttt{cards}) and assigns the resulting list of flashcards due for review to the \texttt{dueFlashCards} variable. This variable encapsulates the outcome of the flashcard filtering process. - \begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:dueforreviewgo] - func isDueForReview(card FlashCard) bool { - return card.Repetitions > 0 - && card.NextReview.Before(time.Now()) - } - - func filterDueFlashCards(cards []FlashCard) []FlashCard { - var dueFlashCards []FlashCard - for _, card := range cards { - if isDueForReview(card) { - dueFlashCards = append(dueFlashCards, card) - } - } - return dueFlashCards - } - - - dueFlashCards := filterDueFlashCards(cards) - \end{lstlisting} +\begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:dueforreviewgo] +func isDueForReview(card FlashCard) bool { + return card.Repetitions > 0 + && card.NextReview.Before(time.Now()) +} + +func filterDueFlashCards(cards []FlashCard) []FlashCard { + var dueFlashCards []FlashCard + for _, card := range cards { + if isDueForReview(card) { + dueFlashCards = append(dueFlashCards, card) + } + } + return dueFlashCards +} + + +dueFlashCards := filterDueFlashCards(cards) +\end{lstlisting} \section{Key Takeaway}\label{sec:keytakeaway} diff --git a/docs/document.bib b/docs/document.bib index b8b0fda..468e414 100644 --- a/docs/document.bib +++ b/docs/document.bib @@ -1,4 +1,4 @@ -@Misc{tiobeindex, +@Misc{Tiobeindex, howpublished = {\url{https://www.tiobe.com/tiobe-index/}}, note = {(Accessed on 11/27/2023)}, title = {TIOBE Index - TIOBE}, @@ -32,7 +32,7 @@ @Misc{HaskellWebsite title = {Haskell Language}, } -@Misc{GoWebsite, +@Misc{Gowebsite, howpublished = {\url{https://go.dev/}}, note = {(Accessed on 11/27/2023)}, title = {The Go Programming Language}, @@ -41,7 +41,7 @@ @Misc{GoWebsite @InProceedings{Hudak2007, author = {Hudak, Paul and Hughes, John and Peyton Jones, Simon and Wadler, Philip}, booktitle = {Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages}, - title = {A History of Haskell: Being Lazy with Class}, + title = {{A} {H}istory of {H}askell: {B}eing {L}azy with {C}lass}, year = {2007}, address = {New York, NY, USA}, pages = {12–1–12–55}, @@ -54,7 +54,7 @@ @InProceedings{Hudak2007 url = {https://doi.org/10.1145/1238844.1238856}, } -@Misc{sm2, +@Misc{Sm2, howpublished = {\url{https://www.supermemo.com/en/blog/application-of-a-computer-to-improve-the-results-obtained-in-working-with-the-supermemo-method}}, note = {(Accessed on 12/01/2023)}, title = {Application of a computer to improve the results obtained in working with the SuperMemo method - SuperMemo}, @@ -90,22 +90,22 @@ @Article{Lu2021 publisher = {Springer Science and Business Media LLC}, } -@Misc{dotnet, +@Misc{Dotnet, howpublished = {\url{https://dotnet.microsoft.com/en-us/languages}}, note = {(Accessed on 12/20/2023)}, title = {.NET programming languages | C\#, F\#, and Visual Basic}, } -@Misc{keyfeaturesfsharp, +@Misc{Keyfeaturesfsharp, howpublished = {\url{https://learn.microsoft.com/en-us/dotnet/fsharp/what-is-fsharp}}, note = {(Accessed on 12/21/2023)}, title = {What is F\# - .NET | Microsoft Learn}, } -@Misc{fsharpfoundation, +@Misc{Fsharpfoundation, howpublished = {\url{https://fsharp.org/}}, note = {(Accessed on 12/21/2023)}, - title = {F\# Software Foundation}, + title = {{F}\# {S}oftware {F}oundation}, } @Comment{jabref-meta: databaseType:bibtex;} From 1a9ba5e808a65f8d3780909a32876bb0f2828791 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 17:55:17 +0100 Subject: [PATCH 07/30] fixed bib --- docs/document.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/document.bib b/docs/document.bib index 468e414..c3f4eec 100644 --- a/docs/document.bib +++ b/docs/document.bib @@ -67,7 +67,7 @@ @Article{Hughes1989 title = {Why Functional Programming Matters}, year = {1989}, issn = {1460-2067}, - month = feb, + month = {feb}, number = {2}, pages = {98--107}, volume = {32}, From e33f86b1d6e4b66fe700bb317f816a297699ff1c Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Mon, 8 Jan 2024 18:18:01 +0100 Subject: [PATCH 08/30] added headings for better structure --- docs/chapters.tex | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 039c663..097a2b5 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -47,7 +47,7 @@ \chapter{Project Overview}\label{chap:project-overview} \section{Data} For the purpose of this project, a single \ac{json} file is used as a simple and lightweight database to store flashcards. For example in the \ac{json} object in listing \ref{l:flashcardjson}. While this approach is suitable for educational and illustrative purposes, it may not be suitable for production usage due to limitations in scalability and concurrent access. In a production environment, a more robust database solution should be considered, such as a relational database (e.g., PostgreSQL\footnote{Website: \url{https://www.postgresql.org} (Accessed on 12/02/2023)}, MySQL\footnote{Website: \url{https://www.mysql.com} (Accessed on 12/02/2023)}) or a NoSQL database (e.g., MongoDB\footnote{Website: \url{https://www.mongodb.com} (Accessed on 12/02/2023)}). The choice of the database will depend on the specific requirements of the \ac{app}. - \subsection{Model} + \subsection*{Model} To be able to fulfill the requirements of table \ref{tab:requirements} a model is needed for a flashcard. These are shown in figure \ref{fig:model}. It is important that allow a user to create multiple flashcards and validate that there is no flashcard with a duplicate question and answer. The ID is generated from the question and answer of the flashcard. This ID acts like a primary key for the model. This model should be used within both languages. \begin{figure} @@ -91,26 +91,30 @@ \chapter{Project Overview}\label{chap:project-overview} \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{} \cite{Hughes1989} \end{shaded} This should be the motivation considering the usage of \ac{fp}. - Within the paradigm of \ac{fp}, developers engage with principles that underscore the pursuit of expressive and concise solutions. Rooted in mathematical concepts like lambda calculus, \ac{fp} emerges as a methodology characterized by rigor and elegance. + Within the paradigm of \ac{fp}, developers engage with principles that underscore the pursuit of expressive and concise solutions. - Key principles integral to \ac{fp} include: +\section{Key principles} - \begin{itemize} - \item \textbf{Purity:} Strict avoidance of side effects to ensure deterministic behavior. - \item \textbf{Higher-order functions:} Utilization of functions as parameters and return values for enhanced modularity. - \item \textbf{Lazy evaluation:} Selective computation, evaluating values only when necessary for optimization. - \item \textbf{Algebraic data types:} Incorporation of sum- and product-types, as discussed in more detail in Section \ref{sec:algebraic-data-types}. - \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section \ref{sec:first-class-functions}. - \end{itemize} - - Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:language-comparison}. - - As developers navigate through contrasting algorithms, exploring the interplay between imperative and declarative styles, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. - - In conclusion, \ac{fp} equips professionals with a robust set of tools, emphasizing immutability, higher-order functions, and mathematical principles. It not only addresses contemporary challenges in software development but also fosters a deeper understanding of the intricacies involved in designing robust, modular, and expressive code. +Rooted in mathematical concepts like lambda calculus, \ac{fp} emerges as a methodology characterized by rigor and elegance. + +Key principles integral to \ac{fp} include: + +\begin{itemize} + \item \textbf{Purity:} Strict avoidance of side effects to ensure deterministic behavior. + \item \textbf{Higher-order functions:} Utilization of functions as parameters and return values for enhanced modularity. + \item \textbf{Lazy evaluation:} Selective computation, evaluating values only when necessary for optimization. + \item \textbf{Algebraic data types:} Incorporation of sum- and product-types, as discussed in more detail in Section \ref{sec:algebraic-data-types}. + \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section \ref{sec:first-class-functions}. +\end{itemize} + +Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:language-comparison}. + +As developers navigate through contrasting algorithms, exploring the interplay between imperative and declarative styles, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. + +In conclusion, \ac{fp} equips professionals with a robust set of tools, emphasizing immutability, higher-order functions, and mathematical principles. It not only addresses contemporary challenges in software development but also fosters a deeper understanding of the intricacies involved in designing robust, modular, and expressive code. -\section*{Imperative vs. Declarative} +\section{Imperative vs. Declarative} Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. The following will demonstrate both approaches using a simple algorithm written in pseudo code for summing up an array of numbers. @@ -142,7 +146,7 @@ \subsubsection{Imperative Approach} \subsubsection{Declarative Approach} -In contrast, the declarative style, showcased by Algorithm \ref{alg:declarative_sum}, shifts the emphasis from detailing step-by-step procedures to expressing the desired outcome directly. This approach, a hallmark of \ac{fp}, leverages the power of functions and abstraction. +In contrast, the declarative style, showcased by Algorithm \ref{alg:declarative_sum}, shifts the emphasis from detailing step-by-step procedures to expressing the desired outcome directly. This approach, a hallmark of \ac{fp}, leverages the power of functions and abstraction. Later on in chapter \ref{chap:language-comparison} we will discover a similar short syntax while using F\#. \begin{algorithm} \SetKwInOut{Input}{Input} From 8b6f49c89726ff967ff33b532bdb23fbd9f40ef6 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 10:26:01 +0100 Subject: [PATCH 09/30] refactoring and finished chapter 1. --- docs/chapters.tex | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 097a2b5..1d09ea6 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -1,21 +1,22 @@ \chapter{Introduction}\label{chap:introduction} This paper is written for the master course \textit{Concepts of Programming Languages} of the department of computer science in the Winter Term 23/24 at the Technical University of Applied Sciences Rosenheim. + \section{Background}\label{sec:background} -As of the TIOBE Index data as of November 2023, it is reported that there are currently over 150 programming languages in existence. This implies that, up until the present moment, the programming landscape continues to encompass a diverse array of languages, reflecting the dynamic and ever-evolving nature of the field.\cite{Tiobeindex} The task of a software engineer at a certain point in the production of software is to select one of these programming languages that is suitable for a particular problem. This can be a science in itself. This very topic has been discussed for around 50 years.\cite{Tharp1982} -The reason for that is that every language has its own paradigms and concepts. One can come up with a solution, selecting a language which fits a lot of problems but not a single one perfect. Or he selects one which fits perfect for a single problem but it is not possible to solve all the other problems. -So the goal would be to select the \textit{right} programming language which suits the requirements and the surrounding of a given problem accordingly. -This spot should be covered by this paper with the comparison of Go and F\# in the context of \ac{fp}. + According to the November 2023 TIOBE Index data, there are currently over 150 programming languages in existence. The programming landscape includes a diverse array of languages, reflecting the dynamic and ever-evolving nature of the field.\cite{Tiobeindex} When producing software, a software engineer must select a programming language that is suitable for a particular problem. This topic has been discussed for approximately 50 years.\cite{Tharp1982} The reason for this is that each language has its own paradigms and concepts. While there is no perfect language that can solve all problems, one can choose a language that fits many problems or one that is perfect for a single problem. The goal of selecting the appropriate programming language is to find one that suits the requirements and context of a given problem. This paper compares Go and F\# in the context of functional programming (FP) to cover this topic. \section{Purpose of the Project}\label{sec:purpose} - The object of this project is to analyze and compare the similarities and differences between two \ac{fp} languages. The selected languages for this comparative study are Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it mandatory inclusion in the project. - In addition to Go, a second programming language is essential for the comparative analysis, and F\# has been selected for this purpose. The inclusion of F\# in this study was a deliberate choice, as explained in section \ref{sec:whyfsharp}. By juxtaposing Go and F\#, the project aims to unravel the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project seeks to contribute valuable insights into the \ac{fp} landscape, providing a nuanced understanding of the strengths and trade-offs associated with these two languages. + The aim of this project is to analyze and compare the similarities and differences between two \ac{fp} languages: Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it a mandatory inclusion in the project. In order to conduct a comparative analysis, it is essential to include a second programming language alongside Go. For this purpose, F\# has been selected. The decision to include F\# in this study was deliberate, as explained in section \ref{sec:whyfsharp}. By comparing Go and F\#, this project aims to uncover the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project aims to provide valuable insights into the \ac{fp} landscape. It seeks to offer a nuanced understanding of the strengths and trade-offs associated with both languages. \section{Why F\#?}\label{sec:whyfsharp} - One of the key reasons for choosing F\# is its status as a functional-first programming language. In contrast to Go's multi-paradigm approach, F\#'s commitment to functional principles provides an excellent opportunity to explore the benefits of implementing code from a pure perspective. - For a more in-depth understanding of F\#, including its syntax, features, and \ac{fp} principles, readers are encouraged to refer to section \ref{sec:fsharp-overview} and chapter \ref{chap:comparison}. + One of the main reasons for selecting F\# is its status as a functional-first programming language. Unlike Go's multi-paradigm approach, F\# is committed to functional principles, providing an excellent opportunity to explore the benefits of implementing code from a pure perspective. + For a more comprehensive understanding of F\#, including its syntax, features, and \ac{fp} principles, please refer to section\ \ref{sec:fsharp-overview} and chapter\ \ref{chap:comparison}. \section{Roadmap}\label{sec:roadmap} - Embedded within this exploration about \ac{fp} is a brief discussion of the \textit{NerdDeck} Flash Card \ac{app} in chapter 2, our practical context for understanding \ac{fp} in action. Besides of that this paper navigates a concise roadmap to compare \ac{fp} in Go and F\#, anchored by an initial overview of \ac{fp} principles in chapter 3. It then swiftly transitions to individual language analyses in chapter 4, spotlighting key design philosophies and features of Go and F\#. The centerpiece is chapter 5, a focused exploration of two critical functional concepts: Algebraic Data Types and First-class Functions. Leveraging code examples, this section illuminates nuances in implementation, providing a succinct yet insightful comparative analysis. The paper concludes in chapter 6, summarizing challenges and outlook from both the project and the comparison. This streamlined roadmap ensures a comprehensive yet condensed examination of \ac{fp} in Go and F\#. + Chapter\ \ref{chap:project-overview} briefly discusses the \textit{NerdDeck} Flash Card \ac{app} as a practical context for understanding \ac{fp} in action. Chapter\ \ref{chap:functional-programming} provides an overview of \ac{fp} principles, followed by an introduction to Go and F\# of \ac{fp} in chapter\ \ref{chap:introgoandfsharp}. Chapter\ \ref{chap:comparison} is the centerpiece of this paper, as it provides a focused exploration of two critical functional concepts: Algebraic Data Types and First-class Functions. This section uses code examples to illuminate nuances in implementation, providing a concise yet insightful comparative analysis. The paper concludes in chapter\ \ref{chap:conclusion}, summarizing challenges and outlook from both the project and the comparison. This streamlined roadmap ensures + a comprehensive yet condensed examination of \ac{fp} in Go and F\#. + + +%========================================================CHAPTER 2======================================================== \chapter{Project Overview}\label{chap:project-overview} \section{Description of the \textit{NerdDeck} Flash Card Application}\label{sec:description} @@ -107,7 +108,7 @@ \section{Key principles} \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section \ref{sec:first-class-functions}. \end{itemize} -Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:language-comparison}. +Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:introgoandfsharp}. As developers navigate through contrasting algorithms, exploring the interplay between imperative and declarative styles, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. @@ -146,7 +147,7 @@ \subsubsection{Imperative Approach} \subsubsection{Declarative Approach} -In contrast, the declarative style, showcased by Algorithm \ref{alg:declarative_sum}, shifts the emphasis from detailing step-by-step procedures to expressing the desired outcome directly. This approach, a hallmark of \ac{fp}, leverages the power of functions and abstraction. Later on in chapter \ref{chap:language-comparison} we will discover a similar short syntax while using F\#. +In contrast, the declarative style, showcased by Algorithm \ref{alg:declarative_sum}, shifts the emphasis from detailing step-by-step procedures to expressing the desired outcome directly. This approach, a hallmark of \ac{fp}, leverages the power of functions and abstraction. Later on in chapter \ref{chap:introgoandfsharp} we will discover a similar short syntax while using F\#. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -163,7 +164,7 @@ \subsubsection{Declarative Approach} \label{alg:declarative_sum} \end{algorithm} -\chapter{Introduction to Go and F\#}\label{chap:language-comparison} +\chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. \section{Overview of Go}\label{sec:go-overview} From 21e38a9fc52010d2a058aa8b62a7039ecdfca516 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 11:51:30 +0100 Subject: [PATCH 10/30] refactoring and finished chapter 2. replaced Flash Card with flashcard. Removed latex errors. --- docs/abstract.tex | 2 +- docs/chapters.tex | 59 +++++++++++++----------- docs/document.tex | 7 ++- fsharp/NerdDeckFSharp/src/App/Program.fs | 30 ++++++------ go/main.go | 20 ++++---- 5 files changed, 64 insertions(+), 54 deletions(-) diff --git a/docs/abstract.tex b/docs/abstract.tex index 72d254f..6acd8e7 100644 --- a/docs/abstract.tex +++ b/docs/abstract.tex @@ -1,6 +1,6 @@ \chapter*{Abstract} \thispagestyle{empty} -This paper presents a comparative analysis of functional programming paradigms in Go and F\#, focusing on key concepts such as Algebraic Data Types and First-class Functions. The \textit{NerdDeck} Flash Card application serves as a practical example to illustrate the application of functional programming principles in both languages. Despite inherent challenges arising from the impurity of both languages, the comparison reveals distinctions in their approaches, emphasizing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. +This paper presents a comparative analysis of functional programming paradigms in Go and F\#, focusing on key concepts such as Algebraic Data Types and First-class Functions. The \textit{NerdDeck} flashcard application serves as a practical example to illustrate the application of functional programming principles in both languages. Despite inherent challenges arising from the impurity of both languages, the comparison reveals distinctions in their approaches, emphasizing F\#'s native support for functional programming and Go's adaptation within its multi-paradigm framework. The challenges encountered underscore the importance of balancing functional and imperative programming in each language, prompting a nuanced approach in selecting languages for projects prioritizing functional programming principles. Looking ahead, further exploration into writing purer functional code within projects like \textit{NerdDeck} is proposed. This could involve delving deeper into functional programming concepts and considering the use of purely functional languages like Haskell. As programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for functional programming practitioners. diff --git a/docs/chapters.tex b/docs/chapters.tex index 1d09ea6..3013de1 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -1,3 +1,5 @@ +%========================================================CHAPTER 1======================================================== + \chapter{Introduction}\label{chap:introduction} This paper is written for the master course \textit{Concepts of Programming Languages} of the department of computer science in the Winter Term 23/24 at the Technical University of Applied Sciences Rosenheim. @@ -5,29 +7,29 @@ \chapter{Introduction}\label{chap:introduction} According to the November 2023 TIOBE Index data, there are currently over 150 programming languages in existence. The programming landscape includes a diverse array of languages, reflecting the dynamic and ever-evolving nature of the field.\cite{Tiobeindex} When producing software, a software engineer must select a programming language that is suitable for a particular problem. This topic has been discussed for approximately 50 years.\cite{Tharp1982} The reason for this is that each language has its own paradigms and concepts. While there is no perfect language that can solve all problems, one can choose a language that fits many problems or one that is perfect for a single problem. The goal of selecting the appropriate programming language is to find one that suits the requirements and context of a given problem. This paper compares Go and F\# in the context of functional programming (FP) to cover this topic. \section{Purpose of the Project}\label{sec:purpose} - The aim of this project is to analyze and compare the similarities and differences between two \ac{fp} languages: Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it a mandatory inclusion in the project. In order to conduct a comparative analysis, it is essential to include a second programming language alongside Go. For this purpose, F\# has been selected. The decision to include F\# in this study was deliberate, as explained in section \ref{sec:whyfsharp}. By comparing Go and F\#, this project aims to uncover the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project aims to provide valuable insights into the \ac{fp} landscape. It seeks to offer a nuanced understanding of the strengths and trade-offs associated with both languages. + The aim of this project is to analyze and compare the similarities and differences between two \ac{fp} languages: Go\footnote{Website: \url{https://go.dev} (Accessed on 12/02/2023)} and F\#\footnote{Website: \url{https://dotnet.microsoft.com/languages/fsharp} (Accessed on 12/02/2023)}. Go was chosen as the initial language due to its consistent usage throughout the course, making it a mandatory inclusion in the project. In order to conduct a comparative analysis, it is essential to include a second programming language alongside Go. For this purpose, F\# has been selected. The decision to include F\# in this study was deliberate, as explained in section\ \ref{sec:whyfsharp}. By comparing Go and F\#, this project aims to uncover the nuances and divergences in their approaches to \ac{fp} paradigms, shedding light on their distinctive features, strengths, and potential use cases. Through this comparative exploration, the project aims to provide valuable insights into the \ac{fp} landscape. It seeks to offer a nuanced understanding of the strengths and trade-offs associated with both languages. \section{Why F\#?}\label{sec:whyfsharp} One of the main reasons for selecting F\# is its status as a functional-first programming language. Unlike Go's multi-paradigm approach, F\# is committed to functional principles, providing an excellent opportunity to explore the benefits of implementing code from a pure perspective. For a more comprehensive understanding of F\#, including its syntax, features, and \ac{fp} principles, please refer to section\ \ref{sec:fsharp-overview} and chapter\ \ref{chap:comparison}. \section{Roadmap}\label{sec:roadmap} - Chapter\ \ref{chap:project-overview} briefly discusses the \textit{NerdDeck} Flash Card \ac{app} as a practical context for understanding \ac{fp} in action. Chapter\ \ref{chap:functional-programming} provides an overview of \ac{fp} principles, followed by an introduction to Go and F\# of \ac{fp} in chapter\ \ref{chap:introgoandfsharp}. Chapter\ \ref{chap:comparison} is the centerpiece of this paper, as it provides a focused exploration of two critical functional concepts: Algebraic Data Types and First-class Functions. This section uses code examples to illuminate nuances in implementation, providing a concise yet insightful comparative analysis. The paper concludes in chapter\ \ref{chap:conclusion}, summarizing challenges and outlook from both the project and the comparison. This streamlined roadmap ensures + Chapter\ \ref{chap:project-overview} briefly discusses the \textit{NerdDeck} flashcard \ac{app} as a practical context for understanding \ac{fp} in action. Chapter\ \ref{chap:functional-programming} provides an overview of \ac{fp} principles, followed by an introduction to Go and F\# of \ac{fp} in chapter\ \ref{chap:introgoandfsharp}. Chapter\ \ref{chap:comparison} is the centerpiece of this paper, as it provides a focused exploration of two critical functional concepts: Algebraic Data Types and First-class Functions. This section uses code examples to illuminate nuances in implementation, providing a concise yet insightful comparative analysis. The paper concludes in chapter\ \ref{chap:conclusion}, summarizing challenges and outlook from both the project and the comparison. This streamlined roadmap ensures a comprehensive yet condensed examination of \ac{fp} in Go and F\#. %========================================================CHAPTER 2======================================================== \chapter{Project Overview}\label{chap:project-overview} - \section{Description of the \textit{NerdDeck} Flash Card Application}\label{sec:description} - This coding project should illustrate and highlight similarities and differences about \ac{fp} in Go versus F\#. - \textit{NerdDeck} is an \ac{app} which can help remembering things with flashcards. There exists already such a product called Anki\footnote{Website: \url{https://apps.ankiweb.net} (Accessed on 12/03/2023)} for the same use case. Most parts of Anki are written in Rust and Python.\footnote{Website: \url{https://github.com/ankitects/anki} (Accessed on 12/03/2023)} The difference in \textit{NerdDeck} is that it is written twice, each time in a different programming language, Go and F\#, and the \ac{fp} paradigm is used. In F\# there will be no problem as it will turn out in section \ref{sec:fsharp-overview} because it is possible to write functional-first code. But as Go is a impure language, the goal is to write it as functional as possible. To be able to adhere to the project framework, \textit{NerdDeck} uses the \ac{cli} as a \ac{gui} while Anki has its own developed one. + \section{Description of the \textit{NerdDeck} flashcard Application}\label{sec:descriptionofnerddeck} + This coding project aims to compare and contrast the use of \ac{fp} in Go and F\#. The \textit{NerdDeck} \ac{app} is designed to aid in memorization using flashcards. A similar product, Anki\footnote{Website: \url{https://apps.ankiweb.net} (Accessed on 12/03/2023)}, already exists for this purpose, with most of its components written in Rust and Python. However, \textit{NerdDeck} stands out as it is written twice, once in Go and once in F\#, utilizing the \ac{fp} paradigm. In section\ \ref{sec:fsharp-overview}, F\# will not pose any issues since it allows for functional-first code. However, since Go is an impure language, the objective is to write in a functional manner as much as possible.\ \textit{NerdDeck} adheres to the project framework by using the \ac{cli} as a \ac{gui}, while Anki has its own developed interface. + + \section{Requirements}\label{sec:requirements} + The \ac{app} should enable a single user to utilize the \ac{sm2} algorithm, which is employed for a learning technique known as spaced repetition.\cite{Sm2} It is worth noting that one of Anki's algorithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} The requirements for \textit{NerdDeck}, being developed by a student, are written from a student's perspective and are listed in table\ \ref{tab:requirements}. It is important to ensure that these requirements do not deviate significantly from those of other users of the \ac{app}. The objective is to implement this twice, once in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, allowing for a comparison of \ac{fp}. To reduce complexity, only one deck exists where users can add new flashcards. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. However, it is not yet possible to delete flashcards. This is a potential future implementation. - \section{Requirements} - The \ac{app} should allow a single user to use the \ac{sm2} alorithm which is used for a learning technique called spaced repetition.\cite{Sm2} One of Anki's algorithms is also based on \ac{sm2}.\footnote{Website: \url{https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html} (Accessed on 12/03/2023)} Because \textit{NerdDeck} is build by a student, the requirements are also written from a students perspective. These are written down in table \ref{tab:requirements}. The requirements should not differ too big from other users using this \ac{app}. The goal is to implement this twice, one time in Go and then in F\#, both in a functional style. The program should act as a \ac{mvp}, so it's possible to do the comparison about \ac{fp}. Because of that and to reduce the complexity, only one deck exists where a user can add new flashcards. They can not be deleted. - \begin{table}[h] + \begin{table}[ht] \centering - \begin{tabular}{|m{0.5in}|m{4in}|} + \begin{tabular}{|c|p{4in}|} \hline \textbf{ID} & \textbf{Requirement} \\ \hline @@ -35,29 +37,29 @@ \chapter{Project Overview}\label{chap:project-overview} \hline 2 & As a student, I want to view my flashcards. \\ \hline - 3 & As a student, I want to know how to use the program. \\ + 3 & As a student, I would like to learn how to utilize the program. \\ \hline - 4 & As a student, I want that a flashcard is unique with its question and answer. So no duplicates. \\ + 4 & As a student, I want each flashcard to have a unique combination of a question and an answer to avoid duplicates. \\ \hline - 5 & As a student, I want to apply a spaced repetition algorithm to learn with the flashcards. \\ + 5 & As a student, I would like to utilize a spaced repetition algorithm to enhance my learning with flashcards. \\ \hline \end{tabular} \caption{\textit{NerdDeck} Requirements}\label{tab:requirements} \end{table} - \section{Data} - For the purpose of this project, a single \ac{json} file is used as a simple and lightweight database to store flashcards. For example in the \ac{json} object in listing \ref{l:flashcardjson}. While this approach is suitable for educational and illustrative purposes, it may not be suitable for production usage due to limitations in scalability and concurrent access. In a production environment, a more robust database solution should be considered, such as a relational database (e.g., PostgreSQL\footnote{Website: \url{https://www.postgresql.org} (Accessed on 12/02/2023)}, MySQL\footnote{Website: \url{https://www.mysql.com} (Accessed on 12/02/2023)}) or a NoSQL database (e.g., MongoDB\footnote{Website: \url{https://www.mongodb.com} (Accessed on 12/02/2023)}). The choice of the database will depend on the specific requirements of the \ac{app}. + \section{Data}\label{sec:data} + For this project, a single \ac{json} file is used as a simple and lightweight database to store flashcards. The \ac{json} object in listing\ \ref{l:flashcardjson} serves as an example. While this approach is suitable for educational and illustrative purposes, it may not be appropriate for production usage due to limitations in scalability and concurrent access limitations. For a more robust database solution in a production environment, consider using a relational database (such as PostgreSQL\footnote{Website: \url{https://www.postgresql.org} (Accessed on 12/02/2023)} or MySQL\footnote{Website: \url{https://www.mysql.com} (Accessed on 12/02/2023)}) or a NoSQL database (such as MongoDB\footnote{Website: \url{https://www.mongodb.com} (Accessed on 12/02/2023)}), depending on the specific requirements of the \ac{app}. \subsection*{Model} - To be able to fulfill the requirements of table \ref{tab:requirements} a model is needed for a flashcard. These are shown in figure \ref{fig:model}. It is important that allow a user to create multiple flashcards and validate that there is no flashcard with a duplicate question and answer. The ID is generated from the question and answer of the flashcard. This ID acts like a primary key for the model. This model should be used within both languages. + In order to meet the requirements outlined in table\ \ref{tab:requirements}, a flashcard model is necessary. Figure\ \ref{fig:model} displays this model. It is crucial that users are able to create multiple flashcards and validate that there are no duplicates of the question-answer combination. The ID is generated from the question and answer of the flashcard, serving as a primary key for the model. This model should be used in both languages. \begin{figure} \centering \includegraphics[width=0.4\textwidth]{NerddeckModel.png} - \caption{\ac{uml} diagram of the Flashcard model}\label{fig:model} + \caption{Diagram of the Flashcard model based on \ac{uml}}\label{fig:model} \end{figure} -\begin{lstlisting}[language=json,firstnumber=1,float=tp, caption={Example of how a flashcard is saved inside a \ac{json} file}, label=l:flashcardjson] +\begin{lstlisting}[language=json,firstnumber=1,float=tp, caption={Example of how a flashcard object is saved inside a \ac{json} file}, label=l:flashcardjson] [{ "ID": "37268335dd6931045bdcdf926", "Question": "What algebraic data types does F# use?", @@ -68,25 +70,26 @@ \chapter{Project Overview}\label{chap:project-overview} }] \end{lstlisting} - \section{Functionality Overview and User Interface} - In figure \ref{fig:screenshotcli} the prompt inside the \ac{cli} of the F\# implementation can be seen. This welcome screen and menu looks the same way in the go implementation. A user who executes the program can select between the following five choices: + \section{Functionality Overview and User Interface}\label{sec:functionalityoverview} + Figure\ \ref{fig:screenshotcli} displays the prompt inside the \ac{cli} of the F\# implementation. The welcome screen and menu appear identical in the Go implementation. Users can choose from five options when executing the program: \begin{itemize} \item \textbf{0. Instructions:} Shows how the program should be used. - \item \textbf{1. Add Flash Card} Add a Flash Card and saves it into the \ac{json} file. - \item \textbf{2. View Flash Cards:} Just prints all flashcards from the \ac{json} file on the \ac{cli}. - \item \textbf{3. Start Learning:} Loads all Flash Cards from the \ac{json} file. Checks all due Flash Cards based on the next review. Learn every Flash Card and then rate each one from 1 to 4 while 1 is bad and 4 is good. Apply the value as input for the \ac{sm2} algorithm and save the result in the \ac{json} file. + \item \textbf{1. Add flashcard} Add a flashcard and saves it into the \ac{json} file. + \item \textbf{2. View flashcards:} Just prints all flashcards from the \ac{json} file on the \ac{cli}. + \item \textbf{3. Start Learning flashcards:} Loads all flashcards from the \ac{json} file. Checks all due flashcards based on the next review. Learn every flashcard and then rate each one from 1 to 4 while 1 is bad and 4 is good. Apply the value as input for the \ac{sm2} algorithm and save the result in the \ac{json} file. \item \textbf{4. Exit:} Exit the program. \end{itemize} \begin{figure} \centering - \includegraphics[width=0.7\textwidth]{ScreenshotNerdDeck.png} - \caption{Screenshot of the \ac{cli} which shows the start of \textit{NerdDeck}.} - \label{fig:screenshotcli} + \includegraphics[width=0.76\textwidth]{ScreenshotNerdDeck.png} + \caption{Screenshot of the \ac{cli} which shows the start of \textit{NerdDeck}}\label{fig:screenshotcli} \end{figure} - \chapter{Overview of functional programming}\label{chap:functional-programming} +%========================================================CHAPTER 3======================================================== + +\chapter{Overview of functional programming}\label{chap:functional-programming} \begin{shaded} \noindent \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{} \cite{Hughes1989} @@ -164,6 +167,8 @@ \subsubsection{Declarative Approach} \label{alg:declarative_sum} \end{algorithm} + + \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. @@ -281,7 +286,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \chapter{Conclusion}\label{chap:conclusion} -This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} Flash Card \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. +This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} flashcard \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles and their advantages are a priority. diff --git a/docs/document.tex b/docs/document.tex index a684eb7..95ea9b6 100644 --- a/docs/document.tex +++ b/docs/document.tex @@ -14,8 +14,13 @@ listof=flat,% improved list of tables numbers=noenddot ]{scrbook} +\usepackage{scrhack} + \usepackage{listings} +\usepackage[hyphens]{xurl} + + \addtokomafont{chapter}{\normalfont\bfseries} \addtokomafont{section}{\normalfont\bfseries} \addtokomafont{subsection}{\normalfont\bfseries} @@ -86,7 +91,7 @@ morecomment=[s][\color{greencomments}]{{(*}{*)}}, morestring=[b]", showstringspaces=false, - literate={`}{\`}1, + literate={`}{`}1, stringstyle=\color{redstrings}, } diff --git a/fsharp/NerdDeckFSharp/src/App/Program.fs b/fsharp/NerdDeckFSharp/src/App/Program.fs index 08dd673..205382a 100644 --- a/fsharp/NerdDeckFSharp/src/App/Program.fs +++ b/fsharp/NerdDeckFSharp/src/App/Program.fs @@ -7,8 +7,8 @@ let printMainMenu () = "\n\n=====================================\n" + "🚀 Main Menu, please make a choice\n" + "0. Instructions\n" - + "1. Add Flash Card\n" - + "2. View Flash Cards\n" + + "1. Add flashcard\n" + + "2. View flashcards\n" + "3. Start Learning\n" + "4. Exit\n" + "=====================================\n\n" @@ -18,9 +18,9 @@ let printMainMenu () = let printInstructions () = let instructions = "\nInstructions:\n" - + "1. Add Flash Card: Enter a question and answer to create a new flash card.\n" - + "2. View Flash Cards: Display all existing flash cards.\n" - + "3. Start Learning: Review flash cards that are due for learning today.\n" + + "1. Add flashcard: Enter a question and answer to create a new flashcard.\n" + + "2. View flashcards: Display all existing flashcards.\n" + + "3. Start Learning: Review flashcards that are due for learning today.\n" + " - Press Enter to reveal the answer.\n" + " - Rate your memory from 1 to 4:\n" + " - 1: I don't remember at all. :(\n" @@ -28,7 +28,7 @@ let printInstructions () = + " - 3: I remember well. :)\n" + " - 4: I remember perfectly. :D\n" + " - The SM2 spaced repetition algorithm will adjust the card's review interval.\n" - + "4. Exit: Save flash cards and exit the application.\n" + + "4. Exit: Save flashcards and exit the application.\n" + "================================\n\n" printfn $"%s{instructions}" @@ -62,7 +62,7 @@ let createNewFlashCard (cards: FlashCardDeck) : FlashCardDeck = match saveFlashCards updatedDeck with | Ok _ -> - printfn "Flash card added successfully!" + printfn "Flashcard added successfully!" updatedDeck | Error err -> printfn $"Error saving flashcards: %s{err}" @@ -70,19 +70,19 @@ let createNewFlashCard (cards: FlashCardDeck) : FlashCardDeck = let viewFlashCards (cards: FlashCardDeck) = if List.isEmpty cards then - printfn "No flash cards available. Add some cards first." + printfn "No flashcards available. Add some cards first." else cards |> List.iteri (fun i card -> printfn $"%d{i + 1}. Q: %s{card.Question}\n A: %s{card.Answer}\n") cards -let reviewCard(card: FlashCard)(cards: FlashCardDeck) = +let reviewCard (card: FlashCard) (cards: FlashCardDeck) = printfn $"Q: %s{card.Question}\n" let _ = "Press Enter to reveal the answer..." |> getUserInput printfn $"A: %s{card.Answer}\n\n" - let grade = "How well did you remember this card 1-4\n" |> getUserInput + let grade = "How well did you remember this card 1-4\n" |> getUserInput let updatedCard = applySM2Algorithm card grade // Replace the old card with the updated one let updatedCards = @@ -96,7 +96,7 @@ let reviewCard(card: FlashCard)(cards: FlashCardDeck) = let startLearning (cards: FlashCardDeck) : FlashCardDeck = if List.isEmpty cards then - printfn "No flash cards available. Add some cards first." + printfn "No flashcards available. Add some cards first." cards else // Check for due flashcards based on the current date @@ -106,13 +106,13 @@ let startLearning (cards: FlashCardDeck) : FlashCardDeck = printfn "No flashcards are due for review today." cards else - printfn "Due Flash Cards:\nStarting Learning Mode. You got this :)" + printfn "Due flashcards:\nStarting Learning Mode. You got this :)" dueFlashcards |> List.fold (fun updatedCards dueCard -> match findCardByID cards dueCard.ID with - | Some card -> reviewCard card updatedCards + | Some card -> reviewCard card updatedCards | None -> updatedCards) cards @@ -131,10 +131,10 @@ let rec mainLoop (cards: FlashCardDeck) : unit = | "4" -> printfn "\n\n================================\nExiting NerdDeck. Goodbye!" | _ -> printfn "Invalid option. Please try again." - cards |> mainLoop + cards |> mainLoop printWelcomeMessage () match loadFlashCards () with -| Ok cards -> cards |> mainLoop +| Ok cards -> cards |> mainLoop | Error ex -> printfn $"Error loading flashcards: %s{ex}" diff --git a/go/main.go b/go/main.go index 02b6ca9..22e9278 100644 --- a/go/main.go +++ b/go/main.go @@ -51,8 +51,8 @@ func printMainMenu() { fmt.Println("\n\n================================") fmt.Println("Main Menu:") fmt.Println("0. Instructions") - fmt.Println("1. Add Flash Card") - fmt.Println("2. View Flash Cards") + fmt.Println("1. Add flashcard") + fmt.Println("2. View flashcards") fmt.Println("3. Start Learning") fmt.Println("4. Exit") fmt.Println("================================\n\n") @@ -76,9 +76,9 @@ func printWelcomeMessage() { func printInstructions() { fmt.Println("\nInstructions:") - fmt.Println("1. Add Flash Card: Enter a question and answer to create a new flash card.") - fmt.Println("2. View Flash Cards: Display all existing flash cards.") - fmt.Println("3. Start Learning: Review flash cards that are due for learning today.") + fmt.Println("1. Add flashcard: Enter a question and answer to create a new flashcard.") + fmt.Println("2. View flashcards: Display all existing flashcards.") + fmt.Println("3. Start Learning: Review flashcards that are due for learning today.") fmt.Println(" - Press Enter to reveal the answer.") fmt.Println(" - Rate your memory from 1 to 4:") fmt.Println(" - 1: I don't remember at all. :(") @@ -86,7 +86,7 @@ func printInstructions() { fmt.Println(" - 3: I remember well. :)") fmt.Println(" - 4: I remember perfectly. :D") fmt.Println(" - The SM2 spaced repetition algorithm will adjust the card's review interval.") - fmt.Println("4. Exit: Save flash cards and exit the application.") + fmt.Println("4. Exit: Save flashcards and exit the application.") fmt.Println("================================\n\n") } @@ -109,13 +109,13 @@ func addFlashCard(cards []flashcards.FlashCard) ([]flashcards.FlashCard, error) return cards, fmt.Errorf("Error saving flashcards: %v", err) } - fmt.Println("Flash card added successfully!") + fmt.Println("Flashcard added successfully!") return cards, nil } func viewFlashCards(cards []flashcards.FlashCard) { if len(cards) == 0 { - fmt.Println("No flash cards available. Add some cards first.") + fmt.Println("No flashcards available. Add some cards first.") return } for i, card := range cards { @@ -125,7 +125,7 @@ func viewFlashCards(cards []flashcards.FlashCard) { func startLearning(cards []flashcards.FlashCard) ([]flashcards.FlashCard, error) { if len(cards) == 0 { - return cards, fmt.Errorf("No flash cards available. Add some cards first.") + return cards, fmt.Errorf("No flashcards available. Add some cards first.") } // Check for due flashcards based on the current date @@ -135,7 +135,7 @@ func startLearning(cards []flashcards.FlashCard) ([]flashcards.FlashCard, error) fmt.Println("No flashcards are due for review today.") return cards, fmt.Errorf("No flashcards are due for review today.") } - fmt.Println("Due Flash Cards:") + fmt.Println("Due flashcards:") fmt.Println("Starting Learning Mode. You got this :)") for _, dueCard := range dueFlashcards { card := flashcards.FindCardByID(cards, dueCard.ID) From abf18bc936370422ce04bfc8c36805c5e44bd22f Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 12:36:36 +0100 Subject: [PATCH 11/30] refactoring and finished chapter 3. --- docs/chapters.tex | 82 +++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 46 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 3013de1..cb2db6a 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -90,41 +90,30 @@ \chapter{Project Overview}\label{chap:project-overview} %========================================================CHAPTER 3======================================================== \chapter{Overview of functional programming}\label{chap:functional-programming} - \begin{shaded} - \noindent - \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{} \cite{Hughes1989} - \end{shaded} - This should be the motivation considering the usage of \ac{fp}. - Within the paradigm of \ac{fp}, developers engage with principles that underscore the pursuit of expressive and concise solutions. - -\section{Key principles} - -Rooted in mathematical concepts like lambda calculus, \ac{fp} emerges as a methodology characterized by rigor and elegance. - -Key principles integral to \ac{fp} include: - -\begin{itemize} - \item \textbf{Purity:} Strict avoidance of side effects to ensure deterministic behavior. - \item \textbf{Higher-order functions:} Utilization of functions as parameters and return values for enhanced modularity. - \item \textbf{Lazy evaluation:} Selective computation, evaluating values only when necessary for optimization. - \item \textbf{Algebraic data types:} Incorporation of sum- and product-types, as discussed in more detail in Section \ref{sec:algebraic-data-types}. - \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section \ref{sec:first-class-functions}. -\end{itemize} +\begin{shaded} + \noindent + \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{} \cite{Hughes1989} +\end{shaded} -Originating in 1950 with the introduction of the impure language LISP, \ac{fp} has evolved across languages like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles, while Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Additional insights into this topic are expounded upon in Chapter \ref{chap:introgoandfsharp}. - -As developers navigate through contrasting algorithms, exploring the interplay between imperative and declarative styles, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. - -In conclusion, \ac{fp} equips professionals with a robust set of tools, emphasizing immutability, higher-order functions, and mathematical principles. It not only addresses contemporary challenges in software development but also fosters a deeper understanding of the intricacies involved in designing robust, modular, and expressive code. +The motivation for using \ac{fp} should be considered. Within the paradigm of \ac{fp}, developers adhere to principles that prioritize the creation of expressive and concise solutions. + \section{Key principles} + Rooted in mathematical concepts like lambda calculus, \ac{fp} emerges as a methodology characterized by rigor and elegance. + Key principles integral to \ac{fp} include: + \begin{itemize} + \item \textbf{Purity:} Strict avoidance of side effects to ensure deterministic behavior. + \item \textbf{Higher-order functions:} Utilization of functions as parameters and return values for enhanced modularity. + \item \textbf{Lazy evaluation:} Selective computation, evaluating values only when necessary for optimization. + \item \textbf{Algebraic data types:} Incorporation of sum- and product-types, as discussed in more detail in Section\ \ref{sec:algebraic-data-types}. + \item \textbf{First-class Functions:} A powerful technique, elaborated further in Section\ \ref{sec:first-class-functions}. + \end{itemize} + \ac{fp} has a rich history dating back to 1950 with the introduction of the language LISP. Since then, \ac{fp} has evolved across various programming languages, such as like Go and F\#. F\# strictly adheres to a functional-first approach, emphasizing immutability and mathematical principles. In contrast, Go incorporates impure functional elements, showcasing the adaptability of \ac{fp} principles. Chapter\ \ref{chap:introgoandfsharp} provides further insights into this topic. As developers navigate through contrasting algorithms, they reflect on the historical evolution and diversity of \ac{fp} languages. This exploration serves as a testament to the flexibility of programming paradigms and prompts consideration of the nuanced trade-offs between explicit instruction and expressive abstraction within the dynamic context of \ac{fp}. In conclusion, \ac{fp} provides professionals with a robust set of tools, emphasizing immutability, higher-order functions, and mathematical principles.\ \ac{fp} not only addresses current challenges in software development but also promotes a deeper understanding of the complexities involved in designing robust, modular, and expressive code. -\section{Imperative vs. Declarative} - -Within the broader spectrum of programming paradigms, the imperative and declarative styles represent two contrasting approaches to articulating code. The following will demonstrate both approaches using a simple algorithm written in pseudo code for summing up an array of numbers. - -\subsubsection{Imperative Approach} + \section{Imperative vs. Declarative} + Within the programming paradigm spectrum, the imperative and declarative styles represent contrasting approaches to articulating code. This text will demonstrate both approaches using a simple algorithm written in pseudocode for summing up an array of numbers. -Algorithm \ref{alg:imperative_sum} is an example of the imperative paradigm. This paradigm guides the computer through computations using explicit steps. Each line of pseudo code provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. The sum is calculated explicitly in a \texttt{for loop} from line three to five. + \subsubsection{Imperative Approach} + Algorithm\ \ref{alg:imperative_sum} exemplifies the imperative paradigm. This paradigm directs the computer through computations using explicit steps. Each line of pseudocode provides instructions to the computer on how to perform the calculation, adhering to traditional imperative paradigms. The sum is explicitly calculated in a \texttt{for loop} from line three to five. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -144,13 +133,12 @@ \subsubsection{Imperative Approach} \Return $result$ - \caption{Imperative way of summing up an integer array} - \label{alg:imperative_sum} + \caption{Imperative way of summing up an integer array}\label{alg:imperative_sum} \end{algorithm} \subsubsection{Declarative Approach} -In contrast, the declarative style, showcased by Algorithm \ref{alg:declarative_sum}, shifts the emphasis from detailing step-by-step procedures to expressing the desired outcome directly. This approach, a hallmark of \ac{fp}, leverages the power of functions and abstraction. Later on in chapter \ref{chap:introgoandfsharp} we will discover a similar short syntax while using F\#. +In contrast, the declarative style, demonstrated by Algorithm\ \ref{alg:declarative_sum}, emphasizes expressing the desired outcome directly rather than detailing step-by-step procedures. This approach is a hallmark of \ac{fp}, leverages the power of functions and abstraction. In chapter\ \ref{chap:introgoandfsharp}, we will encounter a similar concise syntax while using F\#. \begin{algorithm} \SetKwInOut{Input}{Input} @@ -168,6 +156,7 @@ \subsubsection{Declarative Approach} \end{algorithm} +%========================================================CHAPTER 4======================================================== \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. @@ -192,9 +181,10 @@ \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} \end{itemize} \cite{Dotnet} \cite{Keyfeaturesfsharp} - +%========================================================CHAPTER 5======================================================== + \chapter{Comparison of functional concepts}\label{chap:comparison} To compare the programming languages Go and F\# in the context of \ac{fp}, we will examine two concepts in more detail: Algebraic Data Types and First-class Functions. @@ -202,15 +192,15 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Algebraic data types are a cornerstone of \ac{fp}, providing a way to model complex data structures. In Go, these types are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in Go and F\#. - \subsection*{F\#} - F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace \ac{fp}. + \subsection*{F\#} + F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace \ac{fp}. - Listing \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# provide automatically, making them well-suited for representing data with fixed attributes. + Listing \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# provide automatically, making them well-suited for representing data with fixed attributes. - \subsection*{Go} - In Go, developers commonly use \texttt{struct} types to represent data structures. Although they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. + \subsection*{Go} + In Go, developers commonly use \texttt{struct} types to represent data structures. Although they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. - Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing \ref{l:flashcardgo}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. + Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing \ref{l:flashcardgo}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. \begin{figure}[ht] \begin{subfigure}{0.48\textwidth} @@ -236,8 +226,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} NextReview : DateTime } \end{lstlisting} \end{subfigure} -\caption{Comparison of FlashCard representations in Go and F\#} -\label{fig:flashcardcomparison} +\caption{Comparison of FlashCard representations in Go and F\#}\label{fig:flashcardcomparison} \end{figure} \section{First-class Functions}\label{sec:first-class-functions} @@ -253,7 +242,6 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} let dueFlashCards = List.filter isDueForReview cards \end{lstlisting} - \subsection*{Go} In the Go example in listing \ref{l:flashcardgo}, we define the same first-class function \texttt{isDueForReview} than in F\# that checks if a flashcard is due for review based on specific criteria. The filter function from line six called \texttt{filterDueFlashCards} takes a slice of flashcards (\texttt{cards}) and applies the \texttt{isDueForReview} function to filter out only those flashcards that meet the review criteria. The filtered flashcards are then collected in the \texttt{dueFlashCards} slice and will be returned when all cards are covered. @@ -281,12 +269,14 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \section{Key Takeaway}\label{sec:keytakeaway} - While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing \ref{l:flashcardgo}, \ref{l:flashcardfsharp}, \ref{l:dueforreviewfsharp} and \ref{l:dueforreviewgo}. - It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. + While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing \ref{l:flashcardgo}, \ref{l:flashcardfsharp}, \ref{l:dueforreviewfsharp} and \ref{l:dueforreviewgo}. It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. +%========================================================CHAPTER 5======================================================== + \chapter{Conclusion}\label{chap:conclusion} This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} flashcard \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. + \section{Challenges}\label{sec:challenges} The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles and their advantages are a priority. From e5abc7410508a35205d491a454997b0867125cfd Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 12:48:40 +0100 Subject: [PATCH 12/30] refactoring and finished chapter 4. --- docs/chapters.tex | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index cb2db6a..ade252c 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -162,25 +162,21 @@ \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} In this chapter, we explore the distinctive features of Go and F\#, offering a brief overview of each language. \section{Overview of Go}\label{sec:go-overview} - Go, commonly known as Golang, is employed to build simple, secure, and scalable systems. It is a statically-typed, compiled programming language designed by Google engineers Robert Griesemer, Rob Pike, and Ken Thompson in 2007. It is used very widely within big companies like Google, Paypal or Netflix. As an open source language, Go is characterized by: + It is widely used by large companies such Google, Paypal, and Netflix due to its ability to build simple, secure, and scalable systems. Go, also known as Golang, is a statically-typed and compiled programming language created by Google engineers Robert Griesemer, Rob Pike, and Ken Thompson in 2007. As an open-source language, Go is characterized by: \begin{itemize} - \item \textbf{Concurrent programming:} Native support through goroutines and channels for scalable and parallelized \ac{app}s. + \item \textbf{Concurrent programming:} Native support through \textit{goroutines} and \textit{channels} for scalable and parallelized \ac{app}s. \item \textbf{Efficiency:} Statically-typed, compiled that produces standalone binaries. Good for deployment in various environments. \item \textbf{Flexibility:} Can be used for Cloud \& Network Services, \ac{cli}s, Web Development and Development Operations \& Site Reliability Engineering. \end{itemize} \cite{Gowebsite} \section{Overview of F\#}\label{sec:fsharp-overview} - F\# is a functional-first programming language developed by Microsoft Research in 2005. - Besides C\# and Visual Basic, F\# is another programming language within the .NET ecosystem. On the official website of microsoft it is declared as an open-source language that makes it easy to write succinct, robust, and performant code. Microsoft names itself as a leading contributor. F\# has an active community and support \cite{Fsharpfoundation}. - While developing, F\# has a very powerful build-in future called \ac{repl}. Besides of that the key features are: + F\# is a functional-first programming language developed by Microsoft Research in 2005. Alongside C\# and Visual Basic, F\# is another programming language within the .NET ecosystem. According to Microsoft's official website, it is an open-source language that enables the writing of succinct, robust, and performant code. Microsoft is as a leading contributor to the language. F\# has an active community and support.\cite{Fsharpfoundation} While developing, F\# has a powerful build-in feature called \ac{repl}. In addition, its key features include: \begin{itemize} - \item \textbf{Functional-first:} Immutable by default, First-class functions, Pattern Matching, Algebraic Data Types - \item \textbf{Lightweight syntax:} Type inference and automatic generalization - \item \textbf{Interoperability:} Access .NET Libraries and APIs (e.g. ASP.NET or Entity Framework). - \end{itemize} - \cite{Dotnet} - \cite{Keyfeaturesfsharp} + \item \textbf{Functional-first:} Immutable by default, First-class functions, Pattern Matching, Algebraic Data Types. + \item \textbf{Lightweight syntax:} Type inference and automatic generalization. + \item \textbf{Interoperability:} Access .NET Libraries and APIs (e.g. ASP.NET or Entity Framework). + \end{itemize}\cite{Dotnet, Keyfeaturesfsharp} %========================================================CHAPTER 5======================================================== From 268ef1d4d0b11737ab6ecd93375f43b4b4b10cf5 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 15:20:49 +0100 Subject: [PATCH 13/30] added code coverage for f# --- .github/workflows/dotnet.yml | 16 ++++++++++++---- .../src/Library.Tests/Library.Tests.fsproj | 6 +++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 75276a1..4ebf935 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,9 +1,6 @@ name: Build F# Nerddeck -on: - push: - paths: - - fsharp/** +on: [push] jobs: build: @@ -33,3 +30,14 @@ jobs: - name: Test F# run: dotnet test working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 7.0.x + dotnet-quality: 'ga' + + - name: ReportGenerator + uses: danielpalme/ReportGenerator-GitHub-Action@5.2.0 + with: + reports: cobertura.xml + targetdir: coveragereport diff --git a/fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj b/fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj index 326b8e0..f601b68 100644 --- a/fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj +++ b/fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj @@ -18,7 +18,11 @@ - + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + From 477f8f3323b683e121f8013911c73ca22fd816ad Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 15:28:32 +0100 Subject: [PATCH 14/30] test code coverage for f# in pipeline --- .github/workflows/dotnet.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 4ebf935..4f2bc4d 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -28,13 +28,11 @@ jobs: with: dotnet-version: '7.0.x' - name: Test F# - run: dotnet test + run: | + echo "## ❔ Test results" >> $GITHUB_STEP_SUMMARY + dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true + dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 7.0.x - dotnet-quality: 'ga' - name: ReportGenerator uses: danielpalme/ReportGenerator-GitHub-Action@5.2.0 From 0660025b1edd1d77f68725c17e789ca6214473ff Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 15:31:37 +0100 Subject: [PATCH 15/30] test --- .github/workflows/dotnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 4f2bc4d..8c5de47 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -32,7 +32,7 @@ jobs: echo "## ❔ Test results" >> $GITHUB_STEP_SUMMARY dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true - working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp + working-directory: /fsharp/NerdDeckFSharp - name: ReportGenerator uses: danielpalme/ReportGenerator-GitHub-Action@5.2.0 From 67560cce609ffc31f6c485aef773e2b7a48a4cbc Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 15:36:52 +0100 Subject: [PATCH 16/30] test --- .github/workflows/dotnet.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 8c5de47..9d634a7 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -5,6 +5,9 @@ on: [push] jobs: build: runs-on: ubuntu-latest + defaults: + run: + working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp steps: - name: Checkout uses: actions/checkout@v3 @@ -15,10 +18,12 @@ jobs: dotnet-version: '7.0.x' - name: Build F# run: dotnet build - working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp test: runs-on: ubuntu-latest needs: build + defaults: + run: + working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp steps: - name: Checkout uses: actions/checkout@v3 @@ -30,12 +35,14 @@ jobs: - name: Test F# run: | echo "## ❔ Test results" >> $GITHUB_STEP_SUMMARY - dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true - dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=${{github.workspace}}/coverage.json;CoverletOutput=${{github.workspace}}/coverage' -- RunConfiguration.CollectSourceInformation=true + dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true + dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true working-directory: /fsharp/NerdDeckFSharp - - name: ReportGenerator - uses: danielpalme/ReportGenerator-GitHub-Action@5.2.0 - with: - reports: cobertura.xml - targetdir: coveragereport + - name: 📝 Code Coverage report + run: | + dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.23 + reportgenerator -reports:${{github.workspace}}/coverage.cobertura.xml -targetdir:${{github.workspace}}/report -reporttypes:MarkdownSummaryGithub "-filefilters:-*.g.cs;-*.gen.cs" -verbosity:Warning + sed -i 's/# Summary/## 📝 Code Coverage/g' ${{github.workspace}}/report/SummaryGithub.md + sed -i 's/## Coverage/### Code Coverage details/g' ${{github.workspace}}/report/SummaryGithub.md + cat ${{github.workspace}}/report/*.md >> $GITHUB_STEP_SUMMARY From 5e9061cb05a4401fb78cad707a2087fe3b365813 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:22:47 +0100 Subject: [PATCH 17/30] refactoring and finished chapter 5. --- docs/chapters.tex | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index ade252c..1c1d53c 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -92,7 +92,7 @@ \chapter{Project Overview}\label{chap:project-overview} \chapter{Overview of functional programming}\label{chap:functional-programming} \begin{shaded} \noindent - \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{} \cite{Hughes1989} + \glqq{}As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularized. Functional languages push those limits back.\grqq{}\ \cite{Hughes1989} \end{shaded} The motivation for using \ac{fp} should be considered. Within the paradigm of \ac{fp}, developers adhere to principles that prioritize the creation of expressive and concise solutions. @@ -151,8 +151,7 @@ \subsubsection{Declarative Approach} \BlankLine \Return $\sum_{\text{element in } a} \text{element}$ - \caption{Declarative way of summing up an integer array} - \label{alg:declarative_sum} + \caption{Declarative way of summing up an integer array}\label{alg:declarative_sum} \end{algorithm} @@ -167,8 +166,7 @@ \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} \item \textbf{Concurrent programming:} Native support through \textit{goroutines} and \textit{channels} for scalable and parallelized \ac{app}s. \item \textbf{Efficiency:} Statically-typed, compiled that produces standalone binaries. Good for deployment in various environments. \item \textbf{Flexibility:} Can be used for Cloud \& Network Services, \ac{cli}s, Web Development and Development Operations \& Site Reliability Engineering. - \end{itemize} - \cite{Gowebsite} + \end{itemize}\ \cite{Gowebsite} \section{Overview of F\#}\label{sec:fsharp-overview} F\# is a functional-first programming language developed by Microsoft Research in 2005. Alongside C\# and Visual Basic, F\# is another programming language within the .NET ecosystem. According to Microsoft's official website, it is an open-source language that enables the writing of succinct, robust, and performant code. Microsoft is as a leading contributor to the language. F\# has an active community and support.\cite{Fsharpfoundation} While developing, F\# has a powerful build-in feature called \ac{repl}. In addition, its key features include: @@ -176,27 +174,26 @@ \chapter{Introduction to Go and F\#}\label{chap:introgoandfsharp} \item \textbf{Functional-first:} Immutable by default, First-class functions, Pattern Matching, Algebraic Data Types. \item \textbf{Lightweight syntax:} Type inference and automatic generalization. \item \textbf{Interoperability:} Access .NET Libraries and APIs (e.g. ASP.NET or Entity Framework). - \end{itemize}\cite{Dotnet, Keyfeaturesfsharp} + \end{itemize}\ \cite{Dotnet, Keyfeaturesfsharp} %========================================================CHAPTER 5======================================================== \chapter{Comparison of functional concepts}\label{chap:comparison} -To compare the programming languages Go and F\# in the context of \ac{fp}, we will examine two concepts in more detail: Algebraic Data Types and First-class Functions. +To compare the programming languages Go and F\# in the context of \ac{fp}, we will examine two concepts in more detail: Algebraic Data Types and First-class Functions. \section{Algebraic Data Types}\label{sec:algebraic-data-types} - - Algebraic data types are a cornerstone of \ac{fp}, providing a way to model complex data structures. In Go, these types are not directly supported as in languages like F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is used to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Despite serving the same purpose, there are syntactic and structural differences between the implementations in Go and F\#. + Algebraic data types are fundamental in \ac{fp}, as they allow for modeling complex data structures. However, in Go, these types are not directly supported, unlike in languages such as F\#, which has native support for discriminated unions and pattern matching. In both Go and F\#, the \texttt{FlashCard} type is utilized to represent a flashcard, capturing essential information such as the card's ID, question, answer, number of repetitions, ease factor, and the next review date. Although Go and F\# serve the same purpose, there are syntactic and structural differences between their implementations. \subsection*{F\#} - F\# provides native support for algebraic data types through record types and discriminated unions. These enable developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace \ac{fp}. + F\# provides native support for algebraic data types through record types and discriminated unions. These allow developers to define a set of related values that can be handled concisely and expressively using pattern matching. This feature enhances the readability and maintainability of F\# code, making it a powerful tool for developers who embrace \ac{fp}. - Listing \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EFactor}, and \texttt{NextReview}. Records in F\# provide automatically, making them well-suited for representing data with fixed attributes. + Listing\ \ref{l:flashcardfsharp} defines the \texttt{FlashCard} from figure\ \ref{fig:model} using a record type\footnote{Website: \url{https://learn.microsoft.com/dotnet/fsharp/language-reference/records} (Accessed on 01/08/2024)}. The record contains fields for \texttt{ID}, \texttt{Question}, \texttt{Answer}, \texttt{Repetitions}, \texttt{EasinessFactor}, and \texttt{NextReview}. Records in F\# are provided automatically, making them well-suited for representing data with fixed attributes. \subsection*{Go} - In Go, developers commonly use \texttt{struct} types to represent data structures. Although they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. + In Go, developers often use \texttt{struct} types to represent data structures. While they provide a way to encapsulate related data, they lack the succinct expressiveness of algebraic data types. Go's approach often involves using interfaces and composition to achieve similar outcomes, but this can lead to more verbose code compared to the concise syntax offered by algebraic data types. - Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing \ref{l:flashcardgo}. Go structs are mutable, meaning that fields can be updated after creation. Additionally, Go uses explicit types for each field, providing a statically typed approach. + Therefore, the \texttt{FlashCard} type is defined using a \texttt{struct}. This can be seen in listing\ \ref{l:flashcardgo}. These types are mutable, which means that their fields can be updated after they are created. Furthermore, Go employs explicit types for each field, resulting in a statically typed approach. \begin{figure}[ht] \begin{subfigure}{0.48\textwidth} @@ -206,7 +203,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Question string Answer string Repetitions int - EFactor float64 + EasinessFactor float64 NextReview time.Time } \end{lstlisting} @@ -218,7 +215,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Question : string Answer : string Repetitions : int - EFactor : float + EasinessFactor : float NextReview : DateTime } \end{lstlisting} \end{subfigure} @@ -229,7 +226,7 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Both Go and F\# support first-class functions, treating functions as first-class citizens. In Go, functions can be assigned to variables, passed as arguments, and returned as values. The use of anonymous functions, known as closures, is common in Go, enhancing the \ac{fp} paradigm. Similarly, F\# provides robust support for first-class functions, aligning with its \ac{fp} paradigm. Functions in F\# can be assigned to variables, passed as arguments, and returned as values. The language encourages the use of higher-order functions, enabling powerful abstractions through functions. \subsection*{F\#} - In the F\# example in listing \ref{l:dueforreviewfsharp}, we define a first-class function \texttt{isDueForReview} that checks if a flashcard is due for review based on specific criteria. We then use this function to filter a list of flashcards, to check if a flashcard is due for learning or not. The return value of the function should be a list of due flashcards. As an example in line four, the function is called on the List.filter function. It takes a predicate of type \texttt{T -> bool} and a list as input and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Moreover, F\# introduces the pipe operator \texttt{|>}, affording developers the convenience of placing the last argument at the forefront. This operator facilitates a more fluid and readable syntax, as exemplified by \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list through the pipe operator. This expression is equivalent to line four of listing \ref{l:dueforreviewfsharp}. The same functionality should no be implemented in the Go programming language. + Listing\ \ref{l:dueforreviewfsharp} provides an example in F\# where a first-class function is defined named \texttt{isDueForReview} to check if a flashcard is due for review based on specific criteria. This function is then used to filter a list of flashcards to determine which ones are due for learning. The function should return a list of due flashcards. For instance, in line four, the function is called on the \texttt{List.filter} function. The function takes a predicate of type \texttt{T -> bool} and a list as input, and returns a list containing only the elements that satisfy the predicate.\footnote{Website: \url{https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\#filter} (Accessed on 01/08/2024)} Additionally, F\# provides the pipe operator \texttt{|>} which allows developers to place the last argument at the forefront for convenience. This operator enables a smoother and more readable syntax, as demonstrate by the code \texttt{cards |> List.filter isDueForReview}, where the \texttt{isDueForReview} function is seamlessly applied to the \texttt{cards} list using the pipe operator. This expression is equivalent to line four of listing\ \ref{l:dueforreviewfsharp}. The same functionality should now be implemented in the Go programming language. \begin{lstlisting}[language=fsharp, firstnumber=1,float=tp, caption={First-class function reresentation in F\#}, label=l:dueforreviewfsharp] let isDueForReview card = @@ -239,11 +236,11 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} \end{lstlisting} \subsection*{Go} - In the Go example in listing \ref{l:flashcardgo}, we define the same first-class function \texttt{isDueForReview} than in F\# that checks if a flashcard is due for review based on specific criteria. The filter function from line six called \texttt{filterDueFlashCards} takes a slice of flashcards (\texttt{cards}) and applies the \texttt{isDueForReview} function to filter out only those flashcards that meet the review criteria. The filtered flashcards are then collected in the \texttt{dueFlashCards} slice and will be returned when all cards are covered. + Listing\ \ref{l:flashcardgo} provides a Go example that defines the first-class function \texttt{isDueForReview}, which is similar to the one above in the F\# example. The \texttt{filterDueFlashCards} function on line six takes a slice of flashcards (\texttt{cards}) and applies the \texttt{isDueForReview} function to filter out only the flashcards that meet the review criteria. The filtered flashcards are then collected in the \texttt{dueFlashCards} slice and will be returned when all cards are covered. - As an example, line 17 invokes the \texttt{filterDueFlashCards} function with a given set of flashcards (\texttt{cards}) and assigns the resulting list of flashcards due for review to the \texttt{dueFlashCards} variable. This variable encapsulates the outcome of the flashcard filtering process. + For instance, on line 16, the function \texttt{filterDueFlashCards} is called with a given set of flashcards (\texttt{cards}) as input. The resulting list of flashcards due for review is then assigned to the variable \texttt{dueFlashCards}. This variable contains the outcome of the flashcard filtering process. -\begin{lstlisting}[language=go, firstnumber=1, caption={FlashCard representation in F\#}, label=l:dueforreviewgo] +\begin{lstlisting}[language=go, firstnumber=1, caption={First-class function reresentation in Go}, label=l:dueforreviewgo] func isDueForReview(card FlashCard) bool { return card.Repetitions > 0 && card.NextReview.Before(time.Now()) @@ -259,13 +256,12 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} return dueFlashCards } - dueFlashCards := filterDueFlashCards(cards) \end{lstlisting} \section{Key Takeaway}\label{sec:keytakeaway} - While Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing \ref{l:flashcardgo}, \ref{l:flashcardfsharp}, \ref{l:dueforreviewfsharp} and \ref{l:dueforreviewgo}. It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. + Although Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing\ \ref{l:flashcardgo},\ \ref{l:flashcardfsharp},\ \ref{l:dueforreviewfsharp}, and\ \ref{l:dueforreviewgo}. It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. %========================================================CHAPTER 5======================================================== From 623a1436590c9cb584143db0be37f77b3a2ebe66 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:37:17 +0100 Subject: [PATCH 18/30] refactoring and finished chapter 6. --- docs/chapters.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/chapters.tex b/docs/chapters.tex index 1c1d53c..926d3a7 100644 --- a/docs/chapters.tex +++ b/docs/chapters.tex @@ -264,13 +264,13 @@ \chapter{Comparison of functional concepts}\label{chap:comparison} Although Go's \texttt{struct} types are mutable by default, F\#'s \texttt{record} types are immutable by default. Immutability simplifies reasoning about state and enables certain optimizations. It is worth noting that every field in Go must have an explicitly defined type, whereas in F\#, they are inferred based on their usage. Neither language supports inheritance. Both languages support first-class functions, making them suitable choices for developers with different preferences in balancing imperative and \ac{fp} styles. The difference between the two languages lies in their syntax and expressiveness. This can be seen in each of the four examples in listing\ \ref{l:flashcardgo},\ \ref{l:flashcardfsharp},\ \ref{l:dueforreviewfsharp}, and\ \ref{l:dueforreviewgo}. It is worth noting that neither language is completely pure. While Go allows for mutation, even F\#, which is primarily a functional language, permits its use. -%========================================================CHAPTER 5======================================================== +%========================================================CHAPTER 6======================================================== \chapter{Conclusion}\label{chap:conclusion} -This paper analyzes and compares key concepts, such as algebraic data types and first-class functions, within the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} flashcard \ac{app} served as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison revealed distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. +This paper compares algebraic data types and first-class functions in the context of \ac{fp} paradigms in Go and F\#. The \textit{NerdDeck} flashcard \ac{app} is used as a practical example to illustrate the application of \ac{fp} principles in both languages. The comparison reveals distinctions in their approaches, showcasing F\#'s native support for \ac{fp} and Go's adaptation within its multi-paradigm framework. \section{Challenges}\label{sec:challenges} - The foundation of a good comparison in the context of this paper is to write code as pure as possible to fulfill the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. While F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature required creative workarounds to achieve a functional style. This emphasizes the importance of navigating the balancing between functional and imperative programming in each language. The challenges also highlight the need for a nuanced approach when selecting a language for projects where \ac{fp} principles and their advantages are a priority. + The basis for a sound comparison in this paper is to write code that is as pure as possible to fulfill to the paradigm of \ac{fp}. However, challenges arose due to the inherent impurity in both Go and F\#. Although F\# aligns more closely with \ac{fp} principles, Go's multi-paradigm nature necessitated creative workarounds to achieve a functional style. This underscores the significance of balancing functional and imperative programming in each language. The challenges underscore the importance of a nuanced approach when selecting a language for projects that prioritize \ac{fp} principles and their benefits. \section{Outlook}\label{sec:outlook} - Looking ahead, there is potential for further exploration into writing more pure functional code within the \textit{NerdDeck} or similar projects. To achieve this, a pure programming language such as Haskell\footnote{Website: \url{https://www.haskell.org} (Accessed on 12/20/2023)} could be considered. This would involve delving deeper into \ac{fp} concepts and finding innovative solutions within the constraints of a specific language. Additionally, as programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for \ac{fp} practitioners. The insights gained from this comparative analysis contribute to a broader understanding of \ac{fp} in diverse language ecosystems and provide a foundation for future exploration and research. + Looking ahead, there is potential for further exploration into writing more pure functional code within the \textit{NerdDeck} or similar projects. To achieve this, a pure programming language such as Haskell\footnote{Website: \url{https://www.haskell.org} (Accessed on 12/20/2023)} could be considered. This would involve delving deeper into \ac{fp} concepts and finding innovative solutions within the constraints of a specific language. Furthermore, as programming languages and paradigms continue to evolve, ongoing advancements may present new opportunities and challenges for practitioners of \ac{fp}. The insights gained from this comparative analysis contribute to a broader understanding of \ac{fp} in diverse language ecosystems and provide a foundation for future exploration and research. From 57d80209afcbf08b7ecb9c449d8b4a3c8feb2f9a Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:39:27 +0100 Subject: [PATCH 19/30] check pipeline --- .github/workflows/dotnet.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 9d634a7..ffd7b4f 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -37,7 +37,6 @@ jobs: echo "## ❔ Test results" >> $GITHUB_STEP_SUMMARY dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true - working-directory: /fsharp/NerdDeckFSharp - name: 📝 Code Coverage report run: | From 55286e94a57f1a513fb8f071b184ccf3c858c882 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:42:19 +0100 Subject: [PATCH 20/30] check pipeline --- .github/workflows/dotnet.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index ffd7b4f..aeb6f9c 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -34,14 +34,5 @@ jobs: dotnet-version: '7.0.x' - name: Test F# run: | - echo "## ❔ Test results" >> $GITHUB_STEP_SUMMARY - dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true - dotnet test --configuration Release -v minimal --no-build --logger GitHubActions '/p:CollectCoverage=true;CoverletOutputFormat="json,lcov,cobertura";MergeWith=$/coverage.json;CoverletOutput=$/coverage' -- RunConfiguration.CollectSourceInformation=true - - - name: 📝 Code Coverage report - run: | - dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.23 - reportgenerator -reports:${{github.workspace}}/coverage.cobertura.xml -targetdir:${{github.workspace}}/report -reporttypes:MarkdownSummaryGithub "-filefilters:-*.g.cs;-*.gen.cs" -verbosity:Warning - sed -i 's/# Summary/## 📝 Code Coverage/g' ${{github.workspace}}/report/SummaryGithub.md - sed -i 's/## Coverage/### Code Coverage details/g' ${{github.workspace}}/report/SummaryGithub.md - cat ${{github.workspace}}/report/*.md >> $GITHUB_STEP_SUMMARY + echo "## Test results" >> $GITHUB_STEP_SUMMARY + dotnet test --configuration Release -v minimal --no-build --logger From d3bbba0fcef5bf696cc7d8dd367f6046ad928ba1 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:47:43 +0100 Subject: [PATCH 21/30] test --- .github/workflows/dotnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index aeb6f9c..1334f47 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -35,4 +35,4 @@ jobs: - name: Test F# run: | echo "## Test results" >> $GITHUB_STEP_SUMMARY - dotnet test --configuration Release -v minimal --no-build --logger + dotnet test --configuration Release -v minimal --no-build From 4f65631d45f0607cad93392a91dd9c96beefaa1c Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:49:32 +0100 Subject: [PATCH 22/30] check pipeline --- .github/workflows/dotnet.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 1334f47..a85148a 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -33,6 +33,4 @@ jobs: with: dotnet-version: '7.0.x' - name: Test F# - run: | - echo "## Test results" >> $GITHUB_STEP_SUMMARY - dotnet test --configuration Release -v minimal --no-build + run: dotnet test From ea8925093b8e719b676efc90c46a0cf74e3f3a3d Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 16:55:02 +0100 Subject: [PATCH 23/30] fix --- .github/workflows/dotnet.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index a85148a..3bc5130 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,6 +1,9 @@ name: Build F# Nerddeck -on: [push] +on: + push: + paths: + - fsharp/** jobs: build: From 8270140620b60915805ea7be364b404d14a39963 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:02:01 +0100 Subject: [PATCH 24/30] removed questions --- questions.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 questions.md diff --git a/questions.md b/questions.md deleted file mode 100644 index f3dd6ad..0000000 --- a/questions.md +++ /dev/null @@ -1,10 +0,0 @@ -# Questions before submission: - -- Is my text sufficient? -- Do I have enough sources? -- Are unit tests enough? -- Do I need to calculate or specify the coverage myself? -- How important is the build pipeline? -- Is my README sufficient? (Details on how the project can be started are missing and will be added before submission) -- Are there any bonus points available? -- Is there anything important missing? From 651f578c89810fb601cd742308b006b45660e6e4 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:02:54 +0100 Subject: [PATCH 25/30] test pipeline --- .github/workflows/latex.yml | 8 ++------ .github/workflows/publishdotnet.yml | 30 ----------------------------- 2 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 .github/workflows/publishdotnet.yml diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index e7eb1f3..9d134ae 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -1,9 +1,6 @@ name: Build- and Release LaTeX paper -on: - push: - paths: - - docs/** +on: [push] jobs: build_latex: @@ -20,7 +17,6 @@ jobs: release_latex: name: Create Release needs: build_latex - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - name: Checkout code @@ -33,7 +29,7 @@ jobs: uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: docs/document.pdf + file: ./docs/document.pdf asset_name: document.pdf tag: ${{ github.ref }} overwrite: true diff --git a/.github/workflows/publishdotnet.yml b/.github/workflows/publishdotnet.yml deleted file mode 100644 index 4df5a91..0000000 --- a/.github/workflows/publishdotnet.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Publish F# Nerddeck - -on: - push: - branches: - - main - -jobs: - publish: - runs-on: ubuntu-latest - strategy: - matrix: - os: [win-x64, linux-x64, osx-x64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: '7.0.x' - - name: Publish F# - run: dotnet publish --configuration Release --self-contained true --runtime ${{ matrix.os }} --property:OutputPath=./publish/${{ matrix.os }} - working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp/src/App - - - name: Upload artifact - uses: actions/upload-artifact@v2 - with: - name: NerdDeckFSharp-${{ matrix.os }} - path: ${{ github.workspace }}/fsharp/NerdDeckFSharp/src/App/publish/${{ matrix.os }} From b3c499aaf44c267280458a477aae6ce3d38ec95d Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:07:24 +0100 Subject: [PATCH 26/30] moved images into images folder --- .github/workflows/latex.yml | 1 - README.md | 4 ++-- NerddeckModel.png => images/NerddeckModel.png | Bin .../ScreenshotNerdDeck.png | Bin 4 files changed, 2 insertions(+), 3 deletions(-) rename NerddeckModel.png => images/NerddeckModel.png (100%) rename ScreenshotNerdDeck.png => images/ScreenshotNerdDeck.png (100%) diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index 9d134ae..e203ad2 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -31,5 +31,4 @@ jobs: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ./docs/document.pdf asset_name: document.pdf - tag: ${{ github.ref }} overwrite: true diff --git a/README.md b/README.md index 810a9d3..2191f44 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Welcome to _NerdDeck_, a project initiated during the first semester of my Maste This repository is dedicated to exploring the paradigms of functional programming in the context of two distinct programming languages: Go and F#. -ScreenshotNerdDeck +ScreenshotNerdDeck ## Table of Contents @@ -80,7 +80,7 @@ The flashcard data is stored in a JSON file with the following structure: ID is the primary key, generated from question and answer. -![Nerddeck model](NerddeckModel.png) +![Nerddeck model](./images/NerddeckModel.png) ## Contributing diff --git a/NerddeckModel.png b/images/NerddeckModel.png similarity index 100% rename from NerddeckModel.png rename to images/NerddeckModel.png diff --git a/ScreenshotNerdDeck.png b/images/ScreenshotNerdDeck.png similarity index 100% rename from ScreenshotNerdDeck.png rename to images/ScreenshotNerdDeck.png From fb7d991989c7b1854ba9f5ff44e001242424ec06 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:40:59 +0100 Subject: [PATCH 27/30] pipeline --- .github/workflows/latex.yml | 1 + docs/abbreviations.tex | 10 ++++-- docs/document.loe | 0 docs/document.lol | 12 +++++++ docs/document.tex | 71 ++++++++++++------------------------- docs/toc.tex | 5 --- 6 files changed, 43 insertions(+), 56 deletions(-) create mode 100644 docs/document.loe create mode 100644 docs/document.lol diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index e203ad2..9d134ae 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -31,4 +31,5 @@ jobs: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ./docs/document.pdf asset_name: document.pdf + tag: ${{ github.ref }} overwrite: true diff --git a/docs/abbreviations.tex b/docs/abbreviations.tex index 96da67c..3f86b6e 100644 --- a/docs/abbreviations.tex +++ b/docs/abbreviations.tex @@ -1,4 +1,6 @@ -\chapter{Abbreviations}\label{a:Abbreviations} +\chapter{Appendix} + +\chapter*{Acronyms} \begin{acronym} @@ -12,4 +14,8 @@ \chapter{Abbreviations}\label{a:Abbreviations} \acro{sm2}[SM2]{SuperMemo 2.0} \acro{uml}[UML]{Unified Modeling Language} -\end{acronym} \ No newline at end of file +\end{acronym} + +\listoffigures{} +\lstlistoflistings{} +\listoftables{} diff --git a/docs/document.loe b/docs/document.loe new file mode 100644 index 0000000..e69de29 diff --git a/docs/document.lol b/docs/document.lol new file mode 100644 index 0000000..6bedc3f --- /dev/null +++ b/docs/document.lol @@ -0,0 +1,12 @@ +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {2.1}{\ignorespaces Example of how a flashcard object is saved inside a \ac {json} file}}{5}{lstlisting.2.1}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {lstlisting}{\numberline {5.3}{\ignorespaces First-class function reresentation in F\#}}{11}{lstlisting.5.3}% +\contentsline {lstlisting}{\numberline {5.4}{\ignorespaces First-class function reresentation in Go}}{11}{lstlisting.5.4}% +\addvspace {10\p@ } +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/docs/document.tex b/docs/document.tex index 95ea9b6..16e2e8b 100644 --- a/docs/document.tex +++ b/docs/document.tex @@ -165,20 +165,14 @@ breaklinks=true] {hyperref} - -%\typearea[current]{calc} - - % Einstellungen für Bild-/Tabellenbeschriftung neben dem Bild \floatsetup[figure]{capbesideposition={inside,top}} \floatsetup[table]{capbesideposition={inside,top},style=plaintop} \renewfloatcommand{fcapside}{figure}[\capbeside][\FBwidth] \newfloatcommand{tcapside}{table}[\capbeside][\FBwidth] - \selectlanguage{english} - \deffootnote{1em}{1em}{% \makebox[1em][l]{\thefootnotemark}} @@ -187,47 +181,26 @@ \newcommand{\real}{\mathord{\mathrm{I\!R}}} \begin{document} -\selectlanguage{english} -\def\figdir{figures} -%\def\tabledir{tables} - -\frontmatter - -\pagestyle{scrplain} -\pagestyle{empty} - -\include{title} -\cleardoubleemptypage -\include{abstract} -\cleardoubleemptypage - -\pagestyle{scrplain} -\pagenumbering{roman} -\include{toc} - -\pagestyle{scrheadings} - - -\addtokomafont{caption}{\small} - -\mainmatter - -\include{chapters} - - - -\appendix -\include{append} -\include{abbreviations} -\cleardoublepage - -\bibliographystyle{natger} -\bibliography{document} - -\cleardoublepage - - -\footnotesize -\printindex - + \selectlanguage{english} + \def\figdir{figures} + \def\tabledir{tables} + \frontmatter{} + \pagestyle{scrplain} + \pagestyle{empty} + \include{title} + \include{abstract} + \pagestyle{scrplain} + \pagenumbering{roman} + \include{toc} + \pagestyle{scrheadings} + \addtokomafont{caption}{\small} + \mainmatter{} + \include{chapters} + \appendix + \include{append} + \include{abbreviations} + \bibliographystyle{natger} + \bibliography{document} + \footnotesize + \printindex \end{document} \ No newline at end of file diff --git a/docs/toc.tex b/docs/toc.tex index 55f7cd9..f39cb6c 100644 --- a/docs/toc.tex +++ b/docs/toc.tex @@ -1,6 +1 @@ \tableofcontents -\clearpage -\listoffigures -\clearpage -\listoftables -\cleardoublepage From ac35bebac24000e2fc55a4d5f763138798caed6c Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:49:38 +0100 Subject: [PATCH 28/30] include latex pdf in repository --- .github/workflows/latex.yml | 19 ------------------- .gitignore | 2 +- docs/document.pdf | Bin 0 -> 561602 bytes 3 files changed, 1 insertion(+), 20 deletions(-) create mode 100644 docs/document.pdf diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index 9d134ae..fb0a984 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -14,22 +14,3 @@ jobs: with: working_directory: './docs' root_file: document.tex - release_latex: - name: Create Release - needs: build_latex - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - uses: ncipollo/release-action@v1 - with: - artifacts: './docs/document.pdf' - - - name: Upload binaries to release - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ./docs/document.pdf - asset_name: document.pdf - tag: ${{ github.ref }} - overwrite: true diff --git a/.gitignore b/.gitignore index ef8f0ff..24957d0 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ ehthumbs.db *.blg *.log *.out -*.pdf +logo*.pdf *.toc *.idx *.ilg diff --git a/docs/document.pdf b/docs/document.pdf new file mode 100644 index 0000000000000000000000000000000000000000..92d84da892f4d13c654e850da8f8790d94b372d1 GIT binary patch literal 561602 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[O87pzUV!~)tRHxcFFft- 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%0D^qh7X>o8yd1DtF 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
H4Ny=@T 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 z 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

yh5ajx{$} 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 literal 0 HcmV?d00001 From 26a164b703b986e8ead29ee202e46683b5f7fb67 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:50:11 +0100 Subject: [PATCH 29/30] fix pipeline --- .github/workflows/latex.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index fb0a984..63536cc 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -1,6 +1,9 @@ name: Build- and Release LaTeX paper -on: [push] +on: + push: + paths: + - docs/** jobs: build_latex: From 33b6bba34ff215c18cec825c49539fdaf06f1ef4 Mon Sep 17 00:00:00 2001 From: Maximilian Gobbel Date: Thu, 11 Jan 2024 17:52:24 +0100 Subject: [PATCH 30/30] moved fsharp project in correct directory --- .github/workflows/dotnet.yml | 4 ++-- fsharp/{NerdDeckFSharp => }/NerdDeckFSharp.sln | 0 fsharp/{NerdDeckFSharp => }/src/App.Tests/App.Tests.fsproj | 0 fsharp/{NerdDeckFSharp => }/src/App.Tests/Program.fs | 0 fsharp/{NerdDeckFSharp => }/src/App.Tests/UnitTest1.fs | 0 fsharp/{NerdDeckFSharp => }/src/App/App.fsproj | 0 fsharp/{NerdDeckFSharp => }/src/App/Program.fs | 0 fsharp/{NerdDeckFSharp => }/src/App/flashcards.json | 0 .../{NerdDeckFSharp => }/src/Library.Tests/FlashCardTests.fs | 0 .../src/Library.Tests/Library.Tests.fsproj | 0 fsharp/{NerdDeckFSharp => }/src/Library.Tests/Program.fs | 0 fsharp/{NerdDeckFSharp => }/src/Library/File.fs | 0 fsharp/{NerdDeckFSharp => }/src/Library/FlashCard.fs | 0 fsharp/{NerdDeckFSharp => }/src/Library/Library.fsproj | 0 14 files changed, 2 insertions(+), 2 deletions(-) rename fsharp/{NerdDeckFSharp => }/NerdDeckFSharp.sln (100%) rename fsharp/{NerdDeckFSharp => }/src/App.Tests/App.Tests.fsproj (100%) rename fsharp/{NerdDeckFSharp => }/src/App.Tests/Program.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/App.Tests/UnitTest1.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/App/App.fsproj (100%) rename fsharp/{NerdDeckFSharp => }/src/App/Program.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/App/flashcards.json (100%) rename fsharp/{NerdDeckFSharp => }/src/Library.Tests/FlashCardTests.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/Library.Tests/Library.Tests.fsproj (100%) rename fsharp/{NerdDeckFSharp => }/src/Library.Tests/Program.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/Library/File.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/Library/FlashCard.fs (100%) rename fsharp/{NerdDeckFSharp => }/src/Library/Library.fsproj (100%) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 3bc5130..b664d23 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp + working-directory: ${{ github.workspace }}/fsharp steps: - name: Checkout uses: actions/checkout@v3 @@ -26,7 +26,7 @@ jobs: needs: build defaults: run: - working-directory: ${{ github.workspace }}/fsharp/NerdDeckFSharp + working-directory: ${{ github.workspace }}/fsharp steps: - name: Checkout uses: actions/checkout@v3 diff --git a/fsharp/NerdDeckFSharp/NerdDeckFSharp.sln b/fsharp/NerdDeckFSharp.sln similarity index 100% rename from fsharp/NerdDeckFSharp/NerdDeckFSharp.sln rename to fsharp/NerdDeckFSharp.sln diff --git a/fsharp/NerdDeckFSharp/src/App.Tests/App.Tests.fsproj b/fsharp/src/App.Tests/App.Tests.fsproj similarity index 100% rename from fsharp/NerdDeckFSharp/src/App.Tests/App.Tests.fsproj rename to fsharp/src/App.Tests/App.Tests.fsproj diff --git a/fsharp/NerdDeckFSharp/src/App.Tests/Program.fs b/fsharp/src/App.Tests/Program.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/App.Tests/Program.fs rename to fsharp/src/App.Tests/Program.fs diff --git a/fsharp/NerdDeckFSharp/src/App.Tests/UnitTest1.fs b/fsharp/src/App.Tests/UnitTest1.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/App.Tests/UnitTest1.fs rename to fsharp/src/App.Tests/UnitTest1.fs diff --git a/fsharp/NerdDeckFSharp/src/App/App.fsproj b/fsharp/src/App/App.fsproj similarity index 100% rename from fsharp/NerdDeckFSharp/src/App/App.fsproj rename to fsharp/src/App/App.fsproj diff --git a/fsharp/NerdDeckFSharp/src/App/Program.fs b/fsharp/src/App/Program.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/App/Program.fs rename to fsharp/src/App/Program.fs diff --git a/fsharp/NerdDeckFSharp/src/App/flashcards.json b/fsharp/src/App/flashcards.json similarity index 100% rename from fsharp/NerdDeckFSharp/src/App/flashcards.json rename to fsharp/src/App/flashcards.json diff --git a/fsharp/NerdDeckFSharp/src/Library.Tests/FlashCardTests.fs b/fsharp/src/Library.Tests/FlashCardTests.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library.Tests/FlashCardTests.fs rename to fsharp/src/Library.Tests/FlashCardTests.fs diff --git a/fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj b/fsharp/src/Library.Tests/Library.Tests.fsproj similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library.Tests/Library.Tests.fsproj rename to fsharp/src/Library.Tests/Library.Tests.fsproj diff --git a/fsharp/NerdDeckFSharp/src/Library.Tests/Program.fs b/fsharp/src/Library.Tests/Program.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library.Tests/Program.fs rename to fsharp/src/Library.Tests/Program.fs diff --git a/fsharp/NerdDeckFSharp/src/Library/File.fs b/fsharp/src/Library/File.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library/File.fs rename to fsharp/src/Library/File.fs diff --git a/fsharp/NerdDeckFSharp/src/Library/FlashCard.fs b/fsharp/src/Library/FlashCard.fs similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library/FlashCard.fs rename to fsharp/src/Library/FlashCard.fs diff --git a/fsharp/NerdDeckFSharp/src/Library/Library.fsproj b/fsharp/src/Library/Library.fsproj similarity index 100% rename from fsharp/NerdDeckFSharp/src/Library/Library.fsproj rename to fsharp/src/Library/Library.fsproj