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]
pointfree has quit [Read error: Connection reset by peer]
pointfree has joined #picolisp
dexen has quit [Ping timeout: 256 seconds]
aw- has quit [Ping timeout: 260 seconds]
_whitelogger has joined #picolisp
Blukunfando has joined #picolisp
anddam has joined #picolisp
viaken has joined #picolisp
Regenaxer has joined #picolisp
patrixl has joined #picolisp
mario-goulart has joined #picolisp
tankf33der has joined #picolisp
Nistur has joined #picolisp
emacsomancer has joined #picolisp
casaca has joined #picolisp
michelp has joined #picolisp
Blue_flame has joined #picolisp
jibanes has joined #picolisp
shoshin has joined #picolisp
pointfree has joined #picolisp
DKordic has joined #picolisp
Guest84035 has joined #picolisp
inara has joined #picolisp
rick42 has joined #picolisp
ChanServ has joined #picolisp
lodsw has joined #picolisp
joebo has joined #picolisp
DerGuteMoritz has joined #picolisp
masak has joined #picolisp
_whitelogger has joined #picolisp
aw- has joined #picolisp
_whitelogger has joined #picolisp
orivej has joined #picolisp
rob_w has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
aw- has quit [Quit: Leaving.]
dexen has joined #picolisp
<Regenaxer> Hi dexen! Your code is not bad, but you are right in that polling is ugly (and very ineficient)
<Regenaxer> Instead of polling we use 'task's in PicoLisp
<Regenaxer> they sleep until data are available
<Regenaxer> I would recommend something like: http://ix.io/2ytq
<dexen> alright, in that case the 'task' docs could use an update, to indicate it uses / is similar to select(3)
<dexen> select(2)*
<Regenaxer> I think it mentiones select() / poll()
<Regenaxer> btw, I whink my post is wrong
<dexen> a
<Regenaxer> (unless *ContinueSock must be reversed
<Regenaxer> I find the whole thing strange, because we write *after* the other end closed
<dexen> ah right, the *Run docs mention select(2)
<Regenaxer> I would still recommend not to use eof as a signal
<Regenaxer> yeah, task is a front end to *Run
<Regenaxer> the docs are very minimal :)
<dexen> about that, managed to fix that. it required *a little* fix to the worker program, as you suggested yesterday
<Regenaxer> great
<dexen> thank you for all the help, it lets me move forward
<Regenaxer> welcome! :)
<Regenaxer> I like to fiddle with such stuff
<dexen> it's a toy project with toy problems -- which makes it a perfect fit for first steps
<Regenaxer> T
<dexen> like yesterday i've found i *really* don't understand the '<tag>' function's argument handling
<Regenaxer> a mixture of EXPR and FEXPR
<dexen> this works:(<tag> 'div NIL "aaa" "bbb")
<dexen> this doesn't:(<tag> 'div NIL (text "@1 @2" "ccc" "ddd"))
<Regenaxer> yes, because it uses htPrin internally
<Regenaxer> a bit strange but convenient
<Regenaxer> Atomic args are printed
<Regenaxer> Lists are evaluated
<Regenaxer> so you need (ht:Prin (text ...
<dexen> oh right now it makes sense. i examined the definition of '<tag>' but not of 'ht:Prin', presuming the later to be "merely a html encoder"
<Regenaxer> Convenient because for simple (constant) args you don't need explicitly to print
<Regenaxer> ht:Prin is just an encoder
<Regenaxer> but there is also htPrin
<Regenaxer> analog to what 'tag' does explicitly
<Regenaxer> looping the args
<Regenaxer> I'm just in the process of rewriting @lib/xhtml.l a little for pil21
<Regenaxer> Some changes due to the slightl changed 'eval' and 'run' behavior of pil21
aw- has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
<dexen> presently i'm using a mix of the @lib/xhtml.l, @lib/http.l and some custom functions
<dexen> coming from php background, i preferred to use pages-style project layoutdidn't want to *also* dive into application-style
<Regenaxer> yeah, that's fine. xhtml.l works stand-alone
<Regenaxer> (i.e. without @lib/form.l)
<dexen> the LLVM support for pil21 means runtime compilation instead of being interpreted? or something else perhaps?
<Regenaxer> no, it all stays the same
<dexen> great, great.
<Regenaxer> Just the implementation language changes from Asm to LLVM-IR
<Regenaxer> It is for better portability
<Regenaxer> and also more readable
<Regenaxer> Also, I wanted to clean up some quirks or features of the language which accumulated over the decades but turned out to be sub-optimal
orivej has joined #picolisp
<Regenaxer> (mapcar 'msg> does not work
<Regenaxer> Getting close. Already fixed several bugs in DB (ext?, wipe, mark) and in message passing
<Regenaxer> *All* apply functions don't work with messages
<Regenaxer> Fixed
<Regenaxer> hmm, no
orivej has quit [Ping timeout: 272 seconds]
<aw-> tankf33der: Hi. Do you have a picolisp implementation of ECDSA (P-256) ?
<tankf33der> nope.
<aw-> ok then i'll use your ed25519.l .. where can i find the tests for it?
<aw-> oh nevermind i found
<aw-> test-ed25519.l thanks
<Regenaxer> Hmm, for correct method calls I needed to pass one more argument internally to *every* built-in call
<Regenaxer> Theoretically this slows down pil21 a little more
<Regenaxer> But I seems only a tiny difference
<Regenaxer> In pil64 this came at no extra cost, as the value was already in a register
<Regenaxer> And I just saw that in pil32 such calls were not even supported!
<Regenaxer> I'm talking of computed calls
<Regenaxer> eg. if you have (val> Obj)
<Regenaxer> then in pil64 also this works: ((intern "val>") Obj)
<Regenaxer> or ((get 'A 'foo 'bar) Obj) if (get 'A 'foo 'bar) results in 'val>'
<Regenaxer> Anyway, released
<tankf33der> aw-: if non lisp is ok then you should consider to use monocypher library.
<dexen> (half joking) probably the best target would be the WLIV Transmeta Cruse platform. too bad it's not being developed anymore.
<dexen> VLIW* even
orivej has joined #picolisp
rob_w has quit [Quit: Leaving]
michelp has quit [Ping timeout: 240 seconds]
michelp has joined #picolisp
aw- has quit [Quit: Leaving.]
tankf33der has quit [Ping timeout: 240 seconds]
michelp has quit [Read error: Connection reset by peer]
tankf33der has joined #picolisp
michelp has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]