Dear GHC developers,
I have a user's wish for the versions 6.4.1:
the possibility to `make' a project with profiling,
without user play with the Cabal version substitution.
Regards,
-
Serge Mechveliani
[EMAIL PROTECTED]
___
Wilhelm B. Kloke [EMAIL PROTECTED] schrieb:
Simon Marlow [EMAIL PROTECTED] schrieb:
On 17 September 2005 22:05, Wilhelm B. Kloke wrote:
I tried to go back to ghc/rts to build more files following the
ipattern of the last steps before, but this destroys genapply.
Don't quite understand this
The Visual Haskell team are proud to announce the first preview release
of Visual Haskell, version 0.0.
Visual Haskell is a complete development environment for Haskell
software, based on Microsoft's Visual Studio platform. Visual Haskell
integrates with the Visual Studio editor to provide
Gregory Wright wrote:
Hi,
GHC 6.4.1 is now available for OS X via the darwinports system.
The compiler is built from source, using a binary bootstrap compilier.
Both 10.3 (Panther) and 10.4 (TIger) are supported.
For more information on darwinports, see:
For more information on darwinports, see:
http://darwinports.opendarwin.org
Since I've no root permission on our mac, is there a chance to get a
(configureable) distribution without darwinports?
Christian
___
Glasgow-haskell-users mailing list
I have seen numerous references to CAFs not used to being garbage
collected in ghc leading to various contortions of the optimizer to keep
from generating them and possible space leaks... then something was
done and they are now collected.. I am curious what paper (or list
message?) describes what
Hi John,
Obviously the Simons are most qualified to answer this, however,
perhaps the following document (page 44-46) is sufficient to explain
this:
http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz
it was a draft document that wasn't quite finished and was aimed at GHC
4.xx. I
Great news ! Any word on the Windows binary ?
Simon Marlow wrote:
=
The (Interactive) Glasgow Haskell Compiler -- version 6.4.1
=
The GHC Team is pleased to announce
Just uploaded hooked up to the downloads page,
http://haskell.org/ghc/download_ghc_641.html
--sigbjorn
- Original Message -
From: David Nick Main [EMAIL PROTECTED]
To: glasgow-haskell-users@haskell.org
Sent: Tuesday, September 20, 2005 16:01
Subject: Re: ANNOUNCE: GHC version
John Meacham wrote:
f x y
| b c = ...
| c = 0 a b = ...
where
a = ...
b - ...
c - ...
f x y = ...
there is really no clean (IMHO) way to express this idiom otherwise,
What does this translate to (even if not clean)?
I am not sure I understand what
On Friday 16 September 2005 18:40, Glynn Clements wrote:
Wolfgang Jeltsch wrote:
In Haskell, code is data too because code in the sense of
imperative actions is described by IO values. You cannot analyse
them.
And thus they are not data.
Huh? I'd say they are not /concrete/ data, but
The Visual Haskell team are proud to announce the first preview release
of Visual Haskell, version 0.0.
Visual Haskell is a complete development environment for Haskell
software, based on Microsoft's Visual Studio platform. Visual Haskell
integrates with the Visual Studio editor to provide
Haskell Weekly News: September 20, 2005
Greetings, and thanks for reading the eighth issue of HWN, a weekly
newsletter for the Haskell community. Each Tuesday, new editions will be
posted (as text) to [1]the Haskell mailing list and (as HTML) to [2]The
Haskell
On Tue, Sep 20, 2005 at 10:29:14AM +0300, Yitzchak Gale wrote:
John Meacham wrote:
f x y
| b c = ...
| c = 0 a b = ...
where
a = ...
b - ...
c - ...
f x y = ...
there is really no clean (IMHO) way to express this idiom otherwise,
What
On Tue, Sep 20, 2005 at 12:25:00PM +0200, Benjamin Franksen wrote:
On Friday 16 September 2005 18:40, Glynn Clements wrote:
Wolfgang Jeltsch wrote:
In Haskell, code is data too because code in the sense of
imperative actions is described by IO values. You cannot analyse
them.
And
John Meacham wrote:
In Haskell, code is data too because code in the sense of
imperative actions is described by IO values. You cannot analyse
them.
And thus they are not data.
Huh? I'd say they are not /concrete/ data, but (abstract) data they
surely are(?)
and you
I'm pleased to announce ghc-api 0.1.0, a cabalization of the ghc api,
plucked from ghc 6.5, making the api available for stable versions of
ghc.
The ghc-api 0.1.0 has been developed as a part of the running hIDE
project, and has so far been succesfully built with ghc 6.4 and 6.4.1.
[1] ghc-api:
On Mon, 19 Sep 2005, Andrew Pimlott wrote:
On Sat, Sep 17, 2005 at 06:56:36PM +0100, Ben Rudiak-Gould wrote:
* The new syntax is really nice as a replacement for the annoyingly
common x - foo ; case x of... idiom that I've always disliked.
I might wish for case of to mean \x - case
Donn Cave schrieb:
The ordinary lambda comes close - in ghc anyway, it supports
pattern matching. But I can't work out the syntax for multiple
cases, which would obviously be needed to make it practically
useful.
e.g., this seems to be OK:
getArgs = \ (a:_) - putStrLn (show a)
but
Hi all,
The Q Monad in template haskell has fail method. As I understand it, it
throws some kind of exception. How do I catch this exception?
Some code I'm trying to create:
infoToCode :: Info - Q Exp
infoToCode (ClassI dec) = -- ClassI Dec
fail ClassI not supported -- this will be
On Tue, 2005-09-20 at 10:14 +0200, Sven Moritz Hallberg wrote:
Donn Cave schrieb:
The ordinary lambda comes close - in ghc anyway, it supports
pattern matching. But I can't work out the syntax for multiple
cases, which would obviously be needed to make it practically
useful.
e.g.,
Simon Peyton-Jones wrote:
design note http://research.microsoft.com/~simonpj/tmp/notes2.ps
In the above paper there is something about 'giveUp'. Seems to quite
useful, but there is no such thing in ghc 6.4.
Where did my giveUp go? And why?
--
Gracjan
On 2005-09-16, Andrew Pimlott [EMAIL PROTECTED] wrote:
On Thu, Sep 15, 2005 at 06:11:58PM -0700, Andrew Pimlott wrote:
I don't see why this would be more error-prone than any other approach.
Hmm... I take that back. I don't know anything about the IMAP protocol,
but after imagining for a few
On 2005-09-15, Adam Turoff [EMAIL PROTECTED] wrote:
On 9/15/05, John Goerzen [EMAIL PROTECTED] wrote:
So, to make that approach work, I would really need to do a lot of work
outside of Parsec -- the stuff that I really want to use Parsec for, I
think.
Well, you do have a state monad to work
John Goerzen wrote:
On 2005-09-15, Adam Turoff [EMAIL PROTECTED] wrote:
On 9/15/05, John Goerzen [EMAIL PROTECTED] wrote:
So, to make that approach work, I would really need to do a lot of work
outside of Parsec -- the stuff that I really want to use Parsec for, I
think.
Well,
You may like my parser transformer then (based on the efficent
backtracking parser paper, I believe by Ralf Heinze - uses endofunctor
and continuation passing - Its a long time since I tested it but I think
it holds its own against Parsec, without requiring the extra return types).
--
Sara,
I've used extensively HaXml and the tool DtdToHaskell to do xml processing.
HaXml marshalls/demarshalls xml data and DtdToHaskell creates the data
statements to handle xml in haskell fashion.
I learnt how to write a palatable DTD for the delicate DtdToHaskell, but in
your case I guess
On Tue, Sep 20, 2005 at 02:29:12PM +0100, Keean Schupke wrote:
It's unclear to me exactly how to mix the IO monad with Parsec. It
doesn't really seem to be doable.
Not to mention that if hGetContents is used, the Handle has to be put
into non-buffering mode, which means one syscall per
Here's some useful definitions to go with that...
module Lib.Parser.Parser(Parser,when,unless,guard,(|),opt,many,many1,sepBy,
parse,alpha,digit,lower,upper,other,lexical,satisfy,optional,literal,untilP,untilParser,matchP)
where ...
(see attachment for files)
Regards,
Keean.
John Goerzen wrote:
On Tue, Sep 20, 2005 at 02:29:12PM +0100, Keean Schupke wrote:
It's unclear to me exactly how to mix the IO monad with Parsec. It
doesn't really seem to be doable.
Not to mention that if hGetContents is used, the Handle has to be put
into non-buffering mode, which
On Tue, Sep 20, 2005 at 03:05:25PM +0100, Keean Schupke wrote:
strace seems to say yes.
Thats odd, the source code seems to suggest that when you read past the
end of the buffer
it reads the next entire buffer (it has cases for each possible buffer
configuration, line, block and none)
Here's the code from hGetContents (base/GHC/IO.lhs):
-- we never want to block during the read, so we call fillReadBuffer
with
-- is_line==True, which tells it to just read what there is.
lazyReadBuffered h handle_ fd ref buf = do
catch
(do buf - fillReadBuffer fd
John Goerzen wrote:
On Tue, Sep 20, 2005 at 03:05:25PM +0100, Keean Schupke wrote:
strace seems to say yes.
Thats odd, the source code seems to suggest that when you read past the
end of the buffer
it reads the next entire buffer (it has cases for each possible buffer
On Tue, Sep 20, 2005 at 03:20:01PM +0100, Keean Schupke wrote:
Because the next entire buffer might consume more data than the remote
has sent. That results in deadlock.
Would it not be usual to have a timeout incase of dropped connection?
Yes, but hardly useful if it happens after
On Tue, Sep 20, 2005 at 03:17:11PM +0100, Keean Schupke wrote:
-- For a line buffer, we just get the first chunk of data to arrive,
-- and don't wait for the whole buffer to be full (but we *do* wait
-- until some data arrives). This isn't really line buffering, but it
-- appears
Hi.
I have a generated Haskell program that emits a
Fail: loop
at runtime.
Are there some tools or standard manner for identifying the lines that
participate in the loop?
The use of -debug and -prof -auto-all only provides a call stack,
and the loop is, is I understand it, due to a circular
Jørgen Hermanrud Fjeld [EMAIL PROTECTED] writes:
I have a generated Haskell program that emits a
Fail: loop
at runtime.
Are there some tools or standard manner for identifying the lines that
participate in the loop?
Provided your program does not use too many GHC extensions or fancy
I'm puzzling out how to get a Bool from am IO Bool. I know I'm not
supposed to, but I don't see any way around my predicament.
The basic setup is: I have an edit box, and a panel. If you click the
LMB on the panel when the edit box is checked, this means you want to
move a graphical object
Take a look at unsafePerformIO, it is of type IO a - a. Its not
particularly safe (the name gives a clue), but it does what you
want.
On 9/20/05, Mark Carter [EMAIL PROTECTED] wrote:
I'm puzzling out how to get a Bool from am IO Bool. I know I'm not
supposed to, but I don't see any way around
Mark Carter wrote:
I'm puzzling out how to get a Bool from am IO Bool. I know I'm not
supposed to, but I don't see any way around my predicament.
The basic setup is: I have an edit box, and a panel. If you click the
LMB on the panel when the edit box is checked, this means you want to
move
On Tue, Sep 20, 2005 at 04:30:25PM +0100, Neil Mitchell wrote:
Take a look at unsafePerformIO, it is of type IO a - a. Its not
particularly safe (the name gives a clue), but it does what you
want.
I dont think you would ever need to do unsafePerformIO unless
you are writing some lib
Hello,I've looked through the two tutorials and the Report, but couldn't find help on this topic. My question is whether you can place constraints on new data types. For instance, I want to make a new type that is a 4 element tuple where each element is greater than or equal to the previous entry.
Rich Neswold [EMAIL PROTECTED] writes:
For instance, I want to make a new type that is a 4 element tuple
where each element is greater than or equal to the previous entry.
data Category = Membership a a a a
You can make a 'smart' constructor function, and hide the real data
constructor so
On Tue, 20 Sep 2005, Bernard Pope wrote:
On Tue, 2005-09-20 at 10:14 +0200, Sven Moritz Hallberg wrote:
Donn Cave schrieb:
...
but how do you write
getArgs = \ [] - putStrLn (no arguments)
(a:_) - putStrLn (show a)
What about good old let?
main
= getArgs
On 9/20/05, Malcolm Wallace [EMAIL PROTECTED] wrote:
You can make a 'smart' constructor function, and hide the real dataconstructor so that it cannot be used:Thanks! I'll give your solution a try.-- RichAIM : rnezzy
ICQ : 174908475
___
Haskell-Cafe
Greg Buchholz wrote:
Have you read...
http://haskell.org/hawiki/ThatAnnoyingIoType
Thanks. I'll take a look at it. I also need to take a look at the basic
Haskell syntax. An interesting-looking web page which discusses monads is:
http://www.nomaware.com/monads/html/analogy.html
Mark Carter wrote:
What struck me was this bit of code:
assemblyLine w = (return w) = makeChopsticks = polishChopsticks
= wrapChopsticks
Interestingly, this looks like Forth (!), where you put a value on the
stack, and successive operations fiddle with the stack as a series of
. . .
What struck me was this bit of code:
assemblyLine w = (return w) = makeChopsticks = polishChopsticks =
wrapChopsticks
Interestingly, this looks like Forth (!), where you put a value on the
stack, and successive operations fiddle with the stack as a series of
. . .
Another thing I noticed in my nano-experience of Haskell is the Maybe
monad. This is interesting because it's a bit like a hybrid variables.
If you look at a book like Writing Solid Code (or is it Code
Complete, I can't remember now) which examine C style, they basically
scorn
On Sep 20, 2005, at 3:43 PM, Glynn Clements wrote:
That, in a nutshell, is Lisp's key strength. It uses the same
structure for code as for data, which makes it very easy to add new
language features.
I assume that you refer to `eval' and the fact it operates on conses
and symbols. Beyond
Mark Carter wrote:
The typical example in C is:
mem = malloc(1024)
Malloc returns 0 to indicate that memory cannot be allocated, or a
memory address if it can. The variable mem is a so-called hybrid
variable; it crunches together 2 different concepts: a boolean value
(could I allocate
. . .
The typical example in C is:
mem = malloc(1024)
Malloc returns 0 to indicate that memory cannot be allocated, or a
memory address if it can. The variable mem is a so-called hybrid
variable; it crunches together 2 different concepts: a boolean value
(could I allocate memory?) and
Lennart Augustsson wrote:
Mark Carter wrote:
The typical example in C is:
mem = malloc(1024)
Malloc returns 0 to indicate that memory cannot be allocated, or a
memory address if it can. The variable mem is a so-called hybrid
variable; it crunches together 2 different concepts: a boolean
David F. Place wrote:
That, in a nutshell, is Lisp's key strength. It uses the same
structure for code as for data, which makes it very easy to add new
language features.
I assume that you refer to `eval' and the fact it operates on conses
and symbols. Beyond the extremely
Compare:
int *p=...;
int x=*p;
and:
let
p = ...
Just x = p
So actually, there is few difference between dereferencing a pointer
without checking for 0, and extracting the Maybe value without
handling Nothing, apart from that it leads to undefined behavior in C
which in fact isn't
Mark Carter wrote:
What struck me was this bit of code:
assemblyLine w = (return w) = makeChopsticks = polishChopsticks =
wrapChopsticks
Interestingly, this looks like Forth (!), where you put a value on the
stack, and successive operations fiddle with the stack as a series of
Mark Carter wrote:
Could you briefly elaborate on what you mean by hybrid variables?
According to Google, hybrid in genetics means The offspring of
genetically dissimilar parents or stock, especially the offspring
produced by breeding plants or animals of different varieties, species,
I was hoping that the examples I requested would be examples of
particular control constructs or extensions to the language's syntax
and semantics. Though I admit that such things are possible in lisp,
I suspect that their utility is minimal.
On Sep 20, 2005, at 4:55 PM, Glynn Clements
. . .
I was hoping that the examples I requested would be examples of
particular control constructs or extensions to the language's syntax
and semantics. Though I admit that such things are possible in lisp,
I suspect that their utility is minimal.
As to utility, quite the contrary,
On Tuesday 20 September 2005 16:50, John Goerzen wrote:
On the flip side, Parsec is really nice. I wonder how easy it would
be to make it parse [Word8] instead of String?
Isn't Parsec parameterized over the token type?
Or even a
FastPackedString? (And how easy it would be to get that
I don't deny that all of the things you mentioned are wonderful
indeed. I just wonder if they really could only be done in lisp or
even most conveniently. Many years ago I read a paper by Phil Wadler
about logic programing using a functional language. I think it was
called something
Bill Wood wrote:
As to utility, quite the contrary, I think. Offhand I can think of the
screamer package for Common Lisp, which provides non-deterministic
mechanisms for use in backtracking applications. For a while in the
80's there was practically a cottage industry implementing various
There's a big difference.
You can see you are doing something fishy, and the compiler
can too, and it can warn you.
-- Lennart
Michael Walter wrote:
Compare:
int *p=...;
int x=*p;
and:
let
p = ...
Just x = p
So actually, there is few difference between dereferencing a
Hi,
I've just started learning Haskell, and I must admit I'm finding it a
bit hard to get my head around the typing system...
If I wanted to represent Employees and Departments in a Haskell
program I could use data declarations like so:
data Employee = Emp ...
data Department = Dept ...
This
On 9/20/05, Karl Grapone [EMAIL PROTECTED] wrote:
What I want to be able to do is add and remove fields while the system
is running, I suppose via hs-plugins, and I should be prevented from,
for example, accidentally taking an employees first name and using it
as a departments address.
I know
65 matches
Mail list logo