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

  • SEARCH
  • Home
  • 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 9267481
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T14:33:37+00:00 2026-06-18T14:33:37+00:00

Let’s say I have an empty map val map = Map[Int, Int]() I’m confused

  • 0

Let’s say I have an empty map
val map = Map[Int, Int]()

I’m confused because while the following code compiles properly:

map.foldLeft((0,0)){case((k1, v1), (k2, v2)) => (-1, -1)}

the following, seemingly exact code snippet results in compilation error:

map reduceLeft {case((k1, v1), (k2, v2)) => (-1, -1)}

The error is:

scala> map reduceLeft {case((k1, v1), (k2, v2)) => (k1, v1)}
<console>:9: error: missing parameter type for expanded function
The argument types of an anonymous function must be fully known. (SLS 8.5)
Expected type was: (?, (Int, Int)) => ?
              map reduceLeft {case((k1, v1), (k2, v2)) => (k1, v1)}

It’s not a huge problem, but obviously it would be nice to not have to deal with this. Do you have any ideas on what could I do differently, or do I just have to learn to accept it?

  • 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. Editorial Team
    Editorial Team
    2026-06-18T14:33:38+00:00Added an answer on June 18, 2026 at 2:33 pm

    The reason this happens is that foldLeft has two parameter lists (the 1st being the initial, “priming” value and 2nd being the function) and reduceLeft has only one (the function).

    Scala’s type inference operates one parameter list at a time. Additionally, types inferred in one parameter list are available to guide or constrain type inference in later ones (those further right) in ways they cannot help guide or constrain type inference within a given parameter list. In this case, Scala cannot infer properly the B type in the reduceLeft signature:

    def reduceLeft[B >: (A, B)](op: (B, (A, B)) ⇒ B): B 
    

    While in the fold case:

    def foldLeft[B](z: B)(op: (B, (A, B)) ⇒ B): B
    

    it binds a type to B by looking at your primer value alone ((0, 0)) which it then has available to infer the parameter types in the function (without you making them explicit).

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

Sidebar

Related Questions

Let's say I have a domain object with the following field: private Map<StatType, Double>
Let's say for a moment that I have the following module in python: class
Let's say I have the following table: Table: RelationshipType ============================================================ | ID (PK) |
let's say.. I have the following java bean. Case1: (Student Bean) Integer id; String
Let's say that I have classes like this: public class Parent { public int
Let's say I have 2 functions: void function1(int *ptr) { printf(%d, *ptr); } and
Let's say I have the following two lists of tuples myList = [(1, 7),
Let's say I have the following function in C#: void ProcessResults() { using (FormProgress
Let's say I have an empty class with a virtual function: class Base {
Let's say I don't have photoshop, but I want to make pattern files (.pat)

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.