#] #] ********************* #] loaddefs link d_Qndfs 'QNial [symbol, arg] changes/QNial userWkspSymbol [philosophy, grammar, design].txt' # 17Oct2021 initial # view this file in a text editor, with [constant width font, tab = 3 spaces], no line-wrap # list of usrWkSpcSymbols - $ cat "d_Qndfs""'QNial userWkspSymbol header.ndf' +-----+ Questions Can I build a "typeCheck" [operator, transformer]? eg typeCheckRun str_posnLLOfChrAll_subStr str subStr typeCheckRun IS TR f A - if "standard" nomenclature is used in IS OPs, then typeCheck should be easy! 24************************24 24************************24 # Table of contents, generated with : # $ grep "^#] " "$d_Qndfs"'QNial userWkspSymbol [philos, grammar, design].txt' | sed 's/^#\]/ /' # ********************* loaddefs link d_Qndfs 'QNial [symbol, arg] changes/QNial userWkspSymbol [philosophy, grammar, design].txt' +-----+ Principles +-----+ ToDos : +-----+ 22Oct2021 Auto-Extensibility - evolution of new symNames with [semantics, context [project, dictionary,]] 22Oct2021 02:00-04:30 Computability of symNames, initial [random, crazy] brain farts - type checks (typChk) - symName systems - consistency conflicts [similarity, contrast]s chaoticity dynamic changes in symNames symName clusters - Sony digicorder side story : 21Oct2021 typeCheck [optr, system]s - Howell's typCheckered past <<2021 for several years - checks of [type, Howell's step-by-step derivation checks >2013 while in Hussar [NN, TNNLS] peer reviews - quite a few, but still a minority (did I do some of this while still in Ottawa?) 09Feb2013 [symbolic, non-numeric] matrix operations : loaddefs link d_Qndfs 'matrix operations - symbolic & real-valued.ndf' www.BillHowell.ca 09Feb2013, 05Aug2015 add Kronecker product ?~2015? Howell major project : Bill Lucas "Universal force", Chapter 4 (on hold for >3 years) "$d_webRaw"'Lucas/180313 Howell to Lucas - EU2017 comments.txt' www.BillHowell.ca 12Mar2018 initial notes May-Jun2021 test analysis (very initial musings) Dr. Fauci's corona virus emails +-----+ 17Oct2021 TypeChecking : the [good, bad, ugly], stability versus generality 19Oct2021 typeCheckRun - generic type-checksed on symName args? don't have to modify [expr, optr, trans]? +-----+ 17Oct2021 userWkspSymbols - detailed data in use userWkSpcSymNameL := standard symbol [name, [pre, post]fix, [adverb, ]] in the user workspace, see link d_Qndfs 'QNial userWkspSymbol header.ndf' with [grammar, syntax] to build symbol names 17Oct2021 initial list generated, text-only, not much structure 28Oct2021 userWkSpcSymNameL assignment is working, starting point for [optr, etc] +-----+ 21Oct2021 Nomenclature - [, ad]verbs 08********08 #] +-----+ #] Principles 07Nov2021 Compiled QNial optrs retain dataTyp-specific optrs examples - strings versus lists, maybe chrs try to keep order : subject_verbClaus_predicate[_adverb_nounClause] 21Nov2021 major retro-update of entire strings.ndf file!, after abandoning general ary optrs, as not being suited to [lst, atm] retain redundancy of [, lst] optrNames, as it is NOT always obvious when a lst optr won't work for strs [check, fault]s could be VERY different [nice, consistent] cart [scale-up, carry-over] to similar optrs, eg sub_in_str IS sub_in_lst str_subL_getLenMatchesTo_subPL IS lst_subL_getLenMatchesTo_subPL if I change IS redirection of many optrs to [ary, other] libraries, or back to strings.ndf, then the end-use of those optrs stays the same - HUGE savings of [time, frustration] to make changes 01Apr2023 normal optrNam sequence : ary -> sub -> itm -> atm etc why? - DON'T change standard tstDat - this is where MOST of my time is used, tsts not program having consistent seqauence vastly reduces [customization, confusion] 08********08 #] +-----+ #] ToDos : 19Oct2021 typeCheckRun - generic type-checksed on symName args? don't have to modify [expr, optr, trans]? 08********08 #] +-----+ #] Definitions - see also 'QNial userWkspSymbol header.ndf' item (itm) is a "Top element" of an array sub (sub) is a "Top element" of items in a [chr, str, lst, ary] #] 08********08 #] +-----+ # #] 19Nov2021 when to use [chr, str, lst, ary] optrs - see 'array notes.txt' try to express all as ary even if compiled QNial optrs are vastly [fater, more efficient] [chr, str] when [ASII, unicode] involved eg [SpcTab, etc] #] 22Oct2021 Auto-Extensibility - evolution of new symNames with [semantics, context [project, dictionary,]] logic systems : [Boolean, Colin James 4-value logic (from ??), neutrosophic,fuzzy system] #] 22Oct2021 02:00-04:30 Computability of symNames, initial [random, crazy] brain farts - via Sony digicorder babblings in the middle of the night #] type checks (typChk) - #] symName systems - #] consistency #] conflicts #] [similarity, contrast]s #] chaoticity #] dynamic changes in symNames #] symName clusters - #] Sony digicorder side story : I used [cassette, digicorder] circa 1995-2000 for a year so - voice dictation PC [hard, soft]ware money-losing business used voice recording in car while driving [to, from] Montreal to see my kids lost good idea - haven't used it since, except since ~2014 (when did I buy the new one?) comes in handy for [phone calls to parents, Hussar Sundowner meetings]... I need to use it - maybe this will "push away" wasted time watching DVDs!? #] 21Oct2021 typeCheck [optr, system]s - Howell's typCheckered past mostly manual type-out of optr checks until the last year (of course, some copy-paste) in 2021 collected IF examples to copy-paste # "$d_Qroot""5_IF examples [file_exists, pthL, is[chr, str], etc].txt" # www.BillHowell.ca 11Jun2021 initial, from "0_QNial notes.txt" revamp fileop symbol [name, arg [order, number]] # loaddefs link d_Qndfs 'QNial optr symbol changes.ndf' # change user [optr, expr]s cart [name, arg[order,num]] for [clarity, consistency] # www.BillHowell.ca 29Sep2021 initial got tired (ag) of repeating code that obscured the view of optr coding faster to create typCheck optrs - change in one place only, pota, etc etc #] <<2021 for several years - checks of [type, #] Howell's step-by-step derivation checks #] >2013 while in Hussar [NN, TNNLS] peer reviews - quite a few, but still a minority #] (did I do some of this while still in Ottawa?) #] 09Feb2013 [symbolic, non-numeric] matrix operations : #] loaddefs link d_Qndfs 'matrix operations - symbolic & real-valued.ndf' #] www.BillHowell.ca 09Feb2013, 05Aug2015 add Kronecker product #] ?~2015? Howell major project : Bill Lucas "Universal force", Chapter 4 (on hold for >3 years) #] "$d_webRaw"'Lucas/180313 Howell to Lucas - EU2017 comments.txt' #] www.BillHowell.ca 12Mar2018 initial notes #] May-Jun2021 test analysis (very initial musings) Dr. Fauci's corona virus emails # +-----+ #] 17Oct2021 TypeChecking : the [good, bad, ugly], stability versus generality file operations : much more critical!!! - [loss, corruption] of data - computer [lockup, freeze, reboot] s q frequent without fileop checks - pragmatically always check [dir, pth] exists Go for generality - [power, flexibility, unintended capabilities, overloading, expressiveness] - do NOT type check Type check - ?how to decide what level to check at? - key time consumers, try to reduce the cost! - try to avoid many layers of checking the same thing - complex [var, ops, tr] - can be key for [debug,]!! eg. complex ary restructuring Can I build a "typeCheck" [operator, transformer]? eg typeCheck str_posnLLOfChrAll_subStr str subStr typeCheck IS TR f A - if "standard" nomenclature is used in IS OPs, then it should be easy to typeCheck! #] 19Oct2021 typeCheckRun - generic type-checksed on symName args? don't have to modify [expr, optr, trans]? Can I [adapt, adopt] : standard open-source [spelling, grammar] checkers? Tom Cobb's language learning system? +--+ #] Example of stability versus generality - str_posnLOfChr1st_subStr # str_posnLOfChr1st_subStr IS OP str subStr - returns list of Substr positions in Str, or an error { IF (NOT AND (EACH isstring str subStr)) THEN fault link '?str_posnLOfChr1st_subStr error: NOT AND (EACH isstring str subStr)' ELSE positionL := first subStr findall str ; (subStr EACHRIGHT = ( tally subStr EACHRIGHT take ( positionL EACHLEFT drop str ) ) ) sublist positionL ENDIF } # str_posnLLOfChrAll_subStr IS OP str subStr - returns list of Substr positions in Str, or an error # a single position is returned as a solitary so it can be used in subsequent EACH expressions etc.... { firstChrs := str_posnLOfChr1st_subStr str subStr ; (tell (gage shape) subStr) EACHRIGHT + firstChrs } # str_posnLOfChr1st_subStrL IS OP str subStrL - all subStr 1s chr positions, for EACH subStr, in Str # returns initial 1st char positions for each subStr, or a [null, error] str_posnLOfChr1st_subStrL IS OP str subStrL { str EACHRIGHT str_posnLOfChr1st_subStr subStrL } # str_posnLLOfChrAll_subStrL IS OP str subStrL - all subStr positions, for EACH subStr, in Str # just returns initial char positions for each subStr, or a [null, error] str_posnLLOfChrAll_subStrL IS OP str subStrL { str EACHRIGHT str_posnLLOfChrAll_subStr subStrL } # +-----+ #] 17Oct2021 userWkspSymbols - detailed data in use #] userWkSpcSymNameL := standard symbol [name, [pre, post]fix, [adverb, ]] in the user workspace, #] see link d_Qndfs 'QNial userWkspSymbol header.ndf' #] with [grammar, syntax] to build symbol names #] 17Oct2021 initial list generated, text-only, not much structure #] 28Oct2021 userWkSpcSymNameL assignment is working, starting point for [optr, etc] 08********08 #] +-----+ #] 21Oct2021 Nomenclature - [, ad]verbs extract NOT get!! confusion with QNial gets... retrieves output from input according to some [criteria, method] # enddoc