нужна функция, которая получает непустой список и возвращает
максимальный элемент в списке и части списка слева и справа от макс. эл-та
let rec splitmax seq =
    match seq with
    | [] -> [], 1.0e10, []
    | t0::[] -> [], t0, []
    | t0::sub ->
        let left, t1, right = splitmax(sub) in
        if t1 > t0
            then (t0::left, t1, right) 
            else ([], t0, sub)
;;
такой вариант работатет; 
но если убрать первую строку в match with возникает Matching exception
не понимаю почему -- пустой список в качестве аргумента никогда не
передаётся.  в чём дело?
    
      Ответ на:
      
          комментарий
        от yuriy123 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум [школота-тред] синтаксис в Ocaml (2011)
 - Форум OCaml module system problem (2006)
 - Форум OCaml. Непонятки с модулями. (2006)
 - Форум [F#] apply (2012)
 - Форум Получить список из листьев дерева (scheme) (2006)
 
- Форум [python] Помогите оптимизировать маленькую прогу, пж. (2009)
 - Форум F# проверка списка на оригинальность и т.п. без хэшей (2016)
 - Форум [ocaml] ocaml <--> c (2008)
 - Форум LORScriptPack - UserScript, делающий ЛОР удобным (2024)
 - Форум Ocaml (2008)