[ 
https://issues.apache.org/jira/browse/TOREE-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kabeer Ahmed updated TOREE-520:
-------------------------------
    Description: 
The below code results in an error when executed in Toree on Jupyter notebook. 
Please note that the first time execution would proceed without issues but 
subsequent executions by pressing ctrl+Enter will result in the error being 
thrown. 

 

+*Code*+
  // polymorphic functions

def findFirst[A](as: List[A], p: A => Boolean): Int = {

val listLength = as.length

@annotation.tailrec
 def go(n: Int): Int =

{ if (n >= listLength) -1 else if (p(as(n))) n else go(n + 1) }

go(0)

}

def passFun(x: Int): Boolean = x == 2

val l: List[Int] = List(1, 2, 3)
 // println("The findFirst of function is: ")
 println(s"Answer is: ${findFirst(l, passFun)}")


 +*Error thrown when the same code is executed twice is below:*+

<console>:28: error: missing argument list for method findFirst Unapplied 
methods are only converted to functions when a function type is expected. You 
can make this conversion explicit by writing `findFirst _` or `findFirst(_,_)` 
instead of `findFirst`. findFirst ^ lastException: Throwable = null findFirst: 
[A](as: List[A], p: A => Boolean)Int passFun: (x: Int)Boolean

 

 

  was:
The below code results in an error when executed in Toree on Jupyter notebook. 
Please note that the first time execution would proceed without issues but 
subsequent executions by pressing ctrl+Enter will result in the error being 
thrown. 

 

+*Code*+
 // polymorphic functions

def findFirst[A](as: List[A], p: A => Boolean): Int = \{

  val listLength = as.length

  @annotation.tailrec
  def go(n: Int): Int = {

    if (n >= listLength) -1
    else if (p(as(n))) n
    else go(n + 1)

  }

  go(0)

}

def passFun(x: Int): Boolean = x == 2

val l: List[Int] = List(1, 2, 3)
// println("The findFirst of function is: ")
println(s"Answer is: ${findFirst(l, passFun)}")
Error thrown when the same code is executed twice is below:

<console>:28: error: missing argument list for method findFirst Unapplied 
methods are only converted to functions when a function type is expected. You 
can make this conversion explicit by writing `findFirst _` or `findFirst(_,_)` 
instead of `findFirst`. findFirst ^ lastException: Throwable = null findFirst: 
[A](as: List[A], p: A => Boolean)Int passFun: (x: Int)Boolean

 

 


> Invalid error - Unapplied methods are only converted to functions when a 
> function type is expected
> --------------------------------------------------------------------------------------------------
>
>                 Key: TOREE-520
>                 URL: https://issues.apache.org/jira/browse/TOREE-520
>             Project: TOREE
>          Issue Type: Bug
>    Affects Versions: 0.3.0
>         Environment: Jupyter Notebook on Ubuntu 20.04
>            Reporter: Kabeer Ahmed
>            Priority: Minor
>
> The below code results in an error when executed in Toree on Jupyter 
> notebook. Please note that the first time execution would proceed without 
> issues but subsequent executions by pressing ctrl+Enter will result in the 
> error being thrown. 
>  
> +*Code*+
>   // polymorphic functions
> def findFirst[A](as: List[A], p: A => Boolean): Int = {
> val listLength = as.length
> @annotation.tailrec
>  def go(n: Int): Int =
> { if (n >= listLength) -1 else if (p(as(n))) n else go(n + 1) }
> go(0)
> }
> def passFun(x: Int): Boolean = x == 2
> val l: List[Int] = List(1, 2, 3)
>  // println("The findFirst of function is: ")
>  println(s"Answer is: ${findFirst(l, passFun)}")
>  +*Error thrown when the same code is executed twice is below:*+
> <console>:28: error: missing argument list for method findFirst Unapplied 
> methods are only converted to functions when a function type is expected. You 
> can make this conversion explicit by writing `findFirst _` or 
> `findFirst(_,_)` instead of `findFirst`. findFirst ^ lastException: Throwable 
> = null findFirst: [A](as: List[A], p: A => Boolean)Int passFun: (x: 
> Int)Boolean
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to