Для себя я хочу изучать Scala и функциональное программирование; и, следовательно, просто я учу Scala. Мой учебный материал - Программирование Scala . После того, как я прочитал предыдущую главу о синтаксисе и прочем, я пропустил главу, посвященную вещам ОО, и перешел к главе 8, в которой рассказывается о функциональном программировании. Там я позволил себе бороться с ФП.
Я читаю этот скалярный код, который написан на языке FP, и анализирую это . Вы хотите изучить Scala для «... улучшения Java для личных проектов». и Haskell для вступления в FP. Итак, кажется, что в первую очередь вы хотите продуктивно работать с Java-проектом, а затем воспринимать FP как побочный эффект. Чтобы быть продуктивным, вы должны овладеть языком. Есть много, чтобы выучить и освоить язык, и единственный способ овладеть языком - это написать код на этом языке. Изучая / используя Scala, вы не сможете избежать FP, даже если захотите. Я читал блоги Scala (книга тоже), и авторы всегда изо всех сил пытаются объяснить, когда речь заходит о концепции FP. Вам не нужно беспокоиться о том, чтобы не схватить FP, следуя по маршруту Scala. Да, вы можете черпать вдохновение из Haskell, например this , когда изучаете Scala. Или, как указывал Крис Тернер выше, вы можете углубиться в большее количество FP, когда вы уже работаете со Scala.
Вы хотите пойти в точку А, почему бы не перейти в точку А напрямую? Если вы идете по маршруту точки B (Хаскель), вам придется отложить свою производительность, как упомянуто Pere Villega .