Skip to content

FastR - GraalVM Community Edition 1.0 RC12

Pre-release
Pre-release
Compare
Choose a tag to compare
@ansalond ansalond released this 04 Feb 13:43
· 3170 commits to master since this release

FastR is a GNU R compatible implementation of R for GraalVM. It is currently based on R 3.5.1, reuses the base packages of GNU R and is compatible with the ecosystem.

For example, FastR can install and run unmodified complex R packages like ggplot2, Shiny, or Rcpp, for compatibility with other packages please refer to the compatibility checker: http://www.graalvm.org/docs/reference-manual/compatibility/.

Being implemented on top of GraalVM, FastR uses its state-of-the-art JIT compiler and has better peak performance, often several times faster than GNU R.

The R language components can be installed in GraalVM using the gu utility.

More information is available on the GraalVM website: http://www.graalvm.org/docs/reference-manual/languages/r/

New features in RC12:

  • the implementation of the TruffleLanguage#toString method uses R function print
  • for example: the console in Chrome DevTools will print data.frames formatted like R would

Added missing R builtins and C API

  • FastR provides GNU-R compatible parseData for expressions parsed via parse(...,keep.source=T)
  • format.POSIXlt supports following formats: %z, %Z, %x, %X.
  • dummy implementation of the ALTREP framework to avoid linking problems. Most of the functions fail at runtime. #48

Bug fixes:

  • sys.calls gives wrong result when eval with envir argument is on the call stack
  • is.na was not correctly handling lists, for example: is.na(list(function() 42))
  • transfer srcref attribute to the result of .subset and [
  • matrix(1,nrow=NULL,ncol=NULL) caused internal FastR error instead of R user level error
  • option --polyglot works with the native image of FastR
  • added native functions optim() and optimness()
  • fixed various race conditions in parallel package
  • strsplit(...,perl=T) does not end up in an infinite loop if the pattern is not found by pcre_exec
  • as.character.factor error for levels containing NAs
  • env2list error for environments containing pairlists
  • body<- error for non-scalar values
  • unlink error for paths containing wildcard(s) but no path separator
  • dims attribute errorneously set to RDoubleVector; exception when retrieving the dims #49
  • issues with the dplyr's mutate and transmute: #50 and #51