ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
mtsd has joined #picolisp
mtsd has quit [Client Quit]
mtsd has joined #picolisp
abel-normand has joined #picolisp
alexshendi has joined #picolisp
aw- has joined #picolisp
<cess11> stacksmith: my workflow stack is vim, tmux, pil on remote debian or local android with termux. it depends on the task exactly how i use these tools but i have no patience with ide:s or loading ti
<cess11> mes
<Regenaxer> cess11, exactly my line!
<cess11> :)
<Regenaxer> The only thing missing for me is a bigger tablet
<Regenaxer> 12 " or so
<mtsd> Good morning everyone
<Regenaxer> on the other hand, a 9 " one is easier to hold
<Regenaxer> Good morning mtsd!
<Regenaxer> Good morning all!
<Regenaxer> And one other problem: Tmux does not interact well with Termux
<Regenaxer> There is some bug in one of them
<Regenaxer> Ncurses applications (vim, vip, mutt) produce garbage on the screen
<Regenaxer> I hope this will be resolved
<cess11> right, noticed in mutt
<Regenaxer> fornwall, the developer of Termux, is investigating
<Regenaxer> Yes, in mutt it is especially happening often
<cess11> tmux is a bit wobbly, it breaks easily
<Regenaxer> I see problems only in Termux, not in other environments yet
<cess11> from w3m dumping weird encodings in it e.g.
<Regenaxer> You think it is tmux's fault?
<Regenaxer> In w3m I did not see any problem yet
<cess11> possibly, not sure but i have wrecked it under linux too
<Regenaxer> I see
<Regenaxer> a pity
<Regenaxer> tmux is so useful
<cess11> not as often though.
<cess11> T
<beneroth> Good morning all
<Regenaxer> Good morning beneroth
<mtsd> Good morning beneroth
karswell has quit [Read error: Connection reset by peer]
<cess11> i like to walk around while using my tablet so i think 10"+ might be a little too big
<Regenaxer> T
<Regenaxer> 10 is both too big and too small
<Regenaxer> I can hold 9 with one hand fully
<Regenaxer> My wife has 10, and it is too big for my hand
<cess11> i have a 10.1" that is a little unwieldy but usable
<cess11> 5.5" is nice for commuting, allows for a terminal and small penti circles
<Regenaxer> yes, fits into a pocket
<Regenaxer> What is extremely useful for tmux under penti is that ^B is a single touch
<Regenaxer> as ^B is the default command key in tmux
<cess11> yes
<cess11> very convenient compared to the usual software keyboards
<cess11> dangerous though
<cess11> but worth it
<Regenaxer> yep
* beneroth is currently a bit annoyed that F+h (help) -> do correct input (e.g. ",") -> F is still active until one touches reset
<Regenaxer> But you can type the desired key at this point too
<Regenaxer> No need for reset
<beneroth> yes, but after I typed the desired key I can't continue because F is still active
<beneroth> so then it gets interpreted as an F+combination
<Regenaxer> only if you did F-lock
<beneroth> ah
<beneroth> maybe I did that
<Regenaxer> yes, ring-middle
<Regenaxer> middle-ring is no problem then
<beneroth> ah I always do ring-middle because so far it was easier to get the timing right
<beneroth> I see
<beneroth> thanks!
<Regenaxer> Maybe we should start an IRC channel #penti ?
<beneroth> so as always, its fault of the user xD
<Regenaxer> :)
<beneroth> maybe, when it has more users. for now #picolisp is fine I guess ^^
<Regenaxer> yeah
<Regenaxer> tedious to monitor more channels
<beneroth> yeah, and I would expect a high overlap of picolispers and penti-users...
<beneroth> we can still fork a channel once we discuss here penti more often than picolisp :P
<Regenaxer> not sure, the penti downloads are slowly increasing, without any wide announcement
<Regenaxer> yep
<beneroth> cool
<beneroth> well some will find it on google play, too
<Regenaxer> not really many though
<beneroth> and others are probably picolispers like me who heard about it via picolisp, but only now came around to get into it
<Regenaxer> I don't think anybody finds it. Must be mouth propaganda
<beneroth> well when you search for keyboard you can find it :)
<Regenaxer> hmm, there are very many ...
<beneroth> T, but not many chorded ones.
<Regenaxer> true
<cess11> beneroth: same with other modes, lock or next char depending on direction, if you haven't found out
<beneroth> I found out for Shift
<beneroth> thx
<cess11> works the same with P and D too
<cess11> i think P is the one i lock the most, things like '(@A "#" and the like are kind of common in pil
<Regenaxer> and D of course, digits , . etc
<Regenaxer> - + too
<Regenaxer> After some time I got into my unconciousness when to lock and when not
<Regenaxer> For just 2 chars it is par
<cess11> one can put a S or D on top of the P lock and do a one char from another mode, most i use in D can be repeated instead of of lock
* beneroth doesn't yet programm with penti
<Regenaxer> and relying on that ESC and RET resets it
<Regenaxer> yeah
<Regenaxer> also combinations of C and P, eg. ^\
<Regenaxer> for kill
<cess11> ah, yes
alexshendi has quit [Ping timeout: 240 seconds]
<Regenaxer> or ^[ as is needed in vi
<Regenaxer> no, I meant ^]
<Regenaxer> ^[ is ESC, that is easier
<cess11> beneroth: it's nice, fits well and with tab completion it's fairly fast
<Regenaxer> ah, and ^\ is not sigkill, but sigquit
<beneroth> cess11, how do you have tab completion?
<cess11> i do most of my programming with penti now
<beneroth> Regenaxer, is the linux penti driver still available (and working) ?
<Regenaxer> I think it was only in PilOS?
<Regenaxer> ah
<cess11> beneroth: '+ mode in repl and index-long finger arpeggio
<Regenaxer> no, I did not maintain
<Regenaxer> though I still use it on my notebook
<Regenaxer> But some new features are not supported in the linux driver
<Regenaxer> eg. the second and third repeat key
<Regenaxer> I think the third repeat key is not even documented
<beneroth> wut? second and 3. repeat key? no idea
<Regenaxer> sorry ;)
<beneroth> well I would be interested in the linux version :)
<Regenaxer> The second is arpeggio thumb + repeat
<Regenaxer> and the third is index + repeat
<beneroth> second repeats.. a whole word? or what?
<beneroth> ah
<beneroth> second last input?
<Regenaxer> The linux version is still on the download link
<beneroth> like @, @@ and @@@ ?
<Regenaxer> yes, similar
<beneroth> okay
<cess11> ah, nice
<cess11> didn't know about those
<Regenaxer> second and third are very useful in vi
<Regenaxer> n + dot for example for repeated changes
<Regenaxer> or j, l, dot
<Regenaxer> such sequences
<cess11> T
<beneroth> Regenaxer, thx
<Regenaxer> The problem with the linux driver is that it needs changes for each new kernel
<Regenaxer> So I kind of gave up
<cess11> quite nice to have a small stack like that
<Regenaxer> and I use the notebook so seldom
<beneroth> yeah I never compiled the kernel manually
<beneroth> (or a module)
<Regenaxer> yeah, tedious
<Regenaxer> I'm still searching for a user-space way
<beneroth> but I have a nice keypad on my logitech keyboard and I never got into normal keypad usage
<Regenaxer> rob_w promised to investigate
<Regenaxer> But I found a way to drive PCs or notebooks with my tablet as a keyboard
<beneroth> yeah I know. nice setup.
<cess11> bsd is probably easier to support, slower sounder development compared to linux
<Regenaxer> I see. Does it have a way to support a keyboard in user-space-only?
<cess11> not sure, would guess tankfeeder knows
<tankfeeder> i dont know.
<Regenaxer> Hi tankfeeder
<tankfeeder> hi all
<tankfeeder> accu is slow.
<Regenaxer> same problem?
<tankfeeder> yea
<tankfeeder> victor hugo poem file is 3MB size
<Regenaxer> T, too many words :)
<Regenaxer> But accu is simpler than idx
<beneroth> you do it with one big list or with batches (multiple accu's) ?
<aw-> hi all
<Regenaxer> Hi aw-
<aw-> what is 'kaputtgegangen' ?
<Regenaxer> broken
<aw-> oh ok
<aw-> thanks!
<Regenaxer> gone broken to be exact
<cess11> interesting problem
rgrau has joined #picolisp
<cess11> maybe intern words as symbols in a particular namespace and update frequency on the symbols in batches instead?
_whitelogger has quit [K-Lined]
_whitelogger has joined #picolisp
<Regenaxer> The trick is to completely isolate the namespace
<Regenaxer> this works:
<Regenaxer> : (load) (symbols 'word) if + car
<Regenaxer> then ENTER
<Regenaxer> Now 'word' contains these 3 local symbols
<Regenaxer> no conflict
<Regenaxer> : word
<Regenaxer> -> (("if" ("+") "car"))
<Regenaxer> The (load) is not needed if the code is in its own file
<Regenaxer> So the thing needs some namespace juggling
<Regenaxer> nothing for the faint-at-heart :)
<cess11> nice
<cess11> does pilog have a version of prolog's listing?
<tankfeeder> also there words:
<tankfeeder> world;--in
<tankfeeder> light--are unsolved;
<tankfeeder> so in addition i have to parse all of them
<Regenaxer> cess11, what does Prolog's listing?
<cess11> you mean there's junk in the words in the source data?
<cess11> Regenaxer: lists the entire or relevant parts of the database
<Regenaxer> ah, 'rules' iirc
<cess11> sort of similar to 'what and 'who
<Regenaxer> T
<cess11> thanks, i'll look into it
<Regenaxer> Similar to 'pp' I would say
<cess11> yes, it too
<cess11> it's a nice tool in interactive use
<Regenaxer> yeah
<Regenaxer> and the output can be 'read' in again
<Regenaxer> if redirected to a file
<cess11> i'm thinking it might be wortwhile to write a trivial pilog to prolog
<Regenaxer> Interesting idea indeed
<cess11> parser for writing models for compilation
<Regenaxer> So rather the opposite direction? Prolog -> Pilog?
<cess11> no, rather for export to prolog code so it can be used to make a binary
<Regenaxer> cool
<cess11> the other way is probably useful too
<Regenaxer> Such a binary excludes embedded Lisp calls though
<cess11> i was thinking about modeling for analysis or world modeling, like translating network data structures in lisp and pilog into basic prolog
<cess11> yes, they need to be exempt or handled somehow
<Regenaxer> If the target Prolog could execute embedded scripts ...
<cess11> swipl supports PrologScript
<Regenaxer> I thought more of calling a Pil script
<cess11> right, my bad
<Regenaxer> not a good idea anyway
<Regenaxer> a script is too distant
<Regenaxer> does not have the runtime environment of Prolog
<cess11> i think it can be done but i'm unsure
<cess11> for example, a program could be described by a network of decision nodes and rules defined with 'be and run with a tree recursion function, and it would be fairly easy to translate the 'be:s into prolog code which could be used with a port of the tree-recur-function
<cess11> i think it holds some potential for modeling analyses and knowledge quickly but have swipl or yap optimise and run them
abel-normand has joined #picolisp
rob_w has joined #picolisp
aw- has quit [Quit: Leaving.]
abel-normand has quit [Ping timeout: 248 seconds]
alexshendi has joined #picolisp
Kev1n has joined #picolisp
mtsd has quit [Remote host closed the connection]
alexshendi_ has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
alexshendi_ is now known as alexshendi
Kev1n has quit [Remote host closed the connection]
<tankfeeder> Misérables
<tankfeeder> "Mis鲡bles"
abel-normand has joined #picolisp
<tankfeeder> first i see in editor
<tankfeeder> last is pil println of file
<tankfeeder> this UTF8 or something, right ?
<Regenaxer> The text is *not* UTF-8 then
<tankfeeder> aaa
<Regenaxer> it takes 3 bytes and makes 1 kanji of it
<tankfeeder> i should convert then, make sense now
<Regenaxer> yes, iconv is good for that
<tankfeeder> pil only :)
<Regenaxer> oh, with (rd 1) ?
* beneroth sees a é in first and kanji in second
<cess11> same
<tankfeeder> i wrote parse to read words in file
<tankfeeder> like \w+ in python
<cess11> i get a lot of kanji when i pull in latin1/svlatin encoding into pil
alexshendi has quit [Read error: No route to host]
<Regenaxer> So (make (while (rd 1) (link (char @)))) should do?
<tankfeeder> all above is ok
<tankfeeder> i've create a monster
<Regenaxer> oh
alexshendi has joined #picolisp
<Regenaxer> hmm, 'char' works only if the input is UTF-8
<Regenaxer> I think you need 'rd'
<tankfeeder> i will try then
<tankfeeder> too
<tankfeeder> all this for word count problem on rosetta
<Regenaxer> Isn't the word delimiter simply white space?
<Regenaxer> ie 'sp?'?
<Regenaxer> and upper case is not only A - Z
<tankfeeder> i need understand mike,
<tankfeeder> mike;
<Regenaxer> how about Ä Ö Ü À Á etc
<Regenaxer> like a,b as 2 words?
<tankfeeder> yeap
<tankfeeder> "Good-day, and farewell, doctor," said Jean Valjean. "Here are my poor
<tankfeeder> children."
<Regenaxer> (de *Delim " \t\r\n.,:;....")
<Regenaxer> then sub?
<tankfeeder> yeah
<Regenaxer> This example would still work wit sp?
<Regenaxer> ignoring punctuation
<tankfeeder> unknown
<tankfeeder> word count on this file
alexshendi has quit [Ping timeout: 248 seconds]
<tankfeeder> away in 10mins
<Regenaxer> ok
<Regenaxer> And upper-case must be counted?
<tankfeeder> all words in lowercase
<tankfeeder> convert and count
<Regenaxer> this can't be done with 'lowc' in the end?
<tankfeeder> i will try next week
<Regenaxer> ok
<Regenaxer> great
<Regenaxer> Should be possible to make it simpler
<Regenaxer> So UTF-8 is not an issue?
<Regenaxer> How about cyrillic input?
<tankfeeder> :)
<Regenaxer> has also upper/lower
<Regenaxer> : (uppc "а ты на испытательном")
<Regenaxer> -> "А ТЫ НА ИСПЫТАТЕЛЬНОМ"
<tankfeeder> yea, perfect
<Regenaxer> :)
<Regenaxer> I stole from nihirash's tweet ;)
<Regenaxer> or:
<Regenaxer> : (uppc "@nihirash А что на Highload народ делает?")
<Regenaxer> -> "@NIHIRASH А ЧТО НА HIGHLOAD НАРОД ДЕЛАЕТ?"
<Regenaxer> looks correct
<tankfeeder> yeap
alexshendi has joined #picolisp
<tankfeeder> is Delim* buildin? There is no reference to it
alexshendi has quit [Ping timeout: 240 seconds]
alexshendi has joined #picolisp
<tankfeeder> Regenaxer: ping ^^^
<Regenaxer> ret
<Regenaxer> No, it is in various forms in lib/led.l lib/vip.l src64/glob.l etc.
<Regenaxer> It depends on what is a delimiter in a given contex
<Regenaxer> t
<tankfeeder> i see
<Regenaxer> In the editors it is just a function 'delim?'
<Regenaxer> also in src/io.c
<Regenaxer> static char Delim[] = " \t\n\r\"'(),[]`~{}";
alexshendi has quit [Ping timeout: 252 seconds]
mtsd has joined #picolisp
<m_mans> Hi again
<Regenaxer> Hi m_mans!
<m_mans> I'm going to be fulltime picolisper
<Regenaxer> Wow, cool! Good news!
<Regenaxer> How come?
<m_mans> My friend from other city invited me
<Regenaxer> He has a company? Or freelance?
<m_mans> now he is a manager in one small company there
<m_mans> not freelance
<m_mans> so I will ask more question here ;)
<m_mans> questions
<Regenaxer> Good, any time :)
<m_mans> Ok, bb all
<Regenaxer> See you!
<Regenaxer> Have a nice weekend!
mtsd has quit [Remote host closed the connection]
rgrau has quit [Ping timeout: 240 seconds]
kindergip has quit [Quit: Why is the alphabet in that order? Is it because of that song?]
<tankfeeder> m_mans are lucky
<tankfeeder> i wonder if code will be open source :)
rob_w has quit [Ping timeout: 240 seconds]
abel-normand has quit [Ping timeout: 255 seconds]
<stacksmith> Hello again...
<stacksmith> cess11: thanks for chiming in
<stacksmith> Regenaxer: I finally got something working with tmux, tslime.vim and vim that resembles a possibly working environment. tslime name initially scared me as slime is a very large apparatus; tslime however is pretty minimal, just a few commands to send a form to another tmux frame. I don't want an IDE, but it's nice to compile a form at a time. How do you do it?
<stacksmith> I mean in terms of compilation. Do you use small files and compile entire files?