LINUX.ORG.RU

аналог хаскелевского data в OCaml

 ,


0

2

В хаскеле можно сделать такой код

data EitherSI = Left String | Right Int

isLeft (Left _) = True
isLeft _ = False

left (Left a) = a
right (Right a) = a

как провернуть такое в OCaml?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

type eitherSI = Left of string | Right of int ;;

let isLeft e = match e with
    Left(_) -> true
  | _ -> false ;;

let left e = match e with
    Left(a) -> a ;;

let right e = match e with
    Right(a) -> a ;;
korvin_ ★★★★★
()
Ответ на: комментарий от korvin_
type eitherSI = Left of string | Right of int

let isLeft = function 
    | Left _ -> true
    | _      -> false

let left = function Left a -> a

let right = function Right a -> a

code style fix

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.