On 24-Oct-1998, David Barton <[EMAIL PROTECTED]> wrote:
> Fergus Henderson writes:
>
> > No, different uids don't work fine in the multiprogrammer case.
> > The programmer that is compiling the source code needs read access
> > to all of it (for using tools like `grep', if nothing else). Once
Alex> In other words, you are saying that I want a feature, first class
Alex> polymorphism, that is now available in Hugs1.3c and from the docs,
Alex> GHC4.0?.
Yes.
Alex> Since I am doing development in Hugs 1.4, I guess the question is when
Alex> will Hugs1.4 have this fea
> "Alex" == S Alexander Jacobson <[EMAIL PROTECTED]> writes:
Alex> I wrote the following function that attempts to generalize show by
Alex> allowing the user to choose the function to stringify constructor
Alex> arguments.
>> stringArgs' sep stringer1 (MyFoo x i s) =
>>
> "Hans" == Hans Aberg <[EMAIL PROTECTED]> writes:
>> It's not different logical entities, all occurrences of f are variables.
Hans> Different occurrences of f have different semantic meaning (that is, the
Hans> "f" in one place is not the same as the "f" in another place).
Al
At 14:30 + 98/10/26, Peter Thiemann wrote:
>> Haskell translates f f = f into f := f |-> f; on the right hand side
>>"f" is a bound variable, on the left hand side "f" is a name. Suppose I
>> f := \f |-> \f
>>> or f(\f) := \f.
>
>I don't really understand your remark. f f = f as a topl
___
Our apologies if you receive multiple copies.
___
CALL FOR PAPERS
LOPSTR'
>>
>> f f = f
>>
Hans> Haskell translates f f = f into f := f |-> f; on the right hand side
Hans> "f" is a bound variable, on the left hand side "f" is a name. Suppose I
Hans> inidicate variables with a slash, then the formula would read
Hans> f := \f |-> \f
In other words, you are saying that I want a feature, first class
polymorphism, that is now available in Hugs1.3c and from the docs,
GHC4.0?.
Since I am doing development in Hugs 1.4, I guess the question is when
will Hugs1.4 have this feature and is this feature
compatible with Derive?
Alterna
Felix Schroeter wrote:
> newtype IntFunnilyOrdered = IFO Int
> instance Ord IntFunnilyOrdered where compare ...
> int_from_ifo (IFO x) = x
> map int_from_ifo $ sort $ map IFO l
> Ideally, the compiler should figure out that map IFO and map
> int_from_ifo are essentially noops, except changing
I wrote the following function that attempts to generalize show by
allowing the user to choose the function to stringify constructor
arguments.
> stringArgs' sep stringer1 (MyFoo x i s) =
>x' ++sep++i' ++ sep ++ s'
> where
> x'=stringer' x
> i'=stringer'' i
> s'=s
At 14:15 + 98/10/24, Simon Marlow wrote:
>Simon Peyton-Jones <[EMAIL PROTECTED]> writes:
>
>> Consider the function
>>
>> t :: T a => T a -> T a
>>
>> I think that it's far from clear what each of the T's mean!
>> Worse, in Haskell 2 we'll also have
>>
>> t :: T T => T a -> T a
>>
>>
Felix Schroeter wrote:
> > for instance, i could want to sort a list,
> > according to two different criteria,
> > using two different instances of Ord.
>
> newtype IntFunnilyOrdered = IFO Int
> instance Ord IntFunnilyOrdered where
> compare (IFO x) (IFO y) | even x && even y = compare x y
>
One more quick comment, and then I think I (at least) am done (to the
extent that the difference in opinion is clearly defined).
Fergus Henderson writes:
> And, again IMHO, it is the task of the language to *define* the
> encapsuation (or to allow that encapsulation to be defined), and
> Consider the function
>
> t :: T a => T a -> T a
>
> I think that it's far from clear what each of the T's mean!
> Worse, in Haskell 2 we'll also have
>
> t :: T T => T a -> T a
>
> In (T T) one is class and the other is a type constructor.
Let's leave the language as it is: cla
> > class MetaData a where
> > constructorName::a->String
> > mapArgs::(MetaData b,MonadPlus c) => (b->c)->a->[c]
>
> results in the error
> Illegal type "[c]" in constructor application
>
> If I replace MonadPlus with Show or Num there is no error.
> (Replacing MonadPlus with Monad also resul
15 matches
Mail list logo