RE: Global variables?

2003-02-05 Thread Simon Peyton-Jones
| Haskell 98 has never supported separate compilation. That's why we | have hi-boot files (or something similar). | | So, yes, I'd like to know how the language designers intend to support | separate compilation in the next version. H98 has nothing to say about the separate compilation; it's

Re: Global variables?

2003-02-05 Thread Fergus Henderson
On 05-Feb-2003, Simon Peyton-Jones [EMAIL PROTECTED] wrote: | Haskell 98 has never supported separate compilation. That's why we | have hi-boot files (or something similar). | | So, yes, I'd like to know how the language designers intend to support | separate compilation in the next

RE: Looking for large Haskell programs

2003-02-05 Thread Simon Marlow
PS: Approximately how many lines of code is GHC these days? ~78k lines of code, ~63k lines of comments in the compiler itself. The runtime has a further ~50k lines of C. Cheers, Simon ___ Haskell-Cafe mailing list [EMAIL PROTECTED]

Re: arrays and lamda terms

2003-02-05 Thread Claus Reinke
Right, I mean constant-steps, rather than single steps. Could you give an example to what you are describing? Sure. Just thought you'd like to play with the idea yourself first:-) If you limit beta-reduction to deal only with unary abstractions, there's little chance of deconstructing an

Re: arrays and lamda terms

2003-02-05 Thread Cagdas Ozgenc
Thanks for the example. It is quite sophisticated. I can see how you select an element randomly using the function parameters (it's cheating actually because lamda calculus will still reduce this it in steps, so it works for Haskell implementation because it does things smarter) One thing I

Re: Global variables?

2003-02-05 Thread Andrew J Bromage
G'day. On 05-Feb-2003, Simon Peyton-Jones [EMAIL PROTECTED] wrote: H98 has nothing to say about the separate compilation; it's an issue for the implementation. H98 indeed says nothing about separate compilation, and it is indeed an issue for the implementation. What H98 does is it defines

separate compilation [was Re: Global variables?]

2003-02-05 Thread Iavor S. Diatchki
hello, Andrew J Bromage wrote: ... What H98 does is it defines a language for which separate compilation is at best extremely difficult and at worst virtually impossible without extra information which is not part of H98 (such as GHC's hi-boot files). ... why do you think separate compilation

Re: separate compilation [was Re: Global variables?]

2003-02-05 Thread Andrew J Bromage
G'day all. On Wed, Feb 05, 2003 at 04:16:33PM -0800, Iavor S. Diatchki wrote: why do you think separate compilation is difficult to achieve in Haskell 98? Because of type inference over recursive module imports. Determining the type of a function may, in general, require inferring types

Re: separate compilation [was Re: Global variables?]

2003-02-05 Thread Jon Cast
Andrew J Bromage [EMAIL PROTECTED] wrote: G'day all. On Wed, Feb 05, 2003 at 04:16:33PM -0800, Iavor S. Diatchki wrote: why do you think separate compilation is difficult to achieve in Haskell 98? Because of type inference over recursive module imports. Determining the type of a

Re: separate compilation [was Re: Global variables?]

2003-02-05 Thread Andrew J Bromage
G'day all. On Wed, Feb 05, 2003 at 08:05:56PM -0600, Jon Cast wrote: I'm not sure I follow this. If you change the type of a value exported from a given module, that's a public change, no? And if you don't, why should re-compilation be needed? Consider this: module A where import B {-

Re: separate compilation [was Re: Global variables?]

2003-02-05 Thread Jon Cast
Andrew J Bromage [EMAIL PROTECTED] wrote: G'day all. On Wed, Feb 05, 2003 at 08:05:56PM -0600, Jon Cast wrote: I'm not sure I follow this. If you change the type of a value exported from a given module, that's a public change, no? And if you don't, why should re-compilation be needed?

Re: separate compilation [was Re: Global variables?]

2003-02-05 Thread Andrew J Bromage
G'day all. On Wed, Feb 05, 2003 at 09:28:05PM -0600, Jon Cast wrote: I think I see what you're saying. I still maintain, however, that, since you've changed the type of B.b (admittedly implicitly), and B.b is exported from B, that you've changed B's interface. There is a reason make is