<aw->
i was asking if you implemented directly in PicoLisp
<aw->
i'm familiar with libs/native
<tankf33der>
aw-: yea
deathleff has joined #picolisp
deathleff has quit [Read error: Connection reset by peer]
andrzej5 has joined #picolisp
andrzej5 has quit [Remote host closed the connection]
grp has joined #picolisp
<grp>
tankf33der: I remember now. Problem is with methods. Anything that's a method can't be used without quote for maps
<grp>
back then when I first stumbled upon this issue, I got the habit of quoting everything for consistency
profall9 has joined #picolisp
<grp>
reason for this behavior is that when you write (mapc something ...) it translates to ($mapc $something ...) where $ means pointer-to. So, when you put a method: (mapc method> ...) you get ($mapc $method-caller ...)
<grp>
($mapc $meth ...) actually
<grp>
at that point you loose the method name
<Regenaxer>
grp: correct. A function is a number or a lambda list, so in (apply foo Lst) 'foo' does not need to be quoted
<Regenaxer>
But sending messages to objects needs *symbols*
<Regenaxer>
The symbol is looked up in the class hierarchy, not the value
<Regenaxer>
So (mapc 'foo> Lst)
profall9 has quit [Ping timeout: 268 seconds]
<grp>
hmm, I must be missing something. What's with (foo> ...), isn't it also stored as ($meth ...)
<Regenaxer>
What do you mean with the '$'?
<grp>
pointer to
<Regenaxer>
The symbol 'foo>' has the code of 'meth'
<Regenaxer>
which searches for this symbol
<grp>
I just can't remember enough of picolisp internals atm
<grp>
but as far as I remember...
<grp>
(foo> ..>) would become ($meth ...), same as (mapc foo> ...) -> ($mapc $meth ...). (mapc 'foo> ...) -> ($mapc $foo> ...)
<grp>
so I'm left wondering why does (foo> ...) work in the first place
<grp>
iirc, symbols were resolved at every position when reading
<Regenaxer>
No, (foo> ..) does not "become" anything else
<Regenaxer>
it is not tranformed in any way
<Regenaxer>
The function definition is that of doMeth()
<Regenaxer>
definition of foo
<Regenaxer>
This code takes th symbol 'foo>', and looks it up
<grp>
and how does doMeth() know of the symbol it's been bound to? is this information eval() provides?
<grp>
I know... I should just read the code.....
<Regenaxer>
The whole original expression (foo> ..) is available
<grp>
I see
<Regenaxer>
In the C source it is 'ex'
<Regenaxer>
any doMeth(any ex)
<Regenaxer>
TheKey = car(ex);
<grp>
right, be it a list pointer or symbol pointer, car will fetch the name
<grp>
s/pointer/cell
<Regenaxer>
not the name
<Regenaxer>
the symbol
<grp>
err...
<grp>
yes
<grp>
I misworded
<Regenaxer>
Np. data(c1) is the object
<grp>
I understand now after reading the code
<Regenaxer>
Perfect :)
<grp>
the doMeth name makes me reminisce a joke of cyborg_ar, though I can't recall what it was exactly. Breaking Bad was airing at that time
* grp
sighs
<grp>
I lost most of my IRC logs to a faulty HDD
<Regenaxer>
:(
<grp>
and then to my stupid memory, I forgot the LUKS password when I tried to recover it a few months later
<grp>
I still have the drive
<grp>
heck, I still have the HDD image, but can't remember that blasted password
<grp>
so much for having stuff secured in case my netbook got stolen...
<grp>
=/
<Regenaxer>
Take a walk to meditate
<grp>
it's been years since then...
<grp>
I mean.. I can't even remember most of the picolisp stuff I swore by back then
<Regenaxer>
Same here, I forget everything :(
<grp>
Memory's been a bitch since I started getting burnt out at work
<Regenaxer>
Need to dig into old stuff to find out
<grp>
at least I can still remember the intent behind most of my code, even if faintly.
<grp>
I'd be doomed otherwise
<grp>
I stopped doing pretty much anything at home. I still run debian wheezy at home... never updated shit
<grp>
well... at least I got pulseaudio's network transport working a while ago
<grp>
\o/
<grp>
I can now watch stuff at my notebook and have it play with decent quality and sound at the now-turned-into-a-sound-server old netbook
<grp>
<grp>
I'll piggy-ride on the .nix codebase I'm writing at work and update my machines soon
<grp>
nixos all the way
<grp>
:3
<grp>
hope it doesn't get too out of hand
<Regenaxer>
rick42: I fixed 'pre?' in mini
<Regenaxer>
(in fact 'text' also was not right, fixed too)
<grp>
Regenaxer: btw, why isn't there 'suf?' ?
<Regenaxer>
Later I look at catching errors too
<grp>
'sub?' won't cut it when you need to check something at the end of a symbol
<Regenaxer>
It is not efficient to implement
<Regenaxer>
For the general case 'chop' plus list functions is recommeded :)
<grp>
wouldn't it be the same as 'sub?' plus end-of-name check then iterate?
<Regenaxer>
Symbol names are packed internally, especially complicated in 'mini, so direct string operations are hard to implement
<Regenaxer>
Yes, but then we open a can of worms
<Regenaxer>
We could re-implement all kinds of operations for names again
<Regenaxer>
I think mini has no 'sub?' even
bvi has joined #picolisp
bvi has quit [Ping timeout: 252 seconds]
<Regenaxer>
rick42: Oops, just see that catching errors is nasty. By accident for the reason we just discussed here: No substring functionality in mini :(
<Regenaxer>
I give up for now
jglick10 has joined #picolisp
jglick10 has quit [Remote host closed the connection]
sttic24 has joined #picolisp
sttic24 has quit [Remote host closed the connection]
<aw->
Regenaxer: hi
<aw->
oh never mind, i figure out my problem ;)
<razzy>
:]
booya24 has joined #picolisp
orivej has joined #picolisp
booya24 has quit [Read error: Connection reset by peer]
razzy has quit [Ping timeout: 252 seconds]
orivej has quit [Ping timeout: 244 seconds]
PlatonicForms14 has joined #picolisp
PlatonicForms14 has quit [Remote host closed the connection]
ryan_ford26 has joined #picolisp
bimawa8 has joined #picolisp
ryan_ford26 has quit [Remote host closed the connection]
bimawa8 has quit [Remote host closed the connection]
Guest3134 has joined #picolisp
Guest3134 has quit [Remote host closed the connection]
gothicmindfood1 has joined #picolisp
orivej has joined #picolisp
gothicmindfood1 has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 268 seconds]
<Regenaxer>
ret
subtle has joined #picolisp
subtle has quit [Remote host closed the connection]
IrishFBall323 has joined #picolisp
IrishFBall323 has quit [Remote host closed the connection]
Gugge4 has joined #picolisp
Gugge4 has quit [Remote host closed the connection]
hendrix18 has joined #picolisp
hendrix18 has quit [Remote host closed the connection]
f8l has quit [Quit: move]
chrfle24 has joined #picolisp
chrfle24 has quit [Remote host closed the connection]
mrpelotazo2 has joined #picolisp
Guest99095 has joined #picolisp
mrpelotazo2 has quit [Remote host closed the connection]
Guest99095 has quit [Remote host closed the connection]
vendull has joined #picolisp
vendull has quit [Remote host closed the connection]
Roamer` has joined #picolisp
Guest65695 has joined #picolisp
Roamer` has quit [Remote host closed the connection]
Guest65695 has quit [Remote host closed the connection]
<beneroth>
hi all
<beneroth>
aw-, nice!
<Regenaxer>
Hi beneroth!
<beneroth>
Hi Regenaxer !
veltas15 has joined #picolisp
veltas15 has quit [Remote host closed the connection]
<aw->
Regenaxer: "append" mode if the first character is "+")
<aw->
(err 'sym . prg)
<Regenaxer>
T
<Regenaxer>
hmm, not for 'err' perhaps
<aw->
if I do (err +Mysym (list ...)) should that work?
<aw->
or does it need to be (err "+/path/to/file" (list ...))
<Regenaxer>
I was wrong, it is supported
<Regenaxer>
Depends on the value of '+Mysym'
<Regenaxer>
"+/path/to/file" is good
<Regenaxer>
(err (pack "+" Myfile) too
<Regenaxer>
Same for (out "+file" ...
<aw->
hmm I tried (pack "+" Myfile) and that doesn't work