On Mar 15, 2010, at 12:09 PM, Jeremy Shaw wrote:
In happstack we use a really horrible trick involving template
haskell where we see if the SockAddrInet6 constructor exists at
compile time and conditionally compile different versions of the
code that way. But it is really ugly.
Maybe a
On Mar 17, 2010, at 6:14 PM, Daniel Fischer wrote:
I found it surprisingly not-slow (code compiled with -O2, as usual).
There are two points where you waste time.
I found one big point where time is wasted: in computing the powerset
of a list. He's making 2^n elements, and then
On Mar 17, 2010, at 8:33 PM, zaxis wrote:
`allPairs list = [(x,y) | x - list, y - list] ` is not what
`combination`
does !
let allPairs list = [(x,y) | x - list, y - list]
allPairs [1,2,3]
[(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)]
Yeah, I know that. I said so
I wrote this to Darrin, but didn't CC cafe:
On Mar 17, 2010, at 9:20 PM, Darrin Chandler wrote:
type Cartesian_coord = Float
type Latitude = Float
type Longitude = Float
data Point = Cartesian (Cartesian_coord, Cartesian_coord)
| Spherical (Latitude, Longitude)
type
On Mar 17, 2010, at 9:56 PM, Alexander Solla wrote:
But your spherical points don't really form a basis in three-
space, or even over all of two-space.
I'll take this back. Lattitude and longitude is enough to form a
basis on R^2, by taking a basis for the surface of the sphere in
terms
On Mar 17, 2010, at 10:27 PM, Darrin Chandler wrote:
Let's go back to your original code:
data Point = Cartesian (Cartesian_coord, Cartesian_coord)
| Spherical (Latitude, Longitude)
type Center = Point
type Radius = Float
data Shape = Circle Center Radius
On Apr 14, 2010, at 12:16 PM, Ashley Yakeley wrote:
They are distinct Haskell functions, but they represent the same
moral function.
If you're willing to accept that distinct functions can represent the
same moral function, you should be willing to accept that different
bottoms
On Apr 14, 2010, at 1:24 PM, Ashley Yakeley wrote:
Bottoms should not be considered values. They are failures to
calculate values, because your calculation would never terminate (or
similar condition).
And yet you are trying to recover the semantics of comparing bottoms.
On Apr 14, 2010, at 5:10 PM, Ashley Yakeley wrote:
Worse, this rules out values of types that are not Eq.
In principle, every type is an instance of Eq, because every type
satisfies the identity function. Unfortunately, you can't DERIVE
instances in general. As you are finding out...
On Apr 15, 2010, at 12:53 AM, rocon...@theorem.ca wrote:
I'd call them disrespectful functions, or maybe nowadays I might
call them
improper functions. The good functions are respectful functions or
proper functions.
There's no need to put these into a different class. The IEEE defined
On Apr 20, 2010, at 11:05 AM, Jason Dusek wrote:
Thanks for the link; my ultimate interest, though, is in an
architecture
that could scale to multiple machines rather than multiple cores
with shared
memory on a single machine. Has there been any interest and/or
progress in
making DPH
Consider the following bash session:
[ a...@kizaru:~/ ]$ which trhsx
/home/ajs/.cabal/bin/trhsx
[ a...@kizaru:~/ ]$ trhsx
Usage: trhsx infile [outfile]
[ a...@kizaru:~/ ]$ cabal install hsp
Resolving dependencies...
Configuring hsp-0.4.5...
Preprocessing library hsp-0.4.5...
Building
On Apr 23, 2010, at 2:59 PM, Thomas Hartman wrote:
So, you might need to
-- upgrade hsx
-- make sure that the upgraded trhsx executable is the one being
executed by cabal install hsx (maybe deleting/temporarily moving other
trhsx exes)
Unfortunately, this suggestion didn't work out for me.
On Apr 26, 2010, at 12:30 PM, Jeremy Shaw wrote:
Does trying to install hsp-0.5.1 work any better?
I hadn't tried it, since it forces hsx-0.7 to install. But I gave it
a shot, and it fails the same way:
[ a...@kizaru:~/ ]$ cabal install hsp-0.5.1
Resolving dependencies...
Configuring
On Apr 26, 2010, at 1:23 PM, Gregory Collins wrote:
Is $HOME/.cabal/bin on your $PATH?
Argh.
I had ~/.cabal/bin in my $PATH instead of $HOME/.cabal/bin. I'm
still not sure what the semantic difference is in this use case, but
one ($HOME) works and the other (~/) doesn't.
Thanks
On Apr 30, 2010, at 11:28 PM, Warren Harris wrote:
$ cabal install happstack
Resolving dependencies...
cabal: cannot configure HJScript-0.5.0. It requires hsx =0.7.0
For the dependency on hsx =0.7.0 there are these packages:
hsx-0.7.0. However
none of them are available.
hsx-0.7.0 was
On May 1, 2010, at 10:54 AM, Warren Harris wrote:
I think I'll have to wait for Jeremy's update.
On the plus side, the comments/source in the tutorial are pretty good
to follow the source along as an example, even if you don't compile
and run them. I didn't bother installing
On May 3, 2010, at 10:57 AM, Jeremy Shaw wrote:
- hide IxSet constructor. use ixSet instead.
- improved efficiency of gteTLE, getGTE, and getRange
- get rid of Dynamic, just use Data.Typeable (internal change)
- added deleteIx
- Eq and Ord instances for IxSet
- removed
On May 5, 2010, at 9:52 PM, John Creighton wrote:
I've seen forall used in a few places related to Haskell. I know their
is a type extension call explicit forall but by the way it is
documnted in some places, the documentation makes it sound like it
does nothing usefull.
However on Page 27 of
On May 18, 2010, at 3:27 PM, John Creighton wrote:
I looked again at the paper (page 27):
Haskell's Overlooked object system.
http://homepages.cwi.nl/~ralf/OOHaskell/paper.pdf
Is there any particular reason why you like that paper so much?
Object orientation is nice, when you're dealing
On May 22, 2010, at 1:32 AM, Jon Fairbairn wrote:
Since Bool is a type, and all Haskell types include ⊥, you need
to add conditions in your proofs to exclude it.
Not really. Bottom isn't a value, so much as an expression for
computations that don't refer to real values. It's close enough
On May 23, 2010, at 1:35 AM, Jon Fairbairn wrote:
It seems to me relevant here, because one of the uses to which
one might put the symmetry rule is to replace an expression “e1
== e2” with “e2 == e1”, which can turn a programme that
terminates into a programme that does not.
I don't see how
On May 23, 2010, at 2:53 AM, Lennart Augustsson wrote:
BTW, the id function works fine on bottom, both from a semantic and
implementation point of view.
Yes, but only because it doesn't work at all. Consider that calling
id undefined
requires evaluating undefined before you can call id.
On Jun 1, 2010, at 12:20 PM, Aaron D. Ball wrote:
The underlying object here is a Unix file descriptor, which is just a
number. In that sense, stdin is 0, stdout is 1, and stderr is 2, so
this would be (0 + 2) (mod 1) = 0
Every integer is 0 (mod 1).
On Jun 3, 2010, at 6:34 AM, mo...@deepbondi.net wrote:
Announcing the 0.1.0.0 release of the random-fu library for random
number generation[1]. This release hopefully stabilizes the core
interfaces (those exported from the base module Data.Random).
Great work, I'm upgrading now.
The only
On Jun 3, 2010, at 4:19 PM, mo...@deepbondi.net wrote:
I don't think I understand. My familiarity with probability theory is
fairly light. Are you referring to the fact that the PDF of the sum
of
random variables is the convolution of their PDFs? If so, the sum of
random variables can
On Jun 3, 2010, at 6:40 PM, mo...@deepbondi.net wrote:
If anyone knows a way this could be done while still allowing general
functions to be mapped over RVars, I'd love to hear about it. My
suspicion though is that it is not possible. It would be a very
similar
problem to computing the
On Jun 6, 2010, at 11:22 AM, Martin Drautzburg wrote:
If I have a function, say compute whose last parameter is some
value ...
and I create another function, which applies compute to a list of
values,
how would I call this function?
computeF is my natural inclination. F is for Functor.
On Jun 5, 2010, at 8:10 PM, Thomas Hartman wrote:
Is there a way to prove they are identical mathematically? What are
the techniques involved? Or to transform one to the other?
Typically, the easiest way to prove that functions f g are equivalent
is to (1) show that their domains are the
On Jun 7, 2010, at 4:10 PM, Alexander Solla wrote:
For exposition, I'll do the analysis for the Prelude function. You
might note how much like evaluating the function
Correction:
You might note how much like evaluating the function generating the
analysis
On Jun 8, 2010, at 2:38 AM, Alberto G. Corona wrote:
This is`t a manifestation of the Curry-Howard isomorphism?
Yes, basically.
If we rephrase the isomorphism as a proof is a program, the formula
it proves is a type for the program (as Wikipedia states it), we can
see the connection.
On Jun 14, 2010, at 4:40 PM, Luke Palmer wrote:
So hang on, what is the problem? You have described something like a
vague model, but what information are you trying to get? Say,
perhaps, a set of possible output lists from a given input list?
I think he's trying to construct a production
On Jun 15, 2010, at 1:42 PM, wren ng thornton wrote:
Generally these sorts of things are called homomorphisms. It's a
terribly general term, but that's the one I've always seen to
describe that pattern.
g is a list homomorphism, if you want to get specific.
Equivalently, it is the list
On Jun 17, 2010, at 12:02 PM, Martin Drautzburg wrote:
The standard map function applies a single function to a list of
arguments.
But what if I want to apply a list of functions to a single
argument. I can
of course write such a function, but I wonder if there is a standard
way of
doing
On Jun 17, 2010, at 9:44 PM, Michael Snoyman wrote:
While we're on the topic, does anyone else get funny looks when they
say monads?
Yes, almost every time. They seem to catch on if I say monadic when
I mean able to syntactically transformed so as to be put in a
sequence.
On Jun 17, 2010, at 10:47 AM, cas...@istar.ca wrote:
The functional-object style seems to be gaining momentum.
Is there any way to convert monads into objects, so that beginners
have an easier time with the syntax and thus we can attract more
people to the language?
I think you're a
On Jun 18, 2010, at 2:36 PM, Alexander Solla wrote:
Package Number;
sub new { my $class = shift; my $self = shift; bless $self, $class;
return $self; }
sub plus arg { return $self + arg; }
sub minus arg { return $self - arg }
Syntax errors in my Perl (sorry, the last time I did Perl
On Jun 21, 2010, at 10:18 AM, John Lask wrote:
do rec
a - getChar
b - f c
c - g b
putChar c
return b
I don't particularly care that the only recursive statements are
#2,#3 - I just want my nice neat layout back. I have just spent an
inordinate amount of time updating code
On Jun 20, 2010, at 6:24 PM, Alexander Solla wrote:
do a - getChar
let b = c = return . f
let c = b = return . g
c = putChar
b
Correction: by your construction, f and g are already in the Kliesli
category, so you don't need the return compositions. I still
On Jun 23, 2010, at 1:50 PM, Martin Drautzburg wrote:
I said that a rhythm is a series of Moments (or Beats), each
expressed as
fractions of a bar. But each Moment also has volume. So I could
model rhythm
as Pairs of (Moment, Volume). However I certanly do not want to
specify both
the
On Jun 24, 2010, at 11:14 AM, Martin Drautzburg wrote:
Another question is: how much past and future knowledge do I need.
(I believe
the fundamental property of music is that things are ordered). In
order to
compute Volumes from Moments I can get pretty much away without the
past, but
On Jun 26, 2010, at 4:33 AM, Andrew Coppin wrote:
It's a bit like trying to learn Prolog from somebody who thinks that
the difference between first-order and second-order logic is somehow
common knowledge.
A first order logic quantifies over values, and a second order logic
quantifies
On Jun 26, 2010, at 11:21 AM, Andrew Coppin wrote:
A first order logic quantifies over values, and a second order
logic quantifies over values and sets of values (i.e., types,
predicates, etc). The latter lets you express things like For
every property P, P x. Notice that this
On Jun 27, 2010, at 12:29 PM, Alexey Khudyakov wrote:
This is of course faster but what I really want is vectors with length
parametrized by type. This way I can write generic code. Uniform
representation is requirement for that.
You're going to need dependent types, or a similar
On Jul 2, 2010, at 7:08 PM, Ivan Lazar Miljenovic wrote:
Knowing about something /= knowing how to use it. I own and have read
RWH, but I've never had to use hsc2hs, or Applicative, etc.
Applicative is nice. I had to Google for hsc2hs. This is what I get
for learning Haskell from the
On Jul 9, 2010, at 5:46 PM, Kevin Quick wrote:
That's probably an interesting assertion that one of the category
theorists around here could prove or disprove. ;-)
It's not too hard. I don't like thinking about it in terms of
category theory, though. It's easier to think about it in
On Jul 15, 2010, at 6:49 PM, Jason Dagit wrote:
Everyone has their own branch of everything they contribute to,
listed right on the website? This is inline with another idea I've
heard where we'd have a 'stable' hackage and 'unstable/dev'
versions. But, how does this work for resolving
On Jul 20, 2010, at 10:28 PM, Richard O'Keefe wrote:
What I don't see is HOW DO I USE THIS STUFF?
I think tutorials are the best way to do that (i.e., example normal
forms for the computations the library intends to expose). Perl's
package archive (the cpan) traditionally uses a
On Jul 23, 2010, at 4:35 PM, michael rice wrote:
Why is it called lift-ing?
Basically, because mathematicians like enlightening metaphors. It is
a mathematical term.
A monadic value has an underlying value. To turn a function that
works on the underlying value into one that works on
On Jul 24, 2010, at 10:59 AM, Patrick Browne wrote:
class C1 c1 where
age :: c1 - Integer
-- add default impl, can this be defined only once at class level?
-- Can this function be redefined in a *class* lower down the
heirarchy?
age(c1) = 1
Yes, but keep in mind that the hierarchy is
On Aug 3, 2010, at 2:51 PM, aditya siram wrote:
I am looking for suggestions on how to introduce the concept and its
implications. I'd also like to include a section on why monads exist
and why we don't really see them outside of Haskell.
Start with functors (things that attach
On Aug 4, 2010, at 11:30 AM, Omari Norman wrote:
Why is toRational a method of Real? I thought that real numbers need
not
be rational, such as the square root of two. Wouldn't it make more
sense
to have some sort of Rational typeclass with this method? Thanks.
You can't build the real
There are many SVG elements, of which only a few are valid as the
content of each other SVG elements.
SvgDocumentElement defines the allowed subset for the SVG document.
I want to generate a DList Char for all those sub-elements and
finally collapse them to one DList Char representing
I happen to think that the only good way to approach monads is
mathematically. Uses come out naturally, once you understand what it
is that a monad does. I'll make a short speech and then comment on
your questions.
First, an example. I will assume that there are some things you will
On Jan 26, 2010, at 8:11 AM, Xingzhi Pan wrote:
I'm a little confused with the type of step here. Can it be
considered as taking 2 or 3 arguments and then the compiler has to
infer to decide?
The compiler is going to build up a sequence of functions. Consider
the following (mathematical)
f :: a - b - c is a function that takes an a, a b, and returns a c.
Except that f and g are not isomorphic. In fact, there exists no
defined fuction g :: (a - b) - c
(what type would (g id) be?
The types are isomorphic. They both have the same extension. Both
types are empty.
How do
On Jan 27, 2010, at 4:57 PM, Conor McBride wrote:
Yes, the separation is not clear in Haskell. (I consider this
unfortunate.) I was thinking of Paul Levy's call-by-push-value
calculus, where the distinction is clear, but perhaps not as fluid
as one might like.
What, exactly, is the
On Jan 29, 2010, at 9:11 AM, Maurí cio CA wrote:
Sorry if this looks weird, but do you know of experiences with
functional programming, or type programming, with C? Using macro
tricks or just good specifications?
I know this is not absurd to a small extent. I've heard of proof
tool
On Jan 30, 2010, at 5:26 PM, Maurí cio CA wrote:
Do you have some link to an example of such proof by induction of
type safety?
Not off-hand, but I did just find Atze Dijkstra's Essential Haskell,
which covers the type system in depth, and it looks like a good bet
for you.
On Jan 31, 2010, at 12:02 PM, Michael Snoyman wrote:
I'm working with a client right now on deploying an app. I was
wondering if anyone had some recommendations for a Haskell-friendly
host. I'm inclined to go with a VPS for this setup, but if there's
reliable shared hosting, that would
On Feb 14, 2010, at 4:38 AM, Günther Schmidt wrote:
I've got a problem, in short my haskell code sucks. While it does
work and I do manage to use higher-orderish aspects quite
extensively to make my code more concise it still is nowhere
abstract, always concrete and thus always with lots
On Feb 16, 2010, at 9:43 AM, Gregg Reynolds wrote:
I've looked through at least a dozen. For neophytes, the best of
the bunch BY FAR is Goldblatt, Topoi: the categorial analysis of
logic . Don't be put off by the title. He not only explains the
stuff, but he explains the problems that
On Feb 16, 2010, at 12:14 PM, Günther Schmidt wrote:
Let's say there was some clever monad ...
someMonad = do
h1 - add twenty
h2 - add False
h3 - add 16
.
modify h2 True
and get a (twenty,(True, 16)) back. And while *in* the monad some
On Feb 16, 2010, at 12:48 PM, Alexander Solla wrote:
(Accumulator String)s are (Accumulator value)s for any value. So
you can build things like:
Sorry, I made a typo. I meant StringAccumulator Strings are
Accumulator values for any value
On Feb 16, 2010, at 2:11 PM, Stephen Tetley wrote:
Your monad looks equivalent to the Identity monad but over a much
bigger syntax. What advantages do you get from it being a monad,
rather than just a functor?
I replied to Stephen, but forgot to include the list. I took the
liberty of
sry for being a bit thick, but how would this code be used?
I'm unable to figure out the application yet. Could you give some
examples how you use it?
Günther
So, the type (View view) -- ignoring class instances -- is basically
isomorphic to this (slightly simpler) type:
data View
On Feb 18, 2010, at 10:19 AM, Nick Rudnick wrote:
Back to the case of open/closed, given we have an idea about sets --
we in most cases are able to derive the concept of two disjunct sets
facing each other ourselves, don't we? The only lore missing is just
a Bool: Which term fits which
On Feb 18, 2010, at 1:28 PM, Hans Aberg wrote:
It is a powerful concept. I think of a function closure as what one
gets when adding all an expression binds to, though I'm not sure
that is why it is called a closure.
Its because a monadic morphism into the same type carrying around data
On Feb 18, 2010, at 2:08 PM, Nick Rudnick wrote:
my actual posting was about rename refactoring category theory;
closed/open was just presented as an example for suboptimal
terminology in maths. But of course, bordered/unbordered would be
extended by e.g. «partially bordered» and the same
On Feb 18, 2010, at 4:49 PM, Nick Rudnick wrote:
Why does the opposite work well for computing science?
Does it? I remember a peer trying to convince me to use the factory
pattern in a language that supports functors. I told him I would do
my task my way, and he could change it later
On Feb 20, 2010, at 10:29 AM, Sjoerd Visscher wrote:
I don't understand this, as I thought the constraints the error is
complaining about is just what withConstraintsOf g should provide.
I guess there's something about the Suitable trick that I don't
understand, or possibly the type
On Feb 20, 2010, at 10:25 AM, Heinrich Apfelmus wrote:
But isn't the line
renderXHtml (ConcatView l r) = fold $ renderXHtml (ConcatViews l r)
a type error? I'm assuming
Data.Foldable.fold :: (Foldable m, Monoid t) = m t - t
being applied to the result type of renderXHtml which is
On Feb 24, 2010, at 10:15 AM, Heinrich Apfelmus wrote:
Namely, let's assume we are already given a magic type
constructor |-
(so magic that it's not even legal Haskell syntax) with the property
that
A |- B
somehow denotes an expression of type B with free variables of
type A
.
On Mar 7, 2010, at 12:56 PM, Don Stewart wrote:
In fact, infinite vectors make no sense, as far as I can tell -- these
are fundamentally bounded structures.
Fourier analysis? Functional analysis? Hamel bases in Real
analysis? There are lots of infinite dimensional vector spaces out
On Mar 7, 2010, at 5:22 PM, Don Stewart wrote:
Sorry for the overloading, I mean 'vector' in the sense of
Data.Vector.
Being strict in the length, its unclear to me that you can do much
with
infinite ones :-)
Yeah, fair enough. I studied mathematics, not Haskell's Data.*
hierarchy.
On Aug 14, 2010, at 9:01 AM, Antoine Latter wrote:
What's wrong with fun-deps? The associated type synonym syntax is
prettier, but I didn't tknow that fun-deps were evil.
Do you have any links?
They're not evil, they are tricky and can lead to non-termination,
inconsistency, etc.
On Aug 22, 2010, at 3:41 AM, Andrew Coppin wrote:
It looks as if it's automated for Arch, however. Either that or
somebody is spending an absurd amount of time keeping it manually up
to date.
It probably is automated. There's a tool out there called
cabal2arch, which turns a cabal file
On Aug 26, 2010, at 12:34 AM, michael rice wrote:
A lot of stuff to get one's head around. Was aware of liftM2,
liftM3, etc., but not liftA2, liftA3, etc.
liftM and liftA are essentially equivalent (and are both essentially
equivalent to fmap) Same for the liftAn = liftMn functions
On Aug 26, 2010, at 1:29 AM, Alexander Solla wrote:
The other function is pure :: (a - b) - f (a - b). It takes a
function and lifts it into the functor, without applying it to
anything. In other words, given an f :: a - b,
My mistake, though if you got the rest of it, it should come
On Aug 26, 2010, at 9:27 AM, michael rice wrote:
Some functions just happen to map to other functions.
$ is flip fmap. f $ functor = fmap f functor Brent
Yorgey's post noted.
map to? Take as arguments?
maps to as in outputs.
pure f * functor = f $ functor
Prelude
On Aug 31, 2010, at 12:03 PM, michael rice wrote:
I tried creating an instance earlier but
*Main :t (-) Int Char
interactive:1:1: parse error on input `-'
Try:
Prelude :info (-)
data (-) a b-- Defined in GHC.Prim
If you want type-information about values, use :t. If you want
On Aug 31, 2010, at 1:52 PM, Brent Yorgey wrote:
This fall I'll be teaching a half-credit introduction to Haskell to
some undergrads. As a final project I am thinking of giving them the
option of (instead of developing some program/project of their own)
contributing to an existing open-source
On Sep 2, 2010, at 11:30 AM, michael rice wrote:
In each case, what does the notation
show:: ...
and
undefined:: ...
accomplish?
They're type annotations. show is a function in many types:
Prelude :t show
show :: (Show a) = a - String
If you want to see the type of a specific show
On Sep 2, 2010, at 9:10 AM, Stephen Sinclair wrote:
Sorry to go a bit off topic, but I find it funny that I never really
noticed you could perform less-than or greater-than comparisons on
Bool values. What's the semantic reasoning behind allowing relative
comparisons on booleans? In what
On Sep 5, 2010, at 7:46 PM, Mathew de Detrich wrote:
Another thing you can say is that Perl is a very extreme language in
design where as Haskell is more general. This means the one thing
Perl does, it does very well (expressing programming problems in the
most concise/short possible way)
On Sep 18, 2010, at 12:51 AM, Christopher Tauss wrote:
I am a professional programmer with 11 years experience, yet I just
do not seem to be able to get the hang of even simple things in
Haskell. I am trying to write a function that takes a list and
returns the last n elements.
On 09/26/2010 01:32 PM, Patrick Browne wrote:
Hi,
Below is an assumption (which could be wrong) and two questions.
ASSUMPTION 1
Only smaller models can be specified using the sub-class mechanism.
For example if we directly make a subclass A = B then every instance of
B must also be an
On 09/25/2010 02:24 AM, Petr Pudlak wrote:
Hi,
sometimes I have doubts how to structure my Haskell code - where to
break lines, how much to indent, how to name functions and variables
etc. Are there any suggested/recommended coding conventions? I
searched a bit and I found a few articles
On 09/27/2010 12:25 AM, Patrick Browne wrote:
Alexander Solla wrote:
On 09/26/2010 01:32 PM, Patrick Browne wrote:
/
Bigger how? Under logical implication and its computational analogue?
That is to say, do you want the model to be more SPECIFIC, describing a
smaller class of objects more
On 09/28/2010 03:03 AM, Patrick Browne wrote:
I had a look at the types of a and a’.
*Main :t a
a :: forall a obj. (Uneditable obj) = a - obj
*Main :t a'
a' :: forall witness a obj. (Refactored obj witness) = Maybe (a - obj)
Could you explain the example a little more.
This is going to
On 09/29/2010 02:15 PM, DavidA wrote:
instance Monad (\v - Vect k (Monomial v))
Yes, that is exactly what I am trying to say. And since I'm not allowed to say
it like that, I was trying to say it using a type synonym parameterised over v
instead.
Why not:
instance Monad ((-) Vect k
On 09/29/2010 09:13 PM, Alexander Solla wrote:
On 09/29/2010 02:15 PM, DavidA wrote:
instance Monad (\v - Vect k (Monomial v))
Yes, that is exactly what I am trying to say. And since I'm not
allowed to say
it like that, I was trying to say it using a type synonym
parameterised over v
On Oct 7, 2010, at 1:02 AM, Christian Sternagel wrote:
Hi all,
I'm not a native English speaker and recently I was wondering about
the two words order and ordering (the main reason why I write
this to the Haskell mailing list, is that the type class Ordering
does exist).
My
On Sep 30, 2010, at 1:39 AM, Patrick Browne wrote:
I think my original question can be rephrased as:
Can type classes preserve satisfaction under the the expansion
sentences
(signature/theory morphisms inducing a model morphism).
According to [1] expansion requires further measures
On Oct 7, 2010, at 1:15 AM, Alexander Solla wrote:
For example, a set with three elements can be ordered in three
different ways.
Six ways. I hate making such basic math mistakes.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
On Oct 9, 2010, at 4:17 PM, André Batista Martins wrote:
If i want compose f and f1, i need to do a correct input to f1
from the output of f.
So i want one function to convert the output of f to input off
f!.
In this case, we do f1 fst (snd (t,(t1,t2))) snd (snd (t,
(t1,t2)))
Hi everybody,
I'm working on a module that encodes static facts about the real
world. For now, I'm working on an ISO 3166 compliant list of
countries, country names, and country codes. I've run into a bit of
an optimization issue.
There is a static bijective correspondence between
On Oct 12, 2010, at 4:24 AM, Jacek Generowicz wrote:
I can't see a Haskell solution which combines both of these orthogonal
features without losing the benefits of the type system. (For example,
I could create my own, weak, type system with tags to identify the
type and maps to do the
On Oct 13, 2010, at 2:18 PM, Jacek Generowicz wrote:
Is there any particular reason why you want to actually to mirror
Python code?
I don't want to: I merely have a situation in which an OO solution
(not necessarily a good one) immediately springs to mind, while I
didn't see any obvious
The Facts hierarchy is meant to contain commonly used, relatively
static facts about the real world. The facts are meant to be encoded
using relatively simple Haskell constructs. However, we do make some
promises: every data type our modules export will have instances of
Data, Eq, Ord,
1 - 100 of 268 matches
Mail list logo