Csound Csound-dev Csound-tekno Search About

[Csnd-dev] language cleanup...

Date2025-10-31 09:47
FromRory Walsh
Subject[Csnd-dev] language cleanup...

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...


Date2025-10-31 10:00
Fromvlz
SubjectRe: [Csnd-dev] language cleanup...
I think this is a good discussion. A couple of points:

- there are a few cases where overloading cannot be done, for instance if parameters have same types but different functions. Overall I think it's good to overload as much as possible.

- I would try to keep to the most common format so we need to create/deprecate fewer names

- if we introduce new names to S, b and B, we should do them as aliases not replacements. 

One thing in particular I like to see deprecated is outs/outq/out8 etc as out can handle any number of channels. Same for in and ins etc.

We should also discuss the complete method to handle deprecation from the code sources to the manual.

best
Prof. Victor Lazzarini
Maynooth University
Ireland

On 31 Oct 2025, at 09:47, Rory Walsh <rorywalsh@ear.ie> 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...


Date2025-10-31 10:17
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
- there are a few cases where overloading cannot be done, for instance if parameters have same types but different functions. Overall I think it's good to overload as much as possible.

I was thinking as much. Let's see how many we are left with after a quick audit, and then decide whether to rename them, or continue with the version 2 variants. 
 
- I would try to keep to the most common format so we need to create/deprecate fewer names

Flatcase is definitely the most common format. I don't love it, but it's a nice wink to the past. The path of least resistance here is to move all opcodes to flatcase, and let that by the convention for all new opcodes. 

- if we introduce new names to S, b and B, we should do them as aliases not replacements. 

Absolutely. 
 
One thing in particular I like to see deprecated is outs/outq/out8 etc as out can handle any number of channels. Same for in and ins etc.
We should also discuss the complete method to handle deprecation from the code sources to the manual.

Agreed.


Date2025-10-31 11:25
FromDave Seidel
SubjectRe: [Csnd-dev] language cleanup...
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 <rorywalsh@ear.ie> 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...


Date2025-10-31 13:36
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
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 <dave.seidel@gmail.com> 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 <rorywalsh@ear.ie> 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...


Date2025-10-31 13:38
FromDave Seidel
SubjectRe: [Csnd-dev] language cleanup...
I'm sure that's true. As I said, I don't have a strong preference, having had to adapt to different standards a number times. I will support whatever consensus emerges.

On Fri, Oct 31, 2025 at 9:36 AM Rory Walsh <rorywalsh@ear.ie> 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 <dave.seidel@gmail.com> 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 <rorywalsh@ear.ie> 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...


Date2025-10-31 15:46
FromSteven Yi
SubjectRe: [Csnd-dev] language cleanup...
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  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  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  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...

Date2025-10-31 17:17
Fromjoachim heintz
SubjectRe: [Csnd-dev] language cleanup...
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  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  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  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...

Date2025-10-31 22:53
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
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, <jh@joachimheintz.de> 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 <rorywalsh@ear.ie> 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 <dave.seidel@gmail.com> 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 <rorywalsh@ear.ie> 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...

Date2025-10-31 23:17
FromPete Goodeve
SubjectRe: [Csnd-dev] language cleanup...
AttachmentsNone  

Date2025-11-01 20:59
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
No, absolutely not. These would be aliases. The old opcode names would still exist. 

On Fri, 31 Oct 2025 at 23:17, Pete Goodeve <pete.goodeve@computer.org> wrote:
Doesn't that completely break the core principle of backwards
compatibility? Not something that I would consider.

        -- Pete --

On Fri, Oct 31, 2025 at 10:53:47PM +0000, 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, <jh@joachimheintz.de> 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 <rorywalsh@ear.ie> 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 <dave.seidel@gmail.com>
> > 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 <rorywalsh@ear.ie> 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...
> >

Date2025-11-01 21:20
FromPete Goodeve
SubjectRe: [Csnd-dev] language cleanup...
AttachmentsNone  

Date2025-11-02 11:29
Fromjoachim heintz
SubjectRe: [Csnd-dev] language cleanup...
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,  > 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      > 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      > 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      > 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...
> 

Date2025-11-04 12:21
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
> <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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...
>

Date2025-11-04 13:41
Fromvlz
SubjectRe: [Csnd-dev] language cleanup...
Not many, when you look at it.

Did you look at the xxx2 xxx3 to see if we can overload or will that be better in a second pass?
Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 12:23, Rory Walsh <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
> <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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...
>

Date2025-11-04 14:02
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
Might be best to do these first, and then move on to the overloading of other opcodes. 

On Tue, 4 Nov 2025 at 13:43, vlz <viclazzarini@gmail.com> wrote:
Not many, when you look at it.

Did you look at the xxx2 xxx3 to see if we can overload or will that be better in a second pass?
Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 12:23, Rory Walsh <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
> <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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...
>

Date2025-11-04 14:03
FromSteven Yi
SubjectRe: [Csnd-dev] language cleanup...
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  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  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, > > > 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 > >     > 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 > >     > 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 > >     > 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...
>> >

Date2025-11-04 14:26
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 14:43
FromEduardo Moguillansky
SubjectRe: [Csnd-dev] language cleanup...
Many xxx2 or xxx3 have really different behaviours. 

turnoff, turnoff2, turnoff3: these could be unified to turnoff, deprecating the argument to the original turnoff and adding a flag to turnoff2 to unschedule future events
follow, follow2: follow2 is a different opcode, using a different algorithm. Maybe it could be renamed to ampfollow or something similar
metro2: is a different opcode than metro, maybe it could also be renamed
changed2: this is the correct version of changed, which itself should be deprecated. But renaming to changed would break things

