type Person(name :string, birthday :DateTime) =
member this.Birthday = birthday
type Person2 = {name :string; birthday :DateTime}
let person = {name="Alice"; birthday=DateTime.Today}
let alice1 = {name="Alice"; birthday=DateTime.Today}
let alice2 = {name="Alice"; birthday=DateTime.Today}
Console.WriteLine("Alice1 and Alice2 are equal")
let alice3 = {name="Alice"; birthday=DateTime.Today}
let mutable alice4 = {name="Alice"; birthday=DateTime.Today}
alice4 <- {name="Bob"; birthday=DateTime.Today}
Console.WriteLine("Alice's name is " + alice4.name)
member this.Dispose() = Console.WriteLine("Disposed") }
Console.WriteLine("Doing something")
type CardType = Visa | Mastercard
| Card of CardType * CardNo
let card = Card (Visa, "4012888888881881")
let printPayment payment =
| Check checkNo -> printfn "Check %i" checkNo
| Card (cardType,cardNo) -> printfn "Card %A %s" cardType cardNo