2013-06-07 20 views
5

Tôi đang thử nghiệm với Data.Functor.Compose và muốn viết một ví dụ Hiển thị cho nó khi thử mọi thứ trong ghci. Những gì tôi có (đang hoạt động) là:Viết một thể hiện Hiển thị cho Data.Functor.Compose mà không có FlexibleContexts

{-# LANGUAGE FlexibleContexts #-} 
instance (Show (f (g a))) => Show (Compose f g a) where 
    show = show . getCompose 

Điều tôi thắc mắc là: có cách nào để viết trường hợp Hiển thị này không có FlexibleContexts không?

Trả lời

3

Tôi không nghĩ điều đó là có thể. Để báo giá số GHC documentation for FlexibleContexts:

Trong Haskell 98, xác nhận trong ngữ cảnh khai báo cá thể phải có dạng C a trong đó một biến kiểu xuất hiện trong đầu.

+0

Cảm ơn câu trả lời của bạn! Có bất kỳ tài liệu nào mà bạn biết về điều đó sẽ mô tả các loại trường hợp "không thể đại diện" này trong ngôn ngữ không? –

+0

Bên cạnh báo cáo Haskell và tài liệu GHC, không có gì đến với tâm trí của tôi. –

Các vấn đề liên quan