Hi Alex,

> Doing without the help of a shell is also possible, perhaps a lot
> more efficient but a bit unintuitive:
>    : (pipe
>       (pipe (in "lib.l" (out '(base64) (echo)))
>          (out '(wc "-l")
>             (echo) ) )
>       (read) )
> -> 145

that's what I was after.  It is a bit unintuitive but possible!

> I don't have 'bcrypt' installed, but from the code I suspect that these
> messages are sent to stderr. I see no easy way to suppress them (if
> 'bcrypt' has no "silent" option),

You are right, the prompts go to stderr.  And it has no silent option.

> except for redirecting stderr of the whole picoLisp process.

Do you mean redirecting stderr of the main picolisp process at the
start from shell or is there a way of redirecting forked child
processes, maybe with some trick like (out '/dev/null (in 2 (echo)))?

>>    (unless (<= 8 (length (pipe (prin Salt) (line T))) 56)
> This can simply be achieved by
>      (unless (<= 8 (length Salt) 56)
> as 'length' already returns the desired value.

This is true if Salt is always a symbol but the length is different
for numbers and lists.  I wanted to keep it general and use the newly
learned pipe command;-)

>>    (let (F (pipe (call 'mktemp) (line T))
>>    (let F (in '(mktemp) (line T))

Now I see:-)

Thank a lot,


Reply via email to