Re: help on building clisp

shashank <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <CAGGv9DidfvG=waarx6ersM7VkfXtxEbubdHcbNgprfWDC8eA_g@mail.gmail.com>
Hi,

Thanks for the info.
As Sam and you both mentioned I am reading the code and documentation in
"hashtable.d" file.

> Hash tables are used in both lisp and c code - to get an impression do
> simple grep for: make-hash-table (and make_hash_table), gethash, etc.
> I would recommend you to get common with clisp internals -
> http://clisp.org/impnotes/internals.html is a good start.

I searched for make-hash-table and gethash and basically *hash* inside the
project folder and I found numerous references to them.
It is scary, I believe this is due to Clos using hash tables internally.
Clisp internals look like a good place to start.

I have a few question to ask:
1. How does the program interact with lisp and c while building it?
2. What is NOT thread-safe in CLisp? vs what is thread-safe in clisp?
3. Is there a list of things that is known to be threadsafe ?
4. The project page<http://www.gnu.org/software/soc-projects/ideas-2014.html>says
"Finish a multi-threading interface", so what all things am I looking
into working with?
    Is it just how clisp is built or is it also related to the internal
workings of clisp.
5. Should I brush up my lisp? since i guess I will need to work with lisp
code.

I think some of my questions will be answered as I get familiar with clisp
internals <http://clisp.org/impnotes/internals.html>.
All in all, can you guys narrow me down as to what I will be working on?
This will help me form a better idea of hashtable and its usage in clisp,
and how a lockfree version will benefit the software.
It is necessary that I understand the concept.

Thanks in advance



On Wed, Mar 12, 2014 at 2:06 AM, Vladimir Tzankov <[email protected]>wrote:

> Hey Shashank,
> Thanks for interest in clisp.
> > $ ./configure --with-threads=POSIX_THREADS
>
> This is the normal way to configure clisp with threads.
>
> > Later, the execution of `make` and `make check` commands also occurs
> > successfully (with huge amount of execution steps being flushed out on
> the
> > terminal).
>
> `make` should build successfully clisp.
> `make check` usually segfaults in multi thread builds (you were lucky)
> mostly due to non thread safe hash tables.
>
> > Can you guide me as to how I shall proceed in this regard. Also, how and
> > where the CLISP hash table implementation is used, which in turn should
> be
> > replaced by a lock-free implementation.
>
> The hash table implementation is located in src/hashtabl.d. Hash
> tables are used in both lisp and c code - to get an impression do
> simple grep for: make-hash-table (and make_hash_table), gethash, etc.
> I would recommend you to get common with clisp internals -
> http://clisp.org/impnotes/internals.html is a good start.
>
> Vlad
>

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech

_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.