Re: List graph library?

2017-04-05 Thread Alexander Burger
On Wed, Apr 05, 2017 at 04:56:12PM -0800, Christopher Howard wrote:
> Hi. Does somebody have a FOSS library handy for graphing a picolisp list
> (like, hierarchically)? Say, SVG format or something? I can't imagine
> somebody else hasn't already tackled that problem...

Besides for a full-blown library, you perhaps know the 'view' function, which
graphs list structures in ASCII

   https://software-lab.de/doc/refV.html#view

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: List graph library?

2017-04-05 Thread Michel Pelletier
It would be pretty easy to generate 'dot' from picolisp:

https://en.wikipedia.org/wiki/DOT_(graph_description_language)

On Wed, Apr 5, 2017 at 5:56 PM, Christopher Howard <
christopher.how...@qlfiles.net> wrote:

> Hi. Does somebody have a FOSS library handy for graphing a picolisp list
> (like, hierarchically)? Say, SVG format or something? I can't imagine
> somebody else hasn't already tackled that problem...
>
> --
> https://qlfiles.net
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Re: Which emacs mode to use?

2017-04-05 Thread Tim Johnson
  Thanks Chris :
* Christopher Howard  [170405 17:24]:
> Hi, I was referring to the lib/el folder inside the picolisp source
> archive from http://software-lab.de/picoLisp-16.12.tgz.
> 
> I followed the manual installation instructions so that my picolisp is
> installed at /usr/local/src/picoLisp. And so I just added this to my
> ~/.emacs:
> 
> (add-to-list 'load-path "/usr/local/src/picoLisp/lib/el")
> (load "tsm.el") ;; Picolisp TransientSymbolsMarkup (*Tsm)
> (autoload 'run-picolisp "inferior-picolisp")
> (autoload 'picolisp-mode "picolisp" "Major mode for editing Picolisp." t)
> (add-to-list 'auto-mode-alist '("\\.l$" . picolisp-mode))

I will re-install using the source that you pointed me to and
report back tomorrow.

cheers
- tim -

> On 04/05/2017 05:01 PM, Tim Johnson wrote:
> 
> >I'm unclear as to where lib/el is. Note that I have .el files at
> >/usr/share/emacs/site-lisp/picolisp. (I installed picolisp via
> >the "standard" config-make compilation route.)
> > 
> >What is the full path of your lib/el?
> >thanks, Chris
> > 
> 
> 
> -- 
> https://qlfiles.net
> -- 
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

-- 
Tim 
http://www.akwebsoft.com, http://www.tj49.com
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Which emacs mode to use?

2017-04-05 Thread Christopher Howard
Hi, I was referring to the lib/el folder inside the picolisp source
archive from http://software-lab.de/picoLisp-16.12.tgz.

I followed the manual installation instructions so that my picolisp is
installed at /usr/local/src/picoLisp. And so I just added this to my
~/.emacs:

(add-to-list 'load-path "/usr/local/src/picoLisp/lib/el")
(load "tsm.el") ;; Picolisp TransientSymbolsMarkup (*Tsm)
(autoload 'run-picolisp "inferior-picolisp")
(autoload 'picolisp-mode "picolisp" "Major mode for editing Picolisp." t)
(add-to-list 'auto-mode-alist '("\\.l$" . picolisp-mode))

On 04/05/2017 05:01 PM, Tim Johnson wrote:

>I'm unclear as to where lib/el is. Note that I have .el files at
>/usr/share/emacs/site-lisp/picolisp. (I installed picolisp via
>the "standard" config-make compilation route.)
> 
>What is the full path of your lib/el?
>thanks, Chris
> 


-- 
https://qlfiles.net
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Which emacs mode to use?

2017-04-05 Thread Tim Johnson
Well ... somebody more knowledgeable than I did respond. :)
* Christopher Howard  [170405 16:47]:
> Hi, I figured somebody more knowledgeable would respond, but since they
> didn't...
> 
> I've had a good experience with the emacs-mode included in the
> picolisp-16.12 stable release, available under lib/el directory, with
> two caveats:
 
   I'm unclear as to where lib/el is. Note that I have .el files at
   /usr/share/emacs/site-lisp/picolisp. (I installed picolisp via
   the "standard" config-make compilation route.)

   What is the full path of your lib/el?
   thanks, Chris

> 1) There is not a built-in command for simply reloading the code from an
> entire buffer. So I had to add this command myself. You can get this by
> replacing the "inferior-picolisp.el" file with the one from my repository:
> 
> http://git.savannah.nongnu.org/cgit/picolisp-nb.git/tree/picolisp-mods/against-picolisp-16.12/picolisp/lib/el/inferior-picolisp.el?id=39918b34aa685b0ef86a0085ccfb0f69e2af6092
> 
> 2) For some reason, the indentation functionality stops working whenever
> you start typing a "(let (..." form. But once you close that second set
> of parentheses it goes back to normal.
> 
> On 04/04/2017 04:58 PM, Tim Johnson wrote:
> > I note that my emacs (25.1.1 on ubuntu) will install and provide 
> > 'picolisp-mode as an elpa package.
> > 
> > In addition, my installation of picolisp has at :
> > /usr/share/emacs/site-lisp/picolisp
> > tsm.el, inferior-picolisp.el, and picolisp.el (providing mode
> > 'picolisp)
> > 
> > I'd welcome opinions as to which I should use.
> > 
> > Thanks
> > 
> 
> -- 
> https://qlfiles.net
> -- 
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

-- 
Tim 
http://www.akwebsoft.com, http://www.tj49.com
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


List graph library?

2017-04-05 Thread Christopher Howard
Hi. Does somebody have a FOSS library handy for graphing a picolisp list
(like, hierarchically)? Say, SVG format or something? I can't imagine
somebody else hasn't already tackled that problem...

-- 
https://qlfiles.net
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Evaluation misstep in tag function

2017-04-05 Thread Bruno Franco
Ah, I see! So, its for convenience that the atoms are printed. And the
reason `(+ 1 1) was printed was that it was first evaluated to 2, *then*
passed to , who only ever saw the atom 2.
Thanks Alex.

On Wed, Apr 5, 2017 at 1:36 AM, Alexander Burger 
wrote:

> Hi Bruno,
>
> > I'm going through the picolisp application development tutorial (
> > http://software-lab.de/doc/app.html#tags) and I'm trying this piece of
> code
> > at the tags section:
> >
> > : ( 'main
> >( NIL "Head")
> >( NIL
> >   ( "Line 1")
> >   "Line"
> >   ()
> >   (+ 1 1) ) )
> > Head
> > Line 1
> > Line
> > 
> >
> > That is, the (+ 1 1) part is not evaluated.
>
> In fact it *is* evaluated, but it does not print anything.
>
> All those HTML functions are *print* front-ends, which send text to the
> current
> output channel.
>
>: ( NIL "Head")
>Head
>
> is nothing more than
>
>: (prinl "Head")
>Head
>
> just in a more convenient form.
>
> The nice thing is that these functions may be nested, as can be seen in
> your
> example ( 'main ( NIL "Head") ..). Still they must print
> somewhere at
> the bottom.
>
> So the answer to your question is to write
>
>(ht:Prin (+ 1 1))
>
> or just
>
>(prin (+ 1 1))
>
> ('ht:Prin' is recommended for textual data which may contain HTML meta
> characters
> to properly escape them)
>
>
> Note that - for convenience - *atomic* expressions (like "Head" or "Line"
> in
> your example) are printed directly, so that it is not necessary to write
>
>( NIL (prin "Head"))  # Not needed
>
> This is also mentioned in doc/app.html as
>
>• If an argument is an atom (a number or a symbol (string)), its value
> is
>  printed immediately.
>
>• Otherwise (a list), it is evaluated as a Lisp function (typically
> some form
>  of print statement).
>
> ♪♫ Alex
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>


Re: Evaluation misstep in tag function

2017-04-05 Thread Alexander Burger
Hi Bruno,

> I'm going through the picolisp application development tutorial (
> http://software-lab.de/doc/app.html#tags) and I'm trying this piece of code
> at the tags section:
> 
> : ( 'main
>( NIL "Head")
>( NIL
>   ( "Line 1")
>   "Line"
>   ()
>   (+ 1 1) ) )
> Head
> Line 1
> Line
> 
> 
> That is, the (+ 1 1) part is not evaluated.

In fact it *is* evaluated, but it does not print anything.

All those HTML functions are *print* front-ends, which send text to the current
output channel.

   : ( NIL "Head")
   Head

is nothing more than

   : (prinl "Head")
   Head

just in a more convenient form.

The nice thing is that these functions may be nested, as can be seen in your
example ( 'main ( NIL "Head") ..). Still they must print somewhere at
the bottom.

So the answer to your question is to write

   (ht:Prin (+ 1 1))

or just

   (prin (+ 1 1))

('ht:Prin' is recommended for textual data which may contain HTML meta 
characters
to properly escape them)


Note that - for convenience - *atomic* expressions (like "Head" or "Line" in
your example) are printed directly, so that it is not necessary to write

   ( NIL (prin "Head"))  # Not needed

This is also mentioned in doc/app.html as

   • If an argument is an atom (a number or a symbol (string)), its value is
 printed immediately.

   • Otherwise (a list), it is evaluated as a Lisp function (typically some form
 of print statement).

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe