beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
clacke has quit [Server closed connection]
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg has joined #picolisp
seninha has quit [Remote host closed the connection]
<abu[7]> Hi pablo_escoberg, I check your pastebin
<abu[7]> So the task (task (: Fd) (prinl (in (: Fd)))) is not right
<abu[7]> The 'in' has an empty body, so it does not read anything
<abu[7]> (task (: Fd) (prinl (in (: Fd) (line T))))
<abu[7]> But you need to check also for EOF
<abu[7]> Another problem is that when the task runs, it will not
<abu[7]> it will not be in the context of the object
<abu[7]> so Fd is no accessible
abu[7] has left #picolisp [#picolisp]
<abu[m]> oops
<abu[m]> So 'Fd' must be encapsulated inside the task's environment
<abu[m]> Not tested: http://pb1n.de/?e0bc90
<abu[m]> I changed only the task
<abu[m]> There are other issues, e.g. (out (: Fd) (pack QueryStr sqlite_postfix)) won't output anything to the file descriptor
<abu[m]> Better perhaps (out (: Fd) (prinl QueryStr sqlite_postfix))
<abu[m]> where sqlite_postfix is probably *Sqlite_postfix
abu[7] has joined #picolisp
msavoritias has joined #picolisp
abu[7] has left #picolisp [#picolisp]
rob_w has joined #picolisp
abu[7] has joined #picolisp
pablo_escoberg has quit [Ping timeout: 240 seconds]
theruran has quit [Server closed connection]
theruran has joined #picolisp
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Ping timeout: 240 seconds]
seninha has joined #picolisp
avocadoist has quit [Ping timeout: 258 seconds]
avocadoist has joined #picolisp
avocadoist has quit [Read error: Connection reset by peer]
avocadoist has joined #picolisp
chexum has quit [Ping timeout: 240 seconds]
chexum has joined #picolisp
avocadoist has quit [Read error: Connection reset by peer]
avocadoist has joined #picolisp
rob_w has quit [Remote host closed the connection]
pablo_escoberg has joined #picolisp
<pablo_escoberg> Awesome. Thanks guys.
<abu[m]> You are starting with the difficult aspects of pil ;)
<pablo_escoberg> I also learned to swim by jumping in the deep end :).
<pablo_escoberg> But I definitely feel better knowing that other people find this stuff hard and I'm not quite as stupid as I feel :D
<abu[m]> good :)
<abu[m]> As I said, I have to look up such pipe stuff sometimes too
<pablo_escoberg> A bit OT, and I hope I'm not ruffling any feathers, but has there been any talk of getting on something better than IRC and a mailing list? I get the appeal, it's very old school and grungy, but it's also unwieldy cumbersome. If the discussion has been had and the decision made, I'm fine with it of course, but if not, I'd like to bring it up...
<pablo_escoberg> I'm not saying move to reddit or anything like that, but maybe Jabber and Discourse or something?
<abu[m]> There is also a Matrix group. And we did some conferences for a while via Jitsi (PicCon)
<abu[m]> #picolisp:7fach.de
<abu[m]> We could perhaps make video meetings there again
<abu[m]> (not now, I'm travelling during the next days)
<pablo_escoberg> My concern is less with the real time stuff and more with the archving
<pablo_escoberg> searching through mailing list archives and irc logs is a huge pain.
<abu[m]> This irc channel is well archived
<pablo_escoberg> I've seen the archive, and it seems accessible only by date. Doesn't look like there is any way to search the entire log.
<pablo_escoberg> unless it's there and I missed it.
<abu[m]> Hmm, there is a search field, but did not try deeply
<pablo_escoberg> And the mailing list search works, but it's tough to reply to messages, and there is real overhead in belonging to a mailing list that doesn't exist belonging to a forum.
<abu[m]> true
<pablo_escoberg> IAC, if you guys are cool with this setup, I'm cool with it too
<pablo_escoberg> BUT
<pablo_escoberg> if it's just like this due to inertia, let's fix it.
<abu[m]> Not sure what is the best
<pablo_escoberg> OK, that to me sounds like "not broken"
<pablo_escoberg> back to coding for me :D
<abu[m]> Right. There is even a rudimentary "reply" feature in picolisp.com, but not really used
<pablo_escoberg> Wow. didn't even see it.
<abu[m]> I feel that perhaps IRC is still the easiest
<pablo_escoberg> Yeah, if it's not broken, no need to fix it. I was just curious if there was a general desire for improvement, and there does not seem to be.
<abu[m]> :)
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg1 has joined #picolisp
<pablo_escoberg1> Hmmm... Can you help me understand this:
<pablo_escoberg1> -> "xxxxx"
<pablo_escoberg1> : *Run
<pablo_escoberg1> : (out 4 (prinl "xxxxx"))
<pablo_escoberg1> -> ((4 (prinl "asdfdsadfasdf")))
<pablo_escoberg1>
<pablo_escoberg1> Why isn't the task firing here? Or is it writing out to the Fd?
<abu[m]> The task wakes up as soon as 4 has data for reading (or is closed)
<abu[m]> Is 4 open for reading *and* writing? If so, what is on the other side?
<pablo_escoberg1> it's in the same snipped. 4 is a pipe
<abu[7]> At least should the task "read off" the data if any are available
<abu[7]> Otherwise it fires again and again
<pablo_escoberg1> I just did (in 4 (line)) and got asdfasdfasdf printing over and over. I guess it didn't get flushed, and I guess it is indeed writing to fd 4.
<pablo_escoberg1> yup, that explains everything. thanks again.
<abu[7]> (in 4 (line)) is good. Reads off one line
<pablo_escoberg1> yup, and I'll need to loop and check for EOF. My issue was that I didn't realize it would be writing to the Fd in question rather than stdout. I just need to change it to sth like (out 0 (prinl @)) to see what I'm looking for
<abu[7]> I use (msg @)
<abu[7]> best for debug output
<abu[7]> goes to stderr, and preserves readline() status
<pablo_escoberg1> Nice! So many cool little syntactic niceties in picolisp I need to learn. You guys really have built something great.
<pablo_escoberg1> That one will save me tons of pain.
<pablo_escoberg1> Also, since the thing writes to the affected fd, I assume it reads from it too, so I probably won't need to specify it in the (in (line) part. So it doesn't matter that it's out of scope, I think. I'll play around and let you know.
<abu[7]> This is what I meant with the most tricky aspect
<abu[7]> After writing to the Fd, the read might block without a separate task
<abu[7]> So the behavior of the whole setup depends on how cooperative the process at the other end of the pipe is
<abu[7]> Especially flushing is important
<abu[7]> Many programs in Unix don't flush implicitly after end-of-line unless the FD goes to a terminal
<abu[7]> isatty()
<abu[7]> But flushig *always* happens if the process terminates and/or closes the pipe
<abu[7]> That's why single-shot communication is so much easier
msavoritias has quit [Remote host closed the connection]
<pablo_escoberg1> oy vey. Looks like I have my work cut out, but I'm thinking I might not need the task after all. Still playing, but need to walk the dog first :).
f8l has quit [Server closed connection]
f8l has joined #picolisp
noonels has joined #picolisp
msavoritias has joined #picolisp
pablo_escoberg1 has quit [Ping timeout: 265 seconds]
pablo_escoberg has joined #picolisp
stultulo has joined #picolisp
noonels` has joined #picolisp
f8l has quit [Ping timeout: 240 seconds]
avocadoist has quit [Ping timeout: 240 seconds]
noonels has quit [Ping timeout: 240 seconds]
avocadoist has joined #picolisp
pablo_escoberg1 has joined #picolisp
pablo_escoberg has quit [Read error: Connection reset by peer]
msavoritias has quit [Remote host closed the connection]
pablo_escoberg1 has quit [Ping timeout: 252 seconds]
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Client Quit]
pablo_escoberg1 has joined #picolisp
<pablo_escoberg1> It works! https://pastebin.com/vSpkdsXe
pablo_escoberg1 has quit [Quit: Leaving.]
pablo_escoberg has joined #picolisp
pablo_escoberg has quit [Quit: Leaving.]
pablo_escoberg1 has joined #picolisp