Page 1 of 1

D-Lib 2.0 -update-

Posted: Sat Oct 06, 2007 2:49 pm
by Mischa
Hi!

Here is the new D-Lib beta:
http://www.thinkrelative.de/dlib/download/dlib.exe

(It's a selfextracting archive, so don't be afraid of the executable)


The changes are extensive.
Here are only a few:

-Help file (Big thanks goes to Dean Hodgson)
-Structures added (Viewer inclusive)
-Scintilla bases editor
-For/Next
-Repeat/Until
-Select/Case
-Synonyms
-Now there are 300 UserFunctions included.
(More than a half are written or converted by Dean.
You can get the sourcecodes from the web page)
-...

Maybe someone will take a look

Regards,
Mischa

Posted: Sun Oct 07, 2007 3:31 pm
by Mischa
Bugfix: Editor, some UserLibs
Added: Drawing example

Regards,
Mischa

Posted: Sun Oct 07, 2007 3:37 pm
by tinman
Excuse my ignorance, but what is it? What is it for?

Posted: Sun Oct 07, 2007 3:44 pm
by Mischa
Sorry.
(The last D-Lib posting seems to be to long ago)
http://www.thinkrelative.de


It's a (byte code) script language.
You can run scripts via Runtime or Dll, but
you can also create stand alones.

Regards,
Mischa

Posted: Mon Oct 08, 2007 12:51 pm
by Iron_Meiden
Good ! Suggestions:
1) Throw out synonyms and just create normal macrosystem.
2) Replace StructMemory to PB's declaration.
3) Add Quad\Double data-types
4) Add .DLL-creation.
5) Make Editor's colors customizable.

Ah, and... Where "eval" procedure ? I can't find it.

P.S. (Freeware PB... Sweet dream...)

Posted: Mon Oct 08, 2007 10:48 pm
by Mischa
Thanks for reply.

The PBs macro system is much more complex.
Synonyms are simple 'one to one' replacer.

D-Lib is a byte-code compiler/interpreter, so dll
creation makes not realy sense.

Editor colors are customizable.
Open ..\misc\edit.dat and see. 8)
Ok, not a nice dialoge, but it works.

What Do you concrete mean wit missing "eval" procedure?
For what.

Regards,
Mischa

Posted: Mon Oct 08, 2007 10:59 pm
by Pantcho!!
Mischa, You are one of the best programmers i have seen.

Good job!

Posted: Wed Oct 10, 2007 10:14 pm
by kinglestat
This looks interesting
very nice work

how do you use it from a DLL?
In effect I didnt find a dlib.dll

Posted: Thu Oct 11, 2007 2:51 pm
by Mischa
Hi!

You can find DRun.dll at two places:

dlib\misc\ and inside the dlib PB communication example directoy.
Take a look at this example and read also the help docs
to understand how it works.

Regards,
Mischa

Posted: Sun Oct 14, 2007 11:04 am
by kinglestat
It is not what I mean....though this is an interesting way (what you showed)

How can you execute code realtime from pb?
Ie dlib2 code created on the fly?

Posted: Tue Oct 16, 2007 3:03 pm
by Iron_Meiden
The PBs macro system is much more complex.
...and much more useful...
D-Lib is a byte-code compiler/interpreter, so dll
creation makes not realy sense.
It's always make sense.
What Do you concrete mean wit missing "eval" procedure?
http://en.wikipedia.org/wiki/Eval

Posted: Thu Oct 18, 2007 10:09 am
by Mischa
Hi!

@Pantcho
Thank you, but i'm not so good, as it seems.

@kinglestat

The D-Lib both runtimes (exe/dll) can only interpret byte code.
But you are allowed to include the compiler in your own project
and use it by commandline.

@Iron_Meiden

Sure, the PBs macro system is more useful, but:
-There was no macro system integrated before PB3.9/PB4.0?
-D-Lib synonyms are simple replacer, nothing more.
-Fred is a brilliant power programmer.
-I am only a hobby coder, a novice
Do you mean the D-Lib synonyms are useless?

No, dll creation makes absolutley no sense in this case.
D-Lib works on byte code base, so it is much slower than native
code. Sure, there would be a way to implement the functionallity to
create a runtime dll with atached byte code, but D-Lib should be
the 'frontend', not the 'backend' of any project. I think its not
a good idea to produce 'slow-downed' standard dlls.
D-Lib internal you can (easy) create userlibs. And of course
D-Lib can handle standard dlls and use/integrate them.

Thanks for the 'eval' links. I understand the concept now.
Most (popular) interpreted languages have incuded it, but not all.
The 'eval' function is a kind of real-time interpreting by string.
This is useful to handle dynamic source parts.
But in the moment the D-Lib compiler produces a (faster) byte code.
There are no variable-names in the output integrated, only id's.
Besides the runtime must be much bigger to alow real-time interpreting,
cause i have to integrate all compiler functionallity to make 'eval'
possible. But in all cases, real-time interpreting would be a slow down.
Is the eval thing so important. :?

Regards,
Mischa

Posted: Thu Oct 18, 2007 4:05 pm
by Iron_Meiden
Do you mean the D-Lib synonyms are useless?
No.
I think its not
a good idea to produce 'slow-downed' standard dlls.
Sometimes it's can be very useful.
Thanks for the 'eval' links. I understand the concept now.
Most (popular) interpreted languages have incuded it, but not all.
The 'eval' function is a kind of real-time interpreting by string.
This is useful to handle dynamic source parts.
But in the moment the D-Lib compiler produces a (faster) byte code.
There are no variable-names in the output integrated, only id's.
Besides the runtime must be much bigger to alow real-time interpreting,
cause i have to integrate all compiler functionallity to make 'eval'
possible. But in all cases, real-time interpreting would be a slow down.
Is the eval thing so important.
Hmm... How about something like on FORTH's vocalubraries, which contains addresses of each variable\procedure ?