[ ghc-Bugs-1115805 ] ghc-6.2.2 requires special configure flag...
Bugs item #1115805, was opened at 2005-02-03 22:19 Message generated for change (Comment added) made by simonmar You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032 Category: Build System Group: None Status: Open Resolution: None Priority: 5 Submitted By: Titus Brown (titus) Assigned to: Nobody/Anonymous (nobody) Summary: ghc-6.2.2 requires special configure flag... Initial Comment: To build from the source at http://www.haskell.org/ghc/download_ghc_622.html you need to add the --disable-hc-boot command to 'configure'. This isn't mentioned anywhere in the docs, and certainly isn't the default config ;). thanks, --titus (on Linux, no previous GHC install) -- Comment By: Simon Marlow (simonmar) Date: 2005-02-04 13:46 Message: Logged In: YES user_id=48280 The --disable-hc-boot option should not be required. What goes wrong if you don't have it? Also, you need GHC installed in order to build the sources. -- You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032 ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[ ghc-Bugs-1116210 ] GADT constructor constraints ignored
Bugs item #1116210, was opened at 2005-02-04 09:28 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032 Category: Compiler (Type checker) Group: 6.4 Status: Open Resolution: None Priority: 5 Submitted By: Wolfram Kahl (wolfram_kahl) Assigned to: Nobody/Anonymous (nobody) Summary: GADT constructor constraints ignored Initial Comment: Class constraints on GADT constructore appear to be ignored. I tried: data Expr :: * - * where Const :: Show a = a - Expr a Apply :: Fct a b - Expr a - Expr b and there is no way to define the expected constraint-less Show instance --- for details, see Expr0.lhs. -- You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032 ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[ ghc-Bugs-1116210 ] GADT constructor constraints ignored
Bugs item #1116210, was opened at 2005-02-04 09:28 Message generated for change (Comment added) made by wolfram_kahl You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032 Category: Compiler (Type checker) Group: 6.4 Status: Open Resolution: None Priority: 5 Submitted By: Wolfram Kahl (wolfram_kahl) Assigned to: Nobody/Anonymous (nobody) Summary: GADT constructor constraints ignored Initial Comment: Class constraints on GADT constructore appear to be ignored. I tried: data Expr :: * - * where Const :: Show a = a - Expr a Apply :: Fct a b - Expr a - Expr b and there is no way to define the expected constraint-less Show instance --- for details, see Expr0.lhs. -- Comment By: Wolfram Kahl (wolfram_kahl) Date: 2005-02-04 09:54 Message: Logged In: YES user_id=1212105 The expected solution would be that constrained constructors are translated into constructors with an additional dictionary argument, as sketched in Expr1a.lhs. -- Comment By: Wolfram Kahl (wolfram_kahl) Date: 2005-02-04 09:39 Message: Logged In: YES user_id=1212105 For a simpler example, see Expr1.lhs -- You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032 ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
[ ghc-Bugs-1115805 ] ghc-6.2.2 requires special configure flag...
Bugs item #1115805, was opened at 2005-02-03 14:19 Message generated for change (Comment added) made by titus You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032 Category: Build System Group: None Status: Open Resolution: None Priority: 5 Submitted By: Titus Brown (titus) Assigned to: Nobody/Anonymous (nobody) Summary: ghc-6.2.2 requires special configure flag... Initial Comment: To build from the source at http://www.haskell.org/ghc/download_ghc_622.html you need to add the --disable-hc-boot command to 'configure'. This isn't mentioned anywhere in the docs, and certainly isn't the default config ;). thanks, --titus (on Linux, no previous GHC install) -- Comment By: Titus Brown (titus) Date: 2005-02-04 09:10 Message: Logged In: YES user_id=23486 Without that flag, configure fails on not finding ghc. As it turns out, *with* the --disable flag compilation fails if you don't have ghc. So I don't understand how to download the ghc sources and compile it if you don't already have ghc. The documentation was silent on this point ;). I ended up installing an old RedHat RPM, compiling ghc, and then removing the RPM. So I'd recommend either describing how to compile ghc *from scratch* -- it's gotta be possible, right!? -- and linking that into the docs near the beginning, or stating bluntly that it's not easy and neophytes should just use a package! (FWIW, I installed under FreeBSD using ports and Debian using apt-get w/o a problem.) Sorry to be a pain, and apologies if I missed something somewhere - but I did spend about 30 minutes looking through the documentation couldn't figure out how to take the ghc-6.2.2 download and build it from scratch. -- Comment By: Simon Marlow (simonmar) Date: 2005-02-04 05:46 Message: Logged In: YES user_id=48280 The --disable-hc-boot option should not be required. What goes wrong if you don't have it? Also, you need GHC installed in order to build the sources. -- You can respond by visiting: https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032 ___ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
installing current binary distribution
Hi, I've installed ghc-6.3.20050202-i386-unknown-linux.tar.bz2 only to find out that gcc-3.4.1 seems to be hard-wired into this ghc: ghc-6.3.20050202: could not execute: gcc-3.4.1 Why is this so. Do I need to install from sources? My current gcc version is: gcc (GCC) 3.3.1 (SuSE Linux) Cheers Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Re: installing current binary distribution
Simon Marlow wrote: On 04 February 2005 12:23, Christian Maeder wrote: ghc-6.3.20050202: could not execute: gcc-3.4.1 This is because we currently configure the nightly builds to use gcc-3.4.1, and unfortunately that gets baked into the GHC binary. You can compile from source to get around this. Compiling from sources (in two hours) worked without problems. Thanks Christian ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
installing current binary distribution
Hi, I've installed ghc-6.3.20050202-i386-unknown-linux.tar.bz2 only to find out that gcc-3.4.1 seems to be hard-wired into this ghc: ghc-6.3.20050202: could not execute: gcc-3.4.1 Why is this so. Do I need to install from sources? My current gcc version is: gcc (GCC) 3.3.1 (SuSE Linux) Cheers Christian I had this problem once, and solved it simply by creating a symbolic link gcc-3.4.1 towards my version of gcc (3.2.2), and everything worked OK. Alain ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
[Haskell] RE: Implicit parameters:
| Sent: 19 January 2005 14:42 | Unbound implicit parameter (?global_counter::IORef a) | arising from use of `get_unique' at Test.hs:17:13-22 | | Is this a bug? Is there some reason why this is not possible? (and if it | is not possible | shouldn't the documentation be changed to reflect this)... Keean's program has made me realise (yet again) that implicit parameters are a bit different to class constraints. Consider module Main where main = let ?x = 5 in print foo foo = woggle 3 woggle :: (?x :: Int) = Int - Int woggle y = ?x + y GHC's current rules say that 'foo' is monomorphic, so we get foo :: Int but we also get an unbound top-level constraint (?x::Int). GHC emits a message like: Unbound implicit parameter (?x::Int) arising from use of `woggle' at ... The point is that THERE IS NO WAY FOR THIS CONSTRAINT TO GET BOUND, because we don't have a top-level binding form for implicit parameters. So it's stupid for 'foo' to be monomorphic. The situation is a bit different for class constraints: module Main where main = print fooC fooC = woggleC 3 woggleC :: Num a = a - a wogglec y = y+1 'fooC' is monomorphic, so we get foo :: a, with a top-level constraint (Num a); and the defaulting mechanism fixes a=Integer, so all is well. Even in the absence of monomorphism, we might get some other use of 'fooC' in the module which fixes fooC's type. So it's *not* stupid for foo to be monomorphic. Possible conclusions A) Emit an error message at the definition of foo, saying that it needs a type signature. B) Change the rule so that we always generalise over the implicit parameters of *top-level* definitions, even in definitions that fall under the MR. C) Change the rule so that we always generalise over implicit parameters, whether top-level or nested. I'll do (A) for now, I think, since it improves the error message. For those that care, there are quite extensive notes about generalisation and implicit parameters in GHC's source code, here: http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/ghc/compiler/typecheck /TcSimplify.lhs?rev=1.144 (search for Notes on implicit parameters). Interestingly, the notes argue for (C), but that's not what is currently implemented in GHC, for reasons I don't remember. Perhaps compatibility with other implementations. Simon | -Original Message- | From: [EMAIL PROTECTED] [mailto:glasgow-haskell-users- | [EMAIL PROTECTED] On Behalf Of Keean Schupke | Sent: 19 January 2005 14:42 | To: glasgow-haskell-users@haskell.org | Subject: Implicit parameters: | | Question regarding implicit parameters... The GHC manual says: | | Dynamic binding constraints behave just like other type class | constraints in that they are automatically propagated. | | But the following code produces an error: | | - | | main = do |var - newIORef (0::Int) |let ?global_counter = var in f | | | f = do |a - get_unique |putStr (showInt a \n) |b - get_unique |putStr (showInt b \n) |c - get_unique |putStr (showInt c \n) | | | get_unique :: (?global_counter :: IORef Int) = IO Int | get_unique = readIORef ?global_counter | | -- | | If (?global_counter :: IORef Int) were a class constraint the type | signature | for 'f' could be derived automatically... but we get: | | Unbound implicit parameter (?global_counter::IORef a) | arising from use of `get_unique' at Test.hs:17:13-22 | | Is this a bug? Is there some reason why this is not possible? (and if it | is not possible | shouldn't the documentation be changed to reflect this)... | | Keean. | | ___ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] International M.Sc. Program in COMPUTATIONAL LOGIC
International M.Sc. Program in COMPUTATIONAL LOGIC The International Center for Computational Logic at the Technische Universitaet Dresden is offering a two-year study program, in English, leading to a master of science (M.Sc.) in computer science. This is part of the European Master's Program in Computational Logic, a distributed study program funded by the EU within Erasmus Mundus jointly run by the Free University of Bozen-Bolzano, the Technische Universitaet Dresden, the Universidade Nova de Lisboa, the Universidad Politecnica de Madrid and the Technische Universitaet Wien. Courses focus on logic and constraint programming, artificial intelligence, knowledge representation and reasoning, type theory, model theory, proof theory, equational reasoning, databases, natural language processing, planning and formal methods, among others. At the end of the programme a research master thesis has to be prepared. Prerequisites are a good knowledge of the basics of logic, and familiarity with mathematical reasoning. Knowledge of foundations of artificial intelligence and declarative programming is desirable. It is indispensable being fluent in English; German is not necessary at all, but there are facilities for studying it if desired. A bachelor in Computer Science, or equivalent degree, is required by the beginning of courses, in October 2005. Dresden, on the river Elbe, is one of the most important art cities of Germany. The economy is growing rapidly and Dresden is a top high-tech centre. AMD built the most modern chip factory in Europe, Infineon Technologies, Siemens and many other companies invest here. The possibilities of getting a job after the master are excellent. The University is very well equipped and the teachers/students ratio is close to 1. International contacts make it easy for interested students to continue pursuing a career in research. Deadline for applications is June 15, 2005, but applications are processed as they come. To apply, please send all the relevant documents by post to the address below. Further information is on the web at www.computational-logic.org including information about possible scholarships. Paper information material is available on request. Please give this message broad distribution. Sylvia Epp, secretary International Center for Computational Logic Technische Universitaet Dresden, D-01062 Dresden, Germany Tel: [49] (351) 463-38341Fax: [49] (351) 463-38342 email: [EMAIL PROTECTED] ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Possible Spam]RE: [Haskell] Job Posting (Looking for a few good functionalprogrammers)
David Bergman wrote: Yaron, This is probably out-of-topic, but: are you, or have you considered, using the .NET implementation of OCaml. I managed - painstakingly - to integrate it into a toy .NET project of mine, using .NET Direct3D, and see some virtue in that combination. I've been following OCaml/.NET integration, and it does seem potentially quite interesting, particularly in a business environment like ours where all of the traders use Windows machines. Which .NET implementation did you look at, OCamIL? Or F#? If only we Haskellers would be as lucky: both a fast implementation and an integrated one with a Real (trademark...) environment such as .NET :-( /David -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Yaron Minsky Sent: Thursday, February 03, 2005 3:28 PM To: S. Alexander Jacobson Cc: haskell@haskell.org Subject: Re: [Haskell] Job Posting (Looking for a few good functionalprogrammers) S. Alexander Jacobson wrote: Yaron, would you mind sharing the reason your firm chose OCaml over Haskell for your applications? I started the quantitative research group, and I knew OCaml very well, and didn't know Haskell except by reputation. As to the merits, it is my general impression that OCaml is faster, and is all around a more pragmatic language than Haskell. That's merely an ill-informed impression, but there it is. Yaron For others, I would love to organize an informal gathering of NYC Haskell programmers if there are any. If you are interested, please contact me and I'll try to make it happen. -Alex- __ S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com On Thu, 3 Feb 2005, Yaron Minsky wrote: Jane Street Capital (an affiliate of Henry Capital http://henrycapital.com) is a proprietary trading company located in Manhattan. The quantitative research department is responsible for analyzing, improving, and generating trading strategies. It's an open and informal environment (you can wear shorts and a t-shirt to the office), and the work is technically challenging, including systems work, machine learning, statistical analysis, parallel processing, and anything that crosses our path that looks useful. One unusual attraction of the job is that the large majority of our programming is done in OCaml. Pay is competitive, and we're a reasonably small company (around 85 employees), so advancement is pretty quick for someone who performs well. Here's what we're looking for: - Top-notch mathematical and analytic skills. We want people who can solve difficult technical problems, and think clearly and mathematically about all sorts of problems. - Strong programming skills. Pretty much all of our programming is in OCaml, so being a solid caml hacker is a big plus. But we're also interested in great programmers who we are convinced will be able to pick up OCaml quickly, so anyone with a high-level of proficiency with functional languages could be a good match. - Strong Unix/Linux skills --- We're looking for someone who knows their way around the standard unix tools, can write makefiles, shell scripts, etc. We use a beowulf cluster for compute-intensive jobs, so experience programming for and administering clusters is a big plus. If you're interested (or have any students you think might be a good match) and would be willing to relocate to New York, please send a cover-letter and resume to: [EMAIL PROTECTED] ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
RE: [Possible Spam]RE: [Haskell] Job Posting (Looking for a few goodfunctionalprogrammers)
Yaron wrote: I've been following OCaml/.NET integration, and it does seem potentially quite interesting, particularly in a business environment like ours where all of the traders use Windows machines. Which .NET implementation did you look at, OCamIL? Or F#? F# I wish there was an H#... Mondrian seemed to be a good initiative, but it is probably no longer supported, or? /David ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] Haskell binding to Berkeley DB?
our uniform workbench has a simpleDB binding to BDB. http://www.informatik.uni-bremen.de/uniform/wb/ The sources can be downloaded with cvs -d \ :pserver:[EMAIL PROTECTED]:/repository \ co uni and can be compiled with a recent ghc-6.2.2. The only documentation that I'm aware of is a top-level README file. Cheers Christian Dimitry Golubovsky wrote: Hi, Has anyone tried/been successful on developing such a binding? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: mathematical notation and functional programming
(Resurrecting a somewhat old thread...) On Fri, Jan 28, 2005 at 08:16:59PM +0100, Henning Thielemann wrote: On Fri, 28 Jan 2005, Chung-chieh Shan wrote: But I would hesitate with some of your examples, because they may simply illustrate that mathematical notation is a language with side effects -- see the third and fifth examples below. I can't imagine mathematics with side effects, because there is no order of execution. Not all side effects require an order of execution. For instance, dependence on the environment is a side effect (in the sense that it is related to a monad), but it does not depend on the order of execution. There are many other examples too, like random variables. O(n) which should be O(\n - n) (a remark by Simon Thompson in The Craft of Functional Programming) I don't think this can be right. Ken argued around this point, but here's a more direct argument: in f(x) = x + 1 + O(1/x) all the 'x's refer to the same variable; so you shouldn't go and capture the one inside the 'O'. This is established mathematical notation, it's very useful, and can be explained almost coherently. The one deficiency is that we should interpret 'O' as an asymptotically bounded function of... but that doesn't say what it is a function of and where we should take the asymptotics. But the patch you suggest doesn't really help. But what do you mean with 1/O(n^2) ? O(f) is defined as the set of functions bounded to the upper by f. So 1/O(f) has no meaning at the first glance. I could interpret it as lifting (1/) to (\f x - 1 / f x) (i.e. lifting from scalar reciprocal to the reciprocal of a function) and then as lifting from a reciprocal of a function to the reciprocal of each function of a set. Do you mean that? I think this is the only reasonable generalization from the established usage of, e.g., 2^(O(n)). In practice, this means that 1/O(n^2) is the set of functions asymptotically bounded below by 1/kn^2 for some k. Hm, (3+) is partial application, a re-ordered notation of ((+) 3), which is only possible if the omitted value is needed only once. But I see people writing f(.) + f(.-t) and they don't tell, whether this means (\x - f x) + (\x - f (x-t)) or (\x - f x + f (x-t)) Have you really seen people use that notation with either of those meanings? That's really horrible and inconsistent. I would have interpreted f(.) + f(.-t) as \x \y - f(x) + f(y-t) to be consistent with notation like .*. , which seems to mean \x \y - x*y in my experience. It seems to me that the dot is somehow more variable than variables, and a dot-containing expression represents a function where the function arguments are inserted where the dots are. Right. I don't know how to formalize this, but that doesn't mean it can't be done. Peace, Dylan signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: mathematical notation and functional programming
On Fri, Jan 28, 2005 at 08:16:59PM +0100, Henning Thielemann wrote: But what do you mean with 1/O(n^2) ? O(f) is defined as the set of functions bounded to the upper by f. So 1/O(f) has no meaning at the first glance. I could interpret it as lifting (1/) to (\f x - 1 / f x) (i.e. lifting from scalar reciprocal to the reciprocal of a function) and then as lifting from a reciprocal of a function to the reciprocal of each function of a set. Do you mean that? On Thu, Feb 03, 2005 at 08:16:49PM -0500, Dylan Thurston wrote: I think this is the only reasonable generalization from the established usage of, e.g., 2^(O(n)). In practice, this means that 1/O(n^2) is the set of functions asymptotically bounded below by 1/kn^2 for some k. Careful, 2^x is monotone increasing; 1/x is monotone decreasing. I said 1/O(n^2) is Omega(1/n^2) for a good reason. Inequalities are reversed by monotone decreasing functions. Likewise, sech(O(n^2)) = Omega(sech(n^2)), which is happily immune to the effects of sign. Usually f(n) = O(g(n)) is done as there exist N, K so that |f(n)| = K*|g(n)| for all n N so e.g. e^x \in O((-1)^{\chi_\mathbb{Q}}\cdot e^x) etc. Also, you're in a bit of trouble wrt. 2^(O(n)). O(2^n) is something rather different. O(2^n) has |f(n)| = K*|2^n| but 2^(O(n)) is 2^|f(n)| where |f(n)| = K*|n|. If K = 1/log(2) is sharp then then we have 2^|f(n)| = e^|n| \in omega(2^n). -- wli ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Haskell binding to Berkeley DB?
On 2005-02-04, Dimitry Golubovsky [EMAIL PROTECTED] wrote: Hi, Has anyone tried/been successful on developing such a binding? Funny you should ask. I released one yesterday. http://quux.org/devel/missingpy/html/MissingPy.AnyDBM.html#v%3AopenSpecificDBM (Download from http://quux.org/devel/missingpy/) That does go via Python, but Python uses the C binding so the performance hit should be minimal. Python is also highly portable and easy to install, so the convenience hit should also be minimal. Python is also a strongly typed language with exceptions that get propogated into Haskell, so the reliability hit should also be minimal :-) FWIW, this binding works with any *dbm that is supported by Python, which includes dbhash, (n)dbm, gdbm, and its own dumbdbm. I also wrote a StringDBM available in my MissingH library (quux.org/devel/missingh). It is slow and simple, using a HashTable as an in-memory representation and reading/writing it from disk as needed. If all you need is simple persistence, that may do it for you, without requiring any non-Haskell binding at all. If you need the other benefits of *dbm, MissingPy may be what you need. -- John ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe