[net.lang.lisp] Franz bogosities

neiman (12/14/82)

    Some random complaints/flames about Franz Lisp.

    Strings:  Why doesn't Franz have a real string function, ie.
              (string 'foo) ==> "foo"
              (string '(a b c d) ==> "(a b c d)"

              The current option is to use the get_pname function which 
    is probably horrendously inefficient and only works on atoms.
    The reason why string functions are desirable is that strings are
    a natural way to pass information to cfasled functions.  
    I'd also like to see the inverse function that would take a string
    and return an s-expression.  The only reasonable way to do this now
    is to explode the string and feed it to readlist; again horrendously
    inefficient.

    I'd also like to see the copy function work for strings, passing 
    strings from C programs to Lisp is a ticklish business.


    It would be nice if someone would write a C package which would provide
    primitives for making the C interface easier, perhaps a list interpreter
    for C which would allow C to map over lists and construct lists for 
    returning to Lisp.  (As an amusing exercise, try writing a function
    which returns an xy coordinate pair to Franz with just one function call.)




    And while we're on a roll......

     Why the brain-damaged port system in Franz?  Ports are O.K. for people   
     who used to use them on Interlisp(?) but there should at least be some
     hooks into the system used by EVERY other Un*x program. Shouldn't there?
     Probably every serious Franz hacker (or is that an oxymoron?) has had to
     delve into the source in order to implement primitives such as pipe and
     pipe size.

    Little known trivia  about io documentation which may or may not have
    been fixed in the 3.8 documentation.  

      Did you know that outfile does not have to wipe out the file?
      You can specify append by using (outfile 'foo "a") but you have
      to read the source to find out.



    And last, but not least, why are Franz images so BIG?  A lisp image 
    which does even moderately impressive things has to be 800K with fangs.
    A few of these monsters on the disk and the system administrators start
    to get very depressed....



    But I do like Franz better than most of the other Lisps I've seen.
    There's very little you can't do; it's just not always easy.


                                           Just fling some random thoughts
                                              into the ether,

                                               Dan Neiman
                                               ittvax!neiman

slack (12/14/82)

The string problems of Franz mentioned in the preceding article
have no comparison to the fact that Franz does not
GC any strings.  This means that strings cannot easily be used,
even if one stays completely in LISP and avoids foreign functions.
The above hack of exploding atoms and creating strings and other names
causes untoward garbage in the core image (irrecoverable space).

Tom Slack
ittvax!slack