diff options
| author | Marijn Haverbeke <[email protected]> | 2011-05-12 17:24:54 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <[email protected]> | 2011-05-12 21:30:44 +0200 |
| commit | 3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2 (patch) | |
| tree | 508982ed2f789aedd89eebd529343d9dc88b8e01 /src/lib/Option.rs | |
| parent | Transitional change to make extfmt output lowercase module name (diff) | |
| download | rust-3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2.tar.xz rust-3816e57fd2a8ab19e4ac6d4b3ddd5b49d5973ff2.zip | |
Downcase std modules again, move to :: for module dereferencing
This should be a snapshot transition.
Diffstat (limited to 'src/lib/Option.rs')
| -rw-r--r-- | src/lib/Option.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/lib/Option.rs b/src/lib/Option.rs deleted file mode 100644 index 3fb9aa3b..00000000 --- a/src/lib/Option.rs +++ /dev/null @@ -1,60 +0,0 @@ -// lib/Option.rs - -tag t[T] { - none; - some(T); -} - -type operator[T, U] = fn(&T) -> U; - -fn get[T](&t[T] opt) -> T { - alt (opt) { - case (some[T](?x)) { - ret x; - } - case (none[T]) { - fail; - } - } - fail; // FIXME: remove me when exhaustiveness checking works -} - -fn map[T, U](&operator[T, U] f, &t[T] opt) -> t[U] { - alt (opt) { - case (some[T](?x)) { - ret some[U](f(x)); - } - case (none[T]) { - ret none[U]; - } - } - fail; // FIXME: remove me when exhaustiveness checking works -} - -fn is_none[T](&t[T] opt) -> bool { - alt (opt) { - case (none[T]) { ret true; } - case (some[T](_)) { ret false; } - } -} - -fn from_maybe[T](&T def, &t[T] opt) -> T { - auto f = bind Util.id[T](_); - ret maybe[T, T](def, f, opt); -} - -fn maybe[T, U](&U def, fn(&T) -> U f, &t[T] opt) -> U { - alt (opt) { - case (none[T]) { ret def; } - case (some[T](?t)) { ret f(t); } - } -} -// Local Variables: -// mode: rust; -// fill-column: 78; -// indent-tabs-mode: nil -// c-basic-offset: 4 -// buffer-file-coding-system: utf-8-unix -// compile-command: "make -k -C .. 2>&1 | sed -e 's/\\/x\\//x:\\//g'"; -// End: - |