Can a Scala script reference other uncompiled scala code in the same directory?

classpath, scala

Solution

Maybe not exactly what you're looking for, but from the Scala REPL shell you can do

:load hello.scala
:load do.scala

to achieve the same result:

$ scala
Welcome to Scala version 2.9.1 (Java HotSpot(TM) Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.

scala> :load hello.scala
Loading hello.scala...
defined module hello

scala> :load do.scala
Loading do.scala...
hello world

scala> 

If you're wanting something non-interactive for scripting

$ cat <<EOF | scala
:load hello.scala
:load do.scala
EOF

works too.

Use `:help` for more interesting things the REPL shell can do.

Problem

If I have two separate uncompiled scala files in the same directory as: ``` // hello.scala object hello { def world() = println("hello world") } ``` and: ``` // do.scala hello.world() ``` I get an error when running do.scala: ``` $ scala do.scala error: not found: value hello ``` Instead I have to compile the hello.scala file first and put it on the classpath to get it to work: ``` $ scalac hello.scala $ scala -cp hello do.scala hello world ``` Is there a way to get one script to call the other uncompiled scala file using the right use of import, package, classpath, the scala command line tool or something else?

Original source

Related problems