[idle] Re: register<->request
- From: Rangel Dokov <rangel_dokov@xxxxxx>
- To: idle@xxxxxxxxxxxxx
- Date: Sat, 26 Jul 2003 19:32:20 +0300
On Saturday 26 July 2003 07:58, you wrote:
>hmm ranga dokato ti cetoh mail-a me oseni edna idea. Kakvo ste kazete za
> slednoto : znaci da napravim taka. Vseki modul kato se load-va si kazva koi
> sa mu export funktion-ite koito predlaga. Saotvetno IDLe gi load-va .. tova
> triabva stane s niakav dbase, stoto inace mamata si traka i sled tova
> saotvetno, kogato niakoi drug napravi request kam niakva exportnata
> function samia IDLe pravi lookup v db-to i load-va modul-a i izplaniava
> requesta. Tova mi se struva pritty neat kato idea.
A na men ne mi se struva neat.
Pyrvo stava pylen haos, shtoto nikoj ne koordinira modulite (tova e ideqta) i
sledovatelno mozhe nqkolko modula da iskat da exportnat edna i syshta
funkciq bez da pravqt edno i syshto neshto. Osven tova si predstavi namespace
pollution-a kojto predizvikvat desetki moduli bez standarten interface.
Ot druga strana potrebitelq nqma nqkakyv standarten interface kym
IDLe osven core funkciite s koito si zarezhda moduli. A tova ne e idejno
zashtoto po tozi nachin kakyv e vyobshte smisyla ot IDLe. Vseki modul
mozhe da se kompilira kato shared library i potrebitelq sam si se linkva kym
tqh ili oshte po-dobre si gi dlopen v runtime. IDLe stava prakticheski
bezpolezen ako ne vkarva malko red v cqlata situaciq.
Ako ne sym bil qsen v predniq post eto kakvo predlagam kato primeren
interface:
IDLE_Init(IDLE_CAPABILITY_ID functionality_request,
MODULE_ID prefered_modules)
IDLE_Compile(IDLE_SOURCE_CODE code,
IDLE_COMPILER_FLAGS flags);
IDLE_Compile_Extended(IDLE_SOURCE_CODE code,
IDLE_COMPILER_FLAGS flags,
IDLE_EXTRA_INPUT einput,
IDLE_EXTRA_OUTPUT eoutput);
Vsichko koeto e s glavni bukvi shte trqbva da se utochni kato tip danni sega
ne mi se misli. Osven tova shte ima oshte mnogo vhodni tochki vazhnoto e da
imat 2 raznovidnosti: standartna (taka kakto IDLe team e kazal che izglezhda)
i extended, koqto predava specifichni za daden modul komandi i koqto e
unsupported by IDLe devteam. Standartnite interface-i shte kazvame kakvo bi
trqbvalo da pravqt i vseki kojto pishe moduli i iska da predostavi interface
trqbva da se syobrazqva malko s tqh. Primerno ako kompilatora ti ne pravi
optimizacii prosto shte ignorira optimize flaga, no ne trqbva da pravi neshto
drugo.
A shto se otnasq do IDLE_Init funkciqta tam shte trqbva dosta da se pomisli,
tova e samo primer.
--
Rangel Dokov
- Follow-Ups:
- [idle] Re: register<->request
- From: Ivaylo Riskov
- References:
- [idle] register<->request
- From: Ludmil Antonov
Other related posts:
- » [idle] register<->request
- » [idle] Re: register<->request
- » [idle] Re: register<->request
- » [idle] Re: register<->request
- » [idle] Re: register<->request
- » [idle] Re: register<->request
- [idle] Re: register<->request
- From: Ivaylo Riskov
- [idle] register<->request
- From: Ludmil Antonov