On Tue, Mar 2, 2010 at 11:20 AM, Sean Leather wrote:
> For all x, f:
>
> x >>= return . f
> -->
> fmap f x
> or
> f <$> x -- requires importing Control.Applicative
>
> I think the right-hand side (RHS) is more concise and simpler. The types
> here do change: the type constructor has a Monad constr
On Tue, Mar 2, 2010 at 9:06 PM, Tom Hawkins wrote:
> How do I track down an reference to an undefined value? My program
> must not be using a library correctly because the program makes no
> direct use of 'undefined'. Running with +RTS -xc yields:
>
> Test: Prelude.undefined
> __
On 3 March 2010 16:11, Tom Hawkins wrote:
> -Wall only complains about shadow bindings, defined but not used, and
> no type signature. But no unmatched patterns.
Yes it does: one of the options it brings in is
-fwarn-incomplete-patterns which tells you if you've missed a pattern
match.
http://w
2010/3/3 Tom Hawkins
> On Wed, Mar 3, 2010 at 6:07 AM, Ivan Miljenovic
>
> -Wall only complains about shadow bindings, defined but not used, and
> no type signature. But no unmatched patterns.
>
If you can run your code through the ghc debugger you can get it to break
when an undefined exceptio
On Wed, Mar 3, 2010 at 6:11 AM, Tom Hawkins wrote:
> On Wed, Mar 3, 2010 at 6:07 AM, Ivan Miljenovic
> wrote:
>> On 3 March 2010 16:06, Tom Hawkins wrote:
>>> How do I track down an reference to an undefined value? My program
>>> must not be using a library correctly because the program makes n
On Wed, Mar 3, 2010 at 6:07 AM, Ivan Miljenovic
wrote:
> On 3 March 2010 16:06, Tom Hawkins wrote:
>> How do I track down an reference to an undefined value? My program
>> must not be using a library correctly because the program makes no
>> direct use of 'undefined'. Running with +RTS -xc yiel
On 3 March 2010 16:06, Tom Hawkins wrote:
> How do I track down an reference to an undefined value? My program
> must not be using a library correctly because the program makes no
> direct use of 'undefined'. Running with +RTS -xc yields:
>
> Test: Prelude.undefined
Are you matching all pattern
How do I track down an reference to an undefined value? My program
must not be using a library correctly because the program makes no
direct use of 'undefined'. Running with +RTS -xc yields:
Test: Prelude.undefined
___
Haskell-Cafe mailing list
Haskell
>
>
> In GHC 6.12.1 both expressions reduce to True, but it doesn't happen
> in GHC 6.10.4. Any ideas why the behaviour is different?
>
Maybe (I'm guessing) GHC 6.12.1 is smart enough to figure out that f a
is not needed to evaluate True?
In docs it was said that seq states that 'it m
On Tue, 2010-03-02 at 13:19 -0800, Kimberly Wallmark wrote:
> I'm working with FFI to make a Haskell DLL that's called by C# code.
> I understand how to share simple types. I've found reasonable
> documentation for struct-equivalents. Is there a clean way to share
> lists, or should I make
I hope to turn it all into a tool.
vanenkj:
> What's the chance you have generational graphs for the rest of your examples
> like you do with the first? I'd be interested to see those.
>
> On Mon, Mar 1, 2010 at 3:02 AM, Don Stewart wrote:
>
>
> http://donsbot.wordpress.com/2010/03/01/
>
On Tue, Mar 2, 2010 at 4:37 PM, Yitzchak Gale wrote:
> For this reason, I consider it a bug in GHC that return :: IO a
> is lazy.
Wait a minute...
return undefined >>= const (return 42)
= const (return 42) undefined
= return 42
But if return undefined = undefined, then that equals;
undefi
2010/02/28 Neil Davies :
> I've never observed ones that size. I have an application that runs in 'rate
> equivalent real-time' (i.e. there may be some jitter in the exact time of
> events but it does not accumulate). It does have some visibility of likely
> time of future events and uses that to p
David Sabel wrote:
>> when checking the first monad law (left unit) for the IO-monad (and also for
>> the ST monad):
>> I figured out that there is the "distinguishing" context (seq [] True) which
>> falsifies the law...
It's worse than that - Haskell types and functions do not
even form a categor
On 2 March 2010 15:44, Luke Palmer wrote:
> On Tue, Mar 2, 2010 at 1:17 PM, David Sabel
> wrote:
> > Hi,
> > when checking the first monad law (left unit) for the IO-monad (and also
> for
> > the ST monad):
> >
> > return a >>= f ≡ f a
> >
> > I figured out that there is the "distinguishing" con
On 3 March 2010 08:25, Sean McLaughlin wrote:
> For instance, if module A exports f, but A.f is never used in my compiled
>program,
> I would like to be warned of this fact.
My SourceGraph program (
http://hackage.haskell.org/package/SourceGraph ) does this, but you'll
have to look through the g
On 02/03/10 20:37, Luke Palmer wrote:
On Tue, Mar 2, 2010 at 7:17 AM, Simon Marlow wrote:
For games,
though, we have a very good point that occurs regularly where we know
that all/most short-lived objects will no longer be referenced - at the
start of a fresh frame.
System.Mem.performGC is yo
Hi Don,
This doesn't tell me what is extraneous in the exports. For instance
If I have two modules A and Main
module A (f, g) where
f :: a -> a
f = id
g :: a -> a
g = id
module Main (main) where
import qualified A
main :: IO ()
main = do
let a = A.f 7
putStrLn $ show a
I'd like som
...Are hereby presented at:
http://www.ee.bgu.ac.il/~noamle/_downloads/gaccum.pdf
Comments are more than welcome.
(P.S Thanks to a whole bunch of people at #haskell for educating me about
this, but most notably Conal Elliott)
___
Haskell-Cafe mailing lis
seanmcl:
> Hello,
>
> I have a midsize program, and would like to simplify the module interfaces
> for my own sanity. I know there are tools to check for extraneous imports,
> but
> is there something similar for exports? For instance, if module A exports f,
> but A.f is never used in my comp
Hello,
I have a midsize program, and would like to simplify the module interfaces
for my own sanity. I know there are tools to check for extraneous imports,
but is there something similar for exports? For instance, if module A
exports f, but A.f is never used in my compiled program, I would li
I'm working with FFI to make a Haskell DLL that's called by C# code.
I understand how to share simple types. I've found reasonable
documentation for struct-equivalents. Is there a clean way to share
lists, or should I make a linked-list struct and do it manually?
In other words, if I hav
Yes, this time I did copy/paste your code.
ghci loads the file correctly and `x` is in scope.
lhs2TeX just hangs on the \eval{4} line.
On 2 March 2010 21:46, Andres Loeh wrote:
>> Oh, well that teaches me not to type myself... Copy-and-paste is way better!
>>
>> Now lhs2TeX no longer crashes, u
> Oh, well that teaches me not to type myself... Copy-and-paste is way better!
>
> Now lhs2TeX no longer crashes, unfortunately it still doesn't work correctly.
>
> It now simply hangs after printing the line "Two".
> It doesn't crash, or eat memory or cpu. It just sits there, doing
> nothing, un
On Tue, Mar 2, 2010 at 1:17 PM, David Sabel
wrote:
> Hi,
> when checking the first monad law (left unit) for the IO-monad (and also for
> the ST monad):
>
> return a >>= f ≡ f a
>
> I figured out that there is the "distinguishing" context (seq [] True) which
> falsifies the law
> for a and f defin
On Tue, Mar 2, 2010 at 7:17 AM, Simon Marlow wrote:
>> For games,
>> though, we have a very good point that occurs regularly where we know
>> that all/most short-lived objects will no longer be referenced - at the
>> start of a fresh frame.
>
> System.Mem.performGC is your friend, but if you're un
> First, it's
>
> %options ghci
Oh, well that teaches me not to type myself... Copy-and-paste is way better!
Now lhs2TeX no longer crashes, unfortunately it still doesn't work correctly.
It now simply hangs after printing the line "Two".
It doesn't crash, or eat memory or cpu. It just sits there
Am Dienstag 02 März 2010 21:00:56 schrieb Felipe Lessa:
> > I think the right-hand side (RHS) is more concise and simpler. The
> > types here do change: the type constructor has a Monad constraint in
> > the left-hand side and a Functor constraint in the RHS. Types that are
> > Monad instances are
Speaking about macrorewriting, I do prefer to break big modules (prototypes)
into smaller ones, then step by step separate them into a set of minimally
dependent and highly general cabal packages.
As for microrewriting I find it to be a good practice to explicate all
possible (programmable or Rea
Hi,
when checking the first monad law (left unit) for the IO-monad (and also
for the ST monad):
return a >>= f ≡ f a
I figured out that there is the "distinguishing" context (seq [] True)
which falsifies the law
for a and f defined below
> let a = True
> let f = \x -> (undefined::IO Bool)
Hi.
> I'm having a problem with lhs2Tex and \eval{}. It doesn't work.
>
> I have the following in a file test.lhs:
>
>
> %include polycode.fmt
>
> One
> %option ghci
> Two
> \eval{4}
> Three
>
>
> When I try to run this file thr
Download that tarball :
http://darcs.haskell.org/ghc-HEAD-2009-10-23-ghc-corelibs-testsuite.tar.gz
And then uncompress it, enter the directory, and execute : ./darcs-all pull
-a (it may need you to chmod +x it)
And then you will have ghc HEAD.
On Tue, Mar 2, 2010 at 9:01 PM, Louis Wasserman
wrote
Where is GHC 6.13 head? I can find sources of 6.13, and darcs for 6.12, but
not darcs for 6.13...I'm trying to play with the LLVM backend, and this is
the one question it seems to presuppose that you know the answer to. Heh.
Louis Wasserman
wasserman.lo...@gmail.com
http://profiles.google.com/wa
On Tue, Mar 02, 2010 at 08:20:30PM +0100, Sean Leather wrote:
> There are numerous threads on the Haskell Café involving rewriting,
> refactoring, refining, and in general improving code (for some definition of
> improve). I am interested in seeing examples of how Haskell code can be
> rewritten to
Hello,
I'm having a problem with lhs2Tex and \eval{}. It doesn't work.
I have the following in a file test.lhs:
%include polycode.fmt
One
%option ghci
Two
\eval{4}
Three
When I try to run this file through lhs2Tex, it crashes:
Hi all,
I've just uploaded the new version of my Progression benchmarking
library to Hackage (http://hackage.haskell.org/package/progression).
Progression is a utility built on top of Criterion that helps you record
benchmark times for several different versions of your code and then
draw gr
Ryan Ingram wrote:
> To take this a step further, there is the DSL:
>
> get :: m S
> put :: S -> m ()
>
> and the concrete implementation
>
> m = State S
>
> Of course, there are other monads which implement this DSL as well:
>
> m = StateT S IO
>
> m = Prompt StatePrompt
> with
> d
Documentation should be:
http://hackage.haskell.org/packages/archive/haskelldb/0.12/doc/html/Database-HaskellDB-DBSpec.html
http://hackage.haskell.org/packages/archive/haskelldb/0.12/doc/html/Database-HaskellDB-DBSpec-PPHelpers.html
assuming you have the haskelldb-0.12 package installed.
HTH Chri
For the style part, I recommend hlint [1].
Regarding the testing, QuickCheck is excellent and I have been happy with it
so far.
>From a more general point of view, I agree with a point of view that many
haskellers seem to share, but that Cale Gibbard put in words on #haskell
regularly. It consist
Not exactly answering your question, but here's the top refactorings
that I'd like to see in a Haskell IDE:
* rename identifier (aware of scopes, modules, qualified imports etc.)
* move definition from one module to another (aware of ...)
* change "type" to "newtype" or "data"
* change positional
There are numerous threads on the Haskell Café involving rewriting,
refactoring, refining, and in general improving code (for some definition of
improve). I am interested in seeing examples of how Haskell code can be
rewritten to make it better. Some general examples are:
- Eta-reduce
- Make
Don Stewart wrote:
mvanier42:
Hi everyone,
I'm interested in collecting good references for compiler optimizations
for functional languages (lazy, strict, statically-typed or not). Any
suggestions?
There's lots for what GHC implements on SimonPJ's site:
http://www.research
Hi,
I have problems with the usage of the DBSpec module. The following used to
work a year ago:
testDB :: DBInfo
testDB = makeDBSpec "testDB" (DBOptions False) [t1]
t1 :: TInfo
t1 = makeTInfo "t1" [c1,c2]
c1 :: CInfo
c1 = makeCInfo "c1" (IntT,False)
c2 :: CInfo
c2 = makeCInfo "c2" (StringT,Fals
On 02/03/2010 14:11, Malcolm Wallace wrote:
Both concurrent GC and incremental GC tend to add overheads to the
mutator, because they need a read barrier. There was an incremental GC
for GHC once [1], taking advantage of the built-in read barrier that
we have whereby most closures are "entered"
On 01/03/2010 17:16, Sebastian Sylvan wrote:
On Sun, Feb 28, 2010 at 5:20 AM, Luke Palmer mailto:lrpal...@gmail.com>> wrote:
I have seen some proposals around here for SoC projects and other
things to try to improve the latency of GHC's garbage collector. I'm
currently developing
Both concurrent GC and incremental GC tend to add overheads to the
mutator, because they need a read barrier. There was an incremental
GC for GHC once [1], taking advantage of the built-in read barrier
that we have whereby most closures are "entered"
Was there a specific reason why that GC
On 01/03/2010 14:53, Thomas Schilling wrote:
On 28 February 2010 05:20, Luke Palmer wrote:
I have seen some proposals around here for SoC projects and other
things to try to improve the latency of GHC's garbage collector. I'm
currently developing a game in Haskell, and even 100ms pauses are
un
On 01/03/2010 14:16, Sönke Hahn wrote:
On Monday 01 March 2010 01:04:37 am Luke Palmer wrote:
On Sun, Feb 28, 2010 at 2:06 AM, Pavel Perikov wrote:
Did you really seen 100ms pauses?! I never did extensive research on this
but my numbers are rather in microseconds range (below 1ms). What causes
On 01/03/2010 00:04, Luke Palmer wrote:
On Sun, Feb 28, 2010 at 2:06 AM, Pavel Perikov wrote:
Did you really seen 100ms pauses?! I never did extensive research on this but
my numbers are rather in microseconds range (below 1ms). What causes such a
long garbage collection? Lots of allocated an
On Tue, Mar 2, 2010 at 1:04 AM, Benjamin L. Russell
wrote:
> There is an interesting, if somewhat dated, suggestion on "Lambda the
> Ultimate" (see http://lambda-the-ultimate.org/node/1748) that "someone
> translate Doug Hofstadter's Scientific American columns introducing
> Scheme to a general au
Hi,
I am very close to suicide or similar acts of pure desperation...
Since weeks, I am trying different approaches to get gtk2hs running on my Snow
Leopard MacBook Pro... no success, you guess it...
My current GHC is 6.10.4 (but I also tried 6.10.3 before) when I try to make
GTK2HS from Sour
Hi,
I have problems with the usage of the DBSpec module. The following used to
work a year ago:
testDB :: DBInfo
testDB = makeDBSpec "testDB" (DBOptions False) [t1]
t1 :: TInfo
t1 = makeTInfo "t1" [c1,c2]
c1 :: CInfo
c1 = makeCInfo "c1" (IntT,False)
c2 :: CInfo
c2 = makeCInfo "c2" (StringT,Fals
Hello,
I'm writing a compiler and it segfaults when compiled with ghc-6.10.4
on linux-x86_x64.
It runs fine when compiled with ghc-6.10.4 on Mac OS X 10.5 (64-bit
Intel) and with ghc-6.8.2 on Mac OS X 10.4 (32-bit PPC).
I use the Haskell platform, the ghc -v output is
Glasgow Haskell Compiler, V
On Mar 2, 2010, at 5:59 AM, Dan Doel wrote:
http://haskell.org/haskellwiki/Free_monad
http://haskell.org/haskellwiki/Free_structure
Nice, thank you for writing this.
Feel free to make suggestions/changes.
I enjoyed reading it although Section 3 is challenging for people
(like me) who
54 matches
Mail list logo