Thread overview
Harmonia SVN url
May 13, 2005
Andrew Fedoniouk
May 13, 2005
Ben Hinkle
May 13, 2005
Dejan Lekic
May 13, 2005
Andrew Fedoniouk
May 13, 2005
Andrew Fedoniouk
May 13, 2005
Ben Hinkle
May 14, 2005
Andrew Fedoniouk
May 14, 2005
Burton Radons
May 13, 2005
This message is not an official Harmonia announcement - just consider it as "Early Bird release"

svn://harmonia.dyndns.org

It is our operational Harmonia SVN so expect updates
there pretty frequently (each day in fact).
It has read-only anonymous access.
If somebody will want to participate in the project
(porting, components, etc.) let me know I'll provide
credentials.

Current status: architecture of the package is
established and solid. I don't expect any
major changes here. Further direction
is clear: bug fixes, extending functionality of
exsisting components and creating new ones
e.g. harmonia.ui.controls package will definitely grow.

Our plans:
1) Dedicated Wiki site for Harmonia - documentation and
design discussions. As we've got already proposals for
porting I'll try to establish there registry for ongoing porting
projects.
2) To comment code further.
3) To make a copy of it soon on dsource if it is possible, so
dsource will keep stable versions.
4) We have two projects already running which are using
Harmonia for their UI so I hope they will feed Harmonia
by various components..

--------------------------------
Some general facts, thoughts and observations:

0) Harmonia goal is to be easy to use by starters
and to be flexible and yet powerfull for use by experts.

1) Harmonia is agnostic to generic template libraries -
it does not use any libraries except of Phobos.
It does have array(T) and tstring(CHAR) (module: harmonia.types)
but these are just helpers - wrappers for bunch of functions
for standard D arrays.
Harmonia uses Burton's Radons std.boxer and
I'll be happy if it will be included into the Phobos.

2) Harmonia uses wchar[] as main string type. char[] is also used but primarily in places where it suposed to hold only ASCII text.

3) For some structures Harmonia uses lower case names:
rect, point, size, etc. These names highlights the fact that these
types are basic, atomic and has clear copy semantic.
They are low level self sufficient primitives similar to standard int, uint,
etc.

4) harmonia.gx.* package (Graphics, geometry, Image)
made as generic/universal and I highly recommend it for
other future toolkit implementations. It is clear and simple to use
and if will be adopted widely would allow to migrate components
back and forth. Its ideology is close to well known Java Graphics
so I do not expect long learning curves here.

5) We need to do something with date and time in Phobos
E.g. d_time as representation of date_time is just alias there.
But it should be a separate distinct type (typedefed)
to allow it e.g. to be boxed properly. Ideally it should be
struct datetime { d_time dt; } with bunch of date time specific methods.
Minimalistic version of struct datetime is in harmonia.types

6) Reiteration: I think that if D will have external methods for builtin
types they will make D close to ideal. External methods will eliminate
need of pretty artificial (for D) and sometimes ugly wrappers
for e.g. arrays and strings.

Acknowledgements:

1) Thanks to Walter for the D, D is just good. DMD compiler is fast
and pretty reliable (on each odd version number :-)

2) Thanks to Ben Hinkle. I was using his code initially as a manual, in
particular of
how to interact with system from D.

3) Thanks in advance to guys who already agreed to make ports to different platforms.

4) Thanks to the community - to people here whose
advices were professional and helped me a lot.

Andrew Fedoniouk.
Terra Informatica Software, Inc.
British Columbia, Canada.

PS:

SVN server contains smile.dsw - Harmonia and samples project file for
Microsoft Visual Studio 6 which I am using as main IDE.
No other makefiles or Derek's Build.exe configuration files provided yet,
sorry.
If somebody will create them I will appreciate a lot for any help in this
subject.


May 13, 2005
forwarding from the main newsgroup:

