thisago's blog

"Meet your new favorite language!"

Table of Contents

info "(guix-cookbook) Top" | grep -o 'Scheme tutorials::.*'

Scheme tutorials:: Meet your new favorite language!

Guile (GNU's Ubiquitous Intelligent Language for Extensions) is a implementation of Scheme1 and language used to implement Guix and its packages.

Why getting into another language?

This time I asked this question myself. Is really worth only because Guix is written on it?

Nevertheless2 I am convinced it is a strategical move, mainly because I live on Emacs and I'm now moving to Guix with the intent of saving time in the administration of my systems.

Like going 10 steps back aiming to get 30 steps forward somewhere in the future (I hope).

First impressions

Things I am appreciating from Guile:

  • It's home is Emacs. Just like my.
  • Self documenting and installable texinfo manuals.3
  • Simplicity.
  • Large similarities with Emacs Lisp.
  • It is like a high level programming language to build entire systems with fine grain control.
  • Guile is a "high-level programming language for low-level developers". It's aim to be easy integrated with low level remembers Lua, but with macros.
  • Functional paradigm is appealing to me. Pure procedures, care on side effects at design and immutability.
  • Emacs

It inspires me a lot.

New Interests

  • Once I get adapted to Guile REPL, I will probably dive deeper in eshell.
  • Start preferring Guile over bash to write scripts.
  • More advanced customization on Emacs will become easier because I still struggles on some ELisp concepts. CAR and CDR, scopes, etc.

After the storm

On the last weeks I was moving my workspaces to new qubes4, and I am still migrating the old setup to a declarative system in Guix.

After this extra weight, with a completely reproducible environment, I plan to:

  • Focus more at low level.
    • Study C with more depth, because in reality I only dived in C++.
    • Back with embedded devices, ESP and start using RTOSes.
    • Back with my initial goal to learn assembly and reverse engineering for compiled binaries. (Also extra usefulness in a world of WASM websites)
    • Dive into Rust and Zig for fun, compare concepts with C and Nim.
    • Learn how write lexers.
    • Back to Nim for comfort.
  • Because of QubesOS, study Xen and alternatives secure systems. Also study Whonix docs deeper.
  • Find a way to extinct internet connected mobile devices from my life. Smartphones are cool, but it either come with me, or connect it to the internet.5
  • Continue studying Kubernetes, rebuild my local infra and build also a public infra for projects.
  • Focus in building something useful to me and others that can bring some passive resources.

Ending

This was pretty much a braindump to organize my thoughts and expectations, I hope you can take some insight or relevant keyword.

Good luck in this journey of filling the brain with multiple technical areas.

Footnotes:

1

See info "(guile-3.0) Introduction" (In Emacs, press RET on this).

2

I think this is my first usage of this word

3

Someday I will publish books in texinfo format intended to be read with Emacs xD

4

In QubesOS, a qube is a VM. In this case a AppVM (persistent home, amnesic root)

5

This may be a dedicated post.

See the source code here.
Generated at 2025-12-03 Wed 10:01 +0000 by Emacs 29.4 (Org mode 9.6.15)