Java, Scala, Functional Programming, Concurrency, Macro.
shown by immutable data structures and immutable collections in the standard library. Having a regular, surprisingly small grammar in an expression-oriented language opens up new possibilities-for example, to succinctly represent concepts as values. Extending the compilation process using type-safe