MyNixOS website logo
Description

R Source Code Modularizer.

Modularizes source code. Keeps the global environment clean, explicifies interdependencies. Inspired by 'RequireJS'<http://requirejs.org/>.

The requireR package can be used to modularize your code. Using requireR, your system components can be separated and combined easier. The requireR packages is inspired by the JavaScript library requireJS.

Files will become selfcontained. Modules can contain private variables and functions, and only communicate via their interface variables. The global environment can stay clean. (almost) no variables end up in the global environment, so no more name collisions or related problems. Depedencies are always explicified. Each file contains all its dependencies, so you directly see where the file is dependent on. A typical use case is the following:

hello.R
requireR(function() {
"hello"
}

world.R
requireR(function() {
"world"
})

requireR(
"hello.R",
"world.R",
function(hello, world) {
paste(hello, world)
})

As you can see, all code is wrapped within the requireR function. The variables 'hello' and 'world' can only be used within the wrapped function, and do not end up in the global scope.

You can also use requireR within your module-less code (although this is not recommended)

hello <- requireR("hello.R")<br> world <- requireR("world.R")<br> paste(hello, world)

Metadata

Version

1.0.0.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows