summer-of-code
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: clisp - general interest in code cleanup


From: Sam Steingold
Subject: Re: clisp - general interest in code cleanup
Date: Mon, 21 Mar 2016 18:46:07 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Hi Daniel,

> * Daniel Jour <address@hidden> [2016-03-21 15:07:02 +0000]:
>
> the CLISP project seems to be "not that active", judging from the mailing
> list / bug tracker / repository activities. The latest release is 6 years
> old.

Alas, this is, indeed, the case.

> Looking at the code base, I think this low activity stems at least in part
> from the IMO relatively bad condition it is in. Most of it seems to be
> quite old, there are (now talking of the C parts) parts that invoke
> undefined behavior (general pointer comparisons, integer overflows, out of
> bounds indexing) and some other odd things (the whole additional
> preprocessing, pre C99 code, indexing from 1 instead of 0, apparently no
> internal interfaces / abstraction, probably more).
>
> I'd like to change that. In order to do so I'd like to "modernize" the code
> base, starting with the C code. That means among other things converting to
> standard compliant code (C99 probably), splitting code into smaller units,
> establishing internal interfaces.
>
> Before putting (a lot) more work into this I'd like to know whether
> a) there's is a general interest to make such - probably huge - changes to
> the code base, and whether

Yes, there is at least some interest in modernizing CLISP code base.
Note, however, that this is a fairly large task, and you are not the
first one to volunteer to do this (previous attempts failed because
people bit more than they could chew).
This is why I am wary of this being the first CLISP project you attempt.

> b) this could be seen as a project (with further details I'd work out
> then) suitable for GSoC.

Let us start small - or, at least, smaller.

Specifically, make a release.
This will require you to learn the current CLISP infrastructure which
will be absolutely critical when you move on to the next step of
cleaning up the code.
This will also allow us, the CLISP maintainers, to pass on our expertise
to you and to monitor and mentor your progress.
It is also a finite task with a clear and visible deliverable.

Currently, CLISP hg tip is in a bad state: an import of gnulib packages
resulted in a code base which probably works only on Linux.

Specifically, what you would need to do is

1. update all gnulib imports

2. fix gnulib/Windows interaction (gnulib assumes FD to be an int,
   Windows uses Handles)

3. make sure that CLISP builds and passes self-tests on as many
   platforms as possible, but at least
   A. Linux (fedora, ubuntu &c)
   B. Windows (whatever the most common version is now, with and without
      cygwin)
   C. Mac OS X
   D. *BSD (FreeBSD, OpenBSD, NetBSD)

4. Make an official source and binary release.

I think the above is a good GSoC project.

Bruno, WDYT?

> I'm asking these - probably too detailed - questions on this list here
> instead of on one of the CLISP mailing lists because they seem, as already
> pointed out, to be dead. I was unsure about whether to CC one of the
> maintainers, because it's discouraged in some communities, and so I didn't.
> I didn't CC one of the maintainers because such CCing is discouraged in
> some communities. What's the "correct" way to get in contact here? And: Are
> there any possible mentors for the CLISP project?

Yes, I am prepared to mentor you.
I hope that if you will show some progress, Bruno will chip in too.

> Finally, a very brief info about me: My name is Daniel Jour nee Oertwig,
> I'm currently pursuing my computer science master's degree at University
> Wuerzburg, Germany.
> I'm a self taught programmer, started learning about 14 years ago and have
> been doing all kinds of different things, like some hobby OS kernels,
> programming language ideas, an orbit trajectory calculation tool (I did my
> bachelor's degree in aerospace computer science :) ), C++ code
> transformation tools and a lot more. Thus I've been exposed to a lot of
> technologies, but I'm most proficient with C, C++ and (Common) Lisp and
> operating system concepts.
> I've been working as a teaching assistant for my university's operating
> systems course, teaching mostly stuff related to multithreading (examples
> in Java) and GNU/Linux usage. I'm an active user on stackoverflow.
> I'm 24 years old, married, two kids (and I should note that my family takes
> precedence over anything else, thus I'm probably an a bit "riskier"
> potential GSoC student)
>
> Best regards,
> Daniel Jour

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 15.10 (wily) X 11.0.11702000
http://www.childpsy.net/ http://think-israel.org http://iris.org.il
http://palestinefacts.org http://americancensorship.org http://dhimmi.org
My plan for 'after work' is to retire.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]