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
<aw-> i don't see how exe or prg can be a foot gun
seninha has joined #picolisp
<aw-> i guess the more you code in picolisp, the quicker you'll identify the difference
<aw-> by habit as opposed to trying to memorize the differences
<aw-> that's probably what messes up a lot of people new to any lisp language, the lack of well-defined syntax means everything can be anything depending on how its used, and to get passed that hurdle you just have to code in the language and use the functions (and trial and error) that's why a REPL is useful
<aw-> if you take a language like Rust, you pretty much _have_ to learn and understand the syntax of every part of the language, you can't just do trial and error because you'll error 90% of the time and you'll never make anything successfully, it's not a language built for composition where you can build on things you build and learn as you go
<aw-> so pablo_escoberg don't worry too much about what you don't know about PicoLisp, just build small things with what you do know, make errors, learn from them, try again. Recovering from errors in the REPL is extremely easy (unless you segfault) and you won't waste hours compiling/recompiling or trying to grok crazy error messages
<aw-> and as you move forward you'll end up discovering more and more useful functions to help solve your goal easier/quicker/more elegantly
<aw-> one of my favourites is (by), takes a bit of trial/error to learn how to use it well, but it's so incredibly powerful once you understand how it works, you'll find plenty of use-cases for using it moving forward
<tankf33der> This is old goog tutorial too: https://envs.net/~mpech/tut.html
<tankf33der> This tutorial was provided in pil32/pil64 bundle.
<aw-> yes tut.html is good, it stil exists: https://github.com/picolisp/pil21/blob/master/doc/tut.html
<tankf33der> Ok, was added then
abu[m] has quit [Server closed connection]
abu[m] has joined #picolisp
pablo_escoberg has quit [Quit: Client closed]
seninha has quit [Remote host closed the connection]
<tankf33der> Test
<tankf33der[m]> Reply
m_mans has joined #picolisp
m_mans has quit [Ping timeout: 246 seconds]
m_mans has joined #picolisp
m_mans has quit [Client Quit]
pablo_escoberg has joined #picolisp
<pablo_escoberg> AW:  re exe vs prg being a foot gun:  It isn't a foot gun for you.  It is for me and I imagine many others coming from a less syntactically neutral (for lack of a better phrase) language.  Now that I've been through it a couple of time, I've built up a bit of an intuitive grasp of it.  What I'd love (and am taking some responsibility for
<pablo_escoberg> identifying) is a short set of examples that will make it easier for the next newbie to develop that intuition.
<pablo_escoberg> And yes, the tutorial is very helpful, but in my very limited experience so far, it is absolutely necessary to understand the language reference thoroughly, to the point of really internalizing all the concepts, in order to be effective in picolisp.  I am prepared to put in the hours to make this happen for myself (my next
<pablo_escoberg> And I had a quick look at (by) and I'm not going down that rabbit hole yet :D.
<abu[7]> "syntactically neutral" fits it
<abu[7]> Is the term "expression" nowhere found in the docs? It is a basic term in Lisp
<abu[7]> The ref says, that some basic Lisp knowledge is expected. The problem is that all Lisps today are very different from Pil, so a general Lisp book is not really to be recommended
<pablo_escoberg> Yeah, that's one of the main things.  I'm not a huge lisper by any means, but I've worked with Guile and I think there are as many surprises here for me as there would be for somebody coming directly from e.g. Python with no lisp experience.
<pablo_escoberg> Though now that I think of it, that was ages ago, and I'm sure Guile has undergone some changes as well.  Plus, I'm way out of practice coding in general (coming out of retirement, primarily for fun).
<abu[7]> nice
<abu[7]> (I mean retirement -> fun)
<pablo_escoberg> yeah.  Turns out one of my favorite hobbies is what I used to do for money, and I really missed it :D.
<abu[7]> I'm also officially retired, but continue old projects
<pablo_escoberg> yeah, for some of us "retirement" just means "early stage death".  Not for those who don't enjoy their career, of course, but for some of us nonetheless.
<pablo_escoberg> And the more I think about it, the more I like the term "syntactically neutral".  It works.
<pablo_escoberg> And goes a long way toward explaining what those of us coming from syntactically richer environments are missing.
<pablo_escoberg> Coming from e.g. Ruby, it's really tough to wrap one's head around the fact that these few primitives, with some (for us) unexpected utility functions (such as prog) can suffice to express complex concepts succinctly.
pablo_escoberg has quit [Quit: Client closed]
rob_w has joined #picolisp
pablo_escoberg has joined #picolisp
msavoritias has joined #picolisp
pablo_escoberg has quit [Ping timeout: 246 seconds]
<aw-> pab
<aw-> oh, gone
<abu[7]> He will read it later I think
<abu[7]> In irclog
seninha has joined #picolisp
<abu[m]> "disable Portalled channels" I don't understand. What is a Portalled channels? The one I'm using here?
<abu[7]> Then I better stay with this client here
<abu[m]> No idea what "plumbed channels" are either
<abu[m]> I would indeed prefer to use IRC via this matrix bridge, but abu[7] reactivated my old pil irc client exactly because the bridge was so unreliable :(
<tankf33der> eh.
<tankf33der> something very specific we do not understand.
<abu[7]> sigh, yes
<abu[7]> tankf33der, do you still use the matrix bridge?
<tankf33der[m]> Yeap, writing from element client
<tankf33der[m]> I setup notification and know when you wrote to me
<abu[m]> Yes, this is the advantage
<abu[m]> No need to be permanently logged into the server running the irc client
<tankf33der> At the same time it miss some lines
<abu[m]> yes, I noticed that too, so I found the above link. Seems they cannot fix it.
<tankf33der> There was a line
<abu[m]> It was "something very specific we do not understand" ?
<abu[m]> I don't have this line here either
<abu[m]> Indeed very unreliable
<abu[7]> But now I wonder if we can use irc/matrix in the future
<abu[7]> I don't understand at all what they are writing
<abu[7]> are "plumbed channels" an irc/libera thing, or a matrix thing?
<abu[7]> or "portalled channels"
<abu[7]> I joined #libera-matrix now
<abu[7]> tankf33der, you created the matrix room initially, right? How did you do that?
<tankf33der[m]> I do not remember.
<abu[7]> ok, me neither
<tankf33der> Maybe just join #picolisp:libera.chat
val[m] has joined #picolisp
<abu[7]> probably
val[m] has left #picolisp [#picolisp]
<abu[7]> They say: "13:51 <val> #picolisp:libera.chat's room id is !NVugtXSQajFMoFiDRy:libera.chat 13:51 <val> so it is a portal room"
<abu[7]> and the page says: "Libera.Chat will request that EMS disable Portalled channels"
<abu[7]> So it seems we cannot use #picolisp:libera.chat any more
<abu[m]> And as it is unreliable anyway, I will quit here. Bye!
abu[m] has left #picolisp [#picolisp]
<abu[7]> Done :)
<aw-> we have to change channel?
<abu[7]> Let's stay with good old proven technology! :)
<abu[7]> No
<abu[7]> It was only the matrix bridge
<aw-> oh ok
<aw-> haha yeah, irc4life ;)
<abu[7]> It was convenient to use IRC in a messenger client, but proved unreliable in this case
<aw-> i never tried
<aw-> i have Finch on Linux running 24/7 on a computer at home
<aw-> can access it remotely through screen/tmux
<abu[7]> Same here
<aw-> nothing else needed
<abu[7]> @lib/ircd.l runs on picolisp.com
<aw-> don't need IRC on mobile either
<abu[7]> in tmux
<aw-> i dont*
<abu[7]> I even get notifications here too
<abu[7]> via an ssh tunnel
<abu[7]> so when connected from Termux I issue a termux-notification
<abu[7]> Still it was kind of convenient having it automatically handled by matrix
<abu[7]> In any case, we also still have the #picolisp:7fach.de Matrix room
rob_w has quit [Remote host closed the connection]
pablo_escoberg has joined #picolisp
<pablo_escoberg> aw, abu is correct.  The first thing I do when logging in to this channel is check the logs, so feel free to ping me here even if I'm not logged on.  And I'll probably check the Matrix channel as well.  I'm not on it yet, but can't hurt to try it...
pablo_escoberg has quit [Quit: Client closed]
pablo_escoberg has joined #picolisp
seninha has quit [Quit: Leaving]
<pablo_escoberg> Has anyone had issues with CloudFlare rejecting requests from the picolisp html client?
<pablo_escoberg> For some reason, I'm getting 301 error, and copying and pasting to curl from the error message works.
<pablo_escoberg> It's not a big deal as I can just call curl, but it's curious.
<abu[7]> I never used CloudFlare, but calling curl is a good idea anyway
<abu[7]> With picolisp html client you mean the 'client' function in @lib/http.l ?
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
seninha has joined #picolisp
msavoritias has quit [Remote host closed the connection]
<pablo_escoberg> yes.  I figure that would be the preferred way, but if it's curl then I have no reason whatsoever to go down that rabbithole.
<pablo_escoberg> Incidentally, I'm not using cloudflare; the people whose API I'm using are behind it.
<pablo_escoberg> figured*
pablo_escoberg has quit [Quit: Ping timeout (120 seconds)]
pablo_escoberg has joined #picolisp