Mosc

(mosc string) -> #f

This automates the following process, beginning with a .ms file and ending with a .mo (compiled) file.

Reads the data from the file, as a program.
Compiles it.
Optimizes it.
Assembles it.
Freezes it.
Writes it to a new, separate file, with the same name but with the .mo extension.

Example:

>> (mosc "setlib")
:: #f
>> (load "setlib.mo")
:: #f
>> (union! (set 1 2) (set 2 3))
:: [set 1 2 3]