From sigbjorn_finne@hotmail.com Fri Dec 1 10:03:52 2000 Date: Fri, 1 Dec 2000 11:03:52 +0100 From: Sigbjorn Finne sigbjorn_finne@hotmail.com Subject: ERROR: Too many ForeignObjs open
Koen Claessen koen@.cs.chalmers.se writes:
> 
> Playing around with H/Direct, I often get the error:
> 
>   ERROR: Too many ForeignObjs open
> 
> I think that in my case, a simple garbage collect would get
> rid of a lot of these foreign objects. Is this true? In
> other words: would a garbage collect just before this error
> is generated help?

Yes, it often will & the code already does this if there are no
more empty slots in the table (by default, the table size is 10000
in a large Hugs configuration.)

Exhausting that limit is in my experience a sign that you're
accidentally holding on to too much external state (maybe
at a too fine-grained a level -- this was an issue in an earlier
version of the Com support libraries, for instance.) If you
need to have that many FOs live, upping the limit & recompiling
Hugs is the only way around the problem.

--sigbjorn






From will@misconception.org.uk Sat Dec 2 20:02:37 2000 Date: Sat, 2 Dec 2000 20:02:37 +0000 (GMT) From: Will Newton will@misconception.org.uk Subject: Hugs Feb2000
I don't know if there is a newer release than this, I can't find it.

In iomonad.c there are a number of places where fpos_t is cast to an int.
You cannot do this. It can be fixed by using ftell instead. On glibc
systems fpos_t is an aggregate type.




From uk1o@rz.uni-karlsruhe.de Mon Dec 4 11:13:21 2000 Date: Mon, 4 Dec 2000 12:13:21 +0100 From: Hannah Schroeter uk1o@rz.uni-karlsruhe.de Subject: Quick question
Hello!

On Wed, Nov 15, 2000 at 04:25:35PM +0100, Micha Pringle wrote:
> I'd like to make a simple infix expression evaluator.
> It should be able to support simple functions, such as *, +, -,/ as well as
> simpl recursion.
> That is, if I define
> G <- 19
> H <- G + 6
> evaluate G shoulr return 25
> Anyone know a good webpage for some info?

I don't know about a good web page. However nearly every book on
compiler design will handle examples like yours, usually using
parser and/or scanner generators.

You can do the same in Haskell, as there are parser generators (happy)
and scanner generators (alex) available.

For simple expressions as in your example you could evaluate the
commands immediately (if a command is either a variable assignment or
an expression), for example by having the parser for command *list*
return something like

type CommandListResult = [CommandResult]
type CommandResult = VariableState -> IO VariableState
type Variablestate = [(String, Value)]
type Value = Int -- or, if you have multiple, dynamic, value types,
  -- then it's data Value = ValInt Int | ...

However, if you want to define functions, do loop constructs, etc.,
you'll have a much easier way to build some syntax tree, perhaps
even transform it a bit, and then write an evaluator for the tree.

In interactive mode, you'll have to do it even a bit different.
Then, you must have a state containing
  function definitions
  variable contents
each command can define a function (altering the "function definitions"
part of the state), evaluate an expression (altering nothing except if
it calls a side-effecting function) or set a variable (altering the
"variable contents" part of the state). Probably, the function definitions
is an alist of name -> (list of formal parameters, some representation
of the function body)

Kind regards,

Hannah.



From jeff@galconn.com Mon Dec 4 17:39:16 2000 Date: Mon, 04 Dec 2000 09:39:16 -0800 From: Jeffrey R. Lewis jeff@galconn.com Subject: Hugs Feb2000
Will Newton wrote:

> I don't know if there is a newer release than this, I can't find it.
>
> In iomonad.c there are a number of places where fpos_t is cast to an int.
> You cannot do this. It can be fixed by using ftell instead. On glibc
> systems fpos_t is an aggregate type.

There is an interim build available for RedHat 7.0 systems.  You may find it
at:

http://www.galconn.com/hugs/hugs98-Jul2000-1.i386.rpm
http://www.galconn.com/hugs/hugs98-Jul2000-1.src.rpm

Note:  there wasn't a July release of hugs - that's simply a name to
distinguish it from the Feb release.

--Jeff



From landauer@scruznet.com Thu Dec 7 10:27:27 2000 Date: Thu, 7 Dec 2000 11:27:27 +0100 From: Doug Landauer landauer@scruznet.com Subject: Fwd: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
Hello, I was wondering whether you know if anyone has gotten
Hugs to compile on Mac OS 9, using CodeWarrior 6.  I am wanting
to get to know Haskell a little, and I have a copy of Paul
Hudak's book "The Haskell School of Expression", so I thought
it would be cool to run the book's examples on my Mac at home.

Unfortunately, I could not find any Mac port of the Haskell
Graphics Library.  So I decided it would make sense to
try to compile Hugs on the Mac.  Though I have known C
for decades (worked at Sun for 10 years, now Apple for just
over five), I'm a novice at using Codewarrior and at Mac
GUI programming in C.

It looks like Metrowerks may have changed some things
about the SIOUX interface and/or how stdarg.h works, in
between CW 5 and CW 6.   (I deduce this from my feeble
attempts at compiling and debugging a plain Hugs with CW 6.)

Once I can get a plain Hugs working with CW 6, I'm hoping to
try to figure out how to get it to interface to C, so I could
supply something like the Haskell Graphics Library and link
it in with Hugs.

So anyway, I have some specific questions:

 -- has anyone gotten Hugs to compile on Mac OS 9
     under CW 6?

 -- has anyone gotten Hugs+HGL to work on any Mac
     (OS 9 or OS X)?

 -- where should I look to figure out how the mac version
     of Hugs wants to interface with a C-based library?

 -- would it be easier to work with GHC or HBC instead of Hugs?
     (High speed is not a big concern of mine at the moment,
      I just want to learn and be able to play around with
      Haskell.)

Thanks in advance for any guidance you might be able to provide.
--
 -- Doug Landauer       landauer@scruznet.com (home)
                        landauer@apple.com (work)




From haberg@matematik.su.se Thu Dec 7 10:40:19 2000 Date: Thu, 7 Dec 2000 11:40:19 +0100 From: Hans Aberg haberg@matematik.su.se Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
>Hello, I was wondering whether you know if anyone has gotten
>Hugs to compile on Mac OS 9, using CodeWarrior 6.  I am wanting
>to get to know Haskell a little, and I have a copy of Paul
>Hudak's book "The Haskell School of Expression", so I thought
>it would be cool to run the book's examples on my Mac at home.

I have forwarded your letter to Johan Nordlander <nordland@cse.ogi.edu> who
is interested in implementing graphics on MacOS Hugs. -- I do not know
whether he is using CW Pro 5 or 6, though.

