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 7790221
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T21:31:24+00:00 2026-06-01T21:31:24+00:00

I have the following code in Scala-IDE: type myF = () => Boolean def

  • 0

I have the following code in Scala-IDE:

type myF = () => Boolean

def acceptFunction(f: myF) {
  //...
}

and then:

var a = false

def isA = () => a

but when I try passing it, to the acceptFunction, it results in error:

acceptFunction(isA)

the error is:

type mismatch; found : () => Boolean required: Boolean

But why?

If I declare isA like this:

def isA() = () => a

then it is accepted, but I assume, it get’s evaluated because of the parenthesis.

Is there any way to pass such a function for furhter evaluation?

UPDATE:

Looks like it is something with Scala-IDE. The REPL has no problems with these expressions. However, still I can’t make it so that the passed function does not get turned into a closure. I mean, that it turns into closure, and changing the var a later and calling the example with println(f()) again – does not change the value. So, the second part of the question remains – is there any way to pass such a function for furhter evaluation?

  • 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-01T21:31:26+00:00Added an answer on June 1, 2026 at 9:31 pm

    Are you sure you didn’t make a mistake when writing your code the first time? I copied and pasted what you had into the 2.9.1 REPL and it worked fine.

    scala> type myF = () => Boolean
    defined type alias myF
    
    scala>  var a = false
    a: Boolean = false
    
    scala> def isA = () => a
    isA: () => Boolean
    
    scala> def acceptFunction(f: myF) {println(f())}
    acceptFunction: (f: () => Boolean)Unit
    
    scala> acceptFunction(isA)
    false
    
    scala>
    

    UPDATE: isA is a closure when you define it. Passing it to acceptFunction has no effect on whether it grabs a.

    Is your purpose to write a function, acceptFunction, which takes a function, f, which captures an external value, a, at the time it’s defined?

    You could do that like so:

    // Defines a function which returns a function with returns the 
    // value that was captured at the outer function's call time.
    def isB = { (b: Boolean) => { () => b }: myF }
    
    a = true
    
    val f = isB(a)
    
    acceptFunction(f) // >> true
    
    a = false
    
    acceptFunction(f) // >> true
    

    Is that where you’re trying to go?

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

Sidebar

Related Questions

In Scala IDE I have the following code: package pkg.one object S { class
I have the following code: class Parameterizable{ var map: Map[String, String] = new scala.collection.immutable.HashMap()
I have the following scala code: package dummy import javax.servlet.http.{HttpServlet, HttpServletRequest => HSReq, HttpServletResponse
I have the following code implementation of Breadth-First search. trait State{ def successors:Seq[State] def
I have the following code: trait TFn1B { type In type Out type Apply[T
I have to translate the following code from Java to Scala: EDIT: added if-statements
I have the following Scala code. import scala.actors.Actor object Alice extends Actor { this.start
Suppose I have the following Scala code: class Foo(a: Int) class Bar(b: Buffer[Int]) extends
I am looking into scala TCO and have written the following code import scala.annotation.tailrec
I've got a simple question for you :) I have the following Scala code,

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.