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

Rory Walsh <[email protected]> Tue, 4 Nov 2025 12:21:22 +0000
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAMJR=HOeCRF8m_2_iXMnW2arV_jvXVSZo-SKABq99M90o4ingg@mail.gmail.com>
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...
> >
>