1. Regular Expression Change

Just so everyone is aware, as of today, the regular expression code included with Euphoria is PCRE compiled into Euphoria. include/std/pcre.e has been renamed include/std/regex.e. The old include/std/regex.e is now gone as well as it's related tests, docs and code in the backend. For those that have built upon the regex.c/.h that was in SVN for quite some time and also in the 4.0a1, 4.0a2 and 4.0a3 releases, you may need to alter your regular expressions slightly. The core of everything should work w/o issue, however, there is differences with more complex regular expressions.

So, if you are using an up-to-date eubin or compiling from SVN and your regular expressions seem to not function correctly, this is why.

Jeremy

new topic     » topic index » view message » categorize

2. Re: Regular Expression Change

I don't know a lot about the Pearl GNU License
or this Copyright License so I have question.

Does this mean that Euphoria has to display one or
both of these in the interpreter ?

Does it mean that a Euphoria program written by a user
will be required to abide by either of these.

Can the License or Copyright owners stop RapidEuphoria from
from using the code.

Can someone that is knowledgeable about License comment on this ?

Header File said...

Copyright (c) 1997-2008 University of Cambridge


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the University of Cambridge nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


  • /
new topic     » goto parent     » topic index » view message » categorize

3. Re: Regular Expression Change

Bernie,

Here is what I understand is:

1. For Euphoria: we need to include the license file and not remove the copyright from the source files. 2. For programs written in Euphoria, if you use regular expressions, you need to include a copyright statement for the pcre library along with your copyright. Sometimes that is in a doc file, other times in a Help > About screen.

Before beta 1 is release, I'll have the doc page for PCRE updated to be of more assistence with this.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

4. Re: Regular Expression Change

bernie said...
Header File said...

           Copyright (c) 1997-2008 University of Cambridge 
 
----------------------------------------------------------------------------- 
Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met: 
 
    * Redistributions of source code must retain the above copyright notice, 
      this list of conditions and the following disclaimer. 
 
    * Redistributions in binary form must reproduce the above copyright 
      notice, this list of conditions and the following disclaimer in the 
      documentation and/or other materials provided with the distribution. 
 
 .. .. .. 

I don't know a lot about the Pearl GNU License or this Copyright License so I have question.

Does this mean that Euphoria has to display one or both of these in the interpreter ?

IANAL, but I think it means that we need to avoid removing any copyright notice from the PCRA source code, and we must be able to have Euphoria display this (and any other) copyright notice.

bernie said...

Does it mean that a Euphoria program written by a user will be required to abide by either of these.

For interpreted and shrouded code, I don't think so. For bound programs and for translated programs, you may have to be able to display that notice.

I suggest that we add a new built-in to Euphoria that returns the text of this notice so that end-user programs and Euphoria can get the text for display purposes, eg. in an 'About' window etc ...

