ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
xkapastel has quit [Quit: Connection closed for inactivity]
libertas has quit [Ping timeout: 258 seconds]
libertas has joined #picolisp
ubLIX has quit [Quit: ubLIX]
rob_w has joined #picolisp
rob_w has quit [Remote host closed the connection]
wuehlmaus has joined #picolisp
<wuehlmaus> hi, all, i have a question regarding openssl support on my mac where i am ABLE to build picolisp
<wuehlmaus> my openssl library is at /usr/local/Cellar/openssl/1.0.2q/include/openssl
<wuehlmaus> how can i make the Makefile process that place
<wuehlmaus> i thought `gcc-8 -I /usr/local/Cellar/openssl/1.0.2q/include/openssl
<wuehlmaus> '
<wuehlmaus> but it does not work
<wuehlmaus> it's the only thing that does not work
<wuehlmaus> picolisp builds just fine
<wuehlmaus> the mac does not use openssl but libressl, that's why it is not at the usual place
<wuehlmaus> Regenaxer: and many thanks for doing picolisp
<Regenaxer> Hi wuehlmaus! Thanks!! :)
<Regenaxer> You compiled pil32, right? This used to work since early on
<Regenaxer> So the issue is the -lssl argument?
<wuehlmaus> yeah
<wuehlmaus> i was super happy that it worked so good and the building of ssl is the only problem
<Regenaxer> Specifying the lib path with -L perhaps?
<wuehlmaus> ah
<wuehlmaus> i mixed up -L and -C :-)
<Regenaxer> :)
<Regenaxer> So the trick was to go back to gcc?
<wuehlmaus> yes, gcc-8 works without problems
<wuehlmaus> the real gcc :-)
<wuehlmaus> "gcc-8 -L/usr/local/Cellar/openssl/1.0.2q/include/openssl" -o ../bin/ssl ssl.c -lssl -lcrypto
<wuehlmaus> /bin/sh: gcc-8 -L/usr/local/Cellar/openssl/1.0.2q/include/openssl: No such file or directory
<Regenaxer> cool
<wuehlmaus> make: *** [../bin/ssl] Error 127
<wuehlmaus> very much so
<Regenaxer> Perhaps it would be good to build the "emu" version of pil64 instead of the (a bit limited) pil32
<tankf33der> or install openssl-devel package for libs and incs.
<Regenaxer> Hmm
<Regenaxer> Hi tankf33der! Sounds like a good idea
<wuehlmaus> tankf33der: but i have openssl-devel in "gcc-8 -L/usr/local/Cellar/openssl/1.0.2q/include/openssl" -o ../bin/ssl ssl.c -lssl -lcrypto
<wuehlmaus> /bin/sh: gcc-8 -L/usr/local/Cellar/openssl/1.0.2q/include/openssl: No such file or directory
<wuehlmaus> make: *** [../bin/ssl] Error 127
<wuehlmaus> oops
<wuehlmaus> i thought the emu version was limited, that built just fine before
<Regenaxer> cool
<Regenaxer> It is a full pil64, just a little slower
<Regenaxer> s/little/lot/ :)
<Regenaxer> I use emu commercially in PilBox a lot
<wuehlmaus> yes, that's why i was so happy that pil32 built without problem
<Regenaxer> there the speed decrease is not noticeable
<Regenaxer> So perfect, you can try both
<wuehlmaus> so the only thing is openssl library and i run out of ideas
<Regenaxer> tankf33der's proposal of installing openssl-devel is not an option?
<tankf33der> stop
<tankf33der> why -L?
<tankf33der> -I for includes
<Regenaxer> library path for the linker?
<tankf33der> but he provide includes under -L
<Regenaxer> I see. yes, the error was the include
<Regenaxer> So -I
<wuehlmaus> CC = "gcc-8 -I /usr/local/Cellar/openssl/1.0.2q/include/openssl"
<wuehlmaus> that's what i have
<tankf33der> and -lssl, did you install openssl and libs in path ?
<tankf33der> ve openssl-devel in "gcc-8 -L/usr/local/Cellar/openssl/1.0.2q/include/openssl"
<wuehlmaus> i installed openssl
<tankf33der> but you wrote -L
<wuehlmaus> first i wrote -I
<tankf33der> ok
<wuehlmaus> so i have to have both?
<tankf33der> no
<tankf33der> for includes -I
<wuehlmaus> sorry, my cc knowledge is rusty
<tankf33der> show output /usr/local/Cellar/openssl/1.0.2q/include/openssl of this
<Regenaxer> and later for the linker -L
<tankf33der> via pastebin
<tankf33der> i'm sure should be -I/usr/local/Cellar/openssl/1.0.2q/include
<Regenaxer> and later -L for the linker line (CC) -o $(bin)/ssl$(exe) ssl.c -lssl -lcrypto
<tankf33der> but you use -I not system and dir and use -lssl and hope it in the system.
<wuehlmaus> and CCSLD?
<wuehlmaus> CCLD
<Regenaxer> The CC line does both
<Regenaxer> compile + link
<Regenaxer> (CC) -o $(bin)/ssl$(exe) -I/... ssl.c -L/...lssl -lcrypto
<Regenaxer> something like that?
<tankf33der> sure
<tankf33der> how we know -lssl will find *correct* version of library to link ?
<tankf33der> if includes already unzipped somewhere :)
<Nistur> mornin'
<Regenaxer> Hi Nistur
<Nistur> hello :)
<tankf33der> also why you need ssl ?
<tankf33der> only make all build httpGate which needs ssl.
<wuehlmaus> yes, only for make all, only to make my joy complete :-)
<tankf33der> i see
<tankf33der> so
<tankf33der> where is output of include/openssl dir ?
<wuehlmaus> sorry, i have to go right now
<wuehlmaus> cul
<wuehlmaus> i suspend here
<Regenaxer> See you wuehlmaus!
<wuehlmaus> back again
<Regenaxer> Welcome back :)
<wuehlmaus> i am happy to be welcomed here, this is joy!
<Regenaxer> :)
<wuehlmaus> i was thinking of writing "a joy" :-) typically german language approach
<Regenaxer> indeed
rob_w has joined #picolisp
<wuehlmaus> i was able to hand compile httpGate.o and ssl.o , is that of any use?
<Regenaxer> Yes
<wuehlmaus> gcc-8 -I /usr/local/Cellar/openssl/1.0.2q/include -L /usr/local/Cellar/openssl/1.0.2q/lib/libssl.a -c ssl.
<wuehlmaus> that worked
<wuehlmaus> gcc-8 -I /usr/local/Cellar/openssl/1.0.2q/include -L /usr/local/Cellar/openssl/1.0.2q/lib/libssl.a -c httpGate.c
<wuehlmaus> that worked, too
<Regenaxer> great!
<wuehlmaus> *smile*
<Regenaxer> Do you want to make it public? Perhaps post to the mailing list?
<Regenaxer> or is it too complicated, needing special installs?
<wuehlmaus> now i have to do the dynamic library but how?
<wuehlmaus> my c knowledge is small :-)
<wuehlmaus> i remember something with ar
<Regenaxer> You mean lib/ext and lib/ht ?
<wuehlmaus> ../bin/ssl built
<wuehlmaus> that worked
<wuehlmaus> gcc-8 -I /usr/local/Cellar/openssl/1.0.2q/include -L /usr/local/Cellar/openssl/1.0.2q/lib/ -o ../bin/ssl ssl.c -l ssl -lcrypto
<wuehlmaus> so i guess i am done
<Regenaxer> Looks like :)
<Regenaxer> Grr, I have a strange problem
<Regenaxer> After Termux crashed, file globbing in bash does not work any more *if* the path starts with a tilde
<wuehlmaus> ouch
<Regenaxer> Only tilde works, and only globbing too
<Regenaxer> How can that be???
<Regenaxer> Example:
<Regenaxer> >~ ls ~/pico/lib.l
<Regenaxer> >~ ls ~/pico/lib.*
<Regenaxer> ls: cannot access '/data/data/com.termux/files/home/pico/lib.*': No such file or directory
<Regenaxer> oops
<Regenaxer> Example:
<Regenaxer> $ ls ~/pico/lib.l
<Regenaxer> /data/data/com.termux/files/home/pico/lib.l
<Regenaxer>
<Regenaxer> But:
<Regenaxer> $ ls ~/pico/lib.*
<Regenaxer> ls: cannot access '/data/data/com.termux/files/home/pico/lib.*': No such file or directory
<Regenaxer>
<Regenaxer> Does anybody have an idea?
<Regenaxer> rob_w?
<razzy> can I have named variable/symbol that is accesible only from inside of function, and holds value for the next run of functions? is it possible only with namespaces?
<Regenaxer> If it should be available at the next run, you need *some* kind of global
<Regenaxer> With namespace you make the global visible only in this namespace
<Regenaxer> Or just use a transient, visible only in this file
<Regenaxer> or you make a closure, with 'job'
orivej has joined #picolisp
<Regenaxer> So the recommeded, clean, way is 'job'
<razzy> thx
<tankf33der> found stsckoverflow in tweetnacl and misalign in nacl. they didnt respond or dont care.
<Regenaxer> What does that mean?
<tankf33der> bugs they dont care.
razzy` has joined #picolisp
razzy has quit [Ping timeout: 250 seconds]
<rob_w> Regenaxer: feels like your terminal treats * not as wildcard ?
jibanes has quit [Ping timeout: 255 seconds]
jibanes has joined #picolisp
<Regenaxer> Hi rob_w! Thanks!
<Regenaxer> I asked in #termux, it is a problem with new Bash
ubLIX has joined #picolisp
* wuehlmaus is happy to use zsh since 1997
<Regenaxer> ok :)
<wuehlmaus> :-)
<wuehlmaus> but to each his own! :-)
<Regenaxer> I dont care much about the shell. I try to keep scripts in plain 'sh', and difficult ones are in picolisp anyway
<Regenaxer> Bash is just convenient as it is the default everywhere
<wuehlmaus> i am a bit known for my zsh-lovers man page but i try to keep it bourne shell in using dash for my scripts
<wuehlmaus> zsh does not use readline so one can do marvelous things with the line editing capability
<wuehlmaus> which just is wonderful
<wuehlmaus> e.g i press one key and trigger the interpolation with control-@ and it gives me the value for my key
<wuehlmaus> very handy, it's like an alias but it is verbose
<wuehlmaus> and you can edit the command line
<wuehlmaus> i always wished for the readline replacement to be a library for other programs to use
<wuehlmaus> sadly it's not a library :-(
<wuehlmaus> but it is very powerful
<Regenaxer> You could extract the code
<Regenaxer> or re-engineer it
<wuehlmaus> one little improvement
<wuehlmaus> i would use /usr/bin/env for picolisp
<wuehlmaus> then it can be in different places
<wuehlmaus> better than hardcoding it to /usr/bin or bin
<wuehlmaus> as i use a mac everything is in /usr/local/bin
<wuehlmaus> so i have to edit every script :-)
<wuehlmaus> saw it first with python and tried to use it everywhere since then
<wuehlmaus> /usr/bin/env is quite smart and looks in different places to find the binary
<Regenaxer> I know, but the pil way is typically anyway to start it locally
<wuehlmaus> ah, i am a newbie, ignore me :-)
<Regenaxer> What *really* clever is termux.
<Regenaxer> Picolisp is in /data/data/com.termux/files/usr/bin/picolisp
<Regenaxer> But #!/usr/bin/picolisp works!
<Regenaxer> It is in fact a kernel library
<Regenaxer> I forgot the name
<Regenaxer> /usr/bin/env does not work with picolisp, because it needs and uses the path of the first argument
<Regenaxer> /usr/bin/picolisp /usr/lib/picolisp/lib.l
<Regenaxer> or
<Regenaxer> ../bin/picolisp ../lib.l
<Regenaxer> or whatever
<Regenaxer> So the full mechanism for starting locally is
<Regenaxer> exec ${0%/*}/bin/picolisp ${0%/*}/lib.l @ext.l "$@"
<Regenaxer> (in the 'pil' script)
<Regenaxer> You can start this 'pil' with any absolute or relative path
<Regenaxer> ../apps/local/pil @lib/too.l myApp/main.l
<Regenaxer> @xxx always goes to that place then (the "installation dir" in the pil docs)
razzy` has quit [Remote host closed the connection]
razzy` has joined #picolisp
rob_w has quit [Quit: Leaving]
ubLX has joined #picolisp
rick42_ has quit [Quit: ZNC - http://znc.in]
rick42 has joined #picolisp
ubLIX has quit [Ping timeout: 272 seconds]
<rick42> hi peeps! i hope everyone is well
alexshendi has joined #picolisp
<Regenaxer> Hi rick42! Surely :)
<Regenaxer> Same at your site?
<rick42> Yes! Thanks for asking, Regenaxer!
<rick42> Regenaxer: please send your well-wishes, as today I started a job interview (for a new job). It went well and I'm hoping for a call back.
<Regenaxer> Wow, great!
<Regenaxer> I wish the best!!
<rick42> ty, my friend! \o/
<rick42> they asked me today "your favorite languages" and picolisp was at the top! :)
<Regenaxer> Cool! Glad to hear that!!
<Regenaxer> Do you know when you'll get a result?
<rick42> they should contact me again by first of next week. if I get a "green light" then it will be for another round of interviews (this time with the team)
<Regenaxer> OK
<rick42> i didn't get any looks of recognition when i mentioned "picolisp"; so, they either thought "hey, this guy's into some cool stuff" or "wow, this guy might just be crazy". it probably could go either way in general :) but this is also a good way for me to gauge where they are in their mindsets too. So, the picolisp mention could be more valuable than i had originally thought. :D
<Regenaxer> Haha, yes
<beneroth> hi all
<beneroth> <tankf33der> found stsckoverflow in tweetnacl and misalign in nacl. they didnt respond or dont care
<Regenaxer> Hi beneroth, wb!
<beneroth> tankf33der, wow. Good reason to switch to your monocypher :)
<beneroth> Hey Regenaxer :)
<beneroth> good luck rick42 !
<beneroth> rick42, no surprise they don't know picolisp. but do they know the word "lisp" ?
<beneroth> above-average programmers have usually at least heard about it, I find :)
<Regenaxer> Important question
<Regenaxer> In the 80s I read a (german) introductory book about computers. The mentioned some programming languages, and under "Lisp" they wrote: A seldom used language to print lists of data
<Regenaxer> "Listenausgabe" was the term
<beneroth> rofl
<Regenaxer> At that time many self-declared "experts" wrote books about computers
<beneroth> that is still a problem.
<Regenaxer> true
<beneroth> maybe its worse, many self-declared "experts" write fundamental software these days xD
<Regenaxer> haha, even more true
<tankf33der> beneroth: monocypher is not mine :)
<tankf33der> but monocypher is piece of art, just perfect.
<beneroth> that is how software should be.
razzy` has quit [Ping timeout: 252 seconds]
<tankf33der> T
xkapastel has joined #picolisp
razzy has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
ubLX has quit [Quit: ubLX]
<Regenaxer> rick42, very cool examples!!
ubLIX has joined #picolisp
<rick42> Regenaxer: thanks!
<rick42> beneroth: thanks for the well-wishes! i hope you are well too!
<beneroth> you're welcome :)
<rick42> beneroth: of they think that lisp is only a speech impediment, i'm doomed. :)
<rick42> o/
<beneroth> yes I'm largely are. took to many projects on at the same time. payed well tough.
<beneroth> haha ^^
<rick42> Regenaxer: my favorite example (really, the comment upon the example) was "the value of politician" :)
<rick42> beneroth: are you done with some of them or are you still in "too many projects" mode?
<beneroth> rick42, still in the mode. well right now deploying a project, to finish it. but curl does silently fail on productive server :(
<rick42> :(