Оригинальная идея взята из поста Gabriel's software development blog. Статья довольно старая, опубликована еще в прошлом году .

Если коротко:

def(x:Double)=Math.sqrt(x)
def(r:Range)(f:Int => Int)=r.foldLeft(0)(_+ f(_))
def(r:Range)(f:Int => Int)=r.foldLeft(1)(_* f(_))
val s=(1 to 100)(x=>(x))

Это обычный Scala код! Выглядит он прикольным, потому что мы используем знакомые всем со школы/института символы. Но как сделать так, чтобы было удобно вводить эти символы для меня было загадкой.

В итоге недавно случайно придумал как это можно сделать просто и удобно средствами IDE, а точнее в NetBeans.

Я вбил все нужные мне символы в Code Templates (Tools → Options → Editor → Code Templates) и сделал два макроса для [Alt+<] = "←" и [Alt+>] = "⇒".

Как это работает можно посмотреть здесь:

То есть вы вводите например alpha и жмете [Tab], в результате в код вставляется α. Самое главное, это настраивается только для нужного языка (в частности Scala), таким образом это не мешает в работе с другими языками. Также если вы хотите написать просто alpha, без преобразования, вы просто НЕ нажимайте [Tab] и всё!

Самое главное! Исходники должны быть в UTF-8 (ну или другой юникодной кодировке)!
P.S.: На самом деле вбивать весь греческий алфавит довольно скучное занятие, можно найти файл вроде этого:

C:\Documents and Settings\<USER_NAME>\.netbeans\6.9\config\Editors\text\x-scala\CodeTemplates\org-netbeans-modules-editor-settings-CustomCodeTemplates.xml

и сгенерить туда все аббревиатуры.

Вот пример моего файла - CustomCodeTemplates.zip. Внимание! Это только пример, возможно он Вам не подойдет.
Будьте аккуратны, перед обновлением сделайте резервную копию!