Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 117737
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T03:23:01+00:00 2026-05-11T03:23:01+00:00

What are the primary differences between LISP and C# with regards to functional programming?

  • 0

What are the primary differences between LISP and C# with regards to functional programming? In specific, if a LISP programmer was to switch to using C#, what are the features they are most likely to miss?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T03:23:02+00:00Added an answer on May 11, 2026 at 3:23 am

    Doing functional programming in C# is technically possible (well, any language that has function pointers or delegates equivalent can be ‘functional’) — but C# gets very very painful if you try to do much.

    Off the top of my head, in no particular order:

    • Type inference
      • Only exists for locals now
      • Should apply to pretty much everything
      • The #1 problem I have with C# is this. Particularly when you declare a local function… Func<…> = ouch.
    • Full first class functions
      • Delegates aren’t the answer, since they aren’t structually equivalent. There’s no canonical type to represent a function of a certain type. Ex: What is ‘increment’? Is it a Func? Is it a Converter? Is it something else? This in turn makes inference more complicated.
    • Automatic generalization
      • Sucks to have to calculate and specify all the generic type parameters and their constraints
    • Better support for immutability
      • Make it trivial to declare simple data types
      • Copy-with-modify type stuff (var x = oldX { SomeField = newVal })
    • Tuples C# 7
    • Discriminated unions (sum types)
    • Pattern matching C# 7
      • Makes tuples and sum types much more valuable
      • Allows more expression-oriented code
    • General monad syntax
      • Makes things like async code much easier to write C# 5
      • After you’ve nested 2+ layers of BeginXXX/EndXXX, it gets quite ugly.
    • Easy syntax for function blocks, so you don’t end up with closing lines like ‘});});’

    Edit: One more:

    • Function composition

      • Right now it’s painful to do much of any sort of function composition. Currying, chaining, etc. LINQ doesn’t get as hurt here because extension methods take the first parameter like an instance method.
    • C# should emit tail.call too. Not needed, the JIT will add tail calls itself as appropriate.

    Items in bold have been addressed since this answer was written.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 116k
  • Answers 116k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer I found the solution, I installed the library libqt4-dev by… May 11, 2026 at 10:39 pm
  • Editorial Team
    Editorial Team added an answer hmmm... will be looking into FlickrDown when I'm back on… May 11, 2026 at 10:39 pm
  • Editorial Team
    Editorial Team added an answer How do you submit the Ajax request? If you use… May 11, 2026 at 10:39 pm

Related Questions

I've searched on the Internet for comparisons between F# and Haskell but haven't found
I have implemented what I thought was a pretty decent representation of MVC in
I have a database table structured like this (irrelevant fields omitted for brevity): rankings
I've got a program that periodically updates its database schema. Sometimes, one of the

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.