Re: libc.lsh
Ralf Juengling <[email protected]> Fri, 31 Jul 2009 10:18:53 -0700 (PDT)
| Newsgroups | gmane.lisp.lush.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 31 Jul 2009, Yann LeCun wrote: > This functionality is still needed, even with the new > memory management scheme. > > For example, if you want to allocate a C struct inside of a Lush > object, the memory management will be handled by the > constructor/destructor of the Lush object which will need to call > malloc and free. Right, I agree. And those uses case would not be problem. Problems would occur when you were trying to assemble a lush object, or parts of it, using malloc and expect the runtime/interpreter will accept it as one of its own. I hope such uses are rare or absent in legacy code. I just resurrected libc. Ralf > > Cheers, > > -- Yann > > > On Friday 31 July 2009, Ralf Juengling wrote: >> On Fri, 31 Jul 2009, Yann LeCun wrote: >>> malloc anf free in libc.lsh were meant to call the >>> C malloc() and free(), without memory management. >> >> Right. >> >>> A *lot* of libraries use them. >>> I'm not sure what the alternative is in Lush2. >> >> If you need a managed buffer and don't want to compile >> you would do >> >> (let ((buf (char-array <bufsize>))) >> .. >> (foo (idx-base buf)) >> .. >> ) >> >> to create the buffer and get the address. >> >> In compiled code you alternatively may use inline >> C and mm_blob() if you know what you are doing. >> Here is documentation for lush's memory manager: >> http://sourceforge.net/apps/trac/libcmm/wiki/LibDocu >> >> If you need an unmanaged buffer and don't want to >> compile, then you need indeed something like >> malloc and free as were defined in libc. In compiled >> code, just use inline C. >> >> If we bring libc back, the code that uses malloc and >> free might compile just fine but still be broken, >> depending on what you are doing with the memory. >> That code should be reviewed. >> >> I will respond to the constants issue later, >> Ralf >> >>> -- Yann >>> >>> On Friday 31 July 2009, Ralf Juengling wrote: >>>> Some definitions in libc.lsh might be problematic because >>>> memory management had changed (malloc & free), and most >>>> others were redundant. @ and @@ as they were defined in >>>> libc/constants was unecessary, I thought (why limit your >>>> namespace, especially if there are better ways ?). >>>> For both situations there are alternatives--just use >>>> defconstant and #. for read-time evaluation, as in >>>> common lisp. >>>> >>>> I removed those files so that it is clear which files I >>>> still need to update and what to look for. >>>> >>>> Ralf >>>> >>>> On Fri, 31 Jul 2009, Yann LeCun wrote: >>>>> Hi Ralf, >>>>> >>>>> Any good reason for not removing libc.lsh and constants.lsh >>>>> from Lush2 in lsh/libc? >>>>> >>>>> SDL and a whole bunch of other packages use them. >>>>> >>>>> Is there another to do the same thing on Lush2? >>>>> >>>>> -- Yann >>>>> >>>>> >>>>> >>>>> ----------------------------------------------------------------------- >>>>> -- ----- Let Crystal Reports handle the reporting - Free Crystal Reports >>>>> 2008 30-Day trial. Simplify your report design, integration and >>>>> deployment - and focus on what you do best, core application coding. >>>>> Discover what's new with Crystal Reports now. >>>>> http://p.sf.net/sfu/bobj-july >>>>> _______________________________________________ >>>>> Lush-devel mailing list >>>>> [email protected] >>>>> https://lists.sourceforge.net/lists/listinfo/lush-devel >> >> --------------------------------------------------------------------------- >> --- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day trial. Simplify your report design, integration and deployment - and >> focus on what you do best, core application coding. Discover what's new >> with Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Lush-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/lush-devel > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Lush-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/lush-devel > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july