1. RE: A Euphoria DLL?

Jonas  Temple wrote:
> Since everyone has been talking about wish lists for V2.4, I thought I 
> would throw my 2 cents in.
> 
> What I would like to see is the ability to create a .dll with the 
> binder.  I know that I can get the translator and then compile to make a 
> 
> .dll but that doesn't make any sense to me.
> 

Can you elaborate on just what doesn't make sense to you?  Do you mean 
that literally, or you just don't want to do it that way for some 
reason?

new topic     » topic index » view message » categorize

2. RE: A Euphoria DLL?

Andy,

It doesn't make sense in that I really don't want to have to fight with 
a C compiler to get my Euphoria code into a .dll.  I certainly could do 
that (I have Borland C++ 5.something floating around on my hard drive 
somewhere) but it would be nice to not have to use the compiler.

Jonas
Andy Serpa wrote:
> 
> Jonas  Temple wrote:
> > Since everyone has been talking about wish lists for V2.4, I thought I 
> > would throw my 2 cents in.
> > 
> > What I would like to see is the ability to create a .dll with the 
> > binder.  I know that I can get the translator and then compile to make a 
> > 
> > 
> > .dll but that doesn't make any sense to me.
> > 
> 
> Can you elaborate on just what doesn't make sense to you?  Do you mean 
> that literally, or you just don't want to do it that way for some 
> reason?
> 
>

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

3. RE: A Euphoria DLL?

Jonas, is right, why do we have to rely on another language to compile 
or make dlls. i mean the process is long and tiring why can't we just 
simply use euphoria, this brings us back to what chris recently 
said"Euphoria has the potential to be the best language but.....not lots 
is being done to it". Sorry rob but i agree with chris on that one

Jonas  Temple wrote:
> Andy,
> 
> It doesn't make sense in that I really don't want to have to fight with 
> a C compiler to get my Euphoria code into a .dll.  I certainly could do 
> that (I have Borland C++ 5.something floating around on my hard drive 
> somewhere) but it would be nice to not have to use the compiler.
> 
> Jonas
> Andy Serpa wrote:
> > 
> > Jonas  Temple wrote:
> > > Since everyone has been talking about wish lists for V2.4, I thought I 
> > > would throw my 2 cents in.
> > > 
> > > What I would like to see is the ability to create a .dll with the 
> > > binder.  I know that I can get the translator and then compile to make a 
> > > 
> > > 
> > > .dll but that doesn't make any sense to me.
> > > 
> > 
> > Can you elaborate on just what doesn't make sense to you?  Do you mean 
> > that literally, or you just don't want to do it that way for some 
> > reason?
> > 
> >

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

4. RE: A Euphoria DLL?

Jonas  Temple wrote:
> Andy,
> 
> It doesn't make sense in that I really don't want to have to fight with 
> a C compiler to get my Euphoria code into a .dll.  I certainly could do 
> that (I have Borland C++ 5.something floating around on my hard drive 
> somewhere) but it would be nice to not have to use the compiler.
> 

Jonas:
  There is no way to create a dll without a compiler.
  The reason is that it has to be able to interface
  with the operating system and must be structured in a
  certain way.

Bernie

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

5. RE: A Euphoria DLL?

> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]

> Jonas:
>   There is no way to create a dll without a compiler.
>   The reason is that it has to be able to interface
>   with the operating system and must be structured in a
>   certain way.

The same could be said for a normal executable, I think.  Why couldn't you
have a 'binddll' the same as the regular bind?  It would be more
complicated, but not not impossible.  Here's what it might look like (of
ocurse, I'm speculating on how a bound program works, but...):

All of the Eu code could be 'included' in the startup case for LibMain.
Then you'd need to expose the global routines.  This could be done by having
the bind utility create a stub that effectively links to the routine_id's of
the global routines.  The hard part IMHO is figuring out the structure of
the stub.

Matt Lewis

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

6. RE: A Euphoria DLL?

