Re: GLUT copyright violation

2003-03-21 Thread Sven Panne
Well, I've already responded to this allegation yesterday, but
obviously not to this list. Mailing in hurry is seldom a good idea...
So I'm trying to explain this once again:

Let's start with non-legal (i.e. common sense) arguments:

* I do not claim that the documentation of my GLUT binding is written
  from scratch and therefore I have included a reference to Mark's
  original work at a prominent place. Although I do not concur with
  Mark's attitude in all areas, I respect his work: Writing a simple
  but very useful library which is still in use after a decade is more
  than most people will probably achieve in their lifetime.

* I've tried very hard to stay in GLUT's spirit and made no gratuitous
  additions, which is exactly what Mark is trying to achieve with the
  status GLUT. Although sometimes a nuisance, this is why GLUT hasn't
  evolved into yet another swiss army knife library, which are so
  common these days.

* I do not earn a single cent from my binding, neither does Mark get
  any money for GLUT. And even if he did, making GLUT available to a
  broader audience would boost his income, not lessen it.

* I've tried to contact Mark several times through different channels,
  but without avail. Browsing through the links Claus has kindly
  tracked down, it is clear that Mark has lost his interest in GLUT and
  probably has a mail filter deleting everything about this topic. On
  the one hand, I can understand this, because given GLUT's widespread
  use, he is probably flooded with mails about it. But on the other
  hand this makes it nearly impossible to really sort this simple
  copyright issue out, which is a pity.

Now to the more formal arguments: Attaching a two-line copyright
statement to something isn't even remotely enough to prevent any usage
without explicit admission, so I suggest people should read a bit
before starting a copyright infringement jihad against me, e.g.

   http://www.benedict.com/info/fairUse/fairUse.asp

or the memorandum of a well-known person in her more peaceful days:

   http://fairuse.stanford.edu/rice.html

And some final words taken from
http://www.law.cornell.edu/copyright/cases/499_US_340.htm :

   [...] The primary objective of copyright is not to reward the labor
   of authors, but promote the Progress of Science and useful Arts. [...]
   To this end, copyright assures authors the right to their original
   expression, but encourages others to build freely upon the ideas and
   information conveyed by a work.

Cheers,
   S.
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


RE: Symbol referencing problem in GHC HEAD.

2003-03-21 Thread Simon Marlow
 I recently had some trouble trying to compile a simple 
 Template Haskell
 program
 
 main = putStrLn (show ($[| 20 |]))
 
 The following output was generated:
 
 /home/sseefried/local/lib/ghc-5.05/HSbase_cbits.o: unknown symbol
 `__umoddi3'
 Loading package base ... linking ... ghc-5.05: panic! (the 
 `impossible'
 happened, GHC version 5.05):
 can't load package `base'

I've had a quick look into this, and here's what I've discovered:

GCC has __umoddi3 in libgcc.a.  It generates calls to that function and
others for some 64-bit operations.  On our RedHat box here, __umoddi3 is
also exported by libc.so, which is why we don't get any link errors.
Perhaps on your box it isn't?

It looks like the same problem crops up on MacOS/X, because there's code
in the linker to add these symbols to the symbol table, surrounded by
#ifdef powerpc_TARGET_OS.

Cheers,
Simon
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: Symbol referencing problem in GHC HEAD.

2003-03-21 Thread Michael Weber
* Simon Marlow [EMAIL PROTECTED] [2003-03-21T13:02+]:
 GCC has __umoddi3 in libgcc.a.  It generates calls to that function and
 others for some 64-bit operations.  On our RedHat box here, __umoddi3 is
 also exported by libc.so, which is why we don't get any link errors.
 Perhaps on your box it isn't?


Just as a short note, IIRC in the sparc-*-linux port this problem also
showed up:

   * GHCi:
 dies with unresolved symbols while loading HSbase_cbits.o
 (__umoddi3 and friends; again: maybe just due to a wrong build...)
 


Cheers,
Michael
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [HOpenGL] Re: GLUT copyright violation

2003-03-21 Thread Sven Panne
Ross Paterson wrote:
 That is a delicate way of putting it. It appears that you've used almost
 all of his text.

... as a basis. And that's exactly what should be expected for a library
binding: Either you follow the initial specs exactly or you don't really
do a binding.

 Even though no money is involved, calling this fair use and ignoring his
 notice is quite a stretch.

Well, the amount of work used is of course an issue, but not *the* issue,
see e.g.:

   http://www.utsystem.edu/ogc/intellectualproperty/copypol2.htm#test

I use Mark's published (see 2.) work in a non-profit way (1.), but not
to a small amount (3.). But there is no market for the GLUT docs and
I neither compete with Mark's work nor do I take away royalties from
him (4.). So this *is* a fair use IMO, but IANAL...

