> I'm merging this for now because it improves the situation a fair bit

Great, I've been using the 1.38 patch without problems, this definitely 
improves usability a lot.

Here are some points about the language semantics to discuss in the future:

About modules, the specification mentions that -module(Module) declaration 
should be before 
any function definition (aka top of the file) and the module name is to be same 
as the file name
 minus the extension .erl 

> Can an Erlang file not declare a module?

Erlang .erl files are always modules and must always declare -module(Module).

Function definitions are defined inside .erl files only (the legal way).

Include files (.hrl) which are rendered with the same geany parser, on the 
other hand, 
dont specify -module(MODULENAME). These preprocessed files are not a module 
though, they are 
as hygienic as C header files.

Macros and types can be defined in a module (.erl) or in an include file (.hrl) 
but they dont actually live 
in module scope or header scope or anything like that. They go to global scope.



-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3837#issuecomment-2065752958
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/pull/3837/[email protected]>

Reply via email to