Hacker Timesnew | past | comments | ask | show | jobs | submit | funkaster's commentslogin

I've been forcing myself to stay within the CHICKEN ecosystem for the past 6 months. So far, the whole ecosystem moves really slow, but CHICKEN is such a good design that adding/rolling your own library for whatever you need is so simple. I ended up creating a bunch of eggs (CHICKEN libs) and even rolling my own web framework with its own ORM and background job processing that I rolled out to prod (1000+ users for the past 6 months or so, not a huge demo but it proved that it can scale/be good enough for my projects).

Best of all, is that the syntax grammar is so simple, that a simple CLAUDE.md + a few review agents lets me move super fast using AI. I spend most of my time anchoring on the design/plan and let AI write the implementation for most of the code.


But are you learning programming in Chicken or in Claude?

If I was new to programming, I would stick to just scheme for a while. I've been doing this for 20+ years professionally. Right now I'm treating claude as my junior engs, and I carefully review what it builds. If you treat them as your E3/E4 engs and you play the role of a TL *AND* assuming you know what you want to build, then things can move pretty fast.

Neither. These people don't realize that they are learning ever less skills than not touching Claude ever.

Toss AI. Install srfi-203 and srfi-216 for SICP support. Then at ~/.csirc

    (import scheme)
    (import (srfi 203))
    (import (srfi 216))
Finally, SICP in Texinfo format:

https://zv.github.io/sicp-in-texinfo


I really like forgejo, but for OSS it's a complete no-no unless they want to manage PRs by email. Maintaining a forgejo instance and allowing anyone to join is a recipe for headaches. Until forgejo figures out the federation aspect (allow to send PRs from other forgejo instances, or some other distributed way), it will be hard for OSS to adopt them and keep the collaboration aspect.


Why is it a no-no? Arent FOSS projects like Gadgetbridge or Forgejo itself using their PR system?


It's just a PITA to contribute, compared to platforms with wider adoption like github/gitlab.


I have found it to be the complete opposite tbh. Not lisp but I've been generating Scheme with claude for about 5 months and it's a pleasure. What I did was to make sure CLAUDE.md had clear examples and also I added a skill that leverages ast-grep for ast-safe replacement (the biggest pain is that some times claude will mess up the parens, but even lately it came up with its own python scripts to count the parens and balance the expressions on its own).

I created Schematra[1] and also a schematra-starter-kit[2] that can be spun from claude and create a project and get you ready in less than 5 minutes. I've created 10+ side projects this way and it's been a great joy. I even added a scheme reviewer agent that is extremely strict and focus on scheme best practices (it's all in the starter kit, btw)

I don't think the lack of training material makes LLMs poor at writing lisp. I think it's the lack of guidelines, and if you add enough of them, the fact that lisp has inherently such a simple pattern & grammar that it makes it a prime candidate (IMO) for code generation.

[1]: https://schematra.com/

[2]: https://forgejo.rolando.cl/cpm/schematra-starter-kit


Thanks for the Scheme setup examples. I have created very simple skills markdown files for Common Lisp and Hylang/hy (Clojure-like lisp on top of Python). I need to spend more effort on my skills files though.


This is incredibly useful - not for Scheme, but for someone like me interested in bootstrapping languages and frameworks in general. I hope you find a way to share the best practices you've learned in a broader context.


apple containers also run on OCI images: https://github.com/apple/container?tab=readme-ov-file#contai...

> The tool consumes and produces OCI-compatible container images...


* A kart data analysis & video synchronizer, that helps you actually understand the ton of data that data loggers like Mychron and UniGo generate https://kartinsightspro.app - written in CHICKEN scheme with tons of FFI bindings

* Schematra https://schematra.com/ - a web "framework" written in CHICKEN scheme

* Lots of (unpublished, but will try to do so soon) eggs that spawned from building schematra & KartInsightsPro

  * llm.scm (inspired by ruby's llm gem)

  * imgui.scm

  * aws.scm (support for core AWS services like SSM, S3, other APIs)

  * umami.scm
You get the idea. I started playing with CHICKEN to scratch the itch of building something in Scheme and I couldn't stop. Using ast-grep as a skill in claude code makes it a lot easier to edit code as well.

Edit: format


I would recommend taking a look at some of the schemes. In particular I've been having tons of fun with CHICKEN: https://call-cc.org/ - the fact that it compiles to C and can generate binaries is a great plus.


I have been enjoying Chez scheme these last few weeks, and having an LLM has helped me when i have missing libraries. The ability to just wrap a C library and statically link everything into a single binary has been really nice too!


thanks for creating it! I'm really impressed by how easy was to use for dev and prod.


I just shipped Schematra 0.4 with some updates based on some usage and feedback.

Testing ergonomics: Went from 15+ lines of boilerplate to a one-liner by introducing structural testing. Routes can now return S-expressions (chiccup) instead of rendered HTML, so you test against data structures, not string parsing.

  ;; Assert against structure, not HTML strings
  (test "returns greeting"
    '(ccup [h1 "Hello"])
    (test-route-body app 'GET "/hello"))
Structural middleware: Since routes return S-expressions and rendering happens at the framework boundary, middleware can inspect and transform the DOM structure before it becomes HTML. Want to inject CSRF tokens into every form? It's just an S-expression transform with sxml-transforms. No template engine plugins needed. (see the post for a complete example)

Performance notes: I benchmarked chiccup rendering at 145k ops/sec average (339k for simple elements, 2k for 50-row tables). Even worst case is 0.5ms - way below database/network latency, so no caching layer needed, at least not for now.

What's next: Besides the Redis-backed job queue and rqlite-based ORM mentioned in the full post, I'm working on improving route handling with automatic path parameter extraction:

  (get "/posts/:id/comments"
    ;; :id automatically becomes a local variable
    (display id))  ; just works, no (alist-ref 'id params) needed
Schematra is a Sinatra-inspired web framework for CHICKEN Scheme. Still pre-1.0, API is evolving based on real-world use.

Full post: https://schematra.com/blog/whats-new-in-schematra-0-4

Source: https://github.com/schematra/schematra

Benchmarks: https://github.com/schematra/schematra/tree/main/benchmarks


Thank you for writing this! Do you know how much work it would be to generalise to other Schemes, like say Guile?


All of it? probably not a small effort. Parts of it like chiccup html generation, maybe a couple of days, assuming there's something similar to sxml in the target scheme.

But for Guile in particular there's https://artanis.dev/ that's a pretty close cousin.


this is super cool. congrats and best of luck with it! Love the mother & son backstory to the product. The scarves look like they could make a great gift as well. I'll bookmark your website.


lower tech/scale but in Chile (in the island of Chiloe) they have been doing this for centuries for individual houses: https://www.atlasobscura.com/articles/moving-houses-of-chilo... - although no smart jacks, only bulls and people.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: