The term 'Cards.hello' is not recognized. (a command to run a function)

A extract of a variation of the error is below. The run command for a function is not recognized. I have tried many variations (nested folder, dropping the nested function, punctuations). I tried to google I did not gain ground.

PS G:\docs\github\elixir\cards\cards> Cards.hello
Cards.hello : The term 'Cards.hello' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the 
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Cards.hello
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Cards.hello:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Hello and welcome,

You need to run code inside the BEAM vm, it is not going to become a shell command.

You could create a file card.ex, or exs.

defmodule Cards do
	def hello do
		IO.puts "hello"
	end
end
Cards.hello()

…and run it like this

$ elixir -r cards.ex 
hello
6 Likes