Re: [Csnd-dev] language cleanup...

Rory Walsh <[email protected]> Tue, 4 Nov 2025 14:26:14 +0000
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAMJR=HPeEm031=uJOz+G1Ja+0j++_Gq0QtpmNXO1gDdGeewVow@mail.gmail.com>
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...
> >> >
>