Advertisement Β· 728 Γ— 90

Posts by troy_phd

tinypkgr just hit CRAN!
The whole tinyverse development toolchain (tinyrox, tinypkgr, rformat, and saber) is now one install.packages() away.
cornball.ai/posts/tinyve...

13 hours ago 8 2 0 0

mx.api 0.1.0 is on CRAN! πŸŽ‰
An R client for the Matrix Client-Server API
Chat between R and @matrix.org
Login, rooms, messages, history, media. E2EE next.
#rstats
cran.r-project.org/package=mx.api

1 day ago 2 1 0 0
tinytorch, torchlang, ariel | Deep Learning in R Why I'm releasing three torch-adjacent packages, and what I'm betting on.

After 'helping' @dfalbel.bsky.social land the torch 2.8 bump, I vibe-coded a Linux-only libtorch wrapper.

Also, the 3rd use of ASTs I teased: compilers!
TorchScript is on the way out in favor of Python-only TorchDynamo; this is a path for R torch users

#rstats
cornball.ai/posts/torcha...

4 days ago 12 2 0 0

Added Kimi support after seeing this:
bsky.app/profile/royf...

6 days ago 2 0 0 0

llm.api is on CRAN!

Chat with the usual LLMs (OpenAI, Anthropic, and Ollama, plus Kimi!)
Agent loop with tool use and an MCP client for R, too!
Just curl and jsonlite under the hood, API design derived from ellmer.

install.packages("llm.api")
#rstats *got it this time*

6 days ago 2 0 1 0
GitHub - yihui/litedown: A lightweight version of R Markdown (without using Pandoc or knitr) A lightweight version of R Markdown (without using Pandoc or knitr) - yihui/litedown

litedown would be the more natural partner for that job. Trying it now.
pkgdown pulls in 53 non-base recursive hard deps, litedown pulls in 2 (commonmark, xfun). This is the whole point of the tinyverse philosophy.
Thanks for building it @yihui.org!
github.com/yihui/litedown

1 week ago 2 0 2 0
Post image Post image Post image Post image

πšπš’πš—πš’πšπšŠπš‹πš•πšŽ 0.6.1 for #Rstats is out!

It's an ultra simple, super flexible, and 0-dependency package to draw beautiful tables in HTML, LaTeX, Typst, Word, PDF, and PNG.

And for those who ❀️ documentation, πšπš’πš—πš’πšπšŠπš‹πš•πšŽ ships with a billion pages of tutorials:

vincentarelbundock.github.io/tinytable/

1 year ago 333 87 7 10

Definitely slowing it down for me!
I find it easy and worthwhile to vibe code minimal dependency R packages.
bsky.app/profile/troy...

1 week ago 0 0 0 0
Advertisement

#rstats!
because I’m good at Bluesky

1 week ago 22 1 2 0

tinyrox is on CRAN!

Minimal roxygen2 alternative. Zero non-base R deps, generates your .Rd files and NAMESPACE

`install.packages("tinyrox")`

Part of the tinyverse toolchain:
cornball.ai/posts/tinyve...

1 week ago 9 3 0 2
Screenshot of blog post at https://dirk.eddelbuettel.com/blog/2026/04/12#littler_0.3.23 describing release 0.3.23 of CRAN package littler.

Screenshot of blog post at https://dirk.eddelbuettel.com/blog/2026/04/12#littler_0.3.23 describing release 0.3.23 of CRAN package littler.

littler 0.3.23 on CRAN: Mostly Internal Fixes
Everybody's favourite way to rock R at the command-line and in scripts
dirk.eddelbuettel.com/blog/2026/04...
#rstats

1 week ago 8 2 0 0

inst/ ?

1 week ago 1 0 1 0

Cool to see @tylermw.com arrive at the same conclusion: AST-based analysis of R code beats token parsing… for AIs and developers!

tarborist does this for {targets} pipelines in IDEs. saber does it across all your packages for agents like #ClaudeCode and #Codex

🌲 #rstats
cornball.ai/posts/tokens...

2 weeks ago 15 0 0 1

bsky.app/profile/alex...

3 weeks ago 1 0 0 0
Post image

If they’re doing install_github, sure. But the advantage of CRAN over npm is precisely that it’s well curated

3 weeks ago 5 1 3 0

First one-shot submission!

3 weeks ago 3 0 0 0
Advertisement

To directly answer your question:
astgrepr does the second one. saber combines the AST with R’s well-defined DESCRIPTION files to do the third

4 weeks ago 0 0 0 0

saber uses the AST (getParseData in this case, but could be treesitter too) to accomplish the last two goals.

You intuitively understand these relationships. Your AI does not!
3/3

4 weeks ago 0 0 1 0

The AST of a single function will help a formatter format it.
The AST of a single package can help us understand the structure of the package.
The AST of your entire code base can help us understand how different packages and their functions relate to each other.
2/3

4 weeks ago 0 0 1 0

My brain’s the same!
The AST, whether it’s from treesitter (fast, all the languages) or utils::getParseData (batteries included base R), is a tool that gets you the structure of the code. β€œThis is a function. That’s a constant. This function calls that one”, etc.
1/2

4 weeks ago 0 0 1 0

The LLM profvis work discussed in the post:
bsky.app/profile/emil...

4 weeks ago 0 0 0 0

The LLM skills/copilot work discussed in the post:
bsky.app/profile/jont...

4 weeks ago 0 0 1 0
GitHub - cornball-ai/saber: Code intelligence and project context for R agents Code intelligence and project context for R agents - cornball-ai/saber

github.com/cornball-ai/...

4 weeks ago 1 0 1 0
saber | LLMs Work on Tokens, Code Lives in Trees Why I keep building tools around the AST

New R package: saber
Claude Code keeps forgetting. `saber` builds the graph it can't hold in its head.
LLMs work on tokens. Code lives in trees.
#rstats
cornball.ai/posts/tokens...

4 weeks ago 7 1 2 0
Balasubramanian Narasimhan & Anqi Fu β€” Development Plans for CVXR
Balasubramanian Narasimhan & Anqi Fu β€” Development Plans for CVXR YouTube video by CVXPY

I very much appreciated this talk by R Foundation member Balasubramanian Narasimhan. Not just because the content and slides are great, but because it helps to legitimize the use of LLM CLI coding tools in the R community:
www.youtube.com/watch?v=Zvou...

4 weeks ago 0 0 0 0
Advertisement

#rstats whisper Release
~18x speedup by fixing things that shouldn’t have been broken in the first place: a pipeline object, SDPA, hard coded constants.
Plus multilingual support and per-word/token timestamps now.

1 month ago 8 0 0 0

rformat 0.1.0 is on CRAN. Base R-inspired code formatter built on utils::getParseData(), R's built-in AST. One Import: Rcpp, so it's lightning fast.

install.packages("rformat")
rformat::rformat_file("my_script.R")

#tinyverse #rstats

1 month ago 6 1 0 0

years of base #rstats meant I had no problem reading this

1 month ago 23 6 3 1

I just hate tibbles so much.
(don't @ me)

2 months ago 139 7 34 16

Feb. update to the LLM+R guide πŸ’ͺ

8 new packages including:
code review, predictive modeling, speech-to-text, text-to-speech, HuggingFace integration, Gemini CLI companion, a CLI coding agent written in R🀯 ,and more!

available in English πŸ‡±πŸ‡· and Spanish πŸ‡²πŸ‡½
luisdva.github.io/llmsr-book/
#rstats

2 months ago 33 10 0 2