[M3devel] saving indentation?

Dragiša Durić dragisha at m3w.org
Sun Sep 2 21:50:59 CEST 2012


What it does is - cleanup and disable leak.

I don't know where you got this "memory pressure" idea. AFAIK (and I hopebelieve I know few things about memory subsystem) it happens in cycles. No time pressure on collection but it just happens, sometimes faster and maybe (when no mutators are active for long time) sometimes slower. For situations like this, background thread will probably fix slowing down.

--
Divided by a common language

Dragiša Durić
dragisha at m3w.org




On Sep 2, 2012, at 9:34 PM, Jay K wrote:

> WeakRef isn't great. Cleanup is delayed until local memory pressure exists. Not when resource obviously goes out of scope and could be cleaned up right away.
> 
>  - Jay
> 
> 
> Subject: Re: [M3devel] saving indentation?
> From: dragisha at m3w.org
> Date: Sun, 2 Sep 2012 10:25:34 +0200
> CC: m3devel at elegosoft.com
> To: jay.krell at cornell.edu
> 
> With C++ you don't have "big complicatched machinery" behind the scenes, serving clearly defined language. It's complicatchion is right in front of you.
> 
> You have big nasty complicated language in front of a programmer and in front of compiler implementor. For what? For fanciness of infix operator? 
> 
> Garbage collection and WeakRef mechanism are bringing destructor-like functionality to any type you wish. To me, it is a lot more important than fancy infix.
> 
> --
> Divided by a common language
> 
> Dragiša Durić
> dragisha at m3w.org
> 
> 
> 
> 
> On Sep 2, 2012, at 9:34 AM, Jay K wrote:
> 
> There is more to my usual C++ pitch.
> Some languages have garbage collection. So "pointers" don't need such "fanciness" as reference counting, "smart pointers". But instead there is a big complicatched machinery behind the scenes.
> Similarly, some languages have "synchronized" or "lock". Here again, the syntax is approximately perfect and you can't fail to release a lock.
> 
> 
> However these are both special purpose mechanisms, for memory and for locks.
> 
> 
> What about closing files, network connections, database connections?
> C++ does a good job of providing a general purpose mechanism, rather than having the compiler and runtime special-case two specific resources. Operator overloading fits here too. C, Java, Modula-3 special case a few types -- int, float, string, and provide some infix operators. No user-defined type is given this power. In C++, user-defined types and language-defined types have approximately equal powers.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120902/abe601b6/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120902/abe601b6/attachment-0002.sig>


More information about the M3devel mailing list