becls/swish

Why does not Swish procedure naming comply with Scheme?

Closed this issue · 2 comments

In Swish, many procedure's name separated by a colon :.

Interfaces like (queue:add x q), (db:filename who), (http:add-file-server arg ...).

I think a dash - should be used instead on which described in Scheme naming convention. Maybe a colon : is best practice in community?

You are seeing an artifact of blending Erlang language concepts with Scheme. Erlang uses a "Module:Function(Args)" style, like gen_server:start_link(Name, Arg1, Arg2). We chose to use the Scheme library name and a colon as a prefix to help indicate "this function is more like Erlang than Scheme".

The queue library probably seems like it should user Scheme's convention, except that it internally uses Erlang's pattern matching. So, we use the Erlang convention.

OK, I understand. Respect the significant message passing concept exported from Erlang.