www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Harmonia SVN url

reply "Andrew Fedoniouk" <news terrainformatica.com> writes:
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
next sibling parent reply Dejan Lekic <leka entropy.tmok.com> writes:
 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
parent "Andrew Fedoniouk" <news terrainformatica.com> writes:
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
prev sibling next sibling parent reply "Andrew Fedoniouk" <news terrainformatica.com> writes:
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
parent reply "Ben Hinkle" <ben.hinkle gmail.com> writes:
"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 13 2005
parent "Andrew Fedoniouk" <news terrainformatica.com> writes:
 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 13 2005
prev sibling parent Burton Radons <burton-radons smocky.com> writes:
Bad timing, I won't be able to get back to working on this for awhile 
(I'm involved in the election), sorry.
May 14 2005