lambda-placeholders: A library to emulate laceholders similar to Scala.

[ bsd3, language, library ] [ Propose Tags ] [ Report a vulnerability ]

A description of the workings of placeholders in Scala can be found here: http://www.artima.com/pins1ed/functions-and-closures.html#8.5.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.0
Dependencies base (<=7) [details]
License BSD-3-Clause
Author Matthew Mirman
Maintainer matt@mirman.com
Category Language
Home page https://github.com/mmirman/lambda-placeholders
Source repo head: git clone git://github.com/mmirman/lambda-placeholders.git
Uploaded by MatthewMirman at 2014-05-29T00:54:49Z
Distributions NixOS:0.0.0.0
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1117 total (5 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]

Readme for lambda-placeholders-0.0.0.0

[back to package description]

lambda-placeholders

lambda-placeholders is a Haskell library to emulate the placeholders feature of Scala.

Background

  • Placeholders in Scala act similar to those used in category theory.
  • Rather than create a lambda or name a function, an underscore is used in place of a parameter and the function is abstracted over that location.
  • This placeholders library doesn't use underscores, rather it leverages similar capabilities found in TupleSections.
  • A description of Scala placeholders can be found here.

Example

{-# LANGUAGE
 TupleSections 
 #-}
module Main where 
import Language.Placeholders

foo (a,b,c) = a + b + c

curried_foo = foo.$.(2, , )

main = do
    putStrLn $ show $ curried_foo 4 5