From: Ralf J. <jue...@cs...> - 2009-07-31 16:24:53
|
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 >>> Lus...@li... >>> https://lists.sourceforge.net/lists/listinfo/lush-devel > > > |