<aw->
indeed good community here. I'm also glad it's not on shitty Discord.
wineroots has joined #picolisp
v88m has quit [Ping timeout: 250 seconds]
v88m has joined #picolisp
rob_w has joined #picolisp
rowanthorpe has joined #picolisp
rowanthorpe1 has joined #picolisp
rowanthorpe has quit [Ping timeout: 240 seconds]
<razzy>
I do not like Discord. Have Discord console client?
mtsd has joined #picolisp
razzy has quit [Ping timeout: 250 seconds]
rowanthorpe1 has quit [Remote host closed the connection]
razzy has joined #picolisp
rowanthorpe has joined #picolisp
razzy has quit [Ping timeout: 248 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 248 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 248 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 248 seconds]
v88m has quit [Remote host closed the connection]
razzy has joined #picolisp
razzy has quit [Ping timeout: 250 seconds]
razzy has joined #picolisp
<wineroots>
Use a discord to matrix bridge and use a console matrix client. Or similarly look for an xmpp option razzy
razzy has quit [Ping timeout: 250 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
rob_w has quit [Quit: Leaving]
rowanthorpe has quit [Quit: rowanthorpe]
razzy has quit [Ping timeout: 248 seconds]
razzy has joined #picolisp
mtsd has quit [Quit: Leaving]
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 248 seconds]
razzy has joined #picolisp
hunar has joined #picolisp
razzy has quit [Ping timeout: 250 seconds]
razzy has joined #picolisp
<razzy>
hmm, weird. program works. than randomly either cycles without output or segmentation faults.
<razzy>
Regenaxer: when i arrange plenty memory (gc 100) it works fine.
<razzy>
program create lots of garbage
<Regenaxer>
Looks like a gc problem. Perhaps you found a bug in pil21?
<Regenaxer>
Can you show the minimal setup which reproduces it?
<razzy>
Regenaxer: could be lots of work.
<razzy>
will do.
<Regenaxer>
ok, then 'trace' all functions
<razzy>
trace should help.
<Regenaxer>
yes, first the Lisp level functions, and if you know which one then trace the built-in functions
<razzy>
Regenaxer: trace does not work as I expect. Can i (trace 'myFun)
<Regenaxer>
Yes, but only EXPRs can be traced, not FEXPRs
<Regenaxer>
Well, FEXPRs work too, but are not fully traced
<Regenaxer>
So no reason to worry
<Regenaxer>
Easiest is (traceAll) for a first search
<razzy>
hmm,.. trace has problems
<razzy>
is there debug all?
<Regenaxer>
Makes not really sense
<Regenaxer>
Why does trace not work?
<razzy>
i do not know. it breaks.
<Regenaxer>
Can't be ;)
<razzy>
traceAll works. also
<Regenaxer>
What kind of "break"?
<razzy>
no ins no outs cycle at 100% cpu
<Regenaxer>
So trace did not break
<razzy>
(trace 'until) breaks program
<Regenaxer>
Your program is in an infinite loop
<Regenaxer>
No, 'until' can't be traced
<Regenaxer>
EXPRs and FEXPRs
<Regenaxer>
or SUBRs
<Regenaxer>
but not FSUBRs
<Regenaxer>
'until' does not evaluate the arguments in a way that can be traced
<Regenaxer>
I said *first* trace all relevant Lisp-level functions
<razzy>
traceAll works. it segments faults in much later cycle. I suspect that gc has more time.
<Regenaxer>
myFoo etc
<Regenaxer>
ok
<Regenaxer>
so *where* does it crash*
<Regenaxer>
?
<Regenaxer>
That's why we trace it
<Regenaxer>
a fun is entered but never left
<razzy>
i will try several runs to have consistent results
<Regenaxer>
So you see in the trace history exactly *where* it crashed
<hunar>
Hi everyone :D I wrote down some general questions that i want to ask
<Regenaxer>
Hi hunar! Great, please ask :)
<hunar>
Why doesn't the creator of this language have a Wikipedia page :/ I wanted to know his age, i didn't even know if he was alive.. Does he have a bio page somewhere?
<Regenaxer>
Haha, well I think that's me
<Regenaxer>
I'm 67 now
<hunar>
Oooo :X sorry, i had a feeling but didn't realize it :X
<Regenaxer>
Sorry, no direct page about me
<Regenaxer>
We are such a small community that I have to pepulate it ;)
<Regenaxer>
*pop...
<hunar>
I'm very happy that i'm talking to the creator :D
<Regenaxer>
No big thing
<hunar>
I hope you reach 100+ years :D
<Regenaxer>
Pil is very simple
<Regenaxer>
OK, thanks!!!
<Regenaxer>
I would say I'm the "discoverer", not "creator"
<Regenaxer>
Most concepts in Pil existed somewhere
<hunar>
No problem :D, next question, what editors do Pil users use? I like using vim but emacs was the only feature rich editor for CL .. I want from my editors (syntax highlighting + autocompletion + info about the functions that i'm trying to use)
<Regenaxer>
I personally am a VI fan, never used emacs, but some people here do
<Regenaxer>
Built-in into Pil is "Vip", a vim subset written in Pil
<Regenaxer>
It does syntax highlighting only for comments and strings though
<hunar>
Is it possible to get the argument list along with a docstring with Vip or VI
<Regenaxer>
If the function is in memory, just (pp 'foo)
<Regenaxer>
The arg list is (car foo)
<Regenaxer>
You can do : (vi 'foo)
<Regenaxer>
or : (doc 'foo)
<Regenaxer>
(doc) only for built-in funs of course
<Regenaxer>
But (vi 'foo) works for any function
<Regenaxer>
You know you need to start it with "+"?
<Regenaxer>
$ ./pil +
<hunar>
I have a problem now :/
<Regenaxer>
Not installed yet? ;)
<hunar>
when i use pil its ok, but when i use pil + the closing parenthesis freezes the terminal
<Regenaxer>
strange
razzy has quit [Ping timeout: 250 seconds]
<Regenaxer>
The parens are handled by readline()
<Regenaxer>
Is it pil21?
<hunar>
I tried with another virtualbox linux today and it didn't have this problem, it must be my system only
<Regenaxer>
I remember this issue in old pils
<Regenaxer>
there the paren handling was handled by pil itself
<hunar>
I'll reinstall readline and come back
<Regenaxer>
and a (wait 200) or so is called when jumqing to parens
<hunar>
Yes exactly, I get that too
<Regenaxer>
It boiled down to some system call not working
<Regenaxer>
Old pils called select(2)
<Regenaxer>
pil21 calls poll(2) but that's not the preblem
<hunar>
Oh, i'm using Archlinux and it says the AUR version (that i'm using) is outdated, i'll have to recompile
<hunar>
Thanks :D I did go over the compilation procedure for windows, it should be similar :D
<Regenaxer>
oh, right! You told so :)
<Regenaxer>
What is AUR btw?
<hunar>
It's this website https://aur.archlinux.org/ that archlinux uses to install packages that aren't in the official repositories, it is a PKGBUILD file that contains all the dependencies and build/install procedures that even non archlinux users can use as a guide, we just type (makepkg -si) and it download/compile/get dependencies/install it
<hunar>
Install complete, i tried (vi 'car) i saw the implementation but i hoped to get a small informative docstring :D, no worries i think i will just alt+tab to a browser during development
<Regenaxer>
Cool
<Regenaxer>
Does (doc 'car) work?
<Regenaxer>
It defaults to w3m browser
<hunar>
Ooo that is much better
<hunar>
It opened firefox for me
<Regenaxer>
yes, according to $BROWSER then
<hunar>
yeah :D, next question, i think the answer is yes but does Pil have live editing without re-run thingy? i don't know what it was called, basically if i run a server would further changes in the Pil sources affect the server without stopping&running it again?
<Regenaxer>
yes, also with 'vi'
<Regenaxer>
You either pass a list of symbols
<Regenaxer>
: (vi '(myFoo myBar))
<Regenaxer>
or use the shortcut
<Regenaxer>
: (v myFoo myBar)
<Regenaxer>
This basically pretty-prints the data to a temp-file
<Regenaxer>
value plus properties
<Regenaxer>
In a typical pil web app most sources are loaded on the fly anyway
<Regenaxer>
So you can edit the sources and then just click the browser reload button
<hunar>
I think i need to get into more of the tutorial to fully understand the procedure :) I'll comeback and read this again
<Regenaxer>
good :)
<hunar>
another question :D, does Pil have tail call optimization? the thing that doesn't let some recursive functions to use all the memory
<Regenaxer>
No, no tail call optim
<Regenaxer>
Not really feasible in an interpreter
<Regenaxer>
You must use loops instead
<hunar>
Did you run into those issues in your programming years with Pil?
<Regenaxer>
the memory problems?
<hunar>
I personally never used such recursion
<Regenaxer>
ah
<Regenaxer>
yes, I never needed
<Regenaxer>
I feel that loops is the right thing for looping ;)
<Regenaxer>
Recursion is needed for tree traversals etc
<Regenaxer>
and those things are not tail-recursive
<Regenaxer>
(or only partial)
<hunar>
I agree :D
<hunar>
One question left :D can the android app PilBox access the phone sensors?