in reply to Re: The Secret Features of Perl6
in thread The Secret Features of Perl6

It's OK, I was just asking for amusement value. I wasn't planning on hanging around the dev lists, telling anyone who'll listen that perl should have funny features.

Instead, I plan to hang around the dev lists telling anyone who'll listen that Perl6 (or for preference, Parrot), needs a tightly integrated graphics system. Kind of like Swing for Java, but without the slow and ugly bit.

OpenGL or Enlightenment17 both would work. I just live in dread of people going "Perl doesn't need graphics, we haven't missed it so far"

____________________
Jeremy
I didn't believe in evil until I dated it.

Replies are listed 'Best First'.
Re: Re: Re: The Secret Features of Perl6
by Elian (Parson) on Jun 17, 2003 at 02:35 UTC
    I'll save you the trouble, then. Not gonna happen, sorry. Far, far too many cross-platform issues.

    If you really want it, find something that works on OS X, Linux, Microsoft Windows, VMS, and at least one Cray. (PalmOS would be a bonus) Once you've found one, then we'll talk.

      A quick web search shows pages talking about OpenGL on VMS and Cray (although the VMS page makes references to DEC, so it's a little out of date). There was an aborted attempt to port OpenGL to the Palm pilot, they got as far as a library that could draw vertices and lines. So I think OpenGL fills your requirements. I'd be wanting to use GLUT as well, but I don't think that has travelled as far as OpenGL yet.

      I agree with you that there are cross platform issues, but then there are cross platform issues involved in writing a virtual machine like parrot.

      In any case, I intend to personally persue this project (and that includes writing the code myself). All I ask is that you don't dismiss it out of hand - after all, perl is supposed to make the difficult things possible :)

      ____________________
      Jeremy
      I didn't believe in evil until I dated it.

        Sounds like an absolutely perfect job for a module for CParrotAN. Cool, I don't have to get involved at all! I like those best.
Re: Re: Re: The Secret Features of Perl6
by webfiend (Vicar) on Jun 17, 2003 at 02:53 UTC

    I, for one, completely endorse your idea for a tightly integrated, cross-platform graphics system using Parrot. I even ++'d the node for the suggestion. It's that cool.

    So ... when are you gonna write it? ;-)

    I kid (a little). It is a cool idea, but beyond merely difficult to implement. A fair chunk of Swing's reputation for cross-platform effectiveness is based on nothing more than marketing. Some OS's go out of their way to be functionally different from others. It may or may not be a bad thing, but it does mean you can usually tell when you are running a Java application under OS X. This is despite the fact that some tremendous efforts have been made by Apple and Sun to make Java seem native under OS X.

    If you really want to see something like this happen, you should either start a project or find a similar project. Seriously, go for it. Could be fun!

      So ... when are you gonna write it? ;-)

      Already started :) Using openGL is easy if the libraries are already on the system. The big issue for cross platform stuff is opening a window. Every window system has a different way of doing it. There is a library called GLUT which does does this job on many platforms, but it is event driven (it takes control and calls back functions when something happens). At this point in time, I don't know how to get parrot to hand a function pointer to glut that can be called back. Once I find this capability, I'll see about wrapping GLUT and getting the magic happening.

      So at the moment, I can get parrot to use GLUT to open a window, but then control goes away form parrot and never comes back.

      ____________________
      Jeremy
      I didn't believe in evil until I dated it.

Re: Re: Re: The Secret Features of Perl6
by Anonymous Monk on Jun 17, 2003 at 03:30 UTC
    Kind of like Swing for Java, but without the slow and ugly bit.

    Hmmm... okay, give me a little bit of time, I'll get back to you :).