If you want to compile DLL's, you have to buy the translator. Registered 
Euphoria is cheap. It's worth having to buy the translator. That's a big 
selling feature of the translator. If Rob were to implement DLL 
compilation directly into EU, I'd suggest to him that he distibute it as 
a separately purchasable extension to the registered version. Rob 
already practically gives away his product. I wouldn't hesitate to spend 
an extra $20 (It's gotta be worth less than EU2C) to be able to compile 
DLL's without the hassles.

Chris

jordah ferguson wrote:
> Jonas, is right, why do we have to rely on another language to compile 
> or make dlls. i mean the process is long and tiring why can't we just 
> simply use euphoria, this brings us back to what chris recently 
> said"Euphoria has the potential to be the best language but.....not lots 
> 
> is being done to it". Sorry rob but i agree with chris on that one
> 
> Jonas  Temple wrote:
> > Andy,
> > 
> > It doesn't make sense in that I really don't want to have to fight with 
> > a C compiler to get my Euphoria code into a .dll.  I certainly could do 
> > that (I have Borland C++ 5.something floating around on my hard drive 
> > somewhere) but it would be nice to not have to use the compiler.
> > 
> > Jonas
> > Andy Serpa wrote:
> > > 
> > > Jonas  Temple wrote:
> > > > Since everyone has been talking about wish lists for V2.4, I thought I 
> > > > would throw my 2 cents in.
> > > > 
> > > > What I would like to see is the ability to create a .dll with the 
> > > > binder.  I know that I can get the translator and then compile to make a
> > > >
> > > > 
> > > > 
> > > > .dll but that doesn't make any sense to me.
> > > > 
> > > 
> > > Can you elaborate on just what doesn't make sense to you?  Do you mean 
> > > that literally, or you just don't want to do it that way for some 
> > > reason?
> > > 
> > >

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

7. RE: A Euphoria DLL?

Matthew Lewis wrote:
> 
> 
> > -----Original Message-----
> > From: Bernie Ryan [mailto:xotron at localnet.com]
> 
> > Jonas:
> >   There is no way to create a dll without a compiler.
> >   The reason is that it has to be able to interface
> >   with the operating system and must be structured in a
> >   certain way.
> 
> The same could be said for a normal executable, I think.  Why couldn't 
> you
> have a 'binddll' the same as the regular bind?  It would be more
> complicated, but not not impossible.  Here's what it might look like (of
> ocurse, I'm speculating on how a bound program works, but...):
> 
> All of the Eu code could be 'included' in the startup case for LibMain.
> Then you'd need to expose the global routines.  This could be done by 
> having
> the bind utility create a stub that effectively links to the 
> routine_id's of
> the global routines.  The hard part IMHO is figuring out the structure 
> of
> the stub.
> 

Matt:
   A bound program is just the executable interpeter with
   a executable program code bound on to the backend of it.
   This would be very different than creating a DLL.

Bernie

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

8. RE: A Euphoria DLL?

Oh I absolutely agree.

I would definitely be willing to cough up extra bucks for the ability to 
create a .dll with a bind or binddll or whatever.  

Hear that Rob?  $$$$$$$$$$$$$$$$$$$$$$$$  Although if it came with the 
standard Eu registered package I wouldn't complain.  :)

I guess another reason I would like this is if there is a bug in a .dll 
I created with translated code I would have to decide if the bug is in 
my code, the translated code or the compiler that created the .dll.  I 
REALLY like that if my Eu code has a bug I can just go to the source to 
track it down.  

Jonas
bensler at mail.com wrote:
> If you want to compile DLL's, you have to buy the translator. Registered 
> 
> Euphoria is cheap. It's worth having to buy the translator. That's a big 
> 
> selling feature of the translator. If Rob were to implement DLL 
> compilation directly into EU, I'd suggest to him that he distibute it as 
> 
> a separately purchasable extension to the registered version. Rob 
> already practically gives away his product. I wouldn't hesitate to spend 
> 
> an extra $20 (It's gotta be worth less than EU2C) to be able to compile 
> DLL's without the hassles.
>

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

9. RE: A Euphoria DLL?

> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]

> Matt:
>    A bound program is just the executable interpeter with
>    a executable program code bound on to the backend of it.
>    This would be very different than creating a DLL.

Different, yes, but how much different?  Rather than lumping Eu code to the
normal, executable interpreter, it would be bound to a dll-compiled version.
The bind utility would then adjust the stub to reflect the entry points for
the dll.  Again, other than figuring out the proper structure for the entry
points, I don't see why this would be too difficult. :)

Matt Lewis

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

10. RE: A Euphoria DLL?

The only real difference from an Eu perspective is that code you intend 
to be in a .dll would have to be created as a .dll first before running 
the interpreter against the main code.  In other words, no interpreter 
for code intended to be a part of a .dll.  I may be speaking out of turn 
here (Rob) but it seems logical to me.  This isn't really anything 
new...C programmers have to do this all the time.

Jonas
Matthew Lewis wrote:
> 
> 
> > -----Original Message-----
> > From: Bernie Ryan [mailto:xotron at localnet.com]
> 
> > Matt:
> >    A bound program is just the executable interpeter with
> >    a executable program code bound on to the backend of it.
> >    This would be very different than creating a DLL.
> 
> Different, yes, but how much different?  Rather than lumping Eu code to 
> the
> normal, executable interpreter, it would be bound to a dll-compiled 
> version.
> The bind utility would then adjust the stub to reflect the entry points 
> for
> the dll.  Again, other than figuring out the proper structure for the 
> entry
> points, I don't see why this would be too difficult. :)
> 
> Matt Lewis
> 
>

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

11. RE: A Euphoria DLL?

Matthew Lewis wrote:
> 
> 
> Different, yes, but how much different?  Rather than lumping Eu code to 
> the
> normal, executable interpreter, it would be bound to a dll-compiled 
> version.
> The bind utility would then adjust the stub to reflect the entry points 
> for
> the dll.  Again, other than figuring out the proper structure for the 
> entry
> points, I don't see why this would be too difficult. :)
> 

Matt:
   The code that is used in a bound form is byte codes
   that only the interpeter understands. Now if the
   code is used in the DLL, it has to be "C" code or some
   big lump of binary code that has to interfaced with
   "C" code so the DLL can export it or expose each
   routine to the outside world. Also the routines have
   to be able to call other code in other DLLs and also
   comunicate with the interpeter. 
   
   That sounds like a lot of work to get around someone
   just translating a program and compiling it with a compiler.
   
   I rather see your idea of trying to interface things
   with COM that would create a whole new world for euphoria.   


Bernie

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

12. RE: A Euphoria DLL?

> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]

