Re: [Csnd-dev] language cleanup...
Rory Walsh <[email protected]> Tue, 4 Nov 2025 15:46:23 +0000
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAMJR=HOHDzKQEfvNBBkwxmAhnwfDYnkbyCn0T2=L5=J+DQu_aA@mail.gmail.com> |
That's a good point. I'm leaning towards uppercase for acronyms and lowercase for everything else. Only a dozen or so opcodes will end up with uppercase chars, but at least it will be consistent and obvious why. On Tue, 4 Nov 2025 at 15:14, Victor Lazzarini < [email protected]> wrote: > 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]> 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]> 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]> >> 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]>> 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]>> 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]>> 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]>> 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... >> >> > >> >