Это ошибка в gnuplot (пакет). Ниже приведен блок кода, в котором параметры терминала X11 встроены в gnuplot
-разборные параметры командной строки:
Файл: X11.hs
-- Part of a record update, hence the trailing comma
Terminal.options =
"x11" :
catMaybes (
(fmap quote $ title_ term) :
(fmap (formatBool "persist") $ persist_ term) :
[]),
Третий последний в строке, поле title_ :: Maybe String
записи term
окружено кавычками с помощью функции quote
(просто псевдоним show
). Проблема в том, что для анализа gnuplot
к нему также должен добавляться title
( см. Руководство ). Пока это не исправлено, вы всегда можете настроить gnuplot как локальный пакет и собрать его оттуда.
Вот исправление (строка 43 из X11.hs):
(fmap (("title " ++) . quote) $ title_ term) :
Кстати, есть более оптимальный способ импорта пакетов. Запись import X as Y
означает: «импортировать все в глобальное пространство имен, но также дать мне Y в качестве псевдонима для импортированных символов». Лучший способ - это import qualified X as Y
, который ограждает импортированный модуль в пространство имен Y
.
Последнее замечание Если вы попытаетесь собрать gnuplot самостоятельно, вы обнаружите, что gnuplot
не компилируется из-за пары пропущенных Semigroup
экземпляров, вызванных предложением "Полугруппа-моноид" в GH C 8.4. Чтобы исправить это, просто добавьте экземпляр Semigroup
, который ссылается на метод mappend
из экземпляра Monoid
:
import Data.Semigroup
instance Semigroup Script where
(<>) = mappend