I'm & Pablo are currently using CW Pro 5, but feel free to use CW Pro 6 for
any contributions you make. -- If I continue using CW, I will probably
upgrade in the future.

-- If you are not currently subscribing to the Hugs-Users & Hugs_bugs
mailing lists, please do so <http://haskell.org/>, because the kind of info
you look for will be posted there.

> -- has anyone gotten Hugs to compile on Mac OS 9
>     under CW 6?

I would suggest you to try compile the sources I have for CW 5 under CW 6,
and see what breaks. Perhaps Johan has already done this. In these version,
I have implemented AppleEvent's using the AEGizmo's package, which might
interest you if you work at Apple -- I think a functional language light
Haskell might be suitable to describe the high level events.

> -- has anyone gotten Hugs+HGL to work on any Mac
>     (OS 9 or OS X)?

Yes, GCC is available under MacOS X, in Hugs compiles straight off, Atze
Dijkstra <atze@cs.uu.nl> reports to the Hugs-users mailing list. He is
currently working on GHC. There will (hopefully) be a interpreter GHCi
possibly replacing Hugs in the future(?), so this work in important.

-- I think myself that it is not really worth developing for pre-MacOS X,
and for MacOS X, it is perhaps better to simply use the freely available
GCC.

>It looks like Metrowerks may have changed some things
>about the SIOUX interface and/or how stdarg.h works, in
>between CW 5 and CW 6.   (I deduce this from my feeble
>attempts at compiling and debugging a plain Hugs with CW 6.)

The interface we use is that CW's SIOUX sources are duplicated and then
modified. So if it is not working under CW 6, it is probably because we
didn't put copies of all CW 5 SIOUX sources into the project.

Even though this is just a quick-fix way to develop the GUI, the components
could be used for developing an entirely new GUI. The SIOUX CW 5 windows
isn't a very good package, because it contains too many updates, isn't
thread safe. So it would be better to make an entirely new GUI. This is
probably an interesting topic, though time consuming, and I think one would
be better off developing a new GUI for MacOS X directly.

> -- where should I look to figure out how the mac version
>     of Hugs wants to interface with a C-based library?

There is something called HDirect, I think but I have never used it. When I
implemented the AppleEvent's via the AEGizmo's package, I did that via
strings. Then the problem to overcome is that Haskell is a lazy language,
so in order to retrieve the string for a C-program, the entry on the stack
must first be evaluated. So for that I stile some code I happened to find
somewhere in the Hugs package. The lack of such an interface for common
C-types seems to be a weakness of the current Hugs, but it is not so
difficult implementing the stuff if one only figures out how Hugs works.

Another problem with Hugs is that it is not thread-safe (pure, re-entrant),
so if one interrupts (say via an AppleEvent) the current evaluations to
execute some other Haskell code, you may end up with trouble (or, if you
are luck the code doesn't break.)

-- My wish is that if a new Haskell interpreter shows up, GHCi, or
whatever, it is going to be thread-safe in the sense that multiple Haskell
threads can be executed in parallel. This would be most important for
applications, such as executing AppleEvent's and such. But I do not know if
that is the plan for GHCi.

Otherwise, it was not so difficult making Hugs working with C-code.

> -- would it be easier to work with GHC or HBC instead of Hugs?
>     (High speed is not a big concern of mine at the moment,
>      I just want to learn and be able to play around with
>      Haskell.)

I do not know exactly what will happen in the future: For Mac's, it seems
most prudent to develop for MacOS X, as that is available already as a
beta. GHCi is said to arrive in the spring, so when that arrives, so will
be able to know. If Atze is making progress with GCC under MacOS X, that
will simplify matters, I think.

-- Perhaps somebody else can explain the exact differences between Hugs & GHCi.

-- As it is extremely time-consuming developing a MacOS GUI, probably also
under MacOS X, even though the situation would be better, I think it would
be great if people agree to different parts on the same MacHugs.

  Hans Aberg
                  * Email: Hans Aberg <mailto:haberg@member.ams.org>
                  * Home Page: <http://www.matematik.su.se/~haberg/>
                  * AMS member listing: <http://www.ams.org/cml/>




From reid@cs.utah.edu Thu Dec 7 20:43:05 2000 Date: Thu, 7 Dec 2000 13:43:05 -0700 From: Alastair Reid reid@cs.utah.edu Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
[Hugs Users removed from Cc list.  Messages about machine support
traditionally go to hugs bugs only.  Also, since hugs-bugs members are
supposed to be in hugs-users also, listing both is redundant.]

> Unfortunately, I could not find any Mac port of the Haskell
> Graphics Library.

I'm afraid there isn't one.
I have access to Unix and to Windows but not to a Mac.
(Also I don't know the Mac API.)

> Once I can get a plain Hugs working with CW 6, I'm hoping to
> try to figure out how to get it to interface to C, so I could
> supply something like the Haskell Graphics Library and link
> it in with Hugs.

Let me describe a few major steps in being able to write (or port) something
like the HGL for the Mac:

1) Get Hugs working (obviously)

2) Learn how to use one of the many Hugs Foreign Function Interfaces
   (FFIs) on the Mac.

   Choices:
   1) Directly modify builtin.c in the Hugs distribution.
      Tedious, error-prone, not recommended.
   2) Use GreenCard (http://www.dcs.gla.ac.uk/fp/software/green-card/)
      Stable, simple, limited level of support (none?)
      Requires you to find out how to build the Mac equivalent of
      shared libraries (Unix terminology) or DLLs (Windows terminology).
      (Looking at the Hugs sources, it appears that the answer is a .pef
      file and that someone has figured this out before - hopefully
      someone can send instructions in response to this message.)
   3) Use H/Direct (http://haskell.cs.yale.edu/haskellscript/hdirect.html)
      Easy to use if you already have a COM/IDL specification of the API
      you want to use.
      It's not clear whether it's still supported since the above page
      says the real home page is at:
http://www.dcs.gla.ac.uk/fp/software/hdirect
      which is a broken link.
   4) Use the FFI standard (http://haskell.cs.yale.edu/definition/ffi/)
      possibly in conjunction with some of the ffi tools/libraries that have
      come out such as Manuel Chakravaty's C->Haskell library
      (http://www.cse.unsw.edu.au/~chak/haskell/c2hs/)
      This is the preferred option.  There's just one small problem that I'll
      expand on below.
   5) Consult Haskell.org (http://haskell.org/libraries/#interfacing)

   Of these, I strongly recommend (4) with (2) as a second choice.
   The one small problem with (4) is that the official Hugs distribution
   does not support the FFI standard.  However, there is an unofficial
   Hugs distribution which does support it.  You can download it from
   my home page:

     http://www.cs.utah.edu/~reid/tmp/hugs98-ffi-03122000.tgz

   If you need to use foreign export dynamic, you will need to write
   a small machine code stub for your architecture.

3) Learn how to write simple graphical programs in C for the Mac.
   By simple I mean how to do things like:

     Hello World (where the text appears centred on a window).
     A simple drawing program that puts a black pixel on the
      screen if the mouse button is depressed.
     Responds to simple keyboard input.
     Responds to periodic and/or one-shot timers.

4) Use your choice of FFI to translate your simple C programs
   into Haskell.

