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
xkapastel has joined #picolisp
shpx has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
shpx has quit [Quit: shpx]
shpx has joined #picolisp
shpx has quit [Client Quit]
shpx has joined #picolisp
shpx has quit [Ping timeout: 268 seconds]
libertas_ has joined #picolisp
libertas has quit [Ping timeout: 246 seconds]
<Regenaxer> Nice discussion! Thanks beneroth and freemint!
mtsd has joined #picolisp
mtsd has quit [Ping timeout: 255 seconds]
_whitelogger has joined #picolisp
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 246 seconds]
alexshendi has joined #picolisp
<beneroth> Good morning Regenaxer :)
<Regenaxer> Hi beneroth!
<Regenaxer> It is interesting. Some people theorize a lot, without caring or understanding the praxis, and others (me for example) are interested in the practical situation without caring or understanding theory
<Regenaxer> must go, bbl
alexshendi has quit [Ping timeout: 246 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 245 seconds]
<Regenaxer> ret
<beneroth> hm you cannot really describe yourself as "not interested in theory"..
<Regenaxer> ok, as far as needed and useful. What I mean is I never studied relational DB theory
<beneroth> "not caring about theory" = let's take that library which someone (bad assumption) who knows theory wrote instead of thinking about it yourself.
<Regenaxer> t
<beneroth> and if the language/stack doesn't has the library to solve my problem = bad lang/stack :)
<beneroth> yeah agree
orivej has joined #picolisp
<beneroth> that's the irony. often the same people turn to big theory discussions to find arguments why they cannot do it simple :)
<beneroth> and some people just prefer theory to doing anything.
<Regenaxer> right :)
orivej has quit [Ping timeout: 245 seconds]
namra has joined #picolisp
<namra> greetings
<namra> was wondering if someone can please point me into the right direction to figure out what i'm doing wrong in the following piece of code: https://pastebin.com/ymYVkURR
<namra> Basically the search dialog never returns anything. Though the query seems fine. Tried it via the debug repl when running the app.
orivej has joined #picolisp
orivej has quit [Ping timeout: 272 seconds]
<Regenaxer> Hi namra!
orivej has joined #picolisp
<Regenaxer> At first glance it looks good
<Regenaxer> A search dialog never returns anything in the sense of returning a value to the caller
<Regenaxer> It is the +DstButton which stores a result in the calling form
<Regenaxer> (run guestbook 1) is strange
<Regenaxer> guestbook is a function
<Regenaxer> just (guestbook) should be fine
<Regenaxer> or better directly put the idForm expression into 'work'
<Regenaxer> anyway, this is not the problem ;)
<namra> ^^
<Regenaxer> But the select indeed does not return any results
<Regenaxer> ah, no, returns a value. moment ...
namra has quit [Quit: Page closed]
namra has joined #picolisp
<Regenaxer> namra, I know what the problem is :)
<namra> Great!
<Regenaxer> (select (@@)
<Regenaxer> ((ttl +Guestbook @Title))
<Regenaxer> (part @Title @@ ttl) ) ) )
<Regenaxer> The GUI functions use '@@' implicitly
<Regenaxer> Not so obvious ;)
<namra> ?
<namra> Ah nowi understand
<Regenaxer> The machinery in @lib/form.l uses @@
<Regenaxer> :)
<Regenaxer> aka convention
<namra> Thanks a lot
<Regenaxer> welcome :)
<beneroth> what a nasty side-effect
<beneroth> "So the idea arose that predicate calculus was just too difficult for ordinary mortals, and something simpler was needed. Ergo, SQL."
<beneroth> "What’s more, I really question whether SQL is more user friendly than predicate calculus, anyway. In fact I think it’s what might reasonably be described as user hostile... "
<beneroth> so SQL was made because someone thought that predicates (which were only meant to illustrate the idea of the relational model) are too complicated for normal people
<beneroth> Pilog is predicate logic, no?
<Regenaxer> Like Cobol it was made by technically and mathematically oriented people who *believe* to know what is good for the masses
<Regenaxer> Pilog, yes
<beneroth> a sentence you love "You know, it’s very easy to make something complicated; it’s very hard to make something simple."
<Regenaxer> yep :)
<beneroth> that's from Chris J. Date, kind of the co-founder of the relation database stuff
<beneroth> who doesn't like so much what industry made out of it
<beneroth> and one also has to see, the relation model was an alternative to the clearly weak hierarchical model
<Regenaxer> yes, saw your links this morning
<beneroth> "SQL isn’t just user hostile, it involves some very serious departures from relational theory"
<beneroth> " honestly believe SQL has no real right to be called relational at all."
<beneroth> "The truth is, there never has been a mainstream DBMS product that’s truly relational."
<Regenaxer> I see
<beneroth> sounds similar as when Alan Kay (inventor of OOP, who regrets not having called it message-passing-oriented) is talking about OOP implementations :)
<Regenaxer> yeah, pil talks about sending messages between objects
<Regenaxer> Java confuses methods and functions
<Regenaxer> C++ the same
<beneroth> and the guy who founded the "waterfall model" of IT project management (which became a required method for government suppliers in the USA and then spread as THE STANDARD for project management), which is basically "make first one big plan, then execute", later claimed it was a big misunderstanding, his steps should be iterated through at least twice (makes it sound more like iterative/agile project management)
<beneroth> haha, yes so true
<beneroth> everywhere they teach "methods are functions which belong to a class"
<beneroth> It is obvious to you what is wrong with that sentence. but its not so easy to communicate to people, especially when they got teached that for years :)
<beneroth> IT industry is decades behind Computer Science academia
<beneroth> your approach was/is quite more academic than mainstream IT. but it is also more practical, because it uses clear rules and foresight.
<beneroth> or so I believe.
<namra> Was weird when I read the original paper on waterfall. It clearly says one should repeat steps, with diagrams showing it clearly. Was wondering how it could end up like it did.
<beneroth> it did? I never saw the original
<beneroth> interesting.
<namra> Yes
<beneroth> wow
<beneroth> Regenaxer, ha this interview is gold. here another nice sentence you can surely associate with, as we see the same thing about picolisp and lisp in general:
<beneroth> " People who don’t accept our criticisms of SQL often describe the points on which we disagree as “religious issues”-implying, I suppose, that a proper resolution of those issues is a matter of faith, not science.
<beneroth> Our position is exactly the opposite: Proper resolution is a matter of science, not mere faith."
<Regenaxer> very true
<beneroth> "You also ask whether people are aware of the history here, and whether they have the intellectual curiosity to want to be aware. "
<Regenaxer> Many people can't distinguish between science and belief
<beneroth> aye
<beneroth> even when they're working as scientists themselves :(
<Regenaxer> sigh, yes
<Regenaxer> There is never an absolute truth, only probabilities
<Regenaxer> So it is very probable that the earth is not flat
<beneroth> yes, but some things can absolutely be more wrong than others!
<Regenaxer> hmm, only less probable
<beneroth> no, less wrong
<beneroth> very important essay, I found.
<beneroth> "John, when people thought the earth was flat, they were wrong. When people thought the earth was spherical, they were wrong. But if you think that thinking the earth is spherical is just as wrong as thinking the earth is flat, then your view is wronger than both of them put together."
<Regenaxer> Thats another issue
<beneroth> on another level, the "earth is flat" is true when thinking about a certain limited sized piece of it. "earth is flat" is one model, absolutely valuable and meaningful for some applications. same with the "earth is a ball".
<Regenaxer> Truth is never absolutely, or more or less, wrong. It depends on the premisses
<beneroth> depends on what you do, what you need, which model, which tool the right one is to be applied.
<Regenaxer> You may be in a dream, thinking the earth is not flat, it is just improbable
<beneroth> if you are planning streets, then "earth is flat" is the right model. if you plan satellites or even long-range radio connections, then "earth is a ball" is much more correct and more useful.
<Regenaxer> Sure, but this is not what I mean
<Regenaxer> much more fundamental
<Regenaxer> Dont want to explain here, no time
<beneroth> Regenaxer, I find it extremely important to differ between "we have an objective truth/reality underneath, even if we might not be able to experience it directly" and "there is no objective truth, everything is subjective and up to debate"
<Regenaxer> This is an illusion of the mind
<Regenaxer> there is no objective truth/reality un
<Regenaxer> derneath
<beneroth> I agree that mind and most things is illusion. I completely disagree that those illusions are not a function/based on a reality underneath it.
<Regenaxer> What is reality?
<Regenaxer> Does it exist?
<Regenaxer> What is the mind that believes that?
<Regenaxer> does the mind exist?
<Regenaxer> Cogito ergo sum
<Regenaxer> this does not help
<beneroth> I find this way of thinking (no objective truth) extremely dangerous. It leads to full arbitrariness
<Regenaxer> Descartes does neither define "think" nor "I'
<beneroth> if you doubt your senses...what is doing the doubting?
<beneroth> the doubting does exist.
<Regenaxer> Who is "you"?
<Regenaxer> It is all illusion
<beneroth> the story my brain tells itself
<beneroth> sure it is
<Regenaxer> How do you know?
<beneroth> but its not coming out of thin air, it has a basis, a source
<Regenaxer> What is "you"? Your memories?
<Regenaxer> a RAM
<Regenaxer> All this goes in circles. There is no absolute base
<beneroth> well there is not one me. there are several. your model of me is also me, even when its not part of me.
<Regenaxer> Nope, I dont believe that
<beneroth> if there would be no objective realities, why are there laws of physics?
<beneroth> why is there no magic?
<Regenaxer> They are relative truths
<Regenaxer> Perhaps there is magic
<beneroth> do you question the chain of "cause and effect" ?
<Regenaxer> magic is only what we don't understand yet
<beneroth> if there is no objective truth, there is no thing to understand, I say.
<Regenaxer> I dont question "cause and effect" or Physics. I just they these are relative thruths, not absolute
<Regenaxer> What *is* an objective truth for you?
<beneroth> I don't say we work with the objective truth directly. its hidden. it's not measurable directly. but it shows through various effects and symptoms which are measurable. Bayesian logic.
<Regenaxer> Not depending on an axiom!
<beneroth> the laws of physics are relative truths, but they're based on something.
<Regenaxer> Logic is a product of human mind, exists *only* in the mind
<Regenaxer> based on what? Observation
<Regenaxer> who observes?
<Regenaxer> the mind
<beneroth> what is observed?
<Regenaxer> what is the mind? Bang!!
<Regenaxer> circles
<beneroth> we can say what it isn't, in a way
<Regenaxer> no absoluteness
<Regenaxer> no
<Regenaxer> it is also Logic
<beneroth> yes I agree our whole science is the research on how our minds interpret reality.
<Regenaxer> logic is not absolute
<beneroth> but that is still not telling that there is no reality.
<Regenaxer> it defined rules
<Regenaxer> We are talking in circles. There is no absolute base. Always *something* is assumed a-priori
<Regenaxer> Our mind cannot understand
<Regenaxer> we are bound to logic
<Regenaxer> which itself is limited (Gödel)
namra has quit [Ping timeout: 256 seconds]
<beneroth> so..mathematical patterns on clam shells or Romanesco broccoli are illusions of our minds. why do separate human minds observe the same illusion?
<Regenaxer> Perhaps you should read a book about Zen Buddhism
<beneroth> why is the illusion the same over time?
<Regenaxer> is it the same?
<Regenaxer> what is time?
orivej has quit [Ping timeout: 246 seconds]
<Regenaxer> are your memories correct?
<beneroth> I both have and I probably should read more about it.
<Regenaxer> how do you know?
<beneroth> no, but that all is not ruling out an objective reality.
<Regenaxer> right, but you cannot show me an objective reality
<Regenaxer> cant even define it
<Regenaxer> ok, perhaps define
<Regenaxer> but a definition is no absolute truth
<Regenaxer> only relative to itself
<beneroth> but if we rule out objective reality, we kill our axiom/assumption that there is any system to what we observe/do/experience. and if we drop that, than we drop the whole science, I think. this leads to dangerous denial of reality (even if we cannot define that reality)
<beneroth> yes
<beneroth> its a relative relation.
<Regenaxer> The problem starts with "we" or "I"
<beneroth> I say objective truth/reality is to what the symptoms are related to in the end (when following the relations they're related to, again and again and so on. we cannot follow them back all the way)
<beneroth> we here I used as "average" human. yes I'm aware that this a set with unclear borders. but I don't think we disagree that there is a kind of set somehow, no?
<Regenaxer> ok, nuff, doesnt lead to anything - circular ;)
orivej has joined #picolisp
<beneroth> I don't see where your circle is connected. the fact that you can zoom in on every details doesn't deny the existing of the whole thing.
<Regenaxer> We agree on a lot for practical purposes, just must accept that truth is always relative, depending on the axioms one starts with
<beneroth> we can continue another time with a beer :)
<Regenaxer> T
<Regenaxer> I dont want to destroy your illusions :)
<Regenaxer> eg that you exist
<Regenaxer> and have a free will
<beneroth> free will is another thing. but existence.. from my point of view I do, and I have to pretend I do, to "operate". yes I can hack my believe system. but yes that can also lead to being satisfied with everything/nothing, so you end up in a nice cave and let yourself eat from bugs because you don't care / you can be happy with it.
namra has joined #picolisp
orivej has quit [Ping timeout: 250 seconds]
<beneroth> and that is completely legitimate to do, but I don't think I want. whatever the cause is that I believe so.
<beneroth> nothing is true, everything is allowed.
<beneroth> that sentence is very useful but extremely dangerous.
<Regenaxer> only if you take it absolute
<beneroth> yes.
<beneroth> like with every concept.
<beneroth> in the end it all boils down to "why do you bother to get up in the morning?"
<beneroth> one can deny practicality, but it still gets you somehow in the long run. whatever that means :)
<Regenaxer> yes, you define what gives "sense" to your life
<namra> To prepare for the day you die
<beneroth> there is no fundamental reason why things should behave similar from one day to another (or second or picosecond whatever). but we do have this assumption somewhere, agreed?
<Regenaxer> relative to other criteria
orivej has joined #picolisp
<Regenaxer> but in the lowest level they dont come from "you"
<beneroth> T
<Regenaxer> there is no "you"
<beneroth> but they come from somewhere
<beneroth> something
<Regenaxer> perhaps
<Regenaxer> if they indeed exist and come
<beneroth> it can only be relative if there is relation
<Regenaxer> so the relation must come first
<Regenaxer> and so on
<Regenaxer> fruitless
<beneroth> well even its a illusionist play on a wall.. there is the wall
<beneroth> no
<Regenaxer> see Wittgenstein
<beneroth> the sun is still some ball of fire today as it was yesterday. why didn't it turn into a glowing unicorn? we assume and observe some level of continuity and rules. they're illusions, sure, but they're not arbitrary.
<Regenaxer> So lets stop this. It makes sense to talk about what is true in some given context, but not more. Not absolutely
<beneroth> that is my argument. it's not arbitrary.
<beneroth> T
<Regenaxer> You are mixing up things. Lets stop this now
namra has quit [Quit: Page closed]
<beneroth> I doens't make sense to talk about absolute truth. I agree. I disagree to deny the existence of an absolute truth we cannot talk about.
<beneroth> I stop now.
orivej has quit [Ping timeout: 245 seconds]
<beneroth> Thanks for the discussion :)
<Regenaxer> Welcome :)
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 250 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
orivej has joined #picolisp
namra has joined #picolisp
<namra> Sorry Regenaxer for bothering again. But is there something i'm missing to get that "(gui 1 '(+DstButton) Dst)" working?
<namra> and i'm still not quite sure what that Dst exactly is :/
<beneroth> I guess you already looked at the ref? https://software-lab.de/doc/form/refD.html#+DstButton
<beneroth> as I understand it, usually it is just a normal link (to navigate to an object), but it can be a button when it is in a dialog, meant to store (return?) a value to the form which opened the dialog?
<beneroth> That is how i read the ref. my practical experience with form.l framework is a shame, sorry :)
<beneroth> I understand your question now.
<beneroth> good question.
<beneroth> did you look at @app/gui.l ? there Dst appears to be an function argument
<beneroth> so Dst is holding the pre-set item which was looked up / selected? (I'm thinking loud)
<namra> yes looked at that code
<namra> basically i have and idForm that uses a function to choose a an object
<namra> like in the app example
<beneroth> I see
<beneroth> I see that function called with NIL for Dst in (idForm) source. or evaluated as is with the function got passed with the Dst parameter
<beneroth> but I have yet to find an context where it is called with this Dst parameter
<beneroth> I think the global variables should also be put in the ref about form.l :/
<beneroth> form.l documents the *Cho global. maybe that is where the chosen object gets stored, which gets passed as Dst argument?
<namra> The thing is i've a search dialog. But for search results it's neither a clickable link nor button.
<beneroth> no, Rel gets pushed into *Cho in (choDlg)
<namra> and Dst seems always NIL
<beneroth> Dst clearly stands for Destination.
<beneroth> (class +DstButton +Set +Able +Close +PickButton)
<beneroth> (dm T (Dst Msg)
<beneroth> hmmm
<beneroth> aaah
<beneroth> search in form.l for 'chgDst'
<beneroth> right above is the T message for +DstButton
<beneroth> hm no. there Dst gets turned into par if the current button has an (: obj)). that object gets bound to the whatever-select function which was passed in Dst
xkapastel has joined #picolisp
<beneroth> I give up for now, namra :( let's wait for Regenaxer.
<beneroth> maybe you can figure it out by running and debugging @app
<namra> good idea
<namra> hm :shrug: seems just NIL
<beneroth> what if you open a dialog and pick some entry?
<beneroth> maybe it is by default always NIL and just available for applications to work (pre-set) with them? possible, but I doubt it :o
<namra> same :/
<Regenaxer> ret
<Regenaxer> Oh, yeah, +DstButton does a lot behind the scenes
<Regenaxer> if Dst is passed it is a field in the calling form
<Regenaxer> If the dialog returns an object, the field is of type '+obj' typically
<Regenaxer> or the button itself, which then holds the object
<beneroth> can you point us to an example where Dst is passed?
<beneroth> namra, what is the original issue you have with the +DstButton not working?
<Regenaxer> it is for example in the "+" buttons
<beneroth> code?
<Regenaxer> all choXXX functions
<Regenaxer> eg see choCuSu in app/ord.l
<Regenaxer> If you see (choXXX 0)
<Regenaxer> then it is the same as
<Regenaxer> (gui '(+ChoButton) '(choXXX (field 1)))
<Regenaxer> So (field 1) is passed as Dst
<Regenaxer> Same in chart
<Regenaxer> (gui <n> '(+ChoButton) '(choXXX (field 1))) -> (choXXX <n>)
<namra> hm is there a way to print, in the deugger, the current location of the expression supposed to be evaluated next, like the file (and line) its located.
<Regenaxer> Internally this is handled by 'diaform'
<Regenaxer> yes, I simply put '!' into the code, then reload
<Regenaxer> '!' is breakpoint
<Regenaxer> or, you put a 'msg' call
<Regenaxer> eg:
<Regenaxer> (de choItem (Dst)
<Regenaxer> (diaform '(Dst)
<Regenaxer> (msg Dst " in choItem")
<Regenaxer> (<grid> "--.-."
<namra> beneroth: i posted a link a couple of hours ago, don't know if you were in the channel than
<Regenaxer> This logs to stderr
<beneroth> namra, got it. https://pastebin.com/ymYVkURR
<namra> good to know Regenaxer thanks
<Regenaxer> So there are 2 ways to make such search/select dialogs:
<Regenaxer> For simple cases, searching for a single attribute, 'choDlg' is used
<Regenaxer> (de choSal (Dst)
<Regenaxer> (choDlg Dst ,"Salutations" '(nm +Sal)) )
<Regenaxer> for more involved cases, 'diaform' is used
<Regenaxer> (de choCuSu (Dst)
<Regenaxer> (diaform '(Dst)
<Regenaxer> (<grid> "--.-.-."
<Regenaxer> ,"Number" (gui 'nr '(+Var +NumField) '*CuSuNr 10)
<Regenaxer> ...
<namra> yep read those parts. and mainly using the "choCuSu" as an example.
<Regenaxer> good
<Regenaxer> choCuSu is a good example, not too trivial
<Regenaxer> choOrd is even better
<Regenaxer> as it collects also from other classes
<Regenaxer> ("tables" in the relational think)
<Regenaxer> eg if you look at the search by supplier in choOrd
<Regenaxer> It "joins" (in the SQL sense) cusu (= supplier) -> item -> position -> order
<namra> (nm +CuSu @Sup (sup +Item) (itm +Pos) ord)
<Regenaxer> exactly
<namra> ok found my mistake
<namra> no "url>" method defined :headdesk:
<Regenaxer> Yeah, if not defined or returns NIL, then the Dst button is not enabled
<tankf33der> interview with moore as chapter of book
<beneroth> thanks tankf33der
<Regenaxer> yeah, nice!
<beneroth> bbl, I go getting some sunshine.
<Regenaxer> good idea, did that an hour ago
<Regenaxer> nice weather!
<Regenaxer> +16 C or so
namra has quit [Ping timeout: 256 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
ubLIX has joined #picolisp
xkapastel has joined #picolisp
ubLIX has quit [Quit: ubLIX]
freemint has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
freemint has quit [Quit: Page closed]
ubLIX has joined #picolisp