Software needed to be developed. #33
Replies: 6 comments 15 replies
-
Beta Was this translation helpful? Give feedback.
-
|
Needed will be translators for |
Beta Was this translation helpful? Give feedback.
-
|
Nice to see that you converge to my proposal made during the first meeting (30.11.2024) :-) I fully agree that a tool/library should be provided with the standard, written in C (at least exposed through a C API), in order to spread its use. The parts I was proposing:
|
Beta Was this translation helpful? Give feedback.
-
|
The strategy we adopted in Xsuite was to have a basic object model in C (relatively simple with limited dynamic features, movable in memory, https://github.com/xsuite/xobjects) and leave the expressions for the host language/framework (in our case Python) to seamlessly meld with the goodies of the host ecosystem. |
Beta Was this translation helpful? Give feedback.
-
|
Moving #85 here: I would like to discuss a bit more seriously the choice of using language-specific PALS implementations (e.g. PALS-python, future PALS-julia, etc) as opposed to a single shared C library. In my view, there should be one single shared C library which contains all of the PALS routines, and then light wrappers of this C library in the various languages. C libraries are easily callable from most programming languages, making it the most widely usable immediately -- we wouldn't have to wait for each individual implementation to be completed. And when changes, modifications to the standard, or bug fixes need to be implemented, they would only need to be made to the C library, as opposed to each language specific implementation. This really would ease long term maintenance, and make features immediately available to all users Seems like @ldeniau already proposed basically this some time ago, if I understand correctly |
Beta Was this translation helpful? Give feedback.
-
|
I agree with matt (who agreed with my first remark ;-) MAD-NG is already interfacing script level with C and C++ at large scale. Getting a clean pure C API is not difficult as soon as you follow several important principles described in slides 19-21 of https://github.com/CObjectSystem/COS/blob/master/doc/slides-design.pdf. Making such an API efficient is another story if the interface is targeting a low level of interaction, but sometimes it is needed and this is where technologies come to the rescue as explained for MAD-NG in https://indico.cern.ch/event/487416/contributions/2174904/attachments/1281079/1903600/ld_1605-mad_dev_slides.pdf |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Here is my idea for what software will be needed with the lattice standard. The boxes in the figure are:
Note: The Translator could be interfaced to multiple Reader/Writers so that multiple languages can be handled at once. The structure that the Translator passes to the Interface layer will be language independent so that the interface layer does not
have to deal with what language is being used directly (other than telling the Translator what language to use).
Beta Was this translation helpful? Give feedback.
All reactions