From 047287e7095a4f7001b9b7154a08da7198e45499 Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Sat, 4 Dec 2010 10:15:39 -0500 Subject: [PATCH] translating tweaks Signed-off-by: Jim Pryor --- translating_between_OCaml_Scheme_and_Haskell.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translating_between_OCaml_Scheme_and_Haskell.mdwn b/translating_between_OCaml_Scheme_and_Haskell.mdwn index ed2ce4a1..ea4079e9 100644 --- a/translating_between_OCaml_Scheme_and_Haskell.mdwn +++ b/translating_between_OCaml_Scheme_and_Haskell.mdwn @@ -145,7 +145,7 @@ We will however try to give some general advice about how to translate between O * In Haskell, you say a value has a certain type with: `value :: type`. You express the operation of prepending a new `int` to a list of `int`s with `1 : other_numbers`. In OCaml it's the reverse: you say `value : type` and `1 :: other_numbers`. -* In Haskell, type names and constructors both begin with capital letters, and type variables always appear after their constructors, in Curried form. And the primary term for declaring a new type is `data` (short for [[!wikipedia algebraic datatype]]). So we have: +* In Haskell, type names and constructors both begin with capital letters, and type variables always appear after their constructors, in Curried form. And the primary term for declaring a new type is `data` (short for [[!wikipedia algebraic data type]]). So we have: data Either a b = Left a | Right b; data FooType a b = Foo_constructor1 a b | Foo_constructor2 a b; -- 2.11.0