История изменений
Исправление korvin_, (текущая версия) :
Если писать, что селектор должен иметь строго определённый тип, то от него невозможно отнаследоваться. И если в команде сделать-пиктограммы нужен селектор-файлов-с-изображениями, то потом команду с типом селектор-файлов-с-изображениями нельзя будет использовать в команде обработать-файлы (типы не совпадают). Придётся писать преобразователь.
type file_selector = unit -> file list
var селектор_файлов : file_selector
var селектор_файлов_с_изображениями : file_selector
type file_processor : file -> unit
var обработать_файлы : file_selector -> file_processor -> unit
Ну или
var обработать_файлы : (unit -> 'a list) -> ('a -> unit) -> unit
Пока не понятно в чём проблема.
Исходная версия korvin_, :
Если писать, что селектор должен иметь строго определённый тип, то от него невозможно отнаследоваться. И если в команде сделать-пиктограммы нужен селектор-файлов-с-изображениями, то потом команду с типом селектор-файлов-с-изображениями нельзя будет использовать в команде обработать-файлы (типы не совпадают). Придётся писать преобразователь.
type file_selector = unit -> file list
var селектор_файлов : file_selector
var селектор_файлов_с_изображениями : file_selector
type file_processor : file -> unit
var обработать_файлы : file_selector -> file_processor -> unit
Ну или
var обработать_файлы : (unit -> 'a list) -> ('a -> unit) -> unit
Пока не понятно в чём проблема.