My MSc requires a project dissertation, which is expected to take about 800 hours. I would like to work on something
which is of use to the Haskell community. Any suggestions?
My interests are in higher-level application programming, rather than low-level libraries or compiler hacking. (This is
John Smith volderm...@hotmail.com writes:
My MSc requires a project dissertation, which is expected to take
about 800 hours. I would like to work on something which is of use to
the Haskell community. Any suggestions?
My interests are in higher-level application programming,
What do you
Sjoerd Visscher wrote:
On Jul 3, 2010, at 4:39 PM, Andrew Coppin wrote:
class Container c = Functor c where
fmap :: (Functor cx, Functor cy, Element cx ~ x, Element cy ~ y) = (x - y) -
(cx - cy)
However, this fails horribly: The type signature fails to mention c.
You have to
Okay, I understand better, now.
But I could never have guessed it just from the GHC error message.
Another question on the same code:
import Control.Monad.Identity
newtype SomeMonad s a = SomeMonad { unSome :: Identity a }
deriving (Monad)
newtype SomeType s = SomeType Int
runSomeMonad ::
On Sunday 04 July 2010 5:41:07 am Yves Parès wrote:
Okay, I understand better, now.
But I could never have guessed it just from the GHC error message.
Another question on the same code:
import Control.Monad.Identity
newtype SomeMonad s a = SomeMonad { unSome :: Identity a }
deriving
On 4 July 2010 00:24, Yves Parès limestr...@gmail.com wrote:
then it works, so obviously, the trouble is about pattern matching.
What was I doing wrong?
This seems to be in violation of the Haskell Report. See e.g. section
3.3 (http://www.haskell.org/onlinereport/exps.html):
The following
On 04/07/2010 12:00, Ivan Lazar Miljenovic wrote:
My interests are in higher-level application programming, rather than low-level
libraries or compiler hacking.
What do you mean by this?
Using web programming as an example, a CMS would be high-level, while a
networking library would be
That's it !
Indeed, you do not create a STRef yourself using a STRef data constructor,
you use the function:
newSTRef :: a - GHC.ST.ST s (STRef s a)
Thanks.
2010/7/4 Dan Doel dan.d...@gmail.com
On Sunday 04 July 2010 5:41:07 am Yves Parès wrote:
Okay, I understand better, now.
But I could
John Smith volderm...@hotmail.com writes:
On 04/07/2010 12:00, Ivan Lazar Miljenovic wrote:
My interests are in higher-level application programming, rather than
low-level libraries or compiler hacking.
What do you mean by this?
Using web programming as an example, a CMS would be
On 4 July 2010 12:03, John Smith volderm...@hotmail.com wrote:
On 04/07/2010 12:00, Ivan Lazar Miljenovic wrote:
My interests are in higher-level application programming, rather than
low-level libraries or compiler hacking.
What do you mean by this?
Using web programming as an example, a
On 04/07/2010 13:23, Ivan Lazar Miljenovic wrote:
Well, it depends upon what your interests are. What kind of stuff
(apart from web frameworks) do you like hacking on?
End-user applications, and high-level frameworks. (I'm not sure how to define high-level, I hope the CMS example gets
the
On 04/07/2010 13:32, Christopher Done wrote:
It isn't really filled with happstack. Many of us use FastCGI or a
straight web server like hyena or Snap, or salvia, etc. People keep
writing web frameworks because they're unsatisfied with what's
currently available. But yeah, I'd pick something
John Smith volderm...@hotmail.com writes:
On 04/07/2010 13:23, Ivan Lazar Miljenovic wrote:
Well, it depends upon what your interests are. What kind of stuff
(apart from web frameworks) do you like hacking on?
End-user applications, and high-level frameworks. (I'm not sure how to
define
On 04/07/2010 14:13, Ivan Lazar Miljenovic wrote:
End-user applications, and high-level frameworks. (I'm not sure how to
define high-level, I hope the CMS example gets the point across.)
What _kind_ of application though? end-user application is rather
broad.
For example, do you like
I was wondering how given a Type I can get a pretty printed type out of it.
I'm currently using showSDocUnqual . pprType . snd . tidyOpenType
emptyTidyEnv
But this has the problem that predicates don't get printed, anyone know how
GHCi does this?
Thanks,
Phyx
On Jul 4, 2010, at 11:31 AM, Andrew Coppin wrote:
type family F f a :: *
class RFunctor f where
(%) :: f a b - (a - b) - F f a - F f b
I have literally no idea what a type family is. I understand ATs (I think!),
but TFs make no sense to me.
(For this reason, most if not all of
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
Haddock 2.7 supports documenting instance implementations; I don't know
how this works, but according to the Changelog it's available.
--
Ivan Lazar
On 07/04/2010 01:49 PM, Sjoerd Visscher wrote:
On Jul 4, 2010, at 11:31 AM, Andrew Coppin wrote:
type family F f a :: *
class RFunctor f where
(%) :: f a b - (a - b) - F f a - F f b
I have literally no idea what a type family is. I understand ATs (I think!),
but TFs make no
On Sun, Jul 04, 2010 at 09:55:53PM +1000, Ivan Lazar Miljenovic wrote:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
Haddock 2.7 supports documenting instance implementations; I don't know
how this
Ross Paterson r...@soi.city.ac.uk writes:
On Sun, Jul 04, 2010 at 09:55:53PM +1000, Ivan Lazar Miljenovic wrote:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
Haddock 2.7 supports documenting instance
On Jul 4, 2010, at 1:58 PM, Steffen Schuldenzucker wrote:
This works (on my ghc-6.12.2):
class Rfunctor f where
type F f :: * - *
(%) :: f a b - (a - b) - F f a - F f b
Yes, but then this isn't allowed:
data BSFunctor :: * - * - * where
BS :: BSFunctor Word8 Word8
instance
Hello.
I am writing a Haskell program based on some guidelines written for
Standard ML (The Tiger compiler from the Modern Compiler Implementation
in ML book). The author uses modules for abstracting things like
specifities of the taraget machine.
For intance, there is a general Frame signature
2010/7/4 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
Haddock 2.7 supports documenting instance implementations; I don't know
how this works, but
On Sunday 04 July 2010 14:07:03, Ivan Lazar Miljenovic wrote:
Ross Paterson r...@soi.city.ac.uk writes:
On Sun, Jul 04, 2010 at 09:55:53PM +1000, Ivan Lazar Miljenovic wrote:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
Hi, everybody!
I think there's either an error in cabal-install, or I don't have an
idea on haskell packages.
I tried to install one particular library that depends on
containers-0.2.0.1 and got the following error:
Data/IntMap.hs:182:7:
Could not find module `Data.Data':
It is a
On Sunday 04 July 2010 14:03:51, Ross Paterson wrote:
Now we need to go round and document our instances.
Hmm, it seems only partial: documentation attached to an instance is
shown in the list of instances under a type, but not the list under a
class.
Not much of a problem. Right-click on
2010/7/4 Daniel Fischer daniel.is.fisc...@web.de:
Hmm, it seems only partial: documentation attached to an instance is
shown in the list of instances under a type, but not the list under a
class.
I'm guessing that's to reduce noise...
I'm guessing it might have something to do with the
On Sun, Jul 04, 2010 at 02:32:35PM +0200, Daniel Fischer wrote:
On Sunday 04 July 2010 14:07:03, Ivan Lazar Miljenovic wrote:
Ross Paterson r...@soi.city.ac.uk writes:
Hmm, it seems only partial: documentation attached to an instance is
shown in the list of instances under a type, but not
On Sun, Jul 4, 2010 at 7:03 AM, John Smith volderm...@hotmail.com wrote:
On 04/07/2010 12:00, Ivan Lazar Miljenovic wrote:
Have a look through the wish-list here:
http://www.reddit.com/r/haskell_proposals/
Thanks, I had a look at the list, but none of it seems to be appropriate for
a
Michael Lazarev lazarev.mich...@gmail.com writes:
Hi, everybody!
I think there's either an error in cabal-install, or I don't have an
idea on haskell packages.
I tried to install one particular library that depends on
containers-0.2.0.1 and got the following error:
Data/IntMap.hs:182:7:
David Waern david.wa...@gmail.com writes:
2010/7/4 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
Haddock 2.7 supports documenting instance
2010/7/4 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com:
David Waern david.wa...@gmail.com writes:
2010/7/4 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com:
Andrew Coppin andrewcop...@btinternet.com writes:
In summary, I think we need to devise a way of better-documenting
class instances.
2010/7/4 Ross Paterson r...@soi.city.ac.uk:
It could be either way: sometimes you define a new class with instances
for existing types, and with the current implementation that produces
no documentation.
(I tested with type, class and instance in the same package.)
Hi Ross, thanks for
On Sunday 04 July 2010 14:39:05, Michael Lazarev wrote:
Hi, everybody!
I think there's either an error in cabal-install, or I don't have an
idea on haskell packages.
I tried to install one particular library that depends on
containers-0.2.0.1 and got the following error:
Hi list,
the problem I have stems from the app I had developed. What my app does
is to split the money a hospital receives for a case to the departments
involved in a fair way.
An additional requirement however was to allow the users of the app to
re-map any revenue shares credited to
2010/7/4 Stephen Tetley stephen.tet...@gmail.com:
There is a least one of paper giving a rigorous comparison of SML
functors and Haskell type classes, unfortunately I can't remember the
authors. The link below is a (long) thesis:
What sort of model would be suitable to describe this, some sort of
matrix?
You still can get loops if your matrix represents graph.
Sounds like you need a tree.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
Bulat Ziganshin bulat.zigans...@gmail.com wrote:
Saturday, July 3, 2010, 4:25:22 PM, you wrote:
This has proven very useful for me. My usual way is writing monad
transformers and sticking them together, often together with
concurrent programming.
... /what/ my code is
doing, because
I believe the way is done in hint is something like this (untested):
showType t =
do -- Unqualify necessary types
-- (i.e., do not expose internals)
unqual - GHC.getPrintUnqual
return $ GHC.showSDocForUser unqual (GHC.pprTypeForUser False
t) -- False means 'drop explicit
Ivan Lazar Miljenovic wrote:
You don't install containers by hand.
I didn't want to, I had to do this because one library depending on
them ceased to install.
This package sounds a bit like the package you're trying to install
hasn't been updated to the latest version of GHC (containers-0.2
I was pondering how naming Haskell packages with a proper hierarchy is
quite important, and wondered what the general hierarchy of the
Hackage packages was like. So I grabbed the tarball of pakage
descriptions[1] from Hackage and ran a little messy Haskell script[2]
and got this list:
Michael Lazarev lazarev.mich...@gmail.com writes:
Ivan Lazar Miljenovic wrote:
You don't install containers by hand.
I didn't want to, I had to do this because one library depending on
them ceased to install.
This package sounds a bit like the package you're trying to install
hasn't been
2010/7/4 David Waern david.wa...@gmail.com:
2010/7/4 Daniel Fischer daniel.is.fisc...@web.de:
Hmm, it seems only partial: documentation attached to an instance is
shown in the list of instances under a type, but not the list under a
class.
I'm guessing that's to reduce noise...
I'm
Ivan Lazar Miljenovic ivan.miljeno...@gmail.com writes:
People still use Hugs? :p
Well, I just did a quick count of Haskell libraries in Debian and Ubuntu
(as a sort of comment to Don's blog post), but I forgot Hugs. It seems
to be installed on 6000 Ubuntu-respondents, compared to 17000
David Waern wrote:
I found the bug and fixed it, it's in the latest darcs version
Open Source Works.(tm)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
I started with the following:
{-# LANGUAGE TypeFamilies #-}
class DoC a where
type A2 a
op :: a - A2 a
data Con x = InCon (x (Con x))
type FCon x = x (Con x)
foldDoC :: Functor f = (f a - a) - Con f - a
foldDoC f (InCon t) = f (fmap (foldDoC f) t)
doCon :: (DoC (FCon x)) = Con x -
On Sun, 4 Jul 2010 15:47:21 +0200, Ertugrul Soeylemez e...@ertes.de wrote:
This requires a bunch of type system extensions, though, most notably
the UndecidableInstances extension. But it's safe to use here.
Probably a bit off topic, but whats wrong with UndecidableInstances? Where
is it safe
Hi,
Thanks for the reply, I've taken a look at the implementation of
pprTypeForUser and it should do what I want but doesn't :(
My function is
printType :: PrintUnqualified - Type.Type - String
printType qual = showSDocForUser qual . pprTypeForUser False
but I still don't get the predicates
On 04/07/2010 15:44, Felipe Lessa wrote:
What about [1]? Such a graphical editor could be used, for example,
for an EDSL. =D
Cheers,
[1]
http://www.reddit.com/r/haskell_proposals/comments/9n8nc/write_a_scratchlike_graphical_editor_for_a/
Already exists :-)
Wondering if I could get some suggestions for coding this problem.
A musical document (or score) consists primarily of a list of measures. A
measure consists primarily of lists of items. We'll consider only one
kind of item: a note. Items have a location within the measure. A note's
location
On Sun, 4 Jul 2010, Michael Mossey wrote:
I can solve a simpler problem which is
-- Given a note with tieNext set, and a list of notes, find
-- the end Loc of the last note in the chain. Only notes
-- with the same pitch as 'firstNote' are considered when looking
-- for the chain of notes.
The thing that is hard for me to understand is how, in a functional
paradigm, to update the entire Doc by chasing down every tie and making
all necessary updates.
This looks like one of graph algorithms.
Notes are nodes, ties are arcs. Measures, etc are parts of node label.
soundedEnd
Don't you have your own ideas? I have a long line of projects *I'd*
want to work on if I had the time.
On 4 July 2010 20:38, John Smith volderm...@hotmail.com wrote:
On 04/07/2010 15:44, Felipe Lessa wrote:
What about [1]? Such a graphical editor could be used, for example,
for an EDSL. =D
Henning Thielemann wrote:
On Sun, 4 Jul 2010, Michael Mossey wrote:
I can solve a simpler problem which is
computeSoundedEnd :: Item - [Item] - Loc
computeSoundedEnd firstNote notes = compSndEnd (pitch firstNote) notes
You will certainly not be able to make use of foldl or foldr, but you
Serguey Zefirov wrote:
The thing that is hard for me to understand is how, in a functional
paradigm, to update the entire Doc by chasing down every tie and making
all necessary updates.
This looks like one of graph algorithms.
Notes are nodes, ties are arcs. Measures, etc are parts of node
On Sun, 4 Jul 2010, Michael Mossey wrote:
Serguey Zefirov wrote:
The thing that is hard for me to understand is how, in a functional
paradigm, to update the entire Doc by chasing down every tie and making
all necessary updates.
This looks like one of graph algorithms.
Notes are nodes, ties
If you add Rest as an alternative constructor to Item you should be
able to attribute Items with their duration rather than their onset
position. For most processing this would simplify things.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
On Sun, 4 Jul 2010, Stephen Tetley wrote:
If you add Rest as an alternative constructor to Item you should be
able to attribute Items with their duration rather than their onset
position. For most processing this would simplify things.
This is also the way, Haskore organizes its data, but
Actually, it would be wise to parametrize Item with computed
attributes so that you can clearly distinguish between documents where
soundedEnd is set from documents where it is not.
Ah, this sounds like something I am looking for... parameterizing Item with
the computed attributes. But I am
Hi Stephen,
Thanks for thinking about this. The problem, though, is that notes can
overlap in time. MusicXML solves this by having not just Note and Rest, but
Backup and Forward which indicate the current position should be moved
before interpreting the following data. I'm trying to make it
Henning Thielemann wrote:
On Sun, 4 Jul 2010, Michael Mossey wrote:
Henning Thielemann wrote:
On Sun, 4 Jul 2010, Michael Mossey wrote:
I can solve a simpler problem which is
computeSoundedEnd :: Item - [Item] - Loc
computeSoundedEnd firstNote notes = compSndEnd (pitch firstNote) notes
On 4 July 2010 21:34, Michael Mossey m...@alumni.caltech.edu wrote:
Hi Stephen,
Thanks for thinking about this. The problem, though, is that notes can
overlap in time.
True - Haskore solves this with the Par operator allowing parallel
musical lines.
ABC and LilyPond have voice overlays - bars
ties are a presentation-level issue, the underlying (sound) representation
is a single note. i suggest
Doc = [Note]
where Notes have fields for their measure location and duration. then
there's no issue with overlapping notes, and start/end times are easy to
calculate. ties can be calculated
erik flister wrote:
ties are a presentation-level issue, the underlying (sound)
representation is a single note. i suggest
Doc = [Note]
where Notes have fields for their measure location and duration. then
there's no issue with overlapping notes, and start/end times are easy to
Nils Schweinsberg m...@n-sch.de writes:
On Sun, 4 Jul 2010 15:47:21 +0200, Ertugrul Soeylemez e...@ertes.de wrote:
This requires a bunch of type system extensions, though, most notably
the UndecidableInstances extension. But it's safe to use here.
Probably a bit off topic, but whats wrong
erik flister wrote:
I am dealing with ties because I am converting a MusicXML document
into a more natural form for my purposes. The initial form of the
document will have tied notes (as it comes that way from MusicXML),
and I want to convert that into a form that makes it
erik flister wrote:
That's what I want to do. I'm asking about a good way to write the
algorithm that traverses the notes and reconstructs the document
with the correct duration in each note.
why isn't this as simple as
Erik,
I'm learning from your code examples, but I
Nils Schweinsberg m...@n-sch.de wrote:
This requires a bunch of type system extensions, though, most
notably the UndecidableInstances extension. But it's safe to use
here.
Probably a bit off topic, but whats wrong with UndecidableInstances?
Where is it safe to use, when would you avoid
So I wonder what the timings for Haskell, O'Caml and Clojure
are now, given the patch to GHC.
--
Jason Dusek
Linux User #510144 | http://counter.li.org/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
Ertugrul Soeylemez wrote:
Essentially UndecidableInstances turns the type system into a
Turing-complete programming language. One direct consequence is that
type checking may not terminate
Actually, the type checking (specifically, instance resolution) always
terminates, due to the recursion
I don't understand how this turned into an argument about simplicity. I
never said it was complex.
i wasn't arguing, just confused about what you were asking cuz i didn't see
what wasn't straightforward. so i addressed the straightforward
interpretation in order to ask what that was
71 matches
Mail list logo