{
  "_id": "6ad113430edca5be250218d3",
  "Package": "ast2ast",
  "Type": "Package",
  "Title": "Translates an R Function to a C++ Function",
  "Version": "1.1.0",
  "Date": "2026-09-01",
  "Authors@R": "c(person(given = \"Krämer\",\nfamily = \"Konrad\",\nrole = c(\"aut\", \"cre\"),\nemail = \"konrad_kraemer@yahoo.de\"))",
  "Maintainer": "Krämer Konrad <konrad_kraemer@yahoo.de>",
  "BugReports": "https://github.com/Konrad1991/ast2ast/issues",
  "URL": "https://github.com/Konrad1991/ast2ast",
  "Description": "Enable translation of a tiny subset of R to C++. The user\nhas to define a R function which gets translated. For a full\nlist of possible functions check the documentation. After\ntranslation an R function is returned which is a shallow\nwrapper around the C++ code. Alternatively an external pointer\nto the C++ function is returned to the user. The intention of\nthe package is to generate fast functions which can be used as\node-system or during optimization.",
  "License": "GPL (>= 2)",
  "SystemRequirements": "GNU make, C++20, Rtools (>= 4.5) on Windows",
  "NeedsCompilation": "yes",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "Config/pak/sysreqs": "make",
  "Repository": "https://fastverse.r-universe.dev",
  "Date/Publication": "2026-10-15 15:47:15 UTC",
  "RemoteUrl": "https://github.com/Konrad1991/ast2ast",
  "RemoteRef": "HEAD",
  "RemoteSha": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
  "Packaged": {
    "Date": "2026-10-15 17:21:36 UTC",
    "User": "root"
  },
  "Author": "Krämer Konrad [aut, cre]",
  "_user": "fastverse",
  "_type": "src",
  "_file": "ast2ast_1.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/568d36bd525dea8b0e6a9d9abe378319bee7ddc51b013841dae9a8bc3980d59c",
  "_filesize": 655502,
  "_sha256": "568d36bd525dea8b0e6a9d9abe378319bee7ddc51b013841dae9a8bc3980d59c",
  "_expires": "2027-01-23T17:54:08.000Z",
  "_created": "2026-10-15T17:21:36.000Z",
  "_published": "2026-10-15T17:54:10.940Z",
  "_buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 116567244966,
      "time": 531,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11994991062"
    },
    {
      "job": 116567245123,
      "time": 624,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11994113534"
    },
    {
      "job": 116567245131,
      "time": 527,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11995025936"
    },
    {
      "job": 116567245191,
      "time": 596,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11993404746"
    },
    {
      "job": 116567245218,
      "time": 519,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11995596119"
    },
    {
      "job": 116567245006,
      "time": 761,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11996175198"
    },
    {
      "job": 116567245172,
      "time": 499,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11994434614"
    },
    {
      "job": 116567245145,
      "time": 1178,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11996181407"
    },
    {
      "job": 116562940677,
      "time": 531,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11993039625"
    },
    {
      "job": 116567245307,
      "time": 199,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11994561837"
    },
    {
      "job": 116567245203,
      "time": 1149,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11994679354"
    },
    {
      "job": 116567245151,
      "time": 1022,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11995570437"
    },
    {
      "job": 116567245219,
      "time": 1095,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11993939927"
    },
    {
      "job": 116567245205,
      "time": 1074,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11994334625"
    },
    {
      "job": 116567245194,
      "time": 817,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11994758271"
    }
  ],
  "_upstream": "https://github.com/Konrad1991/ast2ast",
  "_commit": {
    "id": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
    "author": "Konrad1991 <konrad_kraemer@yahoo.de>",
    "committer": "Konrad1991 <konrad_kraemer@yahoo.de>",
    "message": "Name indices via c() for vectors and dimnames\n\n- v[c(\"a\", \"b\")], m[c(\"t1\", \"t0\"), \"b\"], a[c(\"b\", 1L), i, \"t2\"]\n  resolved at translation time; c() without strings stays a plain index\n- repeated indices longer than the dimension (x[c(1L, 2L, 2L)]) allowed;\n  length check only for logical indices (\"Logical subscript too long\")\n",
    "time": 1792079235
  },
  "_maintainer": {
    "name": "Krämer Konrad",
    "email": "konrad_kraemer@yahoo.de",
    "login": "konrad1991",
    "description": "PostDoc at KIT. Enthusiastic about R, C++, Data, DataScience, Shiny, ML, Automation and numerical Optimization",
    "uuid": 35558461
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppThread",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.4",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "RcppThread",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "microbenchmark",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "RcppXPtrUtils",
      "role": "Suggests"
    },
    {
      "package": "pkgbuild",
      "role": "Suggests"
    },
    {
      "package": "nnls",
      "role": "Suggests"
    },
    {
      "package": "Matrix",
      "role": "Suggests"
    }
  ],
  "_owner": "konrad1991",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-42",
      "n": 1
    },
    {
      "week": "2026-02",
      "n": 6
    },
    {
      "week": "2026-03",
      "n": 12
    },
    {
      "week": "2026-04",
      "n": 3
    },
    {
      "week": "2026-05",
      "n": 1
    },
    {
      "week": "2026-06",
      "n": 14
    },
    {
      "week": "2026-08",
      "n": 12
    },
    {
      "week": "2026-09",
      "n": 6
    },
    {
      "week": "2026-10",
      "n": 1
    },
    {
      "week": "2026-18",
      "n": 2
    },
    {
      "week": "2026-20",
      "n": 1
    },
    {
      "week": "2026-21",
      "n": 3
    },
    {
      "week": "2026-22",
      "n": 6
    },
    {
      "week": "2026-24",
      "n": 11
    },
    {
      "week": "2026-32",
      "n": 1
    },
    {
      "week": "2026-33",
      "n": 2
    },
    {
      "week": "2026-34",
      "n": 15
    },
    {
      "week": "2026-35",
      "n": 7
    },
    {
      "week": "2026-36",
      "n": 13
    },
    {
      "week": "2026-37",
      "n": 3
    },
    {
      "week": "2026-38",
      "n": 4
    },
    {
      "week": "2026-41",
      "n": 15
    },
    {
      "week": "2026-42",
      "n": 23
    }
  ],
  "_tags": [
    {
      "name": "V0.5.0",
      "date": "2026-01-13"
    },
    {
      "name": "V1.1.0",
      "date": "2026-10-06"
    }
  ],
  "_topics": [
    "abstract-syntax-tree",
    "c",
    "c-plus-plus",
    "expression-template",
    "matrix",
    "rcpp",
    "transpiler",
    "vector",
    "openblas",
    "cpp"
  ],
  "_stars": 39,
  "_contributors": [
    {
      "user": "konrad1991",
      "count": 763,
      "uuid": 35558461
    },
    {
      "user": "fangzhou-xie",
      "count": 2,
      "uuid": 45321577
    }
  ],
  "_userbio": {
    "uuid": 105517888,
    "type": "organization",
    "name": "fastverse",
    "followers": 34,
    "description": "An Extensible Suite of High-Performance and Low-Dependency Packages for Statistical Computing and Data Manipulation in R"
  },
  "_downloads": {
    "count": 772,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ast2ast"
  },
  "_devurl": "https://github.com/konrad1991/ast2ast",
  "_searchresults": 49,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/ast2ast.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt"
  ],
  "_homeurl": "https://github.com/konrad1991/ast2ast",
  "_realowner": "konrad1991",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1",
      "date": "2022-03-14"
    },
    {
      "version": "0.2",
      "date": "2022-09-15"
    },
    {
      "version": "0.2.1",
      "date": "2022-10-19"
    },
    {
      "version": "0.3.0",
      "date": "2023-02-28"
    },
    {
      "version": "0.3.1",
      "date": "2023-04-11"
    },
    {
      "version": "0.3.2",
      "date": "2023-12-09"
    },
    {
      "version": "1.0",
      "date": "2026-09-14"
    },
    {
      "version": "1.0.2",
      "date": "2026-10-05"
    }
  ],
  "_exports": [
    "make_package",
    "translate"
  ],
  "_help": [
    {
      "page": "make_package",
      "title": "Translate R files into the C++ code of an existing package",
      "topics": [
        "make_package"
      ]
    },
    {
      "page": "translate",
      "title": "Translate an R function into C++",
      "topics": [
        "translate"
      ]
    }
  ],
  "_rundeps": [
    "R6",
    "Rcpp",
    "RcppThread"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "DetailedDocumentation.Rmd",
      "filename": "DetailedDocumentation.html",
      "title": "Detailed Documentation",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Type system in ast2ast",
        "Setting types for function arguments",
        "Default behavior",
        "Using argtypes()",
        "Borrowing, constness, and references",
        "Setting types for variables inside the function",
        "Static types vs. R's dynamic typing",
        "Derivatives",
        "Forward mode",
        "Reverse mode",
        "Design philosophy",
        "Inner functions",
        "Functionals",
        "Optimizers",
        "Custom types (new_type)",
        "Interpolation"
      ],
      "created": "2022-01-14 21:37:34",
      "modified": "2026-10-06 13:32:30",
      "commits": 35
    },
    {
      "source": "InformationForPackageAuthors.Rmd",
      "filename": "InformationForPackageAuthors.html",
      "title": "Information for package authors",
      "author": "Konrad Krämer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Guidance for Package Authors",
        "Compiling R files into a package: make_package",
        "Naming rationalization ast2ast",
        "Comparison of R and ETR code",
        "The XPtr interface",
        "First, one creates the external pointer of the R function.",
        "Afterwards the external pointer is used in an R package",
        "call the function from the R package"
      ],
      "created": "2022-01-31 09:22:49",
      "modified": "2026-10-13 08:32:19",
      "commits": 35
    },
    {
      "source": "InnerFunctionsAndTypes.Rmd",
      "filename": "InnerFunctionsAndTypes.html",
      "title": "Inner Functions and Custom Types",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Defining a custom type",
        "An inner function operating on the type",
        "Translating and calling it"
      ],
      "created": "2026-08-18 14:15:40",
      "modified": "2026-10-06 13:32:30",
      "commits": 5
    },
    {
      "source": "MemoryModel.Rmd",
      "filename": "MemoryModel.html",
      "title": "The Memory Model: Copy, Borrow, Ref",
      "author": "Konrad Kraemer",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Boundary 1 -- R calls the translated function",
        "Boundary 2 -- inside f, calling an inner fn()",
        "In one table",
        "The short version"
      ],
      "created": "2026-09-09 13:28:40",
      "modified": "2026-09-09 13:28:40",
      "commits": 1
    }
  ],
  "_score": 7.245048514400569,
  "_indexed": false,
  "_nocasepkg": "ast2ast",
  "_universes": [
    "fastverse"
  ],
  "_indexurl": "https://konrad1991.r-universe.dev/ast2ast",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-15T17:25:53.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/965a7f411cff8d00fc418436a5ecbfd693d732ce19ac646f3173c96b5bce9f51",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-15T17:26:22.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/fa40989931815bf3c20ffc27e1200fc6d41d2005fa10da120d70328f4b8ee14e",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-15T17:25:49.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/264a76d91e886d2c6c8f67260ef480c5e56487dda38aba2b4ef8dc8c6a89bfc3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-15T17:26:07.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/f6f11b3248297aa247a50ee92df0387b7ee5e77f00de91eb13ddaeebf7532fc6",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-15T17:38:37.000Z",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/4869d7b1361399322974789a5eff46ebd3010f17c59112087d318767506bea2b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-15T17:35:43.000Z",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/57651b19728fbe49f3395fb0579f86965c2cb3e1a9c5528b07fb221cb7202f57",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-15T17:36:43.000Z",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/6d6b478dd334b6cad7154d584a24c438b3db8029b13d90ab29a7639f5f4bd125",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-15T17:38:10.000Z",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/08e5651053821bd457e5cac7846bd7ec6816fdcf6796dc07680f6e39e99c4365",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.0",
      "date": "2026-10-15T17:26:29.000Z",
      "arch": "emscripten",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/0ee627ff77953d62f48b3a49259a74d59a037cd6d846107843a5dff54dbeb434",
      "status": "success",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-15T17:28:39.000Z",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/13f1e51d2748c5716db3ec3f794ccd68ff5a488c47b763f35c74d49370bbe377",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-15T17:25:26.000Z",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/5d1fa82d6117349045dfb11792e9e1b92737d26d2fb8ab010f8754ebb9857b7b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-15T17:25:26.000Z",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/4777f16d15da5bc1c685ae29ba16efa589676b83e19cd07d79a85bb996333b85",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-15T17:27:02.000Z",
      "arch": "aarch64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/d62e8112faf91a2d84439bc06017a51354fd12faa04550cba500e389f8f83276",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-15T17:25:20.000Z",
      "arch": "x86_64",
      "commit": "a43a1672bb294fc5f02bc295dcae3d0edc9be2ed",
      "fileid": "https://r2.ropensci.org/c35e091182ec16801bbfff90fc28fa04f0597225eea87fcba6e72621a052c34e",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/fastverse/actions/runs/38775750442"
    }
  ]
}