Hi I am facing the following error while compilation ------------------------------------------- *** trying to redefine a built-in predicate: (:) / 2 before line 49 in the file /users/angrish/fsa/eclps/bin/i386_linux/libfsa/fsa_array.pl ---------------------------------------------- There is no (:) / 2 predicate defined before it!!!! In fact, no where in all the files I am compiling. Some story: I am compiling an Eclipse source file (firstFile) declared as a module. The "firstFile", through the following statement: :- use_module([ anotherFile]). uses declarations of "anotherFile". The error comes as a result of this file's compilation. I am compiling the original file as:- lib(firstFile). I am NOT using any compatibility package Thanks Siddharth On 4/30/07, Kish Shen <kisshen_at_...5...> wrote: > Hi, > > I believe you are trying to not use the compatibility libraries to do > this now, but it may still be useful to look at how the compatibility > module does things, and to look at the manual chapters on modules for > both SICStus and ECLiPSe, and understand how the two are different, and > so how you can change things from one to the other... > > Siddharth Angrish wrote: > > Hi > > > > I am trying to port a big prolog code (FSA6) to ECLiPse. The > > code is compatible > > with swi/sicstus/yap(SSY) prologs. I have a few queries regarding > > predicate delarations: > > > > 1) SSY support the keyword, multifile. Does EClipSe use "dynamic" for > > the purpose? > > > > > dynamic does give you what multifile does, i.e. you can define clauses > for the same predicate in different files... > > 2) Does "dynamic" also serve the purpose of the keyword > > "discontiguous" which is there > > in all SSY > > > > 3) SSY support the following declaration: > > multifile user:help_info/4. > > which I think says that-> To the predicate help_info/4, "defined" > > in module "user", > > new clauses can be added in the current file. > > > > I modified it to: (only in the first file) > > dynamic user:help_info/4 > > > > However, this module does not exist anywhere in the code I > > am porting. > > I suppose it is created on the fly in SSY, a feature which ECLIPSE > > does NOT support. > > > > > This is not quite correct -- you can create modules `on the fly' (i.e. > during execution of code at runtime) with ECLiPSe, but you must do it > explicitly. The difference is that on Prologs such as SWI Prolog, when > you refer to an a new module, it is created implicitly. > > To circumvent the "non-availability" of this feature I created the user module > > myself as following: > > -----------user.ecl------------------ > > :- module(user). > > help_info(A,B,C,D). > > ---------------------------- > > Then in the module I am working on, I included the delcaration > > :- lib(user). > > > > Upon compilation I am getting the error: ( I am using-> > > lib(myLibraryName). to compile) > > [[type error in dynamic user : help_info / 4 in module fsa_array]] > > > > what can be the problem? > > > > 4) How can one see all the "loaded modules " in the current instance of eclipse > > > > 5) Is there any way/need of getting a "public declaration" for a > > predicate in ECLIPSE > > > > > > Many thanks in advance ;) > > Siddharth > > > > _______________________________________________ > > ECLiPSe-Users mailing list > > ECLiPSe-Users_at_...2... > > http://www.crosscoreop.com/mailman/listinfo/eclipse-users > > > > Cheers, > > Kish >Received on Mon Apr 30 2007 - 20:02:20 CEST
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST