ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
clacke[m] has quit [Read error: Connection reset by peer]
clacke[m] has joined #picolisp
pchrist has quit [Ping timeout: 276 seconds]
pchrist has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
aw- has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
chuckJ has joined #picolisp
chuckJ has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 276 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
<rick42> Regenaxer: today, an opebsd dev brian callahan, make a change to a project of his wherein he dropped the dependency on gnu make by writing a simple shell script (called `configure`) which writes out a posix makefile. the aim was portability. now users simply use whatever make program is available on the system. neat approach: https://github.com/ibara/oksh/blob/master/configure
<aw-> hey rick42
<aw-> i have some news, i'll post on the list later, regarding my JSON library
orivej has joined #picolisp
<rick42> aw-: hey man! ok, looking fwd to it!
<rick42> gnite from indiana! :)
<aw-> cool! g'nite
orivej has quit [Ping timeout: 276 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #picolisp
aw- has quit [Ping timeout: 260 seconds]
aw- has joined #picolisp
<Regenaxer> rick42, thanks! Nice, though this does unfortunately not help on other systems. I use Makefile only for other systems, for my own use (eg. building PilBox) I simply use shell scripts with just a handful of lines
rob_w has joined #picolisp
rob_w has quit [Changing host]
rob_w has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
<Regenaxer> picoLisp-17.12 available in Debian Sid (now also for arm64)
<aw-> great!
<aw-> i'm still on Stretch for now
<Regenaxer> ok
orivej has joined #picolisp
<aw-> anyways i'm already on 17.12
<aw-> seems the TinyCore people haven't published 17.12 either
<Regenaxer> takes time to propagate
<beneroth> Good morning Regenaxer
<beneroth> hi aw-
<Regenaxer> I'm testing now on ppc64 and arm64
<Regenaxer> hi beneroth
<aw-> hey bene
clacke[m] has quit [*.net *.split]
clacke[m] has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
<aw-> is there a way to represent scientific numbers in picolisp?
<aw-> ex: 3.7e-5
<aw-> or more specifically, has anyone written any code to work with those?
<Regenaxer> only as strings
<Regenaxer> I didn't though
<aw-> because floating point eh... would need to use (native @) perhaps
<Regenaxer> yes
kuro6 has joined #picolisp
C_Keen has quit [Changing host]
C_Keen has joined #picolisp
<kuro6> hi, i ported minipicolisp with vs2015, you can review my porting code here: https://github.com/sailfish009/minipicolisp
<tankfeeder> kuro6: cool, minipicolisp here on ideone.com too
<kuro6> i like picolisp implementation, thanks!
<Regenaxer> hi kuro6, thanks!
kuro6 has quit [Quit: Leaving]
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
<beneroth> wow great
<aw-> DONE
<aw-> i re-wrote my picolisp JSON parser
<beneroth> :D
<aw-> no more C libs / external deps
<beneroth> congratulations
<beneroth> wow great!
<Regenaxer> accepting float notation?
<aw-> Regenaxer: haha no, that's the only exception HAHAHA
<Regenaxer> ok :)
<beneroth> javascript/JSON only having floats (vs. integers) is a real weakness
<aw-> i accept pull requests if someone wants that, but I personally don't care ;)
<beneroth> I hope you had the fire under control? :D
<aw-> beneroth: ?
<Regenaxer> Minor optim: Instead of (or (= "," Value) (= ...) you could write (member Value '("," ...)
<Regenaxer> the or is still needed for lst? etc.
<aw-> oh i'm sure there's many optimizations possible
<aw-> what line?
<beneroth> aw-, kill git submodule with fire :)
<Regenaxer> yeah, not critical
<aw-> beneroth: haha oh yeah that was a while back when i switched from git submodules to Makefile
<Regenaxer> Why is it necessary to throw errors?
<beneroth> what issues did you encounter/see with git submodules?
<beneroth> (I currently use git submodules)
<Regenaxer> you could also 'quit' instead of 'throw' and catch the errors
<aw-> Regenaxer: quit doesn't return NIL
<aw-> Regenaxer: that would break backwards compat with the older lib
<aw-> i don't want to change my existing programs
<aw-> so a failure needs to always return NIL
<Regenaxer> You can catch quit the same way
<Regenaxer> What does it return?
<aw-> beneroth: submodules are painful sometimes, like if you edit the code in the submodule and don't commit/push correctly, it breaks for other people
<Regenaxer> I would expect NIL too
<beneroth> what does your program return in case of success?
<beneroth> aw-, hm. yeah true. user error though.
<aw-> beneroth: the list (parsed list)
<Regenaxer> ah, right, it returns the error. OK
<Regenaxer> good point
<aw-> beneroth: too much user error with submodules, too easy to screw up and then it's a pain to fix, i got "burned" by them so often.. it's fine if you're the only dev, but really painful with multiple people on the same repo
<beneroth> two people at the moment
<beneroth> but yeah
<beneroth> haven't got burned yet. thanks for sharing your experience :)
<aw-> beneroth: they work really well, but require discipline
<beneroth> T
<aw-> Regenaxer: thanks
<beneroth> discipline is the major problem with software dev, I find...
<Regenaxer> indeed
<beneroth> the 4 problems of software industry: 1. discipline, 2. naming things, 3. off-by-one errors
<Regenaxer> 4. Not really thinking about one is doing
<beneroth> that is 1. :)
<Regenaxer> ok
<beneroth> the 4. problem is an off-by-one error
<tankfeeder> add item to tail of doubled list
<tankfeeder> i gonna commit to rosetta near add item to head
<Regenaxer> good!
<beneroth> tankfeeder, thx!
<Regenaxer> (set DLst L) would not work?
<aw-> oops i found a bug, will push fix shortly
<Regenaxer> tankfeeder, no, fine
<tankfeeder> this 5 line function took me a week, now i gonna rewrite turing machine on doubled lists.
<Regenaxer> wow
<beneroth> tough stuff
<Regenaxer> indeed
<tankfeeder> Regenaxer
<tankfeeder> is (byte) pil64 only ?
<Regenaxer> yes, looks like
<Regenaxer> It was meant initially for PilMCU
<Regenaxer> and makes sense mostly only with 'native' I think
<tankfeeder> then add note to reference and make "@lib/test.l" work on pil32 back again
<Regenaxer> oh
<tankfeeder> [root@archlinux src]# pil "@lib/test.l" +
<tankfeeder> [/root/picoLisp/test/src/main.l:46] !? (byte (>> -4 (adr (1))))
<tankfeeder> byte -- Undefined
<tankfeeder> ?
<Regenaxer> fatal :)
<Regenaxer> Done, thanks!
<tankfeeder> good
<Regenaxer> Can you try again?
<Regenaxer> Too bad that the Debian release is out already
<tankfeeder> doing
<Regenaxer> thx
<tankfeeder> all ok now
<Regenaxer> great!
orivej has joined #picolisp
orivej has quit [Client Quit]
orivej has joined #picolisp
<aw-> looks like PicoLisp 17.12 is finally published for TinyCore x86_64 - http://repo.tinycorelinux.net/8.x/x86_64/tcz/picolisp.tcz.info
<aw-> install with: tce-load -il picolisp
<aw-> install with: tce-load -wi picolisp
<aw-> oops*
<Regenaxer> Good news
<tankfeeder> i've re-implement Turing machine from idx to doubled lists
<tankfeeder> 500 secs -> 0 secs
<Regenaxer> :o
<aw-> :O
<aw-> wow
<Regenaxer> sounds like the right way
<beneroth> impressive
aw- has quit [Quit: Leaving.]
<tankfeeder> i'm writing fibonacci on coroutines
<tankfeeder> i want to implement too
<tankfeeder> 4th way
<Regenaxer> similar to the prallelized version version?
<tankfeeder> yeap
<Regenaxer> Interesting
<Regenaxer> Ah, the prallelized version is also not yet in rosetta
<Regenaxer> Strang, "Recursive can only go so far until a stack overflow brings the whole thing crashing down" - this will never happen
<Regenaxer> Fibo gets so very slow, that you can not overflow the stack
<tankfeeder> who wrote?
<Regenaxer> Didn't check
<Regenaxer> Doesn't matter, principially it is correct
<Regenaxer> The code is also not my style, eg. the missing blank in "J) )"
<Regenaxer> My version was
<Regenaxer> (de fib (N)
<Regenaxer> (let (A 0 B 1)
<Regenaxer> (do N
<Regenaxer> (prog1 B (setq B (+ A B) A @)) ) ) )
<tankfeeder> aha
<Regenaxer> Seems I added the non-recursive version on 25mar15 to misc/fibo.l
<tankfeeder> Regenaxer: i did it
<tankfeeder> i wanted this variation:
<tankfeeder> i'm happy again.
<Regenaxer> Wow, very simple!
<Regenaxer> and elegant!!
<tankfeeder> i'll commit tomorrow
<Regenaxer> good
<Regenaxer> What is the initial (yield 'ready) for?
<Regenaxer> to stop once after init?
<tankfeeder> yeap
<tankfeeder> to pass running to (do 15 ...)
<tankfeeder> there are several variations how to init and start generate fibos
<Regenaxer> true
<tankfeeder> and i will replace this by yours version
<Regenaxer> ok, thanks
<beneroth> nice
<Regenaxer> (while could be (loop, right? Will never terminate here
<Regenaxer> ah, no
<Regenaxer> ok :)
<Regenaxer> To stop it via yield
<rick42> hi all
<rick42> tankfeeder: nice job on fibo-co.l
<Regenaxer> Hi rick42!
<rick42> hi Regenaxer! you have a very talented disciple :)
<Regenaxer> yes, very talented! :)
<beneroth> hi rick42
<rick42> hi beneroth! o/
<rick42> bbl
aw- has joined #picolisp
rob_w has quit [Quit: Leaving]
<rick42> use caa and js to go back in time: https://github.com/kristopolous/BOOTSTRA.386
<rick42> css
<rick42> it's at once hilarious and neat :)
alexshendi has joined #picolisp
<cess11> wickr had a crucial flaw, update if you haven't
<cess11> tankfeeder: sweet fibo snippet
rob_w has joined #picolisp
chuckJ has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
aw- has quit [Quit: Leaving.]
chuckJ has quit [Ping timeout: 268 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
orivej has joined #picolisp
karswell has joined #picolisp
<beneroth> why is JS necessary? :|
<beneroth> (because bootstrap?)
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 248 seconds]
orivej has joined #picolisp
alexshendi has quit [Ping timeout: 255 seconds]
orivej has quit [Ping timeout: 268 seconds]
orivej has joined #picolisp
orivej has quit [Client Quit]
orivej has joined #picolisp
rob_w has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 268 seconds]