Operator: Computer, the door is open, the door is closed. Is the door closed?
Computer: I don't know!
Operator: Computer, the door is open, the door is closed. Is the door open?
Computer: Yes!
Operator: Computer, is the door closed?
//! Chain macro in Rust | |
//! | |
//! A typical usage is to avoid nested match expressions. | |
//! | |
//! Supports: | |
//! - Pattern matching | |
//! - Or expressions (A | B => ...) | |
//! - Guarded statements (x if <cond> => ...) | |
//! - Implicit else (requires all arms to return same type) |
extern crate piston_meta; | |
extern crate range; | |
extern crate dyon; | |
use std::sync::Arc; | |
use self::piston_meta::MetaData; | |
use self::range::Range; | |
use self::dyon::{error, load_meta, Module, Runtime}; | |
fn main() { |
fn main() { | |
n := 99 | |
println(link { | |
link i n { | |
b := n-i | |
bottles(b)" of beer on the wall, "bottles(b)" of beer.\n" | |
"Take one down, pass it around, "bottles(b-1)" of beer on the wall.\n\n" | |
} | |
"No more bottles of beer on the wall, no more bottles of beer.\n" | |
"Go to the store and buy some more, "n" bottles of beer on the wall.\n" |
/// Phantom type for step 1. | |
pub enum Step1 {} | |
/// Phantom type for step 2. | |
pub enum Step2 {} | |
/// Contains data we set step by step. | |
pub struct Data<'a> { | |
/// 'a' is set in the first step. | |
a: Option<int>, |
Albert Einstein - His genius papers are never read by common people, but they absorb every sentence he ever said publicly. | |
Bertrand Russel - He was the center of the logical revolution of mathematics, but his gentleman appearance hides his colorful life. | |
Daniel Dennett - Smart, knows a lot and good at talking about interesting things. He is the center. | |
Eliezer Yudkowsky - The world collides with him, he loves it, he attacks it straight on, and the world loses ... every time. | |
Elon Musk - A cool idea that sounds like one came up with it while playing on the boy's room, but real. |
#![feature(globs)] | |
#![feature(if_let)] | |
extern crate piston; | |
extern crate gfx; | |
mod snakeapp; | |
mod object; | |
mod settings; | |
mod text; |
//! rustc 0.10-pre (ee8f45e 2014-02-18 13:41:49 -0800) | |
//! | |
//! Before you bite my head off, this is NOT a recommend way of organizing code! | |
//! It is only a demonstration what you can do in Rust! (wish I put this comment in earlier) | |
//! My intention with this example is to show new people the features of the module system. | |
//! | |
//! The module system in Rust gives you precise control | |
//! over the interface when writing libraries. | |
//! You can write the layout independent of how you organize the code! | |
//! In this example two different conventions are explored. |
Operator: Computer, the door is open, the door is closed. Is the door closed?
Computer: I don't know!
Operator: Computer, the door is open, the door is closed. Is the door open?
Computer: Yes!
Operator: Computer, is the door closed?
Operator: Computer, the door is open, the door is closed. Is the door closed? Computer: I don't know!
Operator: Computer, the sky is green, the sky is blue. Which color has the sky? Computer: It was green, but changed to blue right now.
prove_add_even : (x : Nat) -> (y : Nat) -> even (add x y) = eq (even x) (even y) | |
prove_add_even Z Z = Refl | |
prove_add_even Z (S Z) = Refl | |
prove_add_even Z (S (S k)) = prove_add_even Z k | |
prove_add_even (S Z) Z = Refl | |
prove_add_even (S (S k)) Z = prove_add_even k Z | |
prove_add_even (S Z) (S Z) = Refl | |
prove_add_even (S Z) (S (S k)) = prove_add_even (S Z) k | |
prove_add_even (S (S k)) (S j) = prove_add_even k (S j) |