-FileStream fileIn: 'readline.st'.
-FileStream fileIn: 'reader.st'.
-FileStream fileIn: 'printer.st'.
-FileStream fileIn: 'env.st'.
-FileStream fileIn: 'func.st'.
-FileStream fileIn: 'core.st'.
+String extend [
+ String >> loadRelative [
+ | scriptPath scriptDirectory |
+ scriptPath := ContextPart thisContext currentFileName.
+ scriptDirectory := FilePath stripFileNameFor: scriptPath.
+ FileStream fileIn: (FilePath append: self to: scriptDirectory)
+ ]
+]
+
+'readline.st' loadRelative.
+'util.st' loadRelative.
+'types.st' loadRelative.
+'reader.st' loadRelative.
+'printer.st' loadRelative.
+'env.st' loadRelative.
+'func.st' loadRelative.
+'core.st' loadRelative.
Object subclass: MAL [
MAL class >> READ: input [