1. Bliss update

-------Phoenix-Boundary-07081998-

	BLISS UPDATE

I have just released the latest version of Bliss to the
archives. It has (hopefully) reached maturity -- the only
planned addition is making runtime errors into exceptions.

It has been renamed 'Bach' because 'Bliss' was already taken.
I liked Bliss. I was about to decide that a second Bliss was
acceptable when I checked to see if any other language name
was multiply used. Sure enough, I found one -- Bliss is used twice!

Bach refers not to the composer, but to the Welsh word for little, or
'little one'.  The 'ch' is pronounced as in the Scottish 'loch'.

Changes:

1) Mersenne random # generator.
   drand() returns 0 <=3D N <=3D 1.0
   irand(l, h) returns l <=3D N <=3D h
   I thought it produced a more random sequence, but who knows=3F
   It is nearly twice as fast. EU:1440  MER_FLT:3200 MER_INT:2430

2) insert(seq, object, index) inserts an object into a list
   <for maintaining sorted lists>

3) exchange (seq, index1, index2) exchange items in a sequence
   This was added to speed sorts, and extraction from a sequence.
   The database bechmark goes from EU:600 to Bach:800   

4) Instance initialization with new(). If a class has a method
    called new(), it may be called when creating an instance:
      Point p(2,3)

5) Overriding. A class may have members which are named the
   same as a member of a parent.

6) Parent access. The '..' operator may be used to access a
   member of a parent.

7) Member constants are allowed.

8) Bach no longer searches the subdirectories of the home
   'include' directory. (Subdirectories of EUDIR\include are
   still searched.

9) The sprintf() function now understands '%c' for printing characters.

10) The '=3F=3F' operator acts just like '=3F' except it pauses after 
    output.

11)  '$' and '_' are alphabetic characters.

12) A formal parameter whose name begins with '$' will not draw
    a warning message if it is not referenced.


Karl Bochert





-------Phoenix-Boundary-07081998---

new topic     » topic index » view message » categorize

2. Re: Bliss update

Here's what I think someone should add to Euphoria (for free!), and only
this. It's not a good idea adding too many builting functions with strange
names which you can write in include files, like you did with exchange(),
drand()...

Maybe I'll do this someday. In order of priority:

Structures:
-------------------------------
These are only to save data and help organize data, no complications,
simple, no routines allowed in them. Example:

structure Person
    sequence name
    sequence surname
    integer age
end structure

Person person
person.name = "George"




Classes:
-------------------------------
Nothing complicated, just allow one include file to be used as a class,
global routines and variables as public class members. Example:

include circle.e as Circle

Circle circle1
circle1.radius = 5
circle1.draw ()

Circle circle2
circle2.draw ()



Enum, like in C++, it's very useful for clear code:
--------------------------------------------

enum bool
    false
    true
end enum

These are not good idea:
multiline comment, goto,

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

3. Re: Bliss update

On  0, 10963508 at europeonline.com wrote:
> 
> Here's what I think someone should add to Euphoria (for free!), and only
> this. It's not a good idea adding too many builting functions with strange
> names which you can write in include files, like you did with exchange(),
> drand()...
> 
> Maybe I'll do this someday. In order of priority:
> 
> Structures:
> -------------------------------
> These are only to save data and help organize data, no complications,
> simple, no routines allowed in them. Example:
> 
> structure Person
>     sequence name
>     sequence surname
>     integer age
> end structure
> 
> Person person
> person.name = "George"
> 
> 
> Classes:
> -------------------------------
> Nothing complicated, just allow one include file to be used as a class,
> global routines and variables as public class members. Example:
> 
> include circle.e as Circle
> 
> Circle circle1
> circle1.radius = 5
> circle1.draw ()
> 
> Circle circle2
> circle2.draw ()
> 
> 
> Enum, like in C++, it's very useful for clear code:
> --------------------------------------------
> 
> enum bool
>     false
>     true
> end enum
> 
> These are not good idea:
> multiline comment, goto,
> 

I think that goto does have its uses, but after implementing it in
preproc,
I think that it is not really that necessary.

However, I do think that multiline comments ARE very useful! Its easier
to
comment out a few hundred lines of code using multline comment instead
of a
few hundred single-line comments. Even if ed's F12 key speeds this up
(but not
enough in my IMHO) its still far too much work to remove them.

Since linux users dont have any modified interpreters, and since I
don't have
the source, I instead resort to using preprocessors to implement all
these
features. (Right now I'm working on a class preprocessor, structures
are simple
by comparision. In fact, I'm thinking about implementing structures
using
the underlying class code. This makes strucures with class members and
classes
which use structures much easier to implement. The hard part is merging
this
with rparse.) It seems that all of the modified interpreters are for
windows
only. Also the major widget library is for the windows version only.
Hmmmmm....

jbrown


-- 
http://fastmail.fm - Click it, you'll feel better

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

4. Re: Bliss update

Karl wrote:

> Yes, but I probably will not offer a Dos version, and *nix is probably
> far on the future. 

If not having a copy of Linux running on your machine is an issue, there are 
a number of Linux distributions that boot and run off a CD. Most of these 
also allow you to allocate a persistant 'anchor' on your DOS drive, so you 
can have a full Linux distribution without ever having to install it on your 
machine.

Distributions include:

   DemoLinux
   Knoppix
   Virtual Linux

I'm personally waiting for CheapBytes to release the Knoppix CD so I can 
preview the cool new KDE stuff. (I've got Mandrake 8.2 at the moment). I 
already have the DemoLinux CD, and it's pretty cool.

-- David Cuny

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

5. Re: Bliss update

Hi J!

On 11 Aug 2002, at 1:22, jbrown105 at speedymail.org wrote:

> 
> However, I do think that multiline comments ARE very useful! Its easier
> to comment out a few hundred lines of code using multline comment
> instead of a few hundred single-line comments. Even if ed's F12 key
> speeds this up (but not enough in my IMHO) its still far too much work
> to remove them.
> 
Well, you can use rectangular selections of "-- "'s and then delete 
them. You can also use some regex (on S & R) to do it for you as well. 
It works for me. 

-- Euler

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

Search



Quick Links

User menu

Not signed in.

Misc Menu