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
razzy has quit [Ping timeout: 250 seconds]
f8l has quit [Ping timeout: 246 seconds]
ubLIX has quit [Quit: ubLIX]
alexshendi has quit [Ping timeout: 252 seconds]
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
freemint has joined #picolisp
<freemint> Good Morning
<aw-> hey freemint
<freemint> aw-, what editor did you use?
<aw-> depends what context
<freemint> for writing code
<aw-> on my Mac i use SublimeText, on Linux Desktop i use Pluma, on Linux cmdline I use nano/vi
<freemint> ok i started with emacs today and am quiet happy
<freemint> i am looking for resources for picolisp in emacs
<aw-> oh yeah, i heard many good things about it
<aw-> emacs gets better the more you use it
<freemint> The more you mod it
<aw-> there's def other people here who use emacs
<aw-> i think rick42
<freemint> I wait i was just curious whether you were one
<aw-> and i know i saw some things about picolisp+emacs somewhere.. maybe mailing list
<aw-> no no i like my point & click text editors ;)
<freemint> Does anybody have an idea what
<freemint> ;; pil is more modern than plmod
<freemint> (setq picolisp-program-name "<path-to>/picoLisp/plmod")
<freemint> could be for?
razzy has joined #picolisp
rob_w has joined #picolisp
<freemint> rob_w, what editor did you use for programming?
<beneroth> freemint, I use emacs with the picolisp-mode coming with picolisp and paredit. you should try out paredit.
<beneroth> have a nice day, I now go away :)
<beneroth> bbl
<rob_w> freemint: i use geany on my linux mint machines ..
<rob_w> but i am doing very little lisp these days .. mainly C and jscript ( which fucks me currently hard and i hate it )
<beneroth> rob_w, maybe you can use clojurescript, or elm or purescript instead of jscript? :)
<beneroth> rly away now. see ya
<rob_w> beneroth: i just finally realized my issue .. my recieve buffer is a fixed size and chrome`s answer was too big .. firefox barely fit inside my buffer
<rob_w> hence the fucking size of the header of the browser made the difference .
<rob_w> debugging such gives me brain attackes ( server vs client vs host code vs client code )
<freemint> beneroth, yhea picolisp mode wokrs great
<freemint> I was really happy when i could call Picolisp inside ORG-Mode
<razzy> freemint: how did you?
<freemint> i followed the orgmode link i posted and removed all references to tsm from the configuration since my picolisp distro had tsm.el
<freemint> razzy, does that answer your question
<freemint> i also added the melpa distro and installled paredit and picolisp mode from there
rob_w has quit [Remote host closed the connection]
<Regenaxer> Yeah, TSM is all revoved
orivej_ has quit [Ping timeout: 246 seconds]
ubLIX has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
<razzy> freemint, you left. are you talking about org-mode-babel ?
<razzy> what revoved means?
mtsd has joined #picolisp
freemint has joined #picolisp
freemint has quit [Ping timeout: 258 seconds]
mtsd has quit [Quit: leaving]
<wuehlmaus> is there a function that returns the number of arguments of a function?
<wuehlmaus> or a var?
<wuehlmaus> hmm, (length (argv)) ?
<Regenaxer> Now exactly, it is (rest), but only for functions with variable arguments
<Regenaxer> (argv) are the command line arguments
<Regenaxer> When do you need this number?
<wuehlmaus> to do a function that reacts to different invocations?\
<Regenaxer> yes, but that does never need the *number*
<Regenaxer> You can do (while (args) ... (next) ...) or (while (next) ...
<Regenaxer> In general, using numbers to control flow is seldom in Lisp
<Regenaxer> there are better ways like mapping
<wuehlmaus> okay old habits ...
<Regenaxer> I'm always suspicious if I ever need to take the 'length' of a List, smells like something is wrong
<Regenaxer> (though sometimes it is indeed necessary of course)
mtsd has joined #picolisp
aw- has quit [Quit: Leaving.]
mtsd has quit [Quit: Leaving]
ubLIX has quit [Quit: ubLIX]
orivej has joined #picolisp
<razzy> i often need end of list :]. and i deeply wish for skiplist :]
jibanes has quit [Ping timeout: 255 seconds]
<Regenaxer> Where/when do you "often" need end of list?
<Regenaxer> You mean access to the last cell, right?
jibanes has joined #picolisp
<razzy> when i sort something, i often like to work with "best" results, and "worst" results. yes, last cell, or bottom of list. now i remember (length) so i do not do it often. and do nth, head, tail.
<Regenaxer> Perhaps 'fifo' is to recommend here
<Regenaxer> In general an 'idx' will do
freemint has joined #picolisp
<razzy> those are weird structures i did not "get" yet :] thx :]
<Regenaxer> They are extremely simple structures: 'fifo' maintains a circular list, and 'idx' an unbalanced binary tree
<razzy> i think i will have problems using advantages of fifo with sorting
<Regenaxer> Depends what you do
<Regenaxer> I would start to worry if I had a concrete problem, not with fuzzy generalizations
<Regenaxer> If you want the best and worst values, a single-pass sweep over the list is the most efficient way
<Regenaxer> Sorting is huge overkill then
<Regenaxer> or complicated data structures
<razzy> hmm, if i wanted to work with (maxi) from the list. like (pop (maxi eval a))
<razzy> or get adr on (maxi eval a) so i could delete, add something near it
<Regenaxer> Yeah, 'maxi' is not useful for that. Returns the item, not the cell
<Regenaxer> 'seek' is most general
<Regenaxer> If you want the max AND then min, 'mapc' or 'for' is best perhaps
<Regenaxer> And your 'pop' scenario is handled with 'map'
<razzy> i agree that ussually you work only with one item from list, so sort is overkill
<razzy> sort is actually usefull if you use multiple "processes" or multiple "users" :D
DKordic has joined #picolisp
freemint has quit [Ping timeout: 252 seconds]
<wuehlmaus> is there some autoload mechanism in picolisp? say i have some functions that i always want in my REPL.... ?
<razzy> wuehlmaus: do you have your favourite?
<razzy> how do i make my picolisp beep
<razzy> when (beep) does nothing
<Regenaxer> I start it with a shell one-liner
<Regenaxer> 'p' is the name
<Regenaxer> exec /home/abu/pico/pil @env.l @lib/http.l @lib/xhtml.l @lib/form.l @lib/too.l "$@" +
<wuehlmaus> you know that part when you ask a question and have the internal answer to the question at once .....
<Regenaxer> @env.l loads some stuff
<Regenaxer> razzy, 'beep' emits ^G
<Regenaxer> So it is your terminal
<Regenaxer> In Termux you can do termux-notification --id Alarm --content Alarm --sound
<Regenaxer> In fact, my @env.l currently only does (load "@lib/vip.l")
<Regenaxer> wuehlmaus, or what did you mean with "autoload mechanism"?
<razzy> i will run some cmd
<Regenaxer> The same 'p' on my tablet btw is:
<Regenaxer> exec /data/data/com.termux/files/home/pico/pil @env.l @lib/http.l @lib/xhtml.l @lib/form.l @lib/too.l "$@" +
<DKordic> Regenaxer: is, for example, "ht:print" just in C version or also in asm version?
<Regenaxer> 'ht:Prin' to be exact
<Regenaxer> it is is asm on pil64
<DKordic> Yes, thank You.
<wuehlmaus> it's what i wanted
<wuehlmaus> and my inner self told me about the answer already :-)
<Regenaxer> good ☺
<wuehlmaus> i am not so sure about the @ mechanism, is there a path that picolisp uses that i can edit?
<Regenaxer> the @ preceding a path name always points to the installation directory
<Regenaxer> it is determined by the first file the 'picolisp' binary loads
<Regenaxer> Normally (or always) this is "lib.l"
<Regenaxer> So how "@" expands depends on how you *call* picolisp
<Regenaxer> eg. ../../picoLisp/pil +
<Regenaxer> then @ is "../../picoLisp"
<Regenaxer> And calling the *global* pil, it gives "/usr/lib/picolisp/"
<Regenaxer> (eg in Debian)
<Regenaxer> In Termux for example it expands to:
<Regenaxer> "/data/data/com.termux/files/usr/lib/picolisp/"
<DKordic> Regenaxer: Should "path" be linked from "(doc '@)"?
<Regenaxer> Indeed, you mean a "see also", right?
<DKordic> Yes.
<Regenaxer> Well, it is - indirectly via (see @ Result)
<wuehlmaus> i c
alexshendi has joined #picolisp
alexshendi has quit [Read error: No route to host]
alexshendi has joined #picolisp
alexshendi2 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi2 has quit [Client Quit]
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
freemint has joined #picolisp
ubLIX has joined #picolisp
jibanes has quit [Ping timeout: 252 seconds]
jibanes has joined #picolisp
mtsd has joined #picolisp
<freemint> Regenaxer, what happened with TSM?
<Regenaxer> freemint, I removed it. Nobody used it (including me ;)
<Regenaxer> And it was complicated internally
<razzy> Regenaxer: TSM caused me trouble. but i generaly like hiding code into collapseable brackets
<Regenaxer> I wanted to support double-width chars in the line editor, and TSM was in the way
<Regenaxer> razzy, how did it cause trouble?
f8l has joined #picolisp
<razzy> TSM hides "" in code right? transient symbol markup?
<Regenaxer> correct
<Regenaxer> and underlined instead
<razzy> i was confused when it hidden it :]
<Regenaxer> yeah, it is kind of unusual
<Regenaxer> was not a good idea perhaps
<razzy> emacs had no underline, just colour change
<Regenaxer> I still use underlines in strings in Vip
<Regenaxer> but no removal of quotes
<Regenaxer> just to see if strings are closed
<razzy> i think it is great idea for heavy users, who personalise view. something like "glasses-mode" in emacs
<razzy> i can imagine that you change names of functions, and do many things. but the picolisp code stays the same for others to cooperate on
<freemint> Ahh i recall thanks
<freemint> Regenaxer, i forgot what TSM was you made me recall
<Regenaxer> hmm?
<freemint> You answered my question excellently
<Regenaxer> You recalled something but forgot it immediately?
<Regenaxer> The double-width?
<freemint> I forgot that TSM stood for that obscure feauture. I had to setup emacs+picolisp and my resources still mentioned TSM and i had to comment these parts out. I was curious why the files were gone and did not recall that they were likely related to the obscure tsm feature
<Regenaxer> If it still mentioned it in that older version, then probably @lib/tsm.l was also still there
<freemint> I used a tutorial to add picolisp to orgmode which was not shipped with the picolisp distribution i used but a website
<Regenaxer> from Thorsten Jolitz?
<Regenaxer> Not sure
<Regenaxer> looks like Thorsten though
<freemint> maybe an old version of his work
<Regenaxer> perhaps
<freemint> I am overall quiet happy with emacs, the jump was less scary than i tought it would be and i was getting productive with it faster than with vim
freemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
<razzy> freemint: i would like to have working babel :] is it hard?
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
mtsd has quit [Quit: leaving]
<freemint> razzy i am not sure what babel is. But i can use stuff like:
<freemint> #+BEGIN_SRC picolisp :results output
<freemint> #+END_SRC
<freemint> (print (apply + (range 1 100)))
<freemint> #+RESULTS:
<freemint> : 5050
alexshendi has joined #picolisp
alexshendi2 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi has joined #picolisp
alexshendi2 has quit [Read error: Connection reset by peer]
alexshendi2 has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi2 has quit [Read error: Connection reset by peer]
<razzy> freemint: core idea behind babel is, that you take multiple languages, and stitch them together
<razzy> picolisp, java, python. use what library you see fit
<razzy> and somehow use previous results into next computation
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
<freemint> I think i can do that
<freemint> it was not very hard
<razzy> could we have some #picolispcafe for not-so-serious stuff? i would like to post some music from time to time, talk about emacs-babel :]
freemint has quit [Ping timeout: 252 seconds]
freemint has joined #picolisp
<freemint> razzy, let me be honest
<freemint> i am not interest in you cat pictures or in what music you listen. This community is united here around picolisp. We sometimes really go off topic and that's fine if there is no push back, however if there is push back we usually stop/choose a way to communicate in a way that does not disturb other members.
<freemint> i would say that that is our policy on offtopic conversation
<freemint> If what you intent to do does not fit with it you are free to fork of your community (like #picolispcafe ) you are free to do so. You can invite me over there but as i am not interested in getting links to cat pictures i will likely not join.
<freemint> Coversation about org-mode, emacs with application to picolisp i would consider fine and i see no reason to fork those off
<freemint> You can create #picolispcafe and post your cat pictures there but please do not try to split the community. We are small enough as we are.
<beneroth> I'm proud of you, freemint
<beneroth> I fully agree
<beneroth> hi all :)
<freemint> If you want to talk with me about babel open a query/(1 on 1 chat) and will talk with you if i feel like talking with you. If you want to talk with multiple people about babel join a babel specific channel. But most of us won't join a community so we can cater to your personal wims. If we do not want cat pcitures in the picolisp channel it likely because we do not want cat pictures via IRC.
<beneroth> T
<freemint> If you want to talk with me about babel open a query/(1 on 1 chat) and will talk with you if i feel like talking with you. If you want to talk with multiple people about babel join a babel specific channel. But most of us won't join a community so we can cater to your personal wims. If we do not want cat pcitures in the picolisp channel it likely because we do not want cat pictures via IRC. If you feel like some of your
<freemint> behavior is unwelcome by this channel and you want to move us all over in to another channel, please consider that i might be that you are not only posting to the wrong channel but communicating the wrong kind of content to the wrong kind of community. This fact will not change when we switch #picolispcafe
<freemint> Hi beneroth
<freemint> I just spent 20 minutes of my life trying to explain why #picolispcafe might not solve your problems with the community and how it would harm the community. I do not claim that i am not a time thief either but i hope that people kept me around with me because i showed signs of improvment (I was very young when i first started with picolisp). From the behavior of you today i am not sure that you improved at all and posting cat
<freemint> pictures is a new low on this channel i think.
<beneroth> well, most active users here will probably never ever view them as they use text browsers :P
* freemint gives beneroth a deadly look
<beneroth> pictures in text chat is bloat.
<beneroth> we hate bloat.
<beneroth> simple as that :)
<freemint> I won't say all pictures are. Something can not be represented in text. Like complex cyclic list structures (which are actally graphs). But cat pictures are bloat as long as they are not relevant ot the topic at hand
<beneroth> T
aw- has joined #picolisp