Current table:

Elm Value            | Elm Type                | JavaScript Value   | JavaScript Type
"foo"                | String                  | "foo"              | string
4.2                  | Float                   | 4.2                | number
True                 | Bool                    | true               | boolean
( "foo", True, 4.2 ) | ( String, Bool, Float ) | ["foo", true, 4.2] | Array
[ "drive", "line" ]  | List String             | ["drive", "line"]  | Array
{ name = "Shadow" }  | { password : String }   | {"name": "Shadow"} | object
Nothing              | Maybe val               | null               | object


Line 7 with the { name = "Shadow"}, I think the Elm Type should be { name : String } right?
Currently code sample is:

public final class ImmutableHello {
  public ImmutableHello(String name) {
    this.name = name;
  }
  public String getName() {
    return name;
  }
}


Looks like this is missing a
private final String name;
declaration.

You may also want to mention java libraries such as Immutables and AutoValue as yet another alternative to creating immutable classes (as also recommended by Lightbend). I wouldn't think you'd have to go into any details, but IMHO these help remove Java boilerplate immensely and provide correct immutable implementations.
I'm not a huge fan of the title of this post BTW... but to your problem:

I was able to reproduce, but it looks like adding a space on the second line makes it work. I agree the error you posted is misleading.
> f x = \
|   x
<function> : a -> a



I'd also be careful in general when writing "long" functions and using the '\' symbol. It is often used for anonymous function definitions.
doubler = \x -> x * 2