<olaf_h>
on each way i would have to investigate, so it's much more easy for me to run pil64
<Regenaxer>
true
<olaf_h>
i think i compiled pil21 successfully on some machine ..... perhaps i try again ..... vip repl sounds very interesting to me
<Regenaxer>
Yes. Lots of things changed meanwhile, since 2018
<Regenaxer>
also vip
<olaf_h>
great.
aw- has quit [Quit: Leaving.]
<olaf_h>
on LinuxMint20 derived from ubuntu 20.04 focal fossa pil21 compiled successfully by following the steps in the INSTALL.txt.
<olaf_h>
./pil lib/test.l -bye + produced OK.
<olaf_h>
so no trouble at all
<beneroth>
hi olaf_h
<beneroth>
nice to see you here :D
<olaf_h>
hi beneroth, thank you :-)
<olaf_h>
nice to see you :)
<beneroth>
:)
<beneroth>
I'm nearly always online here
<olaf_h>
yes, it's me who is rare here, i know
<olaf_h>
i try to learn that asking will save time
<beneroth>
yeah well, better this way than other way around. some people get also into the habit of asking without ever trying themselves or even looking up the doc.
<olaf_h>
but it's hard to learn
<beneroth>
everything worth doing is hard in a way :)
<beneroth>
just come here and ask :D
<beneroth>
gibt ja ein paar Eigenheiten ;-)
<olaf_h>
yes, sometimes i admire those guys who ask without thinking a minute by their own ... :-)
<beneroth>
so you are using pil for web applications? public ones or business internal ones?
<olaf_h>
die Eigenheiten machen es ja auch interessanter ;-)
<beneroth>
I've found such guys deeply disrespectful
<beneroth>
I've got socialised to hacker/programming communities in IRC in my teenage years, and a core value I relate with that is respect for the lifetime of others
<olaf_h>
... good old times ... :-) .....
<olaf_h>
i would like to build web apps with picolisp, because each time i code with it feels very good
<beneroth>
asking is welcome that is so wonderful about IRC, you can talk directly to the original creators, doesn't matter if its some hobbyist or someone with a turing award...
<beneroth>
yeah
<beneroth>
much less code to write than with other stacks
<olaf_h>
but i never studied informatics or so, i'm just interested in those things
<beneroth>
and much more flexible, more control
<beneroth>
but sometimes you need to find something out yourselves where in other stacks you can use something ready-made
<olaf_h>
and so i'm missing some of the concepts, that other guys could easily rely on (correct word? sich drauf beziehen)
<beneroth>
korrekt
<beneroth>
or maybe: relate to
<beneroth>
rely is mehr: sich verlassen können / verlassen auf
<beneroth>
relate = beziehen, wie in relation
<beneroth>
Ich hab eine Informatik/Programmierlehre gemacht, und sonst nix weiter, kein Studium. Aber mehr im Selbststudium gelernt als sonst, hab mehr in meiner Freizeit programmiert als in der Arbeitszeit xD
<olaf_h>
and one thing I always stumble upon: forget that the code after 'button click' in the pil gui will run on the server, not in the client
<beneroth>
yeah form.l webframework is conceptually very different to current mainstream webstacks
<olaf_h>
ja, ich bin auch eher autodidaktisch gebildet
<olaf_h>
at the moment i play with the serverSiteEvent to change svg elements
<beneroth>
Regenaxer ist ja eigentlich als Wetterfrosch ausgebildet, wenn man das so formulieren darf xD
<beneroth>
Du hast einen IT-Hintegrund?
<beneroth>
what is the final output of your app - picture/pdf?
<beneroth>
or the SVG is to render/display some information in itself?
<beneroth>
I've used lib/svg.l to produce PDF (reports, invoices) but not much yet for SVG pictures
<olaf_h>
IT-Hintergrund ist selbst angeeignet, habe aber seit 25 Jahren damit mein Geld verdient und muss es immer noch
<beneroth>
I'd like to do a kind of interactive ERD diagram editor with SVG at some point
<olaf_h>
what does ERD mean?
<beneroth>
Entity Relation Diagram
<beneroth>
so a picture of entites (or tables) of a database with lines between them to show their database relations
<olaf_h>
sure i know, didn't recognize the abbreviation
<beneroth>
visualization of (parts) of a database schema
<beneroth>
yeah
<beneroth>
I've got the same feeling, I often know concepts but not the name for it
<olaf_h>
i totally agree
<beneroth>
and often concepts are named differently in every programming language and another name again in academia
<beneroth>
or worse: same name but meaning totally different things
<olaf_h>
yeah, but it's so helpful if one knows them .....
<beneroth>
T
<beneroth>
terminology allows communication
<olaf_h>
at the moment my 'svg typewriter' would only change the seen svg image in the browser.
<beneroth>
the input/UI is completely separate from the image? or do you add meaningful hyperlinks into the SVG (<a> tags) ?
<olaf_h>
but in emacs i would like to use svg instead of ditaa/plantuml or so
<olaf_h>
did not think so far - i would suggest, that i would create a svg file
<olaf_h>
cause files don't worry if browser exits
<olaf_h>
so the 'typewriter' would change a picolisp object data model and the view of that via ssE -- but thats future, at the moment
<beneroth>
oh nice plan
<olaf_h>
at the moment i only want to have a small gui where i can try expression
<beneroth>
good approach
<olaf_h>
oh really? thanks.
<olaf_h>
in svg i like, that 'the object' are nearly there .....
<olaf_h>
my first programming experiences all were object oriented
<olaf_h>
xlisp smalltalk ....
<olaf_h>
so i always 1st think of objects
<olaf_h>
friends of mine (who are thinking 1st in data, then in functions to handle that) are saying 'olaf is rebuilding the world to solve that little problem' :-)
<olaf_h>
so for me svg seems ideal: thinking of 'well i would like to have a green rectangle with rounded corners and a line of text above' requires just that: write xml elements for a rect and for a text afterwards .... and svg can include svg elements, so a little post-it-like svg-image is can stand for it's own in a viewer and it can be included in a bigger svg wallpaper to show up there
<Regenaxer>
ret
<olaf_h>
i used the xfce desktop wallpaper as a notepaper, placing text on it by shellscripting imagemagick calls
<clacke>
greetings from a cold (20 deg C) HK
<clacke>
vip repl, is that similar to emacs with inferior-lisp?
<Regenaxer>
olaf_h, svg typewriter: Perhaps you can look at "blitzmenue.7fach.de"
<olaf_h>
hi clacke - :-)
<Regenaxer>
it does on-the-fly svg -> pdf
<Regenaxer>
via canvas
<clacke>
you have a file and also a repl, so you can execute forms from the file in the repl?
<Regenaxer>
hi clacke!
<Regenaxer>
clacke, I don't knmw emacs well enough
<clacke>
oh wow, svg->pdf interactive? I just listened to a podcast episode from 6 years ago that suggested someone solve html->pdf
<Regenaxer>
I is basically that the command window is normally editable
<Regenaxer>
In vim it is a single line
<Regenaxer>
but in Vip you can resize it
<Regenaxer>
then execute any Lisp expression in it
<clacke>
oh cool
<olaf_h>
but vip knows the running pil environment, right?
<Regenaxer>
yes
<clacke>
makes me think of C64 BASIC
<Regenaxer>
it runs *in* the env
<Regenaxer>
You can of course interact with vip itself too
<Regenaxer>
it is just a namespace in the interpreter
<Regenaxer>
Unfortunately vip is not documented
<olaf_h>
so the vip repl can get infos that in other editors only the debugging module can?
<Regenaxer>
almost not at all
<Regenaxer>
you mean debugging module of the editor?
<Regenaxer>
So yes
<Regenaxer>
vip is just a lib in pil
<Regenaxer>
If I do in bash $ vi file
<Regenaxer>
then pil is started
<Regenaxer>
if in the pil repl : (vi "file")
<olaf_h>
..... someone could dream of very sophisticated IDEs for pil using this ......
<Regenaxer>
then in the current repl
<Regenaxer>
So lets dig into it in 2 days
<olaf_h>
i'm looking forward!
<Regenaxer>
I must sort my thoughts too
<Regenaxer>
I never documented it in an organized way
<olaf_h>
(pil21 installed finished without any trouble)
<Regenaxer>
Great==
<Regenaxer>
Great!!
<olaf_h>
for me, start with the easy things
<Regenaxer>
yes, good
<olaf_h>
how to inspect symbols
<olaf_h>
sth like that basics
<Regenaxer>
right
<olaf_h>
when i come into the !-prefixed line of the repl, i always don't know what to do,
<olaf_h>
but that's another topic, i think
<Regenaxer>
you can inspect the env
<Regenaxer>
variables etc
<Regenaxer>
Then just <enter> to exit
<Regenaxer>
empty line exits *any* repl
<olaf_h>
ok
<Regenaxer>
and a break- or error starts a sub-repl
<Regenaxer>
We can also show this in PilCon
<Regenaxer>
might be good
<olaf_h>
yes
<Regenaxer>
I took a note
<Regenaxer>
Will think of some typical examwles
<Regenaxer>
examples
<olaf_h>
concerning the question from @clacke above: you have a file and also a repl, so you can execute forms from the file in the repl?
<Regenaxer>
ah, no, not really
<olaf_h>
because in vip i'm in the repl, that would simply work by '(load'ing that file, right?
<Regenaxer>
only in the bottom window
<Regenaxer>
yes
<Regenaxer>
:l
<Regenaxer>
this loads the current file (executes it)
<Regenaxer>
But it cannot execute a single exwression in it
<Regenaxer>
in the file
<olaf_h>
so,if i would have some 'debuggin-helper-functions.l' i could load them at that moment into the currently used env?
<Regenaxer>
In the command window it executes it
<Regenaxer>
yes
<olaf_h>
oh okay,so we have 'command window' and 'bottom window'?
<Regenaxer>
no
<Regenaxer>
they are the same
<Regenaxer>
as in vi / vim
<Regenaxer>
the bottom line is the command line
<Regenaxer>
It has its separate editing style in vim
<Regenaxer>
In Vip it is a normal edit window
<Regenaxer>
edited with vi-style commands
<Regenaxer>
and <enter> on a line evaluates it
<Regenaxer>
There is a little trick
<Regenaxer>
the space
<olaf_h>
and in emacs i could choose between eval-sexp , eval-region and eval-buffer
<Regenaxer>
I think I explained shortly last PilCon
<Regenaxer>
ok
<Regenaxer>
this is not in vip
<Regenaxer>
but one could define it e.g. as a function key
<olaf_h>
ah okay, you will show us
<Regenaxer>
yes
<Regenaxer>
I never needed that feature, loading a single expression
<olaf_h>
PilCons are so full of info that I can't remember all
<Regenaxer>
loading the whole file is easier
<Regenaxer>
I always follow the rule that a file should be reloadable any time
<Regenaxer>
(except er.l files though)
<Regenaxer>
And a full reload is so fast it does not matter
<Regenaxer>
Besides editing files, Vip also allows to edit symbols directly in memory
<Regenaxer>
i.e. value and properties
<olaf_h>
which may be overwritten after reload?
<Regenaxer>
also database symbols
<Regenaxer>
yes, if you then load the original source
<Regenaxer>
In pil64 this was a separate 'edit' function
<Regenaxer>
it is no longer in pil21
<olaf_h>
ah okay
<Regenaxer>
Indeed a bit confusing. So many ways to start vip
<Regenaxer>
Either from bash or the pil repl, and editing files, sources, or direct symbols
<Regenaxer>
also options for search pattern and line number
<Regenaxer>
I must clean this up first in my mind
<Regenaxer>
I use it all day without thinking
<olaf_h>
i think i would use the vip more as a debugger than as an editor, i think i would write code in emacs and if i come in trouble, than open the file in vip to profit of the inspection possibilities. Or is that totally wrong?
<Regenaxer>
As a debugger it is not better than the nermal repl
<Regenaxer>
normal repl
<Regenaxer>
I think the normal repl is even more convenient
<olaf_h>
yes, but vip offers both - and otherwise i check in pil repl and then change my file in emacs
<Regenaxer>
yes
<olaf_h>
other guys might be intested in differences of using vip vs vim, which they are used to
<Regenaxer>
I normally do that too. Edit in a separate terminal
<Regenaxer>
Vim is much more powerful, but not so consistent
<olaf_h>
perhaps in the Pilcon a few words concerning the features, a vim-user will miss in vip? I do not know so much, but I would think of 'works copy-paste the same?' are there registers or what vim offers for storing values
<olaf_h>
i remember that vertically split windows were not possible
<Regenaxer>
yes, copy ("y") and paste with "P" and "p"
<Regenaxer>
"x for registers
<Regenaxer>
'x for marks etc.
<olaf_h>
is that same as in vim or different?
<Regenaxer>
yes, only horizontal split
<Regenaxer>
I think the same
<Regenaxer>
Vim support other character codes
<Regenaxer>
Vip is only utf8
<Regenaxer>
And very large files get slow in Vip
<Regenaxer>
not so efficient, as it uses a list of lists of characters
<olaf_h>
very large means what? 1 MB or 100K
<Regenaxer>
100 MiB perhaps
<Regenaxer>
I MiB is no problem
<olaf_h>
okay, a single 100_MiB.l code file could contain the programmed answer to all questions :-)
<Regenaxer>
Could be fixed by using an index, but I prefer to keep it simple
<Regenaxer>
well, I edit everything with Vip
<Regenaxer>
also mbox files, so I notice sometimes
<olaf_h>
ah,okay, i see
<Regenaxer>
if mails contain pdfs and images
<Regenaxer>
and mails are often not utf8
<Regenaxer>
but it works as long as I read only
<olaf_h>
for programmers it might be interesting too, if there are any possibilities to 'insert one own's functionality in vip'
<Regenaxer>
sure
<olaf_h>
in emacs are hooks a common place to add own functions
<Regenaxer>
you can put anything into ~/.viprc
<Regenaxer>
I have my own stuff there
<olaf_h>
so in PilCon (perhaps not at the beginning) you could say sth to that, too.
<Regenaxer>
ik
<Regenaxer>
ok
<olaf_h>
one of the last times, you commented some file with words 'this is a template i often use'
<Regenaxer>
in editing?
rob_w has quit [Remote host closed the connection]
<Regenaxer>
I have files "template" in many directories
<Regenaxer>
eg for letters in TeX
<Regenaxer>
or for doc/
<Regenaxer>
and also gui
<olaf_h>
for attracting new user to picolisp I think they could profit from templates a bit like pattern or so ....
<Regenaxer>
right
<olaf_h>
e.g. a standard gui_app_file.l which offers the skeleton of :8080-ready app
<Regenaxer>
not sure, the needs are very special in each case
<Regenaxer>
ah
<Regenaxer>
not for the app, but for a single entity
<olaf_h>
I think we have some examples in the wiki - your phonegui example zum Beispiel
<Regenaxer>
yes, but a bit old
<olaf_h>
could be updated, does not matter, what i mean is thinking more of the point of view of an impatient user with scripting knowledge in another language (like me, of course ..., though I try hard to become more patient :-) ) being able to use picolisp in a more create-something-out-of-the-box way
<olaf_h>
but it might be, that it's too easy to fall into traps with picolisp so that using a e.g. phone-gui-template does not help because chaning it without picolisp knowlede will always break the app
<olaf_h>
i will think further on this .... imagine an user opening pilBox for the first time after installing it.
<Regenaxer>
I see, yes
<olaf_h>
if there would be a 'template sandbox' app or so besides the useful stuff (calculator, radio ....)
<Regenaxer>
I think app/* is good for that
<Regenaxer>
it has most basic stuff for a DB app
aw- has joined #picolisp
<Regenaxer>
And the sample apps in PilBox
<olaf_h>
what do you mean bei app/* ?
<Regenaxer>
these are also up-to-date
<Regenaxer>
the demo app directory
<olaf_h>
ah,okay, i looked in pil21 ..... my fault
<olaf_h>
the demoApp is superb for interested users and a wonderful showcase, but for 'just-play-abit-around-because-im-courious'-users it's too much, i think.
<Regenaxer>
T
<Regenaxer>
The simplest GUI/DB example is in the wiki iirc
<Regenaxer>
a single form address database
<olaf_h>
yes, i think more of these
<olaf_h>
i will look into those when thinking more about this topic
<olaf_h>
yes, I took it myself as a basis for a bank accounting app
<Regenaxer>
cool
<olaf_h>
... and there arised questions when I remember right ... and i wondered whether these questions arise because i had to switch to the demoApp examples to make it right.....
<olaf_h>
... but i worked around the questions und still use it from time to time .... i have to look into it
<olaf_h>
have you ever seen a puzzle-tile based programming language/ide like scratch ?
<olaf_h>
ich kann das auf englisch nicht gut ausdrücken, aber irgendwie habe ich das Gefühl, dass man lisp-Code - aufgrund seiner Listenstruktur - relativ einfach in solche 'Bausteine' oder 'pattern' oder 'templates' aufteilen können müsste .... natürlich ohne die puzzle-gui .... nur als code-snippets .... hmmm, ich werde weiter drüber sinnieren, und ggf. wieder mal versuchen, das verständlicher rüberzubringen
<Regenaxer>
Sorry, we have Handwerker here all day, so some interruptions
<olaf_h>
by 'bank accounting app' i solely mean a list of done money transfers which I imported as pdf, no hbci app :-)
<olaf_h>
no problem at all
<Regenaxer>
yes, hbci is heavy stuff
<olaf_h>
i do not know, what 'bank accounting app' stands for, so I wanted to clearify
<Regenaxer>
T
<beneroth>
ret
<Regenaxer>
cheers!
<beneroth>
sorry olaf_h I was gone then busy without saying
<beneroth>
cheers Regenaxer !
<beneroth>
clacke, yeah vip is kinda like emacs inferior/superior/replthingynameforgotten
<beneroth>
olaf_h, in terms of IDE, I believe something like jupyter notebook (webapp IDE for python machine learning programming) might be excellent for picolisp
<olaf_h>
hi beneroth, no problem at all, regenaxer took over, so I could talk further on without interruption :-)
<olaf_h>
I use the org-mode with it's org-babel parts, which enable nice intermingling (?) of text and source code and eval regions - thanks to Thorsten Jolitz there is a picolisp-mode wich supports the sourcecode evaluation inside the emacs buffer. Jupyter looks too big for my purpose - but indeed looks very interesting.