recentpopularlog in

mcherm : functional   60

From Facebook, a library of immutable data structures for JavaScript.
programming  library  javascript  immutable  functional 
january 2018 by mcherm
Immutability is not enough
Functional programs using immutable data can have some of the same bugs you get with mutable data, but they manifest themselves differently.
programming  functional  immutable  via:HackerNews 
march 2016 by mcherm
You could have invented Parser Combinators
A nice summary of Parser Combinators from scratch, written in Javascript to avoid the jargon.
programming  algorithms  functional  via:HackerNews 
december 2014 by mcherm
Ned Batchelder: Recursive dogma
He asked why his recursive function failed with 2**30 as input. They jumped on him as doing it wrong. But turns out he was allocating memory for lists where he could instead have been computing the answer in closed form (either with or without recursion).
via:NedBatchelder  programming  algorithms  functional  NedBatchelder 
may 2012 by mcherm
The problem with STM: your languages still suck
Software Transactional Memory (STM) doesn't play well with anything imperative or mutable. It's a natural for Haskell but every other programming language is in trouble. And it might be the only way to sanely use ever-increasing numbers of cores.
programming  functional  concurrency  haskell  stm  via:reddit  BrianHurt  threading  concurrentprogramming  parallelprogramming  softwaretransactionalmemory 
august 2011 by mcherm
Blog: November 30, 2009: Why Object-Oriented Languages Need Tail Calls – projectfortress Community
An essay arguing for tail calls. What I found fascinating was not the tail call argument, but the way it demonstrated a deep connection between TRUE object encapsulation (of the kind rarely seen in Java and C++) and recursion.
via:HackerNews  programming  functional  oop  fortress  languagedesign  computerscience  blogworthy  recursion 
june 2011 by mcherm
Monads Are Not Metaphors - Code Commit
A VERY readable and well motivated introduction to monads by Daniel Spiewak.
programming  monad  functional  via:DanielSpiewak  DanielSpiewak 
december 2010 by mcherm
A Scala success story: commercial usage of Scala at Capital IQ ClariFI
The story of someone trying scala on a real programming project. The review is better than java, but still has some warts. Also questions the conventional wisdom that rewrites are never wise - at least if you have good tests.
scala  programming  java  functional  softwaredevelopment 
september 2010 by mcherm
Getting to the Bottom of Nothing At All: One Div Zero
A lucid explanation of the value "bottom" (in type theory) and examples of how it is used, written so a Java programmer could follow it.
programming  computerscience  types  typesystem  functional  via:JamesIry  JamesIry 
august 2010 by mcherm
Types à la Chart: One Div Zero
An excellent detailed review of two dimensions of language type strength. It's the weak-vs-strong and dynamic-vs-static thing, only it's been done with lots of explanation and examples and even a picture.
programming  languages  languagedesign  types  functional  JamesIry  via:JamesIry 
may 2010 by mcherm
Lambdas? In *my* C++?
Strange: abusing C++ templates to create lambdas in C++.
programming  functional  C++  via:LarryOBrien 
may 2010 by mcherm
Reflections on leaving Haskell | Alson Kemp
Some complaints about Haskell that caused this author to quit using it.
via:HackerNews  haskell  languagedesign  functional 
march 2010 by mcherm
Scala: Post-Functional, Post-Modern, or Just Perl++?
Debates whether Scala is a functional language. Clearly it's mixed functional and imperative. Points out that Perl is mixed that way too (I'm not sure I buy this argument).
programming  perl  scala  functional  via:RobertFischer  RobertFischer 
march 2010 by mcherm
Zippers: Making Functional "Updates" Efficient : Good Math, Bad Math
Zippers, an immutable structure where you can cheaply make changes to a tree (or graph) at a single point (kind of like a split-buffer editor).
programming  via:GoodMathBadMath  markcc  datastructures  functional  immutable 
january 2010 by mcherm
The “Hole in the middle” pattern | Enfranchised Mind
Observations of how C# makes it awkward to create small anonymous functions that access local variables whereas Ocaml makes it easy. He notes that this changes how the programmer works in the two languages.
languagedesign  programming  functional  via:BrianHurt  BrianHurt 
november 2009 by mcherm
Philosophizing about Programming; or "Why I'm learning to love functional programming" : Good Math, Bad Math
Mark Chu-Carroll writes how he left Haskell for practical reasons but is now interested again because his recent work would have benefited from the ability to reason logically about computer programs -- something which he used to imagine real programmers never did, but he uses it for intermittent bugs and bugs that show only on large size runs.
programming  computerscience  functional  haskell  markcc  debugging 
november 2009 by mcherm
Are We There Yet? A deconstruction of object-oriented time: HickeyJVMSummit2009.pdf
Interesting paper. He claims we should use immutable values, and separate "identities" which are a series of values that are "causally related". Use more trees! Supports concurrency (you can look at things while someone else changes it). May be the same as software transactional memory (I'm unclear).
functional  via:LambdaTheUltimate  programming  datastructures  stm  concurrency 
october 2009 by mcherm
A Square Is Not a Rectangle
A cool argument in favor of programming with immutable data structures. It avoids the classic OO issue of inheritance between Square and Rectangle.
programming  immutable  oop  functional  via:reddit 
september 2009 by mcherm
Functional Refactoring and "You Can't Get There From Here"
He makes the claim that refactoring is a bit different in functional languages. You tend to "rewrite" small pieces instead of adding one variable at a time.
programming  refactoring  functional  via:reddit 
august 2009 by mcherm
Tail Recursion Elimination: Neopythonic
Guido explains why he doesn't want tail call optimization in Python (along with how to implement it if desired). Careful reasoning provided here, whether you agree with it or not.
languagedesign  via:GuidoVanRossum  python  functional 
may 2009 by mcherm
Composing contracts: an adventure in financial engineering : Simon Peyton Jones
Recounts a project in which they build what was essentially a programming language for defining complicated financial instruments.
programming  SimonPeytonJones  functional  banking  domain_specific_languages 
april 2009 by mcherm
How laziness changes thinking in Haskell - Lost in Technopolis
Some interesting examples of how it's difficult to debug in Haskell because of the laziness.
haskell  functional  laziness  programming  via:DebasishGhosh 
april 2009 by mcherm
The problem with STM: your languages still suck » Enfranchised Mind
Software Transactional Memory works GREAT in Haskell, but it's just never going to work in Java, C, and such because they are too full of side effects -- it's just not a good match for the behavior of STM. STM is the best of possible solutions to concurrent programming (I don't think I agree with that!), so programming languages will have to change.
concu  concurrency  concurrentprogramming  languagedesign  haskell  functional  stm  softwaretransactionalmemory  progra  programming  parallelprogramming  BrianHurt 
january 2009 by mcherm
A Rant A Day - The Power of The Functional or: I’ll bet you can’t do this in Java
All simple examples, but this illustrates some basic things you can do in a language with first class functions.
functional  programming  via:DebasishGhosh 
january 2009 by mcherm
MISC Language (A Lisp with Maps)
A programming language that attempts to be a Lisp based on maps instead of on lists. A very interesting piece is the presentation -- the web page includes an in-browser interpreter.
languages  programming  lisp  functional  language 
july 2008 by mcherm
The Universe of Discourse : Defunctionalization and Java
To use higher-order approaches in languages like Java, you apply "defunctionalization" - replace each use of higher-order functions with objects representing the function and an "apply" function someplace.
programming  functional  java  via:raganwald 
june 2008 by mcherm
So Begins the Functional Revolution - Code Commit
Nice essay on why functional programming is actually useful in the real world.
programming  functional  scala  DanielSpiewak 
may 2008 by mcherm
Why functional programming? « Sliding up the banister
An excellent explanation (commentary on someone else's post) about why "pure" functional languages are so powerful. Explains the other post in which someone makes *algebraic* transformations to a program so it's faster.
programming  blogentry  functional  haskell  languages 
march 2008 by mcherm
Off The Lip » Functional Data Structures Out Of Nowhere
Functional programming languages can build data structures out of just plain functions. Sure, lambda calculus said so long ago, but here Matthieu Riou is saying it again.
programming  functional  blogentry 
march 2008 by mcherm
Becoming Lisp | Oliver Steele
Python is becoming Lisp. Here are a bunch of functional programming practices demonstrated in Python recently.
python  lisp  functional  programming 
february 2008 by mcherm
defmacro - Functional Programming For The Rest of Us
Nice essay introducing functional programming and describing some of the benefits, aimed at a Java programmer who knows nothing about it.
programming  functional  articles/programming  essay  articles 
february 2008 by mcherm
Fabulous Adventures In Coding : Immutability in C# Part Eleven: A working double-ended queue
Description and implementation for 2-3 finger trees in C#. Explains their advantages rather well.
programming  functional  datastructures  c#  immutable 
february 2008 by mcherm
call/cc use cases? - comp.lang.scheme | Google Groups
A nice summary of call/cc from scheme and how it works at a fairly elementary level.
functional  lisp  programming  scheme  continuations 
february 2008 by mcherm
Fabulous Adventures In Coding : Immutability in C# Part Nine: Academic? Plus my AVL tree implementation
A passionate defense of why a functional programming style (working with immutable objects) is actually useful in the "real world".
blogentry  programming  immutable  functional 
january 2008 by mcherm
Brandon Werner » Blog Archive » The Rise Of Functional Programming: F#/Scala/Haskell and the failing of Lisp
Interesting article on how functional programming may be on the rise again, and why that's probably good.
scala  programming  lisp  haskell  functional  F# 
january 2008 by mcherm
Brandon Werner » Blog Archive » The Rise Of Functional Programming: F#/Scala/Haskell and the failing of Lisp
Discussion of how functional languages are suddenly resurgent and whether the old lisp community had anything to do with it (no, they didn't).
programming  lisp  scala  languages  functional  F# 
january 2008 by mcherm
UserGuide - scalacheck - Google Code
A testing framework for Scala in which you state propositions and it tests that they hold for a large number of randomly generated test cases.
scala  testing  functional  todo 
january 2008 by mcherm
CK: My verdict on the Scala language
A *critical* look at Scala. He gave it a serious try (months) and concluded that it's NOT something he wants to work with, and he explains why.
scala  programming  programminglanguages  functional  blogentry 
january 2008 by mcherm
The Universe of Discourse : Note on point-free programming style
Point-free style is nicer to read sometimes and less nice other times. Also a mix may be better.
haskell  programming  functional 
january 2008 by mcherm
Simon Peyton-Jones Haskell Video | Lambda the Ultimate
An introduction to Haskell (for serious programmers) which goes VERY fast but also quite far and is, in my opinion, an excellent piece.
haskell  programming  tutorial  functional 
december 2007 by mcherm
Overloading Semicolon, or, monads from 10,000 Feet at Oliver Steele
Interesting perspective on Monads. Worth reading just for the alternate viewpoint.
monad  programming  haskell  functional  math 
december 2007 by mcherm
Online video course on monads | Lambda the Ultimate
Video lectures on monads (from a math point of view). I should watch them.
tutorial  video  math  monad  todo  functional 
october 2007 by mcherm
Bowling in Haskell: A response to Ron Jeffries
A useful program implemented in Haskell, with walkthrough showing us exactly how it is invented.
functional  programming  tutorial  blogentry  haskell 
april 2007 by mcherm
Purely Functional Data Structures (Okasaki thesis)
Data structures in functional languages. There's also a book by the same author.
haskell  algorithms  articles/programming  programming  functional  datastructures  ml 
february 2007 by mcherm
Knowing.NET - More On Functional Programming Languages and Silver Bullets
Discussion of whether functional programming and/or concurrent programming counts as a "silver bullet" powering an order-of-magnitude improvement in programming efficiency.
blogentry  functional  languagedesign  programming 
december 2006 by mcherm
“No Silver Bullet” and Functional Programming
Blog entry claiming that functional programming IS a "silver bullet" (order of magnitude improvement in programming efficiency).
functional  haskell  erlang  programming  blogentry  languagedesign 
december 2006 by mcherm
Manual for Clean, a functional language.
languages  clean  functional 
october 2006 by mcherm
Immutable Model-View
Blog author says how he has started using immutable objects (functional programming style) for the Model-View pattern, and he likes it.
functional  programming 
september 2006 by mcherm
A version of ML for DotNet
F# is a version of ML (a variant of OCamel) for the .NET platform.
languages  functional  F# 
september 2006 by mcherm
defmacro - The Nature of Lisp
Nicely written introduction to what makes Lisp more powerful than simple imperative languages.
languages/lisp  lisp  programming  functional 
may 2006 by mcherm
Continuations in Java
A library that provides continuations in Java.
languages/java  functional  java 
november 2005 by mcherm

Copy this bookmark:

to read