[Github-comments] [geany/geany] erlang function clauses (#2746)

fbrau notifications at xxxxx
Fri Feb 5 08:44:16 UTC 2021


The Erlang programming language promotes the handling of functions deconstructing the arguments in different clauses. Its the natural way of the language. Its so common.

Most modules end-up with functions like these:

handle_call({hora, Persona}, _, State=#{persona_oper:=PersonaOper,
                                        schedule:=Schedule}) ->
  ...
handle_call({head, Operador}, _, State=#{oper_persona:=OperPersona,
                                         schedule:=Schedule}) ->
  ...
handle_call(active_heads, _, State=#{oper_persona:=OperPersona,
                              schedule:=Schedule}) ->
  ...
  
  That whole pattern is just one function and each clause looks like any other function definition. Sometimes these functions tend to get big, as in any language depending of the problem they solve...
  
  The SYMBOLS panel displays this clauses as:
https://imgur.com/S4gy2sc.png

As you can see the panel lists the clauses but then it doesnt give any lights about the function anymore. Thats a hole of information right there, whenever I'm analyzing these clause functions I just begin to strugle with exploring the code

Is there a way to tune the panel to list the complete line or maybe cut it but list them in raw so now they can present the information transparently?

For example
handle_call({hora, Persona}, _, State=#{pe...  [203]
handle_call({head, Operador}, _, State=#{....   [212]
handle_call(active_heads, _, State=#{oper_...   [219]

Most functional languages' function definitions tend to promote this pattern of development so their syntax in this aspect are quite refined. There is no need for cute visuals when the syntax is expressive enough, which is the case here. 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2746
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20210205/a8d17a15/attachment.htm>


More information about the Github-comments mailing list