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
orivej has quit [Ping timeout: 240 seconds]
rob_w has joined #picolisp
aw- has joined #picolisp
mtsd has joined #picolisp
mtsd has quit [Ping timeout: 256 seconds]
mtsd has joined #picolisp
Blue_flame has quit [Quit: Idle for 30+ days]
<aw-> Regenaxer: here?
mtsd_ has joined #picolisp
mtsd has quit [Ping timeout: 258 seconds]
mtsd_ has quit [Ping timeout: 258 seconds]
mtsd has joined #picolisp
<Regenaxer> yep
<aw-> hi
<aw-> just want to confirm with you
<aw-> (& 3 (>> 3 (bin "00011000")))
<aw-> if I want to 'verify' those two bits are set to 1
<aw-> is this correct?
<aw-> shift right 3, and mask 3
<Regenaxer> yes, looks good
<Regenaxer> you could also directly (& 12
<Regenaxer> ie (hex "C")
<aw-> doesn't work
<Regenaxer> To use it in a condition, you must compare with zero of course (=0
<Regenaxer> or better use bit?
<Regenaxer> (bit? 12 ...)
<Regenaxer> but this requires *both* bits are set
<Regenaxer> so (unless (=0 (& 12 N)) ... ?
<Regenaxer> In any case the shift is overkill
<aw-> hmm that doesn't give what i want
<aw-> i want to know if the TWO bits are 1
<Regenaxer> yes, then bit?
<Regenaxer> 'bit?'
<aw-> (bit? 12 (bin "00011000")) ?
<Regenaxer> decimal 12 is binary 1100
<Regenaxer> not 11000
<Regenaxer> eight plus four ;)
<aw-> oh sorry, it's an 8 bit integer
<aw-> i'm checking in 8 bits, not 4
<Regenaxer> doesnt matter. Any size
<Regenaxer> 00001100 is the same
<aw-> yes
<aw-> but not 11111000
<Regenaxer> yes
<Regenaxer> you need (bit? 12 N) as I understand you
<Regenaxer> checks if both bit 3 and bit 4 are set
<Regenaxer> (if lowest bit is 1)
<aw-> wait wait
<aw-> i'm counting from 0
<aw-> you're counting from 1
<aw-> so we're mixed up here
<Regenaxer> ah, you shifted by 3
<Regenaxer> then 24
<aw-> yes 24
<aw-> i just realized the mistake
<Regenaxer> I did not look well
<aw-> yes same here
<aw-> ok (bit? 24 N) works
<Regenaxer> :)
<aw-> perfect
<Regenaxer> great
<aw-> i had a feeling something was wrong with approach, glad i asked
<aw-> thanks
<Regenaxer> was not wrong, just a little longer
<Regenaxer> and needed (=0 or so
<aw-> i didn't know about (bit?)
<aw-> so useful
<Regenaxer> good to hear
<tankf33der> one of turing implementation broken yesterday.
<tankf33der> under pil21.
<tankf33der> or on weekend.
orivej has joined #picolisp
<Regenaxer> oh
<Regenaxer> I think I did not change much over the weekend. But something this morning
<Regenaxer> Variable-argument function calls needed a fix to work right in coroutines
<Regenaxer> And yesterday I added some checks for protected symbols
<Regenaxer> pil64 was more permissive in that regard
<Regenaxer> Maybe something broke for varargs?
<Regenaxer> 'from' and 'echo' also were fixed for coroutines
<tankf33der> this commit 18h broke
<Regenaxer> yes, the checks for protected symbols
<Regenaxer> you get an error "-- Protected symbol"?
<tankf33der> http://ix.io/2v5t
<tankf33der> this code now is broken.
<tankf33der> it worked for many week already.
<Regenaxer> No error message like above?
<Regenaxer> yes: NIL -- Protected symbol
<Regenaxer> So your code is wrong ;)
<Regenaxer> This error was not checked in pil32 or pil64
<tankf33der> ha
<tankf33der> ok. i will try to debug.
<Regenaxer> or my new check is too much
<Regenaxer> I check too
<Regenaxer> I think it is my error!
<Regenaxer> "In destructuring patterns, NIL denotes a "don't care" position"
<Regenaxer> I check too strictly
<Regenaxer> hmm, no
<Regenaxer> seems ok
<Regenaxer> Found it!
<Regenaxer> It is (de f25-test-1 (NIL) ...
<Regenaxer> NIL is not allowed
<tankf33der> i always use this form for de
<Regenaxer> Good we have such checks now. It is an easy-to-make bug :)
<Regenaxer> oh
<Regenaxer> it binds NIL to something
<Regenaxer> may give hard to detect bugs
<tankf33der> () and (NIL) was the same for me
<Regenaxer> (f25-test-1 7)
<Regenaxer> NIL -> 7
<Regenaxer> ah, no, it is different :)
<tankf33der> :)
orivej has quit [Ping timeout: 258 seconds]
<tankf33der> all passed.
<Regenaxer> Top!
orivej has joined #picolisp
<Regenaxer> Many of the protected checks were omitted in pil for performance reasons
<Regenaxer> But as pil21 is slower anyway, it does not matter much ... ;)
<Regenaxer> Thinking of it, we might allow destructuring bind also for function parameters in pil21
<Regenaxer> as the check is there already, it does not slow down further
<Regenaxer> Heavy machinery though. I'll think about it
<tankf33der> ok
<tankf33der> latest llvm11 will be in several monthes.
<Regenaxer> ok
<Regenaxer> For our needs, nothing seemed to have changed in all the LLVM versions so far
<tankf33der> http://ix.io/2v5V
<tankf33der> i found attributes for platform, gonna find and play for performance boost.
<Regenaxer> many, just for x86-64
<Regenaxer> I think it makes no difference for pure interpreter code
<Regenaxer> The CPUs differ for float and such things, but not for the plain instruction set
<tankf33der> also found this one
<Regenaxer> interesting
<tankf33der> so far opt -O3 is absolute winner for performance boost.
<tankf33der> no doubt.
<Regenaxer> ok
<Regenaxer> 20% ?
<tankf33der> yea.
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
aw- has quit [Client Quit]
mtsd has quit [Quit: Leaving]
<tankf33der> # ./mkJar
<tankf33der> Caused by: java.lang.ClassNotFoundException: PicoLisp
<tankf33der> Error: Could not find or load main class PicoLisp
<tankf33der> never successfully run mkJar ever.
<Regenaxer> oh
<Regenaxer> It is a mess
<Regenaxer> I installed Java 11 and could make ersatz with the changes by rcs
<Regenaxer> But then I could not build PilBox
<Regenaxer> Now I reverted to Java 8 ;)
<Regenaxer> Have not tested what that means for Ersatz
<Regenaxer> ok, builds with Java 8
<Regenaxer> So I'll stay with Java 8 for now
<Regenaxer> I *hate* Java
<Regenaxer> Every week something gets deprecated
root____ has quit [*.net *.split]
jibanes has quit [*.net *.split]
anddam has quit [*.net *.split]
rob_w has quit [*.net *.split]
_whitelogger has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #picolisp
orivej has joined #picolisp
<beneroth> Regenaxer, see also licensing issues
<beneroth> afaik the official java runtime by Oralce is no longer gratis for businesses on newer Java Versions (I think 8 and up? I'm not sure anymore)
<Regenaxer> I see
<beneroth> which is no problem if one stays on another runtime, but they probably don't have the newer features, as java development speed up (too 6 month cycle or so)
<Regenaxer> I'm using openJDK
<beneroth> (which if course the point to monetize businesses which require that stuff)
<beneroth> yeah than it should be no problem
<beneroth> s/than/then
<beneroth> btw. Apple is currently in the race of becoming more evil than Oracle
<Regenaxer> I believe :)
<beneroth> they forced the gratis WordPress app into offering in-app payments so they get their 30% cut. previously the app was completely free and not tied to any commercial offering in any way. Apple denied them the update capability until they agreed.
<tankf33der> Regenaxer: something new
<tankf33der> 2018:......[code2018.l:411] !? ($177770276011063 $177770276011056)
<tankf33der> 7 -- Variable expected
<tankf33der> ?
<tankf33der> it worked several hours ago.
<tankf33der> ============================
<Regenaxer> oh
<tankf33der> [mpech@lambda advent2018]$ pil21 code2018.l
<tankf33der> :
<tankf33der> 2018:.........................OK
<Regenaxer> I changes something in 'let'
<tankf33der> and it passed if run again manually
<Regenaxer> is it 'let' perhaps?
<tankf33der> running again whole buindle.
<Regenaxer> I want to change more in 'let', so don't worry
<Regenaxer> I will try to restructure destructuring bind
<Regenaxer> to use the same algo in function calls
<Regenaxer> So I will probably find the problem tomorrow
<Regenaxer> (if it is indeed 'let' which fails)
<tankf33der> it failed if run whole.
<tankf33der> you could clone repo and run yourself on x86
<tankf33der> 5sec task.
<Regenaxer> family meeting
rob_w has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 244 seconds]
orivej has joined #picolisp