{
  "_id": "6ace2865a14063b82c3b08be",
  "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://konrad1991.r-universe.dev",
  "Date/Publication": "2026-10-13 11:16:00 UTC",
  "RemoteUrl": "https://github.com/konrad1991/ast2ast",
  "RemoteRef": "HEAD",
  "RemoteSha": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
  "Packaged": {
    "Date": "2026-10-13 12:13:11 UTC",
    "User": "root"
  },
  "Author": "Krämer Konrad [aut, cre]",
  "_user": "konrad1991",
  "_type": "src",
  "_file": "ast2ast_1.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/e1553031ec0d559134b3168c47487f53e462a016fcb1ca038ced9d9aecd7c350",
  "_filesize": 642832,
  "_sha256": "e1553031ec0d559134b3168c47487f53e462a016fcb1ca038ced9d9aecd7c350",
  "_expires": "2027-01-21T12:47:31.000Z",
  "_created": "2026-10-13T12:13:11.000Z",
  "_published": "2026-10-13T12:47:33.294Z",
  "_buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115291279481,
      "time": 429,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11811648244"
    },
    {
      "job": 115291279374,
      "time": 546,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11812762177"
    },
    {
      "job": 115291279560,
      "time": 430,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11812512598"
    },
    {
      "job": 115291279408,
      "time": 504,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11812672625"
    },
    {
      "job": 115291279323,
      "time": 465,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11812814266"
    },
    {
      "job": 115291279353,
      "time": 960,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11813139003"
    },
    {
      "job": 115291279422,
      "time": 386,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11814493043"
    },
    {
      "job": 115291279192,
      "time": 751,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11814656108"
    },
    {
      "job": 115287743027,
      "time": 456,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11812156224"
    },
    {
      "job": 115291279033,
      "time": 179,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11811497622"
    },
    {
      "job": 115291279597,
      "time": 853,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11813126147"
    },
    {
      "job": 115291279594,
      "time": 818,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11812483728"
    },
    {
      "job": 115291279599,
      "time": 776,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11812881150"
    },
    {
      "job": 115291279574,
      "time": 864,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11812183894"
    },
    {
      "job": 115291279477,
      "time": 675,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11811968738"
    }
  ],
  "_upstream": "https://github.com/konrad1991/ast2ast",
  "_commit": {
    "id": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
    "author": "Konrad1991 <konrad_kraemer@yahoo.de>",
    "committer": "Konrad1991 <konrad_kraemer@yahoo.de>",
    "message": "make_package: derivative per entry point\n\nderivative = list(g = \"reverse\"); entry points not listed stay etr::Double. Each entry point is its own translation unit, so several ETR_REAL types share one shared library.\n",
    "time": 1791890160
  },
  "_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"
    }
  ],
  "_owner": "konrad1991",
  "_selfowned": true,
  "_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": 14
    }
  ],
  "_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": 754,
      "uuid": 35558461
    },
    {
      "user": "fangzhou-xie",
      "count": 2,
      "uuid": 45321577
    }
  ],
  "_userbio": {
    "uuid": 35558461,
    "type": "user",
    "name": "Konrad",
    "followers": 56,
    "description": "PostDoc at KIT. Enthusiastic about R, C++, Data, DataScience, Shiny, ML, Automation and numerical Optimization"
  },
  "_downloads": {
    "count": 755,
    "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": true,
  "_nocasepkg": "ast2ast",
  "_universes": [
    "konrad1991"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-13T12:17:15.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/5f6661d1de9a23af492acc09daf7cda6e29cb752ce7162f117e50f5de462f0a0",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-13T12:17:37.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/7e9daf52ad82f4b0e1425de853106f26ff4098cf71d9e90b862133fccfdcf070",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-13T12:17:12.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/e51da889c91f7ec09da9d50b6293a5c8e416b11e27bd3cfc9aa01c4144b9fb25",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-10-13T12:17:28.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/9a80f70563041bf0346d30336b94805733f1c5cf215f7214b251471347b08c61",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-13T12:39:05.000Z",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/d46a3427fffdec195125163b9cca23b871845dbaf1f990d34dcbdb05cacf30ff",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-13T12:32:23.000Z",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/b25cf1c8966677c9c82555756a9f35b35b19d43d6b463df61503000c28804c99",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-13T12:41:41.000Z",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/05e5538be2ea75d9004f49922bea2c783e74c76ac2265b978390980b41ac06e9",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.1.0",
      "date": "2026-10-13T12:27:52.000Z",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/6ff7d9b8829aeb0a8bfaef3b29eacccc06c0edeaff7aa0770533d67f28a83810",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.0",
      "date": "2026-10-13T12:17:24.000Z",
      "arch": "emscripten",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/288b8fbdf301bf0b9043e4684a3952ce39139ebfd93a3345e3f95ce533cef68c",
      "status": "success",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-13T12:18:44.000Z",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/0b8f955cc01bba3a185e84ebd584b0ec264ea3754bf48ebb199a3b4fad478f94",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-13T12:16:48.000Z",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/aa4a60927c5f9b30094ce68d512ec1cbf13aaabb99093dc1bf3a8a648cc91eb7",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-13T12:16:41.000Z",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/8bfd36d7ba118db75c469a54fb1aee56b676b8fac18f5a410b740e4e30551224",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-13T12:18:45.000Z",
      "arch": "aarch64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/d0c224662f7c2bbc8437a19eda667567d37c965a508fb585eca49a0c1f1e7f1b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.1.0",
      "date": "2026-10-13T12:16:54.000Z",
      "arch": "x86_64",
      "commit": "7a4d9977d608f2e9e69c55549c01da408528c2fd",
      "fileid": "https://r2.ropensci.org/38626210ea677ea753ca1bee8b13035952a3cb3b425c288bf98cf7f9e5650067",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/konrad1991/actions/runs/38394829405"
    }
  ]
}