Generally speaking there are several ways to do it.
BlitzMax offers library support so you could have the user write a normal dll type of library and then open it using BlitzMax's commands.
Otherwise you could either write a script language for them to use (like ARexx on the Amiga?) or perhaps use LUA, or have them write some kind of file which contains the names of functions to call or something.
Also in assembly language and maybe C you can load executable code and make the CPU jump straight to it. Much more low-level though.
BlitzMax offers library support so you could have the user write a normal dll type of library and then open it using BlitzMax's commands.
Otherwise you could either write a script language for them to use (like ARexx on the Amiga?) or perhaps use LUA, or have them write some kind of file which contains the names of functions to call or something.
Also in assembly language and maybe C you can load executable code and make the CPU jump straight to it. Much more low-level though.