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
seninha has quit [Quit: Leaving]
mario-go` has joined #picolisp
mario-goulart has quit [Ping timeout: 252 seconds]
<aw-> Happy New Year!!!
<abu[7]> :)
<abu[7]> Did you subscribe?
<tankf33der> i will
<abu[7]> Good
mario-go` is now known as mario-goulart
mario-goulart has quit [Changing host]
mario-goulart has joined #picolisp
anddam has joined #picolisp
<anddam> howdy
<abu[7]> Cheers anddam
<anddam> cheers
<anddam> happy new cheers, also
<abu[7]> Same to you
<taleon> I discovered PicoLisp by chance yesterday and so far I'm pretty enthusiastic about it. I've tried 100 times to familiarize myself with Common Lisp and have always failed due to the complexity of the commands. I wish you all a happy new year.
<abu[7]> Thanks! To you too a happy new year :)
<anddam> taleon: new to lisps altogheter?
<anddam> taleon: I was as well and I have been suggested not to approach plisp for that, as nice, tiny and well-documented as it is it's not for beginners
<taleon> I have a little beginner experience with CL and Scheme. Personally I am more a fan of assembler than C and professionally I am a technician and administrator and have been programming on the C64 since my childhood. That's why PicoLisp appeals to me.
<taleon> I like simple things. :-)
<taleon> However. I'll just have a look at PL and play with it a bit.
<abu[7]> "assembler" and "simple" is well in the spirit of PicoLisp
<abu[7]> Though with Pil21 it moved from Asm to LLVM as implementation language
<abu[7]> The intermediate llvm (llvm-ir) is a kind of assembly lang though
<taleon> A useful step. Maintaining Asselbler programs on the various architectures is not trivial.
<abu[7]> T
<taleon> Personally and professionally I use OpenBSD on the server, router, desktop, etc. I will soon try to see if I can get PicoLisp compiled there. PL is currently running under Linux. I have not been able to get it compiled under macos. But I haven't tried any further.
<abu[7]> There are some docs on running Pil on OpenBSD and MacOS
<taleon> macos is very special when it comes to includes. I'll have a look at it in a quiet minute. Thanks for pointing out the OpenBSD documentation. That will certainly be helpful.
<abu[7]> I always forget where it was. But for MacOS there is a hint at the bottom of the picolisp.com start page
<abu[7]> Not sure if it is up to date
<abu[7]> tankf33der can say more about the two OSes
<taleon> Yes, that's what I did yesterday. Instead of macports, however, I used brew. llvm version 17.x. However, this is not so important for me at the moment.
<abu[7]> ok, good
<taleon> It did not build quickly under OpenBSD. I'll have a look later. https://termbin.com/843e
<taleon> I probably need to install another shell such as bash.
<abu[7]> What is the "archive specification"?
<abu[7]> Something resulting from 'uname'?
<taleon> ifeq ($(MAKECMDGOALS), arm64.android)
<taleon> Probably the default shell `ksh` does not know `ifeq`.
<abu[7]> This is the old Makefile for pil64 it seems
<abu[7]> the old generic asm version, not really recommended
<abu[7]> Better start from the Makefile in https://software-lab.de/pil21.tgz
<taleon> Ok thank you. I'll try it.
<abu[7]> oops, same ;)
<taleon> Aye :)
<abu[7]> also 'ifeq' line
<abu[7]> Perhaps simply remove the test and append -opaque-pointers if necessary
<abu[7]> i.e. if llvm is 15 or 16
<taleon> Ok, the first problem is solved. With `gmake` `ifeq` works. On to the next problem. Slowly we are making progress. :-)
<abu[7]> 👍😎
<abu[7]> hmm, should be in /usr/bin/opt
<abu[7]> part of LLVM
<abu[7]> You could try llvm-as instead
<taleon> All the llvm tools are all called -16 for me. https://termbin.com/49iy
<abu[7]> llvm version 16 it seems
<taleon> I will probably have to create corresponding softlinks... Now it's time to take care of lunch. :-)
<abu[7]> Great, enjoy!
<taleon> Under OpenBSD, all subsequently installed packages are also installed under `/usr/local/`.
<taleon> Ok. All llvm-tools can be found under `/usr/local/llvm16/bin`. Now I just have to somehow tell the Makefile to use the tools from this directory.
<abu[7]> Simply export PATH=...
seninha has joined #picolisp
<tankf33der> back
<taleon> I'm still missing something here: https://termbin.com/a72n
<taleon> Somehow I still have to include the libs. `/usr/local/llvm16/lib/libLLVM-16.so`
<taleon> I tried LDFLAGS, CPPFLAGS, etc.
<abu[7]> Better do export PATH="/usr/local/llvm16/bin:$PATH"
<taleon> ok
<abu[7]> How about LD_LIBRARY_PATH ?
<tankf33der> what os?
<abu[7]> It is OpenBSD
<tankf33der> you will get limitations. only linux and freebsd without them
<abu[7]> Is it the problem with shared libs?
<abu[7]> 'ext', 'ht'?
<tankf33der> lets see together openbsd part
<abu[7]> Not sure if taleon saw these docs
<tankf33der> afp
<taleon> Sorry for the delayed reply. I am currently fighting on three fronts at the same time. :-) Thanks for the installation instructions.
<abu[7]> No problem I think!
<taleon> Is there a reason why readline is installed from the source code? There is also a package with the same version.
<abu[7]> readline is just linked as a library
<abu[7]> e.g. libreadline.8.2.so
<taleon> The libs are also available in the readline package. I have tried both versions (source and package).
<abu[7]> I know only the situation on Termux and Debian ;)
<taleon> I followed the INSTALL-.md from tankf33der
<abu[7]> I see
<taleon> I have tested with both llvm-13 and llvm-16. Really strange. :-)
<abu[7]> I think he will be back a little later
<taleon> Ok. I'm on vacation, and if my wife doesn't want me to go, I'll have time ;-)
<abu[7]> But it is not a readline issue, right?
<abu[7]> hehe :)
<taleon> One step further again. Thanks for the tip with LD_LIBRARY_PATH
<abu[7]> Great. rl_input_available_hook could be an issue with readline version
<tankf33der> ported pil21 to FreeBSD14 now
<tankf33der> works.
<tankf33der> INSTALL-.md updated.
<abu[7]> Thanks!
<tankf33der> taleon: what is your openbsd version and platform ?
<taleon> OpenBSD titan.rt.fm 7.4 GENERIC.MP#2 amd64
<taleon> Intel(R) Core(TM) i7-8700 CPU
<tankf33der> did you add -lncursesw ?
<taleon> Yes I patched the Makefile
<taleon> MAIN = -rdynamic -lc -lutil -lm -lreadline -lffi -L/usr/local/lib -lncursesw
<tankf33der> ok
<abu[7]> I believe rl_input_available_hook is new, because other symbols before it are accepted
<tankf33der> then i must install openbsd 7.4 tomorrow
<abu[7]> So readline lib is too old probably
<tankf33der> and check
<abu[7]> Good idea
<tankf33der> щ
<tankf33der> o
<tankf33der> hehe
<taleon> It was really due to the readline version. I had used the package last, because it didn't work with the source text either.
<abu[7]> Wow!
<abu[7]> Congrats :)
<taleon> Thank you all for the wonderful support. :-) I'm happy now!
<abu[7]> Great :)
<taleon> Note to the great OpenBSD guide: wget is not needed. `ftp` from the base system can now also do https.
<taleon> This saves you having to install a package.
<abu[7]> ok
<taleon> Just for the record. Whereby wget is usually installed anyway.
<abu[7]> I though wget got somehow out of fashion
<abu[7]> I use curl by default
<taleon> Yes, I also prefer curl. Above all, curl is interesting for web development to send and receive headers.
<taleon> I'm not sure what the difference is between readline 8.2 from the source code and readline 8.2 from the OpenBSD packages. However, a few patches are applied that may have an influence. https://github.com/openbsd/ports/tree/master/devel/readline
<abu[7]> es
<abu[7]> A bit strange if both are 8.2
<abu[7]> a new global
<anddam> taleon: all in all what rl version worked, system's or built-in?
<taleon> anddam: the source code version from tankf33ders INSTALL.md
<anddam> I see
<taleon> I have now tested this procedure on two computers as follows: https://termbin.com/zlv7
taleon has quit [Ping timeout: 256 seconds]
<anddam> is the touch *.ll required to force building of some target?
<abu[7]> I never touched the *.ll files, but removed them if necessary
<abu[7]> i.e. 'make clean'
taleon has joined #picolisp
taleon has quit [Client Quit]
taleon has joined #picolisp
<tankf33der> touch is required on fresh clone, otherwise make is going crazy.