5) Contact me for help on understanding the code in the
   Hugs Graphics Library (or for hints on how to produce
   something equivalent).
   (There's someone else trying to port the HGL to GHC so
   a 3-way discussion might arise.)

[The above list could take a while to work through and might be best tackled by
a team of people rather than just one person who is new to Haskell.  The HGL
and all the associated tools, libraries and techniques I had to develop to
write it was spread out over a period of about 5 years.]

>  -- would it be easier to work with GHC or HBC instead of Hugs?

It would be easier in that both have mature implementations of the ffi.
However, I don't know if either of them has been ported to the Mac yet.  If the
answer is no, I think it would be significantly easier to work with Hugs.
(This belief is based on lots of experience with Hugs and GHC.  I know very
little about HBC.)

--
Alastair Reid



From conal@microsoft.com Fri Dec 8 01:10:22 2000 Date: Thu, 7 Dec 2000 17:10:22 -0800 From: Conal Elliott conal@microsoft.com Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
I'm surprised at the preference of GreenCard over H/Direct.  H/Direct was
designed as an evolution of GreenCard based on experience with it, and has a
strong foundation, as described in ICFP '98.  The home page is
http://haskell.org/hdirect. I don't know about its status relative to the
Mac.  Maybe Sigbjorn could comment.

Cheers,

       - Conal

 -----Original Message-----
From: 	Alastair Reid [mailto:reid@cs.utah.edu] 
Sent:	Thursday, December 07, 2000 12:43 PM
To:	Doug Landauer (by way of Hans Aberg); Hugs Bugs
Subject:	RE: Hugs on Mac with CW6 ?   ... and Haskell Graphics Lib?

[Hugs Users removed from Cc list.  Messages about machine support
traditionally go to hugs bugs only.  Also, since hugs-bugs members are
supposed to be in hugs-users also, listing both is redundant.]

> Unfortunately, I could not find any Mac port of the Haskell
> Graphics Library.

I'm afraid there isn't one.
I have access to Unix and to Windows but not to a Mac.
(Also I don't know the Mac API.)

> Once I can get a plain Hugs working with CW 6, I'm hoping to
> try to figure out how to get it to interface to C, so I could
> supply something like the Haskell Graphics Library and link
> it in with Hugs.

Let me describe a few major steps in being able to write (or port) something
like the HGL for the Mac:

1) Get Hugs working (obviously)

2) Learn how to use one of the many Hugs Foreign Function Interfaces
   (FFIs) on the Mac.

   Choices:
   1) Directly modify builtin.c in the Hugs distribution.
      Tedious, error-prone, not recommended.
   2) Use GreenCard (http://www.dcs.gla.ac.uk/fp/software/green-card/)
      Stable, simple, limited level of support (none?)
      Requires you to find out how to build the Mac equivalent of
      shared libraries (Unix terminology) or DLLs (Windows terminology).
      (Looking at the Hugs sources, it appears that the answer is a .pef
      file and that someone has figured this out before - hopefully
      someone can send instructions in response to this message.)
   3) Use H/Direct (http://haskell.cs.yale.edu/haskellscript/hdirect.html)
      Easy to use if you already have a COM/IDL specification of the API
      you want to use.
      It's not clear whether it's still supported since the above page
      says the real home page is at:
http://www.dcs.gla.ac.uk/fp/software/hdirect
      which is a broken link.
   4) Use the FFI standard (http://haskell.cs.yale.edu/definition/ffi/)
      possibly in conjunction with some of the ffi tools/libraries that have
      come out such as Manuel Chakravaty's C->Haskell library
      (http://www.cse.unsw.edu.au/~chak/haskell/c2hs/)
      This is the preferred option.  There's just one small problem that
I'll
      expand on below.
   5) Consult Haskell.org (http://haskell.org/libraries/#interfacing)

   Of these, I strongly recommend (4) with (2) as a second choice.
   The one small problem with (4) is that the official Hugs distribution
   does not support the FFI standard.  However, there is an unofficial
   Hugs distribution which does support it.  You can download it from
   my home page:

     http://www.cs.utah.edu/~reid/tmp/hugs98-ffi-03122000.tgz

   If you need to use foreign export dynamic, you will need to write
   a small machine code stub for your architecture.

3) Learn how to write simple graphical programs in C for the Mac.
   By simple I mean how to do things like:

     Hello World (where the text appears centred on a window).
     A simple drawing program that puts a black pixel on the
      screen if the mouse button is depressed.
     Responds to simple keyboard input.
     Responds to periodic and/or one-shot timers.

4) Use your choice of FFI to translate your simple C programs
   into Haskell.

5) Contact me for help on understanding the code in the
   Hugs Graphics Library (or for hints on how to produce
   something equivalent).
   (There's someone else trying to port the HGL to GHC so
   a 3-way discussion might arise.)

[The above list could take a while to work through and might be best tackled
by
a team of people rather than just one person who is new to Haskell.  The HGL
and all the associated tools, libraries and techniques I had to develop to
write it was spread out over a period of about 5 years.]

>  -- would it be easier to work with GHC or HBC instead of Hugs?

It would be easier in that both have mature implementations of the ffi.
However, I don't know if either of them has been ported to the Mac yet.  If
the
answer is no, I think it would be significantly easier to work with Hugs.
(This belief is based on lots of experience with Hugs and GHC.  I know very
little about HBC.)

--
Alastair Reid


_______________________________________________
Hugs-Bugs mailing list
Hugs-Bugs@haskell.org
http://www.haskell.org/mailman/listinfo/hugs-bugs


From reid@cs.utah.edu Fri Dec 8 04:36:23 2000 Date: Thu, 7 Dec 2000 21:36:23 -0700 From: Alastair Reid reid@cs.utah.edu Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
> I'm surprised at the preference of GreenCard over H/Direct.  H/Direct was
> designed as an evolution of GreenCard based on experience with it, and has a
> strong foundation, as described in ICFP '98.

Perhaps I should admit a certain bias: GreenCard is partly my creation so I
have a soft spot for it...

H/Direct would be the tool of choice if you happen to have IDL descriptions of
the Mac graphical API.  Given Microsoft's interest in the Mac, it is possible
that these already exist.

Lacking an IDL description, my tool of choice would be to use the FFI directly
and use a suitable ffi library to take care of the tedium (and/or to use c2hs)
GreenCard would probably never have come into existence if the current ffi
specification had already existed.

--
Alastair Reid




From sigbjorn_finne@hotmail.com Fri Dec 8 08:26:07 2000 Date: Fri, 8 Dec 2000 09:26:07 +0100 From: Sigbjorn Finne sigbjorn_finne@hotmail.com Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
Use whatever tool you feel comfortable with and does the job
for you, would be my suggestion.

But, HDirect isn't solely based around IDL as a specification
language, it processes C header files too (you can specify IDL
attributes separately from the header file declarations, if needed.)
Supports both CPP GNUisms and MSisms.

--sigbjorn

----- Original Message -----
From: "Alastair Reid" <reid@cs.utah.edu>
To: "Conal Elliott" <conal@microsoft.com>; "Doug Landauer (by way of Hans
Aberg)" <landauer@scruznet.com>; "Hugs Bugs" <hugs-bugs@haskell.org>;
"Sigbjorn Finne (E-mail)" <sigbjorn_finne@hotmail.com>
Sent: Friday, December 08, 2000 05:36
Subject: RE: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?


> > I'm surprised at the preference of GreenCard over H/Direct.  H/Direct
was
> > designed as an evolution of GreenCard based on experience with it, and
has a
> > strong foundation, as described in ICFP '98.
>
> Perhaps I should admit a certain bias: GreenCard is partly my creation so
I
> have a soft spot for it...
>
> H/Direct would be the tool of choice if you happen to have IDL
descriptions of
> the Mac graphical API.  Given Microsoft's interest in the Mac, it is
possible
> that these already exist.
>
> Lacking an IDL description, my tool of choice would be to use the FFI
directly
> and use a suitable ffi library to take care of the tedium (and/or to use
c2hs)
> GreenCard would probably never have come into existence if the current ffi
> specification had already existed.
>
> --
> Alastair Reid
>
>
>


From about@aboutwebmasters.com Fri Dec 8 08:38:53 2000 Date: Fri, 8 Dec 2000 18:38:53 +1000 From: about@aboutwebmasters.com about@aboutwebmasters.com Subject: Hugs indexed at AboutWebmasters.com e-commerce portal
Your site "Hugs  at
Http://www.haskell.org/hugs/ " has been
indexed at AboutWebmasters.com, the biggest interactive webmasters
portal and search engine (http://www.aboutwebmasters.com).

Your site has resources that may be of good use to the e-commerce
community in your specific industry. Your being in this highly focused
search engine/portal frequented by people in the web building,
marketing and e-commerce industry should result in a good flow of
traffic to your site and a lot of new business for you.

Important: In this email (Approx. reading time: 3 min.):
==================
1. Editing and adding to your listings
2. Getting your site rated higher
3. Free & trial online marketing and research software downloads
4. Affiliate program (run through LinkShare)
5. Articles and content for your site (free)
6. Adding AboutWebmasters.com search boxes to your site
7. Thank you!    How to Contact Us.


Editing and adding to your listings
==========================
You may edit the way your site has been listed, add more sites, or add
your site to other relevant categories. To do so, please visit:

http://www.aboutwebmasters.com

Click on the Manage Your Listings link at the bottom. If this is your first
time managing your account, you will need to create an account free
by clicking on the Create One Now link below the login form. When
asked, enter the email address you received this email at. The portal
will send you all the sites that are listed for you under that email
address, plus instructions on how to make changes.

To add a new URL just go to the appropriate category and click on the
Add URL link at the bottom.


Getting your site rated higher
=======================
Have your site voted on by your visitors. Their votes boost your
rankings in category listings and search results, which means more
traffic for you. To be considered one of the top listings in its
category, simply place the following HTML code on your home page (and
any other pages you wish on your site) to begin the voting process (it
will open the rating form in a new window):

  <TABLE BORDER=0><TR><TD>
  <A
  HREF="http://www.aboutwebmasters.com/cgi-bin/search/rateit.cgi?ID=
  [ID]" TARGET="_blank">
  <IMG SRC="
  http://www.aboutwebmasters.com/search/images/aboutwebmastersvote.gif
  " BORDER="0" ALT="Rate this site on AboutWebmasters.com!"></A></TD>
  </TR>
  <TR><TD>Rate this site on AboutWebmasters.com!</TD></TR></TABLE>

Make sure you replace the [ID] part in that HTML with your site ID (to
get your site ID go to Manage URLs on the portal and click on the
option to have your URLs emailed to you). For example, if your site ID
is 7686 then that bit of HTML would change to
http://www.aboutwebmasters.com/cgi-bin/search/rateit.cgi?ID=7686


Free & trial online marketing and research software downloads
================================
We'd like to invite you to download the following 2 products that
should prove very useful to your site and save you time in your tasks:

1. WebmasterAnswers (free) - A small but powerful search tool that is
always with you, waiting until you need it. At the click of a button
you can find CGI scripts, files, software, articles, resources, books,
hardware, quick answers to all your web building and marketing
questions from hundreds of the best resources, and much more. A great
time-saver and knowledge base. And it is absolutely free. Get it at:

http://www.aboutwebmasters.com/webansrs.exe

2. PositionWeaver PRO (free trial) - A ZDNET Editor's Choice 4 Star
award winner, this comprehensive easy-to-use package gets you more
targeted traffic to your site by getting your site ranked at the top
of search engine results. Have your site in a top-ten ranking in the
major search engines when users search using keywords related to your
business. Get it at:

http://www.aboutwebmasters.com/download.shtml

If you would like to see some testimonials from some PositionWeaver
users, see:

http://www.aboutwebmasters.com/search_engine_positioning_testimonials.shtml


Affiliate program (powered by LinkShare)
================================
Join the PositionWeaver Affiliate Network free, powered by LinkShare,
and earn up to 25% on sales resulting from your links to the
PositionWeaver product. For details and to sign up, see:

http://www.aboutwebmasters.com/agents/index.shtml


Articles and content for your site (free)
==============================
Need quality articles for your web site or newsletter? We have a bunch
of them for you for your free use - publish them anywhere you like.
Download them at:

http://www.aboutwebmasters.com/agents/webmasters/articles.zip

If you would like us to send you any new ones as they become
available, please reply to this email with the phrase "SUBSCRIBE TO
ARTICLES" in the subject (make sure it is in the subject).


Adding AboutWebmasters.com search boxes to your site
==============================
Increase your web site's value by adding a free AboutWebmasters.com
search boxes to your site. To do so, collect the HTML code at:

http://www.aboutwebmasters.com/aboutportalsearchbox.shtml


Thank you! How to Contact Us.
=========
Thank you for your time. We really appreciate it and hope that this
email brought some good news to you that will prove profitable to your
online activities.

Please feel free to forward this email to your friends and associates in
the web building, marketing and e-commerce industry, letting them
know about this new and useful portal.

This was a one-time mailing to let you know that your site has been
indexed at the biggest interactive webmasters portal. However, if you
wish to never receive any more emails from us, please reply to this
email with the word DELETE in the subject.

If you would like to contact us for any other reason, please do so at:

http://www.aboutwebmasters.com/feedback.shtml (do not reply to
this email unless you wish to be deleted or subscribe to the articles
release list as detailed above). This email address is automated, not
manned.

Once again, thank you and have a nice day!

Regards,

AboutWebmasters.com
http://www.aboutwebmasters.com




From haberg@matematik.su.se Fri Dec 8 09:38:37 2000 Date: Fri, 8 Dec 2000 10:38:37 +0100 From: Hans Aberg haberg@matematik.su.se Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
At 13:43 -0700 0-12-07, Alastair Reid wrote:
>   2) Use GreenCard (http://www.dcs.gla.ac.uk/fp/software/green-card/)
>      Stable, simple, limited level of support (none?)
>      Requires you to find out how to build the Mac equivalent of
>      shared libraries (Unix terminology) or DLLs (Windows terminology).
>      (Looking at the Hugs sources, it appears that the answer is a .pef
>      file and that someone has figured this out before - hopefully
>      someone can send instructions in response to this message.)

I'm afraid I was the guy who put that "pef" stuff in, which does not
directly related to DLL. ("PEF" = portable executable format or something
is a slimmed down variation of IBM's XCOFF format for object files that
contains names admitting various types of linking -- possibly dynamic and
solving the fragile base class problem.)

Dynamic loading under pre-MacOS X though is very complicated, especially if
the loading should take place while your program is running (and not only
under startup). So I eventually gave up on that, because I didn't have time
for it.

By contrast DLL under MacOS X seems to be automatic -- one simply requests
the functions in the source code just as any statically linked function,
and the OS loads them "lazily" at need when required. So, by contrast,
anything that can be done with DLL seems to be recommended under MacOS X.

  Hans Aberg




From haberg@matematik.su.se Fri Dec 8 09:58:26 2000 Date: Fri, 8 Dec 2000 10:58:26 +0100 From: Hans Aberg haberg@matematik.su.se Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
At 17:10 -0800 0-12-07, Conal Elliott wrote:
>>   3) Use H/Direct (http://haskell.cs.yale.edu/haskellscript/hdirect.html)
>>      Easy to use if you already have a COM/IDL specification of the API
>>      you want to use.
...
>I'm surprised at the preference of GreenCard over H/Direct.  H/Direct was
>designed as an evolution of GreenCard based on experience with it, and has a
>strong foundation, as described in ICFP '98.  The home page is
>http://haskell.org/hdirect. I don't know about its status relative to the
>Mac.  Maybe Sigbjorn could comment.

There is in MacOS X's pre-OS X's cmpatible stuff called "Carbon"
compatibility with MS's COM, see
http://developer.apple.com/techpubs/macosx/ReleaseNotes/CFBundleAndCFPlugIn.html
http://developer.apple.com/techpubs/macosx/System/Documentation/Developer/Releas
eNotes/CFBundleAndCFPlugIn.html

But I found no docs' for it with respect to the new MacOS X components.

  Hans Aberg
                  * Email: Hans Aberg <mailto:haberg@member.ams.org>
                  * Home Page: <http://www.matematik.su.se/~haberg/>
                  * AMS member listing: <http://www.ams.org/cml/>




From reid@cs.utah.edu Fri Dec 8 18:54:49 2000 Date: Fri, 8 Dec 2000 11:54:49 -0700 From: Alastair Reid reid@cs.utah.edu Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
> By contrast DLL under MacOS X seems to be automatic -- one simply requests
> the functions in the source code just as any statically linked function,
> and the OS loads them "lazily" at need when required. So, by contrast,
> anything that can be done with DLL seems to be recommended under MacOS X.

This isn't quite what Hugs needs.
Hugs needs functionality equivalent to dl_open on unix.
>From memory and with some simplification:

  handle dl_open(char*) loads a shared library file
  dl_lookup(handle,char*) looks up a name in a loaded shared library
  dl_close(handle) closes a shared library

Loading has to be explicit because it is done in response to the Hugs user
loading a Haskell file that requires a shared library.

--
Alastair



From nordland@cse.ogi.edu Sat Dec 9 00:44:38 2000 Date: Fri, 08 Dec 2000 16:44:38 -0800 From: Johan Nordlander nordland@cse.ogi.edu Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
Hi,

My main responsibilities regarding Hugs right now is to see to that a new
release is being made that incorporates all recent bug-fixes and additions.  In
this process I hope to able to bring the Mac version of hugs into the main
distribution, although I'm not sure yet about what kind of effort that will
involve.

A Mac port of the Haskell Graphics Library would certainly be a valuable extra,
but I don't consider that as a top priority at the moment.  However, as Alastair
has pointed out in a recent message, the various options for interfacing to C
that now exist might significantly ease the task of making such a port if one
has the necessary knowledge of the Macintosh toolbox API.  I invite all
interested readers to have a go with this task, preferably using the FFI that
Alastair has implemented (which will be included in the next release, currently
it's available at http://www.cs.utah.edu/~reid/tmp/hugs98-ffi-03122000.tgz).

Since I'm using CW5 I can't say anything about the difference w.r.t CW6.  I'm
considering upgrading, though.  My own efforts in implementing Haskell graphics
on the Mac have moreover been limited to trying to make the Tk library coexist
with SIOUX.  Regrettably I don't have any new results to report here yet.

I agree with Hans that MacOS X is where the money should be spent if one
considers porting to the Mac.  However, although a lot of good things follow
from the fact that MacOS X is Unix-based, graphical Unix applications will still
need considerable rewriting since the X Windows system will not be supported
under MacOS X (at least not per default).  So time spent on writing code for the
current (Carbon-compatible) Mac Toolbox will probably still be a good
investment.

Regards,
Johan

Hans Aberg wrote:
> 
> >Hello, I was wondering whether you know if anyone has gotten
> >Hugs to compile on Mac OS 9, using CodeWarrior 6.  I am wanting
> >to get to know Haskell a little, and I have a copy of Paul
> >Hudak's book "The Haskell School of Expression", so I thought
> >it would be cool to run the book's examples on my Mac at home.
> 
> I have forwarded your letter to Johan Nordlander <nordland@cse.ogi.edu> who
> is interested in implementing graphics on MacOS Hugs. -- I do not know
> whether he is using CW Pro 5 or 6, though.
> 
> I'm & Pablo are currently using CW Pro 5, but feel free to use CW Pro 6 for
> any contributions you make. -- If I continue using CW, I will probably
> upgrade in the future.
> 
> -- If you are not currently subscribing to the Hugs-Users & Hugs_bugs
> mailing lists, please do so <http://haskell.org/>, because the kind of info
> you look for will be posted there.
> 
> > -- has anyone gotten Hugs to compile on Mac OS 9
> >     under CW 6?
> 
> I would suggest you to try compile the sources I have for CW 5 under CW 6,
> and see what breaks. Perhaps Johan has already done this. In these version,
> I have implemented AppleEvent's using the AEGizmo's package, which might
> interest you if you work at Apple -- I think a functional language light
> Haskell might be suitable to describe the high level events.
> 
> > -- has anyone gotten Hugs+HGL to work on any Mac
> >     (OS 9 or OS X)?
> 
> Yes, GCC is available under MacOS X, in Hugs compiles straight off, Atze
> Dijkstra <atze@cs.uu.nl> reports to the Hugs-users mailing list. He is
> currently working on GHC. There will (hopefully) be a interpreter GHCi
> possibly replacing Hugs in the future(?), so this work in important.
> 
> -- I think myself that it is not really worth developing for pre-MacOS X,
> and for MacOS X, it is perhaps better to simply use the freely available
> GCC.
> 
> >It looks like Metrowerks may have changed some things
> >about the SIOUX interface and/or how stdarg.h works, in
> >between CW 5 and CW 6.   (I deduce this from my feeble
> >attempts at compiling and debugging a plain Hugs with CW 6.)
> 
> The interface we use is that CW's SIOUX sources are duplicated and then
> modified. So if it is not working under CW 6, it is probably because we
> didn't put copies of all CW 5 SIOUX sources into the project.
> 
> Even though this is just a quick-fix way to develop the GUI, the components
> could be used for developing an entirely new GUI. The SIOUX CW 5 windows
> isn't a very good package, because it contains too many updates, isn't
> thread safe. So it would be better to make an entirely new GUI. This is
> probably an interesting topic, though time consuming, and I think one would
> be better off developing a new GUI for MacOS X directly.
> 
> > -- where should I look to figure out how the mac version
> >     of Hugs wants to interface with a C-based library?
> 
> There is something called HDirect, I think but I have never used it. When I
> implemented the AppleEvent's via the AEGizmo's package, I did that via
> strings. Then the problem to overcome is that Haskell is a lazy language,
> so in order to retrieve the string for a C-program, the entry on the stack
> must first be evaluated. So for that I stile some code I happened to find
> somewhere in the Hugs package. The lack of such an interface for common
> C-types seems to be a weakness of the current Hugs, but it is not so
> difficult implementing the stuff if one only figures out how Hugs works.
> 
> Another problem with Hugs is that it is not thread-safe (pure, re-entrant),
> so if one interrupts (say via an AppleEvent) the current evaluations to
> execute some other Haskell code, you may end up with trouble (or, if you
> are luck the code doesn't break.)
> 
> -- My wish is that if a new Haskell interpreter shows up, GHCi, or
> whatever, it is going to be thread-safe in the sense that multiple Haskell
> threads can be executed in parallel. This would be most important for
> applications, such as executing AppleEvent's and such. But I do not know if
> that is the plan for GHCi.
> 
> Otherwise, it was not so difficult making Hugs working with C-code.
> 
> > -- would it be easier to work with GHC or HBC instead of Hugs?
> >     (High speed is not a big concern of mine at the moment,
> >      I just want to learn and be able to play around with
> >      Haskell.)
> 
> I do not know exactly what will happen in the future: For Mac's, it seems
> most prudent to develop for MacOS X, as that is available already as a
> beta. GHCi is said to arrive in the spring, so when that arrives, so will
> be able to know. If Atze is making progress with GCC under MacOS X, that
> will simplify matters, I think.
> 
> -- Perhaps somebody else can explain the exact differences between Hugs & GHCi.
> 
> -- As it is extremely time-consuming developing a MacOS GUI, probably also
> under MacOS X, even though the situation would be better, I think it would
> be great if people agree to different parts on the same MacHugs.
> 
>   Hans Aberg
>                   * Email: Hans Aberg <mailto:haberg@member.ams.org>
>                   * Home Page: <http://www.matematik.su.se/~haberg/>
>                   * AMS member listing: <http://www.ams.org/cml/>


From reid@cs.utah.edu Sat Dec 9 03:58:22 2000 Date: Fri, 8 Dec 2000 20:58:22 -0700 From: Alastair Reid reid@cs.utah.edu Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
Johan wrote:
> the FFI that Alastair has implemented (which will be included in the next 
> release, currently it's available at
> http://www.cs.utah.edu/~reid/tmp/hugs98-ffi-03122000.tgz).

I'd encourage enthusiastic hackers to take it for a spin.

In particular, it uses a little machine code stub to implement
 foreign export dynamic.  At present, we only have a stub for
 the x86 and it has only been tested under Linux.  We need people
 to try it on other x86-based OSs (FreeBSD, NetBSD, Windows, ...)
 and we need people to write stubs for other architectures
 (Sparc, PPC, PA-Risc, ...).
 It's only 3 instructions (on the x86, at least) so it shouldn't
 take long :-)


Alastair

ps The machine code required is in mkThunk which is in
hugs98/src/builtin.c.  The comment preceding the function
describes what the machine code has to do.

pps Sadly, foreign export static is not currently implemented.
  There's some tricky issues involving the typechecker that I
  wasn't able to resolve in the time available.  I'm hoping
  that someone at Hugs-central can fill in the missing parts.



From haberg@matematik.su.se Sat Dec 9 11:22:56 2000 Date: Sat, 9 Dec 2000 12:22:56 +0100 From: Hans Aberg haberg@matematik.su.se Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
At 11:54 -0700 0-12-08, Alastair Reid wrote:
>> By contrast DLL under MacOS X seems to be automatic -- one simply requests
>> the functions in the source code just as any statically linked function,
>> and the OS loads them "lazily" at need when required. So, by contrast,
>> anything that can be done with DLL seems to be recommended under MacOS X.
>
>This isn't quite what Hugs needs.
>Hugs needs functionality equivalent to dl_open on unix.
>>From memory and with some simplification:
>
>  handle dl_open(char*) loads a shared library file
>  dl_lookup(handle,char*) looks up a name in a loaded shared library
>  dl_close(handle) closes a shared library
>
>Loading has to be explicit because it is done in response to the Hugs user
>loading a Haskell file that requires a shared library.

The document
  http://developer.apple.com/techpubs/macosx/SystemOverview/SystemOverview.pdf
page 109-110 describes this automatic loading.

One might surmise that explicit loading of libraries & names is also
available, but it is not described there. -- I think that the calle them
"plug-ins", and can be loaded at any time, loc. cit. p. 22, even though it
is not described how that is done there. It is said on p 182 that MacOS X
has a dyld, dynamic link editor, a library manager for processes based on
Mach-O object files, so it should somehow be possible.


  Hans Aberg




From haberg@matematik.su.se Sat Dec 9 11:15:13 2000 Date: Sat, 9 Dec 2000 12:15:13 +0100 From: Hans Aberg haberg@matematik.su.se Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
At 16:44 -0800 0-12-08, Johan Nordlander wrote:
>...although a lot of good things follow
>from the fact that MacOS X is Unix-based, graphical Unix applications will
>still
>need considerable rewriting since the X Windows system will not be supported
>under MacOS X (at least not per default).  So time spent on writing code
>for the
>current (Carbon-compatible) Mac Toolbox will probably still be a good
>investment.

There are at least two X-Windows available under MacOS X, the Tenon's
somewhat pricey commercial http://www.tenon.com/, and the FreeBSD based
found at http://mrcla.com/XonX/.

So a possible MacOS X development strategy might be to first make a working
X-windows version, and then translate the graphics package into the MacOS X
proper.

-- Since all this is very time consuming development, the trick will be to
figure out how pick together the pieces development made by many, I think.

  Hans Aberg
                  * Email: Hans Aberg <mailto:haberg@member.ams.org>
                  * Home Page: <http://www.matematik.su.se/~haberg/>
                  * AMS member listing: <http://www.ams.org/cml/>




From landauer@apple.com Mon Dec 11 05:11:11 2000 Date: Sun, 10 Dec 2000 21:11:11 -0800 From: Doug Landauer landauer@apple.com Subject: Hugs on Mac with CW6 ? ... and Haskell Graphics Lib?
> >Hugs needs functionality equivalent to dl_open on unix.
> >>From memory and with some simplification:
> >
> >  handle dl_open(char*) loads a shared library file
> >  dl_lookup(handle,char*) looks up a name in a loaded shared library
> >  dl_close(handle) closes a shared library


It sure would be nice if Apple would provide an implementation
of this relatively common API.

It shouldn't be that difficult to extract this functionality
from the more comprehensive bundle services that are a part of
Mac OS X.  I think the relevant documentation might be found
somewhere near here: 

http://developer.apple.com/techpubs/macosx/CoreFoundation/BundleServices

and in particular this part:

http://developer.apple.com/techpubs/macosx/CoreFoundation/BundleServices/CFBundleServices/Concepts/CFBundle-21.html



 -- Doug



From landauer@apple.com Mon Dec 11 19:36:39 2000 Date: Mon, 11 Dec 2000 11:36:39 -0800 From: Doug Landauer landauer@apple.com Subject: http://www.cse.ogi.edu/PacSoft/projects/Hugs/pages/downloading.htm
On Monday, December 11, 2000, at 08:22 AM, dkcombs@panix.com wrote:
> 
> QUESTION: what about SOLARIS (7)?
> 
> It says NOTHING about unix *other than*
> LINUX.
> 
> Also, what GRAPHICS are available?  The
> book I have is Hudak's, ie all via graphics
> examples, code, etc.

I did get the Haskell Graphics Library to work on my Solaris
system (Solaris 7).  It just assumes that if you have such a
system, you know how to tweak their Makefile to make it build
you a dynamically loadable library.

So it took me a bit of studying of some man pages and stuff,
but here's what worked for me (I'm using gcc on Solaris; I don't
have a copy of the Sun C compiler so I can't tell ya how to get
that to work).   The only changes I had to make were in the
x11/Makefile:

diff -c -r HGL_graphics_orig/graphics-2.0.3/lib/x11/Makefile 
graphics-2.0.3/lib/x11/Makefile
*** HGL_graphics_orig/graphics-2.0.3/lib/x11/Makefile   Sun Jun 25 
23:50:30 2000
--- graphics-2.0.3/lib/x11/Makefile     Thu Nov  9 18:05:16 2000
***************
*** 27,33 ****
   # Configuration (needs to be customised)
   ################################################################

! XDIR          = /usr/X11R6

   # Either use the next line (if you have a GreenCard binary installed)
   #GC           = greencard
--- 27,33 ----
   # Configuration (needs to be customised)
   ################################################################

! XDIR          = /usr/openwin

   # Either use the next line (if you have a GreenCard binary installed)
   #GC           = greencard
***************
*** 36,43 ****
   GCDIR         = $(HOME)/local/greencard-2.0
   GC            = $(RUNHUGS) -c100 -h2m $(GCDIR)/src/GreenCard.lhs

! CC            = cc
   LDFLAGS               += -shared -nostdlib

   ################################################################
   # Files (should not need to be customised)
--- 36,47 ----
   GCDIR         = $(HOME)/local/greencard-2.0
   GC            = $(RUNHUGS) -c100 -h2m $(GCDIR)/src/GreenCard.lhs

! CC            = gcc -v -mimpure-text
!
! #  Without -mimpure-text, these LDFLAGS  lead to a bunch of "Text 
relocation remains"
! #   error messages which stop the link.
   LDFLAGS               += -shared -nostdlib
+ #

   ################################################################
   # Files (should not need to be customised)
***************
*** 77,82 ****
--- 81,87 ----
   %.o           : %.c
                 $(CC) $(CFLAGS) $(INCLUDES) $< -c
   %.so          : %.o
+               echo LDFLAGS are '<'$(LDFLAGS)'>'
                 $(CC) $(LDFLAGS) $(LIBS) -o $@ $<

   ################################################################


 > Also, please tell me HOW to sign up for the
 > mailing list.

See http://www.haskell.org/mailman/listinfo/hugs-users.
However, they tell me that hugs-bugs is a more appropriate
place for platform-specific questions.  See
http://www.haskell.org/mailman/listinfo/hugs-bugs

Hope this helps,
  -- Doug



From rrt1001@cam.ac.uk Wed Dec 13 12:18:45 2000 Date: Wed, 13 Dec 2000 12:18:45 +0000 (GMT) From: Reuben Thomas rrt1001@cam.ac.uk Subject: Win32 lib and Greencard building
I'd like to integrate the building of GreenCard and the Win32 library more
closely with the GHC build system, for ease of building.

These are both used with Hugs (correct?) and hence presumably (unless you no
longer use the versions in the fptools CVS tree) you probably don't want me
just to strip out all the Hugs-related build stuff.

On the other hand, I'd like to take advantage of GHC's build system, and
integrate into that...

Have you any suggestions on what's the nicest thing I could do? The minimum
sensible is just a couple of tweaks to the files so that at least everything
is built automatically as part of a GHC build, but that would just allow you
to comment out a couple of lines to build for Hugs (in much the same way as
I presume you do at the moment).

-- 
http://sc3d.org/rrt/ | Caution Children At Play Drive Slowly



From reid@cs.utah.edu Wed Dec 13 20:12:34 2000 Date: Wed, 13 Dec 2000 13:12:34 -0700 From: Alastair Reid reid@cs.utah.edu Subject: Win32 lib and Greencard building
> These are both used with Hugs (correct?) and hence presumably (unless you no
> longer use the versions in the fptools CVS tree) you probably don't want me
> just to strip out all the Hugs-related build stuff.

Yes and yes.
(Though the amount of makefile support required for plain GreenCard with
Hugs/runhugs is fairly minimal.)

In particular, they are used to build the Hugs Graphics Library both on Win32
and (GreenCard only) X11.

Now that Hugs supports the ffi spec (I committed the changes to the main tree
late last night), I'd like to see the greencard dependency go away - but, given
the size of Win32 and Xlib, that isn't going to happen overnight.

> On the other hand, I'd like to take advantage of GHC's build system, and
> integrate into that...
>
> Have you any suggestions on what's the nicest thing I could do?

What we used to do was to have two makefiles: GNUMakefile (or just Makefile)
and Makefile.hugs.  It's a little tedious keeping them in step but not too bad.

If there was a lot of overlap between the two makefiles, you could factor it
out into a Makerules file.

--
Alastair



From vieira@ufpi.br Thu Dec 14 15:38:51 2000 Date: Thu, 14 Dec 2000 11:38:51 -0400 (AST) From: Francisco Vieira de Souza vieira@ufpi.br Subject: Maybe a bug
Please, I'm a beginner in Hugs, but I try to put the characters
\n or \t but it doesn't work well.
I'm using november 1999 version.

When I use, for instance, the string "something\n\n" the result is
"something\n\n" and doesn't make a newline. With \t is the same
problem.

Can someone help me please?

Thanks in advance.

Vieira 

-----------------------------|--------------------------------
Francisco Vieira de Souza    |"O unico tirano que aceito
DIE-UFPI-Fone:(086) 215 5837 |neste mundo eh a voz silenciosa
Celular: (086) 987-9926      |dentro de mim, a consciencia"
E-mail: vieira@ufpi.br       | (Mahatma Gandhi, 1869-1948)
_____________________________|________________________________



From herrmann@infosun.fmi.uni-passau.de Thu Dec 14 15:19:19 2000 Date: Thu, 14 Dec 2000 16:19:19 +0100 (MET) From: Ch. A. Herrmann herrmann@infosun.fmi.uni-passau.de Subject: Maybe a bug
Hi,

    Francisco> When I use, for instance, the string "something\n\n" the
    Francisco> result is "something\n\n" and doesn't make a
    Francisco> newline. With \t is the same problem.

the effect of the control characters depends on the context of use.

If they are used with "putStr", it works (with February2000 hugs),
example:

Main> putStr "First\tLine\nNext\t\tLine"
First   Line
Next            Line
Main>

Good luck
-- 
 Christoph Herrmann
 E-mail:  herrmann@fmi.uni-passau.de
 WWW:     http://brahms.fmi.uni-passau.de/cl/staff/herrmann.html


From hallgren@cs.chalmers.se Fri Dec 15 19:47:55 2000 Date: Fri, 15 Dec 2000 20:47:55 +0100 From: Thomas Hallgren hallgren@cs.chalmers.se Subject: Context reduction with functional dependencies?
This is a multi-part message in MIME format.
--------------000008010800080402070402
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I have been doing an experiment where I use type classes to express
static (compile-time) computations in Haskell. With multi-parameter
classes and functional dependencies, instance declarations can be used
to define function by pattern matching (on the type level). I enclose an
example where I define booleans, natural numbers, a
less-than-or-equal-to function and a maximum function.

In some simple examples (one_lte_two and two_lte_one), it works fine,
but in the last example, where I try to compute the maximum of 1 and 2
in Hugs (hugs -98, February 2000), I get the following error message:

     Type checking
     ERROR "FuncDeps4.hs" (line 27): Unresolved top-level overloading
     *** Binding             : max_one_two
     *** Outstanding context : (Lte Z (S Z) b, If b (S (S Z)) (S Z) c)

Here I expected that the functional dependencies would allow b to be
instantiated to T, and hence c to be instantiated to S (S Z), which
would then be the type of max_one_two. Why doesn't this work?

Regards,
Thomas Hallgren


--------------000008010800080402070402
Content-Type: text/plain;
 name="FuncDeps4.hs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="FuncDeps4.hs"

module FuncDeps4 where

data T
data F

class If b t e r | b t e -> r
instance If T t e t
instance If F t e e

data Z
data S n
type One = S Z
type Two = S One

class Lte a b c | a b -> c where lte :: a -> b -> c
instance Lte Z b T
instance Lte (S n) Z F
instance Lte a b c => Lte (S a) (S b) c

one_lte_two = lte (u::One) (u::Two) -- :: T
two_lte_one = lte (u::Two) (u::One) -- :: F

class Max a b c | a b -> c where max' :: a -> b -> c
instance (Lte a b l,If l b a c) => Max a b c

-- This doesn't work without the type signature:
max_one_two = max' (u::One) (u::Two)   -- :: Two

u=undefined -- Just a convenient abbreviation


--------------000008010800080402070402--



From Melchesideck@aol.com Mon Dec 25 07:22:11 2000 Date: Mon, 25 Dec 2000 02:22:11 EST From: Melchesideck@aol.com Melchesideck@aol.com Subject: web bug
Received a fail to load when trying to download the WinHelp file fromthe 
Win32 section of the download page.
Eric


From ganesh@earth.li Sat Dec 30 14:19:31 2000 Date: Sat, 30 Dec 2000 14:19:31 +0000 (GMT) From: Ganesh Sittampalam ganesh@earth.li Subject: compiling hugs with latest linux glibcs
Hi,

When I try to compile the February 2000 release of hugs with latest
releases of linux glibc (found in redhat 7.0 and the development
distribution of debian), I get the following errors:

gcc -c -g  -O2 builtin.c
In file included from builtin.c:1431:
iomonad.c: In function `primHGetPosn':
iomonad.c:715: aggregate value used where an integer was expected
iomonad.c: In function `primHSetPosn':
iomonad.c:730: invalid initializer
iomonad.c:736: incompatible types in assignment
make: *** [builtin.o] Error 1

This is caused by changes to the fpos_t type, which is no longer directly
castable to an int. I'm not sure what the appropriate fix is, since there
don't seem to be accessor functions for the type - making the source look
inside the structure that fpos_t has become would then break with older
glibcs. I've just removed the references to fgetpos and fsetpos from
src/unix/configure.in to make it compile for now.

Regards,

Ganesh Sittampalam