"Andrew Fedoniouk" <news@terrainformatica.com> wrote in message news:d630vf$2qdd$1@digitaldaemon.com...
> This message is not an official Harmonia announcement - just consider it as "Early Bird release"
>
> svn://harmonia.dyndns.org
>
> It is our operational Harmonia SVN so expect updates
> there pretty frequently (each day in fact).
> It has read-only anonymous access.
> If somebody will want to participate in the project
> (porting, components, etc.) let me know I'll provide
> credentials.
>
> Current status: architecture of the package is
> established and solid. I don't expect any
> major changes here. Further direction
> is clear: bug fixes, extending functionality of
> exsisting components and creating new ones
> e.g. harmonia.ui.controls package will definitely grow.
>
> Our plans:
> 1) Dedicated Wiki site for Harmonia - documentation and
> design discussions. As we've got already proposals for
> porting I'll try to establish there registry for ongoing porting
> projects.
> 2) To comment code further.
> 3) To make a copy of it soon on dsource if it is possible, so
> dsource will keep stable versions.
> 4) We have two projects already running which are using
> Harmonia for their UI so I hope they will feed Harmonia
> by various components..
>
> --------------------------------
> Some general facts, thoughts and observations:
>
> 0) Harmonia goal is to be easy to use by starters
> and to be flexible and yet powerfull for use by experts.
>
> 1) Harmonia is agnostic to generic template libraries -
> it does not use any libraries except of Phobos.
> It does have array(T) and tstring(CHAR) (module: harmonia.types)
> but these are just helpers - wrappers for bunch of functions
> for standard D arrays.
> Harmonia uses Burton's Radons std.boxer and
> I'll be happy if it will be included into the Phobos.
>
> 2) Harmonia uses wchar[] as main string type. char[] is also used but primarily in places where it suposed to hold only ASCII text.
>
> 3) For some structures Harmonia uses lower case names:
> rect, point, size, etc. These names highlights the fact that these
> types are basic, atomic and has clear copy semantic.
> They are low level self sufficient primitives similar to standard int,
> uint, etc.
>
> 4) harmonia.gx.* package (Graphics, geometry, Image)
> made as generic/universal and I highly recommend it for
> other future toolkit implementations. It is clear and simple to use
> and if will be adopted widely would allow to migrate components
> back and forth. Its ideology is close to well known Java Graphics
> so I do not expect long learning curves here.
>
> 5) We need to do something with date and time in Phobos
> E.g. d_time as representation of date_time is just alias there.
> But it should be a separate distinct type (typedefed)
> to allow it e.g. to be boxed properly. Ideally it should be
> struct datetime { d_time dt; } with bunch of date time specific methods.
> Minimalistic version of struct datetime is in harmonia.types
>
> 6) Reiteration: I think that if D will have external methods for builtin
> types they will make D close to ideal. External methods will eliminate
> need of pretty artificial (for D) and sometimes ugly wrappers
> for e.g. arrays and strings.
>
> Acknowledgements:
>
> 1) Thanks to Walter for the D, D is just good. DMD compiler is fast
> and pretty reliable (on each odd version number :-)
>
> 2) Thanks to Ben Hinkle. I was using his code initially as a manual, in
> particular of
> how to interact with system from D.
>
> 3) Thanks in advance to guys who already agreed to make ports to different platforms.
>
> 4) Thanks to the community - to people here whose
> advices were professional and helped me a lot.
>
> Andrew Fedoniouk.
> Terra Informatica Software, Inc.
> British Columbia, Canada.
>
> PS:
>
> SVN server contains smile.dsw - Harmonia and samples project file for
> Microsoft Visual Studio 6 which I am using as main IDE.
> No other makefiles or Derek's Build.exe configuration files provided yet,
> sorry.
> If somebody will create them I will appreciate a lot for any help in this
> subject.
>
> 


May 13, 2005
> svn://harmonia.dyndns.org

So should I checkout svn://harmonia.dyndns.org directly or is there some trunk there?

-- 
...........
Dejan Lekic
  http://dejan.lekic.org

May 13, 2005
checkout
svn://harmonia.dyndns.org

Andrew.


"Dejan Lekic" <leka@entropy.tmok.com> wrote in message news:d6391e$30h6$1@digitaldaemon.com...
>
>> svn://harmonia.dyndns.org
>
> So should I checkout svn://harmonia.dyndns.org directly or is there some trunk there?
>
> -- 
> ...........
> Dejan Lekic
>  http://dejan.lekic.org
> 


May 13, 2005
I've updated Harmonia SVN

Workaround of bug introduced in DMD v .123.

static array intializations:

struct Two {  int i; }
static Two[12] Twos; // this works
static Two[12] Twos = []; // this does not



May 13, 2005
"Andrew Fedoniouk" <news@terrainformatica.com> wrote in message news:d63cpa$1oa$1@digitaldaemon.com...
> I've updated Harmonia SVN
>
> Workaround of bug introduced in DMD v .123.
>
> static array intializations:
>
> struct Two {  int i; }
> static Two[12] Twos; // this works
> static Two[12] Twos = []; // this does not

What is the second version supposed to do?


May 14, 2005
>> struct Two {  int i; }
>> static Two[12] Twos; // this works
>> static Two[12] Twos = []; // this does not
>
> What is the second version supposed to do?

In fact I have a table of styles for each tag type
Some entries there are initialized for default values
(As you know, some tags have no visual representation)

So my static style table looks like:

static DocStyle[Tag.max] =
[
   Tag.TD: { .... },
   Tag.TABLE: { .... }
   ...
];

And if I not list *all* array elements there I am getting error.

Moreover - example from Arrays section in D documentation will not compile too:

<quote>

Static Initialization of Static Arrays
int[3] a = [ 1:2, 3 ];  // a[0] = 0, a[1] = 2, a[2] = 3

</quote>



May 14, 2005
Bad timing, I won't be able to get back to working on this for awhile (I'm involved in the election), sorry.