taskNAUSEA - Tasks: task #4846, Implement "pseudo...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

task #4846: Implement "pseudo S-expression"

Submitted by:  Luca Saiu <positrone>
Submitted on:  Tue 18 Oct 2005 09:24:06 PM UTC  
 
Should Start On:  Mon 17 Oct 2005 10:00:00 PM UTC Should be Finished on:  Mon 17 Oct 2005 10:00:00 PM UTC
Category:  General Infrastructure Priority:  1 - Later
Status:  None Percent Complete:  0%
Assigned to:  None Open/Closed:  Open
Difficulty:  Medium

Tue 18 Oct 2005 09:24:06 PM UTC, original submission:

A pseudo S-expression will be a data structure similar to an S-expression, but not garbage collected and (if possible) faster. I've not decided yet whether to use a simple "copy on-set-c?dr" policy or a reference counter. I'll have to benchmark a bit.
Pseudo S-expressions will support fixnums, symbols, booleans, floats, strings, conses and the eol.

Pseudo S-expression will support read and print, but not eval.

The idea is avoiding garbage collections for all the structures which don't need it, for example for messages to be sent over sockets. This should essentially eliminate all GCs for interactive clients after models are loaded, thus reducing pauses and increasing locality.

A separate namespace such as "pseudoscheme" should be used to avoid confusion. The interface will be a subset of the interface in the "scheme" namespace: in particular an SExpression class will be provided.

I've not decided yet whether to provide conversion operators from and to pseusoscheme SExpressions. They would make code more compact, but could they also introduce errors? By now I think not, but the issue must be pondered.

Luca Saiu <positrone>
Project Administrator

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

 

 

Follows 1 latest change.

Date Changed by Updated Field Previous Value => Replaced by
2005-10-19 positrone DifficultyNone => Medium

Back to the top


Powered by Savane 3.3