rob_w changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information || Attention due to latest spam floods this channel will only allow registered users to send messages - check https://freenode.net/kb/answer/registration
orivej has joined #picolisp
aw- has quit [Remote host closed the connection]
ubLIX has quit [Quit: ubLIX]
Trashlord21 has joined #picolisp
Trashlord21 has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
groovy2shoes has quit [Ping timeout: 260 seconds]
groovy2shoes has joined #picolisp
aw- has joined #picolisp
orivej has quit [Ping timeout: 252 seconds]
<Nistur> mornin'
<Regenaxer> Hi Nistur
<Nistur> hulloo :)
stephen8717 has joined #picolisp
stephen8717 has quit [Remote host closed the connection]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<razzy> hi all, i hope beneroth will show up
<Regenaxer> Hi razzy
rob_w has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
orivej has joined #picolisp
_whitelogger has joined #picolisp
ubLIX has joined #picolisp
razzy` has joined #picolisp
pierpal has joined #picolisp
pierpal has quit [Ping timeout: 240 seconds]
razzy has left #picolisp ["ERC (IRC client for Emacs 25.1.1)"]
razzy` has quit [Quit: ERC (IRC client for Emacs 26.1)]
razzy has joined #picolisp
rob_w has quit [Quit: Leaving]
pierpal has joined #picolisp
<razzy> hi, Regenaxer , why would xchess not work? any idea? i have local instalation, but i changed (load limul.l) to correct value. it runs without error, but nothings happen
<razzy> newest installation
<Regenaxer> Hmm, I did not try it many years, used to work fine
<razzy> also, picolisp-mode working great. run-picolisp not working, saying and: File already exists: /home/razzy/.pil/editor-orig
pierpal has quit [Ping timeout: 260 seconds]
<razzy> Regenaxer: also, is there a way to download http:page? and run it through json?
<razzy> i am looking at libraries now
<razzy> aw-thx
jibanes has quit [Ping timeout: 265 seconds]
jibanes has joined #picolisp
pierpal has joined #picolisp
ubLIX has quit [Quit: ubLIX]
<razzy> Regenaxer: already solved inferior-picolisp problem
<Regenaxer> emacs?
<razzy> yop
<Regenaxer> I have not looked at it ;)
<razzy> just informing back, so i do not potentionally waste your time
<Regenaxer> Thanks :)
<razzy> only problem left is xchess, which is not pressing
<razzy> just wanted to see
<Regenaxer> yeah
<Regenaxer> Did you find some description?
<Regenaxer> eg games/README
<Regenaxer> using XBoard
<Regenaxer> Or, how did you know it exists?
<razzy> Regenaxer: tried random libraries
<Regenaxer> So games/README explains how to use it. I did not remember at all ;)
<Regenaxer> I cannot test here on Android. No X
<razzy> Regenaxer: yes, i do not have xboard
<Regenaxer> so install it
<razzy> i was hoping to see picolisp graphics interface
<razzy> picolisp have some graphics yes?
<Regenaxer> yes, various
<razzy> i mean, integrated
<Regenaxer> openGl, svg, canvas
<Regenaxer> look for the OpenGL examples in rosettacode
<Regenaxer> also canvas demos, eg in the phone gui
<razzy> hmm hmm
<Regenaxer> or in PilBox
<razzy> thx
<razzy> Regenaxer: if i have you here,... does picolisp have function to measure memory ussage?
<razzy> like what function eat up most memory?
<Regenaxer> no, you could monitor with 'heap' or 'proc'
<Regenaxer> It is difficult to say "which function"
<Regenaxer> You can measure which function(s) take most time with @lib/prof.l (profiling)
<Regenaxer> But memory cannot be accounted to a function I think
<razzy> Regenaxer: i was thinking (memory-ussage (function-you-are-interested)) and it would return max allocated memory, median allocated memory, averadge allocated memory
<Regenaxer> difficult I think
<Regenaxer> memory allocation is not explicit
<razzy> Regenaxer: if you recursivelly drill function tree and count bytes used in lists?
<Regenaxer> and garbage collection changes the cells all the time
<Regenaxer> statically it is even more impossible
<razzy> hmm
<Regenaxer> There is no concept of memory at all on the Lisp level
<Regenaxer> all assumes memory is unlimited
<Regenaxer> gc recovers it ;)
<Regenaxer> 'heap' indicates only the *maximum* that was allocated
<Regenaxer> What for?
<razzy> sure sure,...but i feel it should be possible to count it in something like (debug mode)
<Regenaxer> Even if you count the number of times 'cons' was called,
<Regenaxer> most of these cells are recovered soon after
<Regenaxer> You need to traverse all memory as gc does to find non-garbage cells
<Regenaxer> What for?
<razzy> Regenaxer: for automatic optimization, not that i am there
<Regenaxer> haha
<Regenaxer> please stop such preliminary optimizations
<Regenaxer> especially before you understand the internals
<razzy> Regenaxer: how do GC know which cells are no longer needed?
<Regenaxer> by traversing the heaps
<Regenaxer> btw, about canvas graphics, we had discussions over weeks here about @lib/pdfPage.l
<Regenaxer> it is interactive drawing
<Regenaxer> You can see a live demo of that library at "blitzmenu.7fach.de"
<Regenaxer> But it is not trivial
<Regenaxer> as I said, I explained it to someone here over seviral weeks
<Regenaxer> Perhaps look into the logs of this chat
<Regenaxer> There is also a simple demo in the disto, misc/pdfPage.l
<Regenaxer> it loads lib/pdfPage.l
<razzy> canvas graphics is not that usefull right now, but thx
<Regenaxer> ok
<Regenaxer> Then look at @lib/openGl.l
<Regenaxer> Use cases at rosetta
<razzy> thx
<Regenaxer> What about the flight simulator?
<Regenaxer> It uses X directly for 3-D graphics
<Regenaxer> It is in the distro I think
<Regenaxer> An article is also there: https://picolisp.com/wiki/?rcsim
<razzy> will try
<razzy> Regenaxer: question: can picolisp somehow verify its program structure? in a way that can be checked on execution?
<razzy> for example, i debug program,.. i am satisfied with results and want to solidify parenthesis structure
<Regenaxer> Verify in which regard? Correctness?
<Regenaxer> Solidify?
<razzy> there is propably not a function, that make hash from internals of function and check it up on execution
<razzy> something like ! on debugging
<razzy> but it would check if checksum agrees
<Regenaxer> You mean check whether the function was modified?
<razzy> yes
<razzy> i am scared of input parenthesses
<razzy> in data stream
<Regenaxer> The reader checks it
<Regenaxer> parens I mean
<Regenaxer> What are you worried about?
<razzy> i will find good example
<razzy> give me time
<razzy> Regenaxer: if i have data in "" quoted. and there is pesky `( in data. how do i avoid execution?
<Regenaxer> I don't understand the question
<Regenaxer> But, most of all, don't *read* it
<Regenaxer> ` is a *read* macro
<razzy> Regenaxer: if i rd data, it is "" '() (quote ) by default, yes?
<Regenaxer> What is "" here?
<Regenaxer> some char lost in irc?
<Regenaxer> But, yes, the single quote char ' is a read macro too
<Regenaxer> and the only one which is also generated again in 'print'
<Regenaxer> 'a is (quote . a)
<razzy> i thought "some" is equivalent to (quote "some") to '("some")
<Regenaxer> Not at all
<Regenaxer> "some" is a transient symbol
<Regenaxer> (quote "some") is a single cell
<Regenaxer> '("some") is 2 cells
<razzy> are results the same?
<razzy> is " stronger '( ?
<Regenaxer> when evaluating? Only the first two, and only if "some" has no other value
<Regenaxer> '"some" is the same as just "some" in that case
<Regenaxer> '("some") gives a *cell*
<Regenaxer> I would not talk of "stronger" here
<Regenaxer> transient symbols have a syntax
<Regenaxer> and ' is not part of it, it is a normal char
<razzy> Regenaxer: but in some sense it is stronger yes?
<Regenaxer> In which sense then?
<razzy> Regenaxer: https://ptpb.pw/fCs-
<Regenaxer> As I said: ' is not part of it, it is a normal char
<Regenaxer> Reading transient symbols has a syntax
<Regenaxer> ' or ( or ) are not part of it
<Regenaxer> ` neither
<Regenaxer> As in other langs too
<Regenaxer> Once the reader sees a ", it starts building a transient name
<Regenaxer> until " is found again
<Regenaxer> ^ is special, it gives control chars
<Regenaxer> and \ is special, it escapes the next char
<Regenaxer> It is documented in doc/ref.html I think
<Regenaxer> look up "transient symbols"
<Regenaxer> doc/ref.html#transient-io
<razzy> if i start reading random data, with right combination of characters it breaks down
<razzy> i will read
<Regenaxer> No. We had that discussion already, right?
<Regenaxer> You do *not* use 'read' for random data!
<Regenaxer> 'read' is for s-expressions
<razzy> Regenaxer: hardware is unreliable
<razzy> there always could be random data
<Regenaxer> Nope
<Regenaxer> Nonsense!!
<Regenaxer> You must rely on the hardware on that level
<Regenaxer> errors are caught below that
<razzy> Regenaxer: not nonsense. just not practical example
<Regenaxer> If the hardware is not reliable, don't use it
<Regenaxer> You can't do *anything* then
<razzy> i wil read up on file reading
<Regenaxer> Data must be checked during *transfer*
<Regenaxer> Otherwise do you check the result after adding two numbers?
<Regenaxer> subtracting again?
<Regenaxer> after all, the hardware might have failed
<razzy> when i get to it, i will :]
<razzy> not in practical future
<Regenaxer> ok, then it is your job, don't ask me.
<Regenaxer> afp
<razzy> i will read up on inputs from random files
<razzy> you recommend (rd ) right?
<razzy> can it break?
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
razzy` has joined #picolisp
<Regenaxer> ret
<Regenaxer> If you don't have reliable hardware, anything can break
MyIgel has joined #picolisp
MyIgel has quit [Remote host closed the connection]
<tankf33der> found old notes from adventofcode period
<tankf33der> so nostalgic
<Regenaxer> Cool! Handwritten Lisp :)
<Regenaxer> afp
<razzy> what should i read for proccesing nested ("time" . value)
<razzy> parsed json
<razzy> (pretty for human reading
<razzy> dotted pairs
<Regenaxer> ret
<razzy> what is difference between asoq and assoc?
<Regenaxer> pointer equality
<Regenaxer> like member <-> memq
<Regenaxer> = vs ==
<Regenaxer> or delete vs delq
<Regenaxer> I just see that the ref example for asoq is not good
<razzy> thx
<Regenaxer> correct for pil32, but not for pil64
<Regenaxer> Will change tomorrow
<razzy> another good functions to navigate nested pairs tree?
<razzy> examples?
<Regenaxer> asoq/assoc is fine, also 'find' or 'pick'
<Regenaxer> For a binary tree 'idx' might be good
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<razzy> woa, fish is super usefull
<Regenaxer> yes, indeed, 'fish' too
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpa has joined #picolisp
wodencafe17 has joined #picolisp
wodencafe17 has quit [Remote host closed the connection]
pierpal has quit [Ping timeout: 255 seconds]