Hacker News new | comments | show | ask | jobs | submit login
Chicken Scheme looks mighty fine (unl.edu)
92 points by gnosis 2012 days ago | hide | past | web | 15 comments | favorite

I love Chicken Scheme. The community is awesome and tightly knit. They're always looking to help out new users. I was new to the community awhile back and got a ton of solid feedback on some work I was doing in Chicken. I published epoll bindings for Chicken after figuring out how things were done in their community.

Moritz from the Chicken community recently published a Mongrel2 egg as well (http://wiki.call-cc.org/eggref/4/mongrel2)

As somebody looking to get into Scheme a bit, would you recommend Chicken as a good starting point for practical usage?

As a newcomer, there are just so many implementations to choose from, even when I restrict myself to choosing ones that can compile to C. Racket, Chicken, Gambit, Bigloo. They all look good on paper, and all feel the same (to me) when trying them out. What sets Chicken apart from the rest?

(FWIW, my research is leading me towards Chicken, but I've got that nagging voice in my head wondering if it's the right choice)

Chicken feels like a local optimum of pragmatism and flexibility to me; Racket is larger, to be sure, but somehow overwhelming.

I've been using Chicken for five years to fulfill contracts for military, biotech and publishing clients.

While I set out at first to disprove the axiom that "Scheme is not commercially viable;" Chicken is now my preferred method of writing performant, robust and literate code.

May you tell us more about it? (For things you can speak about.)

I delivered a bizarre product for PSYOP [1] that involves crafting "lines of persuasion" for target audiences; another that prescribes chemotherapy regimens based on genetic profiles of tumors; and finally a wiki → docbook → latex compiler for textbooks.

A few things that really came in handy: XML ↔ S-expression equivalence (for writing functional XML parsers); code-data unification (for structurally composing documents); arbitrary precision arithmetic; etc.

[1] http://en.wikipedia.org/wiki/Psychological_Operations_(Unite...

What kinds of tools do you use to write literate scheme programs? It seems mighty interesting.

Org-mode [1], actually; it has various mechanisms for embedding source code fragments in documents. The fragments can be evaluated when exporting to PDF, for instance; listed; or "tangled" (extracted) and compiled.

My projects usually evolve from a TODO file with source-code fragments for subproblems; then, by a process of conjugation, the fragments are tangled into viable products.

The TODO captures the evolution of the project, and follows the trajectory of eventually accepted or rejected ideas.

[1] http://orgmode.org/guide/Working-With-Source-Code.html

> I've been using Chicken for five years to fulfill contracts for military, biotech and publishing clients.

Do the contracts specify any language requirements, considering the organization may eventually maintain the old themselves.

And, in your experience, do any military projects still require Ada? :)

> Do the contracts specify any language requirements . . .

They did; and, in some cases, I risked losing my job by writing in Scheme. I eventually prevailed, however; and, in one case, converted a Python shop.

> And, in your experience, do any military projects still require Ada?

Java more than Ada, in my experience; but I wonder if Ada's niche isn't aviation and other real-time systems.

This article is from 2007. The founder of the project, Felix, stepped down some time ago, and I haven't been following it for the past few years. I'm not sure who's in charge, or what's been happening. Does anybody know the status of Chicken now?

Felix is still working on Chicken. He's also active on the mailing list. There are a number of people actively working on it as well.

Judging from the commit history, It seems to be pretty active: http://bugs.call-cc.org/timeline

Interestingly, the easyffi egg seems to be in "unsupported or redundant". Does anyone know why?


Also, for a nice intro, try "chicken for programmers of <x>":


easyffi has been superseded by bind [1], apparently.

[1] http://wiki.call-cc.org/eggref/4/bind

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact