Comparing revisions for page Searching and sorting in Haskell

Back to history list
  == Headline ==

Lecture "Searching and sorting in Haskell" as part of [[Course:Lambdas in Koblenz]]

== Description ==

We show how to approach the basic [[algorithmic problem]]s of [[search problem|search]] and [[sorting problem|sorting]] in [[Language:Haskell]]. In this manner, we establish proper familiarity with basic functional programming on lists in Haskell, with the use of [[recursion]], [[local scope]], and [[polymorphism]]. We also encounter [[divide and conquer algorithm]]s in this way. Along the way, we discuss some bits of expressiveness of the Haskell [[type system]] including support for [[polymorphism]] with [[type constraint]]s, [[type checking]], and [[type inference]].

The discussed encodings of search and sorting do not intend to be the most efficient ones (in Haskell); instead, the intention is to demonstrate basic algorithmic problem solving in Haskell and to provide evidence for Haskell's fitness for describing algorithms declaratively and concisely.

== Video ==



== Concepts ==

=== Recap ===
* [[Algorithm]]
* [[Algorithmic problem]]
* [[Search problem]]
* [[Search algorithm]]
* [[Linear search]]
* [[Local scope]]

=== Additions ===
* [[Binary search]]
* [[Sorting problem]]
* [[Sorting algorithm]]
* [[Insertion sort]]
* [[Divide and conquer algorithm]]
* [[Quicksort]]
* [[Selection sort]]
* [[Merge sort]]
* [[Median]]
* [[Type system]]
* [[Type signature]]
* [[Polymorphism]]
* [[Type checking]]
* [[Type inference]]

== Languages ==

* [[Language:Haskell]]

== Features ==

* [[Feature:Median]]

== Contributions ==

* [[Contribution:haskellProfessional]]

== Metadata ==


* [[memberOf::Course:Lambdas in Koblenz]]
* [[dependsOn::Script:Barchart]]

== Metadata ==


* [[memberOf::Course:Lambdas in Koblenz]]
* [[dependsOn::Script:Basic software engineering for Haskell]]