Re: [Csnd-dev] language cleanup...
Victor Lazzarini <[email protected]> Tue, 4 Nov 2025 15:12:38 +0000
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <[email protected]> |
The problem with OSC is that it'll mix up with oscillators, but the others seem ok to change. Prof. Victor Lazzarini Maynooth University Ireland On 4 Nov 2025, at 14:26, Rory Walsh <[email protected]> wrote: So I will change OSC to osc and ATS to ats and ZDF1pole becomes zdf1pole? On Tue, 4 Nov 2025 at 14:12, Steven Yi <[email protected]<mailto:[email protected]>> wrote: I'm wary of ZDF1pole, as I'd rather see capitalized identifiers for data types and lower-case ones for opcodes. On Tue, Nov 4, 2025 at 7:23 AM Rory Walsh <[email protected]<mailto:[email protected]>> wrote: > > Below is a list of opcode names that are not strictly flatten case. I propose the following: > > - the ATS, K35, OSC one remain. > - the zdf opcodes join the aforementioned ones can also use uppercase, e.g, ZDF1pole > - all other opcodes become flattened case, e.g. arduinoreadf, serialwritei, turnoff2_i > > Does this sound Ok? If so I will start creating aliases. I can also make a PR for the manual so we can reduce people's exposure to the old inconsistencies. > > ATSadd > > ATSaddnz > > ATSbufread > > ATScross > > ATSinfo > > ATSinterpread > > ATSpartialtap > > ATSread > > ATSreadnz > > ATSsinnoi > > K35_hpf > > K35_lpf > > MixerClear > > MixerGetLevel > > MixerReceive > > MixerSend > > MixerSetLevel > > MixerSetLevel_i > > OSCbundle > > OSCcount > > OSCinit > > OSCinitM > > OSClisten > > OSCraw > > OSCsend > > OSCsend_lo > > S > > arduinoRead > > arduinoReadF > > arduinoStart > > arduinoStop > > chn_S > > chn_a > > chn_k > > cntCreate > > cntCycles > > cntDelete > > cntDelete_i > > cntRead > > cntReset > > cntState > > count_i > > diode_ladder > > event_i > > genarray_i > > loop_ge > > loop_gt > > loop_le > > loop_lt > > maparray_i > > max_k > > midiout_i > > nchnls_hw > > print_type > > printf_i > > sc_lag > > sc_lagud > > sc_phasor > > sc_trig > > scoreline_i > > serialBegin > > serialEnd > > serialFlush > > serialPrint > > serialRead > > serialWrite > > serialWrite_i > > slicearray_i > > sliderKawai > > system_i > > tab_i > > tabw_i > > trigExpseg > > trigLinseg > > trim_i > > turnoff2_i > > vadd_i > > vaddv_i > > vcopy_i > > vdel_k > > vdivv_i > > vexp_i > > vexpv_i > > vmult_i > > vmultv_i > > vpow_i > > vpowv_i > > vsubv_i > > zdf_1pole > > zdf_1pole_mode > > zdf_2pole > > zdf_2pole_mode > > zdf_ladder > > > On Sun, 2 Nov 2025 at 11:29, joachim heintz <[email protected]<mailto:[email protected]>> wrote: >> >> plus one for what you say about tipping the hat ... =) >> >> On 31/10/2025 23:53, Rory Walsh wrote: >> > We also have shedkwhen and ftsamplebank, which are also ok, I think. I >> > think if we introduce snake case, or any other convention, we need to go >> > all in. Snake case should add an underscore between each word. Following >> > such a scheme would lead to hundreds of opcodes being renamed, e.g., >> > ft_len, butter_lp, moog_ladder, pd_half, etc. I'm not against it, but I >> > think it must be a complete buy in. Otherwise we end up with a slightly >> > better system, but one that retains some strange inconsistencies. >> > >> > I have to tip my hat to the core developers at this stage. This >> > conversation wouldn't be happening if they hadn't spent so much time >> > cleaning up the core system and updating/rewriting the parser. It's a >> > great place we are in now! ☺️ >> > >> > On Fri 31 Oct 2025, 17:17 joachim heintz, <[email protected]<mailto:[email protected]> >> > <mailto:[email protected]<mailto:[email protected]>>> wrote: >> > >> > i totally agree with rory about the importance of such a cleanup. >> > as to lowercase or snake_case, i'd say: >> > - in most cases we can keep lowercase >> > - if the readability is hurted, underscores can be added. >> > >> > for instance: ampdb, mtof, bformenc, butbp, pvsynth are good. >> > osclisten even is ok, i think. >> > >> > just to note that for the german keyboard the underscore is not as >> > elegant as for the english one. >> > >> > On 31/10/2025 16:46, Steven Yi wrote: >> > > I generally prefer snake_case myself these days for Csound coding. >> > > Perhaps it's because my brain switches somewhat to C conventions when >> > > I get to time with Csound. Some of the coding in Csound for >> > snake_case >> > > has to do with the lack of namespaces and import system, so families >> > > of code are denoted with things like zdf_ladder, zdf_2pole, etc. >> > which >> > > might be implemented as zdf::ladder or zdf::2pole in other languages. >> > > >> > > On Fri, Oct 31, 2025 at 9:36 AM Rory Walsh <[email protected]<mailto:[email protected]> >> > <mailto:[email protected]<mailto:[email protected]>>> wrote: >> > >> >> > >> I agree that they are more readable, but I think switching to >> > lowerCamelCase or snake_case would be a huge undertaking. I'm >> > interested to hear what others think. >> > >> >> > >> On Fri, 31 Oct 2025 at 11:30, Dave Seidel <[email protected]<mailto:[email protected]> >> > <mailto:[email protected]<mailto:[email protected]>>> wrote: >> > >>> >> > >>> As a user, more consistency in naming would be very nice. I >> > don't have a strong preference for any particular form, having had >> > to adapt to all of them at one time or another over the course of my >> > erstwhile career, but I guess I have somewhat of a reference for >> > either lowerCamelCase or snake_case, as both offer better >> > readability (IMO) than flatcase. >> > >>> >> > >>> - Dave >> > >>> >> > >>> On Fri, Oct 31, 2025 at 5:47 AM Rory Walsh <[email protected]<mailto:[email protected]> >> > <mailto:[email protected]<mailto:[email protected]>>> wrote: >> > >>>> >> > >>>> It would be nice to iron out some inconsistencies in the >> > language before releasing Csound 7. One of these is the scattershot >> > approach to opcode names. Right now we have lowerCamelCase, >> > snake_case, snake+camel case, and the traditional flatcase. It would >> > be nice to choose one, create aliases for all existing opcodes (if >> > this is doable that is), and mark the others as deprecated. >> > >>>> >> > >>>> Another thing that came up yesterday in a different discussion >> > is the number of version 2 opcodes, diskin2, flooper2, etc. We can >> > now easily overload opcodes, which gives us the option of removing >> > the version 2 variants and overloading the originals instead, >> > although we’d need to audit the opcodes first to see if they all >> > have different parameter signatures. >> > >>>> >> > >>>> Something else that was mentioned was the use of uppercase for >> > booleans. bi, bk, booli, boolk, etc., all seem like better fits. >> > Another long-standing inconsistency is the uppercase S for strings. >> > If I’m not mistaken, we could finally change this to :s and keep it >> > in line with other variable types. >> > >>>> >> > >>>> Consistency has a real impact on usability and teaching, >> > making code easier to read and maintain. I think it would be great >> > to try to address this now. I don't mind doing most of the donkey >> > work. We just need to come to some kind of agreement. >> > >>>> >> > >>>> Rory. >> > >>>> >> > >>>> >> > >>>> p.s. I'm posting this to the dev-list, but I think this is >> > something the end-users might also like to have some input on... >> >