Each of these changes should probably be a PR of its own.



On Tue, Nov 4, 2025 at 1:23 PM Rory Walsh <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
> <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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...
>

Date2025-11-04 15:11
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] language cleanup...
There is no real attemot renaming, we're only adding aliases and deprecating old names. We can't break backwards compatibility.

I think the "2" opcodes can be overloaded if the input or output parameters are of different types that can be disambiguated. Some can and some can't.

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 14:44, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Many xxx2 or xxx3 have really different behaviours. 

turnoff, turnoff2, turnoff3: these could be unified to turnoff, deprecating the argument to the original turnoff and adding a flag to turnoff2 to unschedule future events
follow, follow2: follow2 is a different opcode, using a different algorithm. Maybe it could be renamed to ampfollow or something similar
metro2: is a different opcode than metro, maybe it could also be renamed
changed2: this is the correct version of changed, which itself should be deprecated. But renaming to changed would break things

Each of these changes should probably be a PR of its own.



On Tue, Nov 4, 2025 at 1:23 PM Rory Walsh <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
> <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>     <mailto:rorywalsh@ear.ie>> 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...
>

Date2025-11-04 15:12
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd-dev] language cleanup...
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 <rorywalsh@ear.ie> 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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 15:46
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
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 <000010b17ddd988e-dmarc-request@listserv.heanet.ie> 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 <rorywalsh@ear.ie> 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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 16:20
Fromvlz
SubjectRe: [Csnd-dev] language cleanup...
Trouble is then things like lpf18 and mvclpf etc which are also acronyms

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 15:46, Rory Walsh <rorywalsh@ear.ie> wrote:


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 <000010b17ddd988e-dmarc-request@listserv.heanet.ie> 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 <rorywalsh@ear.ie> 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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 16:25
FromRory Walsh
SubjectRe: [Csnd-dev] language cleanup...
Touche. Ok, so the argument against OSC becoming 'osc' is that users might consfure them for oscillators, I'd say we could get away with it? All oscillators in Csound use 'oscil...' so that should be fine. There is but one pesky opcode called oscbnk. I'd rather create an alias for this called oscilbank and go with lower case osc for the OSC opcodes. 


On Tue, 4 Nov 2025 at 16:20, vlz <viclazzarini@gmail.com> wrote:
Trouble is then things like lpf18 and mvclpf etc which are also acronyms

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 15:46, Rory Walsh <rorywalsh@ear.ie> wrote:


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 <000010b17ddd988e-dmarc-request@listserv.heanet.ie> 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 <rorywalsh@ear.ie> 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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 16:34
Fromvlz
SubjectRe: [Csnd-dev] language cleanup...
Fine with me.
Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 16:25, Rory Walsh <rorywalsh@ear.ie> wrote:


Touche. Ok, so the argument against OSC becoming 'osc' is that users might consfure them for oscillators, I'd say we could get away with it? All oscillators in Csound use 'oscil...' so that should be fine. There is but one pesky opcode called oscbnk. I'd rather create an alias for this called oscilbank and go with lower case osc for the OSC opcodes. 


On Tue, 4 Nov 2025 at 16:20, vlz <viclazzarini@gmail.com> wrote:
Trouble is then things like lpf18 and mvclpf etc which are also acronyms

Prof. Victor Lazzarini
Maynooth University
Ireland

On 4 Nov 2025, at 15:46, Rory Walsh <rorywalsh@ear.ie> wrote:


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 <000010b17ddd988e-dmarc-request@listserv.heanet.ie> 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 <rorywalsh@ear.ie> 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 <stevenyi@gmail.com> 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 <rorywalsh@ear.ie> 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 <jh@joachimheintz.de> 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, <jh@joachimheintz.de
>> > <mailto:jh@joachimheintz.de>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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 <dave.seidel@gmail.com
>> >     <mailto:dave.seidel@gmail.com>> 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 <rorywalsh@ear.ie
>> >     <mailto:rorywalsh@ear.ie>> 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...
>> >

Date2025-11-04 20:02
Fromjoachim heintz
SubjectRe: [Csnd-dev] language cleanup...
i think this is a very good solution.

On 04/11/2025 17:34, vlz wrote:
> Fine with me.
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
> 
>> On 4 Nov 2025, at 16:25, Rory Walsh  wrote:
>>
>> 
>> Touche. Ok, so the argument against OSC becoming 'osc' is that users 
>> might consfure them for oscillators, I'd say we could get away with 
>> it? All oscillators in Csound use 'oscil...' so that should be fine. 
>> There is but one pesky opcode called oscbnk. I'd rather create an 
>> alias for this called oscilbank and go with lower case osc for the OSC 
>> opcodes.
>>
>>
>> On Tue, 4 Nov 2025 at 16:20, vlz > > wrote:
>>
>>     Trouble is then things like lpf18 and mvclpf etc which are also
>>     acronyms
>>
>>     Prof. Victor Lazzarini
>>     Maynooth University
>>     Ireland
>>
>>>     On 4 Nov 2025, at 15:46, Rory Walsh >>     > wrote:
>>>
>>>     
>>>     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 <000010b17ddd988e-
>>>     dmarc-request@listserv.heanet.ie >>     request@listserv.heanet.ie>> 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 >>>         > 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 >>>         > 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
>>>>             > 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
>>>>             > 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,
>>>>             
>>>>             >> > >>>             >> 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
>>>>             
>>>>             >> >     >>>             >> 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
>>>>             
>>>>             >> >     >>>             >> 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
>>>>             
>>>>             >> >     >>>             >> 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...
>>>>             >> >
>>>>