Categorized as "Chez Scheme"

Getting started with Akku package manager for Scheme

Akku is a package manager for Scheme that currently supports numerous R6RS and R7RS Scheme implementations.1 I was slow to embrace Akku because I encountered some initial friction with installation and setup.

ASCII progress bar in Chez Scheme

As an impatient person, I typically use progress bars for any code that takes more than a few minutes to run. In a previous post, I wrote about creating ASCII progress bars in R and Racket.

Viewing source code in R and Chez Scheme

One of the advantages of open source software is being able to view, review, and learn from source code. Both R and Chez Scheme provide tools for accessing source code.

Filter, partition, and sort dataframes in Chez Scheme

This post is the fourth in a series on the dataframe library for Chez Scheme. In this post, I will contrast the dataframe library with functions from the dplyr R package for filtering, partitioning, and sorting dataframes.

Split, bind, and append dataframes in Chez Scheme

This post is the third in a series on the dataframe library for Chez Scheme. In this post, I will contrast the dataframe library with functions from base R and the dplyr package for splitting, binding, and appending dataframes.

Select, drop, and rename dataframe columns in Chez Scheme

This post is the second in a series on the dataframe library for Chez Scheme. In this post, I will contrast the dataframe library with functions from the dplyr R package for selecting, dropping, and renaming columns.

A dataframe record type for Chez Scheme

As an exercise in my Chez Scheme learning journey, I have implemented a dataframe record type and procedures to work with the dataframe record type. Dataframes are column-oriented, tabular data structures useful for data analysis found in several languages including R, Python, Julia, and Go.

Reading and writing JSON files in R and Chez Scheme

I have previously written about how to read and write JSON files in R and Racket. In re-reading that old post, I’m struck by how it shows me tinkering without understanding.

Avoiding namespace pollution in R and Chez Scheme

I was reading a blog post that mentioned that Julia has “[w]eak conventions about namespace pollution” and it got me thinking about how I manage namespace pollution in R and Chez Scheme.

Getting started with Chez Scheme and Emacs on Ubuntu

I’ve been an enthusiastic Mac user for about 12 years, but hardware problems with a recent MacBook Pro and friction surrounding the Catalina upgrade pushed me to evaluate other Unix-like systems.

Adding string matching to chez-docs

I recently wrote a little library, chez-docs, to make accessing documentation easier while learning Chez Scheme (blog post). The main procedure, doc, in chez-docs only returns results for exact matches with proc.

Access Chez Scheme documentation from the REPL

In the process of learning Chez Scheme, I’ve missed R’s ability to quickly pull up documentation from the console via help or ?. I’ve toyed with the idea of trying to format the contents of the Chez Scheme User’s Guide for display in the REPL (similar to Clojure Docs).

Reading and writing CSV files in Chez Scheme

I have added functionality for reading and writing CVS files to my Chez Scheme library, chez-stats. In a previous post, I compared reading CSV files in R and Racket and made the following observation.

Writing a Chez Scheme library

Recently, I switched from learning Racket to Chez Scheme. I wanted to try to repeat some of my previous Racket exercises in Chez Scheme, but quickly ran into a barrier when my first choice required drawing random variates from a normal distribution.

Getting started with Chez Scheme and Emacs on macOS and Windows

I recently decided to switch my attention from learning Racket to Chez Scheme. One of the reasons that I chose Racket was because of how easy it is to get up and running.

Exploring Scheme implementations

Over the last 6 months, I have been learning Racket in my free time. One of my first posts on this blog laid out my reasons for choosing Racket. The relatively low barrier to entry (e.