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
pablo_escoberg has quit [Quit: Client closed]
pablo_escoberg has joined #picolisp
seninha has quit [Remote host closed the connection]
<aw-> pablo_escoberg: hi, i wanted to mention yesterday that I also came from Ruby to PicoLisp
<aw-> very smooth transition since I was already writing mostly functional style in Ruby
<pablo_escoberg> oh, cool.  Yes, it's a hell of a transition, and you'll appreciate the humor of the fact that I frequently find myself omitting the space between the colon and the symbol name when doing a (: 'sym).  The syntax is so similar.
<pablo_escoberg> less smooth for me.  I was doing things in a radically object oriented way.  Everything is an object or a message.  I can do that in picolisp too, but it's far from idiomatic, which I'd like to be.
<pablo_escoberg> But picolisps OOP model is SUPER easy and straighforward.
<aw-> (with proc and call and .() etc)
<pablo_escoberg> right, I made extensive use of "send" so my OO code won't look that different here.
<aw-> well perhaps you can try to accustom yourself with Ruby's functional approach and then jump back to picolisp
<aw-> lambdas, procs, blocks
<pablo_escoberg> Well, I'm sure my Ruby will improve as I go here because I'll have more tools in my belt.  But for right now I'm focusing on just getting the whole picolisp ecosystem down.  It's a hell of a tool.
<pablo_escoberg> And yeah, I made extensive use of those as well.
<pablo_escoberg> But things are very explicit in Ruby, and tend to be very implicit in picolisp.
<aw-> what is blocking you right now with picolisp?
<pablo_escoberg> Nothing, really.  Just a bunch of stuff I need to get used to.
<pablo_escoberg> One of the things that bugs me is I can't always tell when calling a function when the args will be evaluated.  I have to look at the function def.
<pablo_escoberg> picolisp makes it easy enough to do that
<pablo_escoberg> but I need to do it pretty often
<pablo_escoberg> but I'll get used to that too, probably just kind of add it to my mental stack that there is one more thing about function defs I need to remember
<aw-> right.. we got stuck on different things it seems haha
<pablo_escoberg> sure, it's different for everyone.  Before Ruby, I was doing Perl, and before that MS Basic and before that Commodore Basic.  They have all left their mark.
<pablo_escoberg> the hardest part was unlearning BASIC...
<pablo_escoberg> but there is still a deep, dark part of me that wants to go 10 PRINT "XXXXX" 20 GOTO 10 :D
pablo_escoberg has quit [Quit: Client closed]
<abu[7]> Concerning curl, there is a typical example in the Pil distro in @doc/viprc.sample
<abu[7]> If you need more examples, here an unfinished (just experimental but working) library to interface with a Matrix server I did last year: http://pb1n.de/?54068b
<abu[7]> if named "misc/matrix.l", it can be used like this:
<abu[7]> $ ./pil misc/matrix.l -matrix~main -'go "@user:domain"' +
pablo_escoberg has joined #picolisp
<pablo_escoberg> Thanks, but I pretty much grabbed the code from the Rosetta Code example.  Now I'm grabbing the code from the JSON example :D.
<abu[7]> 👍
<pablo_escoberg> JC:  Is the "client" function in http.l intended primarily for testing?
<pablo_escoberg> Well, ok, more than curious, almost time to start writing tests... :/
<abu[7]> Not specifically for testing
<abu[7]> You can make general queries
<abu[7]> but if you need HTTPS, better use 'ssl'
pablo_escoberg has quit [Quit: Client closed]
pablo_escoberg has joined #picolisp
<pablo_escoberg> can't find "ssl" in http.l
<abu[7]> Not http.l
<abu[7]> : (vi 'ssl)
<abu[7]> Just a frontend to "@bin/ssl"
<pablo_escoberg> cool, thanks.
<pablo_escoberg> curl is working, but this might be cleaner.
<abu[7]> But calling "curl" is the most general
<abu[7]> T
<pablo_escoberg> OK, I'll just keep that.  I'm hitting some pretty complex APIs and want to keep the interface consistent.
<abu[7]> good
<abu[7]> 'ssl' has the advantage that it is always available. E.g. in PilBox it is not guaranteed that this Android version comes with curl
<pablo_escoberg> noted, and thanks, but not a concern in this case.  This will be running on a server which is guaranteed to have curl.
<pablo_escoberg> So if it's the most flexible option, which it appears to be, it's the obvious choice here.
rob_w has joined #picolisp
msavoritias has joined #picolisp
seninha has joined #picolisp
rob_w has quit [Remote host closed the connection]
pablo_escoberg has quit [Quit: Client closed]
pablo_escoberg has joined #picolisp
seninha has quit [Quit: Leaving]
pablo_escoberg has quit [Quit: Client closed]
seninha has joined #picolisp
<abu[7]> Thanks! This explains it better
<abu[7]> I think here at #picolisp we should not put effort into "plumbing" this channel into Matrix
<abu[7]> There are too few Matrix users here I think
<abu[7]> and we do already have a separate Matrix room at #picolisp:7fach.de
seninha has quit [Quit: Leaving]
rick42 has joined #picolisp
<rick42> testing ... (I have forgotten how to use a bouncer lol)
msavoritias has quit [Remote host closed the connection]
teddydd has quit [Ping timeout: 240 seconds]
teddydd has joined #picolisp
seninha has joined #picolisp