Capitalization of filenames

Hello,

I am trying to teach Elixir to some intro to programming students, and they had a strange experience when running a simple program that wouldn’t work until they capitalized the filename like the module.

We are all running Ubuntu 20.04, and have gone through all of the installation steps together, and both of them had the same issue and the same fix; but I wasn’t able to reproduce it. If it matters they are on the same type of computer (Dell 7200 or some such thing) and I am on an older HP.

We all typed this program into VSCode, with the filename as listed and I was able to run it while they were not:

my_hello_world.ex

defmodule MyHelloWorld do
 def hello do
   IO.puts "Hello there world, I came from a function in Elixir!"
 end
end

Mine ran fine, but they were both getting the same error which I failed to save from them unfortunately. The weird thing is when they changed the filename to match the module, Pascal Case style, then their program ran!

MyHelloWorld.ex

defmodule MyHelloWorld do
 def hello do
   IO.puts "Hello there world, I came from a function in Elixir!"
 end
end

I was at a loss to explain this and was hoping someone could give me an idea of why that would happen at all, let alone the same on both of their machines and differently on mine…

There must be more to it as Elixir do not care about filenames at all.

Nothing comes to mind except maybe a language server – or any other file watcher – is running on their machines.

What was the error they were getting?

Additionally, have they tried without VS Code (Emacs, VIM, nano etc.)?