On 4/7/24 08:21, Waldek Hebisch wrote:
I admit that my long term plan is somewhat different: to do substantial developements at Spad level. That means for example
I agree with this long term goal.
better file handling on Spad level. Of course, there is question how much time Spad plan will take? FriCAS has more than 15 years and there is still a lot of Boot code, so realistically we can not expect fast change here. OTOH Spad code is slowly, but steadily growing, Boot and Lisp oscilate at around fixed level, new things are implemented but also things are removed or moved to Spad code. _My_ main focus when working on Boot code it to prepare transition to Spad. More precisely, IMO big advantage of Spad code is that it forces clearer structure. And main difficulty is that current Boot code has rather convolved structure, for example code is reused in strange ways. Main intent of changes to Boot code is to claryfy structure. When structure is clear enough, then transition to Spad will be relatively easy.
Agree. On this subject, I find that you can call Spad function from Boot. I wonder if i-output.boot is a good target to port to Spad first.
Some sharing is undesirable, but IMO to avoid massive code duplication we should have significant code sharing between subsystems. Which IMO means that trying to divide this between directories is mostly futile
I'm not talking adding new sub-directories. What I meant is to extract commonly used functionality into new files.
To put it differnely, I think that we should try to make sure that given part works with appropiate "types" and in particular that reuse respect types. Main cause of problems with reuse is that diffent users of given functionality have different structure of data (effectively different "type"). Boot does not have type declarations, but one possible way forward is to add assertions, that is signal errors when data has unexpected structure. Coming back to your specific question, we can add new file for utility type routines, but I do not expect such file to get big and I prefer to keep 'src/interp' as a flat directory.
I'll modify "dbReadLines" in-place then. And I'll come up with a list of functions that should exist in this new file "util.boot". - Qian -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/2d9100c2-6710-46f6-b942-0c076eae5677%40gmail.com.