And to restate: I do not simply ignore Mark's notice, he ignores any
attempt of communication on this issue.

Cheers,
   S.
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: [HOpenGL] Re: GLUT copyright violation

2003-03-21 Thread Ross Paterson
On Fri, Mar 21, 2003 at 04:52:29PM +0100, Sven Panne wrote:
 Ross Paterson wrote:
  That is a delicate way of putting it. It appears that you've used almost
  all of his text.
 
 ... as a basis. And that's exactly what should be expected for a library
 binding: Either you follow the initial specs exactly or you don't really
 do a binding.

It would still be a binding without his text -- though not as convenient
because people would have to use both his document and a description of
how the Haskell binding related to it.

  Even though no money is involved, calling this fair use and ignoring his
  notice is quite a stretch.
 
 Well, the amount of work used is of course an issue, but not *the* issue,
 see e.g.:
 
http://www.utsystem.edu/ogc/intellectualproperty/copypol2.htm#test
 
 I use Mark's published (see 2.) work in a non-profit way (1.), but not
 to a small amount (3.). But there is no market for the GLUT docs and
 I neither compete with Mark's work nor do I take away royalties from
 him (4.). So this *is* a fair use IMO, but IANAL...

So you're claiming that any non-profit use of a non-profit publication
is fair use, any thus any restrictions imposed by the author are void
(except for giving them credit, I guess).

I'm pretty sure that's incorrect (apart from the importance of the scale
of use, you're also forgetting that fair use is limited to certain kinds
of purpose), but then we're not lawyers, and you're talking about US
copyright law to boot.

I just believe that if an author gives us something, s/he should have
some control over how their work is used.  I'd prefer to receive it with
fewer conditions, but that is their decision.  It's a fair bargain.
A world run your way would be the poorer, with authors less likely to
produce non-profit publications.

 And to restate: I do not simply ignore Mark's notice, he ignores any
 attempt of communication on this issue.

I did not say simply ignore -- I said ignore, which was true.
But his lack of cooperation does not affect anything.
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


help, ghc compile boot from hc fails.

2003-03-21 Thread Ahn Ki-yung
I checked out the CVS yesterday.

=== gcc version is

$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-pc-solaris2.8/3.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/l
d --disable-nls
Thread model: posix
gcc version 3.2

== I configured with

$ ./configure --enable-hc-boot

== make fails like this

creating libgmp.la
(cd .libs  rm -f libgmp.la  ln -s ../libgmp.la libgmp.la)
make[4]: Leaving directory
`/export/home/member/kyagrd/CVSes/fptools/ghc/rts/gmp
'
make[3]: Leaving directory
`/export/home/member/kyagrd/CVSes/fptools/ghc/rts/gmp
'
../utils/ghc-pkg/ghc-pkg-inplace --update-package rts.conf.inplace
/bin/sh: ../utils/ghc-pkg/ghc-pkg-inplace: Not exist
make[1]: *** [../driver/stamp-pkg-conf-rts] Error 1
make: *** [all] Error 1

== How can i make that fptools/ghc/utils/ghc-pkg/ghc-pkg-inplace ?

___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


simulating dynamic dispatch

2003-03-21 Thread Markus . Schnell
I think you are looking like something done in the
HTML-Combinator-libraries.
I tried something like that some time ago, but didn't finish. But perhaps
you
can get an idea from that. See the files with this mail. (The code is in
unknown condition.)

Markus

 ah, yes.  i was aware that would work.  i forgot to mention 
 the constraint
 that i don't want the user to have to use the MkFoo/MkBar
 constructors.  if i could use them internally to 'test', that would be
 great, but that's what i couldn't get to work :).



SaveExFStruct.hs
Description: Binary data


SaveFStruct.hs
Description: Binary data


Scrap your Boilerplate

2003-03-21 Thread Markus . Schnell
Does the zipper fall into this category?

http://haskell.org/wiki/wiki?TheZipper

Markus

 You might also find the 'cast' function in Section 3 of Scrap your
 boilerplate useful.
 http://research.microsoft.com/~simonpj/papers/hmap/
 I'm not certain, but it has the right smell.
 Simon
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


WFLP'03: Deadline extension -- April 2

2003-03-21 Thread German Vidal
**
 NEW: The deadline for submissions to WFLP 2003 has been extended to 
  April 2, 2003
**


==
SECOND CALL FOR PAPERS  WFLP 2003

 12th Int'l Workshop on Functional and (Constraint) Logic Programming

 June 12-13, 2003, Valencia (Spain)

 http://www.dsic.upv.es/~rdp03/wflp/