>    The code that is used in a bound form is byte codes
>    that only the interpeter understands. Now if the
>    code is used in the DLL, it has to be "C" code or some
>    big lump of binary code

Why does the Eu code need to be C or binary for a dll if it doesn't for an
exe?

>    that has to interfaced with
>    "C" code so the DLL can export it or expose each
>    routine to the outside world.

DLL's call Eu routines all the time (call_back), and they're still in byte
code form.  I assume (I don't have the source) that the way Eu does this is
to set up a 'fake' entry point into the interpreter that knows to execute
the Eu function within the interpreter.  Currently, (I suspect) the fake
call_back generation is done on the fly, as you make calls to call_back().
Why couldn't 'bindd' do this at bind time, inserting the entry point code
whereever it needs to be in order for the outside world to see it as an
entry point?  Then generate the stub so that everyone can see the entry
points.

>    Also the routines have
>    to be able to call other code in other DLLs and also
>    comunicate with the interpeter.

Eu apps (interpreted and compiled) do this all the time.  I don't understand
why this would be a stumbling block.

-External app calls LoadLibrary
-Interpreter inside the DLL initializes and runs any top level code
-External app makes calls to the Eu code through pre-generated call_back's
(perhaps for all global routines)

>    That sounds like a lot of work to get around someone
>    just translating a program and compiling it with a compiler.

This is a bit more complicated than that, though.  You've found out yourself
that different compilers have their own quirks and errors that are not easy
to pin down.  By using bound dlls, it's possible to avoid some of those
errors.  Besides, the main reason for compiling (that people have raised) is
for speed.  If you don't need speed for an executable, you'll probably just
use bind.  I think the same logic goes for dlls.

>    I rather see your idea of trying to interface things
>    with COM that would create a whole new world for euphoria.

Binding dll's could also work in favor of this, for the same reasons as
above.  AFAIK, COM objects aren't really any different from DLL's from the
compiler's stand point (typelib stuff aside).

Does anyone know of any other language that will create dll's without actual
compilation to machine code?

Matt Lewis

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

13. RE: A Euphoria DLL?

Jonas  Temple wrote:
> Andy,
> 
> It doesn't make sense in that I really don't want to have to fight with 
> a C compiler to get my Euphoria code into a .dll.  I certainly could do 
> that (I have Borland C++ 5.something floating around on my hard drive 
> somewhere) but it would be nice to not have to use the compiler.
> 

Well, ok, but I don't understand why it would be a "fight".  I am 
*completely* C illiterate, and every time I try to use any compiler to 
do anything OTHER than Euphoria stuff, I can't get it to work.

BUT, I make Euphoria .exe's and .dll's with the translator & Borland (& 
now Watcom, thanks to Euman) all the time without a hitch.  How is 
typing "emake" a fight?

All of these other methods people are trying to come up with seem 
incredibly more complicated...

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

14. RE: A Euphoria DLL?

Matthew Lewis wrote:
> 
> 
> Different, yes, but how much different?  Rather than lumping Eu code to 
> the
> normal, executable interpreter, it would be bound to a dll-compiled 
> version.
> The bind utility would then adjust the stub to reflect the entry points 
> for
> the dll.  Again, other than figuring out the proper structure for the 
> entry
> points, I don't see why this would be too difficult. :)
> 

Matt:
   The code that is used in a bound form is byte codes
   that only the interpeter understands. Now if the
   code is used in the DLL, it has to be "C" code or some
   big lump of binary code that has to interfaced with
   "C" code so the DLL can export it or expose each
   routine to the outside world. Also the routines have
   to be able to call other code in other DLLs and also
   comunicate with the interpeter. 
   
   That sounds like a lot of work to get around someone
   just translating a program and compiling it with a compiler.
   
   I rather see your idea of trying to interface things
   with COM that would create a whole new world for euphoria.   


Bernie

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

Search



Quick Links

User menu

Not signed in.

Misc Menu