Головна сторінка Груп Google
Довідка | Записатися
why does this not work??? monoids and stuff...
Занадто багато тем, що мають бути показані першими. Для того, щоб показати тему першою, зніміть цю опцію з іншої теми.
Під час обробки вашого запиту сталася помилка. Будь ласка, повторіть вашу спробу пізніше.
флаг
  5 повідомлення - Згорнути всі
Група, до якої ви додаєте допис, - група Usenet. Відтак, будь-хто в Інтернеті бачитиме вашу електронну адресу.
Вашу відповідь не було надіслано.
Ваш допис було надіслано
jon.gallagher.04  
Переглянути профіль
 Більше налаштувань 30 Вер, 01:51
Групи новин: comp.lang.haskell
Від: "jon.gallagher.04" <jon.gallagher...@gmail.com>
Дата: Mon, 29 Sep 2008 15:51:12 -0700 (PDT)
Локально: Вт 30 Вер 2008 01:51
Тема: why does this not work??? monoids and stuff...
I would like to thank this community for answering my off the wall
questions in the past, comp.lang.haskell has been quite helpful to me
in learning haskell, but also functional programming.  Here comes
another.

In a paper by Mark Jones "Functional Programming with Overloading and
Higher-Order Polymorphism" he (re)defines the monoid class

>> class Monoid a where
>>     e   :: a
>>     op :: a -> a -> a

then he defines some monoid instances.  In particular interest he
defines

>> instance Monoid ( a -> a ) where
>>     e   = id
>>     op = ( . )

which is very interesting because one could, if they desired build
even more structure from this monoid, and do some very interesting
things from a theoretical (but perhaps not practical) point of view.
However, when I try to load the above in hugs I get the following
error: "Repeated variable "a" in instance head."  I don't know how to
intepret that message, and don't really know why it does not work.  It
makes sense to have a monoid defined thus.

Any ideas???


Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.
jon.gallagher.04  
Переглянути профіль
 Більше налаштувань 30 Вер, 02:02
Групи новин: comp.lang.haskell
Від: "jon.gallagher.04" <jon.gallagher...@gmail.com>
Дата: Mon, 29 Sep 2008 16:02:25 -0700 (PDT)
Локально: Вт 30 Вер 2008 02:02
Тема: Re: why does this not work??? monoids and stuff...
In desperation, I also tried
>> instance Monoid (\f -> f)
>>     e = id
>>     op = ( . )

which has type a -> a, but then I get an error.  "Syntax error.
Unexpected backslash (lambda)", even though I did not expect it to
work, I got an error message, that might be related to the first, that
someone could find helpful.

Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.
Mark T.B. Carroll  
Переглянути профіль
 Більше налаштувань 30 Вер, 02:14
Групи новин: comp.lang.haskell
Від: "Mark T.B. Carroll" <Mark.Carr...@Aetion.com>
Дата: Mon, 29 Sep 2008 19:14:11 -0400
Локально: Вт 30 Вер 2008 02:14
Тема: Re: why does this not work??? monoids and stuff...

"jon.gallagher.04" <jon.gallagher...@gmail.com> writes:
>>> instance Monoid ( a -> a ) where
>>>     e   = id
>>>     op = ( . )
> However, when I try to load the above in hugs I get the following
> error: "Repeated variable "a" in instance head."

In ghc I seem to need a pragma,

{-# LANGUAGE FlexibleInstances #-}

to get this to work.

http://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-ex...
may explain a little.

Mark


Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.
jon.gallagher.04  
Переглянути профіль
 Більше налаштувань 30 Вер, 18:30
Групи новин: comp.lang.haskell
Від: "jon.gallagher.04" <jon.gallagher...@gmail.com>
Дата: Tue, 30 Sep 2008 08:30:39 -0700 (PDT)
Локально: Вт 30 Вер 2008 18:30
Тема: Re: why does this not work??? monoids and stuff...

> In ghc I seem to need a pragma,

> {-# LANGUAGE FlexibleInstances #-}

> to get this to work.

Yes, this is working in ghc and ghci.  Hugs will not accept it though,
but that is okay.  What made it seem that using this pragma would
work?

Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.
Mark T.B. Carroll  
Переглянути профіль
 Більше налаштувань 30 Вер, 18:33
Групи новин: comp.lang.haskell
Від: "Mark T.B. Carroll" <Mark.Carr...@Aetion.com>
Дата: Tue, 30 Sep 2008 11:33:00 -0400
Тема: Re: why does this not work??? monoids and stuff...

"jon.gallagher.04" <jon.gallagher...@gmail.com> writes:
>> In ghc I seem to need a pragma,

>> {-# LANGUAGE FlexibleInstances #-}

>> to get this to work.

> Yes, this is working in ghc and ghci.  Hugs will not accept it though,
> but that is okay.  What made it seem that using this pragma would
> work?

Because the error message I got without it suggested that I try it. (-:

Mark


Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.
Кінець повідомлень
« Повернутися до обговорень « Молодша тема     Старша тема »

Створити групу - Групи Google - Домівка Google - Правила користування послугою - Заява про конфіденційність і нерозголошення інформації
©2008 Google