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

Steven Yi <[email protected]> Tue, 4 Nov 2025 09:03:41 -0500
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CANtcCs54VV-fr7NxA4ccpjo-12SSLW3O56ujb0W2DKF6S4dq7Q@mail.gmail.com>
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...
>> >