From tfp2007 at shu.edu Fri Dec 1 13:36:46 2006 From: tfp2007 at shu.edu (TFP 2007) Date: Fri Dec 1 13:35:04 2006 Subject: [Hugs-users] First Call for Papers: TFP 2007, New York Message-ID: CALL FOR PAPERS Trends in Functional Programming 2007 New York, USA April 2-4, 2007 http://cs.shu.edu/tfp2007/ OR http://tltc.shu.edu/tfp2007/ The symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming languages, focusing on providing a broad view of current and future trends in Functional Programming. It aspires to be a lively environment for presenting the latest research results through acceptance by extended abstracts. A formal post-symposium refereeing process then selects the best articles presented at the symposium for publication in a high-profile volume. TFP 2007 is co-hosted by Seton Hall University and The City College of New York (CCNY) and will be held in New York, USA, April 2-4, 2007 at the CCNY campus. SCOPE OF THE SYMPOSIUM The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: Research Articles leading-edge, previously unpublished research work Position Articles on what new trends should or should not be Project Articles descriptions of recently started new projects Evaluation Articles what lessons can be drawn from a finished project Overview Articles summarizing work with respect to a trendy subject Articles must be original and not submitted for simultaneous publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or more experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Articles on the following subject areas are particularly welcomed: o Dependently Typed Functional Programming o Validation and Verification of Functional Programs o Debugging for Functional Languages o Functional Programming and Security o Functional Programming and Mobility o Functional Programming to Animate/Prototype/Implement Systems from Formal or Semi-Formal Specifications o Functional Languages for Telecommunications Applications o Functional Languages for Embedded Systems o Functional Programming Applied to Global Computing o Functional GRIDs o Functional Programming Ideas in Imperative or Object-Oriented Settings (and the converse) o Interoperability with Imperative Programming Languages o Novel Memory Management Techniques o Parallel/Concurrent Functional Languages o Program Transformation Techniques o Empirical Performance Studies o Abstract/Virtual Machines and Compilers for Functional Languages o New Implementation Strategies o any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2007 program chair, Marco T. Morazan, at tfp2007@shu.edu. SUBMISSION AND DRAFT PROCEEDINGS Acceptance of articles for presentation at the symposium is based on the review of extended abstracts (6 to 10 pages in length) by the program committee. Accepted abstracts are to be completed to full papers before the symposium for publication in the draft proceedings and on-line. Further details can be found at the TFP 2007 website. POST-SYMPOSIUM REFEREEING AND PUBLICATION In addition to the draft symposium proceedings, we intend to continue the TFP tradition of publishing a high-quality subset of contributions in the Intellect series on Trends in Functional Programming. IMPORTANT DATES Abstract Submission: February 1, 2007 Notification of Acceptance: February 20, 2007 Registration Deadline: March 2, 2007 Camera Ready Full Paper Due: March 9, 2007 TFP Symposium: April 2-4, 2007 PROGRAMME COMMITTEE John Clements California Polytechnic State University, USA Marko van Eekelen Radboud Universiteit Nijmegen, The Netherlands Benjamin Goldberg New York University, USA Kevin Hammond University of St. Andrews, UK Patricia Johann Rutgers University, USA Hans-Wolfgang Loidl Ludwig-Maximilians Universit?t M?nchen, Germany Rita Loogen Philipps-Universit?t Marburg, Germany Greg Michaelson Heriot-Watt University, UK Marco T. Moraz?n (Chair) Seton Hall University, USA Henrik Nilsson University of Nottingham, UK Chris Okasaki United States Military Academy at West Point, USA Rex Page University of Oklahoma, USA Ricardo Pena Universidad Complutense de Madrid, Spain Benjamin C. Pierce University of Pennsylvania, USA John Reppy University of Chicago, USA Ulrik P. Schultz University of Southern Denmark, Denmark Clara Segura Universidad Complutense de Madrid, Spain Jocelyn S?rot Universit? Blaise Pascal, France Zhong Shao Yale University, USA Olin Shivers Georgia Institute of Technology, USA Phil Trinder Heriot-Watt University, UK David Walker Princeton University, USA ORGANIZATION Symposium Chair: Henrik Nilsson, University of Nottingham, UK Programme Chair: Marco T. Morazan, Seton Hall University, USA Treasurer: Greg Michaelson, Heriot-Watt University, UK Local Arrangements: Marco T. Morazan, Seton Hall University, USA ************************************************************************************ Dr. Marco T. Morazan TFP 2007 Program Committee Chair http://tltc.shu.edu/tfp2007/ http://cs.shu.edu/tfp2007/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/hugs-users/attachments/20061201/4b72ea0c/attachment-0001.htm From Dave at haskell.org Sat Dec 9 06:40:42 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Sat Dec 9 06:38:29 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061209113827.87EDC32430D@www.haskell.org> I am learning Haskell by reading the book _The Haskell Road to Logic, Maths and Programming_ and by using Hugs98_plus_sep2006 which I have downloaded, built and installed on my AMD 64-bit OpenBSD system. The books says that Hugs will show the prompt 'Prelude>' initially until a script is loaded. The version of Hugs installed on my system shows initially the prompt 'Hugs>' and invoking several functions (primMinInt, primMaxInt, etc.) generate the error message to be undefined. Does Hugs still exhibit the behavior described in the book, or is there a problem with the newly ported Hugs on my system? /home/daf}hugs __ __ __ __ ____ ___ _________________________________________ || || || || || || ||__ Hugs 98: Based on the Haskell 98 standard ||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005 ||---|| ___|| World Wide Web: http://haskell.org/hugs || || Bugs: http://hackage.haskell.org/trac/hugs || || Version: September 2006 _________________________________________ Haskell 98 mode: Restart with command line option -98 to enable extensions Type :? for help Hugs> primMinInt ERROR - Undefined variable "primMinInt" Hugs> primMaxInt ERROR - Undefined variable "primMaxInt" Hugs> :names *prim*Int Hugs.Prelude.primCharToInt Hugs.Prelude.primCmpInt Hugs.Prelude.primDivInt Hugs.Prelude.primEqInt Hugs.Prelude.primIntegerToInt Hugs.Prelude.primMaxInt Hugs.Prelude.primMinInt Hugs.Prelude.primMinusInt Hugs.Prelude.primModInt Hugs.Prelude.primMulInt Hugs.Prelude.primNegInt Hugs.Prelude.primPlusInt Hugs.Prelude.primPmInt Hugs.Prelude.primQrmInt Hugs.Prelude.primQuotInt Hugs.Prelude.primRemInt Hugs.Prelude.primShowsInt (17 names listed) Hugs> primCharToInt 'a' ERROR - Undefined variable "primCharToInt" Hugs> Thanks, Dave Feustel From mhills at cs.uiuc.edu Sat Dec 9 10:12:39 2006 From: mhills at cs.uiuc.edu (Mark Hills) Date: Sat Dec 9 10:12:20 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209113827.87EDC32430D@www.haskell.org> References: <20061209113827.87EDC32430D@www.haskell.org> Message-ID: <457AD267.4040407@cs.uiuc.edu> I don't know the history behind changes of this nature, but it appears that these names are no longer directly exported. Instead, they are used by the system in the implementations of other functions which are visible. If you try typing :browse Hugs.Prelude at the Hugs> prompt, you will see that the names are not listed in those that are visible in this module. It seems like these names are mainly hooked in to support the implementation of type class functions (methods). For instance, since Int represents bounded integers, it is part of the type class Bounded. If you look in the list of names you get from browsing Hugs.Prelude, you will see that there are two names that look promising: minBound :: Bounded a => a -- class member maxBound :: Bounded a => a -- class member You can then use these to get the same results you would get from primMinInt and primMaxInt: Hugs> (minBound)::Int -2147483648 Hugs> (maxBound)::Int 2147483647 Similarly, with primCharToInt, Char is considered an Enum type, and there is a function named fromEnum. Hugs> fromEnum 'c' 99 Hugs> (toEnum 99)::Char 'c' I think in many cases you should be able to browse around the Prelude.hs file and figure out how to get access to the prim functions indirectly like this. For instance, the portions of the Prelude that correspond to the above are: primitive primMinInt, primMaxInt :: Int instance Bounded Int where minBound = primMinInt maxBound = primMaxInt primitive primCharToInt :: Char -> Int primitive primIntToChar :: Int -> Char instance Enum Char where toEnum = primIntToChar fromEnum = primCharToInt On my system at least, the Prelude.hs file with this information is in /usr/lib/hugs/packages/hugsbase/Hugs. I'm not sure where it would be on a Windows system, but I imagine there is a similar directory structure (maybe under Program Files\Hugs or some such). I hope this helps. Mark Dave@haskell.org wrote: > I am learning Haskell by reading the book _The Haskell Road to > Logic, Maths and Programming_ and by using Hugs98_plus_sep2006 which > I have downloaded, built and installed on my AMD 64-bit OpenBSD > system. The books says that Hugs will show the prompt 'Prelude>' > initially until a script is loaded. The version of Hugs installed > on my system shows initially the prompt 'Hugs>' and invoking several functions > (primMinInt, primMaxInt, etc.) generate the error message to be undefined. Does Hugs > still exhibit the behavior described in the book, or is there a > problem with the newly ported Hugs on my system? > > /home/daf}hugs > __ __ __ __ ____ ___ _________________________________________ > || || || || || || ||__ Hugs 98: Based on the Haskell 98 standard > ||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005 > ||---|| ___|| World Wide Web: http://haskell.org/hugs > || || Bugs: http://hackage.haskell.org/trac/hugs > || || Version: September 2006 _________________________________________ > > Haskell 98 mode: Restart with command line option -98 to enable extensions > > Type :? for help > Hugs> primMinInt > ERROR - Undefined variable "primMinInt" > Hugs> primMaxInt > ERROR - Undefined variable "primMaxInt" > Hugs> :names *prim*Int > Hugs.Prelude.primCharToInt Hugs.Prelude.primCmpInt Hugs.Prelude.primDivInt > Hugs.Prelude.primEqInt Hugs.Prelude.primIntegerToInt Hugs.Prelude.primMaxInt > Hugs.Prelude.primMinInt Hugs.Prelude.primMinusInt Hugs.Prelude.primModInt > Hugs.Prelude.primMulInt Hugs.Prelude.primNegInt Hugs.Prelude.primPlusInt Hugs.Prelude.primPmInt > Hugs.Prelude.primQrmInt Hugs.Prelude.primQuotInt Hugs.Prelude.primRemInt > Hugs.Prelude.primShowsInt > (17 names listed) > Hugs> primCharToInt 'a' > ERROR - Undefined variable "primCharToInt" > Hugs> > > > Thanks, > > Dave Feustel > _______________________________________________ > Hugs-Users mailing list > Hugs-Users@haskell.org > http://www.haskell.org/mailman/listinfo/hugs-users > From ndmitchell at gmail.com Sat Dec 9 10:32:22 2006 From: ndmitchell at gmail.com (Neil Mitchell) Date: Sat Dec 9 10:30:10 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <457AD267.4040407@cs.uiuc.edu> References: <20061209113827.87EDC32430D@www.haskell.org> <457AD267.4040407@cs.uiuc.edu> Message-ID: <404396ef0612090732k65a83d34k997ed93ce2dd2ba1@mail.gmail.com> Hi > The books says that Hugs will show the prompt 'Prelude>' > initially until a script is loaded. The version of Hugs installed > on my system shows initially the prompt 'Hugs>' Whether it says "Hugs" or "Prelude" isn't important, you can just ignore this. In Hugs> module the Prelude is in scope. As for the primitive operations, you shouldn't use them, ever. If you want to add two things use (+). They are merely an internal implementation detail, which I guess should never have been available to the user in the first place, and now isn't. I guess its a shame that a book that is only 2 years old is out of date, perhaps you might want to contact the authors to give them this information, so they can put it on a web page or something and save other people this confusion. Thanks Neil From bulat.ziganshin at gmail.com Sat Dec 9 12:44:00 2006 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Sat Dec 9 12:41:59 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209113827.87EDC32430D@www.haskell.org> References: <20061209113827.87EDC32430D@www.haskell.org> Message-ID: <25897415.20061209204400@gmail.com> Hello Dave, Saturday, December 9, 2006, 2:40:42 PM, you wrote: > (primMinInt, primMaxInt, etc.) generate the error message to be undefined. Does Hugs > still exhibit the behavior described in the book, or is there a > problem with the newly ported Hugs on my system? there is "A Tour of the Haskell Prelude", i recommend you to look there. http://haskell.org/haskellwiki/Learning_Haskell -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com From ross at soi.city.ac.uk Sat Dec 9 13:42:11 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 9 13:40:12 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <404396ef0612090732k65a83d34k997ed93ce2dd2ba1@mail.gmail.com> References: <20061209113827.87EDC32430D@www.haskell.org> <457AD267.4040407@cs.uiuc.edu> <404396ef0612090732k65a83d34k997ed93ce2dd2ba1@mail.gmail.com> Message-ID: <20061209184211.GA14840@soi.city.ac.uk> On Sat, Dec 09, 2006 at 03:32:22PM +0000, Neil Mitchell wrote: > As for the primitive operations, you shouldn't use them, ever. If you > want to add two things use (+). They are merely an internal > implementation detail, which I guess should never have been available > to the user in the first place, and now isn't. I guess its a shame > that a book that is only 2 years old is out of date, perhaps you might > want to contact the authors to give them this information, so they can > put it on a web page or something and save other people this > confusion. Yes, these were internal details of the Hugs implementation of the Prelude, and shouldn't have been exposed. They were only ever visible when the Prelude was the current module, and have been properly hidden since the November 2002 release. But since they existed only to implement Haskell 98, there are always Haskell 98 alternatives, e.g. minBound::Int for primMinInt, as already mentioned. From dfeustel at mindspring.com Sat Dec 9 14:20:41 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Sat Dec 9 14:18:28 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061209191826.3DFF4324257@www.haskell.org> > On Sat, Dec 09, 2006 at 03:32:22PM +0000, Neil Mitchell wrote: > > As for the primitive operations, you shouldn't use them, ever. If you > > want to add two things use (+). They are merely an internal > > implementation detail, which I guess should never have been available > > to the user in the first place, and now isn't. I guess its a shame > > that a book that is only 2 years old is out of date, perhaps you might > > want to contact the authors to give them this information, so they can > > put it on a web page or something and save other people this > > confusion. > > Yes, these were internal details of the Hugs implementation of the > Prelude, and shouldn't have been exposed. They were only ever visible > when the Prelude was the current module, and have been properly hidden > since the November 2002 release. > > But since they existed only to implement Haskell 98, there are always > Haskell 98 alternatives, e.g. minBound::Int for primMinInt, as already > mentioned. I have now determined to my satisfaction that Hugs98-plus-Sept2006 has initialization problems concerning Prelude.hs and the use of the -P option. These problems may be peculiar to the port of Hugs to OpenBSD. In any event I have started poking around with gdb to try to figure out what's going on. (I actually can induce hugs to recognize the various prim functions that I initially had trouble with, but it's clear that Prelude processing does not work exactly as documented.) Dave Feustel From ross at soi.city.ac.uk Sat Dec 9 15:53:11 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 9 15:50:59 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209191826.3DFF4324257@www.haskell.org> References: <20061209191826.3DFF4324257@www.haskell.org> Message-ID: <20061209205311.GA17260@soi.city.ac.uk> On Sat, Dec 09, 2006 at 07:20:41PM +0000, dfeustel@mindspring.com wrote: > I have now determined to my satisfaction that Hugs98-plus-Sept2006 has > initialization problems concerning Prelude.hs and the use of the -P option. > These problems may be peculiar to the port of Hugs to OpenBSD. In any event > I have started poking around with gdb to try to figure out what's going on. > (I actually can induce hugs to recognize the various prim functions that > I initially had trouble with, but it's clear that Prelude processing does > not work exactly as documented.) I guess that you're trying to add /usr/lib/hugs/packages/hugsbase/Hugs to the search path. This isn't supposed to work, because that directory isn't the root of a module hierarchy: each file X.hs in there contains a module Hugs.X, not X. It's the parent of that directory that is a module hierarchy, and it's already in the search path. If you're determined to use these prim* functions (though you shouldn't because they're internal, and there are Haskell 98 equivalents of each of them), you can approximate the pre-2002 Hugs Prelude with Hugs> :m Hugs.Prelude Hugs.Prelude> primMaxInt 2147483647 There are no guarantees that it will work in the future, though. From Dave at haskell.org Sat Dec 9 16:25:41 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Sat Dec 9 16:23:27 2006 Subject: [Hugs-users] Unload Module? Message-ID: <20061209212326.3BCCE3241F4@www.haskell.org> Is there any way to unload a module, effectively undoing the loading of that module? Thanks, Dave Feustel From ndmitchell at gmail.com Sat Dec 9 16:27:35 2006 From: ndmitchell at gmail.com (Neil Mitchell) Date: Sat Dec 9 16:25:22 2006 Subject: [Hugs-users] Unload Module? In-Reply-To: <20061209212326.3BCCE3241F4@www.haskell.org> References: <20061209212326.3BCCE3241F4@www.haskell.org> Message-ID: <404396ef0612091327t4ab0bcf7k9f2edcd57c26e496@mail.gmail.com> Hi Dave, > Is there any way to unload a module, > effectively undoing the loading of that module? ":load", or abbreviated to ":l" (without the quotes in both cases) will load the empty module into Scope, so that's probably what you are after. Thanks Neil From dfeustel at mindspring.com Sat Dec 9 16:38:37 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Sat Dec 9 16:36:23 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061209213622.2FE9132411B@www.haskell.org> > On Sat, Dec 09, 2006 at 07:20:41PM +0000, dfeustel@mindspring.com wrote: > > I have now determined to my satisfaction that Hugs98-plus-Sept2006 has > > initialization problems concerning Prelude.hs and the use of the -P option. > > These problems may be peculiar to the port of Hugs to OpenBSD. In any event > > I have started poking around with gdb to try to figure out what's going on. > > (I actually can induce hugs to recognize the various prim functions that > > I initially had trouble with, but it's clear that Prelude processing does > > not work exactly as documented.) > > I guess that you're trying to add /usr/lib/hugs/packages/hugsbase/Hugs > to the search path. The path above is part of the default search path for Prelude.hs. What I have discovered is that žugs, invoked with no arguments, initializes itself differently depending upon the presence or absence of Prelude.hs in the $HOME directory. With Prelude.hs *not* present in $HOME, I get the behavior described in the original post. When Prelude.hs *is* present in $HOME, then an error re loading Prelude.hs is reported, and primMinInt/primMaxInt/primMaxChar all work and the prompt is 'Hugs.Prelude>'. > This isn't supposed to work, because that directory > isn't the root of a module hierarchy: each file X.hs in there contains > a module Hugs.X, not X. It's the parent of that directory that is a > module hierarchy, and it's already in the search path. > > If you're determined to use these prim* functions (though you shouldn't > because they're internal, and there are Haskell 98 equivalents of each > of them), you can approximate the pre-2002 Hugs Prelude with > > Hugs> :m Hugs.Prelude > Hugs.Prelude> primMaxInt > 2147483647 > > There are no guarantees that it will work in the future, though. From ross at soi.city.ac.uk Sat Dec 9 16:59:25 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 9 16:57:12 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209213622.2FE9132411B@www.haskell.org> References: <20061209213622.2FE9132411B@www.haskell.org> Message-ID: <20061209215925.GA18889@soi.city.ac.uk> On Sat, Dec 09, 2006 at 09:38:37PM +0000, dfeustel@mindspring.com wrote: > What I have discovered is that ?ugs, invoked with no arguments, > initializes itself differently depending upon the presence or absence > of Prelude.hs in the $HOME directory. With Prelude.hs *not* present > in $HOME, I get the behavior described in the original post. When > Prelude.hs *is* present in $HOME, then an error re loading Prelude.hs > is reported, and primMinInt/primMaxInt/primMaxChar all work and the > prompt is 'Hugs.Prelude>'. You have a file called Prelude.hs containing a module Hugs.Prelude in your current directory. When Hugs starts, it loads Hugs.Prelude, which it finds in the default path, and then attempts to load Prelude from Prelude.hs (because . is at the front of the search path). However this file contains a module Hugs.Prelude, not the Prelude it was expecting, and initialization fails. The error message when Hugs finds a file to contain the wrong module could be better, though. From mhills at cs.uiuc.edu Sat Dec 9 17:17:09 2006 From: mhills at cs.uiuc.edu (Mark Hills) Date: Sat Dec 9 17:16:50 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209205311.GA17260@soi.city.ac.uk> References: <20061209191826.3DFF4324257@www.haskell.org> <20061209205311.GA17260@soi.city.ac.uk> Message-ID: <457B35E5.6010201@cs.uiuc.edu> Another useful option may be to just create a module with your own versions of the various prim functions. So, create something like this: module Prims where primMaxInt :: Int primMaxInt = maxBound primMinInt :: Int primMinInt = minBound primCharToInt :: Char -> Int primCharToInt c = fromEnum c primIntToChar :: Int -> Char primIntToChar n = toEnum etc... Then, just use this in whatever code you are writing: module MyFile where import Prims canAddOne :: Int -> Bool canAddOne n = if n < primMaxInt then True else False This way you should be able to use the code examples from the book fairly directly. Mark Ross Paterson wrote: > On Sat, Dec 09, 2006 at 07:20:41PM +0000, dfeustel@mindspring.com wrote: > >> I have now determined to my satisfaction that Hugs98-plus-Sept2006 has >> initialization problems concerning Prelude.hs and the use of the -P option. >> These problems may be peculiar to the port of Hugs to OpenBSD. In any event >> I have started poking around with gdb to try to figure out what's going on. >> (I actually can induce hugs to recognize the various prim functions that >> I initially had trouble with, but it's clear that Prelude processing does >> not work exactly as documented.) >> > > I guess that you're trying to add /usr/lib/hugs/packages/hugsbase/Hugs > to the search path. This isn't supposed to work, because that directory > isn't the root of a module hierarchy: each file X.hs in there contains > a module Hugs.X, not X. It's the parent of that directory that is a > module hierarchy, and it's already in the search path. > > If you're determined to use these prim* functions (though you shouldn't > because they're internal, and there are Haskell 98 equivalents of each > of them), you can approximate the pre-2002 Hugs Prelude with > > Hugs> :m Hugs.Prelude > Hugs.Prelude> primMaxInt > 2147483647 > > There are no guarantees that it will work in the future, though. > > _______________________________________________ > Hugs-Users mailing list > Hugs-Users@haskell.org > http://www.haskell.org/mailman/listinfo/hugs-users > From dfeustel at mindspring.com Sat Dec 9 18:11:21 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Sat Dec 9 18:09:06 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061209230905.1B0F1324118@www.haskell.org> > On Sat, Dec 09, 2006 at 09:38:37PM +0000, dfeustel@mindspring.com wrote: > > What I have discovered is that žugs, invoked with no arguments, > > initializes itself differently depending upon the presence or absence > > of Prelude.hs in the $HOME directory. With Prelude.hs *not* present > > in $HOME, I get the behavior described in the original post. When > > Prelude.hs *is* present in $HOME, then an error re loading Prelude.hs > > is reported, and primMinInt/primMaxInt/primMaxChar all work and the > > prompt is 'Hugs.Prelude>'. > > You have a file called Prelude.hs containing a module Hugs.Prelude in > your current directory. When Hugs starts, it loads Hugs.Prelude, which > it finds in the default path, the 'find' command does not find a file by the name of Hugs.Prelude anywhere in the Hugs98 tree or in /usr/local/lib/hugs, nor in the default path, as far as I can tell. There are, žowever, 5 different instances of Prelude.hs in the Hugs98 tree. Why is there more than 1 instance of Prelude.hs (with different contents to boot) in Hugs98 source? > and then attempts to load Prelude from > Prelude.hs (because . is at the front of the search path). However this > file contains a module Hugs.Prelude, not the Prelude it was expecting, > and initialization fails. Initialization does not fail. Hug terminates when initialization fails. Initialization takes a different path when it encounters Prelude.hs in either $HOME or . directories. The alternate initialization path makes hug work as the Haskell book describes on page 13. Where is the module Hugs.Prelude found during hugs initialization, if not in Prelude.hs? > The error message when Hugs finds a file to contain the wrong module > could be better, though. I agree. Perhaps some standardization of terminology would help too. Dave From mhills at cs.uiuc.edu Sat Dec 9 18:23:34 2006 From: mhills at cs.uiuc.edu (Mark Hills) Date: Sat Dec 9 18:23:14 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209230905.1B0F1324118@www.haskell.org> References: <20061209230905.1B0F1324118@www.haskell.org> Message-ID: <457B4576.2040704@cs.uiuc.edu> Module names are built reflecting the directory structure, with separate starting directories for different products. If you start Hugs and type :set, you will see something like this for the search path: Search path : -P.:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/packages/* So, each directory under lib/hugs/packages is added to the path, including (for instance) base and hugsbase. The hugsbase directory contains a Hugs directory, which contains a Prelude.hs file. Looking at the file, you will see that it says it defines module Hugs.Prelude, which makes sense since the file name is Hugs/Prelude.hs. Similarly with Data.Map, which is under the base directory in file Data/Map.hs. I only have two files named Prelude.hs, the one under base and the one under hugsbase. The one under base simply wraps the one under hugsbase (it imports it at the end), I'm assuming to allow the definitions to be Hugs-specific (since they use primitives) while still providing a standard location for the Prelude, in case you want to run your programs using a different Haskell system like GHC. Mark dfeustel@mindspring.com wrote: >> On Sat, Dec 09, 2006 at 09:38:37PM +0000, dfeustel@mindspring.com wrote: >> >>> What I have discovered is that ?ugs, invoked with no arguments, >>> initializes itself differently depending upon the presence or absence >>> of Prelude.hs in the $HOME directory. With Prelude.hs *not* present >>> in $HOME, I get the behavior described in the original post. When >>> Prelude.hs *is* present in $HOME, then an error re loading Prelude.hs >>> is reported, and primMinInt/primMaxInt/primMaxChar all work and the >>> prompt is 'Hugs.Prelude>'. >>> >> You have a file called Prelude.hs containing a module Hugs.Prelude in >> your current directory. When Hugs starts, it loads Hugs.Prelude, which >> it finds in the default path, >> > > the 'find' command does not find a file by the name of Hugs.Prelude anywhere > in the Hugs98 tree or in /usr/local/lib/hugs, nor in the default path, as far > as I can tell. There are, ?owever, 5 different instances of Prelude.hs in the > Hugs98 tree. Why is there more than 1 instance of Prelude.hs (with different > contents to boot) in Hugs98 source? > > >> and then attempts to load Prelude from >> Prelude.hs (because . is at the front of the search path). However this >> file contains a module Hugs.Prelude, not the Prelude it was expecting, >> and initialization fails. >> > > Initialization does not fail. Hug terminates when initialization fails. > Initialization takes a different path when it encounters Prelude.hs in > either $HOME or . directories. The alternate initialization path makes hug > work as the Haskell book describes on page 13. Where is the module Hugs.Prelude > found during hugs initialization, if not in Prelude.hs? > > >> The error message when Hugs finds a file to contain the wrong module >> could be better, though. >> > > I agree. Perhaps some standardization of terminology would help too. > > Dave > _______________________________________________ > Hugs-Users mailing list > Hugs-Users@haskell.org > http://www.haskell.org/mailman/listinfo/hugs-users > From ross at soi.city.ac.uk Sat Dec 9 18:35:25 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 9 18:33:12 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <20061209230905.1B0F1324118@www.haskell.org> References: <20061209230905.1B0F1324118@www.haskell.org> Message-ID: <20061209233525.GA20538@soi.city.ac.uk> On Sat, Dec 09, 2006 at 11:11:21PM +0000, dfeustel@mindspring.com wrote: > the 'find' command does not find a file by the name of Hugs.Prelude anywhere > in the Hugs98 tree or in /usr/local/lib/hugs, nor in the default path, as far > as I can tell. There are, ?owever, 5 different instances of Prelude.hs in the > Hugs98 tree. Why is there more than 1 instance of Prelude.hs (with different > contents to boot) in Hugs98 source? % find /usr/local/lib/hugs -name Prelude.hs | xargs grep ^module /usr/local/lib/hugs/packages/hugsbase/Hugs/Prelude.hs:module Hugs.Prelude ( /usr/local/lib/hugs/packages/base/Prelude.hs:module Prelude ( They are different modules, with the second (the Prelude, as defined in Haskell 98) importing the first (Hugs.Prelude, the internal Hugs implementation). The search path contains /usr/local/lib/hugs/packages/*, so when asked to load module A.B.C, Hugs looks for /usr/local/lib/hugs/packages/*/A/B/C.{hs,lhs} (section 2.2 of the Hugs User's Guide) The point is that if the file thus found does not describe itself as module A.B.C, the load will fail. Now plug Hugs.Prelude and Prelude into the above, and we get the behaviour you are seeing. The problem is that you have a file Prelude.hs in your search path that does not start with "module Prelude". From ross at soi.city.ac.uk Sat Dec 9 18:47:56 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 9 18:45:44 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 In-Reply-To: <457B4576.2040704@cs.uiuc.edu> References: <20061209230905.1B0F1324118@www.haskell.org> <457B4576.2040704@cs.uiuc.edu> Message-ID: <20061209234756.GB20538@soi.city.ac.uk> On Sat, Dec 09, 2006 at 05:23:34PM -0600, Mark Hills wrote: > [patient explanation of how Hugs finds hierarchical modules] > > I only have two files named Prelude.hs, the one under base and the one > under hugsbase. The one under base simply wraps the one under hugsbase > (it imports it at the end), I'm assuming to allow the definitions to be > Hugs-specific (since they use primitives) while still providing a > standard location for the Prelude, in case you want to run your programs > using a different Haskell system like GHC. Another reason for a separate Hugs.Prelude is that it exports some extra things. This is because Haskell 98 has the Prelude and some other library modules import each other, and Hugs does not support mutually recursive modules, so it simulates it by having the Prelude and the other modules import another module with the real definitions (Hugs.Prelude). Also, Prelude.hs is shared code with GHC, except for the imports (courtesy of cpp). From dfeustel at mindspring.com Sat Dec 9 19:51:54 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Sat Dec 9 19:49:39 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061210004937.B2E93324117@www.haskell.org> > On Sat, Dec 09, 2006 at 11:11:21PM +0000, dfeustel@mindspring.com wrote: > > the 'find' command does not find a file by the name of Hugs.Prelude anywhere > > in the Hugs98 tree or in /usr/local/lib/hugs, nor in the default path, as far > > as I can tell. There are, žowever, 5 different instances of Prelude.hs in the > > Hugs98 tree. Why is there more than 1 instance of Prelude.hs (with different > > contents to boot) in Hugs98 source? > > % find /usr/local/lib/hugs -name Prelude.hs | xargs grep ^module > /usr/local/lib/hugs/packages/hugsbase/Hugs/Prelude.hs:module Hugs.Prelude ( > /usr/local/lib/hugs/packages/base/Prelude.hs:module Prelude ( > > They are different modules, with the second (the Prelude, as defined > in Haskell 98) importing the first (Hugs.Prelude, the internal Hugs > implementation). The search path contains /usr/local/lib/hugs/packages/*, > so when asked to load module A.B.C, Hugs looks for As I read more of the Hugs documentation, I am getting the impression that the documentation terms are changing to reflect a change in the software organization. > > (section 2.2 of the Hugs User's Guide) The point is that if the file > thus found does not describe itself as module A.B.C, the load will fail. > Now plug Hugs.Prelude and Prelude into the above, and we get the behaviour > you are seeing. The problem is that you have a file Prelude.hs in your > search path that does not start with "module Prelude". The Prelude.hs in my $HOME is a copy of the Prelude.hs in packages/hugsbase/Hugs/Prelude.hs - the 65355 char version. (Note the difference in file sizes. It looks like the small Prelude.hs is just the Hugs.Prelude module.) find . -name Prelude.hs -ls 65355 Dec 8 18:51 ./packages/hugsbase/Hugs/Prelude.hs 4100 Dec 8 18:51 ./packages/base/Prelude.hs Dave From mhills at cs.uiuc.edu Sat Dec 9 18:23:34 2006 From: mhills at cs.uiuc.edu (Mark Hills) Date: Sat Dec 9 20:00:50 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061210010048.F3705324117@www.haskell.org> > Module names are built reflecting the directory structure, with separate > starting directories for different products. If you start Hugs and type > :set, you will see something like this for the search path: > > Search path : > -P.:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/packages/* > > So, each directory under lib/hugs/packages is added to the path, > including (for instance) base and hugsbase. The hugsbase directory > contains a Hugs directory, which contains a Prelude.hs file. Looking at > the file, you will see that it says it defines module Hugs.Prelude, > which makes sense since the file name is Hugs/Prelude.hs. Similarly with > Data.Map, which is under the base directory in file Data/Map.hs. > > I only have two files named Prelude.hs, the one under base and the one > under hugsbase. Same for me in /usr. I definitely got confused by the multiple instances of Prelude.hs in /usr and in Hugs98 source. I'm recovering. Thanks for the additional info (below). Dave > The one under base simply wraps the one under hugsbase > (it imports it at the end), I'm assuming to allow the definitions to be > Hugs-specific (since they use primitives) while still providing a > standard location for the Prelude, in case you want to run your programs > using a different Haskell system like GHC. > > Mark > > dfeustel@mindspring.com wrote: > >> On Sat, Dec 09, 2006 at 09:38:37PM +0000, dfeustel@mindspring.com wrote: > >> > >>> What I have discovered is that žugs, invoked with no arguments, > >>> initializes itself differently depending upon the presence or absence > >>> of Prelude.hs in the $HOME directory. With Prelude.hs *not* present > >>> in $HOME, I get the behavior described in the original post. When > >>> Prelude.hs *is* present in $HOME, then an error re loading Prelude.hs > >>> is reported, and primMinInt/primMaxInt/primMaxChar all work and the > >>> prompt is 'Hugs.Prelude>'. > >>> > >> You have a file called Prelude.hs containing a module Hugs.Prelude in > >> your current directory. When Hugs starts, it loads Hugs.Prelude, which > >> it finds in the default path, > >> > > > > the 'find' command does not find a file by the name of Hugs.Prelude anywhere > > in the Hugs98 tree or in /usr/local/lib/hugs, nor in the default path, as far > > as I can tell. There are, žowever, 5 different instances of Prelude.hs in the > > Hugs98 tree. Why is there more than 1 instance of Prelude.hs (with different > > contents to boot) in Hugs98 source? > > > > > >> and then attempts to load Prelude from > >> Prelude.hs (because . is at the front of the search path). However this > >> file contains a module Hugs.Prelude, not the Prelude it was expecting, > >> and initialization fails. > >> > > > > Initialization does not fail. Hug terminates when initialization fails. > > Initialization takes a different path when it encounters Prelude.hs in > > either $HOME or . directories. The alternate initialization path makes hug > > work as the Haskell book describes on page 13. Where is the module Hugs.Prelude > > found during hugs initialization, if not in Prelude.hs? > > > > > >> The error message when Hugs finds a file to contain the wrong module > >> could be better, though. > >> > > > > I agree. Perhaps some standardization of terminology would help too. > > > > Dave > > _______________________________________________ > > Hugs-Users mailing list > > Hugs-Users@haskell.org > > http://www.haskell.org/mailman/listinfo/hugs-users > > From dfeustel at mindspring.com Sat Dec 9 20:10:52 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Sat Dec 9 20:08:37 2006 Subject: [Hugs-users] Hugs98-plus-Sept2006 Message-ID: <20061210010835.E3981324160@www.haskell.org> > On Sat, Dec 09, 2006 at 05:23:34PM -0600, Mark Hills wrote: > > [patient explanation of how Hugs finds hierarchical modules] > > > > I only have two files named Prelude.hs, the one under base and the one > > under hugsbase. The one under base simply wraps the one under hugsbase > > (it imports it at the end), I'm assuming to allow the definitions to be > > Hugs-specific (since they use primitives) while still providing a > > standard location for the Prelude, in case you want to run your programs > > using a different Haskell system like GHC. > > Another reason for a separate Hugs.Prelude is that it exports some > extra things. This is because Haskell 98 has the Prelude and some > other library modules import each other, and Hugs does not support > mutually recursive modules, I ran into the mutual recursion error when I attempted to load the GS.hs provided for _The Haskell Road..._. The term generating the error was 'case' although there was no instance of that word in GS.hs. I still have a lot to learn about how Hugs works. Dave > so it simulates it by having the Prelude > and the other modules import another module with the real definitions > (Hugs.Prelude). Also, Prelude.hs is shared code with GHC, except for > the imports (courtesy of cpp). From Dave at haskell.org Mon Dec 11 11:08:30 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Mon Dec 11 11:06:09 2006 Subject: [Hugs-users] Start hugs without loading Prelude.hs? Message-ID: <20061211160608.6CF2D3241AE@www.haskell.org> Hi! I am now reading the Haskell 98 Revised Report. As I get a better understanding of the Prelude, I am wondering if there is a way to run hugs without the prelude file being loaded. Is that possible? Thanks, Dave Feustel From ross at soi.city.ac.uk Mon Dec 11 11:23:21 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Mon Dec 11 11:21:03 2006 Subject: [Hugs-users] Start hugs without loading Prelude.hs? In-Reply-To: <20061211160608.6CF2D3241AE@www.haskell.org> References: <20061211160608.6CF2D3241AE@www.haskell.org> Message-ID: <20061211162321.GA16789@soi.city.ac.uk> [BTW, your mailer is mangling From: lines] On Mon, Dec 11, 2006 at 04:08:30PM +0000, Dave@haskell.org wrote: > I am now reading the Haskell 98 Revised Report. Good plan. Reading chapters 6, 7 and 8 of the Report (not necessarily in that order) is a better way of getting acquainted with the Prelude than reading Prelude.hs from the Hugs source. > As I get a better understanding of the Prelude, > I am wondering if there is a way to run hugs > without the prelude file being loaded. Is that possible? You can't prevent it being loaded, but you can hide all the names it defines by writing a module module Empty where import Prelude() and loading that. (Not sure why you'd want to do that, though.) (If you still have that Prelude.hs you copied in the current directory, you should remove it.) From dfeustel at mindspring.com Mon Dec 11 11:23:21 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Mon Dec 11 11:57:17 2006 Subject: [Hugs-users] Start hugs without loading Prelude.hs? Message-ID: <20061211165715.8840932458C@www.haskell.org> > [BTW, your mailer is mangling From: lines] Thanks for the tip. What's getting mangled? > On Mon, Dec 11, 2006 at 04:08:30PM +0000, Dave@haskell.org wrote: > > I am now reading the Haskell 98 Revised Report. > > Good plan. Reading chapters 6, 7 and 8 of the Report (not necessarily > in that order) is a better way of getting acquainted with the Prelude > than reading Prelude.hs from the Hugs source. I am also reading the gentle intro to Haskell. I find the revised Haskell 98 report to be the clearest explanation (until MEGO and I have to take a break). Last night MEGO occurred when I started reading about patterns. I'll try again later today. > > As I get a better understanding of the Prelude, > > I am wondering if there is a way to run hugs > > without the prelude file being loaded. Is that possible? > > You can't prevent it being loaded, but you can hide all the names it > defines by writing a module > and loading that. (Not sure why you'd want to do that, though.) I'm trying to understand what primitive operators are built into hugs that are then used to load the Prelude. (I'm a bottom-up type of person). > (If you still have that Prelude.hs you copied in the current directory, > you should remove it.) What I still don't understand is why that file being present affects the way hugs runs when hugs says it is ignoring the file. It's looking to me like Haskell/Hugs98 is shaping up to be my next big self-education project. Dave From ross at soi.city.ac.uk Mon Dec 11 12:19:42 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Mon Dec 11 12:17:27 2006 Subject: [Hugs-users] Start hugs without loading Prelude.hs? In-Reply-To: <20061211165715.8840932458C@www.haskell.org> References: <20061211165715.8840932458C@www.haskell.org> Message-ID: <20061211171942.GB16789@soi.city.ac.uk> On Mon, Dec 11, 2006 at 04:23:21PM +0000, dfeustel@mindspring.com wrote: > > [BTW, your mailer is mangling From: lines] > > Thanks for the tip. What's getting mangled? When you start a new thread, your From: line is From: Dave@haskell.org, Feustel@haskell.org One of your replies to Mark Hills put his address into the From: line. > I'm trying to understand what primitive operators are built into hugs > that are then used to load the Prelude. (I'm a bottom-up type of person). I don't think that a bottom-up approach that goes through Hugs is the best way to learn Haskell (not that going through a compiler written in Haskell will be any better). You're better off taking the Haskell 98 Report as the baseline. > > (If you still have that Prelude.hs you copied in the current directory, > > you should remove it.) > > What I still don't understand is why that file being present affects > the way hugs runs when hugs says it is ignoring the file. The explanation is in the above messages of Mark Hills and myself; I can't think of another way to express it. Basically you put an internal Hugs module where it wasn't expected. Just don't do that. From dfeustel at mindspring.com Mon Dec 11 12:58:29 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Mon Dec 11 12:56:09 2006 Subject: [Hugs-users] Start hugs without loading Prelude.hs? Message-ID: <20061211175607.E280E324564@www.haskell.org> > On Mon, Dec 11, 2006 at 04:23:21PM +0000, dfeustel@mindspring.com wrote: > > > [BTW, your mailer is mangling From: lines] > > > > Thanks for the tip. What's getting mangled? > > When you start a new thread, your From: line is > > > One of your replies to Mark Hills put his address into the From: line. I am no longer using a standard email program. When I reply to a message, I contstruct the reply by manually editing the message being replied to. I make mistakes when I do that. One of the mistakes I make is forgetting to update the From: address. I'll try to be more careful. > > I'm trying to understand what primitive operators are built into hugs > > that are then used to load the Prelude. (I'm a bottom-up type of person). > > I don't think that a bottom-up approach that goes through Hugs is the > best way to learn Haskell (not that going through a compiler written > in Haskell will be any better). You're better off taking the Haskell > 98 Report as the baseline. That is my plan. I expect to buy copies of the revised report and the Haskell Road to Logic,... book I got through interlibrary loan. The revised report is available online, but I find reading a physical book handy when I want to take a break from the computer. > > > (If you still have that Prelude.hs you copied in the current directory, > > > you should remove it.) > > > > What I still don't understand is why that file being present affects > > the way hugs runs when hugs says it is ignoring the file. > > The explanation is in the above messages of Mark Hills and myself; I > can't think of another way to express it. Basically you put an internal > Hugs module where it wasn't expected. Just don't do that. At some point I am going to fix that problem in my copy of hugs. Dave Feustel From Dave at haskell.org Sat Dec 16 21:16:13 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Sat Dec 16 21:13:36 2006 Subject: [Hugs-users] Pocket Guide to Haskell Message-ID: <20061217021335.1B5383241FC@www.haskell.org> Is there available an O'Reilly-like Pocket Guide to Haskell that lists all the builtin functions and those defined in Prelude.hs? Thanks, Dave Feustel From ndmitchell at gmail.com Sat Dec 16 21:43:54 2006 From: ndmitchell at gmail.com (Neil Mitchell) Date: Sat Dec 16 21:41:17 2006 Subject: [Hugs-users] Pocket Guide to Haskell In-Reply-To: <20061217021335.1B5383241FC@www.haskell.org> References: <20061217021335.1B5383241FC@www.haskell.org> Message-ID: <404396ef0612161843v20e0d68aj978cdcd6266d5461@mail.gmail.com> Hi Dave, > Is there available an O'Reilly-like Pocket Guide to Haskell that > lists all the builtin functions and those defined in Prelude.hs? You'll probably get better/faster answers if you ask Haskell questions on haskell-cafe -at- haskell.org, and save this email list for questions that are Hugs specific. I'm not entirely sure what you are after, but there is complete documentation for all functions in the Prelude: http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html And you can search for functions as well: http://haskell.org/hoogle/?q=Prelude Thanks Neil From bulat.ziganshin at gmail.com Sun Dec 17 06:46:02 2006 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Sun Dec 17 07:35:37 2006 Subject: [Hugs-users] Pocket Guide to Haskell In-Reply-To: <20061217021335.1B5383241FC@www.haskell.org> References: <20061217021335.1B5383241FC@www.haskell.org> Message-ID: <971316190.20061217144602@gmail.com> Hello Dave, Sunday, December 17, 2006, 5:16:13 AM, you wrote: > Is there available an O'Reilly-like Pocket Guide to Haskell that > lists all the builtin functions and those defined in Prelude.hs? http://undergraduate.csse.uwa.edu.au/units/230.301/lectureNotes/tourofprelude.html it is mentioned on "Learning Haskell" wikipage -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com From Dave at haskell.org Mon Dec 18 20:41:15 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Mon Dec 18 20:38:30 2006 Subject: [Hugs-users] hugs docs Message-ID: <20061219013829.BE7CA3242B2@www.haskell.org> What software is used to convert the .xml and .sgml files in the Hugs docs directory to something (pdf?) readable? Thanks, Dave Feustel From sven.panne at aedion.de Tue Dec 19 03:16:35 2006 From: sven.panne at aedion.de (Sven Panne) Date: Tue Dec 19 03:13:52 2006 Subject: [Hugs-users] hugs docs In-Reply-To: <20061219013829.BE7CA3242B2@www.haskell.org> References: <20061219013829.BE7CA3242B2@www.haskell.org> Message-ID: <200612190916.35954.sven.panne@aedion.de> Am Dienstag, 19. Dezember 2006 02:41 schrieb Dave@haskell.org, Feustel@haskell.org: > What software is used to convert the .xml and .sgml files in the > Hugs docs directory to something (pdf?) readable? {docbook,db}2{html,dvi,pdf,ps}, depending on what should be converted and which tools are available. In your case: Either docbook2pdf or db2pdf. For GHC we use a combination of xsltproc/fop/xmltex/dvips. Cheers, S. From dfeustel at mindspring.com Tue Dec 19 05:26:57 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Tue Dec 19 05:24:12 2006 Subject: [Hugs-users] hugs docs Message-ID: <20061219102410.DA289324155@www.haskell.org> Am Dienstag, 19. Dezember 2006 02:41 schrieb Dave@haskell.org, > Feustel@haskell.org: > > What software is used to convert the .xml and .sgml files in the > > Hugs docs directory to something (pdf?) readable? > > {docbook,db}2{html,dvi,pdf,ps}, depending on what should be converted and > which tools are available. In your case: Either docbook2pdf or db2pdf. > > For GHC we use a combination of xsltproc/fop/xmltex/dvips. > > Cheers, > S. Not all of the software you mention is installed on my computer. I will google for the missing programs. Many Thanks for the info, Dave Feustel From Dave at haskell.org Wed Dec 27 17:10:50 2006 From: Dave at haskell.org (Dave@haskell.org) Date: Wed Dec 27 17:07:37 2006 Subject: [Hugs-users] graphics Message-ID: <20061227220736.710183242D5@www.haskell.org> Do soe.hs based graphics work in hugs98? I am getting one error after another just trying to get the soe module to load. Thanks, Dave Feustel From ross at soi.city.ac.uk Wed Dec 27 17:58:03 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Wed Dec 27 17:54:53 2006 Subject: [Hugs-users] graphics In-Reply-To: <20061227220736.710183242D5@www.haskell.org> References: <20061227220736.710183242D5@www.haskell.org> Message-ID: <20061227225803.GA23585@soi.city.ac.uk> On Wed, Dec 27, 2006 at 10:10:50PM +0000, Dave@haskell.org wrote: > Do soe.hs based graphics work in hugs98? > I am getting one error after another just trying > to get the soe module to load. I works for me (but the module is called Graphics.SOE rather than SOEGraphics). What errors do you get? (If you've copied the module to the current directory, it's not going to work.) From dfeustel at mindspring.com Wed Dec 27 18:13:43 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Wed Dec 27 18:10:30 2006 Subject: [Hugs-users] graphics Message-ID: <20061227231029.128F2324231@www.haskell.org> > On Wed, Dec 27, 2006 at 10:10:50PM +0000, Dave@haskell.org wrote: > > Do soe.hs based graphics work in hugs98? > > I am getting one error after another just trying > > to get the soe module to load. > > I works for me (but the module is called Graphics.SOE rather than > SOEGraphics). What errors do you get? (If you've copied the module > to the current directory, it's not going to work.) I had done that. I will delete the file from my local directory. I had done an install of hugs98 into /usr/local/lib/hugs but I notice that almost none of the hugs98 packages got copied into /usr... So I set HUGSDIR=path/to/packages/in/my/user/account. I keep getting new "not found" errors for include files pulled in by the soe.hs file. I'm now reading Hudak's book _The Haskell School of Expression_ and finding it very helpful. I've just got into the "simple graphics" and I thought I would try it out. I think the problem I'm having is that the includes in soe are for old-style libraries and the files to be included are not found. I'm slowly starting to try to figure out what's going on with the includes since that seems to be where the problem lies. From ross at soi.city.ac.uk Thu Dec 28 19:27:20 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Thu Dec 28 19:24:07 2006 Subject: [Hugs-users] graphics In-Reply-To: <20061227231029.128F2324231@www.haskell.org> References: <20061227231029.128F2324231@www.haskell.org> Message-ID: <20061229002720.GA21435@soi.city.ac.uk> On Wed, Dec 27, 2006 at 11:13:43PM +0000, dfeustel@mindspring.com wrote: > I had done an install of hugs98 into /usr/local/lib/hugs but I notice > that almost none of the hugs98 packages got copied into /usr... > So I set HUGSDIR=path/to/packages/in/my/user/account. The X11 and HGL packages won't be built if the system you built Hugs on lacks an X11 build environment (check hugs98/packages/X11/X11.buildinfo). (Similarly OpenGL, GLUT, OpenAL, ALUT.) But at least a dozen packages should be built and installed in all cases. You could set HUGSDIR=.../hugs98/hugsdir but the packages in there should all be installed by make install. Pointing at the top-level source directory gets you the unprocessed source files, which won't work. > I keep getting new "not found" errors for include files pulled in > by the soe.hs file. I presume you mean imports rather that includes. Perhaps you could post some of what happens. From dfeustel at mindspring.com Thu Dec 28 19:27:20 2006 From: dfeustel at mindspring.com (dfeustel@mindspring.com) Date: Thu Dec 28 19:55:57 2006 Subject: [Hugs-users] graphics Message-ID: <20061229005555.E34E1324191@www.haskell.org> Ross wrote: > On Wed, Dec 27, 2006 at 11:13:43PM +0000, dfeustel@mindspring.com wrote: > > I had done an install of hugs98 into /usr/local/lib/hugs but I notice > > that almost none of the hugs98 packages got copied into /usr... > > So I set HUGSDIR=path/to/packages/in/my/user/account. > > The X11 and HGL packages won't be built if the system you built Hugs on > lacks an X11 build environment (check hugs98/packages/X11/X11.buildinfo). > (Similarly OpenGL, GLUT, OpenAL, ALUT.) But at least a dozen packages > should be built and installed in all cases. > > You could set HUGSDIR=.../hugs98/hugsdir but the packages in there > should all be installed by make install. Pointing at the top-level > source directory gets you the unprocessed source files, which won't work. > > > I keep getting new "not found" errors for include files pulled in > > by the soe.hs file. > > I presume you mean imports rather that includes. Perhaps you could > post some of what happens. I committed a couple of the sins you mentioned above. I wound up deleting the Hugs98-sept-2006 which I had built and installing the prebuilt OpenBSD package of Hugs98-03.2005. A lot of things started working. I found the hugs98 demos directory and all the graphics programs worked. I think I am starting to get the hang of Hugs98. :-) From horng_twu_lihn at merck.com Fri Dec 29 10:39:49 2006 From: horng_twu_lihn at merck.com (Lihn, Steve) Date: Fri Dec 29 10:36:50 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <20061229005555.E34E1324191@www.haskell.org> Message-ID: <6BD267D89E66B9499514F119920E583C01409473@usctmx1110.merck.com> Hi, I am new to the Hugs community. I am drawn to hugs due to perl6's success of bootstrapping from hugs. I am coming from the web development side, so the first thing I am thinking doing is of course, doing some cgi stuff with hugs. It seems that Network.CGI is missing from Hugs Sep 2006 release. I wonder if there is any reason? I also find very little on-line tutorial on how to use each of these standard(?) modules. Can someone point me to the right place? Thanks, Steve Lihn ------------------------------------------------------------------------------ Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as Banyu - direct contact information for affiliates is available at http://www.merck.com/contact/contacts.html) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. ------------------------------------------------------------------------------ From ndmitchell at gmail.com Fri Dec 29 11:15:25 2006 From: ndmitchell at gmail.com (Neil Mitchell) Date: Fri Dec 29 11:12:07 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <6BD267D89E66B9499514F119920E583C01409473@usctmx1110.merck.com> References: <20061229005555.E34E1324191@www.haskell.org> <6BD267D89E66B9499514F119920E583C01409473@usctmx1110.merck.com> Message-ID: <404396ef0612290815q7a13eb2fy5daf8264a215d8e0@mail.gmail.com> Hi Steve, > I am new to the Hugs community. I am drawn to hugs due to perl6's > success of bootstrapping from hugs. I think what you are probably thinking of is GHC, which is what Pugs is written using. Pugs cannot be run under Hugs, it uses some GHC extensions. However, if you are just going to do "normal" haskell development, learning the language etc, Hugs is a fine choice to get started with. > I am coming from the web development side, so the first thing I am > thinking doing is of course, doing some cgi stuff with hugs. It seems > that Network.CGI is missing from Hugs Sep 2006 release. I wonder if > there is any reason? Windows/Linux? If Windows did you pick WinHugs or MinHugs? My copy of WinHugs has it installed, not sure what other options/packages have it though. Thanks Neil From horng_twu_lihn at merck.com Fri Dec 29 15:48:42 2006 From: horng_twu_lihn at merck.com (Lihn, Steve) Date: Fri Dec 29 15:45:53 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <404396ef0612290815q7a13eb2fy5daf8264a215d8e0@mail.gmail.com> Message-ID: <6BD267D89E66B9499514F119920E583C014094A3@usctmx1110.merck.com> Neil, My interest is learning Haskell. Not much to do with Pugs at this point. My OS is redhat linux. There is no binary build for it. So I pulled the linux source release. Did a "make" with prefix $HOME/hugs. Then "make install". Runhugs is under $HOME/hugs/bin. I also installed WinHugs. I checked under packages/network/Network. There are only BSD.hs, Socket.hs, URI.hs, but no CGI.hs? In fact, keyword search CGI on *.hs under packages/ yields nothing on both linux and Windows. Steve -----Original Message----- From: Neil Mitchell [mailto:ndmitchell@gmail.com] > I am new to the Hugs community. I am drawn to hugs due to perl6's > success of bootstrapping from hugs. I think what you are probably thinking of is GHC, which is what Pugs is written using. Pugs cannot be run under Hugs, it uses some GHC extensions. However, if you are just going to do "normal" haskell development, learning the language etc, Hugs is a fine choice to get started with. > I am coming from the web development side, so the first thing I am > thinking doing is of course, doing some cgi stuff with hugs. It seems > that Network.CGI is missing from Hugs Sep 2006 release. I wonder if > there is any reason? Windows/Linux? If Windows did you pick WinHugs or MinHugs? My copy of WinHugs has it installed, not sure what other options/packages have it though. Thanks Neil ------------------------------------------------------------------------------ Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as Banyu - direct contact information for affiliates is available at http://www.merck.com/contact/contacts.html) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. ------------------------------------------------------------------------------ From ndmitchell at gmail.com Sat Dec 30 07:26:10 2006 From: ndmitchell at gmail.com (Neil Mitchell) Date: Sat Dec 30 07:22:50 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <6BD267D89E66B9499514F119920E583C014094A3@usctmx1110.merck.com> References: <404396ef0612290815q7a13eb2fy5daf8264a215d8e0@mail.gmail.com> <6BD267D89E66B9499514F119920E583C014094A3@usctmx1110.merck.com> Message-ID: <404396ef0612300426y3997730cj40464c8ed29c584d@mail.gmail.com> Hi Steve, > I also installed WinHugs. I checked under packages/network/Network. > There are only BSD.hs, Socket.hs, URI.hs, but no CGI.hs? In fact, > keyword search CGI on *.hs under packages/ yields nothing on both linux > and Windows. Not sure what has happened... I checked and Network.CGI is in WinHugs May 2006, but not Sep 2006. The solution to this is to install the May 2006 version (http://cvs.haskell.org/Hugs/downloads/2006-05/WinHugs-May2006.exe) then reinstall the Sep 2006 edition over the top of it, in the same directory. As to why Network.CGI is no longer available, I have absolutely no idea. Since it seems to have disappeared on both Hugs and WinHugs it doesn't sound like its my fault. I can only guess either it got removed from the library (bad) or got dropped from some install file so is missing from Hugs (not great, but easily fixable). I guess only Ross will know about this one. Thanks Neil From sven.panne at aedion.de Sat Dec 30 07:37:32 2006 From: sven.panne at aedion.de (Sven Panne) Date: Sat Dec 30 07:34:12 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <404396ef0612300426y3997730cj40464c8ed29c584d@mail.gmail.com> References: <404396ef0612290815q7a13eb2fy5daf8264a215d8e0@mail.gmail.com> <6BD267D89E66B9499514F119920E583C014094A3@usctmx1110.merck.com> <404396ef0612300426y3997730cj40464c8ed29c584d@mail.gmail.com> Message-ID: <200612301337.32879.sven.panne@aedion.de> Am Samstag, 30. Dezember 2006 13:26 schrieb Neil Mitchell: > Hi Steve, > > > I also installed WinHugs. I checked under packages/network/Network. > > There are only BSD.hs, Socket.hs, URI.hs, but no CGI.hs? In fact, > > keyword search CGI on *.hs under packages/ yields nothing on both linux > > and Windows. > > Not sure what has happened... [...] The answer is here: > Mon Aug 14 02:56:52 PDT 2006 bringert@cs.chalmers.se > * Removed Network.CGI from the network package. A backwards-compatible > new Network.CGI is available in the cgi package. > > R ./Network/CGI.hs > M ./network.cabal -2 +2 > M ./package.conf.in -1 > _______________________________________________ > Cvs-libraries mailing list > Cvs-libraries@haskell.org > http://www.haskell.org/mailman/listinfo/cvs-libraries So we probably have to hook the cgi package into Hugs' build system, at least the toplevel Makefile has to be modified (LIBRARIESDIRS) plus the list of packages at the end of convert_libraries. Not sure if this is enough... Hmmm, this redundancy is a bit ugly. Cheers, S. From ross at soi.city.ac.uk Sat Dec 30 15:11:48 2006 From: ross at soi.city.ac.uk (Ross Paterson) Date: Sat Dec 30 15:08:49 2006 Subject: [Hugs-users] Network.CGI missing in Hugs In-Reply-To: <200612301337.32879.sven.panne@aedion.de> References: <404396ef0612290815q7a13eb2fy5daf8264a215d8e0@mail.gmail.com> <6BD267D89E66B9499514F119920E583C014094A3@usctmx1110.merck.com> <404396ef0612300426y3997730cj40464c8ed29c584d@mail.gmail.com> <200612301337.32879.sven.panne@aedion.de> Message-ID: <20061230201148.GA15883@soi.city.ac.uk> On Sat, Dec 30, 2006 at 01:37:32PM +0100, Sven Panne wrote: > So we probably have to hook the cgi package into Hugs' build system, at least > the toplevel Makefile has to be modified (LIBRARIESDIRS) plus the list of > packages at the end of convert_libraries. Not sure if this is enough... Not possible, unfortunately: the cgi package won't work with Hugs because Hugs lacks one of the functions it uses. From tfp2007 at shu.edu Sun Dec 31 12:19:44 2006 From: tfp2007 at shu.edu (TFP 2007) Date: Sun Dec 31 12:16:32 2006 Subject: [Hugs-users] Second Call for Papers: TFP 2007, New York, USA Message-ID: CALL FOR PAPERS Trends in Functional Programming 2007 New York, USA April 2-4, 2007 http://cs.shu.edu/tfp2007/ The symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming languages, focusing on providing a broad view of current and future trends in Functional Programming. It aspires to be a lively environment for presenting the latest research results through acceptance by extended abstracts. A formal post-symposium refereeing process then selects the best articles presented at the symposium for publication in a high-profile volume. TFP 2007 is co-hosted by Seton Hall University and The City College of New York (CCNY) and will be held in New York, USA, April 2-4, 2007 at the CCNY campus. SCOPE OF THE SYMPOSIUM The symposium recognizes that new trends may arise through various routes. As part of the Symposium's focus on trends we therefore identify the following five article categories. High-quality articles are solicited in any of these categories: Research Articles leading-edge, previously unpublished research work Position Articles on what new trends should or should not be Project Articles descriptions of recently started new projects Evaluation Articles what lessons can be drawn from a finished project Overview Articles summarizing work with respect to a trendy subject Articles must be original and not submitted for simultaneous publication to any other forum. They may consider any aspect of functional programming: theoretical, implementation-oriented, or more experience-oriented. Applications of functional programming techniques to other languages are also within the scope of the symposium. Articles on the following subject areas are particularly welcomed: o Dependently Typed Functional Programming o Validation and Verification of Functional Programs o Debugging for Functional Languages o Functional Programming and Security o Functional Programming and Mobility o Functional Programming to Animate/Prototype/Implement Systems from Formal or Semi-Formal Specifications o Functional Languages for Telecommunications Applications o Functional Languages for Embedded Systems o Functional Programming Applied to Global Computing o Functional GRIDs o Functional Programming Ideas in Imperative or Object-Oriented Settings (and the converse) o Interoperability with Imperative Programming Languages o Novel Memory Management Techniques o Parallel/Concurrent Functional Languages o Program Transformation Techniques o Empirical Performance Studies o Abstract/Virtual Machines and Compilers for Functional Languages o New Implementation Strategies o any new emerging trend in the functional programming area If you are in doubt on whether your article is within the scope of TFP, please contact the TFP 2007 program chair, Marco T. Morazan, at tfp2007@shu.edu. SUBMISSION AND DRAFT PROCEEDINGS Acceptance of articles for presentation at the symposium is based on the review of extended abstracts (6 to 10 pages in length) by the program committee. Accepted abstracts are to be completed to full papers before the symposium for publication in the draft proceedings and on-line. Further details can be found at the TFP 2007 website. POST-SYMPOSIUM REFEREEING AND PUBLICATION In addition to the draft symposium proceedings, we intend to continue the TFP tradition of publishing a high-quality subset of contributions in the Intellect series on Trends in Functional Programming. IMPORTANT DATES Abstract Submission: February 1, 2007 Notification of Acceptance: February 20, 2007 Registration Deadline: March 2, 2007 Camera Ready Full Paper Due: March 9, 2007 TFP Symposium: April 2-4, 2007 PROGRAMME COMMITTEE John Clements California Polytechnic State University, USA Marko van Eekelen Radboud Universiteit Nijmegen, The Netherlands Benjamin Goldberg New York University, USA Kevin Hammond University of St. Andrews, UK Patricia Johann Rutgers University, USA Hans-Wolfgang Loidl Ludwig-Maximilians Universit?t M?nchen, Germany Rita Loogen Philipps-Universit?t Marburg, Germany Greg Michaelson Heriot-Watt University, UK Marco T. Moraz?n (Chair) Seton Hall University, USA Henrik Nilsson University of Nottingham, UK Chris Okasaki United States Military Academy at West Point, USA Rex Page University of Oklahoma, USA Ricardo Pena Universidad Complutense de Madrid, Spain Benjamin C. Pierce University of Pennsylvania, USA John Reppy University of Chicago, USA Ulrik P. Schultz University of Southern Denmark, Denmark Clara Segura Universidad Complutense de Madrid, Spain Jocelyn S?rot Universit? Blaise Pascal, France Zhong Shao Yale University, USA Olin Shivers Georgia Institute of Technology, USA Phil Trinder Heriot-Watt University, UK David Walker Princeton University, USA ORGANIZATION Symposium Chair: Henrik Nilsson, University of Nottingham, UK Programme Chair: Marco T. Morazan, Seton Hall University, USA Treasurer: Greg Michaelson, Heriot-Watt University, UK Local Arrangements: Marco T. Morazan, Seton Hall University, USA ************************************************************************************ Dr. Marco T. Morazan TFP 2007 Program Committee Chair http://cs.shu.edu/tfp2007/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/hugs-users/attachments/20061231/e8fdbd8c/attachment-0001.htm