1. Shawn and Backend inclusion

Forked from Re: Wee: standard installation

SDPringle said...

Being willing to include Wee but not the include file it needs seems a bit weird.

It isn't going to matter. As long as you keep it available for those who need it, what is the benefit to including this with the distribution? If the admins agreed with me, sockets, regex, and http would not be included in the core c files. The minute you include it with the interpreter, they will talk about adding it to the backend. I know them. ;)

Shawn Pringle

This is so wrong that it's hard to know where to start.

I'll start with http. That's still written in Euphoria, it's not in the C backend.

Regex could go out of the backend. We've talked about it before, but it's extra work with little visible end user benefit. The reason for regex to be done in the backend was for DOS (where we couldn't load it as a so or something), and is no longer valid.

sockets went into the backend because it was easier to do it in C than using pure Eu to wrap the libc/stdlib calls. A lot of C macros for BSD sockets that were hard to wrap for example, especially across Unix platforms (where each macro had a slightly different value on a different OS - bleh). I suppose it could have been done as a C so shim though (where the hard to wrap macros are wrapped in easy-to-wrap C function calls, and then the .so file is wrapped in an Euphoria include file).

new topic     » topic index » view message » categorize

2. Re: Shawn and Backend inclusion

It seems to me that the primary reason for including something in the backend is to make it portable, that is, to embed it into the interpreter when it cannot be written as part of the standard library as Jim described. Creating external shim libraries would be considered non-portable and change Euphoria from a single executable file into more of a runtime. Counter to that, I would argue that cramming a bunch of things into the interpreter would certainly bloat it up over time and that would be bad too. A good example is libcurl or libeay32 (SSL) - they'd easily add 1-2 MB to the interpreter each.

The other issue I see is that Wee is distributed with binary files outside of its source, namely the Scintilla shared libraries. If we were to pull Wee in as part of the Euphoria source, we would (should?) also include the source for Scintilla and build those shared libraries from source. Although, another option would be to just script the download of Wee from the web when we build the packages for distribution (zip, deb, etc.)

Just my two cents.

-Greg

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

Search



Quick Links

User menu

Not signed in.

Misc Menu