<aw->
freemint: sorry, was sleeping ;) re on-prem: it's a virtual machine (appliance) which builds virtual machines (appliances) for my customers so they can distribute their appliance to their customers - with their custom software etc. Inside it's all managed by PicoLisp, hundreds of different scripts for various tasks.
Edane14 has joined #picolisp
Edane14 has quit [Remote host closed the connection]
razzy has quit [*.net *.split]
razzy has joined #picolisp
UncleSamuel has joined #picolisp
RaptorJesus28 has joined #picolisp
UncleSamuel has quit [Remote host closed the connection]
RaptorJesus28 has quit [Remote host closed the connection]
JStoker21 has joined #picolisp
JStoker21 has quit [Remote host closed the connection]
Bahhumbug1 has joined #picolisp
Bahhumbug1 has quit [Killed (Unit193 (Spam is not permitted on freenode.))]
orivej has quit [Ping timeout: 240 seconds]
grumble21 has joined #picolisp
grumble21 has quit [Remote host closed the connection]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
orivej has joined #picolisp
aw- has quit [Quit: Leaving.]
Guest17034 has joined #picolisp
Guest17034 has quit [Remote host closed the connection]
Guest27205 has joined #picolisp
Guest27205 has quit [Killed (Unit193 (Spam is not permitted on freenode.))]
tomaw18 has joined #picolisp
ohnx22 has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
tomaw18 has quit [Remote host closed the connection]
ohnx22 has quit [Remote host closed the connection]
werkin has joined #picolisp
werkin has quit [Client Quit]
werkin has joined #picolisp
<freemint>
aw- so it is like proxmox but with the difference that it does not talk with virtual machines but with programs in virtual machines?
<freemint>
aw- i was sleeping too
<freemint>
i guess it is human
rob_w has joined #picolisp
mtsd has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
<freemint>
question: (out "file" (stuff)) is "file" the "current output channel"?
<freemint>
I am asking because (out "file" (help 'car T)) prints to console not in the file
<freemint>
only the "=========================””
<freemint>
ends up in "file"
<freemint>
The expected behavior is: Dumps the reference documentation for sym to the current
<freemint>
(18 6 12) Termux
pierpal has quit [Quit: Poof]
<freemint>
i checked whether it goes in the error stream, but it does not either
pierpal has joined #picolisp
<Nistur>
mornin' all
<mtsd>
Morning
<freemint>
Good Morning
<Nistur>
o7
alexshendi has joined #picolisp
<Regenaxer>
freemint, right, "file" the "current output channel"
<Regenaxer>
'help' is a bin special it seems
<Regenaxer>
It pipes to w3m, and it is the standard output of w3m which is seen. Outside of pil's control
<Regenaxer>
Good morning Nistur
<Nistur>
guten morgen :)
<Regenaxer>
:)
alexshendi has quit [Ping timeout: 248 seconds]
<freemint>
Regenaxer Thanks for the explanation i would never figured that out and i know how to work around that ... but my solution is not that pretty
<Regenaxer>
You want the output of help in a file?
<Regenaxer>
Then best copy and modify it so that w3m writes to the file perhaps
aw- has joined #picolisp
<aw->
freemint: no, not at all like Proxmox
alexshendi has joined #picolisp
<freemint>
well my goal was to make Karteikarten for picolisp so i can learn about all the functions
<Regenaxer>
Understand
alexshendi has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
nou has joined #picolisp
nou has quit [Remote host closed the connection]
mdk11 has joined #picolisp
mdk11 has quit [Remote host closed the connection]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
VampiricPadraig has joined #picolisp
VampiricPadraig has quit [Ping timeout: 276 seconds]
<freemint>
Where would be the obvious place to put self written documentation for existing libs?
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
beneroth has joined #picolisp
<beneroth>
hi all
<Regenaxer>
freemint: Into Wiki?
<Regenaxer>
Hi beneroth!
werkin has quit [Quit: Leaving]
<mtsd>
Hi beneroth
bladernr13 has joined #picolisp
<freemint>
Hi beneroth Hi mtsd
<freemint>
That works too ...
<mtsd>
Hi freemint
bladernr13 has quit [Remote host closed the connection]
<Regenaxer>
brb
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
mtsd has quit [Quit: Leaving]
Regenaxer has left #picolisp [#picolisp]
alexshendi has joined #picolisp
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Strog20 has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Strog20 has quit [Remote host closed the connection]
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
Regenaxer has quit [Client Quit]
Regenaxer has joined #picolisp
Regenaxer has left #picolisp [#picolisp]
pierpal has quit [Ping timeout: 248 seconds]
Regenaxer has joined #picolisp
majestic28 has joined #picolisp
<razzy>
hi, how is this happening? (let (setq Not "Evaluating" ) prg ) https://ptpb.pw/hhtF
<Regenaxer>
You use 'let' in the wrong way
<Regenaxer>
You bind 'setq'
<Regenaxer>
(let (Var1 Val1 Var2 Val2)
<Regenaxer>
or (let Var Val ...
<Regenaxer>
See what I mean?
<Regenaxer>
'setq' is bound to the value of 'Not'
<Regenaxer>
and the symbol "Evaluating" is bound to NIL
majestic28 has quit [Remote host closed the connection]
<Regenaxer>
So perfect syntax, but most probably not what you intended
<razzy>
aaaaah, i see,...
<Regenaxer>
btw (> '100
<Regenaxer>
numbers don't need to be quoted
<razzy>
not working?
<Regenaxer>
works though
<Regenaxer>
but a function call overhead for nothing
<Regenaxer>
(quote . 100) is a function call
crayon19 has joined #picolisp
<razzy>
Regenaxer: i feel like basic picolisp should be more pure. expressed in lenght
<Regenaxer>
Taking length of a buffer and appending is also expensive
<Regenaxer>
Better 'make'
crayon19 has quit [K-Lined]
<Regenaxer>
or in your case perhaps 'fifo'
<razzy>
hmm hmm thx.
<Regenaxer>
In reality 'length' is very seldom needed
freemint has quit [Ping timeout: 240 seconds]
<razzy>
how do you keep list or buffer from overflowing?
<Regenaxer>
Usually there is no overflow
<Regenaxer>
no limit
<razzy>
yeah, if you process small daa :]
<razzy>
data
<Regenaxer>
for small data it does not matter
<Regenaxer>
for long lists length is very expensive
<Regenaxer>
and append copies the whole first list
<razzy>
how do you keep it from overflowing?
<Regenaxer>
If I limit a list to a length, I do:
freemint has joined #picolisp
<razzy>
woa,.. append not do
<Regenaxer>
(and (nth Lst 99) (con @))
<Regenaxer>
Cuts off cells after the 99th
<razzy>
ok, if you want asynchonous process 80-99cells?
<razzy>
do not loose ending cells?
<Regenaxer>
Instead of
<Regenaxer>
(while (> '100 (length Buffer))
<Regenaxer>
(append Buffer (in In_open (char))) )
<razzy>
yes
<Regenaxer>
you do (make (do 100 (link (char))))
<Regenaxer>
no copying or counting
<Regenaxer>
and 'link' is very efficient
<Regenaxer>
does not traverse the list
<Regenaxer>
'make' keeps a pointer to the last cell
<razzy>
aaah :]
<razzy>
is it normal to break and restart pil 10times in 30 minutes?
<Regenaxer>
depends
<Regenaxer>
Sometimes more often
pierpal has joined #picolisp
<Regenaxer>
sometimes not for hours
<razzy>
when trying new code
<Regenaxer>
yes
<Regenaxer>
You can just reload and debug
<Regenaxer>
But sometimes a new start is easier
<razzy>
i need to terminate it from htop
<razzy>
easier way? how to automate it?
<Regenaxer>
What is htop?
<Regenaxer>
Also, don't make an 'in' environment per char
<Regenaxer>
(in In_open (char))
<razzy>
i need to kill it from command line
<Regenaxer>
better (in File (make ....
<Regenaxer>
Terminate with ^D
<Regenaxer>
is the easiest
<Regenaxer>
or : (bye)
<razzy>
i do not think so, i need open stream
<Regenaxer>
Then better not terminate
<Regenaxer>
(load "source.l")
<razzy>
i think (in File (make is not better, i need open stream
<Regenaxer>
Globally opened?
<razzy>
i need to read as needen
<razzy>
needed
<Regenaxer>
ok
<Regenaxer>
moment
<razzy>
could be opened locally, but idk how to do that
<Regenaxer>
Your fragment would be:
<Regenaxer>
(de Compress (In_file Out_file Comp_table)
<Regenaxer>
Note that (append Buffer (in In_open (char)) does nothing
<Regenaxer>
append needs two lists
<Regenaxer>
or, to be exact, puts the second arg into the CDR of a copy of the first
<razzy>
where i have my buffer to work with?
<Regenaxer>
so you get (1 2 3 . c)
<razzy>
how do i call to replenish my buffer?
<Regenaxer>
How about:
<Regenaxer>
(de Compress (In_file Out_file Comp_table)
<Regenaxer>
(In_open (open In_file)
<Regenaxer>
(let
<Regenaxer>
Out_open (open Out_file)
<Regenaxer>
Buffer (make (do 100 (link (char))) ) )
<Regenaxer>
... ) )
<Regenaxer>
ok, 'in' is missing
Keygen has joined #picolisp
<Regenaxer>
(de Compress (In_file Out_file Comp_table)
<Regenaxer>
(In_open (open In_file)
<Regenaxer>
(let
<Regenaxer>
Out_open (open Out_file)
<Regenaxer>
Buffer (in In_open (make (do 100 (link (char))))) )
<Regenaxer>
... ) )
<Regenaxer>
So 'Buffer' has the first 100 bytes
<Regenaxer>
or NILs if the input is shorter
<razzy>
and when i call make... again, it take second 100bytes?
<Regenaxer>
yes
<Regenaxer>
I still believe you don't need 'open' here
<Regenaxer>
(in .. (out ... (char) ... (print) ...
<Regenaxer>
I think I have no case here where I use 'open' in this way
Keygen has quit [Remote host closed the connection]
<razzy>
you may be underused open :]
<razzy>
i like it very much. so far
<razzy>
everything should be streamed
<Regenaxer>
yes, you have streams
<Regenaxer>
I think you can go,
<Regenaxer>
(de Compress (In_file Out_file Comp_table)
<Regenaxer>
(out Out_file
<Regenaxer>
(in In_file
<Regenaxer>
(let Buffer (make (do 100 (link (char))))
<Regenaxer>
... ) ) ) )
<razzy>
i would like to have local streams
<Regenaxer>
in "..." you have both streams open
<Regenaxer>
yes, local
<Regenaxer>
sorry, must go
<Regenaxer>
back later
<razzy>
bl
<razzy>
thx
<razzy>
i do not understand your last code
mindjuju7 has joined #picolisp
mindjuju7 has quit [Remote host closed the connection]
alexshendi has quit [Read error: Connection reset by peer]
<Regenaxer>
ret
<Regenaxer>
The work body is the (let Buffer
<Regenaxer>
there you can operate on your 100 characters
<Regenaxer>
(I have no concrete idea what you plan and if this buffer approach is good)
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<Regenaxer>
afp
<razzy>
what is considered S-expression
<razzy>
() ?
<razzy>
no other chars?
<freemint>
an s-expr is an atom or a list
<freemint>
atoms are numbers or symbols
<freemint>
list are collections of s-expr
<razzy>
i mean when i (read) string of bytes, how it will recognise?
<freemint>
read takes lisp code as input
<freemint>
(in general)
<razzy>
yop, but if you put random string as input
<razzy>
how will it recognise lisp code
<freemint>
well in this case type (read) in the repl and look like how it behaves
<razzy>
i do not want to dissassemble every scenario
<freemint>
it will look for read-macros, "", and () and behave as expected
<freemint>
non "quoted" things will be seen as internal symbols
<freemint>
does that help?
<freemint>
read macros are ` and ~ and .
<freemint>
if you put a random string("quoted symbol") in the input it will be processed as transient symbol (symbol in "quotes" )
<freemint>
razzy what do you want to do?
<freemint>
if you want to parse a custom format use a custom reader is the general rule
freeemint has joined #picolisp
freemint has quit [Ping timeout: 268 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<Regenaxer>
ret
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
erkin has joined #picolisp
freeemint has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
freemint has joined #picolisp
<freemint>
wb
<Regenaxer>
Good answers freemint
<freemint>
thanks ... me asking similar questions in the past paid off
<Regenaxer>
:)
<freemint>
anyways i was think that *if* i make Karteikarten for normal picolisp i might as well make some for the more popular libraries
rob_w_ has joined #picolisp
alexshendi has joined #picolisp
<freemint>
and *if* this done (beginning next month) i could share the results
rob_w has quit [Ping timeout: 260 seconds]
<Regenaxer>
Great!
timfi has joined #picolisp
timfi has quit [Remote host closed the connection]
<freemint>
i might want to say *potentially* Great!
<razzy>
Karteikarten?
<razzy>
thx
<razzy>
freemint: thx
<razzy>
somebody working with emacs? have problems with picolisp-mode
n0nada24 has joined #picolisp
<freemint>
Karteikarten might be translated as flash cards, a tool for learning facts where you have questions and solutions on different sides of the card.
<razzy>
lol, might be fun
<razzy>
algorithm game :D
n0nada24 has quit [Remote host closed the connection]
beneroth has quit [Ping timeout: 272 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
beneroth has joined #picolisp
<beneroth>
re
<beneroth>
razzy, I'm working with emacs. I use the picolisp-mode from the picolisp distro (in @lib/el)
<beneroth>
I use it with paredit, love it. but I usually don't use picolisp repl inside emacs, I work with tilling window manager (i3wm.org) and start picolisp repl in a terminal.
<razzy>
beneroth: i try to use MELPA-unstable picolisp-mode and it is buggy
<razzy>
beneroth: i also miss reval-region
<razzy>
*ecal-region
<razzy>
*eval-region
<beneroth>
no idea, sorry
<razzy>
uff, too late, too soggy
<beneroth>
np
<razzy>
beneroth: did you ever used eval-region in elisp?
<razzy>
you hilight region and execute command and it will evaluate
<beneroth>
yes. works in my emacs.
<razzy>
i want it for picolisp
<beneroth>
are you using the picolisp-mode coming with picolisp? and did you follow the @lib/el/README ?
<beneroth>
works in my emacs in picolisp-mode (first starting a picolisp repl inside emacs with "Run inferior picolisp", then marking an picolisp expression in another buffer and run evaluate region)
<razzy>
not yet
<beneroth>
I rarely use it
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
erkin has quit [Remote host closed the connection]
JesseOor has joined #picolisp
JesseOor has quit [Remote host closed the connection]
rob_w_ has quit [Quit: Leaving]
pierpal has quit [Ping timeout: 240 seconds]
ptx07 has joined #picolisp
tallguy21 has joined #picolisp
ptx07 has quit [Remote host closed the connection]
tallguy21 has quit [Ping timeout: 256 seconds]
iamtakingiteasy has joined #picolisp
iamtakingiteasy has quit [Remote host closed the connection]
NB0X-Matt-CA has quit [Remote host closed the connection]
NB0X-Matt-CA has joined #picolisp
Fieldy11 has joined #picolisp
Fieldy11 has quit [Remote host closed the connection]