==

WFLP is the International  Workshop  on  Functional  and  (Constraint) 
Logic Programming. WFLP'03, the twelfth in the series, will be held in 
Valencia, Spain, June 12-13, 2003, at the 
  
 Federated Conference on Rewriting, Deduction and Programming (RDP'03)
 http://www.dsic.upv.es/~rdp03/

The WFLP workshops aim at bringing  together researchers interested in 
functional programming,  (constraint)  logic programming,  as  well as 
their integration. It promotes the cross-fertilizing exchange of ideas 
and  experiences among  researches and  students  from  the  different
communities interested in the foundations,  applications, and combina-
tions of  high-level,  declarative programming  languages and  related 
areas.The technical program of the workshop will include invited talks,
presentations of refereed papers and demo presentations.

Previous editions of the workshop  have been  held  in  Grado  (Italy), 
Kiel (Germany),  Benicassim  (Spain),  Grenoble  (France),  Bad Honnef 
(Germany),  Schwarzenberg  (Germany),  Marburg  (Germany),  Rattenberg 
(Germany), and Karlsruhe (Germany). 
   
--
TOPICS OF INTEREST

WFLP'03  solicits  papers in all areas of  functional and (constraint) 
logic programming, including (but not limited to): 

* Language Design: modules and type systems,  multi-paradigm languages, 
  concurrency and distribution, objects
  
* Foundations: formal semantics, rewriting and narrowing, nonmonotonic 
  reasoning, dynamics, type theory

* Implementation:  abstract  machines,  parallelism,  compile-time and 
  run-time optimizations, interfacing with external languages

* Transformation and Analysis: abstract interpretation, specialization,
  partial evaluation, program transformation, meta-programming

* Software Engineering:  design patterns,  specification, verification 
  and validation, debugging, test generation
   
* Applications:  declarative  programming  in  education  and industry, 
  domain-specific languages, visual/graphical user interfaces,embedded 
  systems,  WWW  applications,  knowledge  representation  and machine 
  learning, deductive databases, advanced programming environments and 
  tools

The main focus is on new and original research results but submissions  
describing  innovative  products,   prototypes  under  development  or 
interesting experiments (e.g., benchmarks) are also encouraged.

--
IMPORTANT DATES

  Submission of papers:Wednesday, April 2, 2003
  Notification of acceptance:  Friday, April 25, 2003
  Camera-ready papers: Sunday, May 11, 2003

  Workshop:June 12 - 13, 2003

--
SUBMISSION

Authors are invited to submit an extended abstract  (no longer than 12 
pages including figures  and  references) or a  system description (no 
longer than 4 pages) in Postscript or PDF format (Springer LNCS style) 
via email to 

  [EMAIL PROTECTED] 

before April 2, 2003.  Submissions should include the title,  authors'
names, affiliations, addresses, and e-mail. 

--
PUBLICATION

Accepted papers  will be included in the  preliminary proceedings that
will be available at the workshop. After the workshop, authors of  the 
best abstracts will be invited to submit full papers.These full papers 
will be reviewed and  accepted  papers will appear in  the  Electronic 
Notes in Theoretical Computer Science (Elsevier).

--
BEST NEWCOMER AWARD
 
An award will be given to the best paper exclusively written by one or
several young researchers who have not yet obtained their PhD degrees.
Papers  written in this  category should  be  clearly marked  Student
papers in the submission.

--
PROGRAM COMMITTEE

Maria Alpuente (Technical University of Valencia, Spain)
Sergio Antoy (Portland State University, USA)
Annalisa Bossi (Universita Ca' Foscari di Venezia, Italy)
Olaf Chitil (University of York, UK)
Rachid Echahed (Institut IMAG, France)
Sandro Etalle (University of Twente, The Netherlands)
Moreno Falaschi (Universita di Udine, 

Re: Scrap your Boilerplate

2003-03-21 Thread Johan Jeuring
Does the zipper fall into this category?

http://haskell.org/wiki/wiki?TheZipper
The zipper is a type-indexed data type, not just a type-indexed 
function.
See:

R. Hinze, J. Jeuring and A Löh. Type-indexed data types. In Eerke A. 
Boiten and Bernhard Möller, editors, Proceedings of the 6th 
International Conference on Mathematics of Program Construction, LNCS 
2386, pages 148 - 174, 2002, © Springer-Verlag.

-- Johan
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


[list-mm-net] 1st MM-NET Workshop on Analytical Techniques for Memory Management

2003-03-21 Thread Richard Jones


1st MM-NET Workshop on
 Analytical Techniques for Memory Management
   University of Kent at Canterbury
  15th May 2003
Call for papers and participation

There has been a recent increase in interest in applying analytical techniques
to the prediction and modelling of memory management, which is broadly defined
to include
. garbage collection of main-memory, peristent and distributed systems;
. explicit dynamic memory allocation/de-allocation
. measurement of object demographics
. interactions with languages and operating systems
The UK's MM-NET (Memory Management Network) therefore proposes to hold a 1-day
workshop on analytical techniques for memory management on Thurs 15th May 2003
at the University of Kent at Canterbury (venue and time to be confirmed).
Topics of interest include but are not limited to
static prediction and bounding of memory usage;
garbage collection supported by compile-time techniques;
memory management models.
The keynote address will be given by Prof. Greg Morrisett, Cornell University.
Participation is welcomed from both academic and industrial sectors.
Registration is free for mm-net members and should be made through

   http://www.mm-net.org.uk/

Coffees and lunch will be provided. Some support for travel costs for UK
personnel may be available (please contact Richard Jones 
[EMAIL PROTECTED]).

Talk slots will be allocated on a first-come first-served basis. If you would
like to give a talk, please indicate this when registering for the workshop,
and indicate whether you prefer a short (15 min) or normal (30 min) slot.
Titles and abstracts should be finalised before the workshopd. We will collect
presentations from the workshop online to form an informal proceedings at the
time, and may approach speakers to form an edited formal proceedings at a later
date.
Important Dates:
 nowprovisional registration and notification of talks
 8th May 2003   workshop programme confirmed
 15th May 2003  workshop
 27th May 2003  provide copies of presentations for online proceedings
The workshop organisers are:

 Kevin Hammond   University of St Andrews   [EMAIL PROTECTED]
 Richard Jones   University of Kent [EMAIL PROTECTED]
 Peter O'Hearn   Queen Mary College [EMAIL PROTECTED]
MM-NET is generously sponsored by the UK's Engineering and Physical Sciences
Research Council (EPSRC).
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: simulating dynamic dispatch

2003-03-21 Thread Hal Daume III
Excellent paper!  I have started using some of the techniques already!

But, back to the real question :).  I now no longer think such a thing is
possible.  Essentially what I want (given 'cast :: Typeable a, Typeable b
= a - Maybe b' [1]), is to write something like:

test :: forall a r . Typeable a =
(forall b . (Typeable b, Foo b) = b - r) -
a - Maybe r
test f a = liftM f (cast a)

but then 'b' is ambiguous.  I'm not sure there is any way around
this.  Can someone help?

 - Hal

[1] is there any reason why parens are requires around class
contexts?  i've always found this odd...

--
 Hal Daume III   | [EMAIL PROTECTED]
 Arrest this man, he talks in maths.   | www.isi.edu/~hdaume

On Fri, 21 Mar 2003, Simon Peyton-Jones wrote:

 You might also find the 'cast' function in Section 3 of Scrap your
 boilerplate useful.
 http://research.microsoft.com/~simonpj/papers/hmap/
 I'm not certain, but it has the right smell.
 Simon
 
 | -Original Message-
 | From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 | Sent: 21 March 2003 04:19
 | To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
 | Subject: Re: simulating dynamic dispatch
 | 
 | 
 |  i'm hoping to be able to simulate a sort of dynamic dispatch based
 on
 |  class instances.
 | 
 | It seems you want to dispatch based not on a type but on the
 | constraint of a type.
 | 
 | You code almost worked. Here's the a bit updated and working version.
 | 
 | class Foo a where { foo :: a - Bool }
 | class Bar a where { bar :: a - Bool }
 | 
 | data FB = forall a . Foo a = MkFoo a | forall a . Bar a = MkBar a
 | 
 | instance Foo FB where
 | foo (MkFoo x) = foo x
 | 
 | instance Bar FB where
 | bar (MkBar x) = bar x
 | 
 | -- some instances for the test
 | instance Foo Int where
 | foo x = x == 0
 | 
 | instance Bar Char where
 | bar x = x == 'a'
 | 
 | 
 | test x = case x of
 |   (MkFoo a) - Just $ foo a
 |   (MkBar a) - Just $ bar a
 | --_ - Nothing
 | 
 | 
 | -- *Main test $ MkFoo (0::Int)
 | -- Just True
 | -- *Main test $ MkFoo (10::Int)
 | -- Just False
 | -- *Main test $ MkBar 'a'
 | -- Just True
 | -- *Main test $ MkBar 'b'
 | -- Just False
 | 
 | ___
 | Haskell mailing list
 | [EMAIL PROTECTED]
 | http://www.haskell.org/mailman/listinfo/haskell
 

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell