Hacker News new | past | comments | ask | show | jobs | submit login
The Development of Chez Scheme (2006) [pdf] (indiana.edu)
98 points by tosh on Aug 3, 2017 | hide | past | favorite | 21 comments



Note that Chez Scheme is now open source. This is a great gift to all compiler hackers, and I sincerely thank Cisco for the release.

https://github.com/cisco/ChezScheme


Note also that Dybvig is still contributing to the project. Thanks Dybvig.

Edit: Hmmm. Also Matthew Flatt from Racket.


Racket is being rewritten on top of Chez


I always assumed this was a rumor, but I'm starting to get excited. It will mean significant performance increases correct?


There was a previous HN discussion about this: "Chez Scheme as the Racket VM" [0] which you may find insightful.

That discussion links to a Google Groups page where Matthew Flatt discusses the background, status and plan going forward.

[0] https://news.ycombinator.com/item?id=13656397


Thanks for the link. I was going to ask myself how i missed this, then realized I have one of the first comments :)


The github repo is called racket7: www.github.com/racket/racket7

First and foremost it will mean that much more of racket will be written in racket, and some in r6rs scheme.

If they can capitalize on chez's preformance that would be even better. It is really a state of the art compiler for GCd dynamic languages.


Yup. Racket is very slow especially the ide when interpreting simple scripts.


Correct


I built Chez Scheme when it was open sourced and have enjoyed experimenting with it. I tentatively started a new book using both Chez and Chicken schemes for the examples (but I am just starting a new job as tech lead of an AI team, so I may not have time to finish it). I wrote a Scheme book years ago for Springer Verlag that I was disappointed with, and I would like a chance to do better.

It is really exciting that Racket is being restructured to use the Chez Scheme compiler and runtime. I believe that there is a place for concise and elegant languages like Scheme and Haskell.


Mark having bought your 1991 "Artificial Intelligence in the Era of Neural Networks and Chaos Theory", which set me down a crazy, but worthwhile path, I would buy your Chez/Chicken book in a heartbeat.

I was reading books on neural networks in the late 80s, but your book made me get over some learning humps that allowed me to go back and revisit cloudy areas.

Lisps and Scheme are great for AI still, and Racket moving to using Chez is something I am really looking forward to.


Thanks!!


Apparently a fast compiler that produces fast programs, with Windows, Mac and 64-bit support as well. Although there are no binaries of the 9.4 release, you'd have to build it yourself:

https://github.com/cisco/ChezScheme/releases

https://cisco.github.io/ChezScheme/release_notes/v9.4/releas...


I've recently compiled/installed it on a Macbook. That went without problems.

Definitely one of the great pieces of software in the Scheme world.


Does it create native binaries or what?


Sure. Heavily optimized. Normally it compiles to native code, shared libs, on the fly, but for shipping apps there are the usual tools. See http://cisco.github.io/ChezScheme/csug9.4/use.html#./use:h8


If you get a native binary, shouldn't shipping an app be giving someone an .exe (assuming Windows)or are you talking about a mobile phone app?


I was using the terms of the user guide. Building and Distributing Applications. Which is first an scheme object file, which you can start with `petite myapp.so`. So the exe is either chez or petit which loads the scheme object files.

Unlike Allegro or Lispworks or clisp or Corman Lisp single exe's.


It would be nice to hear from people using chez scheme in real world, and know what are they building.


>The compiler can also be directed to perform whole-program compilation, which does full cross-library optimization and also reduces a program and the libraries upon which it depends to a single binary.

Does anyone know if this involves "tree-shaking" to remove unused code; or is it simply creating a binary with all dependencies as stated?


With any decent optimiser, "full cross-library optimization" is large superset of what tree shaking does.




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

Search: