Skip to content

scala-montreal/intro-to-fun-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Functional Programming

This repository initial code base for the November 19th 2014 meetup on functional programming.

Getting started!

1- Clone the repository with

git clone [email protected]:scala-montreal/intro-to-fun-programming.git

2- Make sure Java 1.6 or higher installed on your machine. If not, install it http://java.com/en/download/help/download_options.xml.

3- Download and install SBT. SBT is a development tool used to compile, run and manage project's dependencies.

Compile and Run

Go into the project directory and on the command line run

sbt compile

This will compile this project.

Run the tests using

sbt test

Reactive compile/test loop (will recompile and re-run the test every time a source file has changed)

sbt ~test

Using IDEA

Any editor can be used in conjunction with SBT, but IntelliJ IDEA Scala support (via the Scala plugin) is very good.

For installation instructions, check out https://www.jetbrains.com/idea/features/scala.html.

Project Structure

/src
  /main
    /scala
      /org
        /scalamontreal
          /cheatsheet
            /EssentialFP.scala - Minimal Scala syntax cheat-sheet for FP related features
          /rosalind
            /Converter.scala - Solution example and possible method signatures for conversion problems.
            /Counter.scala - Possible method signatures for counting problems
  /test
    /scala
      /org
        /scalamontreal
          /rosalind
            /TestConverter.scala - Tests for Converter.scala
            /TestCounter.scala - Tests for Counter.scala

Instructions

The slides from the first part of the meetup can be found here.

For the hands-on part of the meetup, using FP techniques, you can try to solve problems from the Rosalind problem database. You can also revisit the example solution in Converter.scala and try to address some of the solution shortcomings.

I recommend solving all of the suggested problems first and then have a shot at the FURTHER EXPLORATION sections.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages