GithubHelp home page GithubHelp logo

caiorss / functional-programming Goto Github PK

View Code? Open in Web Editor NEW
2.7K 103.0 157.0 10.04 MB

Functional Programming concepts, examples and patterns illustrated in Haskell, Ocaml and Python

Home Page: http://caiorss.github.io/Functional-Programming

License: The Unlicense

Haskell 76.36% Makefile 0.45% OCaml 3.84% Scheme 3.67% Nix 0.18% Scala 15.50%

functional-programming's Introduction

Functional Programming by Example

haskell/images/haskellLogo.png

The purpose of this tutorial is to illustrate functional programming concepts in many languages by providing reusable and useful snippets of code, examples, case studies and applications.

Author: Caio Rodrigues / <caiorss DOT rodrigue AT gmail DOT com>

Notes:

  • This is a endless work in progress.
  • This repository is dedicated to public domain.

This repository can be accessed from the following URLs:

The website of this repository is:

  • http://caiorss.github.io/Functional-Programming
    • The project’s web site was updated and improved with a table of contents on side-bar. In addition, the new layout makes reading easier to read and browse the content.
    • Those pages in the theme are in the gh-pages branch which can easy be downloaded for offline usage.

General

Statically Typed Programming Languages with Type Inference

Dynamically Typed Programming Languages

Papers

functional-programming's People

Contributors

ba3r avatar caicai9494 avatar caiorss avatar cryptedp avatar hawkup avatar jlukec avatar lechindianer avatar mccain avatar michael-sloma avatar michaelficarra avatar patrikja avatar pjschlic avatar qhfgva avatar qubbit avatar sapanbhuta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

functional-programming's Issues

Typo in "Functor and Monad" of Haskell

Under Control Structures, in examples of For Loops

:t (putStrLn . show)
(putStrLn . show) :: Show a => a -> IO (

It should have been IO (), the closing bracket is missing.

Thanks for this nice repo, it's quite useful

Haskell lecture video from RWTH-Aachen

Professor Giesl (http://verify.rwth-aachen.de/giesl/) took haskell course into my university and in my opinion his lectures are one of the best resource to understand Haskell, both theoretically and practically. In this course, you will learn (Compiler+Assembly+Language) together in a single course. So, for a CS background person, this course will be highly beneficiary since Compiler and Assembler both are known to him/her.

Although his course content is in German but video lectures are available in english: https://videoag.fsmpi.rwth-aachen.de/?course=12ss-funkprog

Missing function definition for 'shout'

Unless I'm missing something, I think you may have dropped the definition of the function shout :: [Char] -> [Char] from your tutorial (in the section "Combining functions and I/O actions") ...

Maybe you meant to have something like:

shout :: String -> String
shout line = toUpper <$> line

?

typos

Some typos:

Pure Functions / Referencail Transparency / No side effect
Clousure - Returning functions from functions
Data Imutability

Lazy Evaluation ( Dealayed evaluation) by default
Data Imutability/ Haskell has no variables
Composability, one fuction can be connected to another.

puryfing an impure Language
Python uses eager eavaluation by default.
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.