[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4762: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4764: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4765: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4766: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
newlispfanclub.alh.net • View topic - RFC: A reference counted newLISP (and how to implement it).
Page 1 of 1

RFC: A reference counted newLISP (and how to implement it).

PostPosted: Thu Oct 29, 2009 12:08 am
by itistoday

Re: RFC: A reference counted newLISP (and how to implement it).

PostPosted: Thu Oct 29, 2009 6:34 pm
by cormullion
I really wish I had something more intelligent to say about this, but I'm really impressed by the obvious thought you've put in. (I have some recollection of some similar ideas from the Objective-C lectures I started watching (but didn't finish watching) on iTunes earlier this year...)

As a scripter rather than a programmer, I don't understand too much of what you're saying here. So, to stick to the simple and practical considerations first: is this a proposed addition or extension to newLISP or is it a change to the way it currently works? In other words, will an implementation of these ideas sit on top of what we already have or is it a pervasive rewrite of everything such that all current code is no longer likely to work?

If newLISP moves in the direction of 'complicated object-oriented structures and relationships', is it also moving away from the purposes and uses that it currently professes (it's a 'pragmatic and casual scripting language')? Or do you think it's possible to embrace both these approaches in a single language?

Re: RFC: A reference counted newLISP (and how to implement it).

PostPosted: Thu Oct 29, 2009 8:31 pm
by itistoday

Re: RFC: A reference counted newLISP (and how to implement it).

PostPosted: Thu Oct 29, 2009 9:14 pm
by itistoday
Lutz suggested that I try and implement this to get an idea of the sorts of issues that this could present, so I think I will go ahead and attempt that to satisfy my curiosity. But first I just need to figure out a good name for it...

Re: RFC: A reference counted newLISP (and how to implement i

PostPosted: Mon Mar 24, 2014 5:39 pm
by itistoday
Might not be possible. See here for an attempt at this that uses a 5 node doubly-linked list:

https://gist.github.com/taoeffect/6847427

Re: RFC: A reference counted newLISP (and how to implement i

PostPosted: Mon Mar 24, 2014 6:40 pm
by Astrobe

Re: RFC: A reference counted newLISP (and how to implement i

PostPosted: Mon Mar 24, 2014 9:13 pm
by Lutz
C-library APIs are always very explicit about how to handle memory and there are two cases to handle.

In the first case the imported C-library allocates memory for certain resources and the imported API supplies a function to free those resources, e.g. in the module mysql.lsp “mysql_free_result” is imported to free memory in result handles.

The second case occurs if the C-API needs the caller to preallocate memory. As an example see the Windows SDK functions GetWindowsDirectoryA() and GetComputerNameA() in the reference manual for import. This type of memory would be managed automatically by newLISP.