core hello world / workshop / count-lines-2 / counter.mli

open Core.Std

(* Exercises:

   - Change the underlying representation to use [String.Map.t]

   - Add two functions

       val median_element : t -> string
       val median_occurrences : t -> int

   - Technically, if there are an even number of unique elements,
     there is no single median element, but rather one element before
     the median and one element after. Change the median function to
     reflect this.

   - Make the median functions O(1).

type t with sexp

val empty : t

val touch : t -> string -> t

val top_n : t -> int -> (string * int) list
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.