Re: GLUT copyright violation
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.
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.
* 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
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
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.
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
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
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
** 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
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
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
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