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