Is there a way to contribute to the Racket on Chez conversion?

237 views
Skip to first unread message

Alexander Shopov

unread,
Mar 20, 2018, 10:58:07 AM3/20/18
to Racket Developers
Hi all,
The new version of Racket in development is targeted to be impolemented on top of Chez Scheme.
Is there a way to contribute to this effort? Is there any task tracker with newbie friendly tasks?
Anything will do - checking docs, writing tests - just name it.
Kind regards:
al_shopov

Matthew Flatt

unread,
Mar 23, 2018, 1:55:56 PM3/23/18
to Alexander Shopov, Racket Developers
At Tue, 20 Mar 2018 14:57:54 +0000, Alexander Shopov wrote:
> The new version of Racket in development is targeted to be impolemented on
> top of Chez Scheme.
> Is there a way to contribute to this effort? Is there any task tracker with
> newbie friendly tasks?
> Anything will do - checking docs, writing tests - just name it.

Although I don't think there are docs to tests to written, you could
try out RacketCS (= Racket on Chez Scheme) and report whatever problems
you encounter. Aside from places and futures, RacketCS is supposed to
work --- but you'll likely encounter problems even just building, and
problem reports will be helpful.


You can build RacketCS on a non-Windows platform by checking out the
main Racket repo from https://github.com/racket/racket and running
`make cs` in the checkout's top-level directory.

Running `make cs` will clone a ChezScheme repo in "racket/src/build",
build enough of a traditional Racket to bootstrap, build ChezScheme,
and finally create a RacketCS executable in "racket/bin/racketcs". See
"INSTALL.txt" for more information and for shortcuts if you already
have recent Racket and/or Chez Scheme builds.

If you're on Windows with Visual Studio, `nmake win32-cs` should almost
work, but it will fail when trying to load "openssl" as part of the
build process. I hope to fix that soon.


There's no need to report problems like "it takes a long time to build"
or "it takes a long time to load my program", since I know about those. :)

Gustavo Massaccesi

unread,
Mar 28, 2018, 5:25:38 PM3/28/18
to Alexander Shopov, Matthew Flatt, Racket Developers
One posible idea that I think that would be indirectly useful, is to translate the instructions of Matthew to an example in Travis-CI that compiles the RacketCS and then run an small amount of tests. This requires some knowdledge of the quirks of Travis-CI, so I'm not sure if it is newby friendly enough. (The idea is not to add this to the main repository, but someone else can copy it and run more tests.)

Moreover, it would be nice to add RacketCS to https://github.com/greghendershott/travis-racket . I'm using travis-racket to run a few informal test, and it would be nice to have an easy way to add RacketCS to my tests (and at the same time to use my current tests to test also RacketCS).


Another posibility way to contribute indirectly is to check the table of the signatures of the primitives in Chez Scheme https://github.com/cisco/ChezScheme/blob/master/s/primdata.ss
It's currently underused in Chez Scheme, so it may have a few mistakes. I'm trying to use this table in a type recovery pass that is similar to a part of the optimization pass in Racket. Every mistake you find now will save me 2 or 3 hour of debugging later.

Gustavo








--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@googlegroups.com.
To post to this group, send email to racke...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20180323175553.C0A31650079%40mail-svr1.cs.utah.edu.
For more options, visit https://groups.google.com/d/optout.

John Griffin

unread,
Apr 3, 2018, 7:42:27 AM4/3/18
to Racket Developers
I'm not sure if you want such reports here or filed in the bug reporting, but for now:

I cloned a4eddbd63da1750efb619fcb94e65f1dba382f7b this morning.  Using gcc 7.3.0-11 on debian buster (testing), I encounter two build problems with these workarounds that I used to continue the build.

1) A missing O_BINARY definition trips up 

racket/src/cs/c/boot.c

Adding the definition after the #includes section permits the compilation to continue.

#ifndef O_BINARY
# define O_BINARY 0
#endif

2) After racketcs is made, the executable bit was not set.  

chmod a+x $(find . | grep bin/racketcs)

Thanks,
John Griffin
Reply all
Reply to author
Forward
0 new messages