02:59
aw- has joined #picolisp
03:36
aw- has quit [Quit: Leaving.]
05:14
orivej has quit [Ping timeout: 240 seconds]
05:23
inara has quit [Ping timeout: 256 seconds]
05:31
inara has joined #picolisp
06:12
<
yunfan >
hi, why trace not work at my machine like the document said?
06:12
<
yunfan >
i follow the official documents on trace, and use the example of fact function, it works as normal, but dont show trace steps
06:49
<
Regenaxer >
Hi yunfan, 'trace' is enablen only in debug mode, ie. when you started with '+' at the end of the command line
06:49
<
Regenaxer >
Same with single-stepping with 'debug'
07:53
rob_w has joined #picolisp
08:53
mtsd has joined #picolisp
09:37
aw- has joined #picolisp
09:50
<
t4nkf33der >
morning
09:50
<
t4nkf33der >
Regenaxer: here ?
09:51
<
Regenaxer >
Hi t4nkf33der, aw-
09:51
<
aw- >
something a bit strange with PilBox
09:51
<
aw- >
it kind of acts like a web browser.. if I press on the Gear icon 4 times, it will have arrows at the bottom
09:52
<
aw- >
to go back and forth
09:52
<
Regenaxer >
Navigation
09:52
<
aw- >
but isn't Gears for "Settings" ?
09:52
<
aw- >
why navigation? shouldn't settings just be a section you go to, without having back/forward?
09:53
<
Regenaxer >
yes, but then go back to where you were before
09:53
<
Regenaxer >
Do you have the latest version? I changed the mechanics a little
09:53
<
t4nkf33der >
Regenaxer: question: is it ok how i get array from native via R to Pubkey ? :/
09:53
<
aw- >
yes i updated today
09:53
<
t4nkf33der >
its ok and works as expected.
09:54
<
Regenaxer >
aw, I suppress back when in an App which defined a 'start'
09:54
<
Regenaxer >
because it sets up an env like DB
09:54
<
aw- >
that's probably fine then
09:55
<
Regenaxer >
yes, I think it is safer
09:55
<
aw- >
but the navigation for those two top buttons is not very "app-like"
09:55
<
Regenaxer >
you can always leave the app by pressing the gear twice
09:55
<
Regenaxer >
well, yes, but convenient
09:55
<
Regenaxer >
and very necessary for the apps I have
09:56
<
Regenaxer >
My users are used to use this navigation
09:56
<
aw- >
ok! I will try with my own apps, for now i still only use REPL haha
09:56
<
Regenaxer >
And it
*is* in fact a browser anyway, Android WebView
09:56
<
Regenaxer >
you can try the 5 demo apps
09:57
<
Regenaxer >
install them all and navigate between them
09:57
<
aw- >
yes i haven't tried a demo app since you first released it
09:57
<
Regenaxer >
The Radio for example opens a DB
09:57
<
Regenaxer >
sorry t4nkf33derri
09:57
<
Regenaxer >
sorry t4nkf33der!
09:58
<
Regenaxer >
checking
09:58
t4nkf33der is now known as tankf33der
09:58
<
Regenaxer >
that's better :)
09:58
<
Regenaxer >
easier to type "ta" then "t4"
09:59
<
Regenaxer >
I need to check the native syntax each time ... does it work?
09:59
<
Regenaxer >
'(R (32 B . 32)) should be good, allocates 32 bytes
09:59
<
Regenaxer >
returns in R
10:00
<
Regenaxer >
I believe your code is fine, can't be wrong if it works, and the buffers are big enough
10:01
<
Regenaxer >
aw-, I'd recommend to download all demo apps again in case you have them, as they also changed
10:01
<
tankf33der >
Regenaxer: pl
10:01
<
tankf33der >
Regenaxer: ok
10:03
orivej has joined #picolisp
10:10
<
tankf33der >
another question:
10:11
<
tankf33der >
can i set variable inside native ?
10:12
<
Regenaxer >
hmm, why do you use R and "R"?
10:12
<
Regenaxer >
("R" is a return value, right?
10:12
<
Regenaxer >
so R is not set
10:13
<
Regenaxer >
Typical is (use R ... (native ... (R ...
10:13
<
tankf33der >
no return of R
10:13
<
Regenaxer >
oops, yes, "P"
10:14
<
Regenaxer >
does not make sense to me
10:14
<
tankf33der >
"P" is numbers after native, but P1 still zeroes after crypto_x25519_public_key call
10:14
<
Regenaxer >
R is ignored
10:14
<
Regenaxer >
you want to pass the value of the "P" argument in?
10:15
<
tankf33der >
never did before. first time.
10:15
<
Regenaxer >
then (list "P" (32 B . 32))
10:15
<
tankf33der >
ah, list "P"
10:15
<
Regenaxer >
And what is 'R' for?
10:15
<
tankf33der >
old code
10:15
<
Regenaxer >
good then
10:16
<
aw- >
Regenaxer: ok thanks
10:20
<
tankf33der >
works, but P1 is not ok
10:22
<
Regenaxer >
I think "P" must be a symbol
10:22
<
Regenaxer >
ie the var
10:22
<
Regenaxer >
... a variable in the CAR (to receive the returned structure data
10:23
<
tankf33der >
(crypto_x25519_public_key
10:23
<
tankf33der >
P1 -> 'P1 helped.
10:24
<
Regenaxer >
The 'need' is not necessary, 'native' builds up the proper return structures
10:25
<
tankf33der >
yes, works.
10:26
<
Regenaxer >
So just (P (32 B . 32)) is enough, right?
10:26
<
Regenaxer >
then return the value of P
10:27
<
Regenaxer >
What is the second buffer (cons NIL (32) S) for?
10:27
<
tankf33der >
this is latest working version i wanted.
10:27
<
Regenaxer >
Can be '(NIL (32) S) I think
10:28
<
tankf33der >
^^^ no, failed.
10:28
<
Regenaxer >
right, S is evaluated
10:29
<
tankf33der >
issue closed.
10:29
<
Regenaxer >
So you pass in a symbol in "P"
10:29
<
Regenaxer >
ok, but why do you not return the value normally
10:29
<
Regenaxer >
(use P (native ... (P ...) ) P)
10:30
<
tankf33der >
i dont know, just something new.
10:30
<
Regenaxer >
ok, good
10:30
<
Regenaxer >
not wrong at all
10:30
<
Regenaxer >
Normally a simple return value is easier to use
10:31
<
Regenaxer >
no need to define a variable in the caller
10:31
<
Regenaxer >
minor issue
10:52
mtsd has quit [Ping timeout: 260 seconds]
10:55
orivej_ has joined #picolisp
10:55
orivej has quit [Read error: Connection reset by peer]
11:03
orivej_ has quit [Ping timeout: 248 seconds]
13:12
aw- has quit [Quit: Leaving.]
13:25
rob_w has quit [Quit: Leaving]
15:19
orivej has joined #picolisp
16:25
rob_w has joined #picolisp
16:29
gr8 has joined #picolisp
16:31
<
gr8 >
Regenaxer, would you think that porting Pilos to new architectures could be simpler than with OS's that are written in C? Assuming that Pilos would grow in features and overall complexity
16:32
<
gr8 >
or porting a C compiler to other architectures (not sure what would be an appropriate comparison)
16:34
<
Regenaxer >
Yes, but only is the implementer feels more comfortable in Lisp than in C
16:35
<
Regenaxer >
The Lisp lang per se is not better than C to write drives etc.
16:39
<
gr8 >
maybe because abstractions are simpler in Lisp? So that everything can be written against an abstract architecture, and then only a small part needs to be ported
16:54
<
gr8 >
I mean, is that actually an advantage of this system? I'm a noob for everything low-level :D It's just what I thought. Does it compare well to other portability-focused OS's like NetBSD?
16:55
<
gr8 >
I think the language might play a significant difference for this, but might be wrong
16:56
<
gr8 >
*significant role
16:56
<
Regenaxer >
Hmm, yes, for me is is also the case. I prefer Lisp here anyway
16:56
<
gr8 >
but then you are biased ;)
17:31
gko has joined #picolisp
18:01
orivej has quit [Ping timeout: 248 seconds]
19:03
freemint has joined #picolisp
19:05
<
Regenaxer >
Hi freemint
19:06
<
freemint >
Yeah i am still alive
19:06
<
freemint >
Hi Regenaxer
19:07
<
freemint >
Has anything changed since late december?
19:07
<
Regenaxer >
Yes, the year
19:08
<
freemint >
so i have not missed much
19:09
<
freemint >
Is a "slow but more complex math library doing, exp, ln, root, sin, to arbitrary precision" worth being written?
19:10
<
freemint >
(wert geschrieben zu werden)
19:12
<
freemint >
(in picolisp first)
19:14
<
Regenaxer >
I'm not sure where a lib with higher precision than 56 bits could be useful
19:14
<
Regenaxer >
about 15 digits
19:14
<
freemint >
Like i was thinking (with the knowledge from my math classes and the (potential) help of people at the GMP mailing list) to write one
19:15
<
freemint >
So you'd prefer a fine but faster one?
19:15
<
freemint >
*limited but faster one
19:15
<
Regenaxer >
nono, speed is not the problem
19:16
<
Regenaxer >
The question is
*where* 15 digits precision are a limit
19:16
<
Regenaxer >
internally it is 80 bits btw
19:16
<
Regenaxer >
intermediate results
19:17
<
freemint >
are you efering to the curret floating point version?
19:17
<
freemint >
(80 bits only on x86)
19:17
<
Regenaxer >
yes, IEEE standard
19:17
<
Regenaxer >
everywhere
19:17
<
Regenaxer >
10-byte numbers
19:17
<
Regenaxer >
mantissa 64 bits then iirc
19:17
<
freemint >
then i am wrong
19:17
<
Regenaxer >
16 bits exponent
19:18
<
Regenaxer >
Anyway, standard double precision is 56/64 bits
19:18
<
Regenaxer >
on the language level
19:18
<
freemint >
Is there a way to load picolisp assembly to execute?
19:18
<
Regenaxer >
How do you mean that?
19:20
<
freemint >
Most internal functions (in 64 bit) are function pointers to code generated from ~picolisp "vm" assembly~.
19:21
<
Regenaxer >
correct
19:22
<
Regenaxer >
You can build shared libs, like the ones in the distro 'ext' and 'ht'
19:22
<
freemint >
is it possible to generate new functions at runtime which are expressed as picolisp assembly?
19:23
<
Regenaxer >
yes, and then call 'as' to build them
19:23
<
Regenaxer >
In the distro is this for inline C
19:23
<
Regenaxer >
compiled on the fly
19:23
<
Regenaxer >
(load "@lib/native.l")
19:23
gr8 has quit [Ping timeout: 265 seconds]
19:24
<
freemint >
but it is not possible in a (setq sin (build (generate-code))) kind of way
19:25
<
Regenaxer >
it is possible
19:26
<
Regenaxer >
see what "@lib/native.l" does, and use assembly instead of C
19:27
<
Regenaxer >
Usage examples are misc/crc.l and misc/fibo.l
19:27
<
freemint >
i will have a look
19:27
<
freemint >
why is picolisp vm assembly not in sex-pr?
19:28
<
freemint >
(i think i asked you once but i forogot
19:28
<
Regenaxer >
yes, I think so too
19:28
<
Regenaxer >
s-exprs make no sense
19:29
<
Regenaxer >
asm statements are not functions, ie. they have no value
19:29
<
Regenaxer >
And it
*is* s-expr in the sense what (read) is used to parse the sources
19:30
<
Regenaxer >
It is s-exprs with much more atoms than lists in it
19:30
<
Regenaxer >
(code 'foo ...) ld A ...
19:31
<
freemint >
where can i learn more about code
19:34
<
Regenaxer >
@src64/lib/asm.l
19:34
<
Regenaxer >
(section 'code 'text)
19:38
orivej has joined #picolisp
19:38
<
Regenaxer >
Basically, the function 'code'
*is* the assembler
19:38
<
freemint >
Is 'optimize a placeholder
19:42
<
Regenaxer >
see in arch/
19:46
<
freemint >
areat this level of abstractions still low hanging fruits for optimization?
19:52
<
Regenaxer >
IIRC quite tricky
19:52
<
Regenaxer >
Eliminates a lot of stuff
19:52
<
freemint >
Regenaxer:the use of 'de in asm.l irritates me
19:52
<
Regenaxer >
branches to branches
19:53
<
Regenaxer >
The Arm64 version optimizes a lot. Picks different instructions if suitable
19:53
<
freemint >
(de *Conditions (T jmp . jmp) (z jz . jnz) makes me think *Conditions is a function with two evalueated aruements
19:54
<
Regenaxer >
'de' has nothing at all to do with functions
19:54
<
Regenaxer >
it is
*not* "defun"
19:56
<
freemint >
i justnotied reading the doc
19:58
<
freemint >
any how thanks for your time. my gf is hugging me to death
19:58
<
freemint >
she just approved this message
20:00
<
Regenaxer >
good! :)
20:00
<
Regenaxer >
I'm also multitasking
20:01
<
Regenaxer >
busy cleaning up my wife's sushi course
20:01
<
freemint >
It do not know if that is reason of concern but she write python, wenigstens etwas ;D ...
20:06
<
freemint >
aber ich versuche sie zu bekehren ...
20:07
<
Regenaxer >
Gut! :)
20:08
<
freemint >
Gut e Nacht! :)
20:09
gr8 has joined #picolisp
20:11
freemint has quit [Quit: Page closed]
20:48
gr81 has joined #picolisp
20:51
gr8 has quit [Ping timeout: 255 seconds]
21:07
gr81 has quit [Quit: Leaving]
23:03
karswell_ has joined #picolisp
23:15
karswell_ is now known as karswell