Live data from Hacker News

Chicken Scheme 5.0

lists.nongnu.org

41–50 of 89 posts

Re: Chicken Scheme 5.0

#41
post #39

Looked really cool. Downloaded it via Homebrew but my first test file[1] ran into a myriad of issues like 'unbound variable: use', 'unbound variable: printf', 'import had trouble expanding the macro: srfi-1' (paraphrasing). Not sure if the Homebrew recipe is broken but I would love to use this for some of my side projects. Congrats on the release! [1] test.scm (use srfi-1) (define (test number1 number2) (printf "Sum:…

This is an old example. This should now be something like (import (chicken format)) (define (test number1 number2) (printf "Sum: ~s" (+ number1 number2))) (test 1 2) If you're trying to actually use srfi-1, that's now imported via (import srfi-1). (use...) no longer exists.

Gotcha! Thanks for the update.

Re: Chicken Scheme 5.0

#42
post #29

Earlier quoted context omitted.

Yes there is a really great statistics functional programming language that was founded on being a scheme for data science. Unfortunately the data scientist back then were not training in doing code well so the examples of the language got cluttered up but there is a great functional Scheme right in there. That language is R. http://adv-r.had.co.nz/Functional-programming.html I learned Racket (Lisp) and then realized…

The parent asked for a Lisp dialect. R is not a Lisp dialect. It's ridiculous to claim there's a "Scheme" in R. R is not Scheme, it's not even close.

It’s much closer than people think. R originally built on a Scheme runtime, and the DNA of Scheme is still lurking pretty close to the surface.

The meta programming facilities in R still look very lispy, and are used to good effect throughout the Tidyverse family of packages.

If I had one wish, it would be to see something like the Tidyverse exist in something still closer to Scheme... like Racket.

Re: Chicken Scheme 5.0

#43

Wow! It has been almost 6-7 years since I used Chicken Scheme, but I have fond memories of it. I wrote a program to automatize the creation of scientific reports in the Planck/LFI project [1]. The purpose was to quickly scan a large number of maps and power spectra produced by the data analysis pipeline, detect any weirdness in the data, and create a report in HTML format. The report included several tables and plots…

If you don't mind me asking, why did you stop using it?

Re: Chicken Scheme 5.0

#44
post #9

One of the best intros to generational garbage collection is on chicken internals[1]. If you've ever wondered about GCs I thoroughly recommend giving the article a read, it's full of interesting asides as well. I think I would use chicken more but usually when reaching for scheme it seems to be because I want something embeddable. Even so, extremely excited about this release! [1]: https://www.more-magic.net/posts/in…

JOOI, what's your embeddable Scheme of choice?

Femtolisp

https://github.com/JeffBezanson/femtolisp

Re: Chicken Scheme 5.0

#45
post #40

Earlier quoted context omitted.

I don't know many uses of awful in production. http://paste.call-cc.org/ is awful-based. My home page ( http://parenteses.org/mario/ ) is also in awful, but it's nothing fancy. It's been ported to CHICKEN 5, by the way: http://wiki.call-cc.org/eggref/5/awful

I took a peek at the link to your homepage. I wish I had a cute dog named Ada!

Lazy cat named Curry

Re: Chicken Scheme 5.0

#46
post #29

Is there some lisp that has offers nearly as powerful and fast data processing and tensor algebra facilities like Pandas and Numpy of Python? I would love to use a lisp but am not sure how well are they going to manage with huge 2-3D arrays.

Yes there is a really great statistics functional programming language that was founded on being a scheme for data science. Unfortunately the data scientist back then were not training in doing code well so the examples of the language got cluttered up but there is a great functional Scheme right in there. That language is R. http://adv-r.had.co.nz/Functional-programming.html I learned Racket (Lisp) and then realized…

Currently, this comment is heavily downvoted, which I do not understand. If Julia warrants mentioning as having a lispy core, then it’s at least as valid to point out R’s deeply lisp-inspired (and technical implementation based) heritage.

I mean, scratch the surface on any of the FFI docs, and you’ll see that SEXPRs are right there lurking barely beneath the surface: http://dirk.eddelbuettel.com/code/rcpp.html

EDIT: and you can, as the parent comment says, do much worse than Hadley’s functional programming guide as an introduction.

Re: Chicken Scheme 5.0

#47
At my last job (company that builds data portals) I put together a basic site-to-Gopher gateway, so that people could explore data portals in glorious ASCII.

I didn’t get all the functionality I wanted built in the time allotted (some of the time was also spent trying to fix up an old Wyse60 serial console that was on the fritz), but I had a blast writing that in Chicken Scheme. I was surprised and enormously entertained that there’s a pretty well-baked Gopher server for Chicken... it supports IPv6 even!

Kudos to the Chicken team. While I like some of the Racket-isms in Racket, Chicken is a delight and has an awesome deployment story.

Re: Chicken Scheme 5.0

#50
post #49

I have been playing with gambit and gerbil in my spare time. How is chicken compared with gambit and gerbil?

CHICKEN has a more permissive license, larger community (and therefore more libraries) and a slightly better bus factor than Gambit and Gerbil.

Gambit is faster on many benchmarks and has multiple backends. This makes it easier to run inside a browser, for example, with the JS backend. It also has better introspective capabilities than CHICKEN, if I remember correctly.

I believe Gambit is currently R5RS only with no plans to implement R7RS, and it has no native module system like CHICKEN does. If I understand correctly, Gerbil adds this to Gambit, but there's also the Black Hole module system. I don't know how compatible those are.

Both have full continuations, tail call optimization and take the standard serious. You can compile stand-alone programs with both, and both can link to C libraries quite easily.

Full disclosure: I'm a CHICKEN developer and my knowledge of Gambit is somewhat limited.

Post reply on HN