Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

If you give something a name, yet still only use it once, what's the point? It is just semantic clutter to do that (unless, of course, you can't use multiline lambdas...).


In Python, you can easily define methods within methods, so there is little semantic clutter at the toplevel.

  def doSomething():
    def doSomethingElse():
      # Code goes here.
      pass
    
    eggs = filter(doSomethingElse, spam)
    for cheese in eggs:
      # Do something.
      pass


There is no big harm in giving something a name. Giving a name also helps if you find a need to reuse it later. Plus a name can give a hint to what this code is for.


Yet, if you look in functional programming code (e.g. Haskell, Scheme), you'll find many anonymous lambdas (that in python would be > 1 line). Why would good coders bother doing that?


If something is small and enough to be anonymous, it's usually simply enough to be expressed without binding a variable.

(See point-free style.)


Obviously. Show us how to do point-free style in Python. We're talking about Python's lame implementation of anonymous functions, not something that it doesn't have any implementation of.


Oh, I thought you were talking about programmers' habits in Haskell.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: