erkin has quit [Remote host closed the connection]
razzy`` has joined #picolisp
razzy` has quit [Ping timeout: 252 seconds]
alexshendi has quit [Read error: Connection reset by peer]
<Regenaxer>
Also for the records: I forgot the main disadvantage of 'not' yesterday. It destroys the value of '@'!
<Regenaxer>
Instead of (until (read) (doSomething)) (println @)
<Regenaxer>
you have to write (use Val (while (not (setq Val (read)) (doSomething))) (println @))
<Regenaxer>
As freemint correctly statet, PicoLisp is a very pragmatic language
<Regenaxer>
Good is what makes programming easier and shorter, not fundamentalism or ideology
_whitelogger has joined #picolisp
razzy has joined #picolisp
<aw->
hi Regenaxer
<Regenaxer>
Hi aw-
<aw->
a lot of people like to enjoy talking about PicoLisp and coding theory, not many people are actually coding it.
<Regenaxer>
Sadly, yes :)
<Regenaxer>
razzy: I wrote more about 'not'. Check the log
<aw->
not worth arguing with them
<Regenaxer>
Perhaps
<Regenaxer>
The old conflict between theory and praxis
orivej has joined #picolisp
<razzy>
aw-: i agree, some issues are not worth arguing :]
<Regenaxer>
razzy, but you do
<razzy>
was worth it to me. i have some weird angles to it.
<Regenaxer>
razzy: Did you read what I wrote about 'not' and '@'? I think it is essential, and you don't have programming experience to see its value
<Regenaxer>
Experience in pil, I mean
<razzy>
Regenaxer: now i read it. could i used @@ for return value 2 function before?
rob_w has joined #picolisp
<Regenaxer>
@@ is different
<Regenaxer>
only used as a second return value by a few functions
<razzy>
also, there are many contextual uses of @. i have no problem, as long there is good pattern to contextual uses
<Regenaxer>
and the REPL is different again, keeps the last three *printed* results
<Regenaxer>
Yes, "@" is rather overloaded
<razzy>
that is the term
<Regenaxer>
this is confusing indeed
<Regenaxer>
there is a wiki article, "the many uses of @" or so
<razzy>
reading it
<Regenaxer>
So this @ issue is indeed confusing, more than the functions which are rather separate from each other
<Regenaxer>
and well-defined
<razzy>
there are some good use to having some magical pointer, as long as there is some pattern to it
<razzy>
Regenaxer: so i could not use @@ @@@ in normal picolisp code?
<razzy>
that would have so many uses
<Regenaxer>
You can, but it is up to you
<razzy>
in streaming
<Regenaxer>
Yes, it would be nice, but too expensive
<razzy>
Regenaxer: imho the whole point of programming is to leave work to computer
<Regenaxer>
sure, but we don't want to waste time in *every* flow call for something used only sometimes
<Regenaxer>
It is a delicate balance of usefulness and efficiency
<Regenaxer>
Already '@' as it is introduces quite some runtime overhead
<Regenaxer>
But I found its usefulness is bigger than its cost
<razzy>
you mean remembering last, second last, third last sexp output?
<Regenaxer>
Without it, you need 'let' much more often
<Regenaxer>
and 'let' is an additional function call being much more expensive
<Regenaxer>
I talk only about the single '@'
<Regenaxer>
Having more would involve even more bookkeeping
<Regenaxer>
and is needed seldom
<razzy>
i mean remembering them is kind of build in yes?
<Regenaxer>
So 'let' is better in such cases
<Regenaxer>
ye
<Regenaxer>
s
<Regenaxer>
They need to be bound in every function
<Regenaxer>
and shifted in every flow function
<razzy>
you call calling it expensive?
<Regenaxer>
T
<Regenaxer>
Also the current way is rather expensive, that's why other langs don't do it
<razzy>
Regenaxer: for master user it is too expensive to call @@. for beginer or occasional user is too expensive to use big library of basic functions. it is expensive when understanding forein code and expensive when discovering functionality.
<razzy>
but, i understand ussage and need for unless now
<razzy>
and it is complementary, so with proper doc it should be ok in far future
<Regenaxer>
I don't think having @@ and @@@ in flow functions would be easy to use
<Regenaxer>
not at all
<Regenaxer>
the user has to keep track mentally of this queue of values
mtsd has joined #picolisp
<Regenaxer>
Even in the REPL where it is available with another meaning, do you use it so often?
<Regenaxer>
Anyway, enough theorizing
<Regenaxer>
Write some programs!
<razzy>
amen
<Regenaxer>
At least I have to get some work done
<mtsd>
Good morning all
<razzy>
i do not understand picolisp flow functions well
<tankf33der>
razzy: which flow ?
<Regenaxer>
Good morning mtsd, tankf33der!
<razzy>
tankf33der: i was trying to understand streams. it is ok now when using (open) (in) (out) (close) in global streams. ussage of local streams in function is mystery to me. did not found pattern there
<razzy>
tankf33der: this i would use when merging and processing multiple streams (let V (in "input.txt" (till))
<razzy>
(out "output.txt" (prin V)) ) but it gives me creeps
<tankf33der>
razzy: but you wrote about flow functions.
<tankf33der>
not input-output.
<razzy>
all flow functions store result of controlling expression in output yes?
<razzy>
@ or @@ or @@@
<Regenaxer>
No, only in @
<razzy>
arrrgh,.. my understanding is very poor
<razzy>
:D
<tankf33der>
for me flow functions are functions in list "Control Flow"
Texou29 has quit [Remote host closed the connection]
<razzy>
any of you smoking?
<razzy>
because with picolisp, i will start :D
<freemint>
aw- T
<freemint>
Good morning
<freemint>
razzy not that i am aware. But many speak german - that is comparable :)
<razzy>
yeah, german lisp :D
<Regenaxer>
brb
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
CurryWurst16 has joined #picolisp
<razzy>
now i get how (not) destroy @ in (while (not (read)) )
CurryWurst16 has quit [Remote host closed the connection]
beneroth has joined #picolisp
<Regenaxer>
beneroth, concerning our discussion yesterday:'print' *does* print the namespace, if it is in the search orderSo the problem is not soo very big as we thought yesterday
<Regenaxer>
beneroth, concerning our discussion yesterday:'print' *does* print the namespace, if it is in the search orderSo the problem is not soo very big as we thought yesterday
<Regenaxer>
beneroth, concerning our discussion yesterday:'print' *does* print the namespace, if it is in the search orderSo the problem is not soo very big as we thought yesterday
<beneroth>
hi all
<beneroth>
hi Regenaxer :)
<beneroth>
Regenaxer, ok, maybe my pil version is too old?
<beneroth>
Regenaxer, it printed namespaces symbols like transient symbols, without any namespace prefix
<beneroth>
I'm on 17.12.30
<Regenaxer>
Hi beneroth!
<Regenaxer>
Ha, my ircbot fired! :) First time
<beneroth>
ah!
<beneroth>
wtf?! :D
<beneroth>
does it turn irc into async for you? :)
<Regenaxer>
Just a daemon
<Regenaxer>
"version is too old" I don't think so. It was from early on iirc
<Regenaxer>
The namespace must be in the search order though
ubLIX has joined #picolisp
<beneroth>
Regenaxer, ah right
<Regenaxer>
Mom, telephone
<beneroth>
I'll check
<beneroth>
kk
<Regenaxer>
done
<Regenaxer>
brb
Regenaxer has left #picolisp [#picolisp]
Regenaxer has joined #picolisp
ubLIX has quit [Quit: ubLIX]
<aw->
beneroth: hey, welcome back
Checking has joined #picolisp
Checking has quit [Remote host closed the connection]
freemint has quit [Ping timeout: 250 seconds]
Silversword has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
Silversword has quit [Remote host closed the connection]
<beneroth>
aw-, thanks! :D
<beneroth>
My main PC is finally working again (motherboard was malfunctioning out of nowhere)