beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
razzy has joined #picolisp
razzy has quit [Ping timeout: 246 seconds]
razzy has joined #picolisp
aw- has quit [Ping timeout: 246 seconds]
<razzy> Good day to everyone! :)
<abu[7]> Ahoy
<razzy> abu[7]: how do you recognise users with pil application? can you recognise sign in windows user?
<razzy> abu[7]: I am thinking maybe shortcut on desktop with unique link? (username and password excluded)
<abu[7]> Define "recognize"
<abu[7]> Yes, most users place a link to the application on the desktop
<razzy> abu[7]: unique identity tied to user rights
<razzy> abu[7]: thank you :)
<abu[7]> The +User has a +Role
<abu[7]> the +Role has permissions
<abu[7]> (vi '+User)
<abu[7]> BTW, if you like to interactively browse a typicol application setup, start it as:
<abu[7]> $ ./pil lib/http.l lib/xhtml.l lib/form.l lib/canvas.l lib/adm.l lib/math.l lib/svg.l lib/simul.l lib/gis.l -"symbols 'ap 'gis 'simul 'svg 'pico" lib/too.l +
<abu[7]> Then you can (vi '+User) and klick on +Role or whatever
<abu[7]> ("click" is Shift-K or Ctrl-])
aw- has joined #picolisp
<razzy> abu[7]: I am looking for remote work in picolisp. Is there some preferred website?
<razzy> I would like to retroactively change my e-mail adress in mailing list. Propably not possible, is it.
<razzy> Is it possible to control picoslip ERP application with keyboard in meaningfull way?
<abu[7]> You could unsubscrabe the old and skbscribe the new address, but if you like I can change it manually
<abu[7]> You chould investigate the demoApp
<abu[7]> Keyboard is mainlt <enter> and <tab>
<abu[7]> <enter> always goes to the first button in the current form
<abu[7]> So most buttons are arranged in such a way
<abu[7]> In most input fields you just type and relevant text fragments pop up
<razzy> abu[7]: no chance for shortcuts?
<abu[7]> For example?
<razzy> user defined shortcuts. It could be button i guess
<razzy> i mean user specific shorcut, programmed by programmer.
<abu[7]> until now it was not needed
<abu[7]> I have no idea where it would be useful, but can be done in JS
<razzy> I know people who are used to oracle forms :)
<abu[7]> In typical work you search in dialogs, edit data in forms or call reports
<razzy> abu[7]: thank you :)
<abu[7]> What would be a typical shortcut in an oracle form?
<razzy> fill the form with order with earliest finish time.
<abu[7]> This is a button
<abu[7]> there are usually "Init" or "Clone" buttons
<abu[7]> And many fields fill automatically from context when other fields are typed in
<razzy> nice :]
<abu[7]> Many fields have "+" button
<abu[7]> it pops up a search dialog
<abu[7]> for objects +Link'ed or +Joint'd
<abu[7]> So each form behaves depending on the DB model.Hard to explain
<razzy> abu[7]: I think i understand :]
<abu[7]> So you *can* operate the form with <tab>s to go to desired fields or buttons, and then <enter> to execute the button, but for large forms it is easier with the mouse (or fingers on a mobile)
aw- has quit [Ping timeout: 248 seconds]
aw- has joined #picolisp
<aw-> razzy: i sometimes hire for picolisp remote work, it would help if you had some publicly accessible code for review etc
<abu[7]> I think there are only two examples public. demoApp.tg and wiki.tgz
<abu[7]> I have lots of applications, but they are all contract work, and also quite specialized so not very useful without the data (which are even more proprietary)
<aw-> abu[7]: i'm pretty sure I've seen your work ;)
<aw-> i was responding to razzy's message earlier haha
<abu[7]> aw-, yeah, but not *so* public ;)
<razzy> aw-: I will let you know when I build some presentation. :) I can iterate until code and system is good. I have lot of space to improve in delivery speed :)
razzy has quit [Ping timeout: 248 seconds]
<abu[7]> 👍
hrberg has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
hrberg has joined #picolisp
aw- has quit [Ping timeout: 248 seconds]
pablo_escoberg has joined #picolisp
<pablo_escoberg> quick question:  why are symbol properties stored as `(val . key)` rather than `(key . val)`?  I'm trying to decide between symbol properties and a plain list of cons pairs for storing config information and I think understanding this particular decision will help.
<abu[7]> This is an important feature. (val . key) is a 'var', so much better usable
<abu[7]> (inc (:: cnt))
<abu[7]> (push (prop 'Sym 'stack))
<abu[7]> etc.
<pablo_escoberg> OK, that is very nice.  I guess I'll go that route. the various `putl`'s will look kind of awkward, but it seems worth it.
<abu[7]> I think 'getl' and 'putl' should not be used in "normal" programming. They have quite some overhead
<abu[7]> They copy the whole property list
<pablo_escoberg> hmmmm...  But that's what I'm trying to do:  set the entire property list in one go, as a configuration for example.
<pablo_escoberg> Is it better to do successive `put`'s?
aw- has joined #picolisp
<abu[7]> Yes, I think it is better
<abu[7]> (mapc 'put ...
<pablo_escoberg> yeah, ok.  That will also allow me to restore a more readable order.  Glad I asked.
<abu[7]> I would not make assumptions about other properties, they may be set by the debug env, or pilog etc.
<abu[7]> In fact, the E/R use getl, but external objecbns have no debug or pilog info
<pablo_escoberg> oh, wait.  That's no good.  these things will actually create/modify properties in existing symbols?
<pablo_escoberg> If that's the case, I need to go back to cons lists.
<pablo_escoberg> and VERY glad I asked...
<abu[7]> It depends
<abu[7]> If they are anonymous or external symbols, nobody will touch them
<pablo_escoberg> but I can never really count on e.g. 'getl' to show me only what I `put` into an internal symbol?
<abu[7]> right, internal symbols may be globally visible
<abu[7]> sorry, bbl
<pablo_escoberg> ok, TY
<abu[7]> ret
<abu[7]> Perhaps it is no big problem, as your internal symbols are all in their own namespace(s)
<abu[7]> So it is under your control
<pablo_escoberg> well, I'll do it both ways and see which way works out better.
pablo_escoberg has quit [Quit: Client closed]
aw- has quit [Ping timeout: 248 seconds]
aw- has joined #picolisp
<abu[7]> Or, as you said, use assoc, asoq, rassoc, rasoq etc.
chexum has quit [Ping timeout: 240 seconds]
chexum has joined #picolisp
buffet has joined #picolisp