sequence third_party = eu:third_party_notices() 
if length(third_party) > 0 then 
    printf(1,#' 
________ 
        Third Party Notices: 
        ------------ 
        %s 
        ------------ 
        ', {third_party}) 
end if 
bernie said...

Can the License or Copyright owners stop RapidEuphoria from from using the code.

I don't think that is a restriction in the licence, in so far as the license says we can use it so long as we comply with the copyright notice requirements.

bernie said...

Can someone that is knowledgeable about License comment on this ?

new topic     » goto parent     » topic index » view message » categorize

5. Re: Regular Expression Change

Derek,

The third party copyright message is a good idea, but I wonder if we should include the Euphoria copyright in there as well. It would be nice for people to display an attribution to Euphoria. I wonder if we should give the user a bit of freedom here, for instance, if it were a an app I wrote using EuQT, then I would want to format the message in HTML code, they have a nice about dialog box for that. Others may want to display it in another manner. What about something in regards to:

public function get_copyright_statements() 
    return {  
        { "Euphoria v4.0", "Copyright (c) 2009 ..." }, 
        { "PCRE v7.8.4", "Copyright (c) ..." } 
    } 
end function 

That would require more work on the users part though. Just thinking aloud.

BTW, you can look at quite a few commercial apps and see the PCRE copyright message in their Help>About screens. One comes to mind right away, Apple's web browser, Safari.

Jeremy

new topic     » goto parent     » topic index » view message » categorize

6. Re: Regular Expression Change

jeremy said...

Derek,

The third party copyright message is a good idea, but I wonder if we should include the Euphoria copyright in there as well. It would be nice for people to display an attribution to Euphoria. I wonder if we should give the user a bit of freedom here, for instance, if it were a an app I wrote using EuQT, then I would want to format the message in HTML code, they have a nice about dialog box for that. Others may want to display it in another manner. What about something in regards to:

public function get_copyright_statements() 
    return {  
        { "Euphoria v4.0", "Copyright (c) 2009 ..." }, 
        { "PCRE v7.8.4", "Copyright (c) ..." } 
    } 
end function 

That would require more work on the users part though. Just thinking aloud.

I was just shooting the breeze too. You improvement works for me. Does it need to be a built-in function or just a library routine? I'm undecided.

new topic     » goto parent     » topic index » view message » categorize

7. Re: Regular Expression Change

DerekParnell said...

I was just shooting the breeze too. You improvement works for me. Does it need to be a built-in function or just a library routine? I'm undecided.

Yeah, me as well. Prob needs a little planning, but a pretty easy function to whip up. Hm, built-in or library routine? Something about it smells to me that it should be a built-in, however, it seems so simple to even bother building it in. I'm waffling, but leaning to saying library routine, but then you gotta ask where?

I don't think I really care. Hm, is there a way to get the Euphoria version number from Eu code? i.e. eu_version() "4.0a3"

Jeremy

new topic     » goto parent     » topic index » view message » categorize

8. Re: Regular Expression Change

jeremy said...

... is there a way to get the Euphoria version number from Eu code? i.e. eu_version() "4.0a3"

No. This was lightly talked about a long time ago. It does need one though.

new topic     » goto parent     » topic index » view message » categorize

9. Re: Regular Expression Change

DerekParnell said...
jeremy said...

... is there a way to get the Euphoria version number from Eu code? i.e. eu_version() "4.0a3"

No. This was lightly talked about a long time ago. It does need one though.

It's just a simple step from this to allowing libraries to register their version numbers...

-- myinclude.e 
register({2009,1,1,X,Y,Z...}) -- lib passes version sequence in {Y,M,D,A,B,C} format 
   -- when Euphoria encounters a register() statement, it simply adds the include file ("myinclude.e") 
   -- and its associated version number sequence to a special internal list that can be called by apps 
 
-- myproggie.e 
 
require myinclude.e {2009,1,2} -- a special include that helps with version management? 
--include myinclude.e 
require win32lib.e {2008,8,12} -- wouldn't this be nice? 
 
sequence 
   regs = get_registered_libs() 
 
for t=1 to length( regs ) do 
   -- puts(1, ... ) 
end for 
 
-- etc... 

The version sequence can be anything the library user wants to use, or we can make a standard. I like using dates myself, because it's just easier. The {...A,B,C} designations can cover alpha/beta/RC version numbers.

new topic     » goto parent     » topic index » view message » categorize

10. Re: Regular Expression Change

euphoric said...

It's just a simple step from this to allowing libraries to register their version numbers...

This idea has some merit. You should add it to the wish list.

new topic     » goto parent     » topic index » view message » categorize

11. Re: Regular Expression Change

DerekParnell said...
euphoric said...

It's just a simple step from this to allowing libraries to register their version numbers...

This idea has some merit. You should add it to the wish list.

Back in January of 2007, I added this Feature Request, which is basically the same but a bit verbose (I shouldn't have to tell the interpreter what file is registering the version sequence). I think what I posted here is an improvement over that initial idea.

Anyway, should I go ahead and add it to the Wish List also? Or should I respect DRY? smile

new topic     » goto parent     » topic index » view message » categorize

12. Re: Regular Expression Change

euphoric said...

Anyway, should I go ahead and add it to the Wish List also? Or should I respect DRY? smile

DRY be damned... I added it. grin

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu