| #####"################################################################ | http://CoSy.com ` \4thCoSy\CoSy\CoSy.csy startJob | open intro ( paradigm ) CoSy Job | ###################################################################### | | Tap F1 for Help | | ###################################################################### | |\/| MY almost RAW SCRIPT UP TO THIS POINT |\/| | \/ \/ \/ \/ \/ \/ \/ \/ | Tek Log | \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ | ` script0 -> textwdo @ getcaret `( sys Tui caret )` Dv@ | ` 2900,1 textwdo @ setcaret lst bye ` getcaret See | ======================== | Mon.Dec,20191230 | ======================== | ` con Words blMV R0 blMV ncon con nconn conn conb ncconn ccon cconn cconb ` ASCIIbrowser Dv@ lfVM 65 91 2_i thru at Xwords { -1 _at } 'm ,/ blVM -1 _cut >t0> rho rShow rGet >T0> 434. 2283. 2_f %f lst>stk mini >T0> T0 { lst>stk mini } 'm ' +/ 'm ,/ ev >T0 dsc >T1> | ' maxi ./ | { ['] mini ./ } 'm lst>stk mini ` lst>stk See T0 ,L >T0> rho T0 { rho' ,/ } 'm | ' +/ 'm { { 64 _i i 'm dsc 64 _i t1> t0 t1 ,L flip { ['] maxi ./ | ======================== | Tue.Dec,20191231 | ======================== | | 1454 | ` c>f :?? rShow ` ./CoSy/Furniture.f F> rUpdate f( -17.778 -11.4286 0 )f c>f | see screenshot at | \/ | https://www.facebook.com/groups/2225595150855239/permalink/2650439021704181/?comment_id=2650605735020843 | 2220 | | ################################ 20200101 ############################# | | ======================== | Wed.Jan,20200101 | ======================== | rGet lf>nl ` C:/4thCoSy/Physics/general.f F> | F> rUpdate ` C:/4thCoSy/Physics/SB.f F> ` close Words ' :?? 'm | ======================== | Fri.Jan,20200103 | ======================== | s" 2020-01-01 12:07 1,424 CBoC.csv" >t0> drb |>| s" 2020-01-01 12:07 1,424 CBoC.csv2" ` drb :?? rShow ` ./CoSy/Furniture.f F> rUpdate : drb "bl : dre 2p> swap cL R@ =c >a> 1 _rotate a> mini 0=i & L@ swap at 2P> ; t0 drb text> daylncut s" : drb " con | i( 20190325 20190411 20191015 )i { ( x = * y ) _ y : y _di & t & 1 ! t : x = y : x , y } | It's possible to sF6 even thru these lines w a stackframe and use of ' >a> vocab | frame can be spotted on the stk because = SFptr @ @ | t0 "bl 2p> cL R@ =c >a> 1 _rotate a> mini 0=i o | & L@ swap at 2P> | bug is failure to trim bool . : drb "bl : dre 2p> swap cL R@ =c >a> 1 _rotate a> mini -1 _cut 0=i & L@ swap at 2P> ; rGet lf>nl ` ./CoSy/Furniture.f >F | ======================== | Sat.Jan,20200104 | ======================== | | 1838 | abt tv screen diags | f( 36.07 21.07 )f norm | ` .\CoSy\math.f F> ^eval | 20200105.1253 | : dlc >_ .> >aux 1p> dup { aux@ <> } f?m cut auxdrop 1P> ; | error was in ' f?m itself using ' aux vocabulary vs the loop only ' lpstk . s" asdf asdf " "bl dlc | ======================== | Sun.Jan,20200105 | ======================== | | | frm FB | https://www.sonyaz.net/foto-galeri/poland-just-unveils-a-glow-in-the-dark-bicycle-path-thats-charged-by-the-sun/193/resim/6 | luminescent bike path | 6 feet wide and 330 feet long and cost roughly $31,000. 6 330 2_i *i i>f |>| 1980 | 31000. _f R0 %f |>| 15.65 | per sq ft | 31000. 200. 2_f %f | extract just definitions -- which must begin at very left of line ` ./CoSy/CoSy.f >t0> F> >t1> t1 "nl ` : cL tokcut 1 _cut >t1> t1 { s" ;" prt<=f } 'm >t0> rho | first time I've extracted just defs t0 ` lpstk con t0 ` aux con ` do con >t1> t1 { blVM 1 _at } 'm blMV |>| eachMcr ,I ,s takeb eachMfr eachMfir eachDfr eachDfir takef s>iv _at\ _at! rotate take fmtI fmtF eachm dvi | /\ | these operators need to have ' aux words replaced w ' lpstk equivalents . ` ./CoSy/CoSy.f >t0> F> >t1> rShow t1 rUpdate rGet lf>nl t0 >F rShow : m/d/y>ymd s" /" VM -1 _rotate ,/ ; ` 09/26/2019 m/d/y>ymd 20190926 ` csv>lst ?? s" 09/26/2019" s" /" VM -1 _rotate ,/ | s" 20 0 0" blVM ' cL 'd s" 0 0 20" blVM ` 1/1/2020 ` / VM | ' cL 'd | s" -2 -2 -4 ' fill 'd ` 001 -2 _fill ` fill Words | convert format . requires leading 0s . ` ./CoSy/Furniture.f >t0> F> >t1> rUpdate rGet lf>nl t0 >F ` dlc :?? 23. ` c>i :?? res> rUpdate ` strings Help | ======================== | Wed.Jan,20200108 | ======================== | 1024 _iota 2 _i 10 _take take | Works ! | 10 dimensional array ! | : StartJob s" cosy@.bat " swap cL start ; | Start a ` .csy Job | eg: | ` C:\CoSyBob\acnts\y20\Acnts.csy StartJob Added to ./CoSy/Furniture.f | 0133 | | ======================== | Thu.Jan,20200109 | ======================== | i( 7 11 13 )i -1*i reverse i( 7 11 13 17 )i i( 1 -1 )i +i | ======================== | Sat.Jan,20200111 | ======================== | | 0826 | `( asdf qwer uiop )` i( 1 0 )i at >t0> t0 rho 2 `( asdf qwer uiop )` i( 1 )i at >t0> t0 rho 4 text> lfVM rho | need to reinstate saving of bkup bkup on F6 | 1635 | s" C:/4thCoSy/CoSy/TuiE.f" F> rUpdate s" C:/4thCoSy/CoSy/SaveRestore - Copy.f" F> rUpdate ` savedic :?? ` ./CoSy/SaveRestore.f F> rUpdate s" C:/4thCoSy/CoSy/Tui.f" F> rUpdate rShow { { save `res `resvar Dv! textwdo f6 gui-default } add-callback gui-default } key-F6-cb | ======================== | Sun.Jan,20200112 | ======================== | rShow s" C:/4thCoSy/CoSy/SaveRestore - Copy.f" F> rUpdate : savedic ( -- ) | save dictionary | see also 20190330 R storelst str | computed 1st , the left on stack ` COSYSTARTFILE ?? COSYSTARTFILE dup s" \" ss -1 _at i1 +i take >value CoSyDir s" del " COSYSTARTFILE -4 _cut cL s" .bk" cL | { shell nil } onvan drop s" ren " COSYSTARTFILE cL s" .bk" cL cL CoSyFile >r> van shell r> ref0del COSYSTARTFILE s" .csy" cL Foverwrite ; ` bkupprev ?? ` See See ` aaply ?? res> lfVM rho | ======================== | Mon.Jan,20200113 | ======================== | ` macro Help ` inline ?? : startJob s" cosy@.bat " swap cL start ; ` startJob See | ======================== | Sun.Jan,20200112 | ======================== | text> rho | ======================== | Mon.Jan,20200113 | ======================== | res> >T0> T0 lfVM >t0> rho | ======================== | Tue.Jan,20200114 | ======================== | ` BROWSER Dv@ |>| "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" t0 ` BROWSER Dv! ` BROWSER Dv@ |>| ""C:\Program Files (x86)\Mozilla Firefox\firefox.exe"" | updated BROWSER since Chrome freezes | s" ""C:\Program Files (x86)\Mozilla Firefox\firefox.exe"" " | ======================== | Thu.Jan,20200116 | ======================== | ` iota :?? ` _i :?? ` number ?? res> >t0> rho | ======================== | Fri.Jan,20200117 | ======================== | `( memb take cut )` ' :?? 'm | ======================== | Sat.Jan,20200118 | ======================== | | 1147 | : FullCoSyFile COSYSTARTFILE s" ." prtvalue CoSyDir FullCoSyFile s" help ren " shell> | defined ' bkuplast . added to ` CoSy.f . | added to ' save in ` Tui.f to restore saving bkup copy on every save . | 2123 | Dnames sym>str>' zic Words .. ` sym>str>' conn -5 5 2_i thru +i at ` sym>str :?? : sym>str ( sym -- ) dup TypeC over Type! dup sym# over cell+ ! byte swap bits! ; ` asdf >t0> sym>str : sym>str ( sym -- ) TypeC over Type! dup sym# over cell+ ! byte swap bits! ; ` sym>str See | ======================== | Sun.Jan,20200119 | ======================== | Dnames sym>str>' | ======================== | Mon.Jan,20200120 | ======================== | `( 0; 00; 0drop; )` ' Help 'm ` asdf dup sym>str ` 0;drop Help ` asdf str>sym> dup sym>str DMP drop TypeC over Type! dup sym# over cell+ ! byte swap bits! ` sym>str See dup DMP Dnames | sym>str>' | R 0 _at! COSYSTARTFILE F> str>lst >T0> dsc T0 dsc sym>str>' enc T0 0 _at! T0 dsc ` help vx_ _i T0 ` tmp.csy >F ` tmp.csy F> ,/ rho T0 ` ToDo wheresym T0 1 _at 4 _at ` =I :?? text> "bl =c +/ |>| 22127 t0 100 _take | ======================== | Wed.Jan,20200122 | ======================== | ` ;; Help ` =I :?? 1234 not not negate _i T0 dsc T0 1 _at rho' ,L flip T0 255 _iota i1 +i i>c 11 _iota dup *i ` ref Words res> lfVM >t0> rho t0 ' drb 'm ' :?? 'm ` refs- :?? text> blVM rho ` cut :?? | ======================== | Tue.Jan,20200128 | ======================== | ` _iota ' :?? ' See ,L ' xeq 'R ` _iota :?? ` ./CoSy/CoSy.f F> nlVM >t1> s" : _iota " conn t1 650 _i 40 _iota +i at | ======================== | Wed.Jan,20200129 | ======================== | T0 dsc >t0> T0 t0 { v@ rho } 'R text> rho R dsc sym>str>' R 1 _at ,L lst>str CoSyDir ` T1.csy cL >t0> >F | renamed to CoSy w Dname symbols replaced w simple strings . Now can get rid of all syms t0 startJob CoSyDir dir | 0022 | | ======================== | Thu.Jan,20200130 | ======================== | ` ./CoSy/K_verbs.csv F> nlVM ' htVM 'm >t0> t0 t0 ' dsc 'm ` nest conn at : 0 >T0> | "Date","Amount","Credit or Debit" , "Check Number","Description" T0 ` " =c ' I->M eachMir ' <> scanI 0T1> | 0142 | | 20200201.1332 | defining non-float ' convo | still not happy w need to return naked | T1 i( -1 1 )i { *i +/ >_ } convo | differentiation T1 i( 1 1 )i { *i ['] maxi ./ >_ } convo T1 dsc swap cL 0=i | 1453 | i( 1 1 )i ' maxi ./ : I>M ['] I->M eachMir ; ` i>m ?? text> daylncut >t0> rho t0 ` literal con reverse ` s>iv ?? T0 ` " =c ' <> scanI ' <> scanI 0iv ; tst | ======================== | Sun.Feb,20200202 | ======================== | | 1420 | Cleaning up & consolidating quote masking . see 20200130 . res> >T0> |>| "Date","Amount","Credit , Debit" , "Check Number","Description" : I>M ['] I->M eachMir ; | & inverse added to CoSy.f : qmsk I>M ['] <> scanI 0a> 1 1 2 s>iv { *i ['] maxi ./ >_ } convo a> dsc swap cL ; T0 ` " =c qmsk T0 R0 fmt "bl zic ,L ssr ,L | test : "msk ` " =c qmsk ; | 2152 | ` ./src/reva.f nlVM ` compiling? con | 2318 | | ======================== | Mon.Feb,20200203 | ======================== | {{ 1 if s" true " else s" false " then }} 1 [IF] s" true " [ELSE] s" false " [THEN] | ======================== | Tue.Feb,20200204 | ======================== | | added ' qmsk to ./CoSy/Furniture.f | 1606 | | ======================== | Wed.Feb,20200205 | ======================== | Xwords { 0 _at "bl prt>f "bl cL 15 _fill } 'm >t0> t0 Xwords { 1 _at blVM rho fmt } 'm ' cL 'd Xwords { 1 _at blVM rho } 'm ,/ +/ ` fill :?? res> lfVM t0 cL >t1> rho ` con Words res> lfVM >t0> rho t0 blMV ` prt Words blMV ` ./CoSy/Job.f F> ` script0 -> i( 0 0 )i `( sys Tui posXY )` Dv! | Given a ` text log containing ledger entries in the form : | (' 20191207.1045 _f ` PSBT ` ATT 52.81 _f s" acnt# 2650193386 5556667777 " ') | extracts & cleans all such lines : ledgerlns lfVM s" (' " con ['] dlb 'm s" (' " in { s" ')" prt<=l } 'm ; zic ` .\CoSy\AcntFns.f >F | created new ` AcntFns script & added ` .\CoSy\AcntFns.f F> | ======================== | Sat.Feb,20200208 | ======================== | | 1144 | https://www.facebook.com/groups/2225595150855239/ ` dot Words CoSyDir ` /b cL dir nlVM ` y201 con text> CoSyDir ` y2019.txt cL >F CoSyDir ` y2019.txt cL >t0> F> >t1> t0 F> ` C:/CoSyWeb/4thCoSy/Code/CoSy/y2019.txt />\ >F | belatedly saved y2019 text & cleaned out from current | 1623 | ` C:\CoSyWeb\4thCoSy\Code\CoSy\ dir nlVM dae >t0> rho CoSyDir dir nlVM dae >t1> rho t0 t0 { "bl prt>l } 'm t1 { "bl prt>l } 'm memb & at t1 t0 { "bl prt>l } 'm t1 { "bl prt>l } 'm swap memb & at ` membv :?? | ======================== | Sun.Feb,20200209 | ======================== | 20200210.2004 | ` parsews ?? | takes next word input and creates non-blank string | 20190304 macro : ` p: parsews _str compiling? if refs+> literal, then ; forth : ` compiling? if parsews _str ; ` asdf s" ` " :?? ` compiling? ?? : `t parsews _str ; : `t parsews compiling _str ; `t asdf Xwords ,/ ` comp conn >t0> | | ======================== | Mon.Feb,20200210 | ======================== | | changed ' i@ in 'L 'R 'm to ' _at to eliminate long standing problem w ints | ' 'd is defined much more recently w ' eachm and cleaner . i( 17 19 41 45 )i i( -1 0 )i { swap _i swap +i } 'L i( 17 19 41 45 )i i( -1 0 )i { +i } 'R | list words defined on either side of 'd zic Words .. ` 'd conn 10 _iota -5 _i +i ' +i 'L ,/ at Xwords ,/ ` comp conn i( -1 0 )i ' +i 'L ,/ Xwords ,/ .. ` comp conn i( -1 0 )i ' +i 'L ,/ at i( 17 19 41 45 )i i( -1 0 )i { d swap _i cL } 'R zic Help `( classes flow-control program-control strings )` ' Help 'm `( 'constant 'defer 'does 'forth 'inline 'macro 'macront 'notail 'variable forth inline macro mnotail notail without~ with~ )` ' Help 'm ` _n ?? | : _n nil ; | _n 3 _take | ======================== | Tue.Feb,20200211 | ======================== | ` i@ ?? | need to replace in most places w ' _at | s" _n " ?? | _n $. cr nil DMP | | alias: _n nil | tried to do something profound . doesn't work | 1531 | ` p: ?? macro : t` parsews compiling? if (") then p: _str ; forth : `t parsews _str ; macro : `t parsews compiling? if ." cmp " (") $.s then cr $.s _str ; forth macro : `t parsews _str ; forth : ` p: parsews compiling? if refs+> literal, then ; s" ` " ?? | ======================== | Wed.Feb,20200212 | ======================== | | 1501 | : tst " qwer " .s (") .s cr ; ` (") ?? | looking at the date stamp in the result , I realized | I had essentially solved it ~ 3 years ago implementing ' s" | : "_ '" parse compiling? if (") ;then "" ; | 20180306 ` C:/4thCoSy/CoSy/y2018.txt F> daylncut ` 20180306 con 1 _cut | | \/ | added to ./CoSy/Derived.f misc fns | \/ | | convenient for seeing items around a found item . : _-+ _i : -+ .. 2 _i *i iota swap -i ['] +i 'L ; i( 17 19 41 45 )i 5 _-+ macro : `_ parsews compiling? if (") ;then "" ; : `t p: `_ p: _str ; forth | works . Updating def of ` ` . : tstt ` asdf reverse ; | 1807 | uploaded to CoSy.f by strings | 1902 | | Charles Moore's Forth is the only language , because of its minimalist path | from the chip to an interpretive environment to make the distinction between | interpretation and comilation so explict and controlable . | I am only now getting a handle on it . | Thu.Feb,20200213.1124 | | ======================== | Fri.Feb,20200214 | ======================== | s" parse " Help ` ./src/revacore.asm | Doing something I should have done way back if I had confidently known enough | I see no point in not making ` ' state smart since ['] is the worst source of | gotchas . macro : ' compiling? if p: ['] ;then prior ' ; forth : tst 6 _iota 6 _iota ' +i 'L ; tst 6 _iota 6 _iota ' +i 'L DMP xeq ` prior Help ` tst See ` compiling? See t1 lfVM `( [IF] )` conn ` insert-state ?? | ======================== | Tue.Feb,20200218 | ======================== | ` ' :?? : `_ ` "bl cL ; `_ asf >t0> reverse | ======================== | Wed.Feb,20200219 | ======================== | Updated | http://cosy.com/4thCoSy/ | distro | 1722 | `D@ ASCIIbrowser 32 255 2_i thru i>c >t0> rho t0 enc' 4 _partition ' ,/ 'm | ======================== | Fri.Feb,20200221 | ======================== | ` ./lib/math/floats ` fnegate ?? | `( f. fv. TypeFv )` ForthVerb beginning vocab commented out ` f. ?? ` (f.) ?? -2000.3398 _f 10. _f 4. _f ^f >a> *f .5 _f +f floorf a> %f | 2113 | encountered problem w eg: -2000.3398 outputing as -2000.3397 | appears the only soln is actual rounding . | translated from K | { ( _ ( x * y ) + .5 ) % x : 10 ^ x } | | ( x y -- round x to y places ) : rnd 10. _f swap ^f >a> *f .5 _f +f floorf a> %f ; -2000.3398 _f f( 3 4. 5 )f rnd |>| -2000.3398 : F. ( fv -- ) dup i# 0 ?do dup i if@ f. loop ref0del ; ` >a> ?? : tst 1. _f .5 _f +f ; tst 1 s>f _f ` round ?? -2000.3398 _f | Sat.Feb,20200222 | | ======================== | Tue.Feb,20200225 | ======================== | | semi-standardizing on use of caps to indicate CoSy level version of word s" eval " ?? ,/ ,/ lfVM ` ^eval ncon ' ,/ 'm rho | ` `_ ?? | deleted \/ from CoSy.f | " " (sym) refs+> constant `_ | empty symbol . Raises issue of notation of empty symbol don't have in K . ` `_ ?? | ======================== | Thu.Feb,20200227 | ======================== | ` swap See 58. 365.25 2_f *f |>| 21184.5000 58. 365.25 f* _f |>| 21184.5000 | Changing name of COSYSTARTFILE . Irritated me long enough . ` COSYSTARTFILE ?? >t0> ' dsc 'm blMV `( ./CoSy/CoSy.f ./CoSy/Derived.f ./CoSy/Tui.f )` >t0> t0 { >a> F> a> ` .bk cL >F nil } 'm | remarkably simple to back up files . t0 { F> ` COSYSTARTFILE ss } 'm | realized too many dependencies to spend time : CoSyStartFile COSYSTARTFILE ; | this really should be the name | added to CoSy.f | ======================== | Fri.Feb,20200228 | ======================== | ` ^eval ?? | changing to Eval . Just aliasing for now . ` eval ?? | really need +\ : +\ dup Type@ TypeI =if ' + scanI ;then ' f+ scanf ; ` ledgerlns :?? | ======================== | Sat.Feb,20200229 | ======================== | ` saveTSclone ?? ` script0 -> | 20200301.1453 | removing . I see no need . | | Tue.Aug,20160823 | == | | : NewJob> dup+ : NewJob s" " swap Dv! ; : `f parsews >>fl drop _f ; | ======================== | Tue.Mar,20200303 | ======================== | : Monthnms 12 _iota { >_ monthname _str } 'm ; | adding to ./CoSy/Furniture.f | Motivated by a friend's BD . Been posting bytes of CoSy to FB friend's BDs . s" March 3, 1961" blVM >t0> (' s" 3 _take Monthnms swap conn i1 +i " s" ` , zic ,L ssr Eval _i " s" Eval _i " ') >t1> t0 t1 ' Eval 'd | this is pretty profound . apply each of the 3 computaions to the corresponding item R0 ,/ lst>stk_ dtpk _i |>| 19610303 R0 20200303 _i Daysdif |>| 21550 | ======================== | Thu.Mar,20200305 | ======================== | | https://optima-systems.co.uk/palindromes-in-apl-python-and-other-programming-languages/ : palindrome .. reverse match ; `( no yes )` ` 20200202 palindrome at ` palindrome See | ======================== | Fri.Mar,20200306 | ======================== | | em> SV-FIG ` csv>DT :?? ` +\ See : +\ dup Type@ TypeI =if ' + scanI ;then ' f+ scanf ; | need | 20200228 : tst ' + _i ; tst 10 _iota i>f >t0> t0 +\ | ' f+ scanf s" ' " :?? | bizarrely in Tui.f . Moving to Util.f . oops : std def needed ' ` -cb: ?? zic Words s" '" conn 5 _-+ | ' at 'm macro : ' compiling? if p: ['] ;then prior ' ; forth ` ./lib/ui/gui | F> nlVM ` ' con t1 nlVM ` -cb: con t1 nlVM ` action: con | ======================== | Sat.Mar,20200307 | ======================== | ." Hello World " | comparison w ` Python . https://twitter.com/CoherentSystems/status/1236797232072003585 text> daylncut ` td> con reverse ` braket :?? ` csv>lst :?? 4.6 _f 2. .5 2_f ^f %f Xwords >t0> rho |>| 23 t0 { 1 _at rho } 'm ,/ >t1> R0 +/ | ======================== | Tue.Mar,20200310 | ======================== | https://www.nytimes.com/interactive/2020/world/coronavirus-maps.html res> lfVM dae >T0> rho T0 i( 109 2 )i take ' ,/ 'm { c>i nub } 'm | unique chars as ints T0 109 _partition >t0> : _nths --bab / swap 2 s>iv ; T0 T0 rho >_ 2 _nths take >t0> t0 { 1 _at "ht zic ,L ssr ` , zic ,L ssr } 'm >t0> t0 { Eval 2_i cL i>f } 'm >t1> t1 { reverse ' %f ./ } 'm ,/ t1 flip { ,/ +/ } 'm ,/ reverse ' %f ./ |>| 0.0351 | 1506 | | posted as 2019 COVID statsDemo | https://youtu.be/INuBPa15GAM | ======================== | Wed.Mar,20200311 | ======================== | | 1129 | Xwords flip 1 _at ,/ rho .0004 10000. 2_f *f | ======================== | Sat.Mar,20200314 | ======================== | | https://www.facebook.com/groups/2225595150855239/permalink/2807911852623563/ s" >t0 f( 4 2 1 1 )f f( 1 4 5 6 )f t0 8. _f *f +f %f ' -f ./ 16. _f t0 ^f %f " >t1 14 _iota i>f { t1 Eval } 'm ,/ +\ fmt$ ` | 14 _iota 3 _i fmtnI ' cL 'R { "bl cL } 'm R0 ' cL 'd : fmtnI >_ >aux { >_ aux@ (.r) _str } 'm auxdrop ; | 35 _iota i>f { t1 Eval } 'm ,/ +\ fmt$ ' cL 'd ` lst Words | ' :?? 'm ` R0 ,/ +\ |>| 3.1416 ` fmt Words ` I con ' :?? 'm R0 fmt$ 5 _iota 3 _i fmtnI s" f( 4 2 1 1 )f f( 1 4 5 6 )f t0 +f 8. _f *f %f +/ 16. _f t0 ^f %f " >t1 ` fmtnI :?? ` (.r) Help 16. 12. 2_f ^f >t0> fmt$ ,/ |>| 281474976710656.000000000000000000 f1. t0 %f t0 1%f cL fmt$ blMV |>| 0.000000000000003552 0.000000000000003552 ` 00000000000000 rho |>| 14 f1. t0 %f t0 1%f cL 10. 14. 2_f ^f *f fmt$ blMV |>| ` 1/f :?? : 1/f inline{ d9 e8 de f1 } ;inline | fld1 fdivrp ` ./CoSy/math.f F> Eval f( 22 355 )f f( 7 113 )f %f pi cL fmt$ | ======================== | Sun.Mar,20200315 | ======================== | ` >t0> :?? ` ?? ` create Help res> blVM ' Help 'm ` mdy Words : m/d/y>ts ` / "bl ,L ssr Eval --bac dtpk _i ; ` 2/18/2020 m/d/y>ts |>| 20200218 s/" : m/d/y>ts ` / \"bl ,L ssr Eval --bac dtpk _i ; " blVM dae ' :?? 'm i( 1 0 2 )i at blMV Eval dtpk _i ` gcd ?? >t0> t0 i( -4 -2 -2 )i { } 'd t0 dsc | 4 _i fmtnI ` (.r) ` fmtnI ?? ` rot Words | ======================== | Tue.Mar,20200317 | ======================== | Volume 19, Issue 2Dec. 1988 | https://dl.acm.org/doi/10.1145/379354.379368 http://www.cosy.com/y20/JackRudd1988quote.jpg | ======================== | Wed.Mar,20200318 | ======================== | ` venn :?? | ======================== | Fri.Mar,20200320 | ======================== | https://covidtracking.com/data/ https://dailycaller.com/2020/03/19/coronavirus-map-united-states-deaths-cases/ COVID by state res> >T0> rho T0 ` C:\CoSyWeb\y20\COVID_USAstates20200320 >F https://www.powerlineblog.com/archives/2020/03/stop-the-insane-overreaction.php In the last 21 days, approximately 162,000 Americans have died. Of that number, 150 were killed by the Wuhan virus. | 2201 | Kompozer is adding tons of unknown tags . ` C:/CoSyWeb/CoSy/StartingPoint.html >t0> F> >t1> rho T0 t1 ,L ' lfVM 'm lst>stk venn | Only in CoSy | t1 ` T1> T1 1 _cut >t0> { dup ` > where i1 +i take } 'm | ======================== | Sat.Mar,20200321 | ======================== | | https://www.cebm.net/global-covid-19-case-fatality-rates/ T1 1 _cut >t0> { dup ` > where i1 +i take } 'm ` C:/CoSyWeb/CoSy/StartingPoint.html F> >T0> rho T0 ` t0> T0 i0 t0 ,I cut 1 _cut { ` > where i1 +i } 'm ,/ >t1> rho | added ' t2 and ' t3 variables to ' t0 and ' t1 | 1435 | t0 t1 ,L flip { ,/ lst>stk iota +i } 'm ,/ >t2> T0 t2 dvi ` ssd >t3> rho t3 ` C:/CoSyWeb/CoSy/StartingPoint.html >F ` zic ?? T1 1 _cut { lfVM rho } 'm ` t Words T1 dsc DMP | ======================== | Sun.Mar,20200322 | ======================== | ` asdf 5 _i iota ' take 'R | ======================== | Mon.Mar,20200323 | ======================== | s" cL VM >t0> # t0 ` heidi con t0 { `
" blVM reverse blMV ` < ` | \/ | ForthWin words res> >t0> rho t0 >T0> T0 "lf "bl ,L ssr blVM dae >t0> rho t0 ` loc con | ======================== | Thu.Mar,20200326 | ======================== | | Motivated by the creation of $2T additional debt countered by No work . https://taxfoundation.org/summary-latest-federal-income-tax-data-2018-update/ $10.2 trillion in adjusted gross income (AGI) on 140.9 million tax returns in 2016. 10.2e9 _f 140.9e6 _f %f |>| 72.3918 | Adjusted ! GI | incredibly inefficient 119730128. _f 2.63 _f *f |>| 314890236.64 | households persons%house ` script0 -> ` "msk ?? | ======================== | Fri.Mar,20200327 | ======================== | ` ./CoSy/math.f F> | Eval tau `( Fact Planet#s Earth )` Dv@ : tau pi 2. _f *f ; tau |>| 6.2832 6.38e6 _f tau %f |>| 1015408.54 : fib .. -2 _take +/ cL ; i( 1 1 )i 20 times fib >t0> t0 i( 9 10 )i ' _modi 'R 10 _i _modi | ======================== | Sat.Mar,20200328 | ======================== | ` "msk ?? : qmsk I>M ' <> scanI 0a> 1 1 2 s>iv { *i ' maxi ./ >_ } convo a> dsc swap cL ; | ======================== | Sun.Mar,20200329 | ======================== | ` C:/4thCoSy/Physics/general.f | problem found in ' "msk on no : =c over i# intVecInit >aux ssc dup i# 0if refs- aux> ;then i1 aux@ --bca at! aux> ; ` at! :?? i1 10 intVecInit >t0> ev at! ` can't ?? | going to see if I can just have ' ix return empty for empty rather than throw error . | 1640 | nope . that won't work must do it at the ' at level . ` ix :?? | 1758 | i1 10 intVecInit >t0> ev at! t0 i( 2 5 )i reverse t0 i( 2 4 )i at! t0 3 _i t0 ev at! t0 t0 ` =c :?? ` 2sc ?? CoSyDir ` Furniture.f cL F> 12 _iota 2sComplement R0 >t0> F> str>lst ` text v@ daylncut >t1> t1 ` 0329 con | ======================== | Mon.Mar,20200330 | ======================== | ` .s ?? ` ./CoSy/CoSy.f ` ./CoSy/Furniture.f F> s" : " tokcut 1 _cut >t0> rho t0 ` ; con { ` ; prt<=f } 'm ` .s con | select just definitions | ======================== | Thu.Apr,20200402 | ======================== | 230. 220. f- .5 f* _f 230. 220. .5 f* f- _f res> >t0> lfVM { ` ? prt<=f } 'm | ======================== | Mon.Apr,20200406 | ======================== | s" arg must be integer" ?? | ======================== | Tue.Apr,20200407 | ======================== | ` +-splt :?? : +-spltf ( fv -- v ) 1p> dup f-1 >i >a> & at R@ r@ 0=i & at ,L r> refs- 1P> ; ` C:\CoSyBob\acnts\y20\Acnts.csy F> str>lst `( WP Jared LedgerLst )` v@ >t2> t2 3 _at ,/ f-1. >f zic Words ` fill con t2 { ' fmt 'm } 'm >t3> : blpad { "bl cL } 'm : pad 1p> dup rho' ,/ ' maxi ./ ' fill 'L 1P> ; t3 4 _at >T0> T0 pad rho' ` blpad See | { "bl cL } 'm .. rho' ,/ ' maxi ./ ' fill 'L R0 rho' t3 4 _at { -1 _at } 'm { ' fmt 'm "ht MV } 'm ` >t0> :?? | ======================== | Thu.Apr,20200409 | ======================== | ` take :?? ` prt >T0> T0 | Eval ` ` :?? 8.1e6 _f .5 _f ^f | ======================== | Fri.Apr,20200417 | ======================== | ` asdflkwerfas ` s =c ` asdflkwerfas ` z =c | Type@ _i | ' =I each ` =c :?? : =c ['] ' =I fntype _i ` intFns ?? s" can't index empty" ?? ` ix ?? s" each " :?? ` =I :?? ` 2s See | ======================== | Sat.Apr,20200418 | ======================== | { */ 1 + ! x } : fact iota i1 +i ; 10 fact | _iota { 1+ } eachM : `_ p: ` "bl cL ; | append blank to make true blank delimited word . | after bombs & stupidities , added to Furniture.f | 20200420.1908 | | ======================== | Sun.Apr,20200419 | ======================== | | 0811 | | 1019 | w : 208.4 | 1141 | C:/4thCoSy/CoSy|CoSy200418.f|CoSy.f200227|CoSy.f| t0 ` | VM dae >t0> t0 dsc ` / cL t0 1 _cut ' cL 'R >t0> `( C:/4thCoSy/CoSy/CoSy200418.f C:/4thCoSy/CoSy/CoSy.f200227 )` { F> lfVM } 'm R0 >t1> rho' t1 lst>stk ` venn :??| | damn cat stood on UPS power switch & killed machine | 2122 | | ======================== | Mon.Apr,20200420 | ======================== | `_ each :?? ` =c :?? t1 lfVM ` DMP con | ` DMP con `_ =I :?? ` ./CoSy/CoSy.f_ >t0> F> rho | Dv@ ` ./CoSy/CoSy.f >F | 1958 | finally got the trivial ' =c sorted out vs ' =tok which still fails on empties : =c ['] =I each ; `( =tok ssc search )` ' :?? 'm ` maxi :?? ` toksplt :?? ", | ======================== | Tue.Apr,20200421 | ======================== | text> lfVM ` csv> con | ======================== | Fri.Apr,20200424 | ======================== | ` ./CoSy/CoSy.f F> >t0> rho 546 t0 ` : ss t0 `_ : ss rho | venn >t1> rho t0 lfVM ` | ======================== | Sat.Apr,20200425 | ======================== | | demo w Asa https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2364346360532051/?comment_id=2364370300529657&reply_comment_id=2368290593470961 100 5 / . 20 20 _iota 8 _i *i >t0> t0 i( 1 0 -1 )i +i 1 8 15 25 32 39 49 56 63 73 80 87 97 104 111 121 128 135 145 152 | ======================== | Sun.Apr,20200426 | ======================== | Re: an exercise in archæological algorithmic analysis |answer to Roger Hui https://forums.dyalog.com/viewtopic.php?f=30&t=1623&p=6419#p6419 res> >T0> T0 `D@ ALPHabet "lf "bl cL cL T0 membv (' "lf "bl ') ssr lower blVM dae >t0> rho t0 nub >t1> rho t1 t0 { ' strmatch 'L ,/ & } 'R >t2> : grp 1p> nub R@ swap { ' match 'L ,/ & } 'R 1P> ; t0 grp : nubgrp 1p> nub >a> R@ swap { ' match 'L ,/ & } 'R a> swap ,L 1P> ; t0 nubgrp flip t0 t0 grp { rho fmt "ht swap cL } 'm ' cL 'd ,L flip t0 t2 ' at 'R ' blMV 'm ` nub :?? ` where :?? t0 { t1 ' match 'L ,/ & enc } 'm `_ match :?? ` match ?? : grpib 1p> nub R@ ,/ ['] =i 'L 1P> ; | group integer bool dup i# _iota swap ' cl 'D ` nub ?? T0 lfVM blMV | `D@ ALPHabet "bl cL T0 membv T0 c>i >t0> 32 _i t0> F> >t1> res> >t1> t0 >F t1 res> >t0> lfVM rho' | ======================== | Sat.May,20200502 | ======================== | 2 base ! 1 1 + . 1010 base ! | 1406 | Really time to implement ' sort . | searching archives | See also section in ` state | ` C:/4thCoSy/CoSy|y2015.txt|y2016.txt|y2017.txt|y2018.txt|y2019.txt| >t0> t0 fullPaths t0 { F> daylncut s" sort" con } 'm | Quite a history ` script.sort >t0> Dv@ >t1> ` C:/4thCoSy/CoSy/y2015.txt F> >t1> t1 rUpdate | ======================== | Mon.May,20200504 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2374533782846642/ base @ >aux 2 base ! 01000111 01100101 01100101 01101011 aux> base ! 4 intVec R0 >t0> |>| 107 101 101 71 t0 i>c reverse |>| Geek | ======================== | Wed.May,20200506 | ======================== | 5 _iota 1 _i +i 2020 1934 - _i i>f 365.25 _f *f `( _i iota )` ' :?? 'm ` _iota :?? ` _i :?? ` asdf s" asdf" match |>| 1 | 1951 | | Anotated ' _iota | 1st use of just created | \/ | http://www.cosy.com/CoSy/AskMeAnything.html | 2354 | | ======================== | Thu.May,20200507 | ======================== | | BAA Zoom | 1033 | ` iota ?? ` apv ?? | ======================== | Sun.May,20200510 | ======================== | ` Type ?? ` Type See : Type @ _i ; i1 Type | ======================== | Sat.May,20200516 | ======================== | | ======================== | Sun.May,20200517 | ======================== | ` C:/CoSyBob/CoSy/y2019.txt F> daylncut 1 _cut >T0> ` C:/CoSyBob/CoSy/CoSy.csy F> str>lst ` text v@ daylncut 1 _cut T0 swap cL >T0> T0 s" w : " con >T0> rho T0 { lfVM >t0> 1 _at t0 s" w : " con cL } 'm >t0> t0 { dsc daylnDS ` , prt>f Eval _i } 'm >t1> t0 { 1 _at s" w : " prt>f "bl cL "bl prtt2> t1 { >_ ymd>fixed _i } 'm ,/ >t1> t1 t1 dsc -i ' fmtI 'm ,/ { "bl cL } 'm t2 ' cL 'd R0 lfMV ` .\tmp.csv >F t2 rho' | take { Eval _f } 'm ,/ t2 200 _take Eval _f t1 { >_ fixed>ymd _i } 'm t2 ,L flip >t3> t3 350 500 2_i thru at ` daysd ?? ` ymd>fixed :?? ` date ?? ` .\ dir | ======================== | Thu.May,20200521 | ======================== | `( ark morse )` Dv@ >t0> rho t0 0 _at t0 1 _at s" COME HERE WATSON " ' where 'R ,/ at at t0 1 _at "bl where { t0 1 _at swap where t0 dsc swap at } 'm ` where :?? ` flip ?? | ======================== | Sun.May,20200524 | ======================== | Pi 4. _f *f sqrtf ` _nth ?? ` C:/4thCoSy/CoSy/math.f F> Eval 6 2 _rand +/ 10 _iota { drop 6 2 _rand +/ } 'm ,/ : diceSum 6 2 _rand +/ ; diceSum (' 20 times diceSum ') ,/ ` times See ` rand Help ` lib/util/misc F> | ======================== | Tue.May,20200526 | ======================== | | ======================== | Wed.May,20200527 | ======================== | `_ fmt :?? text> daylncut ` fill con | ======================== | Thu.May,20200528 | ======================== | | updated | : \>/ ` \ ` / ,L ssr ; | to use ` instead of s" " | s" / \ " \>/ | \/ Added to ` ./CoSy/Furniture.f \/ | : blpad { "bl cL } 'm ; : pad 1p> dup rho' ,/ ' maxi ./ ' fill 'L 1P> ; | 1354 | ` rho :?? ` count Help | ======================== | Sat.May,20200530 | ======================== | `( script0 examples script.sort )` 2 _at Dv@ | spliting ` WorkLog from distro ` CoSy.csy | 1434 | R lst>str CoSyDir ` WorkLog.csy cL >F CoSyDir ` WorkLog cL | 1504 | ` \4thCoSy\CoSy\WorkLog.csy startJob | We'll see how this works out . ` script.sort >t0> Dv@ >t1> | 1529 | t0 Dv@ Eval : upper 1p> van strupr _str 1P> ; | surprised didn't have fixxed long ago . CoSy.f forgetsort t0 Dv@ https://twitter.com/CoherentSystems/status/1097259435687317504 1.03 _f 10 _take ' f* scanf ` scan ?? ` 1659 2020 1959 - _i 61. 365.25 f* _f | ======================== | Tue.Jun,20200602 | ======================== | | in | ` ./CoSy/Furniture.f | modernized \/ | | : WSb ( str -- bool_of_WhiteSpace ) { 33 ['] cL across ; : WSb ( str -- bool_of_WhiteSpace ) 33 _i ' t0> t0 WScut ` * con | ======================== | Wed.Jun,20200603 | ======================== | ` startJob ?? | split auto exit w ` startJobk persistant | working on | http://www.cosy.com/CoSy/y20/NL200525.html `( Type Count Refs Data... )` ' See 'm ` Type :?? | deleting from CoSy.f | ` Type@^ ?? ` simple?^ ?? | rendant bad names t0 `( Type Count Refs )` ' Eval 'R | Defined in CoSy.f words to match comment in NL | ======================== | Thu.Jun,20200604 | ======================== | | split distro & WorkLog ` ./CoSy/math.f F> >T0> Eval T0 nlVM ` rand con 10000 _i 10000 _i rand i>f avgf T0 R0 2 _i *i ` avg Words | ======================== | Fri.Jun,20200605 | ======================== | ` slurp ?? | ======================== | Sat.Jun,20200606 | ======================== | s" C:/CoSy/Mail/Local Folders/Archives.sbd/Previous.sbd/2017" F> >t0> rho | 64043978 | test can handle at least 60MB file | arkived bunch of backup file from /4thCoSy/ to C:\ark\ark200606 | 1707 | | 1718 | inet down . working on ` sort . ` ./CoSy/math.f F> Eval | needs alg/hsort ` hsort Help ` C:/4thCoSy/lib/alg/hsort F> rUpdate 100 20 _rand >T0> T0 |>| 12 65 8 60 33 30 40 8 24 31 T0 van cells/ hsort T0 100 20 2_i rand >t0> t0 van hsort t1 lfMV lfMV rUpdate | ======================== | Sun.Jun,20200607 | ======================== | | 20200714.1317 | `( asdf asdg )` >t0> ' c>i 'm : bswap asm{ bswap eax } ; | convert x86 little-endian to big so char strings ` bswap See | ?? ` asdf vbody @ _i ` asdg vbody @ _i cL fmtI$ ( 66647361 67647361 ) ` asdf vbody @ bswap _i ` asdg vbody @ bswap _i cL fmtI$ | can be factored to : ` asdf ` asdg { vbody @ bswap _i } on2 cL fmtI$ ( 61736466 61736467 ) | the above could perhaps speed ` strCmpr ` asdf ` asdg swap strCmpr rShow ` script.sort >t0> Dv@ >t1> rUpdate t1 Eval ` ./CoSy/math.f F> Eval rGet >t1> t0 Dv! 100 20 _rand >T0> T0 | hsorti Dnames 6 _take >T0> { oo cr strCmpr >_ 0 < } is compare T0 0 ix @ T0 1 ix @ strCmpr >_ _i T0 0 ix @ T0 1 ix @ compare _i ` compare See T0 sort. T0 hsorti T0 ilst >T1> T1 0 _at 1 _at forgetsort | ` C:/4thCoSy/CoSy|y2015.txt|y2016.txt|y2017.txt|y2018.txt|y2019.txt| >t0> | t0 fullPaths >t0> | t0 { F> daylncut ` hsort con } 'm dae >t1> | finding all days in files containg phrase | t1 lfMV lfMV rUpdate | ======================== | Mon.Jun,20200608 | ======================== | | 1105 | somewhat consolidated work on ' sort | 20200619.1653 20200621.1448 | | 20200706.0810 | | 20200709.2127 | ` ./CoSy/math.f F> Eval 100 20 _rand >T0> | ` script.sort >t0> Dv@ >t1> rUpdate | t1 lf>nl ` ./CoSy/sort.f >F | ` script.sort Dvdel | deleted from R | 20200608.1950 | ` ./CoSy/sort.f >Fn> F> >Ft> Eval forgetsort ` compare See : sorti ' < is compare rep_ dup van cells/ hsort ; 10 _iota reverse sorti zic Words #' ,/ ( sorti ) reverse grpix : sortstr .. { strCmpr >_ 0 < } is compare van cells/ hsort ; Ft ` sortstr See `_ > :?? ` > See ` strCmpr_ See : strCmpr_ strCmpr >_ 0 < ; | version for use in ' hsort : sortstr .. ' strCmpr_ is compare rep_ dup van cells/ hsort ; Dnames sortstr >t0> | reverse ` C:/CoSyBob/BAA200617.ml F> lfVM >t3> t3 sortstr >t0> rho t0 R0 reverse T0 sortstr ` strCmpr See zic Words 100 _take >T0> T0 sortstr >t0> t0 ' lower 'm sortstr res> rUpdate T0 ` help -> T0 0 ix T0 1 ix compare _i T0 dae >T0> # T0 hsorti works T0 { ` < prt>=f } 'm >t0> T0 sortstr 19 _iota reverse hsorti | 1608 | | 1929 | ` strCmpr :?? Dnames >T0> T0 0 ix T0 1 ix ' @ on2 ,L | swap strCmpr ` strCmpr_ See T0 0 ix T0 1 ix swap strCmpr_ _i ` compare See ` rep_ ?? : sortstr [ { strCmpr >_ 0 < } ] literal is compare rep_ dup van cells/ hsort ; ` sortstr See : tst { strCmpr >_ 0 < } ; tst T0 2 _take lst>stk strCmpr_ _i Dnames sortstr | 20200608.2021 | works T0 10 _take sortstr zic Help ` ilst :?? T0 ilst ' reverse 'm >T1> : igrade { dsc >_ } on2 > ; T1 0 ix @ T1 1 ix @ swap igrade _i ' igrade is compare ` compare See T1 >t2> t2 hsorti T1 ` hsorti See ` ./CoSy/CoSy.f Dvdel forgetsort | 2250 | ` startJob :?? | ======================== | Sat.Jun,20200613 | ======================== | `( swap @ )` ' See 'm Xwords { 1 _at blVM } 'm ,/ ` xch con >t0> t0 ' Help 'm ` xchg2 `( Help See )` ' Eval 'R ` rShow :?? `( setWdo showWdo )` ' :?? 'm ` IupShowX ` CoSy.f operators | ======================== | Sun.Jun,20200614 | ======================== | | having errors where because COSYSTARTFILE renamed rather than copied to .bk | was | s" ren " COSYSTARTFILE cL "bl cL CoSyFile cL s" .bk" cL shell^ : bkuplast s" del " FullCoSyFile cL ` .bk cL shell^ s" copy " COSYSTARTFILE cL "bl cL FullCoSyFile cL s" .bk" cL shell^ ; ` 0cut ?? ` ,sv>lst :?? ` dl, ?? ` min :?? 1 _i 0 _i mini `( mini )` ' :?? 'm | ======================== | Mon.Jun,20200615 | ======================== | | 1051 | i( 1 2 3 )i i( 3 2 1 )i ,L { ' >_ on2 +i enc } ./ 12 _iota i( 3 4 )i take { ' >_ on2 +i enc } ./ : +ia { ['] + eachDir } aaply ; | add 2 integer vecs i( 1 2 3 )i i( 3 2 1 )i ,L ' +ia ./ 12 _iota i( 3 4 )i take ' +ia ./ ` _./ ?? s" help copy " shell> COSYSTARTFILE ` 'm :?? CoSyDir dir zic dir ` C:\CoSyBob\acnts\y20\Acnts.csy startJob : start s" start C:\\Windows\\System32\\cmd.exe /k " swap cL shell^ ; : startJob s" cosy@.bat " swap cL start ; ` C:\CoSyBob\acnts\y20\Acnts.csy startJobk | ======================== | Tue.Jun,20200616 | ======================== | s" [ " ?? ` CShelpFul :?? ` fm/mod Help ` mod Help ` ./lib/math/doubles F> `( sys CoSySource )` Dv@ ` ` Words ` braket ?? | ======================== | Wed.Jun,20200617 | ======================== | | 0754 | ` ssr ?? i( 0 1 2 3 4 )i i1 ' +i 'L | ======================== | Thu.Jun,20200618 | ======================== | | 0929 | ` facto ?? 10 _i iota .. ' *i 'R ` ,L ?? ` asdf ` chew cL ` WScut :?? ` swap See | ======================== | Fri.Jun,20200619 | ======================== | ` C:/CoSyBob/MailLists.csy F> str>lst ` T0 v@ >T0> T0 # ` ./CoSy/sort.f >t0> F> >t1> Eval : sortstr { strCmpr >_ 0 < } is compare rep_ dup van cells/ hsort ; | working @ 20200608 . T0 sortstr `( sys CoSySource )` Dv@ rho zic Words rho ` venn :?? ` i# See ` aaply See res> >t0> lfVM # t0 blVM # | ======================== | Sat.Jun,20200620 | ======================== | | ======================== | Sun.Jun,20200621 | ======================== | ` { `( Help See ?? )` ' Eval 'R ` { (' ' Help _i ' See _i ' ?? _i ') { >_ xeq } 'R : `__ p: ` "bl cL "bl swap cL ; | added to ` ./CoSy/Furniture.f { ." character " } value tst tst xeq | @ 20200608 , late | Solved final problem w sorts . needed ' rep not rep_ | | ======================== | Tue.Jun,20200623 | ======================== | `( E:\CoSyBob\y17 C:\CoSyBob\CoSy\y17 )` { ` /b cL dir lfVM } 'm >t0> t0 lst>stk venn | changed ` t4 ` t5 to ` Fn & ` Ft temps for use w ` rGet etc to ` CoSy.f | ` Fn See | ======================== | Fri.Jun,20200626 | ======================== | `__ ptr ?? ` create `( :?? See Help )` ' Eval 'R ` .\lib\ ` util\disasm cL | \debugger cL | F> ` -rot ?? res> >t0> blVM ' Help 'm ` ~ ?? { -1 _at lfVM ` ~ con } 'm ` ~ Words zic Help '( _i | I forget that raw chars are returned for chars prefixed w ' | Xwords ' dsc 'm Xwords { 1 _at blVM ` ~ con } 'm ' ~debug.disasm _i ` search :?? | 2 versions in ` reva.f in inline hex | wanted to compare . | ' search has a bug which causes it to bomb on leading "bl . | cleaned down to hex lists res> >T0> T0 lfVM >t0> .. rho' ,/ 0=i & 0cut >t0> t0 { blMV drb } 'm >t1> | flip ' blMV 'm >t1> | see they only differ by trailing junk . : tst s" hex i( 1 2 3 a b bb )i decimal " Eval ; tst | converting hex hex i( 1 2 3 a b f bb ff )i decimal prior search See ` search See ` prior :?? ` @litcomp :?? ` cell+@ :?? ` search :?? | s" prior search 256 disassemble " forth> ,L ` forth> ?? | ======================== | Sat.Jun,20200627 | ======================== | | Sun.Jun,20200628 | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2416444031988950/?__xts__[0]=68.ARBoYWou4KuksW9rCBWW-N_aVCi0hp1YXYDry-gTLxi2tiyGIgCh-TwGfu5o6bpn9GoVg5yftUVpRLxM3uT95WjDH-jAT67UCvpV5meTfzg3baBBxZtDtGZiwqckQrRSuVBf-gIsbvvAbYJy_VtkVebjGnrsdAKL1hrVuAAB4F4mYNJwUrDayxImwR6USFmgWk0zaTsvNFLbJXY6Gf0s3x9w0BWzxappEvWR8j_XQjxGmAAl2npFiu4hjbBQ3UwI185erSRbtefkOTV8JcKAs05pdzPFwJUOO4C7kvrs0uEE6E8YpBwIW3mO&__tn__=-R | 20200628.0919 | `( x xl y yl )` 2 _partition ' blMV 'm ` . i( 50 100 )i take >t0> 5000 _iota i( 50 100 )i take >t0> i( 10 4 )i i( 15 8 )i ,L >t1> : idxs 1p> dsc R@ 1 _at iota +i 1P> ; | adding to CoSy.f | 20200628.1715 | t1 ' idxs 'm >t1> t0 t1 0 _at at { t1 1 _at at } 'm 0 _i t0 t1 0 _at at >t2> | { t1 1 _at at! } 'm tt2 1 _at DMP ` _DMP> ?? ` at! :?? ` => ?? | ======================== | Mon.Jun,20200629 | ======================== | | Finding the intersection of intervals . : StrtCnt>range >a> dsc a> +/ i1 -i cL ; t1 ' StrtCnt>range 'm >t0 | i( 10 12 )i i( 15 8 )i ,L | ' StrtCnt>range 'm >t0> : intersect flip ' ,/ 'm >a> dsc ' maxi ./ a> 1 _at ' mini ./ cL ; t0 intersect | ======================== | Wed.Jul,20200701 | ======================== | | following SV-FIG mail discussion : All 42 ; ` All See 0063A17C 8D 76 FC lea esi,[esi-04] 0063A17F 89 06 mov [esi],eax 0063A181 B8 2A 00 00 00 mov eax,0000002A 0063A186 C3 ret All _i |>| 42 | -- 42 value All : Allvalue All ; ` Allvalue See 0063A18C 8D 76 FC lea esi,[esi-04] 0063A18F 89 06 mov [esi],eax 0063A191 B8 88 A1 63 00 mov eax,0063A188 0063A196 E9 B9 8D DC FF jmp 'constant Allvalue _i |>| 42 | -- : GetAll All ; GetAll : AllAlong GetAll ; ` AllAlong See 0063A11C E9 EB FF FF FF jmp GetAll AllAlong _i |>| 42 |-- | where ` 'constant See 00402F54 8B 00 mov eax,[eax] 00402F56 90 nop 00402F57 90 nop 00402F58 8B 1D 9C 50 40 00 mov ebx,[state] 00402F5E 09 DB or ebx,ebx 00402F60 0F 85 66 03 00 00 jnz literal, 00402F66 C3 ret ` { Help hex DD decimal . | ======================== | Thu.Jul,20200702 | ======================== | FizzBuzz: One Simple Interview Question | https://youtu.be/QPZ0pIK_wsc 101 _iota i( 3 5 )i { _modi 0=i } 'R flip >t0> `( fizz buzz )` t0 { ,/ & at ,/ } 'R >t1> t1 { # 0=i } 'm ,/ & >t2> t2 ' fmt 'm t1 t2 at! t1 | 0128 | | 20200703.0623 | | ======================== | Fri.Jul,20200703 | ======================== | | 1033 | : fizzbuzz ( sv iv pv ) { _modi 0=i } 'R flip { ,/ & at ,/ } 'R >a> { # 0=i } 'm ,/ & >a> ' fmt 'm a> a@ swap at! a> ; res> Eval `( fizz buzz )` 101 _iota i( 3 5 )i fizzbuzz | blMV `( fizz Y buzz )` 101 _iota i( 2 3 5 )i fizzbuzz blMV ` fizzbuzz See >t1> t1 { # 0=i } 'm ,/ & >t2> t2 ' fmt 'm t1 t2 at! t1 To show generality of these APL level algorithms , here is the above compiled into a word complete with stack comment : : fizzbuzz ( strs ints primes -- strs ) { _modi 0=i } 'R flip { ,/ & at ,/ } 'R >a> { # 0=i } 'm ,/ & >a> ' fmt 'm a> a@ swap at! a> ; Thus , as before : `( fizz buzz )` 101 _iota i( 3 5 )i fizzbuzz ( fizzbuzz 1 2 fizz 4 buzz ... But , now it will work on any number of phrases and primes : `( fizz Y buzz )` 101 _iota i( 2 3 5 )i fizzbuzz blMV fizzYbuzz 1 fizz Y fizz buzz fizzY 7 fizz Y fizzbuzz 11 fizzY 13 fizz Ybuzz fizz 17 fizzY 19 fizzbuzz Y fizz 23 fizzY buzz fizz Y fizz 29 fizzYbuzz 31... where I've ` raveled the list with blanks as delimiter . So let's see That being done in a non APL language . Note: an aspect of CoSy Xwords { 1 _at blVM } 'm blMV # |>| 2348 | ======================== | Sat.Jul,20200704 | ======================== | | added ' #' to Furniture.f ` .\CoSy\CoSy.f F> "lf ` : cL tokcut 1 _cut >t0> # t0 { s" : " tokcut } 'm #' ,/ 2 _i =i & t0 R0 at t0 { ` ; prt<=f } 'm >t0> t0 { 1 _cut blVM dae } 'm >t1> #' t1 ,/ >t2> # t2 nub >t3> # Ft lfVM s" | ==" con | ======================== | Mon.Jul,20200706 | ======================== | ` ./CoSy/sort.f >Fn> F> >Ft> Eval 10 _iota reverse sorti Dnames sortstr | ======================== | Tue.Jul,20200707 | ======================== | `( hello world )` ` -! ' cL 'd | ,/ T0 drb | ` : VM { 1 _cut "bl prt >T1> T1 lfVM https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2424186751214678/?comment_id=2424325081200845 i( 1 5 10 25 100 500 1000 2000 5000 10000 )i reverse >t0> 1678 _i >t1> i0 t0 # take >t3> t1 >_ t0 3 i@ /mod _i t3 cL >t3> t1 >_ t0 { >_ /mod _i } _./ t0 # iota { t0 swap at cL } 'm t3 3 i@ _i ` intvec :?? : makechange t0 i# intVecInit >a> i# 0do t0 i i@ /mod a@ i i! loop drop a> ; t0 i# intvecinit ` vecin ?? 1678 makechange >t1> t0 t1 & at t0 t0 t3 ,L flip ' ,/ 'm | 2310 | | ======================== | Wed.Jul,20200708 | ======================== | s" C:/CoSyBob/CoSy/CoSy - Copy (6).csy" F> >t0> # | str>lst >t0> rho t0 # |>| 242832 t0 241000 + 1000 dump | ======================== | Sat.Jul,20200711 | ======================== | | 1018 | On Zoom 1 2 - _i >t0 t0 1000 _i take ` _i ?? ` _i See 10 _iota >t0> ` Hello t0 ' take 'R R # R 1 _at ' # 'm text> >t0> t0 daylncut ` 20200608 con | ======================== | Mon.Jul,20200713 | ======================== | `_ & :?? | ======================== | Thu.Jul,20200716 | ======================== | | added EarthYear to | `( Fact Fact )` Dv@ lfVM ` year con ` C:/4thCoSy/CoSy/CoSy.csy F> str>lst `( Fact Fact )` v@ `( Fact Fact )` Dv! | ======================== | Sat.Jul,20200718 | ======================== | | 1009 | demoed downloading | demoed uploading | 1021 | ` C:/4thCoSy/CoSy/CoSy.csy F> str>lst `( Fact Fact )` >a> a@ v@ `( Fact Fact )` Dv! ` .r Dv@ >t0> t0 ` Tui v@ | ======================== | Wed.Jul,20200722 | ======================== | res> lfVM >t0> t0 { drb blVM } 'm >T0> : -1_cut -1 _cut ; T0 i( 3 6 )i { at ' -1_cut 'm } 'L >T0> i( 1 5 10 25 100 500 1000 2000 5000 10000 )i reverse >T1> : makechange t0 i# intVecInit >a> i# 0do t0 i i@ /mod a@ i i! loop drop a> ; 12345 makechange >t2> t1 t2 0>i & >t3> at t2 t3 at >t2> 1 _i >i ' at 'd t2 ' fmt 'm R0 ' cL 'd | ======================== | Thu.Jul,20200723 | ======================== | ` else ?? ,/ ,/ ` else ss # ` then >t0> ?? ,/ ,/ t0 ss # ` ;then Help T0 T1 ,L : makechange >_ T1 i# intVecInit >a> i# 0do T1 i i@ /mod a@ i i! loop drop a> ; : mcfmted makechange >a> 0>i & >t0> a> swap at >a T0 t0 at a@ i1 >i ' at 'd a> ' fmt 'm swap ' cL 'd ; i( 48203 1234 98884 )i ' mcfmted 'm -1 _at blMV T1 | ======================== | Sat.Jul,20200725 | ======================== | i( 10000 5000 2000 1000 500 100 25 10 5 1 )i +/ |>| 18641 zic Help R0 "ht MV a@ auxx@ a@ at ' fmt 'm t0 ' cL 'd ` >aux :?? auxx@ ' fmt 'm T0 ' a# a> res> lfVM { drb blVM } 'm >T0> : -1_cut -1 _cut ; T1 | i( 3 6 )i { at ' -1_cut 'm } 'L >T0> 20200724.0012 98884 makechange " CoSy20200725.exe" (save) | 119 32 - _i |>| 87 | kb size of CoSy ` non-working image Xwords { 1 _at blVM } 'm blMV # |>| 2348 zic Words # |>| 902 Xwords # ` CoSyWelcome_ReadFirst.html F> lfVM >t0> # ` C:/4thCoSy/CoSyWelcome_ReadFirst160806.html F> lfVM >t1> # t0 t1 venn i( 0 2 )i at | ======================== | Mon.Jul,20200727 | ======================== | ` C:/4thCoSy/Physics/general.f F> Eval 288. _f T>Psb f( 0.0 0.2 0.3 )f +f P>Tsb res> ` C:/4thCoSy/Physics/general.f >F | ======================== | Tue.Jul,20200728 | ======================== | https://github.com/jamesbowman/hdmi/blob/master/tv.py terc4_codes res> >t0> T0 lfVM >T0> rho res> lfVM T0 { 2 _cut ` , ssd "bl braket } 'm >t0> t0 { binary Eval decimal _i } 'm >t1> t0 t1 ' fmt 'm ,L flip ' ,/ 'm t1 fmtI$ ' cL 'd binary i( 1010011100 1001100011 1011100100 1011100 )i decimal >t1> t1 t1 { binary fmt decimal } 'm ,L flip t0 t1 ,L | t1 fmtI$ ,L flip ' blMV 'm ` fmt :?? 10 _i iotaf .. Pi *f ,L ` C:/4thCoSy/Physics/general.f F> | Eval 288. _f T>Psb f( 0.0 0.2 0.3 )f +f P>Tsb ` iota Words decimal _i ` base ?? s" binary t0 decimal Eval decimal | ======================== | Wed.Jul,20200729 | ======================== | 10 _i iotaf .1 _f *f >t0> t0 t0 288. _f T>Psb t0 +f P>Tsb ,L | ======================== | Fri.Jul,20200731 | ======================== | | 1808 | ` \4thCoSy\chk.csl F> | ======================== | Sun.Aug,20200802 | ======================== | | working on maillists found that ' dae on a single line bombs | because ' & bombs because ' across does not return naked on single . ` across :?? i( 3 )i & ' + across _i ` ./CoSy/CoSy.f F> lfVM s" : >_ " s" : & " ,L ' conn 'R TypeI _i ` dae :?? | ======================== | Tue.Aug,20200804 | ======================== | : lf>bl "lf "bl ,L ssr ; | find myself wanting to string out results | +> ./CoSy/Furniture.f rGet `( Fact Fact )` Dv! `( Fact Fact )` Dv@ lfVM ` lakh con | following up FB post by KK : lakh 1.e5 _f ; | 100000.0 : K 1.e3 _f ; | 1000.0 : M 1.e6 ; | 1000000.0 | ======================== | Wed.Aug,20200805 | ======================== | ` ~floats Help ` need Words ` .needs> :?? ` .needs Help | ======================== | Fri.Aug,20200807 | ======================== | `_ insert ?? ` getval :?? ` .\lib\callbacks F> 20200808.1830 | 1830 | pty | 2350 | | ======================== | Sun.Aug,20200809 | ======================== | | 1201 | | ======================== | Thu.Aug,20200813 | ======================== | ` --ba See ` swap Help 20200813.1015 ` p: ?? ` swap ?? ' dsc 'm ` --ba :?? `( Fact Fact )` Dv@ ` C:/CoSyWeb/4thCoSy/Code/CoSy/Fact_Fact.txt >F `( Fact Fact )` Dv@ lfVM | ` mpi con ` C:/CoSyWeb/4thCoSy/Code/CoSy/Fact_Fact.txt >F http://cosy.com/y20/Wed.Aug,20200812.html | 20200813.2339 | | ======================== | Fri.Aug,20200814 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2446224405677579/?comment_id=2452240095076010&reply_comment_id=2453770888256264 1365. 4. 2_f %f P>Tsb |>| 278.53 ` C:/4thCoSy/Physics/general.f F> | Eval ` P>Tsb ?? f( 288 289 )f T>Psb reverse ' -f ./ |>| 5.45 | w%m^2 5.45 36525. 2_f %f 7 _fmtnF 1364. _f 3 _i iotaf +f |>| 1364.00 1365.00 1366.00 R0 2. _f %f P>Tsb |>| 278.47 278.53 278.58 R0 273.15 _f -f R0 c>f https://twitter.com/slava_pestov/status/1294108592036085761 i( 2 1 )i >t0 i( 2 1 )i >t1 t0 t1 +i t0 1 _at t1 dsc mini -i |>| 3 1 (X1, Y1) * (X2, Y2) = (X1 + X2 - min(Y1, X2), Y1 + Y2 - min(Y1, X2)) | ======================== | Sat.Aug,20200815 | ======================== | https://motls.blogspot.com/2020/08/a-proof-of-string-theory.html#comment-5031978440 340.4 398.2 2_f -f 77.0 22.9 2_f +f |>| 99.90 77.1 163.3 2_f +f |>| 240.40 | ======================== | Wed.Aug,20200819 | ======================== | ` ,sv :?? : ,sv>lst { >a> dup ,svMsk & 0cut ' dl, 'm a- } 'm ` C:/CoSyBob/acnts/y20/BobA/CitiYtD.CSV >t0> F> >t1> rho t1 lfVM dae >t1> # t1 ' ,svMsk 'm { s" .1" swap at } 'm ` 0cut ?? ` dl, :?? t1 ,sv>lst flip t1 ` Status,Date,Description,Debit,Credit .. ,svMsk & i0 swap cL cut | ======================== | Thu.Aug,20200820 | ======================== | https://en.wikipedia.org/wiki/List_of_reservoirs_by_volume res> >T0> T0 lfVM dae >t0> # t0 ' htVM 'm flip 6 _at 1 _cut >t1> t1 ,/ `_ f( ` )f ,L braket Eval +/ |>| 2717.0185 | km^3 tot vol 2717.0185 1.35e9 2_f %f 10 _fmtnF ,/ |>| 0.0000020126 https://www.facebook.com/groups/airclimateenergy/permalink/1645098045652057/?comment_id=1645148215647040&reply_comment_id=1645805105581351 | 0917 | | ======================== | Sat.Aug,20200822 | ======================== | | 1207 | https://www.meetup.com/SV-FIG/events/272394041/ i( 30 20 20 )i +/ |>| 70 | ~ 1510 | -- | 1540 | `( con inb )` ' :?? 'm ` csv :?? zic Words ` con con ` qwerqwt R 0 _at R ` text v@ "lf VM >t1> t1 ' # 'm ting (650) 315-2031 | -- | ` ToDo list now saving to OneDrive file for access by SmartPhon ` C:/CoSyBob/CoSy/CoSy.csy F> str>lst ` ToDo v@ >t0> ` C:/Users/Bob/OneDrive/ToDo.txt >Fn> F> >Ft> | ToDo LIST Ft >t0> res> >Ft> Ft s" | SHOP | \/ " s" | SHOP | /\ " ,L braketed >t0> t0 lf>bl >t0> "ht "bl ,L ssr blVM >a> ` * con a> ` + con cL R0 4 _partition ' blMV 'm Ft Fn >F ` \CoSyBob\MailLists.csy startJob ` venn :?? | ======================== | Sun.Aug,20200823 | ======================== | ` Words :?? ` zic ?? ` con Words >t0> t0 ` n in | ======================== | Wed.Aug,20200826 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2463105283989491/ i( )i # |>| 0 | integer f( )f # |>| 0 | float s" " # |>| 0 | string `( )` # |>| 0 | words (' ') # |>| 0 | general | changing ' VM words to include deleting empties | in ` CoSy.f ` Furniture.f | because a number of words don't like empties . : VM toksplt dae ; | ======================== | Thu.Aug,20200827 | ======================== | | 0950 | BAA | ` shell> ?? | updating to caps std for CoSy level covers of Forth words ` ToDo -> | still need to update occurances in other defs | ======================== | Fri.Aug,20200828 | ======================== | ` across ?? ` vdel :?? ` 'R :?? ` C:/CoSyBob/acnts/y20/Acnts.csy F> str>lst ` WP v@ >t0> t0 `( cabin RV )` { vdel nil } 'R refs- ` vdel See t0 `( cabin RV )` vdel | t0 : vdel 2p> { prior vdel L@ } 'R refs- 2P ; { vdel t0 } Y./ | /\ | unfinished 20200831.1733 | /\ | | ======================== | Mon.Aug,20200831 | ======================== | `( F> str>lst )` { zic Words swap cconn } 'm : F>/\ F> str>lst ; : \/>F lst>str >F ; | io of lists directly | added > CoSy.f ` .\CoSy\CoSy.bk F>/\ # | From SV-FIG post by Kevin Appert : http://www.cosy.com/CoSy/y20/BillRagsdale%20SV%20FIG%20Challenge.odt ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . : GCD ' gcd eachDir ; 10 _iota i( 170 240 )i ' +i 'R | lst>stk ' GCD 'L : lst>stk >aux> i# 0 ?do aux@ i i@ refs-ok> loop aux> dup refs@ 0if free then ; ` lst>stk :?? 10 _iota i( 170 240 )i ' +i 'R lst>stk dup DMP cr dup 0 i@ DMP cr dup 1 i@ DMP dup DMP cr --aba DMP ` a@ ?? `_ D> :?? ' GCD 'L ` a> :?? t0 lst>stk DMP { ' >_ on2 + _i } 'R i( 1 2 )i enc' >t0> >a> DMP a@ DMP i( 1 2 )i >t0> lst>stk cL a# : lst>stk >a> i# 0 ?do a@ i _at loop a- ; | 20190422 : lst>stk >a> i# 0 ?do a@ dup DMP i _at loop a- ; AF1 t0 lst>stk cL lst AF0 AF> +-splt sorti ` sort Words ` DMP ?? | ======================== | Tue.Sep,20200901 | ======================== | : vdel 2p> { prior vdel L@ } Y./ 2P> drop ; | extended to multiple deletions | added to ./CoSy/CoSy.f | ` C:/CoSyBob/acnts/y20/Acnts.csy F>/\ ` WP v@ >t0> | want to use detached list , not under R t0 `( text RV )` vdel | finished fixing ` lst>stk | em> SV-FIG | ======================== | Wed.Sep,20200902 | ======================== | | 1109 | ML . Blog ` rplc :?? | needs a better name . really quite important | Corrected refcounting error . had to get down & dirty | 20200902.1633 | : lst>stk >aux> i# 0 ?do aux@ i i@ refs-ok> loop aux> dup refs@ 0if free then ; | to ` ./CoSy/CoSy.f | was | was | : lst>stk >a> i# 0 ?do a@ i _at loop a- ; | 20190422 needs sort.f | added to ` CoSy.f after SaveRestore . | 1708 | res> lfVM `( sys CoSySource )` Dv! `( sys CoSySource )` Dv@ ` sort Words ` ./CoSy/sort.f F> res> lf>nl ` ./CoSy/sort.f >F | ======================== | Fri.Sep,20200904 | ======================== | : kB 1.3806504e-23 _f ; 4.184 f( 57 -81 -72 )f f>c 273.15 _f +f |>| 287.04 210.37 215.37 1.5 .5 2_f ^f 1%f |>| 0.82 f( 287.04 278.6 )f 0.82 _f *f |>| 235.37 228.45 | ======================== | Sat.Sep,20200905 | ======================== | | 0921 | | 0939 | Going to go ahead & start | 0948 | fileDialog >t0> | get file name s" C:/CoSyBob/y20/Collected Addresses.csv" >Fn> F> > ` Fn ?? `( sys CoSySource )` Dv@ >t0> res> >t0> `( sys CoSySource )` Dv! ` ./CoSy/sort.f F> lf>nl ` ./CoSy/sort.f >F ` ?? ?? t0 lfVM `( sys CoSySource )` Dv! t0 dsc dlb t0 ' dlb 'm `( sys CoSySource )` Dv! `( sys CoSySource )` Dv@ >t0> t0 { F> # } 'm ` C:/CoSyBob/CoSy/CoSy.csy F>/\ `( sys CoSySource )` v@ R0 `( sys CoSySource )` Dv! | 1020 | ` sys Dv@ flip Fn F> Eval `( sys CoSySource )` Dv@ lfMV res> lfVM `( sys CoSySource )` Dv! ` sorti ?? | 1034 | 735.00 273.15 f- _f ` PoT :?? | 2233 | Shopping for a 4k TV | res> lfVM >t0> t0 5 _partition { blMV } 'm >t0> "ht MV 5 stars 396 4 stars 167 3 stars 64 2 stars 36 1 star 66 t0 { "bl prt>l Eval _i i>f } 'm >t1> t1 ,/ .. PoT swap +/ cL |>| 0.54 0.23 0.09 0.05 0.09 729.00 | Sceptre 5 stars 396 4 stars 113 3 stars 45 2 stars 22 1 star 80 | 0.60 0.17 0.07 0.03 0.12 656 | RCA | 0.61 0.17 0.08 0.06 0.09 316 | ONN | 2246 | s" 5 stars 396 4 stars 167 3 stars 64 2 stars 36 1 star 66" >t0> t0 htVM { "bl prt>l Eval _i i>f } 'm >t1> i( 192 53 25 19 27 )i i>f >t1> t1 ,/ .. PoT swap +/ cL |>| 0.61 0.17 0.08 0.06 0.09 316.00 f( 0.61 0.17 0.08 0.06 0.09 )f 316. _f *f 0. _f | ======================== | Tue.Sep,20200908 | ======================== | https://youtu.be/ED4w6Nxfv6Y | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2472172073082812/?comment_id=2473832569583429&reply_comment_id=2474404876192865&__cft__[0]=AZVf3DQkwRZY_VICgKFLkTOxz17eMHjoKauD-4MhVv-Ha4BB33RkY6-3qKV6Vk25ketcBr4YlYVB0OAJiEqsNQI9M_jeUqAzB1khCBBkd4SCftcqIDjYhcy5AixSoJeEtFClhjRZ5iuKXRvU11c5AAQ3jI9B2FQyyKqcDLmKDEasozGHbK1BSU0OUG26N_KtaPY&__tn__=R]-R | How To Extract YouTube Subtitles Closed Captions From YouTube Videos Chrome ` sortstr :?? | ======================== | Wed.Sep,20200909 | ======================== | : fmttbl { ' fmt 'm blpad pad } 'm flip { blMV } 'm ; | adding to ` furniture.f | format table , list of columns , w space btwn each col | ======================== | Thu.Sep,20200910 | ======================== | | 0857 | 0900 | BAA | https://zoom.us/j/858532665 | 1033 | Ray Poliva | undergrad problem from 1950s | baby weight . 100. _f 8. _f 20 _take cL f( .9 0 )f 4 _fill cL ' f+ scanf # i( 0 1 )i 20 _take polivka@acm.org ` rho :?? https://aplwiki.com/wiki/APL_Wiki_logo ` factorial ?? Bob, you can define dyadic ! in terms of monadic ! which for integers is simply ×/ ( iota ) factorial f.9 0 ' + scanI 5 _iota ` Fact See 4 w ` scan Words ` vdel :?? | actually didn't get done | Tue.Sep,20200901 | : vdel 2p> { prior vdel L@ } Y./ 2P> drop ; | extended to multiple deletions | added to ./CoSy/CoSy.f | was | | : vdel 2p { prior vdel } eachM ; | ======================== | Sat.Sep,20200912 | ======================== | : Days+ { >_ swap date_ date>fixed + fixed>date dtpk _i } 'd ; 20200911 277 2_i >_ swap date_ date>fixed + fixed>date dtpk _i >_ swap date_ ` date_ date>fixed + fixed>date dtpk _i 20200911 277 2_i Days+ ,/ 20200912 -256 2_i Days+ ,/ |>| 20191231 i( 20200912 20200101 )i i( -256 256 )i Days+ ,/ |>| 20191231 20200913 s" Many Congrats " enc 256 _take ,/ ` day ?? ` 2020 12 _iota 101 _i +i { fmtI dsc } 'm ` 01 ' cL 'L ' cL 'R >t0> : str>i >a> van eval _i a- ; | added to ` CoSy.f ` ^>fl ?? t0 ' str>i 'm ,/ >t0> t0 { date_ date>fixed _i } 'm ,/ >t1> t1 1 _cut t1 -1 _cut -i t1 ' fmt 'm Monthnms -1 _cut R0 ,L flip R0 ' blMV 'm ` gregorian Help ` days+ ?? ` date>fixed ?? ` str>i See hex 0B0b decimal . |>| 2827 zic dir ` C:/4thCoSy/lib/date/calendar F> _i ^>fl ` he Words ` hex Help ` _str ?? ` s ?? ` i( ?? ` dayln ?? | ======================== | Sun.Sep,20200913 | ======================== | | 0945 | ` date>fixed ?? i( 31 29 31 30 31 30 31 31 12 )i +/ https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2477743635858989/?comment_id=2477756949190991&reply_comment_id=2478496125783740 Bob Armstrong Lev Shubnikov Your , in CoSy : i( 31 29 31 30 31 30 31 31 12 )i +/ |>| 256 caused me to go off on a path which has revealed the ` gregorian fns I use from the Reva http://cosy.com/4thCoSy/Code/lib/date/calendar script is not computing leap years right . I took a rather circuitous route to check that I was calculating the number of days in a month right . I first constructed the dates for the first of the months as strings in the simple integer form I use : ` 2020 12 _iota 101 _i +i { fmtI dsc } 'm ` 01 ' cL 'L ' cL 'R >t0> ( 202010101 202010201 202010301 ... Then after poking around found I have never created a word to simply convert a string to an int . So made : : str>i >a> van eval _i a- ; | added to CoSy.f which I'm adding to my vocabulary . Then : t0 ' str>i 'm ,/ >t0> |>| 202010101 202010201 ... Converting to gregorians : t0 { date_ date>fixed _i } 'm ,/ >t1> |>| 7377899 7377930 7377958 7377989 ... and taking the differences t1 1 _cut t1 -1 _cut -i |>| 31 28 31 30 31 30 31 31 30 31 30 Aye ! There's the rub . Tried it with a whole cycle of years . It's not dealing with leap years right at all . Ron Aaron has a strong interest in calendars so I never questioned the scripts very closely . I'm glad I never implemented any important financial time value fns yet . I'll have to take a close look at what the proper definitions should be -- or I invite anybody interested to sort them out . Right now , I'll just add it to the ` ToDo list . I'm surprised the problem hasn't shown itself before . | -- | ======================== | Wed.Sep,20200916 | ======================== | ` fullpaths :?? ` VM :?? ,L | removed | -1 _cut | because added ' dae to VM | ./CoSy/Furniture.f ' lst>stk still has problems | ` fact ?? ` C:/4thCoSy/CoSy/math.f F> | 2318 | ` lpstk ?? | ======================== | Wed.Sep,20200923 | ======================== | | 0944 | Ragsdale questions : | GCD | http://cosy.com/y20/Wed.Sep,20200902.html Dnames ` ASCIIbrowser Dv@ i( 65 97 )i 26 _iota { +i i>c } 'R ,/ "bl 10 _iota dup *i ' take 'R ` o ' cL 'L | sent as answer to em < Kevin @ SV-FIG | 2205 | | ======================== | Thu.Sep,20200924 | ======================== | Ray Cannon's BAA SVG Zoom | https://www.cis.upenn.edu/~plclub/contest/ants.html | | CoSy needs an ElizabethRather & a LeoBrodie | 1307 | | [ Problem w above is that it's not rectangular . Need to make word actual | plotting verb . day highly edited ] 10 _i >a> iota dup *i a> swap >a> ' maxi ./ cL | | 20200926.1320 | |> 10 _iota dup *i >t0> | data list t0 # t0 ' maxi ./ i1 +i cL >t1> | dimensions of list ( matrix ) needed t1 ` . swap take >t1> | make it t1 t0 { ` o --cab at! nil } 'd refs- | stick a char at val in each line t1 rShow t1 flip ' ,/ 'm lfMV rUpdate t1 5 _i 10 _take & at flip reverse ' ,/ 'm lfMV rUpdate `D@ .r closeWdo | 1446 | | ======================== | Fri.Sep,20200925 | ======================== | | 1252 | Decided to make a dedicated ` blog task since cumulating the fortnight's | activities is the origin of | ` web ` log cL 2 _cut | See | http://cosy.com/CoSy/4thCoSy/CptnPicard%27sLog.html Dnames blMV res> >T0> s" help ASCIIbrowser BROWSER ToDo sys res lastSave R0 resvar text T0 T1 res.help ALPHabet script0 state .r " >t0> t0 blVM >t0> R dsc t0 venn ' blMV 'm R t0 dsel >t1> # zic t1 ` text v! t0 dsc ` v! :?? t0 dsc blMV t1 lst>str ` \CoSyWeb\y20\Blog.csy >t0> >F t0 startJob | hell w ith it R lst>str ` C:/CoSyWeb/y20/Wed.Sep,20200930.csy />\ >F ` C:/CoSyWeb/y20/Wed.Sep,20200930.csy />\ startJob ` \CoSyWeb\y20\blog.csy startJob zic Words ` d in ` F Words ` apnd Words t0 | ======================== | Sat.Sep,20200926 | ======================== | | 1245 | | 1356 | 97 65 - _i |>| 32 i( 65 97 )i 26 _iota { +i i>c } 'R ,/ 26 _iota i( 0 32 )i 65 _i +i +i i>c http://24.5.42.64:4444/ http://forthonline.hopto.org:4444 | 1631 | | ======================== | Sun.Sep,20200927 | ======================== | | 2032 | https://www.linkedin.com/feed/update/urn:li:ugcPost:6716057350257700864?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A6716057350257700864%2C6716169644803264512%29 I expect CoSy to be a player in this future , being the only APL in open to the chip Forth rather than C . The Forth world is mainly looking towards FPGAs containing fields of Forth processors . And CoSy provides the intrinsically parallel lists-of-lists vocabulary to herd them . The most interesting comment I've seen recently is that the , I'll call them ` FPs , need to have specific ID numbers . The FP needs to know its own address . The immediate push in Forth is transition to today's 64 bit processors . But there's a lot of waste with that big a word size , and it's not well matched for neural like computations . | ======================== | Mon.Sep,20200928 | ======================== | | 1414 | | ======================== | Mon.Oct,20201005 | ======================== | ` whitney ?? ,/ lfVM ` arthur con ` StartJob :?? | s" cosy@.bat " swap cL start ; zic dir ` cosy@.bat F> ` start :?? ` shell^ ?? ` shell Help ` lib/os/shell F> rUpdate ` ?? | changed COSYSTARTFILE to CoSyFile in Tui.f title | 20201005.1321 | much better | ======================== | Tue.Oct,20201006 | ======================== | ` nonce ?? ` :: Help cL ` { :?? ` :: :?? cL | thinking if output ` nonce , ie: not a CoSy type , should simply drop , not | try to ref check . Changing ' out `__ out ?? | ======================== | Thu.Oct,20201008 | ======================== | ` ,svmsk :?? ` , Words | ======================== | Thu.Oct,20201015 | ======================== | ` pi :?? text> ` C:/CoSyWeb/4thCoSy/Code/CoSy/WorkLog.txt >F | ======================== | Fri.Oct,20201016 | ======================== | on 4k | misc | 1934 | f( 3840 2160 940 530 )f f( 1920 1080 510 285 )f %f |pixels , measured mm 3840 2160 * _i 3 _i *i | ======================== | Sat.Oct,20201017 | ======================== | | 0935 | | 1000 | ` COSY Words COSYSTARTFILE ` CoSyFile ?? FullCoSyFile s" \" toksplt -1 _at | 1056 | | ======================== | Sat.Oct,20201024 | ======================== | rShow | ======================== | Sun.Oct,20201025 | ======================== | | from ` blog | ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . hex 7FFFFFFF decimal _i 2 _i 30 _take ' * scanI +/ cL >t0> : randf $7FFFFFFF _i >a> swap rand a> ' i>f on2 %f ; 10000 _i randf >t0> # |>| 10000 t0 10. _f *f f>i grpib ' +/ 'm | randomization test . t0 t0 *f 2 _partition >t1> # | fails w bunch of obj addrs on stk . t1 0 _at t1 1 _at +f >t2> t2 | ' fmax acrossf f( 1 2 3 )f reverse ' maxf ./ | 2214 | ` maxf ?? t2 f1. t2> 7908 _i 6 _iota *i ` ./src/revacore.asm ` partition ?? # 2 _i 32 _take ' * scanI | ======================== | Mon.Oct,20201026 | ======================== | | 1125 | | ======================== | Tue.Oct,20201027 | ======================== | | 1442 | `( .r Tui SIZE )` Dv@ ` ./CoSy/Job.f F> lfVM ` : in ` .r Dv@ JobHndld getPos `( .r Tui posXY )` Dv! ` .r Dv@ JobHndld getsize `( .r Tui SIZE )` Dv! ` fmt Words ' :?? 'm | changed ' fmt$ to fmtF18 because was bad name . should have refered to hex | 1508 | | ` pi ?? ` ./lib/math/floats F> lfVM `_ pi con | can't figure out where ' pi defined ` Pi :?? Pi 4. _f %f fmtF18 ,/ |>| 0.785398163397448309 ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . | commented out ` perm in | ` C:/4thCoSy/CoSy/math.f | bad algo . | added ' randf to math.f | 1645 | ` randf See ` C:/4thCoSy/CoSy/math.f F> Eval 20000 _i randf >t0> # t0 dup *f >t0> # t0 10000 _take t0 10000 _cut +f >t1> # t1 f1. | 7902 200000 _i randf >t0> # t0 dup *f >t0> # t0 100000 _take t0 100000 _cut +f >t1> # t1 f1. | 78572 2000000 _i randf dup *f >t0> 1000000 _take t0 1000000 _cut +f >t1> # t1 f1. | 784865 | 1725 | 20000000 _i randf dup *f >t0> 10000000 _take t0 10000000 _cut +f >t1> # | bombed | 1729 | | ======================== | Fri.Oct,20201030 | ======================== | | 20201031.1557 | ` C:/4thCoSy/CoSy/math.f >Fn> F> >Ft> Eval 20 _i randf dup *f 2 _partition >t0> t0 { ' dsc on2 +f } _./ | works : +fa ' +f aaply ; t0 dsc t0 1 _at +fa ` aaply :?? : +ia { ' + eachDir } aaply ; t1 0 _at t1 1 _at +ia ` across ?? ` ./ ?? t0 ` +f {{ >a> i# 1 ?do }} 20 _iota 2 _partition >t1> t0 flip t0 0 _at t0 1 _at +f ` +ia ?? over i# 1 ?do lpstk> 2 pick i i@ 2 pick execute >lpstk loop | ( v -- ( v i# items on stack ) ) splits v into separate items on stack . | Corrected refcounting error . had to get down & dirty | 20200902.1633 | : lst>stk >aux> i# 0 ?do aux@ i i@ refs-ok> loop aux> dup refs@ 0if free then ; : lst>stk_ >a> i# 0 ?do a@ i i@ loop a- ; | raw version for chars & ints ` lst>stk ?? f+ t0 #' >t0> 1000000 _take t0 1000000 _cut +f >t1> # | ======================== | Sat.Oct,20201031 | ======================== | 2000000 _i randf dup *f >t0> 1000000 _take t0 1000000 _cut +f f1. | 784865 | ======================== | Mon.Nov,20201102 | ======================== | i( 26 31 26 )i ' *i ./ |>| 20956 | ======================== | Tue.Nov,20201103 | ======================== | | YT code_report | https://youtu.be/zrOIQEN3Wkk | 8 programming language solutions (C++, Rust, Clojure, Ruby, Elixir, Scala, Haskell and APL)to one problem ` (1+(2*3)+((8)/4))+1 >t0> : +ia { ' + eachDir } aaply ; t0 ` () ' =c 'R i( 1 -1 )i ' *i 'd ' +ia ./ ,/ ' + scanI R0 ' maxi ./ t0 78. 365.25 f* _f f>i ` sys Dv@ ` Types v@ | ======================== | Thu.Nov,20201105 | ======================== | f( 1 0 0 0 0 )f i( 4 4 )i take `( C++ Rust Clojure Ruby Elixir Scala Haskell APL )` 2 _partition >t0> t0 flip t0 ` Rust v@ | | 2007 | | making windows open somewhere other than i( 0 0 )i | ` script0 -> ` sys Dv@ ` Tui v@ DMP ` show-xy ?? d1 @ getPos `( sys Tui posXY )` Dv! | Stores current upper left corner for restart : tst ` sys Dv@ ` Tui v@ ` posXY v@ ; ` sys Dv@ ` Tui v@ cL ` size ?? ` ./lib/ui/gui F> lfVM ` size con Ft lfVM ` Tui con `( sys Tui posXY )` Dv@ lst>stk_ | ======================== | Fri.Nov,20201106 | ======================== | ` b? ?? | ======================== | Sat.Nov,20201107 | ======================== | `( sys Tui posXY )` Dv@ d1 @ getPos `( sys Tui posXY )` Dv! | Stores current upper left corner for restart ` venn ?? ` times Help ` ./lib/util/misc F> | ======================== | Mon.Nov,20201109 | ======================== | ` strings Help | ======================== | Tue.Nov,20201110 | ======================== | ` rotate ?? 5 _iota 3 _rotate |>| 3 4 0 1 2 | ======================== | Mon.Nov,20201116 | ======================== | | problem w ` Acnts text> lfVM zic con # |>| 0 | should logically return all | ======================== | Tue.Nov,20201117 | ======================== | ` COSYSTARTFILE ?? | ======================== | Sat.Nov,20201121 | ======================== | 10 | SV Forth Day | ` C:/4thCoSy/Physics/general.f >Fn> F> >Ft> rUpdate rGet >Ft> Eval Ft Fn >F Ft ` C:/4thCoSy/CoSy/math.f >Fn> F> >Ft> | Eval 10 _iota i>f >t0> t0 t0 dot : n-1mat 1p> dup # i1 -i 2 _take take 1P> ; | f( 1 .7 0 )f n-1mat | not what I need f( 1 .7 0 )f >a> 2 _take a> -2 _take ,L >t0> | From | http://cosy.com/Science/ColoredBalls.html#KeyDefinitions | Planckl | W % sr * m ^ 2 from meters % cycle / Planck fn in terms of WaveLength | | {[ l ; T ] ( ( 2 * h * c ^ 2 ) % l ^ 5 ) % ( _exp ( h * c ) % l * boltz * T ) - 1 } Ft Eval ` c See : planckv c dup *f h *f 2. _f *f ; planckv ` apv :?? .1 .1 2_f 100 _i apv 1.e-6 _f *f >t0> planckv t0 3. _f ^f 1%f %f boltz t0 1%f 3.14e9 _f ` >>fl ?? ` >float ?? ` frac>dec ?? ` (exp) ?? ` EoDefs ?? | replaced | : EoDefs ; | in ./CoSy/CoSy.f with EoDefs mark EoDefs ` 1/f ?? zic Words ` ./lib/math/floats F> rUpdate bye : ratios >a> 2 _take a> -2 _take ,L 3 _iota n-1mat | i( 3 3 )i take : dot% ( source obj sink ) 1p> i( 2 2 )i take | ======================== | Sun.Nov,20201122 | ======================== | | need exponetial format | 1622 | | [ 20201127.1639 https://en.wikipedia.org/wiki/Extended_precision#x86_extended_precision_format https://en.wikipedia.org/wiki/IEEE_754-1985 | ] 0.0 _f >t0> 0.0 _f DMP 1.0 _f DMP 0.1 _f DMP 1.1 _f DMP -1.0 _f DMP f( 0.0 1.0 0.1 1.1 -1.0 )f { _DMP> } 'm f( 0.0 1.0 0.1 1.1 -1.0 1.0e8 )f { } 'm | { _DMP> } 'm ` _DMP :?? res> lfVM >t1> # t1 i( 0 1 )i 10 _take & at "bl ' VM 'L >t2> t2 { 1 _cut 10 _take blMV } 'm ` dump ?? t0 DMP ` interpret ?? ` dmp ?? ` eval `( Help ?? See )` ' Eval 'R | ======================== | Mon.Nov,20201123 | ======================== | | continuing Sunday ` double `( Help ?? See )` ' Eval 'R ` ./lib/math/doubles F> ` each Words | failed to solve | f( 0.0 1.0 0.1 1.1 -1.0 1.0e8 )f { _DMP> } 'm `( eachMfr if@ f@ )` ' :?? 'm ev >t0 f( 0.0 1.0 0.1 1.1 -1.0 1.0e8 )f { t0 swap cL >t0 } eachM f( 0.0 1.0 -1.0 0.1 1.1 1.0e8 )f { .s cr _DMP> } 'm f( 0.0 1.0 0.1 1.1 -1.0 1.0e8 )f { .s cr DMP nil } 'm | ' _DMP> is useless as is | 20201123.1843 f( 0.0 1.0 -1.0 0.1 1.1 1.0e8 )f >t0> | -- t0 { van _str c>i } 'm >t1> | far more productive path t1 { fmtI$ 2 _i ' take 'L blMV } 'm | t1 { fmtI$ ,/ } aaplym t1 { -2 _take } 'm >t2> ` C:/4thCoSy/CoSy/math.f F> | Eval | for various rand & math fns . : doti *i +/ ; t2 1 _at i( 256 1 )i doti | \/ | Very interesting that this works | \/ | hex t1 decimal | \/ | but this Locks up binary t1 decimal | /\ | | /\ | t0 t1 ,L ( t2 cL ) flip t2 i( 1 2 )i at i( 255 63 )i binary fmtI decimal 255 191 t2 2 _at binary fmtI decimal { ` 0 swap cL -8 _fill } 'm >t3> t3 reverse ,/ >t3> 1 _cut binary Eval _i decimal 16383 _i -i |>| 0 2 _i 15 _take ' *i ./ binary ` 1111111100111111 Eval _i decimal ` >t0 :?? t1 | made rather radical change eliminating special casing for floats in ` 'm | there's nothing foundational about any use of floats | ======================== | Tue.Nov,20201124 | ======================== | | Now that I've figured out how to see what is going on -- ` w@ Help t0 ilst t0 van 2_i cL |>| 45162544 60 t0 100 dump res> t1 { fmtI$ 2 _i ' take 'L blMV } 'm ,L hex 50 decimal _i t0 1 _at >t2> van 2_i cL |>| 9792736 10 9792736 10 dump |>| 00908D98 00 00 00 00 00 00 00 80 FF 3F .........? t0 2 _at >t2> DMP | vbody 8 + w@ _i >t3> fmtI$ t3 vbody 8 + w@ _i `( fmtI$ fmtIb )` ' Eval 'R ' { ,/ # } 'm : expntf vbody 8 + w@ $7FFF and ( 16383 - ) _i ; | DMP t3 expntf fmtIb : fmtIb binary fmtI decimal ; -1 _i fmtIb t3 fmtIb dsc # | fmtI$ $7fff _i fmtIb # ` and Help ` fmtI$ :?? ` fmt Words ' :?? 'm t0 t0 ' expntf 'm ,L flip 1.0 _f >t0> t0 vbody 2@ tst 2! ` ~doubles Help 422613133985257032L tst 2! tst d. 2variable tst ` 2variable ?? tst 1 cells + @ hex . decimal 1 cells ` 1+ See DMP 2@ d. ` d. Help $0000000000000080L FF 3F res> >t2> # t2 blVM ' Help 'm 1.0 fneg? | ======================== | Wed.Nov,20201125 | ======================== | | 1417 | | cannonical expression | -1.0e-1 _f DMP | CC CC CC CC CC CC CC CC FB BF | 1.0 fneg? -1. fneg? 2_i cL 512 _i DMP 2 _i 32 _iota 1 _cut { take ' *i ./ } 'R | started w 4 4 8 due to modulo indexing on 1 item | updated ./ to match _./ better rule | | If empty or singlton , simply returns arg . | was | over i# 0if drop ref0del z" nonce : empty , needs prototype " throw ;then 2 _i 32 _iota 1 _cut { take ' *i ./ } 'R ,/ >t0> -1.0e-1 _f | hex lst decimal 16 _iota binary fmtI decimal ` 0 swap { cL -4 _fill } 'd >t0> ` 0123456789ABCDEF enc' t0 ,L >t1> flip | { ,L enc } 'd >t1> t1 | flip ' blMV 'm ` _I ?? vbody binary . %1000000000 hex fmtI decimal ` fneg? ?? | ======================== | Thu.Nov,20201126 | ======================== | s" CC CC CC CC CC CC CC CC FB BF" "bl zic ,L ssr hex CC CC CC CC CC CC CC CC FB BF decimal .s enc' >t2> t1 1 _at t1 dsc t2 ' ?str 'R t2 ` wheresym ?? ` fabs :?? -1.0e-1 fdup fneg? | fabs | 2_i | ,L -1.0e-1 fneg? fabs fneg? `_ '- ?? ` strings Help | ======================== | Fri.Nov,20201127 | ======================== | s" _i : " ?? s" Freedom is not free " 11 _cut s" Freedom is not free " i( 0 11 )i cut | 1740 | cleaning up mail lists . Defined ' <@> | better name than original <_@_> : <@> { ` > prt<=f ` < prt>=l } 'm ; | picks out ( first ) email addresses in list . | Added to | ./CoSy/Furniture.f | 1749 | | 2040 | | ======================== | Sat.Nov,20201128 | ======================== | ` ./lib/math/floats >Fn> F> >Ft> rUpdate -1.0e-1 fneg? fabs fneg? 2_i cL ` ./lib/math/doubles F> rUpdate : :pad s" : " "bl ,L braket ; | added to derived.f | been needing this verb for a long time . | added to derived.f | ( script name -- :def; ) | find & return just definition in script : def --aba >a :pad ss1st a> swap cut >a> s" ; " ss1st 2 _i +i a> swap take ; ` ./CoSy/CoSy.f F> ` Eval def f( 0.0 1.0 -1.0 0.1 1.1 1.0e8 -1.0e-1 3.1415928 )f >t0> t0 { >_ _f } 'm t0 { >_ f>d (d.) _str } 'm ` >_ ?? ` if! :?? 1.0e0 f>d (d.) _str ` f>d See 111.0e1 fabs f>d (d.) _str 1.e0 f ` ffrac Help 16383 _i hex fmtI decimal 1.0 _f >t0> t0 vbody 10 | ======================== | Sun.Nov,20201129 | ======================== | f( 0.0 1.0 -1.0 0.1 1.1 1.0e8 -1.0e-1 3.1415928 )f >t0> | added to CoSy.f | \/ | : fmtI% binary fmtI decimal ; | format binary . Reva uses % as tag for binary | t0 { vbody 10 dump nil } 'm lst | sF6 res> lfVM -2 _cut >t1> t0 { fmtF ,/ } 'm blpad pad t1 ' cL 'd >T0> T0 t0 { vbody 8 _str c>i ,/ } 'm ` ASCIIbrowser Dv@ t0 { vbody 2@ (d.) _str } 'm t0 vbody (d.) ` (d.) Help t0 dsc vbody 2@ ` fmt Words t0 { vbody (d.) _str } 'm t0 { vbody 9 + c@ %10000000 and _i fmtI% ,/ "bl cL } 'm T0 ' cL 'd >t2> ` C:/4thCoSy/lib/math/doubles F> rUpdate ` ~doubles Help res> blVM >t1> ' Help 'm : fsgn_ vbody 9 + c@ %10000000 and 0 >I ; | returns 1 for negative float t0 { fmtF ,/ } 'm blpad pad t0 { fsgn_ _i fmtI ,/ } 'm ' cL 'd | works | 1511 | blog t0 { vbody 8 + w@ dup _i swap $3FFF and 16383 - _i cL fmtI$ blMV } 'm t0 { fmtF ,/ } 'm blpad pad R0 ' cL 'd 16383 _i fmtI$ t0 5 _at vbody 8 + w@ _i ` =0 ?? ` fneg? Help 1.0 fneg? _i | ======================== | Mon.Nov,20201130 | ======================== | f( 0.0 1.0 -1.0 0.1 1.1 1.0e8 -1.0e-1 3.1415928 )f >t0> t0 { van _str c>i } 'm >t1> | t1 { fmtI$ 2 _i ' take 'L blMV } 'm | t1 { fmtI$ ,/ } aaplym t0 fmtF blpad pad t1 { fmtI$ 2 _i ' take 'L blMV } 'm ' cL 'd | 20201130.1034 | | ======================== | Tue.Dec,20201201 | ======================== | s" Big Bad Bird Bashers." >t0> t0 ` B t0 ` B ssc # take cL >t0> |>| Big Bad Bird Bashers.BBBB t0 ` B t0 ` B ssc # take cL >t0> |>| Big Bad Bird Bashers.BBBBBBBBBBBB t0 ` B t0 ` B ssc # take cL >t0> |>| `_ dir :?? | in ./CoSy/Furniture.f | : Dir ( path -- dir ) s" dir " swap cL shell> ; | trumps Reva ~os dir | 20190704 | 20201201 | changed name to cap to make consistant w being CoSy level ` Dir Words | ======================== | Thu.Dec,20201203 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2548013192165366/ Bill Ragsdale Palindromic Numbers problem 10 _iota fmtI >t0> | 1 digit 100 _iota 1 _cut fmtI >t1> | t1 dup { reverse cL } 'd >t2> | 2 & 4 digit t1 10 _i 99 _take & at >a> t0 ' cL 'd a> { reverse cL } 'd >t3> | 3 & 5 digit (' t0 t2 t3 ') ,/ >t1> | all of them t1 blpad pad 86 _partition reverse #' | ' ,/ 'm reverse #' t1 # | 1645 | mail lists | ======================== | Sat.Dec,20201205 | ======================== | 16 _iota 15 _iota 2 _i +i { >_ base ! fmtI decimal } 'R ' blMV 'm t0 100 _iota 26 base ! fmtI decimal ` base Help ` i( :?? : tst i( 1 2 )i >t0 ; ` { :?? ` here :?? ` (here) ?? here _i |>| 6530072 t1 dup { reverse cL } 'd >t2> here _i |>| 6530083 6530083 6530072 - _i | inline { ... } take dictionary space . not collected | 2143 | `( {{ 'm )` ' :?? 'm ` dump :?? macro : {{ here p: { ; : }} >r p: } execute r> here - allot ; | I seem to be returning to the Forth end https://ronware.org/dev/p.sh/reva/wiki?name=Intermediate+Tutorial ` getpid Help ` ./src/revacore.asm F> lfVM ` proc con | ======================== | Sun.Dec,20201206 | ======================== | `( here (here) dict )` ' Help 'm rUpdate here ' EoDefs 2_i cL Xwords flip >t0> s" context: ~sys" v@ blVM >t0> | System words . essential constants t0 ' Help 'm rUpdate (' here h0 ') ' _i 'm ,/ .. ' -i ./ cL | total dict space used (' here ' EoDefs ') ' _i 'm ,/ |>| 6530076 6530064 (' zic zld ev ei ') enc' s" zic " ?? ymdhm # T0 lfVM # Ft lfVM # | venn R0 >t0> #' T0 ` ef See 0 _iota 0 floatVecInit ref+> constant ef ` constant Help ` ei ef Type ` zic ?? # Ft lfVM ` zic con res> blMV ./CoSy/CoSy.f ./CoSy/Tui.f ./CoSy/Job.f macro : }}} >r p: } r> (here) ! ; forth | seemed to get defined but bombed | ` allot :?? ` ./src/reva.f F> nlVM ` allot con here ` {{ See i0 100 _take >t0> `( ./CoSy/CoSy.f ./CoSy/Tui.f ./CoSy/Job.f )` >t0> here _i >t3> t0 { >a> F> a> ` 201206 cL >F nil } 'm | back up files containing ` zic here _i |>| 6530158 | reset ' here worked . ok 6530076 (here) ! | ` ./CoSy/ />\ Dir lfVM ` .f2 con here >aux t0 { >a> F> s" zic " s" ec " ,L ssr a> >F nil } 'm aux> (here) ! ` ./CoSy/CoSy.f F> `__ ec ?? | worked ! Replaced phrase in all scripts where occurs . also kept ' here constant . (' ev ec ei ef ') ' Type 'm | ======================== | Mon.Dec,20201207 | ======================== | here _i >t0> |>| 6530076 `( sys CoSySource )` Dv@ ` /CoSy con { F> nlVM # } 'm ,/ +/ |>| 2875 here _i |>| 6530092 `( sys CoSySource )` Dv@ ` /CoSy ncon { F> nlVM # } 'm ,/ +/ |>| 3851 here _i |>| 6530108 t0 >_ (here) ! `( sys Types )` Dv@ 1 _at 'm ,/ binary fmtI decimal (' dict here ') ' _i 'm `( >body >name >xt >size >class )` ' See 'm ' here '' here 2_i cL here _i |>| 6530076 variable wasHere here wasHere ! wasHere @ _i ec Words | ======================== | Tue.Dec,20201208 | ======================== | ` dvi :?? ` 0 daylncut ` vdel con | screwed it up 20200910 . needs eno of simple strings . ` prior Help : vdel 2p> encatom { prior vdel L@ } Y./ 2P> drop ; | extended to multiple deletions ` prior :?? | R >t0> # | changed this line from R .. >t0> | & caused items to be deleted from R | needed to use | R rep >t0> | t0 ` ToDo wheresym nil =i t0 ` res vdel t0 `( ark res )` vdel t0 dsc | 20201209.2045 | recovering from bomb ` C:/4thCoSy/CoSy/WorkLogbrk.csy F>/\ >t0> # R dsc t0 dsc venn t0 ` state v@ >state t0 dsc | : vdell 2p> encatom { vdel L@ } Y./ 2P> drop ; | tmp to check out ` prior | ` enc Words `( enc>1 encatom )` ' :?? 'm | ======================== | Wed.Dec,20201209 | ======================== | | for SV-FIG | Randy McDonald's : s" IF YOU CAN THINK IT , IT'S DONE " >t0 74 _i t0 # -i 2 _i /i "bl swap take ` |\/| 74 _i t0 # -i take 2 _partition t0 swap braket | ( frase fill width -- braketed frase ) : center --- don't have time for now . really need 3 parameters pushes | but do need to fix ' vdel | ======================== | Thu.Dec,20201210 | ======================== | | all the date fns need to be cleaned up in terms of the higher level words available | in ./CoSy/Furniture.f \/ | "lf |=| _str "bl braket cL daylnTok match "lf |=| _str "bl braket cL daylnTok refs+> value daylnTok | was | "lf s" | ======================== | " cL refs+> value daylnTok : Dayln ( int -- dayln ) date_ _DMymd _str daylnTok 1 _cut enc braket ; 20201219 _i Dayln | my purpose to make notes for presentation . | need to make word out of \/ `D@ .r JobHndld getsize `( .r Tui SIZE )` Dv! `D@ .r JobHndld getPos `( .r Tui posXY )` Dv! ` `( :?? | ======================== | Mon.Dec,20201214 | ======================== | file:///C:/CoSyWeb/index.html ` C:/CoSyWeb/index.html >Fn> F> >Ft> rUpdate rGet ` C:/CoSyWeb/index.html >F rGet >Ft> ` ss >t0> t0 { 20 _-+ dsc } 'm Ft swap ' at 'R Ft ` ssd rUpdate rGet >Ft> Fn >F | ======================== | Tue.Dec,20201215 | ======================== | | 2052 | R lst>str ` \CoSyWeb\index.csy >t0> >F t0 startJob | ======================== | Thu.Dec,20201217 | ======================== | R `( sys CoSySource )` Dv@ >t0> | list of sourcefiles looked at by ' ?? t0 { dup F> emptyLn prt<=f ,L } 'm | grab the part before the first empty line of each R dsc ' Dv@ 'm res> # emptyLn # ` output ?? ` f6 :?? R dsc { Dv@ fmt } 'm >t0> # | get each of them and show . works t0 fmt # R fmt ` f6 :?? R t0 res> # R ` editbox ?? ` ./lib/ui/gui F> lfVM ` editbox con Economy of notation . | ======================== | Fri.Dec,20201218 | ======================== | rShow hex 100 1 - _i decimal 10 _iota fmtI >t0> | rUpdate | 1 digit 100 _iota 1 _cut fmtI >t1> | rUpdate | t1 dup { reverse cL } 'd >t2> | rUpdate | 2 & 4 digit t1 10 _i 100 1 - _take & at >a> t0 ' cL 'd a> { reverse cL } 'd >t3> | 3 & 5 digit res> rUpdate | \/ | Last line broken out | 10 _i 100 1 - _take & | produce all the replicates for the center col | Arthur Whitney's /\ ` where | ` & :?? t1 R0 at | modulo indexing replicates shorter to match longer R0 >a> t0 ' cL 'd | ` a is a stack which handles ref counting R0 a> { reverse cL } 'd >t3> | 3 & 5 digit | 'd is each pair | /\ | R0 >Ft Ft blpad pad 50 _partition ' ,/ 'm (' t0 t2 t3 ') ,/ >t1> | rUpdate | all of them t1 # t1 blpad pad >t2> 91 _partition ' ,/ 'm rUpdate | converting back to integers . t2 ,/ s" i( " ` )i ,L braket Eval >t3> decimal t3 # t3 reverse ' - _delta | nub | |>| -100 -110 -11 -9002 -10 9898 -902 -2 -1 | ========= | t2 # | 8 _i cL i>f ' %f ./ t2 139 _partition ' ,/ 'm R0 -1 _at ,/ # t2 ' Eval 'm t2 _partition ' ,/ 'm | reverse #' | ' ,/ 'm reverse #' | ======================== | Sat.Dec,20201219 | ======================== | 20201214.1515 | 1030 | CoSy IS NOT YET ANOTHER FORTH , BUT A VOCABULARY IN FORTH WHICH LEAPFROGS ALL LESSER LANGUAGES AND IMPLEMENTS AN EVOLVED APL ALL IN A UNIQUELY SIMPLE PROGRAMMING NOTEBOOK TUI ( tap F6 to execute any line ) VOCABULARY : BASIC UNDERSTANDABLE CONCEPTS ON ORDERED SETS | Thu.Dec,20201203 | Palendrome #s | Sat.Dec,20201205 | Bases If you want a ` hobby over Xmas , give CoSy a try | 1452 | | ======================== | Sun.Dec,20201220 | ======================== | ` :hanoi ?? | ` C:/4thCoSy/RevaArk/examples/hanoi.f F> res> >T0> T0 ` C:/4thCoSy/RevaArk/examples/hanoi.f >F T0 Eval ec Words | got defined disks 1 2 3 hanoi cr | sF6 | s" disks 1 2 3 hanoi cr " forth> | don't know why this does not work | 1435 | ` :hanoi ?? | found nowhere . had to use MS fileExplorer ` C:/4thCoSy/RevaArk/examples/hanoi.f F> 4 _iota .. ' +i 'L | simple add table | -- | /\ | ` hanoi etc . Remy | /\ | -- | | -- | \/ | Planets . Baisley | \/ | -- | ` Fact Dv@ dsc | sym>str>' enc ` Fact Dv@ 0 _at! ` Fact Dv@ flip 1 _cut `( Fact Planet#s )` >t1> Dv@ | dsc sym>str>' enc t1 Dv@ 0 _at! | \/ | added to CoSy.f : iEval s" i( " ` )i ,L braket Eval _i ; : fEval s" f( " s" )f " ,L braket Eval ; | /\ | | t0 1 _at ' fEval 'm enc t0 1 _at! | t0 `( Fact Planet_radius )` Dv! | 71492. _f `( Fact Planet_radius Jupiter )` Dv! `( Fact Planet_radius )` Dv@ >t0> fmttbl t0 1 _at ,/ t0 ` Earth v@ %f >t1> t1 3. _f ^f t0 dsc R0 fmtF ,L fmttbl | 20201222.2157 | posted to | \/ | https://www.facebook.com/mark.baisley/posts/10221856512235285?comment_id=10221875509230198 | -------------------------------------------------------------------------- | Roger Hui Euler in APL | 0=1+*o0j1 Dyalog Tweet : Today's date 16/12/20 is a Pythagorean triple so Happy Pythagorean Triple Day! 16² + 12² = 20² i( 3 4 5 )i i( 1 2 3 4 5 6 )i ' *i 'R >t0> t0 i( 0 0 2000 )i ' +i 'L >t0> t0 AF1 t0 { cL lst>stk_ daysdif _i } _delta >t1> t1 ,/ i>f 365.25 _f %f >t1 AF0 t0 { ' lst>stk_ .s daysdif .s _i cr } _delta ` stk> ?? ` _date ?? ` daysdif ?? 15 _iota ' - _delta 5 _iota { 2_i cL } _delta >t1> DMP t1 t0 { ' lst>stk_ on2 .s daysdif .s _i cr } _delta ` _delta ?? 5 _iota ' - _delta ` _delta See | :?? ` pick :?? | ======================== | Mon.Dec,20201221 | ======================== | | Dave Jaffe SVFIG em | i( 5 12 13 )i .. *i .. 2 _take +/ ,L i( 5 12 13 )i i( 1 2 3 4 5 6 )i ' *i 'R >t0> t0 i( 30 12 10000 )i ' _modi 'L t0 i1 -i i( 30 12 1 )i { _modi i1 +i } 'L ` mod ?? ` ': See | ======================== | Tue.Dec,20201222 | ======================== | | removed already commented out \/ from CoSy.f | ." " | replaced \/ w simply output of string . still don't understand | | 20180702 | | help dup | totally bizarre . need invocation of ' help between defs of | | ' (' and ' ') or help bombs ! | 20180502.1857 | | see Sat.May,20180505 | | ======================== | Thu.Dec,20201224 | ======================== | ` fmax ?? 1. 0. 2_f f( 2 2 6 1 -5 7 -2 )f ' maxf ./ |>| -2.0000 | broken i( 2 2 6 1 -5 7 -2 )i ' mini ./ |>| -5 | ok 1. 2. fmin _f : minf { fmin _f } eachDfr ; | ======================== | Fri.Dec,20201225 | ======================== | ` prt<=f ?? : prt ss1st L@ swap take 2P> ; ` take :?? ` ss1st :?? s" Aimee Dongfang " ` | ss1st s" Tim Cox " ` | prt | FB Forth 20201109.0902 |" ` | ss1st ` C:/CoSyBob/MailLists.csy F>/\ ` T0 v@ >t0> t0 ` | ' ss1st 'd | ======================== | Sat.Dec,20201226 | ======================== | | going after bugs & bombs AF1 `( sys Types )` Dv@ 1 _at >t0> .. binary ' fmtI 'm decimal ' ,L 'd ` min ?? ` AF1 ?? AF> >t0> # AF0 t0 +-splt >t0> #' t0 ' nub 'm ' ,/ 'm >t1> #' t0 0 _at t0 1 _at -1*i ` grp ?? ` sys Dv@ >t0> 0 _at | sym>str>' enc ` sys Dv@ 0 _at! t0 flip ` lst :?? ` sys Dv@ >t0> { Type@ _i } aaplym >t1> t0 dsc t1 1 _at ,L flip ` ype Words ` type> ?? | `( sys Tui )` Dv@ | >t0> dsc sym>str>' enc t0 0 _at! | eliminated symbols in Tui names R 1 _at { Type@ _i } aaplym >t0> R dsc t0 ,L flip nil -1*i ` ark Dv@ >t0> dsc sym>str>' enc t0 0 _at! ` .r Dv@ >t0> dsc sym>str>' enc t0 0 _at! | have eliminated all legacy ` symbol types from Root . Eliminating from scripts | 1750 | | resumed | 20201228.2103 | | deleting these types never implemented : | ( ( TypeS 65537 ) ( TypeV 65536 ) ( TypeA 131072 ) ( TypeFv 262144 ) ) t0 flip 4 _take flip `( sys Types )` Dv! `( sys Types )` Dv@ 1 _at ,/ ` and ?? | -- | Types testing | `( sys Types )` Dv@ >t0> fmttbl t0 flip 4 _cut res> lf>bl blVM dae blMV : ori ' or eachDir ; | remarkable only added now : andi ' and eachDir ; i( 1 4 10 )i ' ori ./ |>| 15 | or of types | if not , not CoSy list Ft lfVM s" : refs- " conn ` 280,1 `( .r Tui )` Dv@ thndl_ setcaret | 1st successful use | 20201228.2229 | ` throw ?? ` case :?? : CoSylst?_ dup 0 =if drop 1 .s cr ;then dup _n =if drop 1 ;then dup 15 and =if drop 1 ;then drop 0 ; 15 and =if 1 ;then 0 ; 4 CoSylst?_ _i Ft lfVM rGet lfVM swap ~membv Ft T0 reset 10000 dup 15 and swap 15 not and _i | CoSylst?_ _i ` _delta ?? ` not See ` CoSylst?_ See res> blVM ' Help 'm ` ./CoSy/CoSy.f F> lf>bl `__ : tokcut 1 _cut >t0> { s" ; " prt<=f } 'm t0 ` ; ncon ` TypeS ?? Ft lfVM ` TypeS ccon `__ p ?? | Had to revert . Ft ` C:/4thCoSy/CoSy/CoSyNew.f F> ' lfVM on2 ,L >t0> t0 | { #' lst>stk_ venn | -- Another irritation . want to scroll to where left off . | see 20201228.2056 | basically got working | | ======================== | Sun.Dec,20201227 | ======================== | Conor Hoekstra @code_report 1 Problem, 6 Programming Languages (C++ vs Rust vs #Haskell vs APL vs #Clojure vs Scala) https://twitter.com/code_report/status/1343363855381094401 i( 1 2 3 5 5 5 3 1 4 )i i( 3 3 )i take ' +/ 'm ,/ ' maxi ./ |>| 15 | -- Added `( ./lib/date/calendar ./lib/ui/gui ./lib/ui/iup )` to `( sys CoSySource )` ` getcaret See : getcaret ( txtH -- str ) z" CARET" IupGetAttribute zcount _str ; ` .r Dv@ JobHndlt getcaret : setcaret ( ` X,Y txtH -- ) z" CARET" --bca >r> van zt IupStoreAttribute drop r> ref0del ; ` 10,10 ` .r Dv@ JobHndlt setcaret Ft lfVM s" : ss " conn ` 1291,20 ` .r Dv@ JobHndlt setcaret | 2357 | | got working | | ======================== | Mon.Dec,20201228 | ======================== | | 1334 | R dsc `( .r Tui hndl )` Dv@ `__ setAttr ?? : getcaret ( txtH -- str ) z" CARET" getAttrStr ; textwdo @ getcaret |>| 2772,1 : setAttrStr ( str Hndl lbl -- ) --bca >r> van zt IupStoreAttribute drop r> ref0del ; ` 10,10 ` .r Dv@ JobHndlt_ z" CARET" setAttrStr | Worked ! | 1529 | : setcaret z" CARET" setAttrStr ; ` 27,27 ` .r Dv@ JobHndlt_ setcaret ` JobHndlt ?? | 1602 | | 1952 | : tst ` sys Dv@ ` Tui v@ ` caret v@ ; tst textwdo @ getcaret ` sys Dv@ ` Tui v@ ` caret v! `( sys Tui caret )` Dv@ words~ ~util ` needs ?? : savecaret textwdo @ getcaret ` sys Dv@ ` Tui v@ ` caret v! ; savecaret textwdo getcaret ` sys Dv@ ` Tui v@ ` caret v@ tpmst @ DMP | got restarting @ last caret pos basically working | 2051 | | back to locking up Types check | ======================== | Tue.Dec,20201229 | ======================== | | | 1305 | problem is `( sys Tui caret )` not defined in previous existing CoSyJob until something is F6ed or F11ed | 1458 | textwdo @ getcaret |>| 606,1 Also convert depricated ` symbols to strings . `( sys Tui )` Dv@ >t0> t0 dsc sym>str>' enc t0 0 _at! `( sys Tui caret )` Dv@ R dsc R 1 _at ` Type aaplym ,L flip | The ' aaply are a very consequential | recursive adverbs which apply verbs to corresponding leafs of the noun arguments ` aaplym :?? ` sys Dv@ >t0> dsc sym>str>' enc t0 0 _at! ` .r Dv@ >t0> dsc sym>str>' enc t0 0 _at! ` sys Dv@ ` Types v@ ` Fact Dv@ ` TekLogArk Dv@ | Cleaned up | ` .\CoSy\CoSy.csy | ` C:/4thCoSy/CoSy/WorkLog.csy F>/\ >t0> ` Fact v@ ` Fact Dv! | t0 `( sys Types )` >t1> v@ t1 Dv! | t0 dsc Dnames venn | R `( script.sort ./CoSy/CoSy.f TekLogArk exampleScripts )` ' Dvdel Y./ | `( sys DISPLAY )` Dv@ | apparent remnant from 2015 | 2337 | `( getsize getfont gettxt )` ' ?? 'm bye | ======================== | Wed.Dec,20201230 | ======================== | textwdo @ getcaret R dsc R 1 _at ' fmt 'm ,L flip res> # |>| 211962 ` sys Dv@ | >t0> #' | ` wordpad v@ # t0 flip -1 _cut flip >t0> t0 ` sys Dv! t1 -1 _i t0 .. >t1> | ` wordpad vdel t1 ` wordpad vdel t1 ` sys Dv! 1 0 %f ` \CoSyBob\CoSy\CoSy.csy F>/\ ` sys v@ ` C:\CoSyBob\acnts\y20\Acnts.csy >t0> ` \/>F :?? | : \/>F lst>str >F ; | | stupidly wrong . : \/>F swap lst>str swap >F ; | ======================== | Thu.Dec,20201231 | ======================== | ` catch ?? `( throw catch ctrl-c exception exceptions )` ' Help 'm ` deinit-console See | Help | ?? | fmt rUpdate ` defer ?? ` ./src/reva.f F> lfVM >t0> rUpdate t0 ` deinit-console conn ` 1489,1 ` .r Dv@ JobHndlt_ setcaret ` sys ` Tui ,L Dv@ ` .r Dv@ rGet lfVM # ` ms Help | ======================== | Fri.Jan,20210101 | ======================== | ` ` :?? textwdo @ getcaret ` _i :?? ` ' Help `_ ' Help | 1922 | Kevin Apert SV-FIG challenge ` date_ ?? 20210102 _i date_ _DMymd _str `( date_ dayln date>fixed fixed>date )` ' :?? 'm -1 _at s" 1 1 2021 365 daylns " forth> lfVM >t0> t0 ` sat con { ` , prtl } 'm date>fixed _i r> _iota +i { fixed>date {{ 1 1 2021 date>fixed _i }} 365 _iota +i { >_ fixed>date 3 s>iv } 'm >t0> t0 t0 { lst>stk_ DoW _i } 'm ,/ 6 _i =i & at >t1> t1 { 1 _at } 'm grpix >t2> t1 t2 ' at 'R >a> | index by each month , and for demo purposes push on ref counted ' a stk 3 _i 10 _take i( 2 2 )i cL | 3 3 3 3 3 3 3 3 3 3 2 2 a> R0 ' at 'd R0 { lst>stk_ _DMymd _str } 'm >t3> t3 { daylnTok 1 _cut enc braket } 'm | 2040 | ` dayln ?? ec Words ` dow con ' ?? 'm ` s_n>iv ?? | ======================== | Sat.Jan,20210102 | ======================== | res> >Ft> Ft lf>bl blVM >T1> T1 nub ` grp ?? | ======================== | Sun.Jan,20210103 | ======================== | ` bswap | see 20200607 | little > big endian . ` ./src/reva.f F> lfVM ` exception conn ` 1490,1 ` .r Dv@ JobHndlt_ setcaret ` exception See hex 006232B4 decimal _i 6435508 100 2_i _dasm ` dasm ?? deinit-console :: cr ." Exception: " .x ." at: " .x 100 ms cr ; is exception ` r> Help t0 blVM ' Help 'm .rs rdepth hex i( 000DFF60 00403B82 006393B9 006392A9 0062AF12 009E06F8 009E06B5 009E06F8 004033B1 004034BD )i decimal 917344 4209538 6525881 6525609 6467346 10356472 10356405 10356472 4207537 4207805 917344 DMP ` digit> Help 'n emit | 0008 | | ======================== | Mon.Jan,20210104 | ======================== | ` ./CoSy/Furniture.f F> ` : ss # |>| 157 ` ' :?? `( 0; .x between c+place )` ' Help 'm ` ./src/reva.f F> ` .x def ` ,nl See ` C:/4thCoSy/lib/debugger F> ` ./lib/os/exception F> ' cold here over - 2_i cL ' cold 100000 + 100000 dump res> ` dump0.txt >F " forth> >t0> # ` dump0.txt F> ` gui-main-loop Help ` gui-release Help `( gui-release ]d destroy dialog[ gui-init hide save-gui show )` ' Help 'm gui-release d1 destroy | ======================== | Tue.Jan,20210105 | ======================== | ` f? ?? | ======================== | Wed.Jan,20210106 | ======================== | | in response to SV-FIG Dennis Ruffer email mention of camelCase . ` ALPHabet Dv@ >t0> ec Words >t1> # |>| 933 t1 t1 t0 26 _take { ' memb 'R ,/ ' maxi ./ } 'L ,/ & at >t1> # |>| 249 t1 t1 t0 26 _cut { ' memb 'R ,/ ' maxi ./ } 'L ,/ & at >t1> # |>| 174 | problem w xmas tree demo last year | CoSyDir |>| \4thCoSy\CoSy\ CoSyDir ` y2019.txt cL F> >Ft> https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2265087163791305/ In answer to an email | Y-mas Tree . needed to change ' _take to ' take | "bl ` / 16 _iota ' take 'R 1 _cut { cL -16 _fill } 'R R0 ` \ 16 _iota ' take 'R 1 _cut { "bl cL 16 _fill } 'm ' cL 'd >t0> | R0 R0 reverse ' cL 'd .. ' cL 'd t0 ` o#o s" # " ,L i( 14 4 14 )i { & at } 'L cL >t0> t0 flip { ,/ reverse } 'm | X-mas tree ` dict Help ` here Help `( create >name >body >class >size >xt body> xt>size (xfind) find xfind )` ' Help 'm ` find :?? ` > Words ` Xwords ?? | typed ' here out at begining of CoSy script . here 6422599 - _i |>| 107505 | apparently everything in CoSy takes abt 100k | ` words :?? ` >name Help Ft lfVM ` saveRestor conn fmt ` ,1 cL `D@ .r JobHndlt_ setcaret `D@ .r ` JobHndl ?? 6511995 6422599 - _i 6530104 6422599 - _i ` last Help ` xt Words ` Xwords :?? ` dictgone ?? ` DICT Help `( 0drop; 0;drop 0; 00; )` ' Help 'm ` gcd ?? ` >xt :?? ` def :?? ` count Help `( >name >xt )` ' Help 'm ` ./src/reva.f F> ` >name def ec Words 10 _take here 100 - 100 dump : tst ." hello " ; : tst1 1 2 3 5 . . . . ; tst1 ` _dasm :?? ` disassemble See tst1 . . . . | ======================== | Thu.Jan,20210107 | ======================== | Xwords flip >t0> 1 _at ,/ >t1> t1 blVM reverse rUpdate rGet lfVM >t1> # t1 1 _cut sortstr rUpdate t1 t1 nubb 0=i & at | all 41 nonunique words in CoSy ec rUpdate rGet >T0> T0 lfVM dsc >t0> "bl ss >t1> | changing ` _modi t0 ` modi to make clear totally CoSy level t0 t0 60 _i modi ' - _delta 0 --aab modi ' - _delta 0 ; t0 t0 t0 "bl ss 30 _i wrapidxs 0cut | 20210111.2317 | adding t1 ' - _delta > t0 t2 0 rUpdate text> daylncut ` ref- con ` C:/4thCoSy/CoSy/WorkLog.csy202012261719.csy F>/\ ` text v@ s" C:/4thCoSy/CoSy/WorkLog - Copy (2).bk" F> # | /\ >t0> ` text v@ s" C:/4thCoSy/CoSy/WorkLog.csy202011232114.csy" F>/\ >t0> # t0 dsc ` text v@ # text> lfVM # | ======================== | Sat.Jan,20210109 | ======================== | | Demo w Squirrel who is back from being induced into an accident on his | chopper by cops in unmarked cars on all sides | | 1355 | | The essence of CoSy : 1 - 2 1 2 - -1 s" 1 2 - _i" "bl VM >t0> t0 { van find _i } 'm ` find >t0> van find-dict dup 100 dump _i ec Words ` str con drop type ` ' :?? ` (execute) Help ` find Help res> blVM >t0> t0 ' Help 'm t0 ' Help 'm t0 ' See 'm ,L flip `_ exec ?? | ======================== | Sun.Jan,20210110 | ======================== | | added | COSYSTARTFILE lst | to startup to label dos windows . | 2129 | Rediculous blindness . For years I have known that if somehow you are | in the Reva dos shell if a dialog breaks or is accidentally closed , just | executing | go | will bomb . Geting into this basic code , I tried | getset go | & it works . See | ` ./CoSy/Tui.f | ` S. :?? | ======================== | Fri.Jan,20210115 | ======================== | ` in: ?? ` ./lib/debugger F> lfVM ` in: con ` xt>name Help ' Help xt>name ` >r Help res> blVM >t0> t0 ' Help 'm rp0 @ rdepth mem>iv >t1> t1 0 _at xt> 1987443241 xt>name { >_ xt>name _str } 'm ` _rp0 ?? r@ xt>name _str ` >i Words ` mem>iv ?? ` ./src/revacore.asm F> rUpdate ` find :?? ` find Help | ======================== | Sat.Jan,20210116 | ======================== | | 1345 | s" can't index " ?? | considered changing def of ' ix to return arg if empty . but would need to change all i@ & i! subfns too | ======================== | Sun.Jan,20210117 | ======================== | text> day ` refs- con dup 15 dup and swap 15 xor not 4 15 and _i 4 15 xor _i |>| 11 4 15 invert and _i 27 15 --abab and --cab invert and not 2 s>iv fmtI% 4 15 --abab and --cab invert and not and _i fmtI% 4 15 --abab and --cab invert and 2 s>iv fmtI% 15 invert _i fmtI% ` nand ?? ` binary ?? ` iv Words ' :?? 'm ` tstScript -> | Dv@ >t1> ` tstScript Dv@ Eval _n _CoSylst?_ _i : _CoSylst?_ dup 0 =if drop 1 ;then dup _n =if drop 1 ;then dup 15 and swap 15 invert and not and if 1 ;then 0 ; ` exception ?? :: deinit-console ." Exception: " .x ." at: " .x 100 ms throw ; is exception ` deinit-console ?? ` defer Help ` catch Help ` throw Help ` gui-main-loop Help ` set-callback Help quit ` ]w `( Help :?? )` ' Eval 'R ` IupAppend ?? z" K_F5" set-callback ` set-callback ?? ` .r Dv@ JobHndlt_ { ` .r Dv@ JobHndlt_ ins-ymd.hm } z" K_sF11" set-callback ` insert :?? ` callback Help | ======================== | Mon.Jan,20210118 | ======================== | | 1529 | ` .r Dv@ JobHndlt_ { ` .r Dv@ JobHndlt_ ins-hm } z" K_F11" set-callback ` Bugs Dv@ ` nonce ?? ` ins-hm ?? ` gui-close ?? `D@ .r closeWdo d1 @ closedlg ` d1 See ` textwdo ?? ` d1 ?? Ft lfVM ` SIGSEGV con ` deinit-console ` ((hi)) ?? s" C:/4thCoSy/bin|agar.dll|bench|bench.bat|build|cd.dll|cdiup.dll|checkhelp.f|dist.f|firstrun.f|freetype.dll|genhelp.f|glut32.dll|graphapp.dll|help.db|inline.f|install.f|iup.dll|iupcontrols.dll|iupgl.dll|iupim.dll|iupimglib.dll|libexpat.dll|libgobject-2.0-0.dll|libgpg-error-0.dll|libgpgme-11.dll|libiconv2.dll|libimath.so|libmySQL.dll|libpng13.dll|libs.f|pcre3.dll|pdcurses.dll|pthread.dll|reva.exe|revacore|rss_process.dll|sdl.dll|sqlite3.dll|sqlite3.exe|test.f|testlib.f|tests.f|zlib1.dll| " R0 fullPaths ` .dll ncon | .. ' F> 'm ,L flip | ======================== | Wed.Jan,20210120 | ======================== | ` appstart S `( sys CoSySource )` Dv@ >t0> { F> lfVM ` defer con } 'm t0 swap ,L flip .used ` make Help | ======================== | Fri.Jan,20210122 | ======================== | `( add-callback set-callback )` ' Help 'm Deleting from Tui.f res> lfVM `_ | swap ' cL 'R | 0 [IF] | macro | : key-F1-cb: ' literal, p: key-F1-cb ; | : key-F2-cb: ' literal, p: key-F2-cb ; | : key-F3-cb: ' literal, p: key-F3-cb ; | : key-F4-cb: ' literal, p: key-F4-cb ; | : key-F5-cb: ' literal, p: key-F5-cb ; | : key-F6-cb: ' literal, p: key-F6-cb ; | : key-F7-cb: ' literal, p: key-F7-cb ; | : key-F8-cb: ' literal, p: key-F8-cb ; | : key-F9-cb: ' literal, p: key-F9-cb ; | : key-F10-cb: ' literal, p: key-F10-cb ; | : key-F11-cb: ' literal, p: key-F11-cb ; | : key-F12-cb: ' literal, p: key-F12-cb ; | forth | [THEN] Ft lfVM ` add-callback con `( throw catch )` ' ?? 'm 1 _at ` creat Help ` eval ?? ` accept Help | ======================== | Sat.Jan,20210123 | ======================== | ` rotate :?? ` rot See --bca ` abc i( 0 1 -1 )i ' rotate 'R |>| bca | 1307 | | ======================== | Sun.Jan,20210124 | ======================== | ` get Words | ======================== | Tue.Jan,20210126 | ======================== | `( <@> venn )` ' :?? 'm ` \CoSyWeb\y21\blog.csy F>/\ >t0> # t0 ' #' 'm -1 _i >t1 t0 t1 i1 +i >t1> ' at 'L ` state v@ t0 lst>str ` \CoSyWeb\y21\blog.csy \/>F t0 >T0> # | ======================== | Wed.Jan,20210127 | ======================== | .25 .25 2_f ^f 1. 2. 2_f .5 _f ^f %f | ======================== | Thu.Jan,20210128 | ======================== | text> daylncut ` caret con | ======================== | Sun.Jan,20210131 | ======================== | ` ix :?? ./CoSy/CoSy.f : ix ( adr n -- adr of nth item in list ) | modulo indexing over i# ?dup 0if z" can't index empty " throw ;then | 20210122 | tested if can just return empties . Nope _mod over Ibytes * vbody + ; | Modulo indexing is a very fundamental feature of CoSy . | It means an index can never go out of range because it simply wraps . | It means the shorter of 2 lists is cyclically repeated to match the longer . | A list can be addressed from the end with negative indices . eg | See Furniture.f 2scomp | | 1521 | experimenting w replacing throw with simple returning empties seeing | 20210122 | tested if can just return empties . Nope Need to deal w at higher level . | working on ' exception at Sun.Jan,20210117 | ======================== | Mon.Feb,20210201 | ======================== | | changed dialog title to reduce ambiguity . See Tui.f FullCoSyFile .. ` \ ss -2 _at cut | ======================== | Tue.Feb,20210202 | ======================== | ` C:/4thCoSy/restore.bat | ======================== | Sun.Feb,20210207 | ======================== | : phi ( the golden ratio ) .5 5. f^ 1. f- 2. f/ _f ; | at the x87 level then / phi fmtF18 ,/ |>| 0.618033988749894847 ` fmt Words ` nestl ?? ` first ?? | ======================== | Mon.Feb,20210208 | ======================== | 5. _f .5 _f ^f 1. _f +f 2. _f %f |>| 1.6180 ` idx ?? ` dot ?? ` braketed :?? | changed braketed to +braketed+ and added \/ in Furniture.f : braketed ( str tok0 tok1 ,L -- str ) 2p> dsc prt>f R@ 1 _at prt ; | portion of string between but including two token strings . | ======================== | Tue.Feb,20210209 | ======================== | | From K.CoSy | http://cosy.com/K/CoSy/K_CoSy.htm | nestlevel | K def | level of nestng given list of start and close interval endpoints | { +\ ( ,/ ( ^ x ) # 1 -1 ) @ < ,/ x } | | coverraw indices of occurances of ( starting & ending ) toks in string | { ( + y _ss/: x ) +\: 0 , # *| x } | | cover / indices of top level cover of start/stop tokens `x in string `y | { QW : ,/ coverraw[ x ; y ] ; | QW : QW @ & |/ ( 1 >': ; 0 = )@\: 0< nestlevel QW ; | ( _ ( # QW ) % 2 ; 2 ) # QW } ` C:/CoSyWeb/y21/Wed.Feb,20210210.html >t0> F> >t1> | rUpdate s" asdf more stuff yet more and finally yea " >t1> t1 ` ,L ' ss 'R >t2> i0 t1 # take >t3> i1 t3 t2 dsc at! t3 i-1 t3 t2 1 _at at! t3 t3 +\ >t3> | ======================== | Wed.Feb,20210210 | ======================== | | : nestlevel ( str tags -- levels ) 2p> ,L ' ss 'R i0 t1 # take : phi ( the golden ratio ) .5 5. f^ 1. f+ 2. f/ _f ; | at the x87 level then _f phi 1%f .. ^f phi 1%f .. ^f | ======================== | Mon.Feb,20210215 | ======================== | ` C:/4thCoSy/CoSy/math.f F> Eval 120 _i factors ` factors See | ======================== | Wed.Feb,20210217 | ======================== | ` str>tbl :?? | ======================== | Sat.Feb,20210220 | ======================== | | 1936 | ` exception ?? :: deinit-console ." Exception: " .x ." at: " .x 100 ms ['] bye cr ; is exception ` exception Help :: cr ." Exception: " .x ." at: " .x 100 ms 0 ; is exception ` is `( :?? Help )` ' Eval 'm `( :: { )` ' :?? 'm forth : :: 0L (header) lastxt p: ] : noop ; variable oldstate macro : { ( -- xt ) | force compiling state, save old state: state @ oldstate ! state on oldstate @ if ahead then here ; : } ( xt -- xt ) | seal off temp definition: $c3 1, | if compiling, seal the jump and compile the 'here' | if interactive, just return the 'here' oldstate state xchg2 compiling? if p: ;then literal, then ; | 2316 | ` a 1234567 _take 0 _take dup DMP >t0> cr DMP | sF6 F5 to execute in raw Forth then insert . 001966A0 01 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 ................ 001966B0 00 00 00 00 00 00 00 00 63 14 3E ED 8E 25 00 10 ........c.>..%.. 001966A0 01 00 00 00 00 00 00 00 01 00 08 00 00 00 00 00 ................ 001966B0 00 00 00 00 00 00 00 00 63 14 3E ED 8E 25 00 10 ........c.>..%.. ` a 1234567 _take enc 0 _take DMP 00195750 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 .......... ..... 00195760 4B 08 AA 8D 00 00 00 00 65 14 3F EA 8E 25 00 00 K.......e.?..%.. AF1 ` a 1234567 _take enc 0 _take ' DMP spool >t0 AF0 AF> +-splt ( 13444808 102428704 13444808 10242968 10256160 -13444808 -102428704 -13444808 -10256160 ) 10242968 DMP ' t0 @ _i | 0059 | ` spool :?? Dnames `( sys Types )` Dv@ fmttbl | ======================== | Sun.Feb,20210221 | ======================== | | 1105 | ` C:/CoSyBob/CoSy/CoSy.csy F>/\ >t0> #' t0 dsc t0 1 _at #' ,L fmttbl t0 `( sys Tui )` v@ fmttbl t0 ` T1 v@ ` save ?? ` ctrl ?? ` C:/CoSyBob/CoSy/CoSy.csy ` C:/CoSyBob/CoSy/CoSy.bk ' F> on2 match | ======================== | Mon.Feb,20210222 | ======================== | | 0816 | AF1 ` a 1234567 _take 0 _take AF0 AF> +-splt ( 9463552 50999328 9463552 -9463552 -50999328 ) AF1 ` a 1234567 _take enc 0 _take AF0 AF> +-splt ( 13089800 51048480 13089800 12785368 -13089800 -51048480 -13089800 ) AF1 AF0 AF> AF> +-splt fmt rUpdate ` fill ?? ` AT+> See ` defer :?? rShow ` apv :?? .0 .1 2_f 30 _apv >t0> t0 t0 t0 .5 _f ^f ^f ,L fmttbl | ======================== | Tue.Feb,20210223 | ======================== | 15 3 * 10 * 9 + _i i( 1 2 2 4 )i +/ 15 3 * 9 * 9 + _i | 2226 | 4 3 * 3 * 9 * 9 + _i | ======================== | Fri.Feb,20210226 | ======================== | : D> dup DMP ; | added to ./CoSy/util.f | ======================== | Sat.Feb,20210227 | ======================== | `_ log ?? ` i( ?? ` Daysdif ?? ` date>fixed ?? ` gregorian>fixed ?? ` dump ?? | ======================== | Fri.Mar,20210305 | ======================== | ` `( :?? Dnames blMV `__ `( `__ )` ,L braket : nl>toks blMV : tst `_ `( ; | ` )` { "bl braket } on2 ,L ; tst ` pop>eax ` ./src/reva.f F> lfVM ` pop>eax con | First time I've started even adding blank lines to ` ./src/reva.f script | 2231 | | ======================== | Sat.Mar,20210306 | ======================== | ` caught ?? ` catch ?? ` catch Help i( -1 0 1 )i dup reverse +i |>| 0 0 0 100000 _iota >t0> # |>| 100000 t0 t0 reverse +i 5 _take |>| 99999 99999 99999 99999 99999 https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2614890792144272/?comment_id=2615088652124486 | ======================== | Sun.Mar,20210307 | ======================== | | going to try notion of simply dos auto restarting . ` .\ Dir ` startJob :?? s" | " ` .\CoSy@.bat F> lfVM ' cL 'R lfMV | echo | | SET REVAUSERLIB=.\CoSy\ | SET COSYSTARTFILE=%1 | set COSYSTARTFILE | .\bin\reva .\CoSy\CoSy.f %COSYSTARTFILE% | :restart | restart | goto restart This may work as a gross last line ! | 1836 | res> ` .\CoSy@.bat >F | ======================== | Tue.Mar,20210309 | ======================== | ` C:/CoSyBob/acnts|KKrishEnergybrk.csy|KKrishEnergy.csy|KKrishEnergy.csy202103031643.csy| fullPaths C:/CoSyBob/acnts/KKrishEnergybrk.csy ` C:/CoSyBob/acnts/KKrishEnergy.csy F>/\ >t0> t0 ` sys v@ C:/CoSyBob/acnts/KKrishEnergy.csy202103031643.csy C:/CoSyBob/acnts/ | ======================== | Wed.Mar,20210310 | ======================== | | SV-FIG | thermisitor | ======================== | Thu.Mar,20210311 | ======================== | rGet lfVM ` 0=L conn | ` 0=L | vestigial | removed from CoSy.f | : 0=L ( iLst -- iLst ) ['] 0=I eachM> ; | Iverson "not" on list | same as 0=i | ======================== | Mon.Mar,20210315 | ======================== | | ======================== | | ======================== | ` .\restart.bat F> lfVM ` .\CoSy@.bat F> res> >t0> | replacing call to restart w line it actually is . was exiting thru ' restart | bin\reva.exe CoSy\CoSy.f t0 ` .\CoSy@.bat >F | now restarts need direct killing to kill | 1648 | | ======================== | Sun.Mar,20210321 | ======================== | | 1930 | Never would have expected Ap ` enum: ?? `( enum: word? (create) (header) )` ' Help 'm | ======================== | Mon.Mar,20210322 | ======================== | | leap years | i( 2000 2020 2021 )i i( 400 100 4 )i ' modi 'R { i0 =i ' <>i ./ } 'm | ======================== | Thu.Mar,20210325 | ======================== | ` nub ?? ` <>i ?? | needed 0<>i , added to CoSy.f | didn't actually | 0919 | : 0<>i i0 : <>i ['] <>I eachDir ; | not equal ( Iverson logic ) 2 integer vecs ` ~nub ?? ` 0=1 ?? | ======================== | Sat.Mar,20210327 | ======================== | | ======================== | Sun.Mar,20210328 | ======================== | Uploaded | SV-FIG | | 1853 | | ======================== | Tue.Mar,20210330 | ======================== | 50 7 _rand i1 +i |>| 5 13 16 49 46 3 19 ` fmttbl :?? : fmtDT >a> dsc a> 1 _at { cL enc } 'd fmttbl ; | Added to Furniture.f ` grade ?? ` grp ?? | 1927 | | 20210331.1104 | : 1th 1 _at ; | been thinking abt . w see if sticks . | 20210331.1402 | Added to CoSy.f ` C:/4thCoSy/CoSy/math.f F> Eval 100 20 _rand >t0> | t0 # iota ,L flip >t0> t0 i( 0 1 )i at lst>stk { dsc >_ } on2 2_i cL : pcmpri { dsc >_ } on2 < ; : psorti dup # iota ,L flip ' pcmpri is compare rep dup van cells/ hsort ; | 20210331.1910 | ec Words 20 _take >t0> | ilst flip reverse flip ` cmprStr_ See : cmprStr_ strCmpr >_ 0 < ; | version for use in ' hsort : pcmprstr ' dsc on2 cmprStr_ ; : psortstr dup # iota ,L flip ' pcmprstr is compare rep dup van cells/ hsort ; t0 psortstr fmttbl : pstrCmpr t0 | t1 { flip ' ,/ 'm } on2 ,L >t2> ` dsc ?? t2 dsc dsc t2 1th 1th at | t0 flip 1 _at ,/ >t1> | ======================== | Thu.Apr,20210401 | ======================== | ` nubgrpix :?? ` >t ?? | ======================== | Fri.Apr,20210402 | ======================== | ` startJob :?? ` strMatch :?? ` where ?? | ======================== | Mon.Apr,20210405 | ======================== | |\/| |\/| |\/| below I've worked thru a " method in data encription called "steganography" " | presented by Sandor Schneider on FP " Minimalist Computing " group | " If we use the lowermost bit of color pixels, the human eyes can not see the difference. " | Rise internet happened to go out over a large part of CO & WY so had nothing | better to do than solve , ie: implement , this Sandor Schneider > Bob Armstrong You can download any BMP file. And read / write as a simple binary file. If you simply read / copy the first 54 bites, you dont need to worry about the other bytes. The first 54 byte is the picture descriptor. You can see I don't touch it only read and copy. ?? prog input.BMP output.BMP < any.txt > Sandor Schneider | So essentially after the 54 byte header , are pixels defined by 3 or 4 byte ` cells ? So I can process the contents , the stick the header back on & it should work ? I copied you image to Irfanview then saved to http://cosy.com/y21/MarioTestHead.bmp . I've executed a few lines to see what's involved . | \/ looked at whether the 2 images copied from FB post are the same \/ | ` c:/CoSyWeb/y21/MarioTestHead0.bmp F> >t0> # ` c:/CoSyWeb/y21/MarioTestHead1.bmp F> >t1> # t0 t1 match |>| 1 | First a bunch of exploration , bunch of which I should have read in Sandor's | original post . ` c:/CoSyWeb/y21/MarioTestHead0.bmp F> >t0> # |>| 10854 t0 van dump | sF6 , execute raw | ` dump is raw Forth output . See what it looks like rShow res> rUpdate | show dump in separate window t0 54 _take van dump | sF6 to see header i( 60 60 3 )i ' * scanI |>| 60 3600 10800 | so accounts for everything | pays no attention to cell boundaries . t0 54 _cut >T0 | T0 is persistant across saves | T0 i( 3600 3 )i take ' ,/ 'm >t0 | turn into 3 char strings | dead end | bunch of other explorations below . Here's the bushwhacked method . | Realized simplest way to 0 low order bits is to make all even . | convert to int , subtract remainder mod 2 . T0 c>i >t1> t1 2 _i modi -i >t2> | make all even , ie low order bit 0 t2 i>c >t2> # | convert back to chars , re-append header , write to file t0 54 _take t2 cL ` c:/CoSyWeb/y21/MarioTest0.bmp >F | It is visually indistinguishable . | To encode : ( The unpacking and packing of bools could be vastly improved at the Forth level ) | Make a table of booleans . Convert to bools using table lookup . | SuperKludge using Forth formatting verb to create table of bools 256 _iota { >_ 8 '0 binary (p.r) decimal _str ` 1 =c } 'm >t0> ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 ... | Convert message from char to int . s" a message " c>i >t2> |>| 97 32 109 101 115 115 97 103 101 32 | index into bools & ravel t0 t2 at ,/ >t3> 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 | Make list of powers of 2 to recombine i1 2 _i 7 _take ' * scanI cL reverse >t1> |>| 128 64 32 16 8 4 2 1 | Integer dot product from ` 4thCoSy/CoSy/math.f : doti *i +/ ; t3 i( 10 8 )i take t3 10 _partition t1 ' doti 'L ,/ i>c |>| a message t3 ` c:/CoSyWeb/y21/MarioTest0.bmp F> >T0> 54 _cut c>i +i T0 54 _take R0 i>c cL ` c:/CoSyWeb/y21/MarioTest1.bmp >F ` c:/CoSyWeb/y21/MarioTest1.bmp ` c:/CoSyWeb/y21/MarioTest0.bmp { F> 54 _cut c>i } on2 -i >t0> t0 1350 _partition t1 ' doti 'L ,/ i>c | 2028 | ` partition ?? T0 { >_ _i } 'm | ,/ >t1> # t1 i( 3600 3 )i take ' ,/ 'm T0 T0 { >_ 1 and _i } 'm >t0> # t0 ,/ >t0> t0 1350 _partition >t1> t2 i1 2 _i 7 _take ' * scanI cL reverse >t2> |>| 128 64 32 16 8 4 2 1 : doti *i +/ ; t1 t2 reverse ' doti 'L ,/ T0 c>i >t1> 256 _iota { >_ 8 '0 binary (p.r) decimal _str ` 1 =c } 'm >t0> t0 t1 at >t2> 256 _iota { >_ 8 '0 binary (p.r) decimal _str ` 1 =c } 'm >t0> t0 | -- t0 t1 ' at 'R t2 reverse ' doti 'L t0 115 _at t1 10 _partition t2 ' doti 'L ,/ i>c ` c:/CoSyWeb/y21/MarioTest0.bmp F> >T1> t0 s" a message " c>i at ,/ T1 54 _cut c>i +i i>c >t2> # T1 54 _take t2 cL ` c:/CoSyWeb/y21/MarioTest1.bmp >F ` c:/CoSyWeb/y21/MarioTest1.bmp ` c:/CoSyWeb/y21/MarioTest0.bmp { F> c>i } on2 -i >t0> t0 54 _cut 1350 _partition t0 10 _at ` 1 =c R0 { "bl swap enc' ' cL 'R ,/ Eval } 'm >t2> R0 { "bl swap enc' ' cL 'R ,/ Eval } 'm >t2> ` >i ?? t3 .. i# 8 / 8 2 s>iv take ` s>iv ?? | ======================== | Tue.Apr,20210406 | ======================== | ` take :?? ` / Help i( 1 0 -1 0 )i i( 3 3 )i take `( ark morse )` Dv@ | ======================== | Wed.Apr,20210407 | ======================== | ` c:/CoSyWeb/y21/MarioTest1.bmp ` c:/CoSyWeb/y21/MarioTest0.bmp { F> c>i } on2 ,L >t0> t0 ` con :?? | Demo broken down i raw Forth , shiftF6 key . Looking at $tack . 1 2 - _i | back to F6 expecting CoSy list result if any R0 10000 _i take | ======================== | Wed.Apr,20210407 | ======================== | | 2323 | | ======================== | Fri.Apr,20210409 | ======================== | | from https://en.wikipedia.org/wiki/Human_body_weight#By_region | | Finland not splt m f rGet lfVM >T0> # | 50 T0 "ht ' VM 'L R0 i( 1 2 )i ' at 'L >t0> t0 { "bl ' prtfl 'm ,/ } 'm >t1> t1 flip ' ,/ 'm >t1> t1 dsc t1 1th swap %f >t2> T0 t2 1. _f >f & at |>| Botswana 63.6 kg (140.2 lb) 64.3 kg (141.8 lb) 15-69 Measured 2014 [23] : avgf 1p> +/ R@ rho i>f %f 1P> ; | from ` C:/4thCoSy/CoSy/math.f t2 avgf |>| 0.8857 | ======================== | Sun.Apr,20210411 | ======================== | | 1703 | ` COSYSTARTFILE ?? | changed all occurances in CoSy.f & Tui.f to ` CoSyStartFile ` />\ ?? | ======================== | Mon.Apr,20210412 | ======================== | variable a 36 a ! | : fib begin dup . 9 emit swap over + a @ 1 - a ! a @ 0 = until ; 36 a ! : fib repeat dup . 9 emit swap over + a @ 1 - a ! a @ while ; 0 1 fib | res> >t0 > # t0 htVM `( repeat while )` ' Help 'm ` fib See | ======================== | Thu.Apr,20210415 | ======================== | ` ASCIIbrowser Dv@ lfVM | { blVM dae } 'm | ======================== | Sun.Apr,20210418 | ======================== | ` memb ?? | ` f? ?? https://forums.dyalog.com/viewtopic.php?f=30&t=1754&p=6892#p6892 | 1814 | | ======================== | Wed.Apr,20210421 | ======================== | f( 24 60 60 )f 1232 24 /mod | 60 /mod .s .s reset ` compile Help ` [ Help ` .\CoSy\CoSy.csy F>/\ ` text v@ lfVM ` script0 conn | ======================== | Fri.Apr,20210423 | ======================== | https://aplwiki.com/wiki/Decode 2. _f 4 _iota i>f ^f f( 1 2 2 2 )f ' f* scanf reverse f( 1 2 3 4 )f *f +/ f( 1 24 60 60 )f ' f* scanf reverse f( 1 60 )f *f +/ f( 100 100 )f ' f* scanf | 1435 _f 1435 100 /mod 2_i cL | ======================== | Sat.Apr,20210424 | ======================== | '( { 0 _i } ' i1 )' | ======================== | Sun.Apr,20210425 | ======================== | https://www.facebook.com/groups/441341066956027/permalink/454257828997684/?comment_id=454606425629491 s" SERPENT KILLERS WELCOME" blVM >t0> s" ... .... ...." blVM >t0> | split the phrase on blanks `( Fact morse )` Dv@ >t1> | Retrieve the table from the Root dictionary | and save as a temp for convenience | It's a list of 2 lists , the 0th is the codes , the 1th is the alphebet t1 1 _at t0 { ' where 'R } 'R >t2> | look up each letter in each word in | the 1th list ( the characters ) . return the indices t2 ' ,/ 'm ( 18 4 17 15 4 13 19 10 8 11 11 4 17 18 22 4 11 2 14 12 4 ) t1 0 _at t2 { ' at 'R } 'R ' blMV 'm | index the morse ( ... . .-. .--. . -. - -.- .. .-.. .-.. . .-. ... .-- . .-.. -.-. --- -- . ) | ======================== | Mon.Apr,20210426 | ======================== | As one line `( Fact morse )` Dv@ .. dsc swap 1th t0 { ' where 'R } 'R ' ,/ 'm { ' at 'R } 'R ' blMV 'm s" SERPENT KILLERS WELCOME" "bl ssd >t0> `( Fact morse )` Dv@ reverse t0 dlb ' v@ 'R | ======================== | Tue.Apr,20210427 | ======================== | | 1841 | blog.csy broken . ` \CoSyWeb\y21\blog.csy F>/\ >t0> # t0 dsc t0 1th #' ,L fmttbl | ======================== | Fri.Apr,20210430 | ======================== | ` \CoSyWeb\y21\blog.csy \/>F | ` C:/CoSyWeb/y21/blog.csy202101262244.csy F>/\ >t1> # t0 t1 ' flip on2 venn >t2> # t2 { ' dsc 'm } 'm fmttbl t2 i( 0 2 )i at ' flip 'm >t3> # t3 1th t3 ` sys ' v@ 'L ` \CoSybob\CoSy\CoSy.csy F>/\ ` text v@ >t0> t0 nub s" C:/CoSyBob/CoSy/CoSy - Copy (8).csy" F>/\ ` ToDo v@ >t0> | ======================== | Sat.May,20210501 | ======================== | | 0808 | | 1027 | w : 211.2 . bath . nap . w : 209.6 | 1326 | ` C:/4thCoSy/debug.log F> rUpdate | Don't knw what it is . deleted | 1411 | ` saveTSclone :?? | updated in ` ./CoSy/Derived.f | 1446 | : saveTSclone R lst>str CoSyStartFile ( was COSYSTARTFILE ) ymdhm cL s" .csy" cL >F ; ` COSYSTARTFILE ?? ` '( ?? | ======================== | Mon.May,20210503 | ======================== | ` does> Help `( Type Count refCount )` >t0> # t0 ' # 'm |>| R0 ,/ R0 +/ | ======================== | Wed.May,20210505 | ======================== | `( does> ' '' 'does (create) (header) [ ['] ] back compile create find find-dict findprev header super> )` R0 ' Help 'm | ======================== | Fri.May,20210507 | ======================== | Ken Boak https://www.facebook.com/groups/441341066956027/permalink/461016558321811/ https://en.wikipedia.org/wiki/NAND_logic ` nand ?? | empty ! https://electronics.stackexchange.com/questions/280855/why-is-there-no-nand-instruction-in-modern-cpus i( 1 1 1 0 )i 4 _iota ' at 'R | ` nand truth table | ======================== | Sat.May,20210508 | ======================== | `D@ Fact flip 1 _cut 589.2 273.15 210. f- _f ` fmt Words 16 _iota fmtI% 16 _iota { >_ 4 '0 binary (p.r) decimal _str ` 1 =c } 'm >t0> t0 { 2 _partition } 'm | ======================== | Fri.May,20210514 | ======================== | C:\Windows\System32\cmd.exe /k "\4thCoSy\Cosy@.bat \CoSyBob\CoSy\CoSy.csy " | ======================== | Sat.May,20210515 | ======================== | | work on comparing directories . ` E:\4thCoSy\ CoSyDir ,L { Dir nlVM ( 7 _cut -3 _cut ) } 'm >t0> t0 { blVM dae .. 3 _take swap 3 _cut blMV enc cL } 'm >t0> s" E:\4thCoSy\" Dir nlVM 7 _cut -3 _cut >t1> t1 { blVM dae .. 3 _take swap 3 _cut blMV enc cL } 'm >t1> t0 t1 { "ht ' MV 'L } on2 venn i( 0 2 )i at s" date_ 30 daylns " forth> 16 05 2021 N 20210515 _i 60 _i +i ' Dayln 'm : Dayln ( int -- dayln ) date_ _DMymd _str daylnTok 1 _cut enc braket ; `( date_ _DMymd :?? | ( yyyymmdd n -- ) | outputs daylines for begining date + n days . : Daylns >a date_ date>fixed _i a> iota +i { >_ fixed>date dayln _str } 'm lfMV ; 20210517 _i 10 _i Daylns | 20210517.2029 | got working | CoSyDir |>| E:\4thCoSy\CoSy\ ec Dir f( 4.88 4.44 1.61 )f 2.56 _f *f | CoSy Box dimensions | ======================== | Sun.May,20210516 | ======================== | | 1514 | | ======================== | Mon.May,20210517 | ======================== | | 1949 | Got ' Daylns working . adding to Furniture.f | ======================== | Wed.May,20210519 | ======================== | ` D:/CoSyWeb/y21/BlogTemplate.mzt ` D:/CoSyWeb/y21/ />\ Dir >t0> `( D:\CoSyWeb\y21 C:\CoSyWeb\y21 )` { Dir nlVM 7 _cut -3 _cut } 'm >t0> t0 t0 { blVM dae .. 3 _take swap 3 _cut blMV enc cL } 'm >t1> | ======================== | Fri.May,20210521 | ======================== | ` today :?? ` _DMymd :?? --cba ec Words ` fmt con ` fmtI :?? ` dtpk :?? ` fixed>date ?? _date dtpk _i 30 _i Daylns ` Today See |>| Today? : Today _date dtpk _i ; | added to Furniture.f Today 30 _i Daylns ` BROWSER Dv@ |>| ""C:\Program Files (x86)\Mozilla Firefox\firefox.exe"" ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" res> ` BROWSER Dv! ` help -> | ======================== | Tue.May,20210525 | ======================== | ` BROWSER ?? | thinking of moving to file to be uniform across CoSy instances ` .\ Dir | ======================== | Wed.May,20210526 | ======================== | ` BROWSER Dv@ ` .\CoSy\BROWSER.txt >F ` ,sv>lst ?? ` <@> :?? 10 _iota i>f .1 _f *f .01 _f +f .. ^f 10 _iota i1 +i i>f .. ^f 1%f +/ | ======================== | Sun.May,20210530 | ======================== | ` lpstk ?? | ======================== | Tue.Jun,20210601 | ======================== | ` <@> ?? | need inverse to convert mailing lists . : NmEm><@> >a> dsc "bl cL a> 1th ` <> braket cL ; | Name Email pair -> name <@> string | Added to Furniture.f | ======================== | Sun.Jun,20210613 | ======================== | | ======================== | Fri.Jun,20210618 | ======================== | 3 _i 6 _i 21 _i apvi >t0> f0. .01 _f 628 _i apv >t1> t1 cosf t0 i>f ' *f 'R >t2> t2 { t1 sinf ' cL 'd } 'm >t3> # t3 ' #' 'm Interesting image . Tho I ought be doing else . I had to see what the logic would look like conver t3 ,/ # `_ cosf ?? ` lst Words 127 6 / _i ` apv :?? | ======================== | Sun.Jun,20210620 | ======================== | ` grade ?? | is ' psort ` psort ?? ` m/d/y>ts :?? ` scanf ?? ` negate ?? ` fill ?? | ======================== | Mon.Jun,20210621 | ======================== | ` fmttbl :?? | factoring ' fmttbl for use particularly w "ht to make invertable | was | : fmttbl { ' fmt 'm blpad pad } 'm flip { blMV } 'm ; | 20200909 | ( table separator -- essentially a pretty csv ) : fmttbl >r { ' fmt 'm blpad pad } 'm flip r> ' MV 'L ; | 20210621.2131 | : fmttblh "ht fmttbl ; ` venn ?? ` >fl ` f( ?? | ======================== | Tue.Jun,20210622 | ======================== | | adding : fmttblb "bl fmttbl ; : fmttbl| s" | " fmttbl ; "bl 2 _i 23 _take ' *i ./ take >t0> # | 8,388,608 blanks | 24 bombed i0 2 _i 23 _take ' *i ./ take >t0> # | 8388608 | 0s i1 2 _i 23 _take ' *i ./ take >t1> # | 2 _i 2 _i 23 _take ' *i ./ take >t0> # | 8388608 t0 t1 +i 10 _take | works ! | 1300 | t1 -1 _i +i | bombs | 1314 | ` grp ?? | ======================== | Fri.Jun,20210625 | ======================== | | ======================== | Sat.Jun,20210626 | ======================== | 7 21 * _i |>| 147 20210101 _i 147 _i Days+ | | Getting hardware serial number . Formatting result of \/ s" wmic bios " Shell> 2 _cut .. c>i i0 >i & at >t0> # t0 lfVM 2 _take >t1> t1 dsc .. "bl <>c >t2> ` 01 swap at ,L t2 ' - _delta i1 =i & >t3> | Discovered fields were demarked by | names with padding to length of corresponding data . | grabbed index of start of each word . t1 t3 ' 0cut 'L fmttbl| rUpdate | ' _delta and ' ': need work . see 20181227 | | Bios SN not useful | 20210627.1038 | | 1456 | From Settings Device name DESKTOP-FT7JERE Processor Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz 2.30 GHz Installed RAM 16.0 GB (15.8 GB usable) Device ID 91457806-97D3-4A88-997B-DF4124AEC81B Product ID 00331-20020-00000-AA065 System type 64-bit operating system, x64-based processor Pen and touch No pen or touch input is available for this display | ======================== | Mon.Jun,20210628 | ======================== | t2 | 3 1 _at nubgrpcx >t3> t3 dsc t2 3 _at ' +/ 'm ,/ t3 1th { at ,/ +/ } 'R ,L fmttbl| : aggregate ( tbl idx -- grouped_1 _at nubgrpcx >t3> t3 dsc t2 3 _at ' +/ 'm ,/ t3 1th { at ,/ +/ } 'R ,L fmttbl| ` C:/CoSyWeb/y21/blog.csybrk F> >t0> # | F>/\ t0 str>lst >t1> # | t1 ` text v@ lfVM # ` C:\CoSyWeb\y21\blog.csy F>/\ ` text v@ lfVM # | ======================== | Tue.Jun,20210629 | ======================== | ec Words ` cosy con Xwords ` C:\CoSyWeb\y21\blog.csybrk F> >t0> # t0 str>lst >t1> dsc ` C:\CoSyWeb\y21\blogtst.csy >F ` bkuplast ?? | ======================== | Wed.Jun,20210630 | ======================== | ` nubgrpcx ?? | ======================== | Mon.Jul,20210705 | ======================== | | got ' aggr right . : aggr nubgrpcx >a> 1th { at +/ } 'R a> dsc swap ,L ; ` aggr :?? | ======================== | Tue.Jul,20210706 | ======================== | | From discussion at | https://www.facebook.com/groups/441341066956027/posts/493731275050339/?comment_id=493839461706187 10 _iota 1 _i +i .. *i >t0> |>| 1 4 9 16 25 36 49 64 81 100 R0 >a> 30 _i | 1 1 1 1 1 0 0 0 0 0 a> R0 & at |>| 1 4 9 16 25 : --aab ; t0 30 _i | 1 4 9 16 25 | ( L R boolverb -- L where bool applied to L R is true ) | 20210706 | : val abca >a xeq & a> swap at ; t0 30 _i ' | 1 4 9 16 25 | adding ' val to CoSy.f ` prt>f ?? | ======================== | Wed.Jul,20210707 | ======================== | | 0744 | 0 _i i( 3 5 )i take ` ^>fl ?? ` f( ?? | ======================== | Fri.Jul,20210709 | ======================== | 1000000. 32. f/ _f | ======================== | Sat.Jul,20210710 | ======================== | `D@ .r ` text v@ # `D@ .r JobHndld_ _getSize `( .r Tui SIZE )` Dv! `D@ .r JobHndld_ _getPos `( .r Tui posXY )` Dv! s" LUCIDA CONSOLE::14" `( .r Tui FONT )` Dv! `D@ .r closeWdo | CLOSE WINDOW | ======================== | Sun.Jul,20210711 | ======================== | res> >t0> # t0 100 _take | c>i nub res> c>i : rGet ` .r Dv@ JobHndlt_ gettxt >a> ` .r ` text ,L Dv! a> ; ` .r ` text cL Dv@ rGet | 1604 | Bill Ragsdale | July 24, 2021 Silicon Valley FIG Challenge: Data Structures This month’s challenge is an exercise in creating a data structure. In August we will apply that data structure. Create a table with four columns with the values for Degrees, Radians and Sin(ref) and Sin(comp) running from 0 degrees to 360 by 36 degree increments (11 entries). The reference Sin(ref) should be manual entries from a known source. Sin(comp) is computed (or using system resident capability). Use any method to express the values. Possibly expressed as scaled integers, ratiometric, floating point or? ` apv ?? 0 _i 36 _i 11 _i apvi i>f >t0> t0 deg>radf >t1> t1 sinf >t2> (' t0 t0 deg>radf >t1> t1 sinf ') R0 fmttblb (' t0 t1 t2 ') flip fmttbl| `_ '( ?? AF1 `( : rGet take )` { van find _i } 'm >t0 AF0 AF> +-splt ` ' Help | :?? " Help" find ' Help 2_i cL : deg>radf { f_ deg>rad _f } 'm ,/ ; : deg>radf ' deg>rad eachMfr ; ` C:/4thCoSy/CoSy/MinJob.csy startJob ` D Words ` rplc ?? | ======================== | Mon.Jul,20210712 | ======================== | From blog | | APL Dinosaurs: Retired from programing but can't forget their love of APL! https://www.facebook.com/groups/2846194362322940/posts/2933162586959450/ | Bob Armstrong | I remembered I had finally done some minimal graphics in CoSy in the last year or so . But it was embarrassingly difficult to track it down given that a central purpose of CoSy is not to forget things . | Anyway , I finally narrowed it down to having graphed my electric bills on the property over the last couple of years . I never transferred the work over to my public http://cosy.com/4thCoSy/Code/CoSy/WorkLog.txt ( text from Job ) . | Certainly won't lose track of it again . Anyway , here's the image created : http://cosy.com/y20/tstsvg.html | 1811 | | adding partial script from my acnts/y20/ dir s" mkdir " (' CoSyDir ` Graphics ') ,/ >t0> cL | Shell t0 Dir t0 ` \svg.f cL ec R0 >F ` \4thCoSy\CoSy\Graphics\svg.f F> rUpdate | rGet ` \4thCoSy\CoSy\Graphics\svg.f >F | 0012 | | ======================== | Wed.Jul,20210714 | ======================== | | saving to web | | ======================== | Thu.Jul,20210715 | ======================== | | ======================== | Sat.Jul,20210717 | ======================== | ` ALPHabet Dv@ >t0> 26 _take t0 26 _cut cL Dnames ` flip :?? ` ,/ ?? ` ?? Words | ======================== | Mon.Jul,20210719 | ======================== | ` blpad ?? : ?pad 2p> # -1*i take R@ strmatch_ if L@ 2P> ;then L@ R@ cL 2P> ; | ( str suffix -- str ) append suffix , eg: "bl , iff not already suffixed . | ` asdf ` q ?pad |>| asdfq | ` asdf ` f ?pad |>| asdf | 20210719.2309 | : bl?pad { "bl ?pad } 'm ; | pad each item ( str ) w blank if not already | ` $ Words ' :?? 'm ` d See | ======================== | Sat.Jul,20210724 | ======================== | | 1431 | ` ?? Words ' ?? 'm ` ?? ?? R0 >t0> t0 reverse dsc res> # | ======================== | Sun.Jul,20210725 | ======================== | | 1507 | ` ?? ?? ` CShelpFul ?? R `( sys CoSySource )` v@ >t0> # |>| 17 t0 { F> # } 'm ,/ |>| 66400 1555 13616 2465 3205 18391 3573 3418 3199 11975 2909 44082 36360 17049 12431 33741 4658 R0 +/ |>| 279027 ` emptyLn ?? "nl "nl cL refs+> value emptyLn | MS-DOS definition of blank line . must be changed for UNIX \n t0 { F> emptyLn VM # } 'm ,/ |>| 379 12 94 14 15 100 16 19 31 81 38 109 141 33 1 211 21 R0 +/ |>| 1315 | ======================== | Mon.Jul,20210726 | ======================== | | ======================== | Tue.Jul,20210727 | ======================== | t0 { F> # } 'm >t1> t1 ' cL across ` ,/ See ` >value ?? | commented out ' TypeDic in CoSy.f ` ` `( ?? See )` ' 'R ` +/ :?? ` +ia ?? `_ $ ?? | added to util.f | alias: $ swap | 20210727 | http://cosy.com/y21/Blog.html#20210727 | ` ws ?? : dlws 1p> dup { 32 > } f?m | ======================== | Mon.Aug,20210802 | ======================== | ` venn ?? `( tom dick gail harry )` `( gail jill tom ted )` venn | ======================== | Wed.Aug,20210804 | ======================== | ! @ # ` $ See 0 1 $ ` ,svMsk ` ?? ?? 0 _i 10000 _i take ` cut :?? ` 'm ?? ` toksplt ?? R dsc # | ======================== | Sun.Aug,20210815 | ======================== | `( .r text )` Dv@ 0 ` C:/4thCoSy/CoSy/WorkLog.csy202108151813.csy F>/\ ` state v@ >state Somehow replace | ======================== | Mon.Aug,20210816 | ======================== | ` lastSave Dv@ ymd.hms ,L ` . ' prtt0> t0 f( 1 -1 )f *f : conj f1. f-1. cL ; f( 1 -1 1 1 )f i( 2 2 )i take `( braket braketed )` ' :?? 'm | ======================== | Mon.Sep,20210906 | ======================== | ` ./CoSy/math.f F> Eval ec Words ` rand con ( randf rand _rand _rand_ ) ` ./CoSy/math.f F> Eval 4 _i randf >t0> 0.7024 0.4183 0.6396 0.9707 20 _i randf i( 4 5 )i take >t1> ( 0.9430 0.1332 0.8110 0.3945 1.0000 0.6982 0.8938 0.6728 0.4460 0.4020 0.7066 0.3675 0.7029 0.4189 0.6646 0.0680 0.7129 0.7081 0.7513 0.1478 ) : dot *f +/ ; t1 t0 ' dot 'L ( 2.3222 2.0099 1.9731 1.6319 ) R0 ,/ | ravel to homogeneous float 2.3222 2.0099 1.9731 1.6319 ` convo ?? norm | ======================== | Tue.Sep,20210907 | ======================== | 2 7 + 0 + 10 * 50 + _i |>| 140 2 7 + 0 10 * + 50 + _i |>| 59 50 10 + 0 * 7 + 2 + _i |>| 9 50 10 0 * + 7 + 2 + _i |>| 59 1 2 3 4 -rot .s 1 4 2 3 1 2 3 4 --cab .s | ======================== | Fri.Sep,20210910 | ======================== | EuroForth | 0838 | | Changed ` Refs to ` Ref# | 20210910.2051 | not used in any fns | ======================== | Sat.Sep,20210911 | ======================== | | ======================== | Sun.Sep,20210912 | ======================== | | Depricating : ` tstScript Dv@ ` ./CoSy/tstScript.f >F ` ./CoSy/tstScript.f F> | ======================== | Tue.Sep,20210914 | ======================== | rGet ` C:/CoSyWeb/index.html >F | F> rUpdate | ======================== | Thu.Sep,20210916 | ======================== | ` ./CoSy/Tui.f F> ` C:/Users/bob/OneDrive/calls-20210916175724.xml F> ` C:/Users/bob/OneDrive/sms-20210916175724.xml F> 1000 _take | ======================== | Sun.Sep,20210919 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/permalink/2756589324641084/?comment_id=2756726524627364 ` sort Words ` psorti :?? ( ./CoSy/sort.f | ` permute & sort integer . Returns list of items and their index ( grade )in original | 20210331 | : pcmpri_ { dsc >_ } on2 < ; : psorti >a> # iota a> swap ,L flip ' pcmpri_ is compare rep dup van cells/ hsort ; ) i( 1 3 0 2 4 )i >t0> 1 3 0 2 4 t0 psorti | returns list of pairs of sorted elements & their index R0 flip R0 ' ,/ 'm | ` ravel each into integer lists ( 0 1 2 3 4 2 0 3 1 4 ) i( 1 3 0 3 4 )i >t0> | demo of failure to preserve order t0 t0 psorti flip ' ,/ 'm ,L | 1148 | | 2219 | | ======================== | Tue.Sep,20210921 | ======================== | res> >t0> t0 ` C:/CoSyBob|BobA.csy|BobA.csy202109191651.csy| fullPaths `( C:/CoSyBob/BobA.csy C:/CoSyBob/BobA.csy202109191651.csy )` ' F>/\ 'm >t0> # t0 { dsc blMV } 'm t0 dsc dsc enc t0 { 1th #' } 'm cL fmttbl| ` f> See | Help ` 0 Words 1. 0. $ f> _i 5. f+ _f ` 1th ?? | ======================== | Wed.Sep,20210922 | ======================== | 4 _i Im | ======================== | Thu.Sep,20210923 | ======================== | | slow growth to infinity of sum of recipricals | | Mathologer | 700 years of secrets of the Sum of Sums (paradoxical harmonic series) https://youtu.be/vQE6-PLcGwU 100 _iota i1 +i i>f 1%f +\ ` aaplym :?? | ======================== | Fri.Sep,20210924 | ======================== | | decided to clone off presentations & demos R ` ./CoSy/Presentations.csy \/>F ` ./CoSy/Presentations.csy F>/\ >t0> # ` ./CoSy/Presentations.csy startJob | requires .csy suffix ` %f :?? | ======================== | Sun.Sep,20210926 | ======================== | `( sys Tui caret )` Dv@ ` Tui v@ ` caret v@ ec Words ` fmt con ` fmtnI :?? | ======================== | Mon.Oct,20211004 | ======================== | text> "lf =c >t0> # |>| 149411 t0 ' +i ./ |>| 4443 ` ;then Help | ======================== | Wed.Oct,20211006 | ======================== | ` i@ :?? ` <> Help ` <> ?? | ======================== | Fri.Oct,20211008 | ======================== | ` ` :?? res> >T0> # |>| 13273 | chars T0 "lf VM # |>| 295 | lines T0 "bl VM # |>| 4735 | words | more interesting , number of words in each line T0 "lf VM { "bl VM # } 'm ,/ |>| 8 1 77 1 8 5 7 8 6 5 15 ... ` 'm :?? ` iterator ?? | ======================== | Sat.Oct,20211009 | ======================== | From https://www.facebook.com/groups/PROGRAMMINGFORTH/posts/2770599469906736/?comment_id=2771517779814905 https://github.com/dhepper/font8x8/blob/master/font8x8_basic.h res> >T0> | 1440 | s" screen scraped from https://github.com/dhepper/font8x8/blob/master/font8x8_basic.h 20211009 " R0 T0 ,L >t0> | t0 ` C:/CoSyWeb/CoSy/y21/8x8bitmapFont.csd \/>F T0 T0 lfVM # ` // ' prtt0> | Split into lines ; grab parts before comments eliminate multiple blanks t0 ` {,} enc' { ' ssd Y./ ` 0x ssd } 'L >t1> | eliminate each of { , and } . and ` 0x t1 { hex iEval decimal } 'm >t1> | turn each into integers | fixed bug in ` iEval in CoSy.f | ` C:/CoSyWeb/CoSy/y21/8x8bitmapFont.csd .. F>/\ t1 ,L $ \/>F t1 { fmtI% -8 _i ' take 'L ` 1 ' =c 'L } 'm >t2> t2 ` ! c>i 32 _i -i at s" #" R0 ' at 'R ( ## #### #### ## ## ## ) ` prti 32 _i -i ' at 'R >t3> t3 dsc s" #" t2 { ' at 'R } 'R t3 dsc at t3 dsc | { ' flip 'm ,/ } 'm t3 dsc t3 1th ' cL 'd t3 { ' cL 'd } ./ cL ./ t1 | { fmtI% -8 _i ' take 'm } 'm >t2> | { Eval _i } 'm ` binary ?? res> rUpdate | ======================== | Sun.Oct,20211010 | ======================== | ` C:/CoSyWeb/CoSy/y21/8x8bitmapFont.csd F>/\ >t0> t0 1 _at >t1> ' fmtI$ 'm flip fmttblb t1 3 _at fmtI% { -8 _take ` 1 =c } 'm s" 1" $ ' at 'm R0 ` c>i 'm -8 _i ' take 'L ` 1 ' =c 'L ` fmtI% :?? : fmtnI% binary fmtnI decimal ; t1 1th 5 _i fmtnI ` fmtnI ?? 5 5 (.r) _str ` (.r) Help T0 lfVM .. # iota fmtI $ ' cL 'd ilst ' cL 'm T0 | ======================== | Thu.Oct,20211014 | ======================== | `( Fact Fact )` Dv@ lfVM ` light con : c 2.99792458e8 _f ; | lightsecond | "speed" of light / M%S ( definitional ) .23 _f c %f >t0> fmtF18 ,/ |>| 0.000000000767197418 | sec % cycle t0 10.e9 _f *f |>| 7.6720 | or nanoseconds per cycle R0 230. _f %f |>| 0.0334 | 1 mm corresponds to 33 picosecond ` Tau ?? 230. _f `( Fact Fact )` Dv@ lfVM ` pi con `__ pi ?? ` fmt Words ` %f Words | ======================== | Mon.Oct,20211018 | ======================== | https://www.facebook.com/groups/PROGRAMMINGFORTH/posts/2778612962438720?comment_id=2778617535771596&reply_comment_id=2778654842434532 https://forth-standard.org/standard/core Screen scraped . Pasted into ` res window . res> lfVM dae >T0> | grabbed , split on line feeds , deleted empties , saved in persisting temp . T0 ' drb 'm "bl ' prt>f 'L blMV | deleted redundant blanks in each then took part after 1st blank . | then converted to simple blank delimited string . R0 ` C:/CoSyWeb/CoSy/y21/ForthStdWords.txt >F | 1418 | | ======================== | Wed.Oct,20211020 | ======================== | ` http://cosy.com/CoSy/y21/ForthStdWords.txt F> res> >t0> # t0 blVM >t0> # t0 nub # | ======================== | Fri.Oct,20211022 | ======================== | ` rtext Dvdel | Extranious early ` ./CoSy/Job.f Ft s" | \/ OPERATORS \/ =" s" | /\ OPERATORS /\ =" ,L braketed lfVM dae >t0> t0 ` : in ` in :?? ` : tokcut 1 _cut { blVM 1 _at } 'm ` >lst Words : tst 1 2 2 s>iv ; tst ` n Words 20 _partition ' blMV 'm ` s_n>iv ?? : Sassoon 7 23 2 s>iv take .. ' reverse 'm ' cL 'd .. reverse cL ; s" 4th ^ CoSy " Sassoon | ======================== | Sat.Oct,20211023 | ======================== | | ======================== | Mon.Oct,20211025 | ======================== | : Sassoon 7 23 2 s>iv take .. ' reverse 'm ' cL 'd .. reverse cL ; s" HA HA HA " Sassoon | ======================== | Tue.Oct,20211026 | ======================== | | em> Conor Hoekstra , re: Algorithms as a Tool of Thought . https://youtu.be/GZuZgCDql6g : match0th 1p> dup dsc ' match 'L ,/ 1P> ; | bool of items of a list matching the first . 5 _iota match0th |>| 1 0 0 0 0 : all= match0th ' mini ./ ; | are all items in a list identical ? 5 _iota all= |>| 0 ` all Words | ======================== | Sun.Oct,20211031 | ======================== | | 1015 | ` BROWSER Dv@ ` .\CoSy Dir ` .\CoSy\BROWSER.txt F> ` www :?? ./CoSy/Furniture.f : www ( str -- ) R s" BROWSER" v@ | open URL in BROWSER swap cL shell^ ; | ` == is not defined . making it alias for ` match in CoSy.f | | 1041 | ` BROWSER Dv@ ` .\CoSy\BROWSER.txt F> == : www ( str -- ) ` .\CoSy\BROWSER.txt F> "bl cL $ cL shell^ ; | open URL in BROWSER . .\CoSy\BROWSER.txt must be string to open browser . | Changed from vestigial R s" BROWSER" v@ to centralize 20211031.1053 Need to change ` F1 help | 1056 | `( flower flow flight )` >t0> t0 flip ' ,/ 'm >t1> ' all= 'm | t1 `( Type # Ref# )` ' Eval 'R ( ./CoSy/Furniture.f : match0th 1p> dup dsc ' match 'L ,/ 1P> ; | bool of items of a list matching the first . | 20211026 : all= match0th ' mini ./ ; | are all items in a list identical | 20211026 t1 ' all= 'm ` all= :?? t1 # ` flip See ` flip :?? ` Ref# :?? ` all= ?? `( dog racecar car )` ,L | ======================== | Fri.Nov,20211105 | ======================== | Fixed ' Flip was refs+> dup ['] rho 'm ,/ ['] min _./ >_ cellVecInit >aux> | ob nbdy ... now refs+> dup ' # 'm ,/ ' mini ./ >_ cellVecInit >aux> | fixed in CoSy.f | 1732 | | actually first used #' but bombed because not defined til ` furniture.f loaded t1 `( flower flow flight )` >t0> ( flower flow flight ) R0 flip >t1> `( flower flow flight )` >t0> flip ' ,/ 'm ' all= 'm ,/ i0 ' =i f? 2 t0 dsc R0 take fl `( flower flow flight )` ( flower flow flight ) R0 flip ( ( f f f ) ( l l l ) ( o o i ) ( w w g ) ) R0 ' ,/ 'm ( fff lll ooi wwg ) ` flip :?? ` ./CoSy/CoSy_.f F> ` #' :?? ` f? :?? ` 1s Words ` prtfl to sort w str>i | 20211111.2358 | in CoSy.f ` str>f ?? ` str> Words ` f( ?? ` 3.14 str>f ` ssd ?? ` nub :?? ` | ======================== | Sun.Nov,20211114 | ======================== | | 0004 | ` C:/4thCoSy/Physics/general.f F> | Eval : Gforce ( r m0 m1 -- f ) *f $ ^2f %f G *f ; ` fnegate Help : negatef ' fnegate eachMfr ; | Added to float fns in CoSy.f | 20211114 | 3.41 _f negatef |>| -3.4100 f( 1234 -2 )f negatef : Genergy ( r m0 m1 -- e ) *f $ %f G *f negatef ; ` nub :?? See my post in the Dyalog forum on : Re: Symbols for sort idioms https://forums.dyalog.com/viewtopic.php?f=30&t=1816&start=10#p7177 | ======================== | Fri.Nov,20211119 | ======================== | ` .r Dv@ ` Tui v@ ` posXY v@ i( 1500 100 )i ` .r Dv@ ` Tui v@ ` posXY v! i( 1500 200 )i `( .r Tui posXY )` Dv! ` \CoSyBob\BobA.csy F>/\ >t0> t0 dsc t0 1th #' ,L fmttbl| ` C:/4thCoSy/CoSy/MinJob.csy startJob | ======================== | Tue.Nov,20211123 | ======================== | ` *f :?? : *f ['] f* eachDfr ; | * 2 float vecs ` :?? :?? res> lfVM # ` C:/4thCoSy/CoSy/math.f F> lfVM ` dot con : dotform >r xeq r> ./ ; f( -1 0 1 )f f( 1 2 3 )f ' =f ' +i dotform ` =f ?? ` xeq See | ======================== | Sat.Nov,20211127 | ======================== | | 1058 |* *| 1130 | | 1227 |* *| 1348 | | 1358 |* *| 1426 | | 1450 |* *| 1542 | res> >T0> T0 "lf ssd drb s" | |" toksplt >t0> t0 { ` | ssd ` * ssd drb dtb } 'm >t1> : iEval s" i( " s" )i " ,L braket Eval ; ` i( ?? : tst s" 1 2 3 4 " iEval ; tst t1 dsc blVM i( 2 2 )i ' take 'L str>i t1 i( 0 1 4 2 3 4 5 6 4 7 8 )i { at iEval } 'L >t2> t2 i( 60 1 60 1 )i { *i 2 _i 2 _take take ' +/ 'm ,/ ' -i ./ } 'L ,/ +/ -1*i 193 350. 60. f/ _f |>| 5.8333 193. 5.83 2_f *f | ======================== | Sun.Nov,20211128 | ======================== | : hm>min 2 2 2 s>iv take blMV iEval 60 1 2 s>iv *i +/ ; T0 "lf ssd "bl braket s" | " VM dae >t0> t0 { ` * ssd ` | ssd drb blVM ' hm>min 'm ,/ ' -i ./ } 'm : ONtimes "bl braket s" | " VM dae { ` * ssd ` | ssd drb blVM ' hm>min 'm ,/ ' -i ./ } 'm ; T0 "lf ssd ONtimes f( 350 60 )f ' %f ./ |>| 5.83 s" 0123456789 " ' membv 'L ` membv :?? ec Words ` num con s" | 1058 |* *| 1130 | | 1227 |* *| 1348 | | 1358 |* *| 1426 | | 1450 |* *| 1542 |" >T0 T0 ONtimes R0 ,/ +/ |>| -193 193. _f 5.83 _f *f |>| 1125.19 | ======================== | Mon.Nov,20211129 | ======================== | ` job Words | ec con ` Words :?? ` job Words | | Restructuring ' Words to use con to be case insensitive | : Words ( str -- strL ) s" words " forth> blVM -2 _i cut swap con ; | | was | | : Words ( str -- strL ) s" words " swap cL forth> blVM -2 _i cut ; | ` Fixing ` bug in ' cconb that all phrases contain the empty string . | All other ` con words are based on this word . | was : | : cconb ( strings str -- bool ) | returns bool where stings in LA contain RA | 2refs+> 2dup ['] ssc eachleft { i# sn _i } eachM> ,/ --cab 2refs- ; | ( strings str -- bool ) | returns bool where stings in LA contain RA | returns all 1s for empty str | 20211129 | : cconb 2p R@ i# 0if i1 L@ # take 2P> ;then LR@ ' ssc 'L { i# sn _i } 'm ,/ 2P> ; : newJob ` C:/4thCoSy/CoSy/MinJob.csy F> $ >F ; ` C:/CoSyBob/People/HeidiToillion.csy newJob ` C:/CoSyBob/People/HeidiToillion.csy startJob | ======================== | Fri.Dec,20211203 | ======================== | | From http://cosy.com/K/math.txt : | pv : { +/ y * x ^ # y } ; pv..h : " Present Value of stream y at rate x " : pv 2p> --aab # ^f *f +/ 2P> ; | ======================== | Mon.Dec,20211206 | ======================== | | while working on accounts | added to : Fbackup .. F> $ ` .bk cL >F ; ` i1 ?? ` C:/CoSyBob/acnts/y21/BobA/PSBT.ctb Fbackup | ======================== | Fri.Dec,20211210 | ======================== | | replying to Bill Ragsdale Factorial challenge at https://www.facebook.com/groups/forthprogrammingretrodev/posts/1185871178488035?comment_id=1185909581817528 | decided worth it to add ` : 1+i i1 +i ; | to monadic integer verbs in ` CoSy.f . 479001600. 13. f* _f | factorial . integer overflow after 12 !*! | : !*! iota 1+i ' *i ./ ; | ======================== | Wed.Dec,20211215 | ======================== | ` Job Words | should have added to ` Furniture.f back on 20211129 | : newJob ` C:/4thCoSy/CoSy/MinJob.csy F> $ >F ; | \/ | deleted from Furniture for cleanliness | : start s" start C:\\Windows\\System32\\cmd.exe " swap cL shell^ ; | start DOS program in separate command shell which evaporate on completion . | 20200609 | doesn't work for some reason . needs the ` /k | ======================== | Thu.Dec,20211216 | ======================== | ` */ Help | ======================== | Fri.Dec,20211217 | ======================== | | 2110 | `( sys Tui )` Dv@ fmttbl| d1 @ _getPos `( sys Tui posXY )` Dv! | Stores current upper left corner for restart d1 @ _getsize | `( .r Tui SIZE )` Dv! ` getsize ?? ` getpos ?? | ======================== | Sun.Dec,20211219 | ======================== | Brad Nelson Big Num Factorial | https://youtu.be/8WCz9snOrOk ` >value :?? ` value Help ` >>fl :?? 100 i1+ 20 _iota 128 dump ` DMP :?? ` i( :?? | ======================== | Mon.Dec,20211220 | ======================== | ` newJob :?? | added passthru version : newJob> .. : newJob ` C:/4thCoSy/CoSy/MinJob.csy F> $ >F ; ` CoSy Words .. ' Eval 'm ,L fmttbl| | bug | `D@ .r JobHndld_ _getPos enc >t0> t0 `( .r Tui posXY )` Dv! `( .r Tui posXY )` Dv@ `( .r Tui posXY )` Dv! `( .r Tui )` Dv@ `( .r Tui )` Dv! | ======================== | Fri.Dec,20211224 | ======================== | ` TISH i( 2 3 1 0 )i at | ======================== | Mon.Dec,20211227 | ======================== | | added to ` ./CoSy/Furniture.f | first trie 20211206 using ' .. not yet defined . : Fbackup >a> F> a> ` .bk cL >F ; | 20211227 | self expla | ======================== | Tue.Dec,20211228 | ======================== | ` C:/4thCoSy/CoSy/math.f F> Eval i( 2021 2022 )i ' factors 'm >t0> i( 2021 2022 )i t0 ' /i 'd t0 | ======================== | Fri.Dec,20211231 | ======================== | ` C:/4thCoSy/Physics/general.f | F> Eval ` C:/CoSyWeb/Science/Physics/Physics.csy ` newJob ?? ` C:/CoSyWeb/Science/Physics/Physics.csy startJob ` C:/4thCoSy/CoSy/MinJob.csy startJob 100 _iota 1+i | 1230 | 2021 _i factors | 2021 is a semiprime https://en.wikipedia.org/wiki/Semiprime | 20220101.1920 | ` C:/4thCoSy/CoSy/math.f F> | Eval i( 2021 2022 )i ' factors 'm i( 2021 2022 )i >a> ' factors 'm .. a> $ ' /i 'd ' ,L 'd 1944 _i 80 _iota +i >t0> ' factors 'm t0 $ ,L flip | 1608 | ` Fact Dv@ ` C:\CoSyWeb\Science\Physics\Fact.csl \/>F `D@ .r JobHndld_ _getSize `( .r Tui SIZE )` Dv! `D@ .r JobHndld_ _getPos >t0> t0 # t0 `( .r Tui posXY )` Dv! R `( .r Tui posXY )` Dvx >t0> @ ` v@ :?? s" LUCIDA CONSOLE::12" `( .r Tui FONT )` Dv! `D@ .r closeWdo | CLOSE WINDOW ` _getPos See | ======================== | Sat.Jan,20220101 | ======================== | | \/ run on sentence creating HTML for braketing table | `( table tbody tr td )` >a> ` <> ' braket 'L R0 ,/ "bl cL a> ` ,L ' braket 'L reverse ,/ cL
s" Happy 2022 !!! " 2022 _take | 2135 | Removing ' savetmp from Tui ' go . Didn't seem to cure anything | | : savetmp ( callback ) savetext ." 5 " saverestxt ." 4 " savestate ." 3 " | bkuplast ." 2 " R lst>str ." 1 " CoSyStartFile ` tmp cL ." 0 " >F saveLastsave savecaret ; | ======================== | Sun.Jan,20220102 | ======================== | From | C:\CoSyWeb\Science\Physics\Physics.csy But the damn window positioning storage failure ! | got it moved by detour don't understand . | 1054 | rShow R0 `D@ .r JobHndld_ _getSize >t0> | 804x1099 869x1114 `( .r Tui SIZE )` Dv@ | 804x1099 869x1114 t0 `( .r Tui SIZE )` Dv! `D@ .r JobHndld_ _getPos >t0> | 1795 146 `( .r Tui posXY )` Dv@ | 912 1 i( 1795 146 )i R0 `( .r Tui posXY )` Dv! t0 `( .r Tui posXY )` Dv! t0 `( .r Tui posXY )` Dv@ | Dv! s" LUCIDA CONSOLE::12" `( .r Tui FONT )` Dv! `D@ .r closeWdo | CLOSE WINDOW | 1210 | ` C:/4thCoSy/Physics/general.f F> rUpdate | 1552 | ` \4thCoSy\CoSy\CoSy.csy F>/\ >t0> # t0 ` text v@ rUpdate i( 1 2 3 )i >t0> DMP R DMP ` save :?? ` F ` prt ` Words :?? ` state v@ ` ./CoSy/CoSy.f F> | "lf VM # `( qwer z eqt )` | 1625 | 20220102.1625 | ======================== | Sun.Jan,20220109 | ======================== | s" Hello World " >t0> Hello World t0 reverse dlroW olleH | ======================== | Wed.Jan,20220112 | ======================== | ` . "bl braket ?? ` #> ?? s" (.r)" `( :?? Help )` ' Eval 'R ` ?? ` base Help ` lst :?? ` I. :?? `( (.) (p.r) . .2x .r .x ? base hex# padchar )` ' Help 'm ` (.r) ?? | ======================== | Fri.Jan,20220114 | ======================== | ` libraries Help ` \/ 2 _i 900 _rand at 15 _partition ` \/ c>i 33 33 * _i | ======================== | Sat.Jan,20220122 | ======================== | ` dayln ?? Fst thursday year # | Week # 2022 4 /mod .s | (2) 2 505 25 /mod .s | (3) 2 5 20 4 mod .s | (3) 2 5 0 0 = .s | (3) 2 5 -1 swap .s | (3) 2 -1 5 0 <> .s | (3) 2 -1 -1 or .s | (2) 2 -1 swap 0 = .s | (2) -1 0 and .s | (1) 0 | Brad Nelson's Leap Year fn https://youtu.be/dU3ZE8Ev6d8 : leap? ( n -- f ) 4 /mod 25 /mod 4 mod 0 = $ 0 <> or $ 0 = and ; 2000 leap? _i : leap? ( n -- f ) 4 /mod 25 /mod 4 mod 0 = || $ 0 = && ; ` || Help ` && :?? Interesting metric : " The O(m×n) algorithm compares sequences, calculating the minimum number of edits required to transform one into the other. " https://dfns.dyalog.com/n_dist.htm ` C:/CoSyWeb/y22/bob@cosy.com0785.html F> | ======================== | Fri.Jan,20220128 | ======================== | ` does> ?? ` does> Help ` create Help | ======================== | Sat.Jan,20220129 | ======================== | ec Help : leap? ( n -- f ) 4 /mod 25 /mod 4 mod 0 = or $ 0 = and ; : leap? ( n -- f ) 4 /mod 25 /mod 4 mod 0 = || $ 0 = && ; 2000 leap? _i ` not See `( leap? /mod mod = or $ = and )` .. ' See 'm ,L flip ` --cdab See ` /_mod See ` _mod ?? | ======================== | Fri.Feb,20220204 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/615490209541111 res> "bl ` _ ,L ssr ` \ "bl ,L ssr "bl ` _ ,L ` ,L :?? ` ssr :?? `( @ ! )` ' See 'm | ======================== | Sat.Feb,20220205 | ======================== | ` sinf ?? | https://byjus.com/maths/cardioid/ | poorly written order . cost me time 20220212.2048 https://mathworld.wolfram.com/Cardioid.html https://en.wikipedia.org/wiki/Cardioid x = a cos t (1 – cos t) y = a sin t (1 – cos t) : cardioid 1p> cosf f1. $ -f R@ *f `( cosf sinf )` ' Eval 'R ; | ? https://www.facebook.com/groups/PROGRAMMINGFORTH/posts/2857430091223673/ reverse bits 123456789 _i fmtI% ,/ .. reverse ,L ( 111010110111100110100010101 101010001011001111011010111 ) 123456789 _i fmtI% ,/ reverse van binary eval decimal _i 88448727 ` reverse :?? | ======================== | Sun.Feb,20220206 | ======================== | DUP 55555555 AND 2/ SWAP AAAAAAAA AND 2* OR DUP 33333333 AND 4 / SWAP CCCCCCCC AND 4 * OR DUP 0F0F0F0F AND 8 / SWAP F0F0F0F0 AND 8 * OR DUP 00FF00FF AND 16 / SWAP FF00FF00 AND 16 * OR DUP 0000FFFF AND 32 / SWAP FFFF0000 AND 32 * OR res> >T0> T0 `( DUP AND SWAP OR )` `( dup and $ or )` ,L flip ' ssr Y./ >t1> s" : reversebits [ hex ] " t1 cL s" [ decimal ] ; " cL Eval ` reversebits See i( 123456789 1234567890 )i { fmtI% ,/ } 'm 1234567890 reversebits _i >t0> 2_i cL fmtI% 1 dup reversebits 2_i cL fmtI% `( fmtI fmtI% )` ' :?? 'm ` (.r) Help 1234567890 32 binary (.r) _str decimal 1001001100101100000001011010010 # 1234567890 reversebits 32 binary (.r) _str decimal 11100110001001100000010010110001 1234567890 32 binary (.r) `( and && )` ' Help 'm ` hex Words 5 4 and _i 16 _iota { .. fmtI$ $ fmtI% cL blMV } 'm 2. 290. 2_f %f ` sx ?? | ======================== | Wed.Feb,20220209 | ======================== | | ======================== | Fri.Feb,20220211 | ======================== | Continuing & editing from 20220205 | For SV-FIG demo 20220226.0809 | : cardioid 1p> cosf f1. $ -f R@ *f >a> cosf a> sinf ,L 1P> ; | WRONG from byjus | x = (1 – cos t) * ( cos t ) | y = (1 – cos t) * ( sin t ) : Tau Pi 2. _f *f ; | rather than loading all ` C:/4thCoSy/CoSy/math.f F> rUpdate 41 _iota i>f 40. _f %f Tau *f >T0> | Generate 41 covering 0 to Tau 0.0000 0.0250 0.0500 0.0750 0.1000 0.1250 0.1500 ... | Cardioid in CoSy . : cardioid 1p> f1. $ cosf -f >a> R@ cosf R@ sinf ,L a> ' *f 'L 1P> ; T0 cardioid >t0> ( 0.0000 0.0122 0.0465 0.0971 0.1545 0.2071 0.2423 ... 0.0000 0.0019 0.0151 0.0495 0.1123 0.2071 0.3335 ... ) | scale & translate . negative flips that axis . t0 f( -100 80 )f ' *f 'd f( 50 120 )f ' +f 'd >t1> | Idiosyncratic verb to convert format to .svg coordinate string : svgfmt ' f>i 'm flip { ,/ fmtI } 'm ` , ' MV 'd blMV ; | format for .svg t1 reverse svgfmt >t2> | the ' reverse flips the X and Y axes . 120,50 120,48 121,45 123,40 128,34 136,29 146,25 ... | -- ` C:\4thCoSy\CoSy\Graphics\tstsvg.html F> rUpdate res> >t3> t3 res> ,L >t3> t3 dsc t2 cL t3 1th cL ` C:\4thCoSy\CoSy\Graphics\tstsvg.html >F C:\4thCoSy\CoSy\Graphics\tstsvg.html t1 | flip { ,/ fmtI } 'm ` , ' MV 'd blMV T1 dsc res> enc T1 0 _at! T1 T1 res> ,L >T1> T1 dsc t2 reverse scale cL T1 1th cL res> ` C:\4thCoSy\CoSy\Graphics\tstsvg.html >F t0 res> enc T1 0 _at! T1 T1 dsc T1 1th res> enc T1 1 _at! ` C:\4thCoSy\CoSy\Graphics\tstsvg.html T0 : scale { 50. _f *f 150. _f +f f>i } 'm flip { ,/ fmtI } 'm ` , ' MV 'd blMV ; t2 f( -100 80 )f ' *f 'd f( 100 )f ' +f 'd ' f>i 'm >t3> t3 reverse flip { ,/ fmtI } 'm ` , ' MV 'd blMV >t4> T0 .. cosf ,L { 100. _f *f 100. _f +f f>i } 'm flip { ,/ fmtI } 'm ` , ' MV 'd blMV T1 1th T1 dsc t4 cL T1 1th cL ` C:\4thCoSy\CoSy\Graphics\tstsvg.html >F T1 res> T1 1 _at! ` \4thCoSy\CoSy\Graphics\svg.f F> rUpdate ` C:\CoSyBob\acnts\y20\tstsvg.html F> ` \4thCoSy\CoSy\Graphics\tstsvg.html >F res> >T1> T1 ` C:\4thCoSy\CoSy\Graphics\tstsvg.html >F C:\4thCoSy\CoSy\Graphics\tstsvg.html 7. _f c>f ` c>f See : tst 1p> R@ ,L 1P> ; 1. _f tst | ======================== | Sun.Feb,20220213 | ======================== | ` dayln ?? | ======================== | Sun.Feb,20220220 | ======================== | variable prior : numeral ( n ) create , does> @ prior @ over < if prior @ 2* - then dup prior ! + ; 1 numeral I 5 numeral V 10 numeral X 50 numeral L 100 numeral C 500 numeral D 1000 numeral M : digit ( a ) 1 find-name name>int execute ; `( find-name name>int )` ' See 'm `( : no 0 prior ! 0 bl parse 0 do dup >r digit r> 1+ loop drop ; )` ' See 'm BL ` digit See ` parse ?? ` BL ?? ` strings ec Help Xwords ' dsc 'm res> lfVM ` lf con `__ lf | ======================== | Sun.Feb,20220227 | ======================== | | 0854 | ` C:/CoSyBob/BobA.csy F>/\ >t0> t0 ` C:/CoSyBob/BobA.csy \/>F ` newJob :?? ` C:/4thCoSy/CoSy/MinJob.csy F> ` C:/4thCoSy/CoSy/MinJobOrg.csy >F ` C:/4thCoSy/CoSy/MinJob.csy F> ` C:/CoSyBob/BobA.csy >F startJob ` C:/CoSyBob/BobA.csy F> ` ` C:/CoSyBob/BobA.csy202202270843.csy F> ` C:/CoSyBob/BobA.csy >F Randy A MacDonald BD f( 60 365.25 )f ' *f ./ f>i >t0> |>| 21914 22000 _i t0 -i |>| 86 | 1115 | w : 214.2 | 1158 | f( -18.9 16.0 )f | 1245 | ` C:/CoSyBob/BobA.csy202202270843.csy F>/\ >t0> t0 t0 dsc ` C:/CoSyBob/BobA.csy >F | ======================== | Mon.Feb,20220228 | ======================== | ` ` :?? Wow ! Simply at a conceptual level no mass market language can match . And all the definitions right down at the most minimal hardware level . | ======================== | Thu.Mar,20220303 | ======================== | | 1641 | ` caret ?? `( sys Tui )` Dv@ | >t0> ` .. :?? ed `( sys Tui State )` Dv! `( sys Tui State )` Dv@ | : tst [ `( tst lst )` ] literal ; not right . tst | Ref# ` refs@ ?? statewdo @ getcaret `( sys Tui State )` Dv@ ` caret v! ` e Words ` ed :?? s" [ " ?? : saveStatecaret statewdo @ getcaret ` sys Dv@ ` Tui v@ ` State v@ ` caret v! ; ` sys Dv@ ` Tui v@ ` State v@ ` caret v@ `( sys Tui State )` Dv@ ` caret v@ | 20220303.2202 | modified structure for ` state window to contain caret position , | then added | ` sys Dv@ ` Tui v@ ` State v@ ` caret v@ statewdo @ setcaret | | to ' go to implement restarting w cursor pos in ` state wdo | 2206 | | has been biggest irritation . All window need to be restructured simlarly | ======================== | Fri.Mar,20220304 | ======================== | ` \4thCoSy\CoSy\WorkLog.csy startJob ` \4thCoSy\CoSy\CoSy.csy startJob | F> str>lst | dsc "blMV ` ./CoSy/Presentations.csy startJob ` \CoSyWeb\y22\blog.csy startJob ` \CoSyBob\MailLists.csy startJob ` C:\CoSyBob\acnts\y22\Acnts.csy startJob | ` acnts See ` C:\CoSyBob\acnts\y21\Acnts.csy startJob | ` acnts See ` C:\CoSyBob\acnts\y20\Acnts.csy startJob ` \CoSyWeb\y20\blog.csy startJob ` C:\CoSyBob\CoSy\CoSy.csy startJob ` C:/CoSyWeb/Science/Physics/Physics.csy startJob ` C:\CoSyWeb\BobA\Public\y22\EnergyCitizens.csy startJob ` C:\CoSyBob\AF.csy startJob ` C:\CoSyWeb\ResidentialServices\Private\ResSvcs.csy startJob | `D@ ResSvcs startJob ` C:/4thCoSy/CoSy/MinJob.csy res> lfVM >T0> T0 t0 lfVM dae ' drb 'm >t1> t1 { blVM 1 _at drb } 'm >T0> `( sys Tui State )` Dv@ >t1> T0 { F>/\ ` sys v@ ` Tui v@ t1 $ ` State v!> } 'm >T1> T1 T0 { 1 _take } on2 T1 T0 { 2p> F>/\ >a> ` sys v@ ` Tui v! a> R@ \/>F R@ 2P> } 'd | ! WORKED ! | Added `( State caret )` to every `( sys Tui )` in every Job | 2051 | t2 ` sys v@ nil T2 T0 dsc F>/\ `( sys Tui )` v@ T0 { .. F> $ ` .bk cL >a> >F a> } 'm | Backup whole list of files `( sys Tui State )` Dv@ >t1> 5 _iota .. { cL } 'd ` \4thCoSy\CoSy\WorkLog.csy F>/\ ` Type :?? `( sys Tui )` Dv! d1 @ getPos `( sys Tui posXY )` Dv@ d1 @ getPos ` get Words ` ./CoSy/Presentations.csy F>/\ >t1> | `( sys Tui )` v@ >t0> `( sys Tui )` Dv@ ` State v@ t0 ` State v! t0 t1 `( sys Tui )` v! t1 ` sys v@ ` Tui v@ t1 ` ./CoSy/Presentations.csy \/>F ` https://www.facebook.com/521881616/allactivity www ` asdfkf i( 50 100 )i take >t0> 12 _iota i( 1 -1 )i +i R0 ,/ `( ads qweer qwer o )` ' cL ./ | ' ,L ./ ` asdf ` wweroi ,L ' ,/ 'm ` C:/CoSyWeb/index.html F> rUpdate rGet ` C:/CoSyWeb/index.html >F i( 110 162 255 )i fmtI$ ,/ 100 | ======================== | Wed.Mar,20220316 | ======================== | The answer to the ultimate question. Michael Penn | https://youtu.be/U0XKX8qzHUE ` ^i See : ^i take ' *i ./ ; 10 _iota >t0> 7 _i ' ^i 'L ,/ t0 -i i>f 42. _f %f 19 _iota >t0> 7 _i ' ^i 'L ,/ t0 -i { >_ 42 mod _i } 'm ,/ nub |>| 0 19 _iota >t0> 7 _i ' ^i 'L ,/ t0 -i 42 _i modi nub |>| 0 ` mod Help 2184 _i >_ 42 mod _i ` ^i See 2 _i 32 _iota ' ^i 'R 1073741824. _f 7. _f 1%f ^f f>i |>| 19 | highest number whose 7th power < 2 32 ^ ` %f Words 0 0 126 2184 16380 78120 279930 823536 2097144 4782960 ` >_ :?? ev enc 2 _take >t0> t0 flip flip ` flip :?? | ======================== | Sun.Mar,20220320 | ======================== | ` time ?? R0 ' :?? 'm -6. 5.5 2_f -f |>| -11.50 f( 09. 19.75 )f 11.5 _f -f |>| 2130 0815 19. 11.5 f- _f | presentation . | ======================== | Mon.Mar,20220321 | ======================== | | 20220409.2235 | 20220416.1453 | 20220417.1008 | 40. _f >t0 32.26 _f >t1 t0 t1 -f 774 _i i( 2000 1000 500 100 25 5 1 )i ' modi 'R 774 _i i( 2000 1000 500 100 25 5 1 )i { _i +i } Y./ i( 774 2000 1000 500 100 25 5 1 )i enc' { +i } ./ i( 774 2000 1000 500 100 25 5 1 )i enc' { dsc +i } .\ i( 774 2000 1000 500 100 25 5 1 )i enc' { dsc +i } .\ ` ,/ ?? : .\ : scan ( RA fn -- r ) | result returning "\" over i# 0=I z" nonce : empty , needs prototype " * throw over Type@ TypeFl =if scanf ;then | Must be raw float fn . eg: ' f+ over refs+> i# over fntype VecInit >lpstk over 0 i@ lpstk@ 0 i! over i# 1 ?do lpstk@ i 1- i@ 2 pick i i@ 2 pick execute lpstk@ i i! loop drop refs- lpstk> ; ` Vec Words ` cellVecInit :?? ` valloc :?? : .\ ( RA fn -- r ) >aux 1p> i# cellVecInit >lpstk> R@ lpstk@ 0 _at! i# 1 do lpstk@ i 1- _at lpstk@ i _at aux@ execute lpstk@ i _at! loop auxdrop lpstk> 1P> ; ` .\ See 10 _iota ' +i .\ ` ix :?? ` _mod Help ` vx_ :?? ` xeq ?? ` lpstk :?? ` .\ ?? ` >aux :?? ` fm/mod See ` stk Words ` CSauxstack ?? ` >lpstk> :?? words res> >t0> # t0 blVM >t1> # t1 ` lp con Xwords flip .. 1th ` lp conn at ` over ?? ` across^ ?? i( 2000 1000 500 100 25 5 )i { _i } scan `( _mod */_ */_mod /_ /_mod )` ' Help 'm ` */ Help ` fm/mod Help ` /_mod Help ` mod ?? ` prt Words # ` blpad ?? s" assign " ` prt Words blpad pad ' cL 'R 8 _iota ' fmt 'm ' cL 'd ` fmttbl| ?? ' cL 'R ` modi :?? i( 774 0 )i 2000 /mod 2 s>iv 774 500 /mod ` s> Words res> ' :?? 'm ` s>iv :?? 774 500 /mod 774 _i 2000 _i modi ` scan ?? ` mod i( 1 2 3 4 )i i1 +i ` \4thCoSy\lib\math\mod F> ` \4thCoSy\lib\math\doubles F> | ======================== | Fri.Mar,20220325 | ======================== | Xwords flip 1th blMV blVM ` mod con ' :?? 'm ` < Words ` NmEm><@> ?? | ======================== | Mon.Apr,20220404 | ======================== | i( 1800 200 )i `( .r Tui posXY )` Dv! DMP Dnames { dup Dv@ # cL } 'm | ======================== | Thu.Apr,20220407 | ======================== | | Answering : [svfig] Call for Participation // April Challenge // April SVFIG Zoom Meeting 23 April 2022 https://www.facebook.com/groups/minimalistcomputing/posts/653943402362458/ res> >T0> # T0 # | "lf "bl ,L ssr >t0> t0 lower ` 0123456789.()-_, enc' ' ssd Y./ blVM dae >t1> # t1 t1 #' ,/ 5 _i =i & at nub >t2> # |>| 28 t2 ,/ enc' sortstr nubgrpcx >t3> flip t3 dsc t3 1th #' ,L fmttbl| t2 # t3 { dup dsc $ 1th # t2 4 _partition ' blMV 'm ` grp Words ' :?? 'm ` nubgrp ?? t0 9' ` Dig Words ` nin :?? R dsc blVM | ======================== | Fri.Apr,20220408 | ======================== | ` C:/Users/bob/Downloads/data-HUgdy.csv F> >t0> t0 lfVM { ` , VM } 'm 2 _take >t1> fmttbl| t1 1th -5 _take ' str>f 'm ,/ +/ 10 7 + _i |>| 17 | MDT , BST | $12eF _i ` ' Help ` CShelpFul :?? | ======================== | Sun.Apr,20220410 | ======================== | | 1144 | 10 _i >t0> ` _i :?? t0 DMP 12 _i DMP R dsc R 1 _at ' # 'm ,L flip ` asdlk;fawekrj R ` text v@ lfVM # | ======================== | Sat.Apr,20220416 | ======================== | ` Words ?? Xwords flip 1th ,/ blVM dae >T0> # T0 sortstr >t1> # t1 ` words? Help ` xwords ?? ev >T0> ` all-contexts ?? ` (words) ?? ` dayln ?? 20220101 _i 365 _i Daylns | res> >t0> # DMP ` ins-dayln ?? ` toDayln ?? ` gregorian>fixed Help ` ymd>fixed :?? res> # |>| 1176 ` match :?? : palendrome? .. reverse == ; ` racecar .. reverse == ` racecar palendrome? ` Dayln ?? 20220416 _i date_ _DMymd _str ` date_ :?? ` ndup ?? | ======================== | Sun.Apr,20220417 | ======================== | ` https://raw.githubusercontent.com/tabatkins/wordle-list/main/words res> >T0> # T0 # T0 lfVM dae >t0> # t0 dae >t0> # t0 blMV >t0> t0 nub |>| women ikauscfylpdgtrbhjvxzq t0 ` womenikauscfylpdgtrbhjvxzq # ` grp Words ` grpcx :?? ` ALPHabet Dv@ 26 _cut t0 ` abcdefghijklmnopqrstuvwxyz ' conn 'R >t1> # t1 >T1> #' T1 # ` abcdefghijklmnopqrstuvwxyz T1 #' ,L fmttbl| >t2> # | 2228 | T0 lfVM # | ======================== | Mon.Apr,20220418 | ======================== | ` abcdefghijklmnopqrstuvwxyz T1 #' ,L fmttbl| 4 _partition fmttblh em> SV-FIG ` search :?? ` psorti :?? T1 #' ,/ >t2> t2 psorti flip ' ,/ 'm >t3> ` abcdefghijklmnopqrstuvwxyz t3 1th at t3 dsc ,L ' reverse 'm >t4> fmttbl| t4 t4 1th i>f PoT cL fmttbl| 2 _partition s" § " fmttbl ` § c>i ` PoT :?? | ======================== | Tue.Apr,20220419 | ======================== | ` prt cL R@ ss1st L@ swap take 2P> ; ` search :?? ` asdfqwerpoi ` q ss1st | | prt 2dup >r van --aab r> van search if drop swap - _i --cab 2refs- ;then drop --aba # --cab 2refs- ; | Was : | | 20190122.2033 | fixed to return empty on no occurance . | | thought it would be useful in making | : tst f( 1 0 )f ; | work . | caused ` prt verbs not to work on none found . | 1917 | ` C:/4thCoSy/CoSy/y2019.txt F> ` i# See ` cell+@ See | :?? postscript 0.7 .25 2_f ^f 278.6 0.9147 2_f *f | ======================== | Wed.Apr,20220420 | ======================== | res> lfVM dae >T0> T0 { ` | prtt0> t0 t0 { F> # } 'm ,/ 0<>i & at >t0> T0 lfVM | ======================== | Sat.Apr,20220423 | ======================== | | 20220424.0846 || 20220425.1027 | T1 #' ,/ >t1> T0 lfVM >t0> # : tmp ` abcdefghijklmnopqrstuvwxyz $ { ' =c f? } 'R ,/ t1 $ at +/ ; t0 ' tmp 'm >t2> # t2 ,/ >t2> | t2 psorti >t3> # | exceeds something . bombs t2 sorti >t3> # | fast | t3 nnub | bombed t3 10 _take | 6554 7066 7196 7411 7417 7798 7910 8310 8333 8387 t3 t3 t3 1 _rotate =i & at | fast R0 nub >t4> # |>| 3108 t2 t3 { ' =i f? } 'L ,/ >t4> # t2 t3 dsc ' =i f? t3 dsc | 6554 t2 10274 _at t0 # ` psorti ?? ` nubg ?? | ======================== | Fri.Apr,20220429 | ======================== | ` rand See ` C:/4thCoSy/CoSy/math.f F> Eval | don't normally load ` rand verbs 11 _i randf >t0> 10. _f *f >t0> | ints & floats still have to be ` lifted from x86 stacks 3.04 4.79 5.92 7.85 2.79 7.74 8.96 6.58 2.57 4.75 9.70 | found rands in range of 10 iota are a useful range t0 reverse { 3. _f ^f 5. _f *f } xeq | apply the function 4562.87 534.62 84.56 1425.98 3601.37 2322.86 108.25 2419.82 1039.19 548.15 140.27 R0 400. _f >f >t1> | catagorize the overflows 1 1 0 1 1 1 0 1 1 1 0 1. 1. 2_f 10 _apv 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 4.308 .0001 2_f 10 _apv { 3. _f ^f 5. _f *f } xeq 399.7579 399.7858 399.8136 399.8415 399.8693 399.8971 399.9250 399.9528 399.9807 400.0085 4.308 .0001 2_f 10 _apv .. { 3. _f ^f 5. _f *f } xeq ,L flip ` apv :?? | 1715 | | moved `( idxs thru apvi _apv apv )` from ` CoSy.f to ` Furniture.f 20220429.1710 | | Made ' thru include both endpoints . | 1556 | ` ./CoSy/CoSy.f F> lfVM >t0> s" value ei " ` zild ,L ' conn 'R | eliminated | i( )i refs+> constant zild | 0 iota | idiosyncratic APL word | like ` zic , ` ec for empty character string | 1747 | | working on Tui selection text> lfVM # : evalsel ." Caret position: " textwdo @ caret? _str >t0> t0 ` , "bl ,L ssr ` ` getval :?? type cr ." Selection: " textwdo @ selection? type cr ." Evaluating selected text: " textwdo @ selected-text? 2dup type cr eval gui-default ; ( ' evalsel 16 cb: eval-selected-text ) : eval-selected-text callback evalsel ; [THEN] quit ` callback Help T0 ` C:/CoSyWeb/CoSy/y22/WordleWords.txt >F ` C:/CoSyWeb/CoSy/y22/WordleWords.txt F> textwdo @ ' getcaret key-F2-cb textwdo @ 2_i cL textwdo @ getcaret >T0 _i ` key-F2-cb Help | ======================== | Sat.Apr,20220430 | ======================== | | 1411 | | 20220508.2121 | rShow ` .r Dv@ ` text v@ rUpdate ` ./CoSy/Job.f F> rUpdate rGet ` ./CoSy/Job.f >F : rCloseWdo ` .r Dv@ closeWdo ; | added to ` Job.f rCloseWdo `( .r text )` Dv@ | rUpdate `( .r Tui posXY )` Dv@ DMP | ( i( -200 -50 )i +i ) `( .r Tui posXY )` Dv! ` cr :?? `( .r Tui posXY )` Dv@ DMP `D@ .r JobHndld_ _getPos DMP `( .r Tui posXY )` Dv@ t0 == t0 `( .r Tui posXY )` Dv! ` insert :?? bye ` >Fn :?? ` >T0 :?? ,L ev >value Fn : >Fn> dup : >Fn ( ob -- ob ) | File name handle holder | 20200407 | Fn refs- refs+> to Fn ; ev >value Ft : >Ft> dup : >Ft ( ob -- ob ) | File text handle holder | 20200407 | Ft refs- refs+> to Ft ; | ======================== | Fri.May,20220506 | ======================== | Dnames ` >T1 :?? ` sym ?? ` T1 DMP ` str>sym ?? ` ./CoSy/CoSy.f F> >t0> | "lf ` : cL tokcut s" ; t0 (' ` ; "ht cL ` ; "bl "ht cL cL ') ssr >t1> | stick blanks between semicolons | followed by tabs to make all ends of defs searchable t1 ` ./CoSy/CoSy.f >F t0 ` ; "ht cL ss # | ======================== | Sat.May,20220507 | ======================== | ` "ht ?? : Allwords Xwords flip 1th ,/ blVM dae ; | added to ` ./CoSy/Furniture.f Allwords >t0> # |>| 2372 t0 nnub # |>| 40 Allwords ` : con ` ./CoSy/CoSy.f F> >t0> t0 (' ` ; "cr cL ` ; "bl cL "cr cL ') ssr >t1> t1 ` ./CoSy/CoSy.f >F | do same for ` returns t0 "lf ` : cL ss # |>| 412 | indenting definitions w blank t0 "ht ` : cL ss t0 R0 20 _-+ t0 R0 ' at 'R ` around ?? ss # |>| ` |>| :?? | ======================== | Sun.May,20220508 | ======================== | ` >< ?? ` t f( 3.8 25.7 )f >< | ======================== | Mon.May,20220509 | ======================== | | 20220510.2120 | ` (sym) ?? | deleted all uses of (sym) . replaced smiply w ` | deleted from ` ./CoSy/Furniture.f | | : $^ ( sym -- ) | display var in res | | dup+ " source" (sym) R " res" (sym) ; | commented out (sym) | 1245 | | 1759 | ` sym ?? `__ TypeS ?? ` stype ?? `__ s. ?? ` TypeS ?? ` TypeS?_ ?? TypeS _i : stype ( str -- ) | string or symbol output | deleted : | dup @ dup TypeC = swap TypeS = or 0if drop z" not character " throw then | deleted from ' lst | dup @ TypeS =if ['] S. lstitm ;then | deleted from CoSy.f | : S. '` emit space stype ; | output symbol ` _f? ?? ` lsymin ?? | Deleted from ` CoSy.f : | : symin_ ( symb sl -- flg ) swap ['] str~_ _f? _n <>I ; | | Like K's _in for symbols . Returns 1 if symb is in sym list| | | : symin ( symb sl -- flg ) symin_ _i ; | | : lsymin ( symLst symLst -- boolLst ) ['] symin eachleft ['] cL across ; | | Like K's _lin for symbols . Returns 1 each mem of LA in RA . | : S. '` emit space stype ; | output symbol | : d#_ ( dic -- #items_raw ) 0 i@ i# ; | | : d# ( dic -- #items ) d#_ _i ; ` TypeS ?? `__ d# ?? enc ,L ` symcon ?? s" restor" ?? ` sym>str ?? ` fmtS ?? | 20220510.2201 | removing all ` symbol vocab from ` CoSy.f res> >t0> lfVM s" | " $ ' cL 'L t0 lfVM DMP Ft >T0 ` $.s :?? ` .s Help $.s ` enc ?? | ======================== | Fri.May,20220513 | ======================== | 6422599 6530744 $ - _i >t0> 1024 _i ' i>f on2 %f |>| 105.6104 | ======================== | Mon.May,20220516 | ======================== | `( <: :> )` ' See 'm ` dictionary ?? ` . 7 _take enc 6 _take R0 ,/ # | ======================== | Fri.May,20220520 | ======================== | | Debugging CoSy.f | Removing | | | | 0 [IF] | \/ | apparently never used | \/ | | | macro | | : `` p: sym vx_ ; | returns address of dic obj . | | : `@ ( dic -- val ) p: sym v@ ; | | : `! ( val dic -- ) p: sym v! ; | | : `. p: `@ lst ; | | : --> ( val dic -- dictionary entry ) p: sym v! ; | | forth | | [THEN] | /\ | apparently never used |/\ | | | ` csasgn ?? | never used . causing bug . ` (cs@) ?? | never used . | Removing both res> lfVM s" | | " $ ' cL 'R lfMV | | | | | : csasgn ( adr -- encVadr ) | CoSy assign | | | p: sym swap ,L ; | | | | | | : (cs@) ( dic n -- csobj ) | | >r dup 0 i@ r@ i@ swap 1 i@ r> i@ ,L ; | | | | | : z ( ... Fadr0 Fadr1 -- ... ) | compoZe , takes 2 fn tags | | | >r execute r> execute ; | not clear worth anything | | ` rGet :?? ` .r Dv@ JobHndlt_ getcaret `( .r Tui caret )` Dv! ` 1701,1 ` .r Dv@ JobHndlt_ setcaret ` Words :?? ` ` :?? `( .r Tui )` Dv@ ` (wheresym) ?? ` Dwheresym ?? ` sym :?? sym asd | removed | | | | 0 [IF] | | : fmtS : sym>str> ( sym -- str ) .. dup sym>str swap ref0del ; | | : str>sym> ( str -- sym ) .. dup str>sym swap ref0del ; | | | | | : fmt dup Type@ TypeS =if sym>str> ;then prior fmt ; | see ' lst | | | kludge to deal w symbols . See 20180130 | | | | | \/ | Result returning version on shallow lists | | : sym>str>' rep { dup sym>str } 'm ; | | : str>sym>' rep { dup str>sym } 'm ; | Tue.Aug,20160830 | | | | : symcon ( list_of_sym str -- strs ) swap sym>str>' swap con str>sym>' ; | | | | | Makes me reconsider Morten Kromberg's question at | | | http://cosy.com/CoSy/MinnowBrook2011.html | | | " What is a symbol other than a string ? " | | [THEN] | | | | : `D@ ( dic -- val ) p: sym Dv@ ; | Useful ? 20190326 | seem to have cleaned up all load bombs . | 2221 | | ======================== | Sun.May,20220522 | ======================== | ` `f ?? ` f( :?? | ======================== | Mon.May,20220523 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/680629023027229 `( Fact morse )` Dv@ "bl ' cL 'L >t0> fmttbl| | Get table . Need to add blanks to each list . Store temp . display t0 dsc t0 1th s" WHAT HATH GOD WROUGHT " { ' =c f? } 'R ,/ at blMV | stack Morse list . in char list , find first location of each letter , | ` ravel into numeric list , select them from stacked Morse . Ravel w blanks t0 dsc t0 1th s" I HATE FB LACK OF FORMATTING " { ' =c f? } 'R ,/ at blMV | `( Fact morse )` Dv@ "bl ' cL 'L `( Fact morse )` Dv! | Added "bl line to ` morse translation table . | 1224 | | `( Fact morse )` Dv@ reverse `( Fact morse )` Dv! | Also reversed so Alphabet first , code 2nd . | xlate ( LA dictionary -- items in dict 1th corresponding to each item in LA ) : xlate 2p> dsc $ ' ?str 'R ,/ R@ 1 _at $ at 2P> ; t1 enc' t0 xlate t0 reverse xlate ,/ WHAT HATH GOD WROUGHT t0 t1 enc' v@ `( Fact morse )` Dv@ >t0> s" WHAT HATH GOD WROUGHT " >t1> t0 t1 enc' ' v@ 'R t0 dsc t1 enc' ' ?str 'R t1 t0 t0 | reverse dsc t1 enc' ' ?str 'R $ ' ?str 'L t0 dsc t0 1th s" WHAT HATH GOD WROUGHT " { ' =c f? } 'R ,/ at blMV s" WHAT HATH GOD WROUGHT " >t1> t0 1th t1 ' ?str 'R ,/ `( v@ dsel )` ' :?? 'm ` wheresym ?? ` ?str ?? | res> ,L ` vx_ :?? ` ASCIIbrowser Dv@ 7 _i 10 _take : tst 7 emit ; 10 times tst ` t0 1th 39 _at 7 emit ` emit Help | ======================== | Tue.May,20220524 | ======================== | | ======================== | Thu.May,20220526 | ======================== | ` on2 :?? ` strmatch_ :?? ` str= :?? ,L ` where :?? ` in :?? ` \CoSyBob\MailLists.csy F>/\ >t0> `( T0 T1 )` ' v@ 'R >T0> # t0 ` T0 v@ >T0> t0 ` T1 v@ >T1> ,L #' T0 dsc T1 ' strmatch 'R ,/ nub (' T0 T1 ') { dsc Type@ TypeC = _i } 'm T0 dsc T1 dsc match i( 1 1 )i nub i0 i1 =i i( 0 1 )i i( 1 1 )i strmatch i1 i0 match 10 _iota 10 _iota i1 +i strmatch " asdf " " aadf " str= _i ` str= See _i ` cmp See s" asdf" van " asdf" 4 _iota van =i ' and acrossI >_ f( 1 2 3 )f f( 1 2 3 )f strmatch 10 _iota =i ` =i :?? match ` nubb :?? ` match_ :?? 1 _i 5 _take i0 cL ' and acrossI `( acrossI match_ strmatch_ )` ' :?? 'm ` asdf ` asdf strmatch ` cmp ?? -2 _at ` src/revacore.asm ` cmp CoSyDir ` CoSy_.f cL F> nlVM >t0> ` match_ conn t0 1540 _i 15 _iota +i at res> lfVM # ` C:\CoSyWeb\4thCoSy\Code\CoSy\CoSy.f F> >t0> t0 s" : match_ " ss cut >t0> t0 t0 `_ ; ss dsc take ` match_ :?? ,L t0 dsc take | ======================== | Fri.May,20220527 | ======================== | ` cmp Help " aaa" " aa" 2swap cmp _i ` cdab ?? s" C:/4thCoSy/CoSy|CoSy - Copy (2).f|CoSy.f|CoSy - Copy.f|" >t0> | ` | VM dae >t0> | Reverted ` CoSy.f to last upload | 2206 | t0 dsc ` / cL t0 1 _cut ' cL 'R >t0> R0 >t1> | : multFnames ` | VM dae >a> dsc ` / cL a> 1 _cut ' cL 'R ; | See /\ is already same as ' fullPaths in ` ./CoSy/Furniture.f | 2235 | | ======================== | Sun.May,20220529 | ======================== | http://www.cosy.com/y22/[svfig]_Re-APL_Competition.html `( Hello world )` `( - ! )` {{ ' cL 'd ,/ }} `( {{ }} )` ' Help 'm i( 0 1 2 3 )i i( 0 10 20 30 )i { ' +i 'L } 'R R0 fmttblb i( 0 1 2 3 )i i( 0 10 20 30 )i { ' +i 'R } 'L fmttblb | ======================== | Mon.May,20220530 | ======================== | ` ?? :?? ` CShelpFul :?? R ` sys v@ ` CoSySource v@ ` avg Words `( sys CoSySource )` Dv@ | ` ./CoSy/math.f enc cL `( sys CoSySource )` Dv! bye R ` sys v@ ` CoSySource v@ | replace | [ R ` sys v@ ` CoSySource v@ ] literal | in ' CShelpFul | to allow addition of load time scripts Fn F> ` : Fload 1p> F> Eval ` sys ` CoSySource ,L >a> Dv@ R@ enc cL a> Dv! 1P ; ` ./CoSy/math.f a# `( sys CoSySource )` Dv@ | ` ./CoSy/math.f enc cL `( sys CoSySource )` Dv! `( sys CoSySource )` Dv@ -2 _cut `( sys CoSySource )` Dv! ` a> ?? i0 >a i1 >a auxx> ec Words ` `( :?? ` mark ?? EoDefs ` mark Help ` .\lib/util/misc F> | ======================== | Tue.May,20220531 | ======================== | ` C:\tst\CoSy.bat F> ` C:\tst\CoSy@.bat F> | ======================== | Wed.Jun,20220601 | ======================== | | ======================== | Thu.Jun,20220602 | ======================== | `( >>fl >float )` ' :?? 'm | moving from ` Script0 to ` CoSy.f : `f parsews >>fl drop _f ; | ` prefix version of ' _f . added to ` script0 | 20190403.1308 | | ======================== | Fri.Jun,20220603 | ======================== | | 2116 | ` parsews `( :?? Help )` ' Eval 'R : `i parsews eval _i ; | turn next ` word in input into 1 item integer | 20220603.2211 | | i^ 1 | Already exists ! Just going to change name to ` `i ! `i 1 ` tmatch_ See ` asdf ` asdf tmatch_ _i `i 1 1 _i tmatch_ _i f( 0 1 2 3 )f 4 _iota i>f tmatch_ _i ` where :?? `( sqrtf fsqrt )` ' :?? 'm | ======================== | Sat.Jun,20220604 | ======================== | | 1855 | | ======================== | Sun.Jun,20220605 | ======================== | ` C:\CoSyWeb\4thCoSy\Code\CoSy\CoSy.f F> nlVM >T0> ` .\CoSy\CoSy.f F> nlVM ` sym con ev >T0> >T1> 5 _iota i>f 5 _iota i>f tmatch_ _i ` asdf ` asdf tmatch_ _i | ======================== | Wed.Jun,20220608 | ======================== | | 0820 | really need to fully fix ' match_ . causing , particularly ' venn to fail . f( 0 1 2 3 )f enc 4 _iota i>f enc tmatch_ _i res> blVM ' Help 'm ` .s Help | ======================== | Thu.Jun,20220609 | ======================== | ` sym Words ' :?? 'm : tst [ cr .s cr ] ; tst ` then Help T0 T1 venn ` venn :?? res> blVM ' Help 'm ` then,> ?? | ======================== | Mon.Jun,20220613 | ======================== | ` f( :?? ` script0 -> : `D@ ( dic -- val ) p: ` Dv@ ; rClose `D@ .r ` ` :?? ` factors See 16. _f factors 51 _i | ======================== | Wed.Jun,20220615 | ======================== | | Renamed ` i^ to ` `i | ./CoSy/CoSy.f `i 75 ` `i :?? | ======================== | Sun.Jun,20220619 | ======================== | | 1357 | | 2141 | s" C:\4thCoSy\CoSy\CoSy - Copy (4).f" F> | ======================== | Mon.Jun,20220620 | ======================== | | 1415 | | 1846 | | 1853 | ` http://www.cosy.com/DailyBlog.html www | #20220615 ` C:/CoSyBob/BobA.csy F>/\ ` text v@ >T0> s" C:/4thCoSy/CoSy|CoSy.f|CoSy.f - Copy.bk" fullPaths | ' F> 'm R0 dsc R0 1th == R0 ' F> 'm >t0> ' == ./ F> rUpdate Fn ` ./CoSy/CoSy.f Fbackup s" C:\4thCoSy\CoSy\CoSy - Copy (4).f" F> ` ./CoSy/CoSy.f >F ` leave ?? ` i See s" C:\4thCoSy\CoSy\CoSy_.f" F> >t0> ` match_ ss 100 _iota +i t0 $ at | ======================== | Wed.Jun,20220622 | ======================== | ` day Words ` dayln :?? 22 6 2022 _DMymd _str ` sf11 ?? ` ins-ymd.hm :?? |ymd.hm| | ======================== | Sat.Jun,20220625 | ======================== | | 0859 | ` C:/CoSyBob/BobA.csy F>/\ ` text v@ >T0> T0 lfVM ` f( con s" t : " ccon s" t : " ' prt>=f 'L s" )f" ' prt<=f 'L >t0> t0 4 _partition fmttbl| t0 0 _i at 4 _cut Eval reverse ' -f ./ | } 'm 4 _partition fmttblb t0 { 4 _cut Eval reverse ' -f ./ } 'm >t1> 4 _partition fmttblb ` avg Words t1 ,/ avgf ` t f( 3.5 30.6 )f >< | 0922 | | 1039 | SV-FIG ` peephole optimimzation -- tail call > jump | 1146 | Sam 9b intrface standard vs Linda ? SPI connection ? ` marker ?? 3 for match 1 Brad : 2p> =c ` rebut ` toast =c 3 _i *i +/ ` raout ` toaut { ' =c 'L } 'R fmttblb ` rebut ` toast ' =c 'L ` =c :?? . Highlights value of symetric , ie: triangual matrix type ` rebut ` toast ' =c 'L http://rainbowforth.appspot.com/ | 1318 | | ======================== | Sun.Jun,20220626 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/702430874180377/ 17 _iota 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 R0 dup ' *i 'R fmttblb rUpdate s" C:\4thCoSy\CoSy\CoSy_.f" F> .. ` match_ ss 100 _iota +i at | ======================== | Mon.Jun,20220627 | ======================== | ` eval ?? ` Pi :?? 2 sigdig ! : Pi fpi _f ; : Tau Pi 2. _f *f ; | a full revolution (' Pi Tau ') ( 3.1416 6.2832 ) | ======================== | Wed.Jun,20220629 | ======================== | ` 2P> ?? : tst `f 2 ; tst | ======================== | Sat.Jul,20220702 | ======================== | `( ` `i `f )` ' :?? 'm : ]`[ parsews compiling? if (") ;then "" ; : ` p: ]`[ p: _str ; : `i ( -- int ) parsews >single if _i ;then 2drop z" not integer" throw ; ` `i See macro : `i p: ` temp Help `( p: p[ )` ' :?? 'm ` p[ :?? ` prior :?? ` last Help ` @litcomp `( Help ?? )` ' Eval 'R ` ?literal ?? `( >t0 => )` ' :?? 'm | ======================== | Sun.Jul,20220703 | ======================== | ` a Words .. { -1 _at ` a =c } 'm ,/ & at | ' :?? 'm i( 2 3 4 )i i( 3 4 5 )i ,L ' +ia ./ Arthur Whitney's current endeavor https://shakti.com/ | 1531 | s" | | " res> lfVM ' cL 'R | | Arthur Whitney's current endevor | | https://shakti.com/ | | | 1531 | | | | | So terse it must be by Arthur : | | https://kparc.com/ | | examples | | | | $k | | s:2 / atom(scalar) | | v:2 3 4 / list(vector) | | s+v | | 4 5 6 | | | Current CoSy `i 2 i( 2 3 4 )i >t0> +i 4 5 6 | All objects are lists . Modulo indexing more general than " scalar extension " i( 1 -1 )i t0 +i 3 2 5 | cannot do /\ in APL or K . | | m:(v;3 4 5) / list(matrix) | | +/m / + over | | 5 7 9 | | +/'m / + over each | | 9 12 | | v 1 / apply(index) | | 3 (' t0 i( 3 4 5 )i ') >t1> ( 2 3 4 3 4 5 ) t1 ' +i ./ | Sum across ( 5 7 9 ) t1 ' +/ 'm | sum each ( 9 12 ) t0 i( 1 0 )i at 3 2 d:`a`b!2 3 / dictionary d`b / apply(assoc) 3 d+d `a`b!4 6 `( a b )` `i 2 `i 3 ,L ,L >t2> | or | `( a b )` i( 2 3 )i enc' ,L >t2> ( ( a b ) ( 2 3 ) ) ` ab i( 2 3 )i { >< enc } 'd | ` a v@ f:{x+2} / function f 1 / apply(call) 3 f v 4 5 6 ` \/ See ` aaply ?? | ======================== | Mon.Jul,20220704 | ======================== | ` ?? Words `f 1364 P>Tsb `f 273.15 -f 6 _iota i( 2 3 )i take : absi { ' abs eachMir } aaplym ; | abs ` absi See i( -1 0 1 )i i( 3 2 )i take absi ` aaplym See ` defer Help Removed | : m@^ m@ _i ; | meta . don't know if I'll ever use . | 0104 | | ======================== | Tue.Jul,20220705 | ======================== | ` ?? ?? ` ?? See ." sts " `( sys CoSySource )` Dv@ { F> nlVM ` ?? con } 'm | ======================== | Wed.Jul,20220706 | ======================== | : ?? CShelpFul >aux+> dup ['] rho 'm ,/ i1 >i & at refs+> aux- refs-ok> ; | fixed bug in ` >i . Believe atomic apply totally working on ints . | 1158 | 6 _iota i( 2 3 )i take >t0> fmt 3 _cut -3 _cut ( 0 1 2 3 4 5 ) R0 ' +i ./ ( 3 5 7 ) R0 i( 1 -1 )i +i ` aaply ?? `i 12 iota >t0> 0 1 2 3 4 5 6 7 8 9 10 11 t0 i( 1 -1 )i +i 1 0 3 2 5 4 7 6 9 8 11 10 t0 i( 3 4 )i take >t1> ( 0 1 2 3 4 5 6 7 8 9 10 11 ) t1 # 3 t1 ' # 'm ( 4 4 4 ) t1 t1 *i | ' +i ./ t1 i( 1 0 -1 )i +i t1 t1 *i | ======================== | Tue.Jul,20220712 | ======================== | ` `( ?? ` s" :?? ` p: :?? ` VM ?? Dnames `( Fact morse )` Dv@ >t0> # |>| 2 | It's a list of 2 lists t0 fmttbl| 5 _partition fmttblb | Formatting the 2 for readability ( A | .- J | .--- S | ... 1 | .---- Ä | .-.- B | -... K | -.- T | - 2 | ..--- Á | .--.- C | -.-. L | .-.. U | ..- 3 | ...-- Å | .--.- D | -.. M | -- V | ...- 4 | ....- Ch | ---- E | . N | -. W | .-- 5 | ..... É | ..-.. F | ..-. O | --- X | -..- 6 | -.... Ñ | --.-- G | --. P | .--. Y | -.-- 7 | --... Ö | ---. H | .... Q | --.- Z | --.. 8 | ---.. Ü | ..-- I | .. R | .-. 0 | ----- 9 | ----. | ) t0 0 _at s" All in open Forth " ' conn 'R ,/ t0 1 _at $ at ,/ | ======================== | Fri.Jul,20220715 | ======================== | `( wqwre asdlkw qerl )` s" asdf" ` asdf == res> `( ['] ' )` ssr >T0> T0 ` ' s" { ' " ,L ssr ` Dfr s" Dfr } aaply " ,L ssr >t0> t0 ` Mfr s" Mfr } aaplym " ,L ssr >t0> | copied into CoSy.f `( + - * % ^ min max )` s" f " ' cL 'L >t1> s" `f 2 `f 3 " t1 ' cL 'R ' Eval 'm ' +f _i | spent bunch of time working on \/ . may need own type . : '( | input non-blank strings up til " )`" -- vec of xts | 10 K* dup cellVecInit swap 0do parsews 2dup " )'" cmp if find refs+> over i ic! else 2drop i Vresize leave then loop compiling? if refs+> literal, then ; | /\ | `__ ' c>i | 0030 | | ======================== | Sat.Jul,20220716 | ======================== | | 1050 | | 1119 | ` aaply ?? http://www.cosy.com/y22/MMM2022.jpg Made vid https://www.cosy.com/CoSy/y22/EditingAtomicVerbs0716.mp4 | ======================== | Sun.Jul,20220717 | ======================== | ` f>i :?? ` prior :?? ` @litcomp `( Help :?? )` ' Eval 'R ` i>f ?? ` all Words | ======================== | Wed.Jul,20220720 | ======================== | ` https://www.cosy.com/CoSy/y22/CoinPiles220720.jpg www `( piles pile# remainer value )` >t2> | (' i( 8 5 2 1 )i i( 1 5 2 5 )i i( 3 5 0 10 )i i( 2 4 2 25 )i ') >t0> t0 flip ' ,/ 'm >t1> t1 i( 0 1 )i at ' *i ./ t1 2 _at +i >t3> t1 -1 _at t3 *i ,/ R0 +/ | ======================== | Fri.Jul,20220722 | ======================== | | 1513 | made vid of /\ | https://www.cosy.com/CoSy/y22/CountingCoins.mp4 | 1518 | | ======================== | Sat.Jul,20220723 | ======================== | | 0747 | | ALL ABOUT CONSCISE EXPRESSION OF ALGORITHMS ` C:/CoSyWeb/CoSy/y22/WordleWords.txt F> lfVM >t0> # t0 ` event ' =c 'L >t1> t1 ' +/ 'm ,/ 0>i & (' t0 t1 ') R0 ' at 'L fmttbl| | slownesses in allocate & free t0 1 _take ' nub 'm | { ` jeese ' memb 'R ,/ } 'L t0 3214 _at nub ` jeese ' memb 'R ,/ | 1127 | Demitri | Backus Turing | http://www.csc.villanova.edu/~beck/csc8310/BackusFP.pdf `( Type # Ref# )` generalization of counted strings ` C:/4thCoSy/CoSy/math.f F> | Eval | for various rand & math fns . R0 nlVM ` dot con 10 _iota >t0> dup ' *i 'R t0 enc' .. { ,L } 'R ' ,/ 'm | NO OTHER LINGUISTIC ENVIRONMENT HAS THE IMMEDIATE INTERACTIVE ` POWER OF CoSy | MINIMISE REDUNDACY OF EFFORT & CODE | CoSy for editing your scripts , whatever your Forth . | 1228 | Brad | https://eforth.appspot.com/web.html | 1251 | | 1305 | ` .s :?? | ======================== | Sun.Jul,20220724 | ======================== | Here are the videos from the July 2022 meeting: July, 2022 Challenge --- Moderated by Bill Ragsdale https://www.youtube.com/watch?v=YjCm6MfzruE Kevin | SciAmer Bridgit Martin Gardner Can Forth Liberate Programming from the Von Neumann Style? --- Demitri Peynado https://www.youtube.com/watch?v=_d40BlF-PyA Including significant comments by me at | https://youtu.be/_d40BlF-PyA?t=1662 Feedback for Klaus --- Moderated by Kevin Appert https://www.youtube.com/watch?v=6cG1SGBUnqg µEForth on the Web --- Brad Nelson https://www.youtube.com/watch?v=8emzHWsoljA Last-minute ITC Profiler Talk --- Philip Zembrod https://www.youtube.com/watch?v=F5bU0TkizQQ The Latest from COSY --- Bob Armstrong https://www.youtube.com/watch?v=N8dy5sqJcXE | ======================== | Tue.Jul,20220726 | ======================== | ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . : dot *f +/ ; : doti *i +/ ; | in case you need integer ` dot See ` +/ :?? (' i( 8 5 2 1 )i i( 1 5 2 5 )i i( 3 5 0 10 )i i( 2 4 2 25 )i ') i>f >T0> T0 t0 t0 t0 *f ' +f ./ ,L t0 t0 t0 { *f ' +f ./ } aaply ,L : +f/ { ' f+ acrossf } aaplym ; t0 dsc .. +/ $ +f/ ,L ` +f/ See t0 t0 +f/ ,L t0 t0 { ' +f ./ } 'm ,L T0 .. ' dot 'd T0 T0 *f dsc ' +/ 'm ` +/ :?? 29219 _i .. factors .. --bac f( 29219 61 )f ' %f ./ 479 61 * _i | ======================== | Sun.Aug,20220814 | ======================== | (' `( Name Age Sex )` (' ` Anton `f 56 ` M ') (' ` Berta `f 93 ` F ') (' ` Cäsar `f 11 ` M ') ') >t0> t0 # t0 ' # 'm ,/ t0 fmttbl| ` fmttbl| :?? ` ?pad :?? t0 ' bl?pad 'm : ?pad 2p> # -1*i take R@ strmatch_ if L@ 2P> ;then L@ R@ cL 2P> ; ` C:/CoSyBob/acnts/y21/BobA/PSBT.ctb F>/\ flip -1 _i at >t0> #' t0 fmttbl| | ======================== | Fri.Aug,20220819 | ======================== | | ======================== | Sat.Aug,20220820 | ======================== | | ======================== | Sun.Aug,20220821 | ======================== | : startJob s" cosy@.bat " swap cL start ; ` C:/4thCoSy/CoSy@.bat F> res> >T0> ` C:/4thCoSy/CoSy@tst.bat >F ` C:/4thCoSy/CoSy@tst.bat F> `_ C:/4thCoSy/CoSy@tst.bat ` ./CoSy/Presentations.csy cL start https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/if ` C:/4thCoSy/ />\ Dir ` C:\4thCoSy\restart.bat F> ` meta ?? | all words referencing ` meta are of questionable value . | ======================== | Fri.Aug,20220826 | ======================== | ` alpha Words | 1127 | Detect one digit in error and/or the exchange of two adjacent digits. | CoSy is a vocabulary in open Forth | Allwords ` bet con ` ALPHabet Dv@ 10 _take >t0> | ======================== | Sat.Aug,20220827 | ======================== | ` ABCDEFGIHJ ` ABCDFEGIHJ =c 0=i & | +/ | Transposition errors ` ABCDEFGIHJ ` ABCDFEGHIJ { =c } 'L >t0> t0 10 _iota ' rotate 'd flip ' ,/ 'm | 0=i & | Iverson logic | 1135 | t0 flip ' ,/ 'm ` ABCDEFGIHJ ` ABCDFEGHIJ ,L i( 0 1 )i ' rotate 'd ` ABCDEFGHIJ -1 _rotate ` ABCDFEGHIJ 1 _rotate ,L | =c | liked `( emacs FINE )` rand? ` twittle key | ` rotate ?? ` convo ?? | 1424 | | ======================== | Sun.Aug,20220828 | ======================== | | 1942 | t0 10 _iota ' at 'd ,/ | grabbing the diagonal R0 +/ | the ` trace ` inb :?? ` loop Help lfVM >t0> : inb ( lst tok -- lst ) 2p> rho { take R@ match } 'L ,/ 2P> ; : inb ( lst tok -- lst ) 2p L@ R@ # oo 0 . cr { oo take R@ oo cr match } 'L ,/ 2P> ; t0 dae s" See also: " >a> in a> # cut t0 dae #' : inbtst ( lst tok -- lst ) 2p> rho { take R@ match } 'L ,/ 2P> ; ` _take :?? s" o " ?? s" See" in loop (while) 0do ?do again back do eleave flow-control i j later leave more remains repeat skip unloop while ` in :?? : tst 2p { L@ R@ ,L } xeq 2P> ; i0 i1 tst | check that variabkes inside quotation same as outside 20220828.2215 | t0 ` See # { take R@ oo cr match } 'L | ======================== | Mon.Aug,20220829 | ======================== | Reva does not have the ' +loop that Bill Ragsdale uses in https://www.cosy.com/CoSy/y22/SV-FIG_BR-TwittleChkLP.jpg | Redefined ' _take to simply return empty lists rather than throw error . res> lfVM "ht $ ' cL 'R : _take ( v n -- r ) | APL take / reshape , just lists ?dup 0if 0 over Type@ VecInit swap ref0del ;then | n = 0 , return empty over i# 0if drop ( ref0del fnnm " : nonce : empty , needs prototype " strcat zt throw ) ;then | Simply removed commented throw ! | 20220829.1502 | | This is a good example of " the Code is the Theory " ` loop Help lfVM >t0> t0 s" See also: " >a> in a> # cut blVM | 1506 | ( RevaWord -- HelpOnAll ) | just thought of this method to ` single-step thru defs using sF6 & ' o to output ToS : HSeeAlso >a> Help lfVM s" See also:" >a> in a> # cut a> $ cL blVM ' Help 'm ; Added to Furniture.f | 20220830.2236 | ` >a> :?? | 20220830.1613 ` loop HSeeAlso ` loop Help ` stack: Help ` aux-ok> ?? : a> ( : aux>ok> ) aux> dup refs-ok ; | 20220830.1613 : ./CoSy/ParameterPushing.f removed " : aux>ok> " nothing uses | changed 2 uses in ' 1P> and ` 2P> | 2209 | ` blVM ?? ` in :?? ` aux# :?? : in\ >a> inb & at\ a> # ' cut 'm ; | same as ' in but cut tok off each `i 2 10 _take | ' *i ./ ` .\ ?? | ======================== | Tue.Aug,20220830 | ======================== | 32 _iota { fmtI% ,/ ` 1 =c } 'm ` fmt Words ` fmtI ?? ` bool ?? ` (.) HSeeAlso 16 _iota { >_ 4 48 binary (p.r) decimal _str ` 1 =c } 'm >t0> i0 t0 { -1 _cut } 'm ' cL 'R >t1 t0 t1 ' <>i 'd t0 i0 t0 { -1 _cut } 'm ' cL 'R ' <>i 'd t0 t1 ' <>i 'd | 2321 | ` <>i :?? | ======================== | Wed.Aug,20220831 | ======================== | | ( n -- boolv ) | convert integer to boolean vector : bool >_ : _bool binary (.) decimal _str ` 1 =c ; | ( n -- grayv ) | convert int to gray code boolean vector : _gray _i : gray bool >a> -1 _cut i0 $ cL a> $ <>i ; | example | 32 _iota { gray i0 $ cL -8 _fill } 'm | adding /\ to C:/4thCoSy/CoSy/math.f | 20220831.1609 | ` C:/4thCoSy/CoSy/math.f F> Eval 16 _iota .. { `( bool gray )` ' Eval 'R } 'm >t0> { i0 $ cL -8 _fill } 'm : _0fill _i : 0fill ( intv n -- intv ) $ i0 $ cL $ fill ; 11 _bool -8 _0fill 8 _iota .. .. { bool -3 _0fill } 'm $ { gray -3 _0fill } 'm ,L cL fmttbl| : tmp 8 _iota 8 _iota .. .. { bool -3 _0fill } 'm $ { gray -3 _0fill } 'm ,L cL fmttbl| lfMV 16 _iota .. ' bool 'm >t0 ' gray 'm >t1 t0 t1 ,L { i0 $ cL -8 _fill } 8 _iota { .. bool $ gray ,L } 'm R0 flip -3 _i ' 0| { i0 $ cL -3 _fill } 'm ` 'm ?? ` bool See 100000000 _bool 7 _bool i0 $ cL -8 _fill 5 binary (.r) decimal _str ` pad Words ' :?? 'm | ======================== | Thu.Sep,20220901 | ======================== | i( 21184 20819 20453 20088 )i ' -i ': |>| -365 -366 -365 : ': ( RA fn -- V ) >r >a> 1 _cut a> -1 _cut r> xeq ; | replaced def of ' ': ( each pair ) in ` CoSy.f | was | K ': . Applies fn between each pair of RA | 20210107 | : ': over refs+> i# 0if z" length 0 " throw then | over i# 1- over fntype VecInit >lpstk| | lpstk@ i# 0 ?do over i 1+ _at 2 pick i _at 2 pick execute lpstk@ i i! loop | drop refs- lpstk> ; | ======================== | Sun.Sep,20220904 | ======================== | Allwords ` sym con ' :?? 'm | replaced ` (wheresym) with ` wheresym_ in CoSy.f | 1201 | | Problem reading archived ` .csy because elimination of ` sym type . s" C:/4thCoSy/CoSy/CoSy - Copy.f" F> >t0> rUpdate t0 nl>lf rUpdate t0 lfVM ` TypeS con | >emptyLn VM ` sym# con | PascalTri ( n-1 -- n row Pascal triangle ) | 20190101 : PascalTri i1 enc >a { a@ a@ -1 _at ' +i ': i1 braket cL /\a } _nxtimes a> ; ` nxtimes ?? 5 PascalTri | ` 33 PascalTri | That's the largest triangle before integer overflow . ` /\a ?? ` braket :?? : sym# ( -- #chars ) bits@ byte / ; 1 16 << 1+ constant TypeS : sym>str ( sym -- ) dup Type@ TypeS = 0drop; drop TypeC over Type! dup sym# over cell+ ! byte swap bits! ; res> >t0> t0 >T0> T0 Eval T0 ` sym>str See ` sym# See : sym>str ( sym -- ) dup Type@ TypeS = 0drop; drop TypeC over Type! dup sym# over cell+ ! byte swap bits! ; TypeC ` def Words emptyLn # ` :?? :?? | ======================== | Tue.Sep,20220906 | ======================== | | ======================== | Thu.Sep,20220908 | ======================== | | ======================== | Fri.Sep,20220909 | ======================== | ` C:/CoSy/BobA/acnts/y2018/PLBvisa.html F> >T0> T0 "lf `__
VM } 'm >t1> t1 { -1 _at } 'm ` Heidi conn >t2> T0 | ======================== | Sat.Sep,20220910 | ======================== | t1 1 _at >t2> t1 2 _at ` Debit conn >t3> t2 t3 at ,/ -1. _f *f enc' t2 t3 at! t2 t2 enc t1 1 _at! t1 fmttbl| rUpdate t1 >T0> t1 0 _at ,/ 20220503 _i t1> fmttbl| rUpdate | trim redundants T0 flip t1 flip cL flip >t0> fmttbl| rUpdate T0 1 _at ,/ +\ enc' enc T0 2 _at! T0 fmttbl| rUpdate ` C:/4thCoSy/CoSy/y2019.txt F> | ======================== | Mon.Sep,20220912 | ======================== | | 1048 | APL | 1100 | APL-BUG Zoom Meeting https://lnkd.in/d4gcjhW9 Meeting ID: 920 8818 7865 Passcode: ×/ i( 2 3 53 1123 )i ' *i ./ |>| 357114 i( 2 3 53 1123 )i ' *i ./ |>| 357114 David Weintraub | infinity == identity element for 0 _iota APl resources https://apl.news/ https://discu.eu/weekly/apl/ https://www.arraycast.com/ | Conor Hoekstra http://sigapl.org/ SimCorp , main Dyalog client | https://finance.yahoo.com/quote/SIM.CO ` _nxtimes :?? ` Wdo Words ` grp Words | ' :?? 'm | ======================== | Tue.Sep,20220913 | ======================== | | discovered bug in ' at! . Was looping on | was | aux@ Type@ 0if L@ i# 0do L@ i i@ aux@ R@ i i@ ix rplc loop 2P auxdrop ;then | now | aux@ Type@ 0if R@ i# 0do L@ i i@ aux@ R@ i i@ ix rplc loop 2P auxdrop ;then | 1611 | | ======================== | Thu.Sep,20220915 | ======================== | `f 1.24 .. lnf 5. _f %f expf `f 5 ^f cL fmtF18 ` fmt Words ` ef ?? ` # ?? >t0> { dsc enc } 'm 12 ` # ?? >t0> t0 _i ` _1- `( Help ?? )` ' Eval 'R ` number Help Allwords ` parse con ' Help 'm ` >single | ?? Ft lfVM ` single con ` #$%&' c>i Ft lfVM `( # % $ )` ' conn 'R Ft lfVM R0 ' at 'R s" | ====" con ` % c>i ` fexp ?? ` f2^ Help | ======================== | Fri.Sep,20220916 | ======================== | ` C:/4thCoSy/CoSy|CoSy0915.f|CoSy.f| fullPaths >t0> t0 2 _take { F> nlVM } 'm >t1> #' t1 lst>stk_ nin ` nin :?? venn >t2 ` venn :?? ` lst>stk_ :?? 1000 _iota i( 1 0 -1 )i +i i>f 15 _take ' *f ./ | ======================== | Sat.Sep,20220917 | ======================== | https://en.wikipedia.org/wiki/FITS JonesForth https://github.com/boxoffoxes https://github.com/boxoffoxes | ======================== | Sun.Sep,20220918 | ======================== | | 0734 | | 0800 | https://ganymed.wodni.at/html5client/join?sessionToken=b7hrwdlepfg9e6gg | 0951 | https://euro.theforth.net/program#euroforth-conference https://www.twitch.tv/4ther CoSy is a VOCABULARY in FORTH FORTH IS THE ONLY LANGUAGE IN WHICH YOU CAN CREATE LANGUAGE ` WORD BY WORD -- unmatched ` flexibility The Code is the Theory eg: Modulo Indexing Incredibly ignorant of anything ` standard CompSci , eg: even C/Linux Sockets https://cosy.com/ http://cosy.com/y18/EuroForhAbort.html https://cosy.com/%CE%B1lphas.html | 3 cell header | text> >t0> `( Type # Ref# )` ' Eval 'R | Generalization of Counted Strings ` i>f :?? 20 _iota i( 4 5 )i take i>f >t1> t1 #' ` ToDo Dv@ ` Above APL practical vocabulary particularly searching slicing dicing text . http://www.cosy.com/DailyBlog.html ` C:/CoSyWeb/y22/Blog.txt F> >T0> T0 lfVM >t0> # | ' # 'm ,/ T0 daylncut >t0> | t0 ` euro con | 1004 | 0 | ======================== | Mon.Sep,20220919 | ======================== | ` caret? `( :?? Help )` ' Eval 'R textwdo @ caret? _str $ drop textwdo @ getcaret ,L | editing F1 Help . ` help -> ` \4thCoSy\CoSy\CoSy.csy F>/\ ` help v@ ` help Dv@ ,L ' lfVM 'm >t0> t0 dsc t0 1th venn ` help Dv@ ` \4thCoSy\CoSy\CoSy.csy >t0> F>/\ >t1> ` help v! t1 t0 \/>F | 1818 | | ======================== | Tue.Sep,20220920 | ======================== | Ft lfVM ` : in { blVM 2 _take blMV "bl cL 12 _fill } 'm 20 _partition ' blMV 'm ` blpad :?? ` Dir :?? CoSyDir ` /b cL Dir fmttbl| ` fmttbl| :?? | ======================== | Thu.Sep,20220922 | ======================== | | 0931 | BAA | Dyalog ` Deserialize notation | Trivial in CoSy . Example : (' i( 1 2 )i i( 3 4 )i (' i( 5 6 )i `( heir their anywheir )` i( 7 8 )i ') ') | ======================== | Fri.Sep,20220923 | ======================== | 1508 | s" Hello World " # | ======================== | Sat.Sep,20220924 | ======================== | Brad Nelson | 1056 | Brad 3D printing . Sam Falvo : idempotent : claim true becomes true . https://www.guru99.com/ ` con Words ' :?? 'm text> "lf VM # state> CoSyCoSy ` sel Words | ======================== | Mon.Sep,20220926 | ======================== | ` DT>lst ?? | ran into uselessness in doing acnts | was : DT>lst 1p> dsc enc R@ 1 _at flip cL 1P> ; ` dsel ?? | ======================== | Mon.Oct,20221003 | ======================== | ` Type `( :?? See )` ' Eval 'R `( # Count )` ' :?? 'm | ======================== | Wed.Oct,20221005 | ======================== | ` csv Words ' :?? 'm ` "msk :?? `( scanI convo )` ' :?? 'm ` venn :?? ` ./ :?? | changing use of ' at\ to ' at because ' venn ./ not working right res> lfVM >t0> `__ : con t0 ` : con # t0 # ` braket ?? | ======================== | Sun.Oct,20221009 | ======================== | f( 1 0 0 0 )f i( 3 3 )i take >t0> ( 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 ) t0 f( 1 2 3 )f >t1> ' *f 'L >t2> ( 1.00 0.00 0.00 0.00 2.00 0.00 0.00 0.00 3.00 ) t2 ' +f ./ 1.00 2.00 3.00 ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . ` dot See 0063AC44 E8 B7 4D FF FF call *f 0063AC49 E9 46 68 FF FF jmp +/ t0 t1 ' dot 'L ( 1.00 2.00 3.00 ) t2 t2 { ' dot 'L } 'R ' +/ ./ | ======================== | Tue.Oct,20221011 | ======================== | | 20221022.0841 | |TIME STAMP ACCOUNTING | ` ! Words Allwords ` D in sortstr ` Dv! :?? ` Dsel :?? ` in :?? ` v! :?? ` str>f ?? ` blank ?? | --------- | \/ | Extracted from a s" waste of time " Job | \/ | | 0141 | | Thu.Oct,20221013 | | | 2007 | | 1306 |* *| 1308 | | 1333 |* em> HAL | 20221013.1336 | *| 1402 | | 1451 |* *| 1452 | | 1453 |* *| 1459 | | 1523 |* *| 1539 | | /\ | Extracted from a s" waste of time " Job | /\ | res> >T0> T0 : TS* >a> ` |* ss 4 _iota 5 _i -i ' +i 'L a> $ ' at 'R ' str>i 'm ; : *TS >a> ` *| ss 4 _iota 3 _i +i ' +i 'L a> $ ' at 'R ' str>i 'm ; | /\ | | 20221021.1313 | | /\ | Added to .\CoSy\AcntFns.f ` .\CoSy\AcntFns.f F> Eval T0 *TS T0 `( *TS TS* )` ' Eval 'R >t0> | fmttbl| : /modi { 2p L@ >_ R@ >_ /mod 2_i cL 2P> } aaply ; | added to C:/4thCoSy/CoSy/math.f | /\ | Unique in returning pairs for each result | /\ | t0 `i 100 /modi { ' reverse 'm } 'm >t1> fmttbl| | essentially represent in base 100 | ` C:/4thCoSy/CoSy/math.f F> nlVM ` doti con ,/ Eval ` doti See t0 100 _i /modi >t1> fmttbl| t1 { 60 1 2_i cL ' doti 'L } 'm | reassemble in base 60 | R0 ' -i ./ >t2> | t1 t2 enc cL fmttbl| t2 ,/ +/ |>| 54 | total ` on clock time | | ======================== | Fri.Oct,20221014 | ======================== | | 0804 | Broke CoSy.f | >i 0>i i 0<>i =i ` C:/4thCoSy/CoSy/CoSynew.f F> ec Words `( >_ +i )` ' conn 'R | aborted loading CoSy.f bcuz ` >_ not defed til generic ` i@ | | even later ` cL : /modi { 2p L@ 0 ii@ R@ 0 ii@ /mod 2_i cL 2P> } aaply ; | added to C:/4thCoSy/CoSy/math.f | : aba ( a b -- a b a ) | ref inced ` over | unused . ?able notion deleted from CoSy.f | over dup+ ; | ======================== | Sat.Oct,20221015 | ======================== | | 20221016 | | HTML cleaning | ` C:/CoSyWeb/alphas.html Fbackup ` C:\CoSyWeb\alphas.html.bk F> # ` C:/CoSyWeb/alphas.html F> lfVM dae >T0> rUpdate T0 lfMV ` C:/CoSyWeb/alphas.html >F T0 # T0 lfMV `( < t0> #' T0 lfMV ` t0> # t0 rUpdate t0 ` > ' prt<=f 'L nub 1 _cut sortstr blMV `(
)` >t1> t1 # |>| 22 T0 #' `i 2 =i ,/ 0=i & T0 $ at >T0> T0 lfMV ` < tokcut >t0> # T0 # T0 "bl ' =c 'L ' +/ 'm ,/ nub sorti T0 ' drb 'm rUpdate ` C:/CoSyWeb/alphas.html F> lfVM >T0> rUpdate T0 7 _at | { "bl =c } 'm >t0> t0 7 _at | ' 0=i f?m ` f? ?? ` 1 Words ` where ?? ` ?str_ ?? ` f? ?? ` 0= Words ` prt Words ` v! :?? ` dtb :?? ` parse/ Help ` bl Words ` dsel :?? | ======================== | Wed.Oct,20221019 | ======================== | ` Working on ` acnts | : lst>DT >a> dsc a@ 1 _cut flip ,L a- ; | added to ./CoSy/Furniture.f Allwords # ` join Words ` match_ :?? ` fmttbl| ?? ` sort Words | ======================== | Thu.Oct,20221020 | ======================== | | 0920 | 1000 _iota +/ | ======================== | Fri.Oct,20221021 | ======================== | T0 #' ` C:\CoSyBob\acnts\y22\Acnts.csy F>/\ >t0> t0 #' t0 > T0 #' t0 dsc T0 dsc == T0 1th #' T0 lst>str # ` str>lst :?? T0 # ` save :?? ` TS* ?? ec >T0 ` savetext :?? ` `text ?? ` C:/4thCoSy/CoSy/MinJob.csy startJob ` C:/4thCoSy/CoSy/MinJob.csy F> ` C:\CoSyBob\acnts\y22\Acnts.csy >F | ======================== | Sat.Oct,20221022 | ======================== | | 0834 | Tool Of Thought | Each word has significant meaning | BAA YOU CAN BUILD A SYSTEM , A LANGUAGE , EITHER ON C ( Java ) OR ON FORTH CoSy IS UNIQUE IN BEING AN APL BUILT ON FORTH UNIQUELY NATURAL & PRODUCTIVE NOTE KEEPING INTERFACE WHERE THE DIFFERENCE BETWEEN WRITING AND EXECUTING IS JUST TAPPING ` ENTER OR ` F6 | 1045 | Bill Ragsdale's challenge | contrast ` scalar w ` list | 1116 | Brad Xtensa LX6 & 7 | 1206 | (' ` ./CoSy/CoSy.f ` C:/4thCoSy/CoSy/CoSyBk.f ') ' F> 'm >t0> #' t0 ' nlVM 'm >t1> #' t1 dsc t1 1th venn >t2 t2 i( 0 2 )i at ` C:/4thCoSy/CoSy/CoSyBk.f nlVM ` /modi ?? rGet lf>nl ` ./CoSy/CoSy.f >F ` /modi ?? ` ./CoSy/CoSy.f F> nlVM ` noun con ` C:/4thCoSy/CoSy/CoSyBk.f F> nlVM ` noun con ` C:/4thCoSy/CoSy/CoSyBk.f | F> nlVM ` noun con | ======================== | Wed.Oct,20221026 | ======================== | ` sys Dv@ ` Tui v@ `( exampleScripts LanguageLinks SkriptThots )` { .. Dv@ ,L } 'm | ======================== | Sun.Oct,20221030 | ======================== | | The caret position of the ` state window has been recently added . | My ` Legal accounting Job would not load because it was missing . | here's the sequence I used to copy the value from the current Job . ` C:\CoSyBob\Legal.csy F>/\ >t0> t0 ` sys v@ ` Tui v@ `( sys Tui State )` Dv@ t0 `( sys Tui State )` v! t0 ` C:\CoSyBob\Legal.csy \/>F t0 | ======================== | Tue.Nov,20221101 | ======================== | s" swap over " ?? ` lst :?? ` stype :?? ` dsc :?? 32 _iota i>f `f 16 %f ilst 4 _partition { flip fmttbl| } 'm fmttblh | ======================== | Wed.Nov,20221102 | ======================== | ` I } eachDfir ; : I } eachDfir ; : I } eachDfir ; : blVM -2 _i cut ; | | see s" help words" forth> | use "bl arg all words | renamed 20190529 : Words s" words " forth> blVM -4 _cut $ con ; ` words Words ` aggr :?? ` lst :?? ` fmttbl| :?? ` fmt :?? | Removed from CoSy.f | 0 [IF] | : fmt ( v -- str ) | format numbers . returns list of each number | | converted to a string . | dup @ dup TypeC and if drop ;then | if already char , return . | dup TypeI and if drop fmtI ;then | dup TypeFl and if drop fmtF ;then | ref0del drop z" nonce" throw ; | [THEN] | See ' lst for simpler ' fmt | | ======================== | Sat.Nov,20221112 | ======================== | | 0747 | Updated to Win 11 22H2 | Big changes in DOS process window ` start :?? ` shell ?? s" start C:\\Windows\\System32\\cmd.exe /k " ` C:/4thCoSy/lib/os/shell ` shell Help | From working formatting accounts where the output of ` fmttbl| formats like : 20211201.19 | .... | ( cash check ) | 1000.00 1000.00 | .... | An example of " irritation driven development " | ` ss :?? ` brak Words ' :?? 'm T0 s" ( " "lf cL ss T0 "lf s" ) " cL sse cL T0 $ 0cut >t0> # : sse 2p> ss R@ # +i 2P> ; | returns address of end of found strings | added to ` CoSy.f : brakCut ( str -- dlms ) 2p> dsc ss L@ R@ 1th sse cL L@ $ 0cut 2P> ; s" ( " "lf cL "lf s" ) " cL ,L >t0> T0 t0 brakCut >t1> t1 1th "lf ssd enc t1 1 _at! t1 ,/ This is a situation which would probably be better handled with regular expressions if I grokked them . | ======================== | Sun.Nov,20221113 | ======================== | ` C:\CoSyBob\acnts\y22\Acnts.csy F>/\ ` T0 v@ >T0> res> >T0> ` brak ?? | Generalized to multiple occurances of braketed strings . Note `( ,/ ,/ )` to undo nesting by ` flip : brakCut ( str -- dlms ) 2p> dsc ss L@ R@ 1th sse ,L dup i# 0if refs- L@ ;then flip ,/ ,/ L@ $ 0cut 2P> ; | ======================== | Mon.Nov,20221114 | ======================== | T0 s" ( " "lf cL "lf s" ) " cL ,L >t0> | strings out multiple line ledger entries , ie: `( cash check )` . added to .\CoSy\AcntFns.f : acntItemfmt s" ( " "lf cL "lf s" ) " cL ,L brakCut >a> 1th "lf ssd enc a@ 1 _at! a> ,/ ; | work towards extending to multiple occurances : acntItemfmt s" ( " "lf cL "lf s" ) " cL ,L brakCut >a> i# 2/ _iota 2 _i *i 1+i .. a@ $ { "lf ssd enc a@ _at! a> ,/ ; T0 acntItemfmt T0 t0 dsc ss T1 t0 1th sse ,L flip ,/ ,/ T0 t0 brakCut T0 s" ( " "lf cL "lf s" ) " cL ,L BrakCut : brakCut ( str -- dlms ) 2p> dsc ss L@ R@ 1th sse ,L o dup i# 0if refs- L@ ;then flip ,/ ,/ L@ $ 0cut 2P> ; s" 20200809.15 | johnDryden | cash | 200.00 | JacksRoom , rent " brakCut | ======================== | Tue.Nov,20221115 | ======================== | ` C:/4thCoSy/CoSy@.bat F> | added | title %COSYSTARTFILE% | to start bat res> ` C:/4thCoSy/CoSy@.bat >F | added to ` AcntFns.f : balcalc ' +/ 'm ,/ +\ enc' ; | Sums each item of ledger amounts then does scan 1 _i | ======================== | Wed.Nov,20221116 | ======================== | | tried putting ` reset at start of ` f6 . Froze ` str Words R dsc ` memb Words ' :?? 'm s" undef" ?? | ======================== | Thu.Nov,20221117 | ======================== | 24 _iota i( 2 3 4 )i take `f 2000. 6 _iota i>f f( 350 500 )f ' *f 'R -f |( overwrote ` Tui.f with ec . Broke for the night . )| | ======================== | Fri.Nov,20221118 | ======================== | | 1829 | | retrieving def of unfinished ' center ` C:/tst/CoSy/WorkLog.csy F>/\ ` text v@ | Centers sting in line of specified width . Does not deal w tabs , "ht well : center ( str width ) 2p L@ dlb dtb >a> # R@ $ -i 2 _i /i "bl $ take a> cL 2P> ; res> >t0> t0 "ht "bl 4 _take ,L ssr lfVM `i 76 ' center 'L lfMV | easier to deal w by hand . | added to ./CoSy/Furniture.f | ======================== | Mon.Nov,20221121 | ======================== | | 1355 |* *| 1355 | | ======================== | Mon.Nov,20221128 | ======================== | ` ->res See ` `( :?? { ` asdf } tst tst xeq ` value :?? | Help Fn Ft `( >value Value )` ssr rUpdate ev ` -> ?? ` ./CoSy/Tui.f F> nlVM s" C:/4thCoSy/CoSy/Tui - Copy (4).f" F> lfVM venn i( 0 2 )i at Fn Ft `( -> --> )` ssr Fn >F rGet lfVM ` >- con ` {{ :?? ` forth :?? ` L@ :?? ` SF@ :?? ec Help ` ; :?? ` forth :?? res> >T0> T0 blVM dae 12 _at ( HSeeAlso ) Help Help ` See Words ` ./src/reva.f F> nlVM ` then,> con libraries "lf "bl ,L ssr drb | ======================== | Wed.Nov,20221130 | ======================== | resvar ` help Dv@ `( ./src/reva.f ./src/revacore.asm )` ` digit> { $ F> nlVM $ con } 'L ` fromdigit ?? ` 0123456789ABCDEF ?? ->res res> >t0> ` help Dv@ ` C:/4thCoSy/CoSy/CoSy.csy F>/\ >t0> ` help v! t0 ` C:/4thCoSy/CoSy/CoSy.csy \/>F | 2215 | rGet >T0> ` dlb ?? `( .r Tui SIZE )` Dv@ ` maxf ?? ` f Words ` f0. ?? ` fmax ?? ` rand ?? f( -1 0 1 )f f0. maxf : tmaxf ( lst thresh ) 2p> >f i>f L@ *f 2P> ; 10 _iota i>f `f 5 tmaxf1 ` >f ?? 10 _iota i>f >t0> `f 5 >f >t1> t0 f0. ,L | t1 at t1 : tmaxf ( lst thresh ) 2p> >f L@ f0. ,L $ ' at 'd 2P> ; : tmaxf1 ( lst thresh ) 2p> ; | ======================== | Tue.Dec,20221206 | ======================== | (' Allwords ec Words ') ' # 'm ,/ |>| 2376 972 ` f> ?? ` & :?? rGet lfVM `_ | $ ' cL 'R ' cold here $ 2_i -i |>| 2325664 ' cold 2325664 + _i fmtI$ ` fmt Words ' cold 2320000 + 100000 dump ' cold here over - dump res> >t0> rUpdate rGet >t0> # t0 lfVM # t0 lfVM ` 012345 conn >t1> t1 dsc Allwords ` > in ` heapgone Help ` dump :?? ` include ?? ` > Words res> >t0> lfVM ' Help 'm | ======================== | Thu.Dec,20221208 | ======================== | ec Words ` T ccon | ======================== | Fri.Dec,20221209 | ======================== | : faux- drop (.) _str s" -" $ cL ; 1 2 faux- 2 4 faux- | 8 POINT * STAR | 20221209.1628 https://www.facebook.com/groups/minimalistcomputing/posts/812464773176986/ ` * 5 _iota 1+i { take "bl cL 5 _fill } 'R >t0> t0 #' t0 "bl ' cL 'L t0 ' reverse 'm ' cL 'd >t1> t1 flip ' ,/ 'm >t2> t2 ` * t2 # 2 _take take ' cL 'd t2 ' reverse 'm ' cL 'd >t3> t1 "bl 5 _take enc ' braket 'L >t1> t1 t3 cL t1 reverse cL >t4> t4 enc 6 _take ' cL ./ flip ' ,/ 'm enc 4 _take ' cL ./ rUpdate https://www.facebook.com/groups/minimalistcomputing/posts/813258746430922/?comment_id=813368406419956 ` * 4 _iota i( 1 2 3 )i ' *i 'R { ' take 'R } 'R ,/ >t0> t0 #' ' maxi ./ |>| 9 t0 { "bl cL 10 _fill } 'm >t1> t1 ' reverse 'm ` * ' cL 'L t1 ' cL 'd ` * i( 1 3 5 7 3 7 11 15 5 11 17 23 3 3 )i ' take 'R `i 70 ' center 'L R0 "bl ' cL 'L { 10 _fill } 'm .. ' reverse 'm $ ' cL 'd | ======================== | Sun.Dec,20221211 | ======================== | ` * 5 _i >t0> iota 1+i { take "bl cL t0 fill } 'R R0 .. "bl ' cL 'L $ ' reverse 'm ' cL 'd >a> flip ' ,/ 'm >t2> t2 ` * t2 # 2 _take take ' cL 'd t2 ' reverse 'm ' cL 'd >t3> t1 "bl 4 _take enc ' braket 'L >t1> t1 t3 cL t1 reverse cL >t4> : 8star 2p> oo iota 1+i R@ lst { take "bl cL R@ lst 5 _i fill } 'R 2P> ; : 8star 2p> iota 1+i ' take 'R "bl ' cL 'L R@ ' fill 'L 2P> ; res> >T0> # T0 "bl =c +/ T0 10 _iota fmt "bl ssd 80 _take It took me a LOT more time than it should have to convert sequence of interactively executed lines at https://www.facebook.com/.../posts/812464773176986/... into a parameterized verb in CoSy , But here it is : : 8star ( chr size -- star ) 2p> iota 1+i ' take 'R "bl ' cL 'L R@ ' fill 'L .. "bl ' cL 'L $ ' reverse 'm ' cL 'd >a> flip ' ,/ 'm o .. .. L@ $ # 2 _take take ' cL 'd $ ' reverse 'm ' cL 'd a> "bl R@ take enc ' braket 'L >a> $ cL a> reverse cL 2P> ; If you count it in terms of words as thoughts , it's 60 something . Below is the result of ` *!@#$ 5 _iota 1+i ' 8star 'd rUpdate ` *!@#$ 6 _iota 1+i { 8star enc } 'd >t0> #' ` 8star See ` *!@#$ 6 _iota 1+i { 8star } 'd >t0> t0 4 _take ,/ bl?pad pad #' t0 bl?pad pad flip ' ,/ 'm rUpdate ` fmttbl :?? ` *!@#$ 5 _i 8star ` () 5 _i 8star ` ./CoSy/ParameterPushing.f F> | ======================== | Mon.Dec,20221212 | ======================== | CoSyDir Dir ` .f con rGet >T0> CoSyDir ` Playground.f cL >F CoSyDir ` Playground.f cL F> Eval ` .\CoSy\Playground.f F> Eval res> ` .\CoSy\Playground.f >F | ======================== | Tue.Dec,20221213 | ======================== | Ken Boak Admin Over on the Retrocomputing forum - a Vintage Computing programming challenge to create a Christmas star using the asterix character. Too tempting . Had to do it . Here's the CoSy code . | 8 POINT * STAR | 20221209.1628 https://www.facebook.com/groups/minimalistcomputing/posts/812464773176986/ ` * 4 _iota 1+i { take "bl cL 4 _fill } 'R >t0> t0 "bl ' cL 'L t0 ' reverse 'm ' cL 'd >t1> t1 flip ' ,/ 'm >t2> t2 ` * t2 # 2 _take take ' cL 'd t2 ' reverse 'm ' cL 'd >t3> t1 "bl 4 _take enc ' braket 'L >t1> t1 t3 cL t1 reverse cL >t4> t4 enc 8 _take ' cL ./ flip ' ,/ 'm enc 4 _take ' cL ./ and result of final line : I also made a 1 min vid executing each line : https://www.cosy.com/CoSy/y22/8_point_starFB_Min_Comp.mp4 Here's the result of ` *!@#$ 5 _i 8star | ======================== | Wed.Dec,20221214 | ======================== | | ======================== | Sat.Dec,20221217 | ======================== | ` thru :?? 10 14 2_i thru .. *i +/ 365 2 2_i *i cL i( 3 4 5 )i .. .. *i *i +/ 10 _iota .. .. .. *i *i ,L flip i( 3 4 5 6 )i .. .. .. *i *i *i +/ 7 _i .. .. .. *i *i *i ,L | ======================== | Sun.Dec,20221218 | ======================== | | 1414 | Rory Kemp's APL star https://www.facebook.com/groups/minimalistcomputing/posts/820431319046998/ i( 1 1 0 )i 25 _i fill 13 _iota `i -2 *i ' rotate 'R i0 25 _take cL 25 _fill .. reverse ori .. ' reverse 'm ori .. flip ' ,/ 'm ori s" #" $ ' at 'R | 2045 | | ======================== | Mon.Dec,20221219 | ======================== | | 1303 | | 1341 | | 1457 | | Dissection of | https://www.facebook.com/groups/minimalistcomputing/posts/820431319046998/ | example i( 1 1 0 )i 25 _i fill 13 _iota `i -2 *i ' rotate 'R i0 25 _take cL 25 _fill .. reverse ori .. ' reverse 'm ori .. flip ' ,/ 'm ori s" #" $ ' at 'R | Saving stack results as temps along the way i( 1 1 0 )i >t0> 25 _i >t1> t0 t1 fill >t0> 13 _iota >t1> `i -2 >t2> t1 t2 *i >t1> t0 t1 ' rotate 'R >t0> | rotate t0 by each item of Right arg t1 i0 25 _take >t1> t0 t1 cL >t0> | add 0 line because ` fill replicates last item t0 25 _fill R0 .. reverse ori | R0 is always the result of executing the last line R0 .. ' reverse 'm ori >t0> | ` .. is ` dup w reference counting R0 flip | ` flip aka ` transpose currently always returns enclosed results R0 ' ,/ 'm | ` ravel each t0 R0 ori | Now have a list of 25 lists of 0 origin indices R0 s" #" $ ' at 'R | Index the 2 item string by each of the rows of indices | 1458 | (' s" Number " s" has a big " ') { ` 1234567 ' cL 'R } 'm { ' cL 'd } ./ s" on it " ' cL 'L s" Number # has a big # on it " ` # ` 1234567 ' ,L 'R ' ssr 'R `f -19 f>c | ======================== | Tue.Dec,20221220 | ======================== | | 1235 | Dimitri's challenge . https://www.metalevel.at/public/lucky_tickets.pl 2 6 2_i take ' *i ./ : ^i take ' *i ./ ; 2 6 2_i ^i |>| 64 ` 0 64 _iota ' fmtI% 'm ,/ ' cL 'd { -6 _fill ` 1 =c } 'm >t0> | Kludge to convert to boolean . Really needs to be done decently by someone better at the Forth level t0 4 _partition fmttblb ` 707409 t0 { & at } 'R >t1> | all the subsets of the number . t1 4 _partition fmttblb ` 707409 t0 { & 0cut blMV } 'R 4 _partition fmttbl| ` 707409 t0 { & at } 'R nub # | 1938 | blog>HTML ` SF! See : tst 1p R@ o ` Yea cL RA rplc ` Hey R@ cL 1P> ; ` You tst ` R! :?? ` aux- ?? ` rplc ?? ` >t0 :?? ` => See ` try => t0 t0 ` addr ?? | 20221221.1259 | ` C:/4thCoSy/CoSy/math.f F> | Eval ` factor Words ` !*! See : PascalTri i1 enc >a { a@ a@ -1 _at ['] + ': i1 braket cL /\a } _nxtimes a> ; ` nxtimes ?? `i 2023 >a> factors .. a> $ %i cL |>| 1 7 17 2023 289 119 1 7 17 2023 289 119 | renamed ` /i to %i | `i 24 iota >t0> `i -7 +i >t1> t1 t0 `i 14 +i `i 24 modi `i 100 *i `i 48 +i ,L `i 5 { fmtnI ,/ } 'L >t1> `i 100 *i `i 700 -i `i 1548 +i a> `i 8 +i `i 24 modi $ ,L >t0> t0 `i 5 ' fmtnI 'L ' ,/ 'm >t0> 24 _iota >a> `i 7 -i `i 14 +i `i 24 modi `i 100 *i `i 48 +i a> $ ,L t0 `i 5 ' fmtnI 'L ' ,/ 'm | ======================== | Thu.Dec,20221222 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/823131188777011 : flip,/ flip ' ,/ 'm ; | ravels transposed ` rows | adding to CoSy.f 17 _iota .. { ' cL 'R } 'L ,/ flip,/ >t0> | #' t0 `i 8 -i absi >t1> `i 4 >t4> t1 t4 >i ' andi ./ __ t1 ' -i ./ t4 >i ori __ t1 reverse ' -i ./ t4 >i __ ori >t2> t0 t2 & ' at 'L flip,/ >T0> i0 i( 17 17 )i take >t3> T0 { >a i1 t3 a@ dsc at a> 1th at! nil } 'm | first hack at insertion t3 s" *" t3 ' at 'R t1 ' -i ./ t4 >i ori t1 reverse ' -i ./ t4 >i ori >t2> `( ii! ix )` ' :?? 'm __ ` istore ?? cL `( vx_ v@ v! Y./ ./ )` ' :?? 'm t2 +/ `i 289 $ -i t0 t2 & ' at 'L flip,/ >T0> # | 6 _partition fmttbl| T0 i0 i( 17 17 )i take >T1> T1 T0 T0 { >a i1 t3 a@ dsc at a> 1th at! nil } 'm | | >>>> : aat! ( v a i -- ) { >a 2p> a@ at a> 1th at! nil } 'm T0 dsc i1 T1 T0 dsc >a 2p 10 _iota .. 10 _i *i $ ' +i 'L >T1> T0 0 _at >t0> R ` ` Y./ :?? T1 T1 2 _at 5 _at (' T1 `i 2 `i 5 ') ' at ./ | 20221226.0028 10 _iota ' +i ./ T1 enc enc i( 3 7 )i enc' cL ' ,/ 'm | ' at ./ : l,lst $ enc enc $ enc' cL ' ,/ 'm ; | makes | LA i( 0 1 2 )i l,lst __ (' LA `i 0 `i 1 `i 2 ') . used in ` Y./ | 20221226 T1 i( 4 6 )i l,lst ' at ./ ec Words `( cL ./ )` ' where 'R : l,lst $ enc enc $ enc' cL ' ,/ 'm ; | makes | LA i( 0 1 2 )i l,lst __ (' LA `i 0 `i 1 `i 2 ') . used in ` Y./ | 20221226 : Y./ ( LA RA fn -- r ) >r l,lst r> ./ ; (' s" C:/4thCoSy/CoSy/CoSy - Copy (5).f" ` C:/4thCoSy/CoSy/CoSy.f ') { F> lfVM } 'm >t0> #' t0 dsc t0 1th $ ~memb & t0 1th R0 at : ./ : Across ( RA fn -- r ) | result returning "/" on CoSy obs ( : ./ : across^ ( RA fn -- r ) | result returning "/" on CoSy obs | Kludge fix of bug in Reva ' search on some strings ) ` script0 ->res T1 enc ` enc :?? | 20221226.1603 | T1 (' `i 2 `i 5 ') cL | ,/ ' at ./ : Y./ ( LA RA fn -- r ) --cab T1 i( 2 )i ' at Y./ T1 i( 2 5 )i >a> at i-1 a> at ` Y./ ?? a> i-1 at at! T1 T1 t0 at ` at Words t3 0=i `( _at! v! )` ' :?? 'm ` duplst :?? 10 _iota >t0> i-1 t0 i( 1 -1 )i at! t0 | >>>> | 20221223.2048 | | 20221224.0959 | | 20221226.1048 | ` .\CoSy\Playground.f F> Eval | to chk right # of stars ` 1 4 _i 8star ' ,/ 'm ,/ ` 1 =c +/ |>| 161 | `i 289 R0 -i |>| 128 t0 R0 ' at 'L flip # i0 i( 17 17 )i take >t0> ` and Words | ======================== | Sat.Dec,20221224 | ======================== | | 1014 | | Deleting \/ from CoSy.f | : sx_ ( dic sym -- adr of symbol | _n ) | --aab wheresym_ dup _n =if nip ;then swap 0 i@ swap ix ; | fetch symbol associated with symbol in dictionary | : s@ ( dic sym -- sym ) sx_ undefthrow @ ; | /\ | | in ./CoSy/util.f | : __ : :; ; | Do nothing . NOOP . | 20221224 added ` __ alias for clarifying long lines | ======================== | Sun.Dec,20221225 | ======================== | ended last night breaking ` ./CoSy/ParameterPushing.f | 1540 | ` fullPaths :?? s" C:/4thCoSy/CoSy|ParameterPushing - Copy (2).f|ParameterPushing.f|ParameterPushing.f.bk|" fullPaths 3 _take >t0> t0 { F> lfVM } 'm >t1> #' t1 1 _at t1 2 _at venn rShow t1 2 _at rUpdate | 1946 | Added auto restore of .r & text to ` script0 ` >Ft ?? : rUpdate lfMV >a> ` .r ` text ,L Dv! a> s" .r" Dv@ JobHndlt_ settxt ; ( textListOrStr -- ) text> rUpdate `( .r text )` Dv@ | ======================== | Mon.Dec,20221226 | ======================== | | replacing name across scripts . `( across^ Across )` >t0> dsc ?? ' dsc 'm >t1> t1 { Fbackup nil } 'm t1 { 1p> F> t0 ssr R@ >F 1P nil } 'm >t2> t2 { lfVM t0 1th ccon } 'm ` script0 ->res DMP ` rShow :?? | BROKE EVERYTHING BADLY | | ======================== | Tue.Jan,20230103 | ======================== | | 1722 | Finally UP in Workspace notes ! | 2029 | rGet >T0> s" C:\4thCoSyKark\4thCoSy221227\CoSy-Copy" >t0> ` /b cL Dir nlVM dae t0 ` \ cL $ ' cL 'R >t1> t1 ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\CoSy.f F> nlVM dae >t2> # CoSyDir ` CoSy.f cL F> nlVM dae >t3> #' t2 14 _take nubb t3 10 _take nub ` nub :?? 50 _take ' 10 t3 50 _take venn ` venn :?? | ======================== | Thu.Jan,20230105 | ======================== | | ======================== | Fri.Jan,20230106 | ======================== | ` thru :?? R ` ASCIIbrowser v@ lfVM { drb blVM } 'm >t0> t0 ` az c>i ' thru ./ at { 2 _i at } 'm >t1> |>| abcdefghijklmnopqrstuvwxyz t1 ` aeiou enc' $ ' inb 'R ` inb :?? | ======================== | Sat.Jan,20230107 | ======================== | | 1336 | ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\CoSy.f F> nlVM dae >t0> # ` ./CoSy/CoSy.f F> nlVM dae >t1> # t0 { "bl cL 30 _fill } 'm >t0 t1 { "bl cL 30 _fill } 'm >t1 t0 t1 400 _take { ' strmatch 'L ,/ +/ } 'R ,/ >t2> # t0 t1 400 _take { ' strmatch 'L ,/ +/ } 'R ,/ >t2> # ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\Tui.f F> >t0> nlVM dae >t0> # ` ./CoSy/Tui.f F> >t1> nlVM dae >t1> # t0 t1 { ' strmatch 'L ,/ +/ } 'R ,/ >t2> 0=i & >t2 t1 t2 at t0 t1 $ { ' strmatch 'L ,/ +/ } 'R ,/ >t2> 0=i & >t2 t0 t2 at t0 t1 inb t0 t1 venn ` where :?? | ======================== | Tue.Jan,20230110 | ======================== | ` C:/4thCoSy/CoSy/math.f ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\math.f ,L ' F> 'm >t0> #' t0 { nlVM dae } 'm fmttbl| rUpdate s" C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\" >t4> ` .\CoSy\ ` Derived.f >a> cL t4 a> cL ,L ' F> 'm >t0> #' t4 cL F> | ======================== | Wed.Jan,20230111 | ======================== | | ======================== | Thu.Jan,20230112 | ======================== | ` C:/4thCoSy/CoSy/help.txt F> rUpdate https://mlochbaum.github.io/BQN/index.html | BQN: finally, an APL for your flying saucer rGet ` C:/4thCoSy/CoSy/help.txt >F R ` help v@ | ` C:/4thCoSy/CoSy/help.txt >F ,L >t0> #' t0 $ enc cL >t0> #' t0 ' lfVM 'm >T0> T0 { #' ,/ } 'm T0 dsc | lfMV "ht ss lfMV "ht memb ' dtb ' fmttbl| rUpdate t0 dsc t0 1th ` C:/4thCoSy/CoSy/help.txt />\ F> >t0> rUpdate CoSyDir ` venn ?? ` { ` help >resvar> R swap v@ >res } key-F1-cb T0 { ' dtb 'm } 'm >t1> ' #' 'm t1 fmttbl| rUpdate t0 ' #' 'm t1 1th | t1 dsc { ' membv 'L } 'R s" C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\" >t4> Dir R ` help v@ CoSyDir ` tmp.txt cL >F CoSyDir ` tmp.txt cL >t0> F> ` C:/4thCoSy/CoSy/CoSy.csy F>/\ ` help v@ s" C:\4thCoSy\CoSy\tmp.txt C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\help.txt" blVM >t0> ' F> 'm >t1> t1 { lfVM ' dtb 'm lfMV } 'm t0 { >F nil } 'd t0 s" help fc " Shell> s" FC C:\4thCoSy\CoSy\tmp.txt C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\help.txt " Shell> rUpdate s" FC C:\4thCoSy\CoSy\Derived.f C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\Derived.f" Shell> rUpdate rGet ` C:\4thCoSy\CoSy\Derived.f >Fn> F> >Ft> rUpdate ` C:\4THCOSYKARK\4THCOSY221227\COSY-COPY\DERIVED.F >Fn> F> >Ft> rUpdate Comparing files C:\4THCOSY\COSY\Derived.f and C:\4THCOSYKARK\4THCOSY221227\COSY-COPY\DERIVED.F ***** C:\4THCOSY\COSY\Derived.f | and source between preceding and succeeding blank lines containing str . [ R ` sys v@ ` CoSySource v@ ] literal { >r> (CShelp) r> swap cL } eachright ; ***** C:\4THCOSYKARK\4THCOSY221227\COSY-COPY\DERIVED.F | and source between preceding and succeeding blank lines containing str . R ` sys v@ ` CoSySource v@ | Eliminated ` compile-time fixing of ` loaded list | 20220530 { >r> (CShelp) r> swap cL } eachright ; ***** | ======================== | Fri.Jan,20230113 | ======================== | | for Lynnane | ` C:/4thCoSy/Physics/general.f F> Eval 325 _i 375 _i thru i>f >t0> t0 t0 P>Tsb ,L fmttblb 4 _partition fmttbl| | 1203 | | 1853 | s" C:\4thCoSy\CoSy\Derived.f C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\Derived.f" blVM >t0> t0 { F> nlVM } 'm fmttbl| rUpdate | Derived.f updated ( reverted ) s" C:\4thCoSy\CoSy\ C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\" blVM >t0> t0 ` AcntFns.f ' cL 'L { F> nlVM } 'm fmttbl| rUpdate ` C:\4thCoSy\CoSy\AcntFns.f F> rUpdate rGet lf>nl ` C:\4thCoSy\CoSy\AcntFns.f >F | done 20230113.1926 | ======================== | Sat.Jan,20230114 | ======================== | | 1334 | s" C:\4thCoSy\CoSy\ C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\" blVM >t0> >T0> t0 ` MinJob.csy ' cL 'L >t1> blMV s" FC " R0 cL Shell> t1 ' F>/\ 'm >t2> ' dsc 'm >t3> fmttbl| t3 dsc t3 1th == ` == :?? t2 dsc dsc t2 1th == t2 ' dsc 'm | ' == ./ t2 dsc dsc >t3> t2 dsc t3 { t2 { t3 ' v@ 'L #' } 'm | | 1937 | t0 ` Tui.f ' cL 'L >t1> blMV s" FC " R0 cL Shell> Comparing files C:\4THCOSY\COSY\Tui.f and C:\4THCOSYKARK\4THCOSY221227\COSY-COPY\TUI.F FC: no differences encountered t0 ` Presentations.csy ' cL 'L >t1> 1th startJob | OK | 2023 | t0 ` Furniture.f ' cL 'L >t1> blMV s" FC " R0 cL Shell> rUpdate t1 { F> nlVM ` : in } 'm ` in :?? | ======================== | Sun.Jan,20230115 | ======================== | t0 ` Util.f ' cL 'L >t1> blMV s" FC " R0 cL Shell> | updated t0 ` ParameterPushing.f ' cL 'L >t1> blMV | updated restored s" FC " R0 cL Shell> T0 ` Job.f ' cL 'L >t1> blMV | updated restored s" FC " R0 cL Shell> T0 ` sort.f ' cL 'L >t1> blMV | updated restored s" FC " R0 cL Shell> T0 ` CoSy.f ' cL 'L >t1> blMV | s" FC " R0 cL Shell> res> rUpdate rGet >T1> ` ./CoSy/CoSy.f F> rUpdate ` IupShowXY ?? ` Count :?? ` see :?? ` ?? :?? ` See :?? 6422599 DMP | ======================== | Mon.Jan,20230116 | ======================== | ` see See ` See :?? rShow ` help ->res ` see See | ======================== | Thu.Jan,20230119 | ======================== | | 2103 | | ======================== | Fri.Jan,20230120 | ======================== | | ======================== | Sat.Jan,20230121 | ======================== | | ======================== | Sun.Jan,20230122 | ======================== | cd |>| C:\tst ` iterate `( Help :?? )` ' Eval 'R ` uses-list ?? .contexts ` .needs Help .classes t0 ec Words >t0> # ` c:\4thCoSy\CoSy\tmp.txt F> lfVM dae >t1> # t0 t1 ,L ' reverse 'm fmttbl| rUpdate t0 t1 { 10 _take } on2> memb t0 t1 { ' strmatch 'L ,/ } 'R >t2> # t0 t1 10 _take { ' strmatch 'L ,/ } 'R >t2> t0 t1 1 _at ' strmatch f? | } 'R >t2> ` f? ?? | ======================== | Mon.Jan,20230123 | ======================== | | ======================== | Tue.Jan,20230124 | ======================== | cd ` \CoSyBob\MailLists.csy F>/\ ` ML v@ >t0> # t0 lfMV ` lfMV See | | cd | C:\Tst221227 | fresh download ` see See ` \CoSyBob\MailLists.csy F>/\ ` T0 v@ >t0> # ` \CoSyBob\MailLists.csy startJob | fixed | 1956 | ` .\CoSy\tmp.txt F> ` ./CoSy/Furniture.f ` C:/4thCoSy/CoSy/util.f F> nlVM >t0> # CoSyDir ` util.f cL F> nlVM >t1> # t0 t1 ,L #' s" C:\4thCoSy\CoSy\ C:\tst\CoSy\" blVM >t0> >T0> t0 ` Util.f ' cL 'L >t1> blMV t1 ' F> 'm #' s" FC " t2 cL Shell> T0 ` Furniture.f ' cL 'L >t1> blMV >t2> CoSyDir ` Furniture.f cL F> nlVM Ft lfVM nnub | ======================== | Wed.Jan,20230125 | ======================== | | 1946 | ` Words :?? see blTbl Ft lfVM ` sse con ec Words Ft ` include^ ` Include ,L ssr rUpdate Ft ` Count :?? R dsc blMV Ft lfVM ` needs con >t3> .needs> res> lfVM Ft lf>nl CoSyDir ` tmp.f cL >F s" C:\4thCoSy\CoSy\tmp.f C:\tst\CoSy\Furniture.f" blVM s" FC C:\tst\CoSy\tmp.f C:\tst\CoSy\Furniture.f" Shell> | ======================== | Thu.Jan,20230126 | ======================== | ` C:\tst\CoSy\CoSy.f Fn help ` aba ?? | ' aba removed 20221014 | ======================== | Fri.Jan,20230127 | ======================== | | 1537 | | 1905 | ` thru :?? R ` ASCIIbrowser v@ lfVM { drb blVM } 'm >t0> t0 ` az c>i ' thru ./ at { 2 _i at } 'm >t1> |>| abcdefghijklmnopqrstuvwxyz t1 ,/ ` aeiou enc' >t2> { =c } 'R { ' ori aaply } ./ dsc >t3> t1 t3 0=i & t1 $ at >t1> rGet lfVM >T0> T0 { ` " ssd "bl ssd ` = VM } 'm flip >T1> fmttbl| t1 ` pig >t0> ` aeiou ' =c 'R { ' ori aaply } ./ dsc & 1 _take >t1> t0 t1 0cut reverse ,/ ` ay cL : pigl >a> ` aeiou ' =c 'R { ' ori aaply } ./ dsc & 1 _take a> $ 0cut reverse ,/ ` ay cL ; ` pig pigl : 1stvowel ` aeiou ' =c 'R { ' ori aaply } ./ dsc & i0 cL 1 _take ; : pigl >a> 1stvowel a> $ 0cut reverse ,/ ` ay cL ; ` omelet pigl .. 1stvowel 0cut reverse ,/ ei i0 cL T1 dsc ' 1stvowel 'm | ' pigl 'm T1 dsc ' dsc 'm ,/ 1stvowel T1 dsc 24 _take ' pigl 'm T1 dsc ' pigl 'm | ======================== | Sat.Jan,20230128 | ======================== | | 0727 | ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/Presentations.csy startJob cd ` pigl See ` I .. >a> 1stvowel a> $ 0cut reverse ,/ ` ay cL : pigl >a> 1stvowel a> $ 0cut reverse ,/ ` ay cL ; ec Words ` take :?? ` drb :?? ` pigl See ` ori ?? ` strmatch :?? ` ` sort Words res> lfVM >T0> T0 dae >T0> T0 { 10 _take } 'm nub ` if! ?? f( 1 2 3 )f Fn t1 Fnames t0 fileDialog | ======================== | Tue.Jan,20230131 | ======================== | `( C:/4thCoSy/CoSy/ C:/tst/CoSy/ )` { />\ Dir lfVM } 'm >t0> fmttbl| rUpdate t0 dsc t0 t0 lst>stk ` .r 1223 _i factors : factors ( n _i -- factors ) .. i>f sqrtf f>i iota i1 +i .. --bac modi 0=i & at ; ` `f See `( C:/4thCoSy/CoSy/CoSy.csy C:/tst/CoSy/CoSy.csy )` { />\ Dir } 'm s" help robocopy " Shell> ` factors See ec Words | ======================== | Wed.Feb,20230201 | ======================== | | 2053 | moved this version to ` c:\4thCoSy | ======================== | Thu.Feb,20230202 | ======================== | ` getpos ?? d1 @ _getPos | `( sys Tui posXY )` Dv! \ `( sys Tui posXY )` Dv@ ` `f See | ======================== | Fri.Feb,20230203 | ======================== | ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/WorkLog.csy F>/\ # | ` text v@ ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/ />\ ` /b cL Dir lfVM ` .f con ` copy ncon res> lfVM ` bk ncon >T0> T0 1 _cut -1 _cut >T0> ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/ />\ T0 ' cL 'R >T0> T0 ' dab 'm >T0> s" asdf " | dlws : dab "bl ssd ; | trivial , but I keep expecting it to exist | 20230203 > ./CoSy/Furniture.f ` % See | ======================== | Mon.Feb,20230206 | ======================== | ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/CoSy.f F> rUpdate | Updating integers | removing | : m@^ m@ _i ; | meta . don't know if I'll ever use . | ======================== | Fri.Feb,20230210 | ======================== | | 1931 | ` .\CoSy\CoSy.f >Fn> F> >Ft> rUpdate res> >T0> | Removed to reduce ` noise : T0 ` C:/4thCoSyKark/DepricatedSymbols20230210.f >F | restoring ` atomic 10 _iota enc i>f ` i>f :?? 3.14 _f Ft lfVM 10 _iota `i 3 ` `f ?? ` >>fl ?? ` >single Help | ======================== | Sun.Feb,20230212 | ======================== | 3.4 _f ` aaplym See ` >>fl See rGet | ======================== | Wed.Feb,20230215 | ======================== | ` C:/4thCoSy/CoSy/math.f F> Eval | for various rand & math fns . : Fact >_ : _Fact _iota i1 +i ['] *i ./ ; | Factorial | 20191211 : !*! iota 1+i ' *i ./ ; | 20211210 | ` perms See `i 3 ` `f See : perms 2p> --aab -i ' !*! on2 %i 2P> ; `i 10 >t0> `i 2 >t1> cL t0 t1 perms : combs 2p> --abab -i ' !*! on2 *i $ !*! $ %i 2P> ; t0 t1 combs 7 4 2_i perms : coms 2p> --bab perms $ !*! %i 2P> ; 2p> --abab -i ' !*! on2 *i $ ! $ %i 2P> t1 t0 t1 -i ' !*! on2 t0 ` il Words ec Words ilst flip fmttbl| | .. ` _iota conn ` iota Words `i 10 `i 2 perms 10 2 2_i combs i( 10 2 )i `( perms combs coms )` { ' Eval ./ } 'R i( 10 2 )i ' coms ./ i( 10 2 )i s" combs ./ " Eval ` combs See 4 1 2_i perms 3 1 2_i Fact ` %i See 10 _iota | Caught: can't ix empty | ======================== | Fri.Feb,20230217 | ======================== | ` L@ :?? ` SF! :?? ` dup+ :?? ` __ See | \/ which texts have lf not nl \/ `( sys CoSySource )` Dv@ { dup+ F> nlVM # cL } 'm flip >t0> dup+ dsc $ 1th ,/ i1 =i & at `( sys CoSySource )` Dv@ { dup+ F> lfVM # cL } 'm flip >t0> fmttbl| | dup+ dsc $ 1th ,/ i1 =i & at AF1 ` ./CoSy/Job.f dup+ F> lf>nl $ >F AF0 AF> ` ./lib/date/calendar ) | ======================== | Sat.Feb,20230218 | ======================== | | ======================== | Sun.Feb,20230219 | ======================== | ` ./CoSy/CoSy.f F> nlVM ` needs con ` ./CoSy/Derived.f F> rUpdate : F.edt >Fn> F> >Ft> rUpdate ; : rGetcaret ` .r Dv@ JobHndlt_ getcaret ; ` ./CoSy/CoSy.f F.edt ` lf>nl See ` dsc :?? ` words Words Allwords ` context con ' Help 'm ` ]a ?? ` context Help ` .+ See | ======================== | Wed.Mar,20230301 | ======================== | ` C:/CoSyWeb/4thCoSy/Code/CoSy/CoSy.csy F>/\ ` text v@ res> ` C:\CoSyWeb\4thCoSy\OpeningText.txt >F | ======================== | Thu.Mar,20230302 | ======================== | ` dup+ :?? `__ aba ?? ` .+ ?? ` .+ See ` factors See 60 _i factors .+ 60 _i $ %i ,L fmttbl| |>| 1 2 3 4 5 6 60 _i .+ factors .+ --bac %i ,L fmttbl| |>| 1 2 3 4 5 6 | ======================== | Thu.Mar,20230309 | ======================== | ` C:/CoSyWeb/4thCoSy/Code/CoSy/CoSy.f F> nlVM dae >t0> # ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\CoSy.f F> nlVM dae >t0> # t0 ` I>M con t0 ` D@ con ` ` :?? ` `D@ See ` _getSize ?? : `D@ ( -- val ) p: ` Dv@ ; | Useful ? 20190326 20220613 | ======================== | Fri.Mar,20230310 | ======================== | ` nubb :?? ` match :?? T0 ` c ' strmatch 'L ,/ ` asdf ` asdf match `i 5 10 _take | nub ` ./lib/date/calendar .+ F> lf>nl $ >F `( .r Tui posXY )` Dv@ | ======================== | Sun.Mar,20230312 | ======================== | ` ' :?? ` `f :?? ` `i :?? ` `D@ See ec Words ` JobHndld_ :?? | ======================== | Mon.Mar,20230313 | ======================== | | ======================== | Tue.Mar,20230314 | ======================== | https://cosy.com/4thCoSy/Code/CoSy/math.f | ` tau ` ,sv>lst `( :?? See )` ' Eval 'R : ,sv>lst { >a> dup ,svMsk & 0cut ' dl, 'm a- } 'm ; ` ,svMsk See ` "msk ?? res> >T0> | ======================== | Wed.Mar,20230315 | ======================== | ` pi :?? ` fpi ?? ` Tau See fpi _f ` bye ?? ` (bye) Help ` bye Help ` reset ?? | ======================== | Sun.Mar,20230319 | ======================== | `( nubb where )` ' :?? 'm ` ?? ?? ` ,svMsk :?? : qmsk I>M ['] <> scanI 0a> 1 1 2 s>iv { *i ['] maxi ./ >_ } convo a> dsc swap cL ; ` qmsk :?? ` I>M :?? : I>M { ['] I->M eachMir } aaplym ; | Iverson to Moore logic 1 > -1 on list | 20200202 ` aaplym :?? : ,svMsk >a> "msk 0=i a> ` , =c mini ; | mask of commas not in quotes | 20200421 | : ,sv>lst { >a> dup ,svMsk & 0cut ' dl, 'm a- } 'm ; : "msk ` " =c qmsk ; | ======================== | Sat.Mar,20230325 | ======================== | ` (f.) Help ` fmtf ?? ` (f.) :?? ` ./lib/math/floats F> rUpdate ` fmtF :?? ` LOL_ 260 _take1030 | SV-FIG | 1030 | pimoronni pico | Waveshare CLAMS | Arduino Shield https://spectrum.ieee.org/chip-hall-of-fame-computer-cowboys-shboom-processor You to Everyone 10:44 All the float fns in CoSy , including I/o are in https://cosy.com/4thCoSy/Code/lib/math/floats .Alignment etc in CoSy is essentially trivial for any strings .What it really needs is exponential output , which I offer as a challenge . Dave Jaffe to Everyone 11:05 For folks in the SF Bay Area - the Electronics Flea Market returns starting on Sun, April 16th and the 2nd Sundays subsequently at West Valley College Parking Lot 3 - see https://www.electronicsfleamarket.com/ Kevin Appert to Everyone 11:24 Don, you're up in a few minutes... ready? Don Golding to Everyone 11:25 yes Kevin Appert to Everyone 11:28 ?? You to Everyone 11:45 An interesting related paper from the APL side recently learned of : Tensors Come of Age , Why the AI revolution will help HPC https://arxiv.org/ftp/arxiv/papers/1709/1709.09108.pdf You to Everyone 12:05 The point of CoSy APL level notation in open Forth is to be able to write A B f and have f applied to all corresponding nodes of trees , lists of lists , the notion of " atomic apply " from APL .Open Forth for the flexibility to map to , eg: CORE1 FPGA . M Edward Borasky (@znmeb) to Everyone 12:15 This FPGA stuff looks so cool but I promised myself I'd finish the two audio projects I have now. :-) There are commercial synthesizers with FPGAs inside though. Don Golding 44th employee @ Redwire Latice | 1300 | | ======================== | Mon.Mar,20230327 | ======================== | | ======================== | Tue.Mar,20230328 | ======================== | | ======================== | Wed.Mar,20230329 | ======================== | ` DT>lst :?? `( ev ec ei ef )` ' ?? 'm `( sys CoSySource )` Dv@ { F> nlVM s" ei " con ` constant con } 'm ` ei See ` ?? ?? ` CShelpFul ?? ` read Help ec ec cL # ev ev cL s" C:\Users\bob\Downloads\Qbit.sv" F> | rUpdate | ======================== | Thu.Mar,20230330 | ======================== | https://www.facebook.com/groups/memesforyouu/posts/881798979775499/ i( 1 4 2 5 3 6 5 8 )i ' + _.\ i( 1 4 2 5 3 6 5 8 )i 4 _partition | 2232 | | ======================== | Mon.Apr,20230403 | ======================== | | Restored from 20221115 ` C:/4thCoSy/CoSy@.bat F> | added | title %COSYSTARTFILE% | to start bat res> ` C:/4thCoSy/CoSy@.bat >F | 1819 | res> >T1> | ======================== | Fri.Apr,20230407 | ======================== | ` reverse ?? `i 4 3 _take ' *i ./ |>| 64 16. .5 2_f ^f 3. _f ^f |>| 64.00 R0 Phi %f |>| 39.55 `( Fact Fact )` Dv@ lfVM ` 27 con ` C:/4thCoSy/CoSy/math.f F> | Eval | for various rand & math fns . : Phi ( the golden ratio ) .5 5. f^ 1. f+ 2. f/ _f ; | at the x87 level then _f Phi fmtF18 ,/ |>| 1.618033988749894847 ei ' *i .\ i( 1 4 2 5 3 6 5 8 )i i>f ' f+ .\ | ======================== | Sun.Apr,20230409 | ======================== | | Tue.Apr,20230411 | | Wed.Apr,20230412 | | Thu.Apr,20230413 | | 20230414.1234 | : _.\ : scan ( RA fn -- r ) | result returning "\" over i# 0=I z" nonce : empty , needs prototype " * throw over Type@ TypeFl =if scanf ;then | Must be raw float fn . eg: ' f+ over refs+> i# over fntype VecInit >lpstk over 0 i@ lpstk@ 0 i! over i# 1 ?do lpstk@ i 1- i@ 2 pick i i@ 2 pick execute lpstk@ i i! loop drop refs- lpstk> ; rShow ` C:/4thCoSyKark/4thCoSy221227/CoSy/CoSy/Furniture.f F> rUpdate | restored case insensitive ` Words | : .\ ( RA fn -- r ) cr .s >aux 1p> dup i# $ VecInit >lpstk> >T0> R@ cr .s ." here " cr lpstk@ 0 _at! i# 1 do lpstk@ i 1- _at lpstk@ i _at .s aux@ execute lpstk@ i _at! loop auxdrop lpstk> 1P> ; | `( end start )` ` here | 6531120 6422599 - _i |>| 108521 | added to ./CoSy/ParameterPushing.f | ref counted loop stack verbs | 20230413 : >Lpstk> dup : >Lpstk refs+> >lpstk ; : Lpstk> lpstk> refs-ok> ; i( 1 4 2 )i >t0> ' +i .\ t0 ,L | fixing in ` CoSy.f | : .\ ( RA fn -- r ) >aux 1p> rep >Lpstk | lpstk@ i# 1 do lpstk@ i 1- _at lpstk@ i _at aux@ execute | lpstk@ i _at! loop auxdrop Lpstk> 1P> ; | ======================== | Sat.Apr,20230415 | ======================== | ` ./CoSy/CoSy.f F> nlVM >T0> # s" C:/4thCoSy/CoSy/CoSy - Copy (2).f" >t0> F> rUpdate rGet lf>nl t0 >F t0 ` ./CoSy/CoSy.f F> ` ./CoSy/CoSy.f.bk F> strmatch `_ rep ?? | ======================== | Sun.Apr,20230416 | ======================== | | 1336 | ` rep not defined until ` ./CoSy/SaveRestore.f | going to redefine ` .\ to eliminate need . | Think I'v got it straight away ! 20230417.1302 NOPE . Had | lpstk@ i# 1 do R@ i 1- _at R@ i _at aux@ execute i( 1 4 2 5 3 6 5 8 )i ' +i .\ |>| 1 5 7 12 15 21 26 34 i( 1 4 2 5 3 6 5 8 )i ' *i .\ |>| 1 4 8 40 120 720 3600 28800 ` .\ :?? | ======================== | Mon.Apr,20230417 | ======================== | ` ,\ Wrong & I promulgated it | 1233 | 20230417.1258| corrected line | lpstk@ i# 1 do lpstk@ i 1- _at R@ i _at aux@ execute was | lpstk@ i# 1 do R@ i 1- _at R@ i _at aux@ execute ` ./CoSy/math.f F> Eval ` ./lib/random/gm F> ` rand See `i 2 100 _take { 100 _i rand >t0> +/ } ' ,/ 'm >t0> t0 nub ` nub ?? t0 +/ ` rand See bye nlVM >T1> # T1 Allwords # |>| ` rep :?? ` .\ ?? ev >T0> >T1> | ======================== | Tue.Apr,20230418 | ======================== | https://www.facebook.com/Bob.Armstrong.CoSy/posts/pfbid08CkvwUbCUWPLayPxkJWpN5ZfhBfVv7CuEP4CyTM438yCZqhpKT9LgFRQRDCGmAiul?comment_id=2187372231469171&reply_comment_id=735739051629408 i( 1 4 2 5 3 6 5 8 )i i( 4 2 )i take flip ' ,/ 'm >t0> t0 dsc t0 1th *i t0 dsc +i |>| 5 12 21 45 | also works | a b * b + | ======================== | Wed.Apr,20230419 | ======================== | | 1435 | | 1903 | 10 _iota nub ` C:\4thCoSyKark\4thCoSy221227\CoSy-Copy\CoSy.f F> nlVM dae >t0> # t0 ` match con ` match_ See ` asdf ` asdf strmatch ` match ` match_ ` C:/4thCoSyKark/4thCoSy19/CoSy/CoSy.f (CShelp) ` CShelpFul :?? ` (CShelp) :?? ` catch ?? ` venn ?? res> >T0> | ======================== | Fri.Apr,20230421 | ======================== | text> drb >t0> res> >T1> T1 Eval : .\ ( RA fn -- r ) >aux 1p> dup i# $ Type@ VecInit >Lpstk R@ dsc lpstk@ 0 _at! lpstk@ i# 1 do lpstk@ i 1- _at R@ i _at aux@ execute lpstk@ i _at! loop auxdrop Lpstk> 1P> ; res> >t0> # t0 drb blVM # 10 _iota ' +i .\ 9 _iota i>f `f 8. %f Tau *f sinf .+ { 8. _f %f +f } .\ ,L ` sin ?? ` Tau See | ======================== | Sat.Apr,20230422 | ======================== | | 20230423.0911 | was | Match 2 objects . Returns 1 iff LA identical to RA . : match_ ( la ra -- bool ) 2refs+> ( ." match_ " $.s cr 2dup ,L lst ) 2dup =if 2refs- 1 ( ." same addr " cr ) ;then | refer to same object Type@@ <>if 2refs- 0 ( ." ~= types " cr ) ;then | Types don't match ['] i# on2> <>if 2refs- 0 ( ." ~= rho " cr ) ;then | lengths don't match dup Type@ if | simple dup Type@ dup TypeC = if 2dup strmatch_ --cab 2refs- ;then ( $.s ) ( la ra ) dup Type@ TypeI =if 2dup =i ['] and acrossI >_ --cab 2refs- ;then dup Type@ TypeFl =if 2dup =f ['] and acrossI >_ --cab 2refs- ;then then ( ." nested , same count " cr $.s cr ) dup i# 0do over i i@ over i i@ $.s 2dup ,L lst cr match_ 0if 0 leave then loop dup if 1 then --cab 2refs- ; ` match_ :?? | tests ` asdf ` asdf strmatch i1 i1 match_ _i i1 "bl match_ _i ` asdf ` asdfg match_ _i ` asdf ` asdf match_ _i i1 i1 i0 +i == 5 _iota i( 0 1 1 3 4 )i == cL `f 1 `f 1 == 5 _iota i>f f( 0 1 1 3 4 )f == cL i1 enc i1 enc == ` text> enc .. enc == cL ev .. == ev ec == cL | empties of same type match | seem to have finally fixed ( using ` tstscript for editing | 1042 | updated in CoSy.f | 1643 | i( 1 1 1 1 0 1 1 0 0 1 )i ' andi .\ | example in APLwiki.com | 2139 | ` match :?? Pi `f 5 ^2f *f |>| 78.54 | ======================== | Wed.Apr,20230426 | ======================== | https://www.researchgate.net/post/From_the_series_1_q_q2_q3_q4_q19_q20_I_want_to_collect_the_sum_1_q5_q10_q15_which_programming_language_will_helpful_to_me `i 21 iotaf : psum ^f +/ ; `f .999 `i 21 iotaf psum `f .999 f( 0 5 10 15 )f psum ` {{ Help | ======================== | Wed.Apr,20230426 | ======================== | `( csv "msk )` ' ?? 'm ` I>M ?? : I>M { ['] I->M eachMir } aaplym ; ` C:/CoSyBob/acnts/y22/BobA/ExportY22.csv F> nlVM dae >t0> t0 ` " =c >t1> t0 ,sv>lst t1 I>M 24 _i iotaf i( 2 3 4 )i take | ` aaplym not defined as deferred correctly f( 1 3 )f sinf Removed : | 0 [IF] | \/ | commented out | Fri.Feb,20200221 | Never returned to implement | | | Fns have no names just symbols associated thru dictionary . | | : v" p: " str TypeV over ! ; | : v. 'v strout ; | | : a" p: " str TypeA over ! ; | : a. 'a strout ; | | : f" p: " str TypeFv over ! ; | ForthVerb | : fv. 'f strout ; | must be "fv" because "f." is floats . | [THEN] | /\ | | added : _iotaf _iota i>f ; ` csv>DT ?? | ======================== | Thu.Apr,20230427 | ======================== | | ======================== | Sun.Apr,20230430 | ======================== | | 0204 | 101 _iotaf `f 100 %f Tau *f sinf ` _iotaf :?? | APL's ` iota on a CoSy integer singleton . And version returning float . : iota >_ _iota ; : _iotaf _iota i>f ; : iotaf iota i>f ; ` _iota :?? | APL's iota on naked n . Returns 1st n integers . 0 is the 1st integer . : _iota ( n -- adr ) dup intVecInit dup vbody rot | adr bodyadr n 0 ?do i over i c+ ! loop drop ; ` Tau :?? : Tau Pi 2. _f *f ; `( *f sinf )` ' :?? 'm : *f { ' f* eachDfr } aaply ; | * 2 float vecs : sinf { ' fsin eachMfr } aaplym ; `( f* fsin )` ' :?? 'm : f* ( f:a f:b -- f:a*b ) inline{ de c9 } ;inline : fsin ( f:a -- f:sin[a]) inline{ d9 fe } ;inline hex 272A decimal _i ` eachDfr :?? ` aaply ?? res> lfVM # | 0417 | ` .needs :?? ` uses-list ?? uses-list DMP ` ~priv Help ` context ?? ` context: Help .needs |>| ef Job.f ui/gui ui/iup Derived.f sort.f `( sys CoSySource )` Dv@ >t0> | 0405 | changed CShelpFul | [ R ` sys v@ ` CoSySource v@ ] literal in ` ./CoSy/Derived.f ` ./CoSy/math.f .+ F> Eval s" sys CoSySource" blVM >a> Dv@ $ cL nub a> Dv! t0 -1 _cut `( sys CoSySource )` Dv! t0 { F> nlVM # } 'm ` Tau ?? | ======================== | Mon.May,20230501 | ======================== | ` ./CoSy/math.f .+ F> Eval s" sys CoSySource" blVM >a> Dv@ $ cL nub a> Dv! | ========= | https://www.facebook.com/groups/493978669151676?multi_permalinks=703837331499141 i( 1 4 2 5 3 6 8 11 )i >t0> +\ i( 4 2 )i take | |>| ( 1 5 7 12 15 21 29 40 ) t0 i( 4 2 )i take flip ' ,/ 'm >t1> ( 1 2 3 8 4 5 6 11 ) t1 ' *i ./ t1 dsc +i ( 5 12 21 96 ) | ========= | ` Dv@ :?? ` ./CoSy/math.f ( scriptFileName -- ) : Needs 1p> s" sys CoSySource" >a> Dv@ >a> $ enc memb >_ 0if R@ F> Eval a> $ cL a> Dv! then 1P ; s" sys CoSySource" dup Type@ TypeC = _i $ refs- ` Type@ See _i blVM Dv@ Words ` toksplt :?? ` 2P> :?? | ( str tok -- list ) Convert string vector to list split on phrase ` tok . If not char simply returns . : VM $ dup Type@ TypeC =if $ toksplt ;then $ ref0del ; | was bad idea deleted 20201223.0025 | 20200826 | added ' dae because bunch of words don't like empties . | moved from \Furniture.f 20230512 to be defined earlier , before , eg: ' v@ s" sys CoSySource" "bl VM "bl VM "bl DMP ` ref Words ` refs-1 ?? ` VM :?? ` .\CoSy\AcntFns.f .+ s" sys CoSySource" >a> Dv@ $ enc memb >_ 0if ` toksplt :?? ` type Words | ' :?? 'm ` type Help ` 0if Help ` see Words ec Words res> blVM ' Help 'm ` Eval ?? Allwords `( blVM Dv@ )` ' :?? 'm >a> Dv@ $ cL nub a> Dv! ` >_ ?? a# ` a> :?? ` memb ?? ` .needs> :?? .needs blVM F> Eval t0 nnub s" sys CoSySource" `i 19441108 `i 20230501 Daysdif |>| | ======================== | Tue.May,20230502 | ======================== | C:\CoSyWeb\CoSy\y23\BitoCoSyCode0418.html f( 18 28 )f f( 9 12.5 )f %f | ======================== | Thu.May,20230504 | ======================== | | ======================== | Fri.May,20230505 | ======================== | ` Dayln ?? `i 20230101 `i 365 Daylns lfVM { blVM 4 _at } 'm ` Sat con >t0> { ` , prtt1> t0 .+ t1 { conn 3 _at } 'R ,/ at t0 t1 grpcx ` nubgrp ?? t1 toDayln _str 3 _i 10 _take 2 _i 2 _take cL 3 3 3 3 3 3 3 3 3 3 2 2 i( 3 2 )i i( 10 2 )i ' take 'd ,/ 6533952 6422599 - _i |>| 111353 6532184 6422599 - _i |>| | ======================== | Fri.May,20230512 | ======================== | s" sys CoSySource" Dv@ Allwords `( v@ blVM )` ' conn 'R Allwords `i 700 20 _iota +i at Allwords ` toksplt conn ` .\CoSy\Furniture.f F> res> >T0> | moved ` VM words to right after ' toksplt & replaced ` encatom in ' v@ & ' v! w ' blVM | 20230512.0430 s" sys CoSySource" Dv@ | ======================== | Sat.May,20230513 | ======================== | https://r20.rs6.net/tn.jsp?f=001_xvYlttgSSW8JRbdGDzKMesaeyTOM7a2AXiz01il9SmffE9XkBzOp7huVJ-ppjhq8C5UKheK4Gx2O62wwem7DmbefPd3d6xdfDR1xuHcQKtR0SIB76rCp72SkRSGV3I7izso-y4bsBlYc4ReU538iT5YUPf2JaTd&c=FFXXZGG5pQPwye3o5hZCjjGWijK7Z9O5RH19M1OMtv1r00t4AuIyAQ==&ch=errOCWuzM_1nL02iU7ZozJNG7zGoeJ7n2XBJzdbaVnHzvKP2gIYVVA== res> >T0> | Culver Reunion attendees T0 lfVM >T0> T0 # |>| 527 T0 { "ht =c +/ } 'm ,/ nub |>| 2 T0 ' htVM 'm flip >t0> t0 -1 _at nub |>| Registered t0 2 _take >t0> t0 ` C:\CoSyBob\y23\CulverReunion.ctb \/>F ` C:\CoSyBob\y23\CulverReunion.ctb F>/\ >t0> t0 1th grpcx >t1> t0 dsc t1 ' at 'R 3 _at >t2> # t2 "bl enc cL 4 _partition fmttbl| ` _partition ?? https://arduino-forth.com/ | ======================== | Wed.May,20230524 | ======================== | | Gary Popkins BD 7 days ago `( fint )` ' Help 'm 2023 1939 - _i i>f `f 365.25 *f >t0> ` f>s :?? | modified to use newly added ` fround | in ./lib/math/floats Pi f( 1 -1 )f *f f>i ` gettxt :?? ` ./CoSy/Job.f F> nlVM ' dsc 'm https://www.facebook.com/permalink.php?story_fbid=1712619512524547&id=100013295443408 | 2128 | ` rGet :?? : rGet ` .r Dv@ JobHndlt_ gettxt >a> ` .r ` text ,L Dv! a> ; | retrieve changed text from window T0 ` .r ` text ,L Dv! : rGet ` .r Dv@ JobHndlt_ gettxt >T0> T0 lf>nl Fn >F >a> ` .r ` text ,L Dv! a> ; | retrieve changed text from window ` v! :?? ` VM :?? ` take :?? ` type Words ` TypeC ?? | ======================== | Thu.May,20230525 | ======================== | 6534088 6422599 - _i ` > Words `( >text >state >res )` ' :?? 'm ` ec >res | ======================== | Sat.May,20230527 | ======================== | ` fuz Words | 1053 | SV-FIG | BR : longest increasing seq 10000 30 take 10000 2 rand ` rand Words ` ./CoSy/math.f F> Eval 30 10000 2_i rand >t0> # | 1112 | BN : context passing . inheritance OBJECT | `( dictionary ` Head Words | ======================== | Mon.May,20230529 | ======================== | | 1356 | ` v! :?? R ` sys v@ ` Tui v@ R dsc ` v@ :?? `( sys Tui )` Dv@ >t0 t0 dsc s" sys Tui" Dv@ | ---- BradN : videos for the May 2023 SVFIG meeting: CoSy with Jupyter Notebook -- Joseph O'Connor | https://www.youtube.com/watch?v=eXpyUeYqT5I An AI Challenge -- Bill Ragsdale | https://www.youtube.com/watch?v=uvjA56Mts_E Dependency Injection in Forth -- Brad Nelson | https://www.youtube.com/watch?v=sdDNrOCUtsM CORE 1 Future Goals -- Don Golding | https://www.youtube.com/watch?v=wVRH25-lrrs | -- | ` BR AI challenge ` rand Words ` ./CoSy/math.f F> Eval 32 10000 2_i rand >t0> # t0 ` ': :?? t0 ' t1> # t1 t1 500 _take ,/ >t2> # | ravel overflows . t0 -1 _cut t0 1 _cut t1> # t1 t1 t1 0=i & cut >t2> # t2 #' nub R0 ,/ Ft nlVM ` VM conn ` .r Help ` toksplt :?? ` Eval s" asdf qwer uopp" blVM "bl toksplt "bl Type@ TypeC = _i ` toksplt See | ======================== | Thu.Jun,20230601 | ======================== | | 20230602.2135 | | 20230603.1932 | | 20230604.1509 | Still on ' v" & ' VM ` `f Words | Removed from ` script0 \/ since implemented in ` CoSy.f | needs to be made to work in compile | : `f parsews >>fl drop _f ; | ` prefix version of ' _f . added to ` script0 | | 20190403.1308 | : tVM --aba Type@ TypeC =if toksplt ;then cr .s ref0del .s cr ; | modified to simply return anything but strings 20230603.2358 ` tVM See ` ref Words 0del :?? s" `( asdf qpiw )` " "bl tVM `( asdf qpiw )` "bl tVM dup >t0 t0 (' T0 T1 Ft ') ' lfVM 'm #' T1 lfVM Ft nlVM $ ~membv t0 ( --aba Type@ TypeC =if refs- ;then 2p LR@ swap cL >aux+> dup R@ ssc cut\ | appends tok at front then cuts : VM toksplt ; | was bad idea deleted 20201223.0025 | 20200826 | added ' dae because bunch of words don't like empties . ) ( 2p LR@ swap cL >aux+> dup R@ ssc cut\ | appends tok at front then cuts : VM toksplt ; | was bad idea deleted 20201223.0025 | 20200826 | added ' dae because bunch of words don't like empties . ) | ======================== | Tue.Jun,20230606 | ======================== | | 1900 | ` ,sv>lst :?? ` lst>DT :?? | ======================== | Wed.Jun,20230607 | ======================== | | ======================== | Thu.Jun,20230608 | ======================== | | 1147 | | ======================== | Fri.Jun,20230609 | ======================== | | 1602 | ` bal ?? 1 2 2 s>iv Ft lfVM >t0> #' ,/ >t1> nub sorti t1 0=i +/ | ======================== | Thu.Jun,20230615 | ======================== | ` ./CoSy/math.f F> Eval | Define random number vocab 32 10000 2_i rand >t0 | Generate 10000 random numbers in 0 -- 31 t0 -1 _cut t0 1 _cut t1 | drop last , drop first , apply < between t1 t1 0=i & cut >t2 | find breaks , convert to indices & cut on them t2 #' nub | get the length of each sequence , extract uniques | ======================== | Sat.Jun,20230617 | ======================== | | ======================== | Tue.Jun,20230620 | ======================== | | ======================== | Thu.Jun,20230615 | ======================== | ` ./CoSy/math.f F> Eval | Define random number vocab 32 10000 2_i rand >t0 | Generate 10000 random numbers in 0 -- 31 t0 -1 _cut t0 1 _cut t1 | drop last , drop first , apply < between t1 t1 0=i & cut >t2 | find breaks , convert to indices & cut on them t2 #' nub | get the length of each sequence , extract uniques | \/ Result \/ | ( 2 1 4 3 5 6 7 ) t2 >T0> t2 #' nubgrpix >t1 t1 dsc t1 1th #' ,L fmttbl| | don't work \/ s" C:\Users\bob\AppData\Roaming\Microsoft\Windows\Network Shortcuts\ftp.KKrish.cosy.com" Dir ` ftp://KKrish@ftp.KKrish.cosy.com/KKrish.txt F> | ======================== | Wed.Jun,20230621 | ======================== | ` fround ?? i( 1 2 3 4 )i i( 1 -1 )i +i 50 10 0 * + 7 + 2 + _i 50 10 0 * 7 2 + + + _i ` grp Words `( _cut & #' nub )` ' :?? 'm ev >T0> | ======================== | Sat.Jun,20230624 | ======================== | `( .r Tui )` Dv@ fmttbl| i( 2235 3 )i `( .r Tui posXY )` Dv! `D@ .r JobHndld_ _getSize | `( .r Tui SIZE )` Dv! ` 1272x1275 `( .r Tui posXY )` Dv! s" LUCIDA CONSOLE::32" `( .r Tui FONT )` Dv! rShow ` get Words rUpdate ` rShow See ` setWdo See ` newwdo See ` .r Dv@ ` C:/4thCoSy/CoSy/Presentations.csy F>/\ ` .r v@ ` .r Dv! ` .r Dv@ >T0> ec rUpdate ` rCloseWdo See ` closeWdo :?? `D@ .r JobHndld_ _getPos | 1034 | SV-fig BR Win32Forth vocabs Xwords | flip >t0> #' t0 +. 1th ' blVM 'm #' ,L fmttbl| #' ,/ ` Allwords :?? Allwords # ec Words ec Help ` contexts Help .contexts | 1122 | DG | Bard : gives starting point to System Verilog sigmoid : ai_mult .+ 0>i *i ; 10 _iota `i 5 -i -5 -4 -3 -2 -1 0 1 2 3 4 R0 ai_mult 0 0 0 0 0 0 1 2 3 4 ` relU | 20230625.1701 | https://www.facebook.com/groups/184268787821437/posts/217470487834600/?comment_id=250736807841301&__cft__[0]=AZVbbhmuH7eDc0wzbAav3f5T6vrZ3rsA84Ten9SnwPbqSFFw6HcXZLqvjIDWrPkK4joUjVXg4MnI8s5ZUiw-QqECKW_0pb8G1RgZCfw1nX42uW2SV-Ikjk5X05nSOVgB569K2C-qeK2Fc_vzAymxoqmD&__tn__=R]-R 3 2 6 + 3 * - _i |>| -21 3 3 6 2 + * - _i |>| -21 3 3 6 * 2 + - _i |>| -17 3 3 6 * - 2 + _i |>| -13 3 3 - 6 * 2 + _i |>| 2 | -- ` CoSy `( revenue capital )` ` >< >< >t0> t0 ` CoSy v@ t0 # https://www.facebook.com/CoherentSystems/posts/pfbid0nKeNiyjcGfH7hjWFCuev7oVCCnZHMzcrhdtoBsFV73QDCMRNS92wdYEMoqf3Am2Bl ` ./CoSy/math.f F> Eval | Define ` rand verbs 20 20 2_i rand >t0> 0 14 19 1 9 9 18 12 3 14 18 3 14 13 16 18 11 16 4 12 t0 i( -1 1 )i ' cut 'R ( 0 14 19 1 9 9 18 12 3 14 18 3 14 13 16 18 11 16 4 14 19 1 9 9 18 12 3 14 18 3 14 13 16 18 11 16 4 12 ) R0 ' t1> 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 t1 0=i 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 t0 i0 t1 cL 0=i >t2> ,L | fmttbl| ( 0 14 19 1 9 9 18 12 3 14 18 3 14 13 16 18 11 16 4 12 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 ) t0 t2 & cut ( 0 14 19 1 9 9 18 12 3 14 18 3 14 13 16 18 11 16 4 12 ) | 20230627.1918 | acnts `( .r Tui FONT )` Dv@ s" LUCIDA CONSOLE::14" `( .r Tui FONT )` Dv! ` 2p :?? Ft lfVM #' Ft "cr ssd >Ft> ` at :?? 2 sigdig dup @ --cab ! _i | set floating display precision & return previous ` ./CoSy/math.f F> Eval "bl Tau fmt cL `( Happy Day )` braket "bl cL i( 7 31 )i take .+ reverse cL { dup reverse cL } 'm 20 _take | showed to BAA | 20230629.1015 | | ======================== | Fri.Jun,20230630 | ======================== | ` psort ?? : psortip psorti flip 1th ,/ ; | ======================== | Mon.Jul,20230703 | ======================== | | 20230704.1355 | ` start :?? ` C:\4thCoSy\CoSy@.bat F> `( getenv setenv )` ' Help 'm " EXIT" getenv _str s" help set" Shell> ` SET Shell> ec Dir " COSYSTARTFILE" getenv str s" SET Exit=yes" Shell> " EXIT" " no" setenv CoSyDir Dir ` CoSy@.bat F> res> >T0> ` CoSy@.bat >F C:\4thCoSy\CoSy@.bat ` CoSy@.bat Fbackup | I give up . will post as problem 20230704.2203 | | ======================== | Wed.Jul,20230705 | ======================== | | 20230706.1238 | | 20230707.0840 | ` sort.f ?? ` C:/4thCoSy/CoSy/sort.f F> # ` sort Words CoSyDir Dir ec Dir ` ,svMsk :?? ` thru :?? -12 11 2_i thru .+ `i 13 +i `i 24 modi ,L fmttbl| 50 10 0 * + 7 + 2 + . 3 3 - 6 * 2 + _i i( 18 24 32 0 )i ' gcd ./ 18 24 2_i gcd ' >_ on2 gcd _i ` _gcd See `( mod /mod )` See 'm ` i( 18 24 32 0 )i >t0 t0 .+ ' maxi ./ $ ' mini ./ gcd 32 : minmaxgcd .+ ' maxi ./ $ ' mini ./ gcd ; t0 -1 _cut minmaxgcd `( mod /mod )` { dup Help $ See ,L } 'm ` >_ :?? : Imat >a i1 i0 cL a@ i1 +i fill a> 2 _take take ; `i 4 Imat | .+ ' reverse 'm ori >t0> ( 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 ) i( 2 0 0 1 0 3 1 0 0 5 2 0 4 0 0 2 )i i( 4 4 )i take >t1> ( 2 0 0 1 0 3 1 0 0 5 2 0 4 0 0 2 ) t1 -0+i | signum ( 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 ) R0 t0 == 1 | ======================== | Thu.Jul,20230713 | ======================== | ` aaply ?? ` f+ :?? res> lfVM # ` eachD ?? ` sn :?? | 1453 | i _i iota ` iota See i1 i( 10 20 )i take >t0> T0 res> >T0> res> "bl ssd lfVM ` 1 ' =c 'L >t1> t1 ' reverse 'm >t2> t1 t2 andi ` and Words | ======================== | Sat.Jul,20230715 | ======================== | R dsc R { -1 _cut } 'm ' R rplc R { -1 _at } 'm | ======================== | Sun.Jul,20230716 | ======================== | ` \4thCoSy\CoSy\Fact F> lfVM ` acre con 12. 2.47 2_f %f |>| 4.86 : tst 3. _f ; tst | ---- ` venn :?? ` ledgerlns :?? i( 18 24 32 0 )i >t0 t0 .+ ' maxi ./ $ ' mini ./ gcd | dup the list apply ' max across , | swap ( aka commute ) apply ` min across , then ' gcd between them 32 : minmaxgcd .+ ' maxi ./ $ ' mini ./ gcd ; | make it a word t0 -1 _cut minmaxgcd | drop that trailing 0 . Do again . 2 Bob ArmstrongAuthor Any HONEST , I repeat HONEST quantitatively educated person can see thru this anti-science wannabe Tyrannical Global Statist Cult demonizing the very molecular basis of LIFE . Al Gore Warming and its even Stupider claims of Climate Catastrophe FAILS HONEST SCIENCE across the board , from Biology to Geology to Physics . It is the most destructive ` Useful Stupidity in history . When you target the molecule all life has been built on for over 2,000,000,000 years , since before that life it enabled it was ~ 30% , 3000 molecules out of every 10k , of the atmosphere , now bouncing along at a near plant starvation 3 or 4 , YOU WILL LOSE . " Science " brought to us by the same people who can't count the number of strands in a DNA double helix and condone the castration and spaying of children . | -- When all else fails REALITY prevails . | ======================== | Mon.Jul,20230717 | ======================== | `f 5 sqrtf f1. +f `f 2 %f .+ 1%f $ f1. -f cL `( Fact Fact )` Dv@ lfVM ` horse con 6 2 / 1 2 + * . 10000 _iota +/ | ======================== | Fri.Jul,20230721 | ======================== | ` C:/Users/bob/Downloads/MidSummer,2023.html F> >t0> # ` C:\CoSyWeb\y23\MidSummer,2023.html F> "nl ss >t1> # t1 rUpdate t1 "nl 2 _take ss t1 nl>lf ` C:\CoSyWeb\y23\MidSummer,2023.html >F ` 1+ See ` 0if :?? Allwords ` if con ` 0if Help | ======================== | Sat.Jul,20230722 | ======================== | ` create Help ` all ?? Allwords ` a in ` thru :?? 4 16 2_i thru | ======================== | Fri.Jul,20230728 | ======================== | ` aaply :?? `( TypeV TypeA TypeFV )` ' ?? 'm ` 'd ?? ` ^= ?? | removing from CoSy.f | : ^= ( LA RA -- Bool ) ['] =i aaply ; | : ^+ ['] +i aaply ; ` l0@ ?? T0 res> >T0> Eval ` 'denc See ` C:/CoSyBob/acnts/y22/BobA/AmazonChase.cdt F>/\ 1th >t0> fmttbl| rUpdate ` C:/CoSyBob/acnts/y22/Acnts.csy F>/\ ` T0 v@ 1th >t1> fmttbl| rUpdate t0 t1 ' cL 'denc fmttbl| rUpdate 50 _iota i( 5 10 )i take .+ reverse ' +i 'denc ` 'd ?? | ======================== | Sat.Jul,20230729 | ======================== | s" C:\CoSyBob\BobA - Copy (6).csy" s" C:\CoSyBob\BobA - Copy (5).csy" ,L ' F>/\ 'm >t0> #' t0 ' 1th 'm ' #' 'm flip ' ,/ 'm t0 dsc dsc $ ' cL 'd t0 ` text ' v@ 'L >t1> #' t1 ' lfVM 'm flip >t2> { ' == ./ } 'm ,/ 0=i & t2 1127 _at #' ` lst Words | :?? | ======================== | Wed.Aug,20230802 | ======================== | s" C:\CoSyBob\BobA - Copy (7).csy" F>/\ ` ref v@ >T0> | ======================== | Tue.Aug,20230808 | ======================== | ` CoSySource text> daylncut $ con reverse | ======================== | Thu.Aug,20230810 | ======================== | | BAA good this morning | | ======================== | Fri.Aug,20230811 | ======================== | | ======================== | Sun.Aug,20230813 | ======================== | | see 20230501 ( scriptFileName -- ) : Needs 1p> s" sys CoSySource" >a> Dv@ >a> $ enc memb >_ 0if R@ F> Eval a> $ cL a> Dv! then 1P ; ` ./CoSy/AcntFns.f Needs ec Words ` ledgerlns See : Needs 1p> s" sys CoSySource" >a> Dv@ -1 _cut a> Dv! s" sys CoSySource" Dv@ >a> $ enc memb >_ 0if R@ F> Eval a> $ cL a> Dv! then 1P ; ` ./CoSy/AcntFns.f F> ` ' Help `( ,L cLsimple cL )` ' :?? 'm ` hl Words ` colon ?? | >a> ' dsc 'm ` reva conn a> $ at 1th ` defer Help ` {{ ?? | ======================== | Mon.Aug,20230814 | ======================== | | ======================== | Sun.Aug,20230820 | ======================== | ./CoSy/Furniture.f | Split integer vec into positives and negatives | factored to permit application of indices to , eg: floats | 20230820.2040 | : +-spltx ( iv -- v ) i-1 >i .+ 0=i ,L ' & 'm ; : +-splti .+ +-splti ' at 'R ; | was | : +-splt ( iv -- v ) 1p> i-1 >i refs+> >r> & R@ swap at | R@ r@ 0=i & at ,L r> refs- 1P> ; ` C:/CoSyBob/acnts/y21/BobA/Citi.Ctb F>/\ ` amount v@ ,/ >t0> t0 1 _cut .+ f>i +-spltx ' at 'R ' +/ 'm | ======================== | Mon.Aug,20230821 | ======================== | `( Fact morse )` Dv@ >t0> s" C:/CoSyBob/acnts/y23|Acnts - Copy.csy|Acnts.bk|Acnts.csy" fullPaths | i( 1 2 )i at ' F> 'm >t0 t0 ' == ./ ` C:/CoSyBob/acnts/y23/Acnts.csy F>/\ >t0> # t0 .+ dsc $ 1th #' ,/ ,L fmttbl| | ======================== | Tue.Aug,20230822 | ======================== | ` ./CoSy/math.f F> | Eval ` norm See ` norm^2 :?? 10 _iota i>f >t0> | |>| 0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 R0 reverse t0 norm | |>| 16.88 t0 i( 2 5 )i take >t1> ( 0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 ) ` norm^2 See t0 : norm^2 .+ dot ; t1 norm^2 : dot *f ' +/ aaplym ; t0 .+ dot | ======================== | Wed.Aug,20230823 | ======================== | 16 _iota fmtI% ` 0 $ ' cL 'd { -4 _fill } 'm "bl ' cL 'L ` 0123456789ABCDEF ' cL 'd 16 _iota fmtI% ` 0 $ ' cL 'd { -4 _fill } 'm ` 0123456789ABCDEF enc' ,L >t0> t0 s" : " fmttbl t0 ` 0101 v@ (' ' +/ ' :?? ') >t0 t0 ` ei See s" float" ?? 0 floatVecInit refs+> value ef ef # f( 1 2 3 )f 3 _cut i( 1 2 3 )i 3 _cut s" ei " ?? ` fmt Words ' :?? 'm ` sel Words ` v@ :?? ` m/d/y>ts :?? | ======================== | Thu.Aug,20230824 | ======================== | | 0916 | BAA | ` csv Words ' :?? 'm res> >T0> T0 lfVM ' htVM 'm lst>DT >t0> t0 .+ ` m/d/y>ts :?? # | 1th ` 1th :?? _i at ` --bac :?? ` lfVM :?? ` fl Words ` ./CoSy/AltStackOps.f F> | 1013 | ` v@ :?? ` >>fl :?? | ======================== | Fri.Aug,20230825 | ======================== | | Needed for merging of creds & debs needing a sign change . | : str>f0 "bl $ cL { >>fl if _f ;then f0. } onvan ; | 20230825 | Adde to CoSy.f | Fixed for emties too | 1248 | Moved to ./CoSy/Furniture.f | str> .+ i# 0if ref- f0. ;then { >>fl if _f ;then f0. } onvan ; | 20230825 | : str>f0 >a> i# 0if a- f0. ;then a> { >>fl if _f ;then f0. } onvan ; | 20230825 | Finally working : See ( word -- assembler_code ) s" see " swap cL forth> ; s" see " swap cL forth> ` forth> ?? Xwords ` See Words ` >float Help s" :?? " See ` str>>f0 See see forth> | ======================== | Sun.Aug,20230827 | ======================== | res> >T0> T0 (' "lf "bl ') ssr blVM >t0> # |>| 476 t0 #' nub ,/ t0 nub ' dab 'm dae >t1> # t1 ec Words membv >t2> # t2 ' :?? 'm >t3> #' ,/ 2 _i <>i & t3 fmt lfVM # R0 blMV |>| >T0> "lf "bl ec >t1> >t0> 2P 2p> ' `( >T0> "lf "bl ec >t1> >t0> 2P 2p> ' )` ' :?? 'm .+ #' $ ,L fmttbl| ` "bl :?? t2 t2 R0 at ' :?? 'm #' ,L fmttbl| t2 ' dsc 'm { :?? lfMV } 'm >t3> ` |-- "lf braket t2 blpad pad s" | " s" | " ,L ' braket 'L ' cL 'R t3 ,L flip fmt >t4> t4 .+ lfVM ,L #' ,/ |>| t4 ` C:\CoSyWeb\CoSy\y23\SV-FIG_20230826_commentary_Defs.txt >F ` csv>DT :?? # t3 # t4 1th ` venn :?? res> >t0> # t0 lfVM # ` | ' cL 'L >t4> t3 { lfMV lfVM } 'm >t3> t4 t3 t4 t3 { 2p L@ R@ # cL 'd | ======================== | Fri.Sep,20230901 | ======================== | | 20230902.0955 | : sortf ' /\ 1th >t0> 2 _at ,/ >t1> t0 # ` strCmpr ?? 5 _iota van ` csv ?? t1 van cells/ ` braket :?? | ======================== | Thu.Sep,20230907 | ======================== | | BAA . tan discussion reveals problems ` tan Words Pi `f .5 *f tanf fpi 2. f/ _f | ftan _f fpi 0.4 f* ( _f ) ftan _f ` ftan ?? enc tanf ` tanf :?? s" fPi " ?? ` ftan Help ` apv ?? `f 0 `f 1 10 _apv `f 10 %f Pi *f enc' .+ tanf ,L fmttbl| t1 t0 t1 ,L ' fmt 'm t1 t1 { ' fmt 'm } on2 ,L t1 ,L fmttbl| | ======================== | Fri.Sep,20230908 | ======================== | Pi `f 4 %f .+ sinf ,L 11 _i iotaf `f 10 %f Pi *f tanf R0 tanf : tanf .+ sinf $ cosf %f ; : tanf { .+ sinf $ cosf %f } aaplym ; | 20230908.2111 ,L fmttbl| enc' fmt t0 $ ,L fmttbl| t0 ` $ :?? ` aaplym :?? | 2014 | `ec Words | ` .+ conn `( .+ cosf )` ' conn 'R ` conn :?? ec Words | .+ ` .+ conn $ ` cosf conn ,L | ======================== | Thu.Sep,20230914 | ======================== | | 20230917.1215 | s" undefined" ?? ` undefthrow ?? ` lst>stk ?? | ======================== | Sat.Sep,20230923 | ======================== | | ======================== | Mon.Sep,20230925 | ======================== | ` str>f0 :?? ` f1 ?? ` help -> | ======================== | Sun.Oct,20231001 | ======================== | 5.1e14 m^2 of the Earth's surface | ======================== | Mon.Oct,20231002 | ======================== | ` ASCIIbrowser Dv@ lfVM { drb blVM } 'm >t0> #' t0 65 _i 26 _iota +i at { 2 _at } 'm ,/ >t1> t1 ilst fmttblb | ======================== | Wed.Oct,20231004 | ======================== | | got ` rShow button working | 2043 | | ======================== | Thu.Oct,20231005 | ======================== | | 0907 | BAA : 23- 2 3 - _i ; ` - :?? 23- ` ' `( See Help :?? )` ' Eval 'R fmt | rUpd 10 _iota ` ' See | 1002 | | ======================== | Mon.Oct,20231009 | ======================== | s" Hello World " DMP `( .r Tui FONT )` Dv! ` `( :?? `( `( braket )` ec Words $ ' conn 'R ` braket ?? : >`()` blMV s" `( " s" )`" ,L braket ; | convert word list to ` inline input list . `( .r Tui FONT )` >`()` ` l>m ?? | \/ | Removed from CoSy.f | ` meta link vestigal : m>l ( obj -- lst ) dup+ m@ ?dup if refs+> else nil refs+> then ,L ; | returns 2 item list with value and meta of obj : l>m ( lst -- obj ) >r> i1 at\ r@ i0 at\ --bab m! r> ref0del ; | takes 2 item list and sets meta on 0th to the second . | /\ | | ======================== | Fri.Oct,20231013 | ======================== | ` ': :?? | K ': . Applies fn between each pair of RA | 20210107 : ': ( RA fn -- V ) >r 1p> i# 0if z" length 0 " throw then over i# 1- over fntype VecInit >lpstk lpstk@ i# 0 ?do over i 1+ _at 2 pick i _at 2 pick execute lpstk@ i i! loop drop refs- lpstk> ; ` ': ?? ` ./ ?? i( )i ' -i ': | Some problem w ` ': ` r> Help | ======================== | Sun.Oct,20231022 | ======================== | 10 _iota ' -i ': T0 | ======================== | Thu.Oct,20231026 | ======================== | s" C:/CoSyBob/acnts/y23|Acnts - Copy (2).csy|Acnts.csy" fullPaths >t0> t0 ' F> 'm >t1> #' ,/ |>| 138208 121424 t1 ' str>lst 'm >t2> { 1th #' } 'm t2 dsc dsc enc $ cL fmttbl| t2 dsc ` .r v@ ` C:/CoSyBob/acnts/y23/Acnts.bk F>/\ ` text v@ | ======================== | Fri.Oct,20231027 | ======================== | ` first ?? ` dayln ?? ` dayln :?? 27 10 2023 dayln _str ` DoW :?? ` fixed>dow :?? ` ./lib/date/calendar F> ` ' Help | ======================== | Sun.Nov,20231105 | ======================== | ` TaddCol ?? Replaced def | 2refs+> 2dup 2>r enc over 0 i@ i# _take enc cL 2r> 2refs- | with : TaddCol 2p> $ dsc # take enc' enc L@ $ cL 2P> ; | 20231105.2017 ` TaddCol See | ======================== | Tue.Nov,20231107 | ======================== | ` C:/4thCoSy/CoSy/Fact_Fact.txt F> lfVM ` lb con | 20231108.2218 | ` Types ?? ` Type Words ` TypeI See ` TypeN ?? ` nil ?? ` cut :?? ` Y./ ?? | ======================== | Thu.Nov,20231109 | ======================== | 10 _iota i>f .+ `f 3 $ ^f +f `f 2 `f .2 `i 10 apv 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 R0 .+ `f 3 $ ^f +f | ======================== | Fri.Nov,20231110 | ======================== | | 20231113.1824 | ` v! Words i0 ` factors ?? : factors ( n _i -- factors ) .+ i>f sqrtf f>i iota i1 +i .+ --bac modi 0=i & at ; 79 _i factors ` https://cosy.com/4thCoSy/Code/CoSy/Fact_Fact.txt F> | lfVM ` BTU con ` .\ Dir CoSyDir ` Fact_Fact.txt cL F> lfVM ` cal con 269.21 238.84 f- _f s" C:\CoSyBob\acnts\y23\Acnts - Copy.bk" F>/\ ` text v@ | ======================== | Tue.Nov,20231114 | ======================== | ` cen Words s" | FORTH DAY | " >t0> `i 80 $ # { 2 _i %i } on2 -i "bl $ take t0 cL "bl $ # take L@ cL 2P> s" | FORTH DAY | " `i 80 center : center ( str width -- leftPadded ) 2p> $ # { 2 _i %i } on2 -i "bl $ take L@ cL 2P> ; | ======================== | Fri.Nov,20231117 | ======================== | | ======================== | Mon.Nov,20231120 | ======================== | See em> SV-FIG ystdy abt date voc | : leap [ i( 400 100 4 )i dup refs-1 ] literal cr o cr ; : leap [ i( 400 100 4 )i ] literal cr o cr modi ; leap ` " Help R0 @ DMP cr o cr modi ; 500 _i leap i( 400 100 4 )i >t0> : leap t0 modi i0 =i ' <>i ./ ; 2000 _i 50 _iota i( 2022 2023 )i ' leap 'm 2001 _i 30 _iota +i ' leap 'm ,/ ` refs-1 :?? 2023 _i 8 _iota +i ` literal Help | ======================== | Fri.Nov,20231124 | ======================== | ` str>f ?? ` +- ?? ` fl Words ` as,df { ` , ssd } xeq : str>f >a> i# 0if a- f0. ;then a> ` , ssd { >>fl if _f ;then f0. } onvan ; ` 3,124.58 str>f ` nub ?? ` C:\CoSyBob\acnts\y23\BobA\PP_CB.cdt F>/\ fmtDT rUpdate | ======================== | Sat.Nov,20231125 | ======================== | ` C:\4thCoSy Dir nlVM ` C:\CoSyWeb\4thCoSy\Code Dir res> c>i R0 nub sorti | ======================== | Mon.Nov,20231127 | ======================== | | 20231128.1551 | | 20231201.2243 | res> >T0> T0 `(
)` ' ssd Y./ ` str>f :?? ec Words `( dab str>f )` ' conn 'R `( dab str>f )` ' :?? 'm s" 28.9 " str>f ` tbl Words ` bal ?? `( word find )` ' Help 'm ` ./src/revacore.asm F> rUpdate ` ./src/reva.f F> ` : =c +/ rUpdate ` ?? :?? >t0> t0 1th s" : :?? " prt>=f s" ; " prt<=f ` dup >t0> :?? | 1th | s" : " t0 cL prt>=f s" ; " prt<=f Allwords # ` ws Words ' :?? 'm ` dup See ` .+ .+ :?? $ See ,L ` .+ :?? `__ aba ?? `( : [ compiling? p: )` ' Help 'm ` p: ?? ` swap See | ======================== | Sun.Dec,20231203 | ======================== | | 20231204.1438 | | 20231205.0042 | | | 20231206.1851 | ec Words ` Allwords :?? ` xwords ?? Allwords ` context con ` ~bigmath Help lfVM dsc blVM dae ' Help 'm | There is ` Help on big nums but they're not defined . ` contexts Help ` xwords Help Allwords `( =c aaply )` ' where 'R ,/ | ' -i ./ : defined ,L Allwords $ ' where 'R ,/ ' >i ./ ; | True if LA defined before RA | 20231204 | | added to ` ./CoSy/Furniture.f ` defined :?? | made ` atomic 20231205 : =c ['] =I each ; | = char ( Iverson logic ) 2 integer vecs : <>c ['] <>I each ; | not equal ( Iverson logic ) 2 integer vecs ` www :?? ` C:\CoSyWeb\index.html F> >T0> rUpdate T0 dae >T0> # T0 rUpdate T0 ` C:\CoSyWeb\index.html F> >T0> T0 ` ' prt<=f 'L T0 s" " ss T0 ` ` prt<=f :?? ` gene ?? ` tokcut :?? rGet >T1> T1 ` C:\CoSyWeb\index.html >F s" C:/CoSyWeb/index - Copy.html" F> nlVM >t0> # t0 T0 venn | 20231207.1800 | | 20231208.2202 | | 20231209.1557 | | From K.CoSy cover indices of top level cover of start/stop tokens `x in string `y { QW : ,/ coverraw[ x ; y ] ; QW : QW @ & |/ ( 1 >': ; 0 = )@\: 0< nestlevel QW ;( _ ( # QW ) % 2 ; 2 ) # QW } coverraw indices of occurances of ( starting & ending ) toks in string { ( + y _ss/: x ) +\: 0 , # *| x } T0 `( )` 2p> ' ss 'R i0 R@ 1th # i-1 +i cL ' +i 'd 2P> >t0> : coverraw 2p> ' ss 'R i0 R@ 1th # i-1 +i cL ' +i 'd 2P> ; T0 `( )` coverraw >t0> T0 t0 dsc cut ` > ' prt>f ' 'L ` coverraw ?? `_ cover ?? nestlevel level of nestng given list of start and close interval endpoints { +\ ( ,/ ( ^ x ) # 1 -1 ) @ < ,/ x } i( 1 -1 )i t0 dsc # ' take 'L flip ,/ ,/ | transliteration from K.CoSy i( 1 -1 )i t0 dsc # `i 2 *i take | simple because of modulo indexing i( 1 -1 )i t0 dsc # `i 2 *i take >t1> | simple because of modulo indexing i( 1 -1 )i t0 ,/ psortip at +\ s" ( ) ( ( ) ) ( ( ) ( ( ( ) ( ) ) ) ) " >t0> t0 `( ( [ )` ssr `( ) ] )` ssr t0 `( ( ) )` coverraw >t1> t1 : nestlevel flip ' ,/ 'm ,/ psortip 1 -1 2 s>iv $ at +\ ; t1 nestlevel ` nestlevel :?? ` nest ?? ` s> Words ' :?? 'm 1 -1 2 s>iv list ( (' begins ends ') ) >t2> t0 dab t2 ,L flip fmttbl| t2 +\ 2895. 3.2808399 f* _f `( Fact Fact )` Dv@ lfVM | ` m> con ` https://www.fosna.org/ www ` https://www.fosna.org/ ` cF9 ?? { statewdo curln str www } z" K_cF9" set-callback textwdo curln str https://www.fosna.org/ ` BROWSER Dv@ ` curln :?? | -- T0 ` prt>f enc } 'm >t1> t1 1th | dsc c>i T0 t0 flip ' ,/ 'm >t1> { ' thru ./ } 'm ' at 'R >t2> #' t0 flip ,/ t2 t0 flip ' ./ 'm T0 t0 dsc 6 _iota ' +i 'L ' at 'R t0 ` thru ?? ` 1+ Words Allwords ` 1 con `__ _ ?? ` C:\CoSyWeb\index.html F> nlVM >T0> rUpdate ` c>i :?? rGet >T1> T1 ` C:\CoSyWeb\index.html >F T1 `( )` +braketed+ T1 ` >t1> t0 ' c>i 'm t0 dae "bl { ['] =I each } aaply t0 | { "bl =c } 'm Ft ` =c conn `( toksplt VM )` ' :?? 'm `( :: { )` ' Help 'm ` c Words `( c? c+ )` ' :?? 'm ` set Words `( eachDir eachDcr )` ' :?? 'm | Allwords $ conn Fn F> Ft ` con :?? ` log ?? res> >T0> T0 ` f( toksplt 1 _cut ` )f ' prta> %i a> $ ,L flip fmttbl| | ======================== | Fri.Dec,20231215 | ======================== | | 20231216.1729 | For some reason cF9 was not working for several days . | thought had even done machine restart . Now ok . Change in Furniture.f not involved . `( ./CoSy/Furniture.f C:/4thCoSy/CoSy/Furniture.f.bk )` { F> nlVM } 'm >t0> #' t0 dsc t0 1th venn i( 0 2 )i at https://www.cosy.com/DailyBlog.html ` defined See | 20231217.1933 | removing \/ | | : cconb ( strings str -- bool ) | returns bool where stings in LA contain RA | | 2refs+> 2dup ['] ssc eachleft { i# sn _i } eachM> ,/ --cab 2refs- ; | from CoSy.f | ======================== | Tue.Dec,20231219 | ======================== | | 20231221.1946 | ` C:/CoSyWeb/DailyBlog.html >Fn> F> >Ft> rUpdate ` C:/CoSyWeb/DailyBlog.html >Fn> F> nlVM Ft lfVM venn ` C:/CoSyWeb/index.html >Fn> F> >Ft> rUpdate t0 res> >t0> Ft lfVM t0 con Ft t0 ssd rUpdate T0 nlVM dae nlMV rUpdate rGet >Ft> lf>nl Fn >F Ft s" " ss | d rUpdate Ft `( )` ' ss 'R #' | ARE BALANCED Ft `(
)` ' ss 'R >t0> #' | ARE BALANCED t0 nestlevel ` Y./ :?? `__ R0 ?? : nestlevel flip ' ,/ 'm ,/ psortip 1 -1 2 s>iv $ at +\ ; rGet Ft == ` .r Dv@ ` ssd :?? | ======================== | Fri.Dec,20231222 | ======================== | | 20231223.1945 | | 20231226.1448 | ` set-callback See textwdo @ { curln str >t0 } z" K_F8" set-callback _i textwdo @ { textwdo ins-ymd.hm } z" K_F9" set-callback _i ` C:\CoSyWeb\Science\HeartlandBasicBasics.html >Fn> F> >Ft> rUpdate Ft nlVM >t0> # t0` https: con Ft `( http: https: )` ssr >T0> rUpdate Ft Fn >F Ft ` C:\CoSyWeb\DailyBlog.html >Fn> F> >Ft> rUpdate ` C:\CoSyWeb\CoSy\AskMeAnything.html >Fn> F> >Ft> rUpdate Ft nlVM >t0> # t0 dae >t0> rUpdate rGet lf>nl >t0> t0 nlVM ` http: con t0 `( http: https: )` ssr >Ft> rUpdate Ft Fn >F (' Ft Fn ') reverse ` C:\CoSyWeb\ >t0> ` /b cL Dir nlVM >t1> t1 ` htm con t0 ` index.html cL F> >t2> t2 `( )` +braketed+ t2 ` ' prt<=f 'L nlVM ` .htm con ` brak Words | ======================== | Wed.Dec,20231227 | ======================== | 36 _iota >t0 i( 3 9 15 )i >t1 ` C:/CoSyBob/acnts/y23/BobA/AmazonChase.cdt F>/\ >t1> DT>lst flip fmttbl| `i 3 `i 6 `i 3 apvi 3 _iota `i 6 *i `i 3 +i ` apvi ?? ` lst>s Words ' :?? 'm ` int> ?? i( 3 15 6 )i lst>stk 31 _iota .+ i>f c>f ,L fmttblb | 6 _partition fmttbl| ` fmt Words | ======================== | Fri.Dec,20231229 | ======================== | 2024 _i factors https://docs.google.com/spreadsheets/d/1ZwOxudp9NyWmTw3WUaBd8ge8HB8O3c_GBJDl7rOrV9s/edit#gid=1553066508 s" C:/CoSy/y23/3. Per Unit Monthly SaaS Template - Overview.csv" F> # | rUpdate s" C:/CoSy/y23/3. Per Unit Monthly SaaS Template - Financials.csv" F> rUpdate | ======================== | Sun.Dec,20231231 | ======================== | https://www.facebook.com/Bob.Armstrong.CoSy/posts/pfbid0HsUYmQWeaC5fJXqjVBWGRCmrJU6AvDnWAyHAe4s8787hXEvzZWkkfD2dqwzadDsCl?notif_id=1704054782269467 Analysis by Bard ! | https://twitter.com/Sumohax0r/status/1741518156076642501 https://bard.google.com/share/11848ec89722 : factors ( n _i -- factors ) .+ i>f sqrtf f>i iota i1 +i .+ --bac modi 0=i & at ; 2024 _i .+ factors .+ --bac %i ,L .+ ' *i ./ cL fmttblb | redundant w ' def | ` factors :?? 1th s" : " s" ;" ,L +braketed+ >t0> ` def :?? : commentdel .+ s" ( " s" ) " ,L coverraw ,/ 0cut .+ 1 0 2 s>iv $ # take & at ,/ ; ` : Words | only word which ends in ` : was ': | Decided simplest way fix ` :?? search is to rename to ` '.. ` ./CoSy/math.f F> ` factors def commentdel blVM dae 2 _cut -1 _cut >t0> t0 nub >t0> | remove dups t0 .+ ' :?? 'm .+ #' 0<>i t0 { .+ :?? 1th $ def } 'm t0 { :?? 1th } 'm #' t0 ,L fmttbl| ` 0=i .+ :?? 1th $ def ` def :?? t0 `__ ( `__ ) ,L coverraw >t1> t0 t1 dsc take t0 t1 1th cut cL t0 t1 ,/ 0cut .+ i( 1 0 )i $ # take & at ,/ t0 commentdel : tst 1 0 2 s>iv ; tst ` iv Words dsc take t0 t1 1th cut cL t1 dsc ` cover ?? ` "msk ?? t0 s" : ?? " prt>=f ` ; prt<=f ` braketed :?? | ======================== | Mon.Jan,20240101 | ======================== | SV-FIG email from Aliaksei Chapyzhenka : happy 0 10 2 do i i * i * + loop ; happy _i |>| 2024 {{ 0 10 2 do i i * i * + loop _i }} `i 2 `i 9 thru enc 3 _take ' *i ./ ,/ .+ +/ ,L | ======================== | Tue.Jan,20240102 | ======================== | | commented out | | ` i^n ?? | 3 3 i^n _i | & some meta vocab in CoSy.f | i( 2 3 5 6 )i i( 3 4 5 2 )i ' take 'd { ' *i ./ } 'm | ,/ : ^i ' take 'd { ' *i ./ } 'm ,/ ; i( 2 3 5 6 )i i( 2 2 )i take i( 3 4 )i ^i `( take ./ )` ` +i ' defined 'L ,/ |>| 0 0 | so can't put w other `i fns | putting in ` math.f | not ` atomic | | 20240103.2014 | ` prt Words | ======================== | Sun.Jan,20240107 | ======================== | ` --bac :?? ` & :?? 2.5 3. 2_f ^f ` str>tbl ?? ` ^eval ?? | deleted from ` furniture & CoSy . replaced w ` Eval 20240107.2042 ` ^ Words `( sys CoSySource )` Dv@ ` ./CoSy con | 20240108.0733 | went to last bkup . ` .. not defined ` .. ?? s" C:/4thCoSy/CoSy|CoSy - Copy (2).f|CoSy.f" fullPaths | { F> nlVM dae } 'm >t0> #' | ' venn ./ t0 ` ^eval ' con 'L t0 { 500 _take } 'm ' venn ./ #' | ======================== | Mon.Jan,20240108 | ======================== | ` path Words : factors ( n _i -- factors ) .+ i>f sqrtf f>i iota i1 +i .+ --bac modi 0=i & at ; 5280 _i .+ factors .+ --bac %i ,L .+ ' *i ./ cL fmttblb ` quit :?? s" C:/4thCoSy/CoSy/CoSy - Copy (2).f" >Fn> F> >Ft> rUpdate Fn ` binary ?? `i 2024 fmtI% ,/ ` 1 =c |>| 1 1 1 1 1 1 0 1 0 0 0 R0 reverse & |>| 3 5 6 7 8 9 10 R0 `i 2 t0 ^i |>| 8 32 64 128 256 512 1024 R0 +/ 11 _iota `i 2 ' take 'd ` C:\CoSyBob\acnts\y23\Acnts.csy F>/\ >t0 ` new Words ` C:\CoSyBob\acnts\y23\Acntstst.csy newJob ` C:\CoSyBob\acnts\y23\Acntstst.csy startJob ` >T0> :?? `__ R ?? ` rplc :?? ` R1 :?? ec >R1 R1 t0 ` state v@ # | ======================== | Wed.Jan,20240110 | ======================== | ` C:/CoSyBob/acnts/y23/Acntsbrk.csy F>/\ >t0> # ` C:/CoSyBob/acnts/y23/Acnts.csy F>/\ >t1> # t1 1th R 1th ' == 'd ,/ | 0=i | & | at | t0 1th R 1th ' == 'd ,/ | 0=i | & | at | ` enc' :?? 10 _iota ' enc 'm 10 _iota i>f ' enc 'm 10 _iota enc' enc' ` Fbackup :?? : Fbackup >a> F> a> ` . ` _bk. ,L ssr >F ; | 20211227 | self explanatory ` ./CoSy/Furniture.f >a> F> a> ` . ss -1 at 0cut` _bk. ,L ssrM | ======================== | Fri.Jan,20240112 | ======================== | | 20240113.0907 | | 20240123.1329 | ` sort Words | ' :?? 'm ` C:\CoSyBob\acnts\y23\Acnts.csy F>/\ dsc `( T1 DateTime )` v@ >T0> ` sortstr :?? : sorti ' < is compare rep_ dup van cells/ hsort ; | sort integer list | sort list of strings : cmprStr_ strCmpr >_ 0 < ; | version for use w ' hsort : sortstr ' cmprStr_ is compare rep_ dup van cells/ hsort ; T0 reverse ' fmtF 'm ,/ >t0> ec Words sortstr ` sortstr See ` rep_ ?? Fn F> Eval ec Words T0 T0 ,/ | sortf T0 dsc T0 1th $ cmprf_ _i T0 dsc T0 dsc cmprf_ _i ` C:/4thCoSy/lib/alg/insertsort >Fn> F> >Ft> rUpdate Fn F> Eval ` C:/4thCoSy/lib/alg/hsort F> rUpdate ` ./CoSy/sort.f F> rUpdate ` cells/ :?? i( 0 1 2 0 )i >t0> psorti flip >t1> fmttbl| t0 t1 1th ,/ at | 20240119.2209 | | defined ' isort in tstScript ` tstScript Dv@ Eval 20 20 2_i rand >t0> t0 .+ psorti flip cL fmttbl| t0 van cells/ isort t0 ` sorti See : sorti ' < is compare rep_ dup van cells/ hsort ; | sort integer list t0 sorti : isorti ' < is compare rep_ dup van cells/ isort ; | sort integer list t0 isorti : isortstr ' cmprStr_ is compare rep_ dup van cells/ isort ; ec Words isortstr ec Words ` rand con 20 _i randf >t0> t0 van 2_i cL 200 10 / _i : cmprf_ _ ; | can't work on naked floats bcz hsort & isort require single cell items | 20240125.2208 | `f 23. `f 2. $ cmprf_ _i | 20240125.2208 | need to apply to enclosed floats | 20240126.1243 | pulling it all >< . ` ./CoSy/sort.f >Fn> F> >Ft> rUpdate ` isort See ` cmprf_ See : cmprf_ _ ; : sortf ' cmprf_ is compare rep_ dup van cells/ isort ; ` con Words >`()` ` con :?? 10 _i randf enc' .+ sortf ,L fmttbl| ` mem Words | ` membv :?? ` where :?? t0 sortf t0 bits@ _i van 10 / sortf : sortf :: _ ;; is compare .. rep_ dup van cells/ hsort ; ./CoSy/math.f ` rand Words ` randf :?? ` half See : half 2/ -3 and ; 30 _iota { >_ half _i } 'm ,/ ,L fmttbl| `i 5 randf >t0> f( 0.7805 0.5342 0.0244 0.9367 0.6323 )f t0 enc' t2 van cells/ isort t2 100 100 2_i rand >t2> t2 isorti t2 T0 rUpdate rGet >T0> ` strCmpr :?? ` rand Words ' :?? 'm 5 _i randf `( :: ;; { } )` ' :?? 'm `( :: ;; ;then )` ' Help 'm `( ;; ;then )` ' :?? 'm ` 0L ?? >t0> t0 3 _at ec Words s" C:/4thCoSy/CoSy/sort.f" >Fn> F> rUpdate : sortf ' f< is compare rep_ dup van cells/ hsort ; | sort integer list t0 ,/ f>i sorti t0 ,/ sortf res> >t0> `( /\ \/ )` ssr ` ./src/reva.f F> nlVM dae s" :" in >t0> # |>| 370 ` ./src/reva.f F> nlVM dae s" : " in >t1> # t0 t1 $ ~memb & t0 R0 at t0 enc' t1 enc' ~memb R0 +/ t0 nub # t1 nub # .+ # $ ` .used conn cL |>| 2395 2062 R0 ' -i ./ |>| 333 | 20240116.1226 | | \/ | ` trimin ?? | \/ | removing from ` sort.f . Never used | : trimin 1p> ['] rho 'm ,/ ['] mini across^ R@ swap ['] take eachleft 1P> ; | Chops end of all lists in a list to length of shortest . | renamed to avoid conflict w ` Furniture.f ` trim | 20200530 | | : strGt 1p> trimin flip ['] ,/ 'm { dup 0 i@ swap 1 i@ swap > } f?m R@ rho =i 1P> ; | /\ | very APLish approach but unconsionably inefficient . See ' strCmpr | -- ` C:/4thCoSy/lib/alg/insertsort F> | >Ft> rUpdate s" C:/4thCoSy/CoSy/sort - Copy.f" F> rUpdate s" C:/4thCoSy/lib/alg/sort-common" F> | -- | | Posted at \/ https://www.facebook.com/anthony.watts.chico/posts/pfbid02fAsGrEKyoyRLJ2idJu5nV2RLFFhFJtUAsex3WgsrZUXyjP69d3YBqqNkoTf1Xn22l?comment_id=1060528878498195&reply_comment_id=276775161780504 | 20240114.2028 | | https://www.weather.gov/safety/cold-wind-chill-chart : WC ( T V -- WC ) 2p R@ 0.16 _f ^f .+ -35.75 _f *f $ L@ *f 0.4275 _f *f +f L@ 0.6215 _f *f +f 35.74 _f +f 2P> ; f( 40. 35 30 )f 5. _f WC -45. 60. 2_f WC ` apv :?? 40. -5. 2_f 18 _apv >t0> 40.0 35.0 30.0 25.0 20.0 15.0 10.0 5.0 0.0 -5.0 -10.0 -15.0 -20.0 -25.0 -30.0 -35.0 -40.0 -45.0 5. 5. 2_f 12 _apv >t1> 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0 50.0 55.0 60.0 t0 t1 ' WC 'L ' f>i 'm fmttblb | Future with : WC 2p R@ 0.16 ^ .+ -35.75 * $ L@ * 0.4275 * + L@ 0.6215 * + 35.74 + 2P> ; R0 rUpdate ` Fact Dv@ ` Fact v@ res> >t0> c>i t0 lfVM ' c>i 'm R0 nub | ======================== | Mon.Jan,20240115 | ======================== | | 20240116.1213 | See continued insert sort work above Allwords # |>| 2395 `( sys CoSySource )` Dv@ ` reva ncon >t0> # |>| 16 t0 { F> # } 'm ,/ +/ |>| 205336 t0 { F> nlVM # } 'm ,/ |>| 1736 61 440 75 96 494 116 81 135 369 100 783 540 1257 179 172 R0 +/ |>| 6634 t0 { F> .+ "nl ` : cL ss # $ s" : " ss # $ cL } 'm ,/ ,/ +/ |>| 1295 R0 +/ |>| 1100 t0 res> >t0> lfVM >t1> | ======================== | Thu.Jan,20240118 | ======================== | Dyalog Advent | https://www.youtube.com/watch?v=sx7LU3oicFY | 1abc2 pqr3stu8vwx a1b2c3d4e5f treb7uchet t0 lfVM >t0> t0 ` 0123456789 t0 ` dig ?? R dsc | ======================== | Sat.Jan,20240120 | ======================== | ` \CoSyBob\MailLists.bk F>/\ ` state v@ # |>| 0 | Somewhen trashed ` state in MailLists ` D:\CoSyBob\MailLists.csy F>/\ ` state v@ >t0> # |>| t0 ` \CoSyBob\MailLists.csy F>/\ ` state v!> ` \CoSyBob\MailLists.csy \/>F ` v! :?? | 20240122.1058 | continuing ` insertsort above | ======================== | Thu.Jan,20240125 | ======================== | ` C:/CoSyWeb|index24y.html|index24.html fullPaths ' F> 'm >t0> t0 ' lfVM 'm >t1> ' venn ./ #' t1 dsc t1 1th venn >t2> #' t2 dsc rUpdate t2 2 _at i( 255 139 81 )i i( 234 194 128 )i ,L ' fmtI$ 'm ' ,/ 'm | ======================== | Sat.Jan,20240127 | ======================== | ` C:\CoSyBob\BobA.csy F>/\ ` text v@ lfVM ` Sat.Jan,2024 con # |>| 4 | ======================== | Sun.Jan,20240128 | ======================== | ` mississippi nubgrpcx fmttbl| ` nubgrpcx :?? ` nub Words R0 # | ======================== | Tue.Jan,20240130 | ======================== | 2 _i 5 _i ^i iota fmtI% ` | { 5 _i fmtnI } 'm | ` 1 =c 23 _i >bool : >bool >_ 5 32 binary (p.r) decimal _str ` 1 =c ; 2 _i 5 _i ^i iota ' >bool 'm >t0> ` forth c>i t0 32 _i *i -i ' i>c 'm 4 _partition fmttblb upper ` fF c>i ' -i ./ ` uc :?? ` fmtnI :?? ` bool Words ` (p.r) ?? ` (p.r) Help ` base ?? ` bool ?? 5 . ` fmt Words ` fmtI$ :?? ` 123.19.67 ` . VM ' str>i 'm ` >i Words `( str>f str>fl )` ' :?? 'm | ======================== | Thu.Feb,20240201 | ======================== | ` dsc :?? | added ` 0th alias ` nubgrpix :?? : aggri nubgrpix >a> 1th { at +/ } 'R a> dsc swap ,L ; | ======================== | Fri.Feb,20240202 | ======================== | ` \CoSyWeb\y24\blog.csy F>/\ ` text v@ >t0> ` braketed ?? t0 `
 tokcut >t1> #
 t1 1th  ` 
tok ` braketed :?? ` prt< ` cut Words ' :?? 'm ` str>f :?? ` |\/ 101 _take res> # `f 6500. Pi %f sqrtf | ======================== | Fri.Feb,20240209 | ======================== | `( Who paidIn % notes )` (' ` BobArmstrong `f 0 `f 99.0 s" creator " ') (' ` KarthikKrishna `f 1000. `f 1.0 s" significant services " ') res> >T0> T0 lfVM dae ' Eval 'm >t0> lst>DT fmtDT >t1> t1 (' "ht s" , " ') ' ssr 'L lfMV ` C:/CoSy/y24/CapTable >F t1 ` fmtDT :?? : fmtDT .+ 0th $ 1th ' cL 'd fmttblh ; | : fmtDT >a> dsc a> 1 _at ' cL 'd fmttblh ; | replaced in ./CoSy/Furniture.f because fails refCount | 2119 | t0 # | (' ` , "lf ') reverse lst>csv ` lst Words | ' :?? 'm | ======================== | Sat.Feb,20240210 | ======================== | ` fmtDT ?? | factored delimiter . added ` | variant : fmtDT| s" | " : fmtDT ( lst delim -- 2lst ) $ .+ 0th $ 1th ' cL 'd $ fmttbl ; | 20210330 | 20210621 | replaced code 20240209 | 20240210 ` C:\CoSyBob\acnts\y24\BobA\PSBT.CDT F>/\ fmtDT| ` splt Words ' :?? 'm | ======================== | Mon.Feb,20240212 | ======================== | | Following up chat w Barry Kostrinsky | various forms of ` nothing in CoSy ec Words ` e in .+ #' 2 _i =i ,/ & at reverse >t0> blMV | all 2 letter words starting with ` e ev ei ec ef ed ` ./CoSy/CoSy.f F> nlVM >t1> `_ : t0 "bl ' cL 'L ' cL 'R ' con 'R ,/ ( 0 cellVecInit refs+> constant ev | : ev | empty vector 0 intVecInit refs+> value ei | : ei | empty integer vec | renamed from evI 20190121. s" " refs+> constant ec | : ec | empty char string 0 floatVecInit refs+> constant ef | : ef | empty float vec : () : ed ( -- emptyDic ) ev enc 2 _take ( TypeDic over Type! ) ; ) | ======================== | Wed.Feb,20240214 | ======================== | ` - Words i( 6 3 43 5 )i i-1 *i f( 2 3 3.14 )f ' +f ./ 20 _iota i( 3 5 )i take ' +i ./ f>i -1*i ` Vecinit :?? ` convo ?? 20240225.0923 `( Artjoms.Šinkarovs Robert.Bernecky Sven-Bodo.Scholz )` i( 6 3 43 5 )i ' +i ./ |>| | non-stable insertsort demo \/ i( 0 3 1 )i 5 _fill `i 6 cL >t0> t0 enc R0 psorti flip cL fmttbl| | 20240215.2251 | ` sigdig ?? ` sys Dv@ `__ aba ?? `_ constant t0 ' cL 'R ' ?? 'm | ,/ ,/ nlVM # | ` cons con | definitions of ones which are constants R0 ' ?? 'm ` ./CoSy/CoSy.f F> nlVM >t1> `_ : t0 "bl ' cL 'L ' cL 'R ' con 'R ,/ | ======================== | Mon.Feb,20240226 | ======================== | Removed from CoSy.f . never used . idiosyncratic | : aba ( a b -- a b a ) | ref inced ` over | over dup+ ; | ======================== | Tue.Feb,20240227 | ======================== | ` at :?? 1. 5.e-6 f- _f fmtF18 ` :?? :?? `f 1 Pi ^f Pi t1 `_ ei con t0 | ' :?? 'm s" constant ef" ?? `__ ef ?? ` xor ?? ` value Help | ======================== | Thu.Mar,20240307 | ======================== | ` C:\CoSyBob\acnts\y24\Acnts.csy F>/\ ` C:\CoSyBob\acnts\y24\Acnts.csy \/>F ` C:\CoSyBob\acnts\y24\Acnts.csy F>/\ >T0> # T0 1th >t0> # t0 15 23 2_i thru at@ ` enc' See | ======================== | Sat.Mar,20240309 | ======================== | | 20240310.1745 | | prompted by a discussion on LI . i( 1 1 0 1 )i >t0> `i 2 >t1> : base> 2p i1 R@ reverse cL L@ # fill ' *i .\ reverse L@ doti 2P> ; i( 1 1 0 1 0 )i `i 2 base> |>| 26 i( 1 1 30 )i i( 24 60 60 )i base> i( 2 1 2 1 )i i( 100 25 10 5 )i doti ` doti :?? `f 278.6 `f 273.15 f( -60 -56 -54 -50 )f +f |>| `f 273.15 `f 255 -f f( -60 -56 -54 -50 )f +f >base ` >base reverse >t0> # `i 2 $ take ' *i .\ t0 *i ' +i ./ ` doti See i( 1 2 )i 5 _fill ' *i .\ i( 1 1 0 1 0 )i reverse doti i( 24 60 60 )i i1 cL reverse ' *i .\ reverse `i 13 fmtI% ` fmt Words ` fmtI% ?? | ======================== | Wed.Mar,20240313 | ======================== | | `i 21 `i 8 +i 24 _i modi ` >t0 :?? ` day ' find onvan ` day van type ` type Help DMP | : >t0> dup : >t0 ( ob -- ob ) t0 refs- refs+> to t0 ; : Value ( lst name -- ) >r refs+> s" value " r> cL Eval ; `i 24 ` day -> day i( 12 24 48 96 )i ` day -> day | : To ( lst name -- ) s" to " $ cL Eval ; | 20240322 | : Value ( lst name -- ) >r refs+> s" value " r> cL Eval ; | reorder to make functional : ->v ( value name -- ) dup van find ?dup 0if 2drop Value ;then --b rplc ; | Create name with value if not defined . Replace its value if already defined . | Changing name from ` working ` -> because not infix `i 24 ` day ->v day `i 36 ` day ->v ` Eval :?? ` ' :?? ` >T0 :?? ` day ` ?dup Help ` rplc :?? ` day See | van find res> blVM # `i 24 ` day -> | c ' find onvan drop DMP DMP ` ?dup Help `( value +lto +to addr constant local[ lto to `( variable variable, )` ' :?? 'm ` variable, Help ` rplc :?? ` -> See ` day See ` ./src/reva.f F> nlVM s" ' " con ` ./src/revacore.asm F> nlVM s" ' " con ` See ` ' Help ` find Help ` rplc :?? ` value Allwords $ con | ' :?? 'm ` :: :?? ec Help create t0 `( value ['] 'value setclass ((const)) )` ' :?? 'm `( classes flow-control program-control )` ' Help 'm ` dict? `( Help :?? )` ' Eval 'R ` (value) :?? ` 'value ?? `i 24 ` day s" >value " $ cL Eval day ` ((const)) ?? `( isa then,> )` ' Help 'm ` header Help t0 blVM ' Help 'm res> blVM >t0> ' Help 'm ` 'does ?? t0 blVM ' Help 'm rUpdate ` dict? Help ` ' :?? ` value Help `( local[ )` ' ?? 'm Allwords ` als con ` words Words ` find Help ` (see) ?? ` day : ' find onvan drop DMP DMP ` onVan :?? | ======================== | Thu.Mar,20240314 | ======================== | Tau fmtF18 ,/ |>| 6.283185307179586476 | 20240318.1200 | ` value Help `( '' 'value find-dict )` ' ?? 'm ` link Help res> blVM >t0> ' Help 'm f( 40 32 )f ' %f ./ ` Type@ :?? `( alias alias: )` ' Help 'm `( # i# )` ' :?? 'm | 20240319.1841 | | 20240320.0740 | | changed names ` -> to ` ->r . ` >- to ` r>- | in Tui.f to free up for use in assignment Ft lfVM .+ ` >- con $ ` -> con ,L ` Pi :?? ` fpi :?? res> lfVM ` pi con | ======================== | Sat.Mar,20240323 | ======================== | : >bool ( n digits -- boolean list ) ' >_ on2 32 binary (p.r) decimal _str ` 1 =c ; 128 32 2_i >bool 16 _iota { 4 _i >bool } 'm i( 2 2 )i ' take 'L >t0> fmttbl| t0 ' #' 'm fmttbl| f( 800 1600 )f sqrtf ` 2 Words : poly ( x coefs -- value at x ) .+ # iotaf --bac ^f *f +/ ; 8 _iota { 3 _i >bool } 'm >t0> ' i>f 'm t0 ' f>i 'm t0 `f 2. t0 ' i>f 'm ' poly 'R ' f>i 'm ,L fmttbl| 0.035274 _f 1%f | ======================== | Mon.Apr,20240408 | ======================== | 260. .6 f* _f ` > Words ` ,sv>lst :?? ` tblbal :?? `( @ ! )` ' See 'm : tst @ ! ; ` tst See ` ;inline Help ` ` C:\CoSyBob\acnts\y24\BobA\WalMartCap1_2401.pdf Shell ` sm/rem Help ` [IF] :?? : Value ( lst name -- ) >r refs+> s" value " r> cL Eval ; | reorder to make functional : ->v ( value name -- ) dup van find ?dup 0if 2drop Value ;then --b rplc ; | Create name with value if not defined . Replace its value if already defined . | Finally added `( Value ->v )` to 20240408.2008 ` Daysdif :?? ` gregorian>fixed Help ` ->v See ` (p.r) Help i( 4096 3840 )i `i 2 %i | ======================== | Mon.Apr,20240422 | ======================== | s" F a" `( + - - + + + - - + - + - - + - + - - + + + - - + )` ' cL 'R ' Eval 'm F 56 _i i( 2 8 )i %i ` sb Words ` WSb :?? ` c>f :?? `i 101 iotaf c>f ( i( 10 10 )i take ) c>f ` ASCIIbrowser Dv@ ` C:/CoSyWeb/index.html F> rUpdate | ======================== | Wed.Apr,20240424 | ======================== | | 20240426.1629 | | 20240427.1517 | | 20240428.2234 20240428.2235 | ` C:\CoSyBob\MailLists.csy F>/\ >t0> # t0 ` state v@ ` C:\CoSyBob\MailLists.csy202404271658.csy F>/\ ` state v@ >t1> t1 t0 ` state v! t0 ` text v@ t0 ` C:\CoSyBob\MailLists.csy \/>F res> >T0> lfVM # DeGrasse Tyson Tee : ` INTELLIGENCE `( I T E S A 0 )` `( 1 7 3 5 4 0 )` ,L flip ' ssr Y./ ` include Help res> >T0> T0 `(

" )` ' ssd Y./ ` dsc | dnames | ` state v@ # ` state v@ 1000 dump T1 lst R0 # lst ` nonce ?? ` R0 ?? res> >T0> T0 c>i nub sorti | ======================== | Wed.May,20240508 | ======================== | 12 _i iota i( 4 3 )i take >t0> t0 i( 0 1 2 3 )i ' *i 'd >t1> t1 ' +/ 'm `( _i 'd 'm )` ' :?? 'm ` C:\CoSyBob\MailLists.csy F>/\ ` state v@ ` loops ?? Allwords ` loop con `( loops loop unloop )` ' Help 'm | ======================== | Thu.May,20240516 | ======================== | from acnts : fullPaths/b ( dir -- fullpaths_to_all_items ) .+ ` /b cL Dir nlVM ' cL 'R ; | added to ` ./CoSy/Furniture.f ` dir Words ' :?? 'm ` fullPaths/b See i( 1 2 3 4 )i `i 1 ' +i 'd R0 ,/ | ======================== | Tue.May,20240521 | ======================== | | Working on accounts , got terminally irritated w formatting of multple account . | wrote | : fmt__ fmt blMV ; | replacing ` fmt in ` fmttbl . | emded with : fmt__ dup @ if fmt ;then fmt 1 _cut -1 _cut lf>bl drb ; `( PLBvisa PSBT )` fmt__ f( 3 43.66 )f enc' fmt__ | 2106 | | ` D:\CoSyBob\MailLists.csy F>/\ ` state v@ t0 ` state v! t0 ` state v@ t0 ` C:\CoSyBob\MailLists.bk F>/\ >t0> ` state v@ # t0 ` state v@ t0 ` C:\CoSyBob\MailLists.csy \/>F s" C:\CoSyBob\MailLists - Copy (2).csy" F> # | /\ ` state v@ # ` D:\CoSyBob\MailLists.csy F>/\ ` state v@ s" C:\CoSyBob\MailLists.csy202404271658.csy" F>/\ ` state v@ R0 ` C:\CoSyBob\MailLists.csy \/>F | >/\ ` state v@ ` csv>lst :?? ` lst>csv :?? f( 35 1.2 )f ' %f ./ `i 2 10 _take i( 2 2 2 2 2 2 2 2 2 2 )i R0 ' *i ./ |>| 1024 | ======================== | Sun.May,20240526 | ======================== | 30 _iota i>f i( 3 5 )i take >t0> t0 ' avgf aaplym ` aaply :?? ` www :?? ` Y./ :?? `(

" )` | ======================== | Mon.May,20240527 | ======================== | 273.15 17.2 f+ _f ` avgf :?? | 1332 | 100 _iota +/ f( 23 4 6 4 )f ` ` rand Words `i 100 randf >t0> ` C:/CoSyWeb/y24/TSLA.csv F> (' "lf ` , ') csv>DT >T0> fmtDT| T0 ` Close v@ ' str>f 'm ,/ >t0> t0 f1. 5 _take { *f avgf } convof f0. ` convo ?? t0 i( 5 250 )i take 5 _iota ' rotate 'd flip ' ,/ 'm -4 _cut ' avgf 'm ` rotate :?? ` csv Words ` csv>lst :?? `( Words :?? See )` ' :?? 'm ` prt Words ` prtF 107389. 0.73549875 f* _f f( 1.02 1.048 )f 10. _f ^f ` tasklist Shell> >t0> rUpdate t0 lfVM ` reva con ec >T0 T1 ` shell Words | ======================== | Tue.Jun,20240604 | ======================== | t0 245 _i `( th st nd rd th )` 10 _fill >value suffixs : nths .+ fmt dab $ 10 _i modi suffixs $ at cL ; `i 100 10 _iota +i ' nths 'm blMV ` thru ?? ` C:\CoSyBob\MailLists.bk F>/\ ` state v ` C:\CoSyBob\MailLists.csy F>/\ >t0 | ` state v@ DMP s" C:\CoSyBob\MailLists - Copy (3).bk" F>/\ ` state v@ t0 ` state v! t0 ` state v@ s" C:\CoSyBob\MailLists.csy202404271658.csy" F>/\ ` state v@ ` nth :?? 245 _i 10 _i modi `( th st rd th )` 10 _fill >t0> 245 _i >t0> fmt dab 10 _i modi at cL ` .+ :?? ` memb ?? cL ' cL 'd ` ? Words ` mod Words ` f? :?? f? _f? Digits dig Words 3456 10 mod _i ` mod Help | ======================== | Wed.Jun,20240612 | ======================== | ` www :?? ` shell> :?? 24 _iota .+ `i 6 +i ,L 24 _i modi fmttbl| ` shell ?? | ======================== | Thu.Jun,20240613 | ======================== | ` C:/CoSyWeb/y24/TSLA.csv F> (' "lf ` , ') csv>DT >T0> | read in the .csv data . covert to CoSy DictionaryTable T0 fmtDT| T0 `( Close Volume )` { v@ ' str>f 'm } 'R >t0> fmttbl| | extract the ` Close & Volumes & convert from text to floats t0 0 _at .+ 1 _cut $ -1 _cut -f >t1> | calculate pairwise Close differences t0 t1 enc cL t1 t0 1 _at -1 _cut *f 1.0e6 _f %f enc cL fmttbl| | multiply by volumes , scale by a million & display t1 t2 ,/ +/ curl $0 curl -s 'https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1' | jq . T0 `( Close Volume )` ' v@ 'R t2 1.0e6 _f %f enc' fmt cL fmttbl| t0 fmttbl| ` fmt Words ` fmt__ ?? ` sort ?? ` exp ?? ec Help t1 ' -f '.. >T1 t1 t1 # t1 ` F> :?? ` '.. ?? Volume )` { v@ ' str>f 'm ,/ } 'R al;dmn ;aslkj ewr;lqw fg sdf; | 1935 | R 0th R ` text v@ ` sys Dv@ | ======================== | Sat.Jun,20240615 | ======================== | | 1022 | s" C:\CoSyWeb\index.csy" F>/\ >t0> dsc enc' ` fmtt Words tradingview.com | 1818 | T0 fmtDT| T0 0th fmt__ ` fmt__ ?? T0 ` Close v@ ' str>f 'm ,/ >t0> t0 | `i 4 ' fmax convof ` maxf :?? ` convof ?? text> daylncut ` convof con t0 f1. 4 _take { *f maxf } convof | \/ | www CoSySource | \/ | ` www :?? : www ( str -- ) ` .\CoSy\BROWSER.txt F> "bl cL $ cL shell^ ; ` .\CoSy\BROWSER.txt F> |>| ""C:\Program Files\Mozilla Firefox\firefox.exe"" ` .\CoSy\BROWSER.txt F> ` https://youtu.be/jJZUg_Hzkf8 ` .\CoSy\BROWSER.txt F> "bl cL $ cL ""C:\Program Files\Mozilla Firefox\firefox.exe"" https://youtu.be/jJZUg_Hzkf8 R0 shell^ ` shell^ :?? ./CoSy/Furniture.f : Shell : shell^ ( str -- str ) dup van shell ref0del ; ` shell :?? ` F8 ?? { textwdo curln str www } z" K_F8" set-callback `( sys CoSySource )` Dv@ >t1> # text> daylncut # | ` CoSySource con ` needs Words ` .needs ?? .needs> ` .needs See ` uses-list See ` word Words ' See 'm ` needs ?? ,/ ,/ (' "ht "bl ') ssr lfVM ` needs in | { blVM 1th } 'm >t0> # t0 t1 ,L fmttbl| t0 | t1 ` / prt>> t0 | ` / ' prt>l t1 | ======================== | Mon.Jun,20240617 | ======================== | ` shell Help 10 | Tristan zoom | worked ! | 1108 | "C:\Users\bob\OneDrive\Documents\zoom\2024-06-17 09.49.45 my meeting\video1643055440.mp4" s" curl -s 'https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1' | jq . " >t0> https://curl.se/docs/manpage.html https://curl.se/windows/microsoft.html https://www.windowsdigitals.com/run-curl-commands-in-windows-11-examples/ ` Shell> ?? s" curl --version" Shell> s" curl -O https://google.com/robots.txt" Shell> s" curl -o C:\\4thCoSy\CoSy\tmp.txt https://google.com/robots.txt" Shell ` C:\\4thCoSy\CoSy\tmp.txt F> # |>| 230 s" curl -s "https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1' | jq .\" " >t0> s/" curl -s \"https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1\" " >t0> t0 Shell> >t1> T1 >t1> t1 ` , VM R0 # t1 `( [ ] )` braketed t1 ` [ VM 1 _cut ` ] ' prtt2> fmttbl| ` braket Words ' :?? 'm t1 ` { tokcut 1 _cut { ` } ' VM 'L | ` , ' VM 'L } 'L fmttbl| ` toksplt :?? ` s/" :?? ` strings Help res> >T0> # T0 `( { } )` ' ss 'R T0 ` { VM s" curl https://CoSy.com" Shell> >t0> # |>| 65716 t0 "nl VM >t1> # |>| 919 t1 #' 20 _take ,/ |>| 76 0 0 0 0 0 0 0 0 2 110 2 0 2 2 281 0 0 2 202 i0 =i ,/ 20 _take t1 ` C:\4thCoSy\CoSy\Graphics\tstsvg.html F> ` get See CoSyDir Dir s" cURL https://cosy.com/4thCoSy/Code/CoSy/Graphics/svg.f " Shell> | rUpdate ` Shell> ?? ` rand Words ' :?? 'm `i 1000 `i 3 $ rand `i -1 +i >t0> +\ t0 i( -1 0 1 )i ' =i 'R ' +/ 'm R0 ,/ +/ t0 +-splti ` +- ?? ` graph ?? ` \ Words 4 sigdig ! ` "2024-06-17T05:00" `( " - : )` ' ssd Y./ `( T . )` ssr str>f 20240617.0000 : timecnvrt [ `( " - : )` refs+> ] literal ' ssd Y./ [ `( T . )` refs+> ] literal ssr str>f ; t2 0 _at ' timecnvrt 'm 5 _take s" cURL https://cosy.com/4thCoSy/Code/CoSy/Graphics/svg.f " Shell> | rUpdate s" cURL https://cosy.com/4thCoSy/Code/CoSy/" Shell> >t0> | rUpdate | t0 lfVM i( 7 -2 )i ' cut Y./ | why not work ? t0 lfVM `i 8 cut `i -3 cut >t0> t0 dsc ` href=" prt>f | c>i | ` " ss ` " c>i t0 { ` href=" prt>f ` "> prtf :?? `( literal ?literal compile literal, )` ' Help 'm | ======================== | Tue.Jun,20240618 | ======================== | s" cURL https://cosy.com/4thCoSy/Code/CoSy/" Shell> >t0> t0 lfVM `i 8 cut `i -3 cut >t0> t0 { ` href=" prt>f ` "> prt lfVM 8 _cut -3 _cut { ` href=" prt>f ` "> prt ; : wwwDir wwwGet lfVM 8 _cut -3 _cut { ` href=" prt>f ` "> prtlst ` text v@ : wwwGet/\ wwwGet str>lst ; t0 str>lst ` text v@ ` F>/\ :?? ` wwwGet :?? ` https://cosy.com/4thCoSy/Code/CoSy/WorkLog.txt wwwGet ` https://cosy.com/4thCoSy/Code/CoSy/Graphics/ wwwDir | 2206 | | Read from web save as ` T0 s/" curl \"https://query1.finance.yahoo.com/v7/finance/download/TSLA?period1=1687145877&period2=1718768277&interval=1d&events=history&includeAdjustedClose=true\" " Shell> >T0 T0 T0 (' "lf ` , ') csv>DT >t1> fmtDT| | convert to DT t1 0 _at ' dab 'm enc t1 0 _at! t1 fmtDT| | delete the spaces in names to make life simpler t1 ` Date v@ { ` - ssd str>i } 'm t1 ` Date v! | convert dates to integers I find convenient 2 sigdig ! | set the significant digits to output of floats . this is pure Forth t1 >T1> fmtDT| | Male a persistent copy at this point in case of bombs ( easy to bomb ) `( Open High Low Close AdjClose Volume )` { >a T1 a@ v@ ' str>f 'm T1 a> v!> } 'm | convert all the data columns to floats T1 fmtDT| | rUpdate | display in decent format | compute the averages of each column T1 `( Open High Low Close AdjClose Volume )` dsel 1th >t0> .+ { ,/ +/ } 'm $ dsc # i>f %f ,/ 218.69 222.75 214.43 218.57 218.57 109705570.24 $ #' i>f %f t0 fmttbl| t0 3 _at ,/ +/ t0 { ,/ +/ } 'm t2 { ' str>f 'm } 'm >t2> t2 t1 `( Open High Low Close AdjClose )` v! dsel >t2> t2 1th { ' str>f 'm } 'm { >a t1 a@ v@ ' str>f 'm t1 a> v! } 'm enc t2 1 _at! t2 fmtDT| t1 fmt >a> dsel 1th { ' str>f 'm } 'm t1 a> ' v! 'R t1 fmtDT| ` str>f :?? ` v! :?? | \/ | WWW functions | \/ | : www ( str -- ) ` .\CoSy\BROWSER.txt F> "bl cL $ cL shell^ ; | open URL in BROWSER . .\CoSy\BROWSER.txt must be string to open browser . | Changed from vestigial R s" BROWSER" v@ to centralize 20211031.1053 | see 20240618 : wwwGet s" cURL " $ cL Shell> ; | retrieve contents of a URL . : wwwDir wwwGet lfVM 8 _cut -3 _cut { ` href=" prt>f ` "> prtlst ; | retrieve a CoSy Job from the Web and convert to CoSy dictionary list of names & values | ======================== | Wed.Jun,20240619 | ======================== | | 0642 | ` word Words ` parsews Help 25. 3.2 2_f %f | ======================== | Sun.Jun,20240623 | ======================== | ` https://cosy.com/4thCoSy/Code/CoSy/math.f wwwGet nlVM ' htVM 'm ` C:\4thCoSy\CoSy\K_verbs.csv F> "nl ss ` cov See ` (' :?? | ======================== | Mon.Jun,20240624 | ======================== | ` get Words ` www ?? | ======================== | Wed.Jun,20240626 | ======================== | T1 fmtDT| T1 ` Close v@ ' maxf ./ ,/ 5 _take `f .02 +f ` f Words >t0 t0 t0 `f .04 *f T1 ` Close v@ ' maxf ./ ,/ >t0> |>| 184.86 t0 f( .01 .02 .03 )f *f >t1> |>| 1.85 3.70 5.55 t0 t1 -f |>| 183.01 181.16 179.31 ` :; See ` *f :?? : *f ' f* eachDfr ; | * 2 float vecs ` Balance .+ .+ dsc upper $ 0 _at! : Capitalize vdup .+ .+ dsc upper $ 0 _at! ; | capitalize first character of a string | /\ | added to ./CoSy/Furniture.f s" asdr " >t2> Capitalize | ======================== | Thu.Jun,20240627 | ======================== | | 1931 | accidentally blew away ./CoSy/Furniture.f ! restored from 0618 | bombed on ` www undefined in ` Tui . Commented out using Notepad s" www " ?? ` C:/4thCoSy/CoSy/Tui.f.bk F> ` C:/4thCoSy/CoSy/Furniture.f.bk F> | lfVM ` www con ` www See | ======================== | Sat.Jun,20240629 | ======================== | text> daylncut ` full con ` full Words | ' :?? 'm ` fullpaths/b See ` Dir See : tst ; ` tst See : fullPaths s" |" VM >a> dsc s" /" cL a> 1 _cut ' cL 'R ; | 20200916 | CoSyDir Dir ` fullPaths/b See f( 24 60 60 )f ' *f ./ `f 20 c>f | ======================== | Sun.Jun,20240630 | ======================== | | ======================== | Wed.Jul,20240703 | ======================== | f( 540.50 469.50 )f (' ' -f ' %f ') ' ./ 'R ,/ ` ' `( Help See )` ' Eval 'R ` ' `( Help See )` ' Eval 'R `_ ' :?? ` execute (' ' Help ' See ') ' xeq 'R `( execute @execute exec )` ' Help 'm s" exec " ?? 24 _iota `i 15 +i `i 24 modi `i 7 _rotate ` rotate :?? `( (' `( )` ' :?? 'm 1920 12 17 * * _i |>| 391680 | ======================== | Thu.Jul,20240704 | ======================== | f( 540.50 469.50 )f (' ' -f ' %f ' *f ') ' .\ 'R (' ' -f ' %f ') | ======================== | Fri.Jul,20240705 | ======================== | res> lfVM dae >T0> T0 { ` $ prt>l str>f } 'm ,/ +/ | ======================== | Wed.Jul,20240710 | ======================== | Re: https://www.facebook.com/Kiremagkirimi/posts/pfbid0wZ6ZyFbpZEewZMNVJ4tpFRqj8xiNU3hhAnDEcSLMKxFA5ZbsP1uExMCpUky1kHfcl http://cosy.com/views/pythag.htm res> >T0> T0 ` i( s" )i " ,L braket Eval >t0> 3 _nsplt flip >t1> fmttbl| t0 : tst [ i( 1 2 3 ) t0 t0 # `i 3 %i partition >t1> : _nsplt _i : nsplt over i# _i $ %i partition ; : _nsplt _i : nsplt over i# _i $ %i partition ; t0 { 2 _i ^i } 'm >t1> t1 2 _take ' +i ./ t1 -1 _at =i ` partition :?? ` take :?? | 20240711.1216 | | \/ | | See Mon.Jun,20240617 | Rather idiosynctratic verb to convert timestamps in format | ` "2024-06-17T05:00" timecnvrt | used by , eg: | s/" curl -s \"https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1\" " >t0> : timecnvrt [ `( " - : )` refs+> ] literal ' ssd Y./ [ `( T . )` refs+> ] literal ssr str>f ; | first working example of embedding ` CoSy list as ` constant in fn | 20240711.1841 | | /\ | s" ] literal " ?? t0 3 _nsplt t1 flip > fmttbl| | `i 2 ' ^i 'L ` time Words ' :?? 'm i( 1 2 )i at { `i 2 ^i } 'm ` Dv_cL :?? | My standard HummingBird mixture `( Fact Fact )` Dv@ lfVM ` gal con |>| 3.785306 1.2 3.7853 f/ _f |>| 0.31702 | 30% by weight I wrote about Pythagorean Triples back in `97 : http://cosy.com/views/pythag.htm . ` Phi :?? Phi |>| 1.-9223372036854775808 Allwords ` greg con ' Help 'm ` ~ Help res> >t0> ' Help 'm ` ~ Words ~doubles ` contexts Help ` d+ ?? 17 _i 6 _i *i | ======================== | Mon.Jul,20240715 | ======================== | `( :?? CShelpFul )` ' :?? 'm #' | ======================== | Mon.Jul,20240715 | ======================== | f( 540.50 469.50 )f (' ' -f ' %f ' *f ') ' .\ 'R (' ' -f ' %f ' *f ') >t0 f( 1 20 300 )f t0 ' .\ 'R | 20240717.1952 | (' ' -f ' +f ') >t0 f( 278.6 2.3 )f t0 ' ./ 'R ,/ |>| 276.30 280.90 R0 `f 273.15 -f |>| 3.15 7.75 ` C:\CoSyWeb\y24\NL2024_07.html F> >t0> nlVM ` color con t0 ` /\ ` text v@ daylncut ` thu.jul con ` \CoSyBob\MailLists.csy F>/\ ` state v@ DMP | ======================== | Fri.Jul,20240719 | ======================== | || 20240720.0854 | Conor Hoekstra | APL vs BQN vs J vs Q vs NumPy vs Julia vs R https://www.youtube.com/watch?v=8ynsN4nJxzU ` rand Words ' :?? 'm mat 10 16 2_i rand i( 4 4 )i take ` mat ->v mat i( 1 0 )i | 5 _i fill i( 4 4 )i take | Make a i( 4 4 )i identity matrix `i 4 iota .+ ' =i 'R : CH_Imati iota .+ ' =i 'R ; | Conor's method for maing X matrix 4 _i CH_Imati 4 _Imati | .+ reverse \/ >t1> | ori t1 mat /\ t1 .+ mat /\ == `i 1 `f 1 == 10 _iota i( 1 -1 )i +i mat >a i( 1 0 )i a@ # i1 +i fill a # 2 _take take .+ reverse \/ >t1> | ori 4 _i Im ' f>i 'm ` Im :?? ` matr ?? 123 _i 7 _i andi ` >value ?? Conor Hoekstra code_report | 1 Problem, 24 Programming Languages | https://www.youtube.com/watch?v=U6I-Kwj-AvY i( -3 -2 -1 0 0 1 2 )i .+ i0 i +/ \/ `( .+ $ )i ' :?? 'm i( -3 -2 -1 0 0 1 2 )i -0+i |>| -1 -1 -1 0 0 1 1 | i( -3 -2 -1 0 0 1 2 )i { i0 i +/ /\ : MaximumCount .+ i0 i +/ \/ ; i( -3 -2 -1 0 0 1 2 )i MaximumCount ` sn :?? ` splt Words ' sn eachMir | ======================== | Mon.Jul,20240722 | ======================== | s" C:\4thCoSy\CoSy\sort - Copy.f" F> ` https://cosy.com/4thCoSy/Code/CoSy/sort.f wwwGet ` www :?? | 1950 | never saved www Words > Furniture bcz | \/ | WWW functions | \/ | : www ( str -- ) ` .\CoSy\BROWSER.txt F> "bl cL $ cL shell^ ; | open URL in BROWSER . .\CoSy\BROWSER.txt must be string to open browser . | Changed from vestigial R s" BROWSER" v@ to centralize 20211031.1053 | see 20240618 : wwwGet s" cURL " $ cL Shell> ; | retrieve contents of a URL . : wwwDir wwwGet lfVM 8 _cut -3 _cut { ` href=" prt>f ` "> prtlst ; | retrieve a CoSy Job from the Web and convert to CoSy dictionary list of names & values | 20240722.2216 | added to ./CoSy/Furniture.f | had to move til > prt>f | res> lfVM dae >t0> t0 ` :; ' braketed 'L ' deb 'm "bl ' prt>f 'L | ,/ blVM dae >t1> t1 | Allwords $ ' where 'R ` defined ?? | ======================== | Tue.Jul,20240723 | ======================== | | 1129 | s" C:\4thCoSy\CoSy\sort - Copy.f" F> ` https://cosy.com/4thCoSy/Code/CoSy/sort.f wwwGet ` C:/4thCoSy/CoSy/ />\ ` /b cL Dir nlVM ` sort con ` Dir See ` See See | :?? s" C:\4thCoSy\CoSy\Furniture - Copy (2).f" F> rUpdate rGet lfVM ` www con s" C:\4thCoSy\CoSy\Furniture - Copy.f" F> lfVM ` www con nil >R0 ` hsort See ` c>f :?? : c>f ( fv -- fv ) 1.8 _f *f 32. _f +f ; | centigrade to farenheit | 20141124 11 _iota 4 _i *i i>f .+ c>f ,L flip ' ,/ 'm | ======================== | Thu.Jul,20240725 | ======================== | | renaming & redefining in ` ./CoSy/math.f | : Im ( n -- n*n_IdentMat ) 1. 0. 2_f --abca rep take cL swap 2 _take take ; : Imati ( n -- n*n_IdentMat ) .+ [ i( 1 0 )i refs+> ] literal $ 1+i fill $ 2 _take take ; : Imatf Imati i>f ; 5 _i Imatf ` Imati See | factored . was | : i>f ( intVec -- floatVec ) | convert int to float | dup i# dup floatVecInit temp ! | 0 ?do dup i ic@ temp @ i ix swap s>f f! loop | ref0del ; | defined to factor ' i>f : eachMifr ( intVec fn -- floatVec ) | convert int to float >lpstk dup i# dup floatVecInit >aux 0 ?do dup i ic@ aux@ i ix swap lpstk@ execute f! loop ref0del lpstk> drop aux> ; : i>f { ' s>f eachMifr } aaplym ; | 1807 | ` thru :?? ` av Words Dnames ` ALPHabet Dv@ i( 4 4 )i take ` ALPHabet Dv@ i( 2 2 2 )i take | 2031 | | ======================== | Fri.Jul,20240726 | ======================== | : CH_Imati iota .+ ' =i 'R ; | Conor's method for maing X matrix `i 20 CH_Imati 5 _iota i( 4 4 )i take | .+ ' 'R 4 _iota .+ ' rotate 'r : Imati ( n -- n*n_IdMat ) .+ [ i( 1 0 )i refs+> ] literal $ 1+i fill $ 2 _take take ; 10 16 2_i rand i( 4 4 )i take ` mat ->v mat : CheckMatrix .+ # Imati .+ reverse \/ .+ --bac /\ == ; : CheckMatrix .+ # iota .+ ' =i 'R .+ reverse \/ .+ --bac /\ == ; mat CheckMatrix `( .+ # $ )` | ' :?? 'm { 1th lfVM ` : in } 'm ( .+ | ' dup with reference incrementing # | count of items in list $ | alias for swap ) s" rot rot" ?? ` --cab :?? ` rot :?? ` ,sv>lst :?? ` "msk :?? | evaluating cigar options f( 6.5 74.99 )f f( 4.5 49.99 )f %f Ring size , diameter in 1 64 % | inch f( 50 52 54 60 )f .+ `f 2 ^f .+ ' %f 'R ' cL 'd : foo [ 4 ] literal ; ` foo See ` fullPaths/b :?? CoSyDir Dir ` Dir :?? s" dir " Shell> | ======================== | Thu.Aug,20240801 | ======================== | https://www.facebook.com/stephen.rasey/posts/3911268975776966 10 _i randf >t0> 10 _i randf >t1> ,L ( 0.90 0.66 0.26 0.47 0.97 0.79 0.47 0.77 0.26 0.42 0.47 0.82 0.96 0.32 0.94 0.13 0.81 0.39 1.00 0.70 ) t0 t1 ^f ' *f ./ t0 t1 *f ' +f ./ ,L |>| 0.01 3.61 t0 `f 2 *f >t0> |>| 3.59 2.63 1.03 1.90 3.88 3.16 1.86 3.07 1.03 1.67 t0 t1 ^f ' *f ./ t0 t1 *f ' +f ./ ,L ,/ |>| 80.65 14.43 t0 t1 $ ^f ' *f ./ t0 t1 *f ' +f ./ ,L ,/ |>| 0.00 14.43 | 0743 | SR replied : critical condition , t1 +/ 1 = | in RPN https://challenge.dyalog.com/ s" THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG" ` ABCDEFGHIJKLMNOPQRSTUVWXYZ >a> { =c +/ } 'R ,/ a> $ ,L flip | 1047 | : monthlyi 100 _i %i ; | added to Furniture.f | ought to be merged , genericized res> >T0> T0 lfVM dae >t0> #' ,/ t0 .+ ` + inb & 1+i 0cut >t1> # t1 "bl ' cL 'L 6 _i ' fill 'L lfMV rUpdate t1 blMV lfMV ` C:/CoSyWeb/WP/admin/acnts/y24/SabrinaPP_ytd.txt >F rUpdate ` drb :?? fmttbl| ` in Words' ` inb :?? t0 i( 31 3 )i take Allwords # ` csv ` pi Words `( fpi* fpi Pi )` ' :?? 'm s" fpi " ?? ` ./lib/math/floats F> nlVM s" : fpi " con | ======================== | Sat.Aug,20240803 | ======================== | | 0831 | https://x.com/ExcelEasy/status/1817992235406786941 | something is WRONG w ` dev ` dev `( See :?? )` ' Eval 'R ` :?? :?? ` i@ :?? ` ifetch :?? ` ic@ :?? ` ix :?? ( 006399C8 E8 D3 FF FF FF call var 006399CD E9 B6 62 FF FF jmp sqrtf ( ` ./CoSy/math.f F> : var 1p> ^2f avgf R@ avgf ^2f -f 1P> ; : varS .+ avgf -f ^2f .+ +/ $ # i1 -i i>f %f ; : devS varS sqrtf ; R ' # 'm R 0 _at R ` text v@ 6 sigdig ! f( 5 1 4 6 9 )f dev |>| 2.607681 8.5 _f sqrtf : avgf .+ +/ $ # i>f %f ; : var .+ ^2f avgf $ avgf ^2f -f ; f( 5 1 4 6 9 )f dev .+ avgf -f ` avgf `f 25 sqrtf ` C:/CoSy/K/CoSy/math.txt F> ` C:\CoSy\K\CoSy\math_a.txt F> 4082030707 f( 5 1 4 6 9 )f i( -1 0 1 )i at | 1744 | ` www Words ` con Words 5 _i Imati 500 _i iota .+ ' =i 'R R0 # text> "lf VM | ======================== | Wed.Aug,20240807 | ======================== | https://x.com/CoSyBobA/status/1821169240713363678 s" Hi Jim " dab |>| HiJim ` dab :?? s" Hi Jim " dlb ` ws Words ' :?? 'm ` _0ws_ ?? | ======================== | Mon.Aug,20240812 | ======================== | https://www.linkedin.com/feed/update/urn:li:activity:7209647154980655105/ 5 _i { .+ .+ 2 _i *i i-1 +i iota 1+i -i absi .+ ' maxi 'R -i } xeq 5 _i .+ .+ 2 _i *i i-1 +i iota 1+i -i absi .+ ' maxi 'R -i | 5 {{ .+ .+ 2 * -1 + iota 1 + - abs .+ ' max 'R - }} | 1953 | res> >t0> blVM dae R0 # ` dot :?? res> # res> >t0> # t0 >T0> T0 lfVM dae i( 8 3 )i take fmttbl| | ======================== | Sat.Aug,20240817 | ======================== | ` partition ?? | Moving | ` ALPHabet Dv@ | to ambient variable s" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ` ALPHabet ->v | ./CoSy/Furniture.f ALPHabet 2 _partition | ` ALPHabet Dvdel ALPHabet i( 0 3 )i take | bombs ALPHabet i( -2 -26 )i take : nsplt 2p L@ # R@ %i R@ cL L@ $ take 2P> ; | took longer to decide on name than to define | added to CoSy.f | sort of the complement to ` partition . ALPHabet i( 4 )i nsplt ec Words `( 2p L@ # R@ %i R@ cL L@ $ take 2P> )` .+ --cab ' where 'R ,L flip fmttbl| | /\ | see order words defined in | s" C:\4thCoSy\CoSy\WorkLog - Copy (4).csy" F>/\ >t0 t0 dnames t0 .+ 0th $ 1th #' R 1th #' ' cL 'd ,L fmttbl| t0 ` R0 v@ DMP s" C:\4thCoSy\CoSy\WorkLog - Copy (4).csy" startJob ` C:\4thCoSy\CoSy\WorkLog-Copy.csy startJob `f 1.0 5.e-6 _f -f ` https://cosy.com/index.html wwwGet >t0> # t0 rUpdate | ======================== | Sun.Aug,20240818 | ======================== | AI & Robotics https://www.facebook.com/groups/1304548976637542/posts/1957717241320709?comment_id=1958062467952853&reply_comment_id=1958175927941507 https://users.ece.cmu.edu/~koopman/forth/rochester_90b.pdf `( each ' aaply )` { Words blMV } 'm fmttbl| `( Type Count refCount )` | "bl MV Type Count refCount R0 DMP 00E6D880 01 00 00 00 13 00 00 00 01 00 08 00 00 00 00 00 ................ 00E6D890 54 79 70 65 20 43 6F 75 6E 74 20 72 65 66 43 6F Type Count refCo | | 1322 | 20240819.1116 https://www.cosy.com/4thCoSy/ TimeZone `i -600 ` LTZ-UTC ->v | LTZ-UTC `i 900 $ -i ` LTZ-JST ->v | local to tokyo LTZ-JST `i 1000 LTZ-JST +i 2400 _i modi |>| 1600 `i 1000 LTZ-JST -i `i 2400 modi |>| 400 19 4 - _i ec Words `( ymdhms ->v )` ' ?? 'R Allwords # |>| 2398 ` ->v :?? | ======================== | Mon.Aug,20240819 | ======================== | | 0411 | IT'S MY NOTEBOOK | 0443 | ` HelloWorld >t0> # t0 reverse 20 _i iota .+ i( 1 -1 )i +i ,L ` 123.34.89.56 ` . VM ' c>i 'm ` c>i :?? ` ./CoSy/Furniture.f F> s" HelloWorld" ; ` int Words ` ` :?? ` ->v :?? ` ` See ` CoSy c>i | ======================== | Tue.Aug,20240820 | ======================== | https://www.linkedin.com/posts/dyalog-ltd-_aplmonday-learnapl-apl-activity-7231283778319503360-f0dE https://duckduckgo.com/?q=voluum+of+cone&t=newext&atb=v371-1&ia=web https://byjus.com/maths/volume-of-cone/ 1 2 - . ` Pi See : coneVol ( h r -- vol ) ^2f *f Pi *f 3. _f %f ; 5. 2. 2_f coneVol | 0940 | https://cosy.com/y24/NL2024_08_0thTuesZoom.html | 1003 | wwwGet s" https://cosy.com/4thCoSy/Code/CoSy/CoSy.f" wwwGet Allwords # ` words Words ` Allwords :?? ` $ :?? ` swap See | 1048 | | ======================== | Wed.Aug,20240821 | ======================== | ` dot :?? | ======================== | Thu.Aug,20240822 | ======================== | | ======================== | Thu.Aug,20240822 | ======================== | APL-BUG R ' # 'm R dsc R 1 _at #' ,L fmttbl| ` nub Words | ' :?? 'm ` lst>DT See ` $ :?? ` .+ See | ======================== | Sat.Aug,20240824 | ======================== | ` C:/4thCoSy/CoSy/WorkLog-Copy.csy F>/\ ` script0 v@ i( 1 0 0 0 )i >t0> t0 .+ sorti t0 | ======================== | Mon.Aug,20240826 | ======================== | ` mod Help 4 _iota fmtI% | ` 0 $ { cL 2 _i take } 'R >t0> i( 0 0 0 1 1 0 1 1 )i i( 4 2 )i take >t0> .+ { ' ori ./ } 'm ,L fmttbl| ` fmt Words 0 1 2_i xori ` = Words ` =i :?? : xori { ' xor eachDir } aaply ; | bitwise ' xor | finally added to CoSy.f 20240826 5 1 2_i xori | ======================== | Tue.Aug,20240827 | ======================== | .s R0 DMP | 1014 | _n _i ` _n ?? TypeN _i fmtI$ ` nil ?? ` fmt Words ` 0I `( :?? See )` ' Eval 'R ` 0I ?? nil DMP | 1050 | ' R0 _i R0 >_ DMP | ======================== | Wed.Aug,20240828 | ======================== | | Is an integer a power of 2 ? | 20240828 : Po2 ( i -- b ) dup dup 1- and not swap 0 <> and ; | See Stéphane Dalbera | https://www.linkedin.com/posts/sdalbera_%CA%99%C9%AA%E1%B4%9B%E1%B4%A1%C9%AAs%E1%B4%87-%E1%B4%8F%E1%B4%98%E1%B4%87%CA%80%E1%B4%80%E1%B4%9B%E1%B4%8F%CA%80-i-have-regularly-activity-7234934072433668097-2zM3 ` Po2 :?? ` Po2 See 0 Po2 _i 9 _iota .+ { >_ Po2 _i } 'm ,/ M>I ,L `( dup dup 1- and not swap 0 <> and )` { .+ See ,L } 'm : DUP DUP 1- XOR - 0 < 9 _iota .+ { >_ dup dup 1- xor - 0 < _i } 'm ,/ M>I ,L ` 0< See dup dup 1- xor - 0< ` 0 Words ` >=0 See ` <> :?? ` >I :?? ` 0if :?? 2. 0. 2_f ^f ` ^ Words ` ^!! :?? ` M->I ?? : Po2_0 ( i -- b ) dup 1- and not ; ` Po2 See 0 Po2 _i 5 dup 1- and not swap 0 <> and _i | 20240908.1005 | Helmar Wodtke simplified | https://www.facebook.com/groups/PROGRAMMINGFORTH/posts/3505845313048811/?comment_id=3513266535640022&reply_comment_id=3513268315639844&__cft__[0]=AZUDA81QhL_MkQKSBtvc2iUilcpGtlU5Zm7M1f8XrR0ffZngiu6k3bmFbzdwLjhApCbMejcAnkhDMJ9B57cshZwcTT9TR6S9j1znVHl-dktE-D4mNwf0H0GgCQ8e0jaOgI9o97gpDY4P-eHiIN3HpiSdTJExkLgP3daLTcYLGG_k3A&__tn__=R]-R : Po2 dup dup 1- xor < ; 9 _iota .+ { >_ Po2 _i } 'm ,/ M>I ,L | Note | /\ | returns 0 for 1 which is 2 0 ^ | ` Po2 :?? ` Po2 See 0 0 = _i 0=_i ` 0 Words ` 0=i ?? 5 1- _i ` = Help ` > Words s" 0 > " ?? | ======================== | Mon.Sep,20240902 | ======================== | https://www.linkedin.com/posts/dyalog-ltd-_aplmonday-learnapl-apl-activity-7236372336105463809-vOiF s" rShow R0 res> rUpdate rCloseWdo " 3 _partition ` x ->v x x "bl =c ' & 'm >t0> x t0 { ` - --cab at! nil } 'd refs- x x .+ "bl =c ' & 'm { ` - --cab at! nil } 'd refs- x : rplc- .+ .+ "bl =c ' & 'm { ` - --cab at! nil } 'd refs- ; x rplc- t0 s" rShow R0 res> rUpdate rCloseWdo " >t0> "bl =c & ` - t0 R0 at! t0 x { "bl ` - ,L ssr } aaplym ` aa Words ` ssr :?? ` ss :?? | ======================== | Tue.Sep,20240903 | ======================== | ` refs+ :?? ` DEBUGGING ?? | 20240904.1518 | ` `D@ ?? | Deleting from CoSy.f . never used | \/ | | : `D@ ( -- val ) p: ` Dv@ ; | Useful ? 20190326 20220613 ` ` :?? | ======================== | Thu.Sep,20240905 | ======================== | ` >T0> :?? ` htm Words `( S C )` ` -corp ' cL 'L blMV |>| S-corp C-corp f( 1200 .001 )f ' %f ./ ` dot :?? http://glasstables.cosy.com/CornerTableOH.jpg http://glasstables.cosy.com/TriangleTable.jpg http://glasstables.cosy.com/TableMain.jpg http://cosy.com/images/CoSy0_60.gif | ======================== | Sat.Sep,20240907 | ======================== | | ` above average ` avg ?? 8. _f 10 _iota i>f .+ ' +f ./ $ # i>f %f >f > ` refs@ :?? ` `BnR ?? R `text v@ # ` aaply :?? ` sortstr :?? ` dup See | ======================== | Tue.Sep,20240910 | ======================== | Re | https://www.linkedin.com/posts/fermatslibrary_the-exact-number-of-minutes-in-a-week-activity-7238897796039213056-PTdt i( 24 7 60 )i ' *i ./ 7 _iota i1 +i ' *i ./ `i 2 *i cL |>| 10080 10080 7 3 4 x x 2 6 5 x x 2 x _i ` _Fact :?? | 0926 | 10080 10080 | 1019 |* | Sam Falvo ` refs+ ?? res> rUpdate | 1119 | https://aplwiki.com/wiki/CoSy ` help ->r | ======================== | Thu.Sep,20240912 | ======================== | https://www.linkedin.com/posts/menjaraz_i-remember-when-i-first-started-my-career-activity-7239851897078120448-sxW9 | grab the text of the ` res window , delete irrelevant chars , splt on blanks delete any empty | & convert each to integers . res> `( [ , ] )` ' ssd Y./ blVM dae ' str>i 'm ,/ >t0> | do same for second list res> `( [ , ] )` ' ssd Y./ blVM dae ' str>i 'm ,/ >t1> | a word I find very useful is ` venn :?? ( ./CoSy/CoSy.f ... : venn 2p (' R@ L@ ~membv LR@ membv LR@ ~membv ') 2P> ; | returns list of 3 lists : ( x nin y ; x in y ; y nin x ) ) t0 t0 enc' t1 enc' nin ( 123 135 153 183 105 111 117 129 141 ... ) ` ~membv :?? ` >i Words ` str>i :?? ` in Words ` IN :?? text> 1000 _take ` sum ?? i0 100 _take ` 100zeros ->v 100zeros DMP ` vbody ?? ` allwords ?? Xwords .+ { 1th blVM # } 'm ,/ +/ $ # cL Xwords dsc 1th blVM # ` dot :?? 24 _iota i>f i( 2 3 4 )i take >t0> t0 t0 dot | ======================== | Sun.Sep,20240915 | ======================== | `( 'm 'd 'L 'R )` ' :?? 'm | ======================== | Tue.Sep,20240917 | ======================== | s" C:\Tst221227\CoSy\WorkLog.csy" F>/\ # | ` text v@ ` C:\CoSyWeb\index.csy F>/\ ` text v@ s" LIE " 257 _take ` dot :?? ` t f( 0.3 21.8 )f >< ` .. :?? text> "bl =c +/ | ======================== | Thu.Sep,20240919 | ======================== | ` C:\CoSyBob\BobA.csy F>/\ ` text v@ lfVM >t0> # t0 s" ` t " con >t1> t1 s" ` t " ` )f ,L { +braketed+ 3 _cut } 'L >T0> T0 ' Eval 'm >t1> t1 #' ,/ nub t1 { ' -f ./ } 'm >t2> | ,/ | avgf t2 ,/ `f 0 >f & T0 #' ,/ ` brak Words | ======================== | Fri.Sep,20240920 | ======================== | ` avgf :?? i( 3 4 5 )i .+ ' *i ./ iota $ take i>f >t0> t0 +/ i>f } $ aaplym { # i>f } ,L ` HelloWorld >t0> DMP t0 enc 10 _take >t1> t1 DMP vs ' ` t1 See ` value Help ` value :?? : avgf .{ +/ # i>f %f 1P> ; ) ` dot :?? ` ((const)) Help ` ./src/reva.f F> rUpdate Xwords { 1 _at } 'm blMV blVM # R .+ 1 _at #' ,L | ======================== | Sat.Sep,20240921 | ======================== | https://www.facebook.com/Bob.Armstrong.CoSy/posts/pfbid034qzq46oaXtSpzo4oB94G5BR3bBBDrhkrPv2dCqUB23DMBHgwuEvtLxUo1FtKy355l?comment_id=1191724678549298 res> lfVM { ` ? ssd drb blVM 1 _cut } 'm flip reverse ` orbitDays ->v orbitDays orbitDays fmttbl| res> blVM fmt res> >t0> T0 lfVM ' dab 'm blpad pad s" | " ' cL 'L | ' enc 'm fmttbl| ` fmttbl| :?? t0 1 _at ` ' ssd blVM dae | error in ' drb failing to eliminate trailing blank | 20240921.0840 | ======================== | Sun.Sep,20240922 | ======================== | 10 10 _rand `i 5 -i i( 5 2 )i take | ======================== | Mon.Sep,20240923 | ======================== | https://en.wikipedia.org/wiki/Scala_(programming_language)#Examples : ScalaEx i>f .+ *f .+ 3. _f 1%f ^f $ lnf +f f>i ; i( 1 2 5 10 20 50 )i ScalaEx : ScalaEx .+ * .+ 3. 1% ^ $ ln + ; ` ln Words ` lnf :?? ` fln :?? ` #10 ?? #10 10. fln _f : lnf ` def Words ` _f ` lnf defined ` ->v :?? ` l10f :?? ` val Words ` >value :?? 10. fln _f ` _f :?? 10. fln _f >value ln10 ln10 : l10f lnf ln10 %f ; 10. _f l10f `( .+ $ )` ' :?? 'm | ======================== | Tue.Sep,20240924 | ======================== | s" C:\CoSyBob\MailLists.bk" F>/\ ` state v@ : foo1 ( -- 1 | ) s" 1" Eval _i ; s" 1" Eval foo1 res> >t0> # van eval ` eval Help foo1 ` day Words ` dayname :?? s" needs date" ?? ` dayln :?? ` _iota :?? 9 _iota i1 +i >t0> 1 2 3 4 5 6 7 8 9 t0 i( 3 9 )i take i( 0 1 2 )i ' rotate 'd >t1> ( 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 1 2 ) t1 ' +i ./ ,/ -2 _cut 6 9 12 15 18 21 24 6 _i iota .+ `( Type Count Ref# )` ' Eval 'R ,/ ,L ` ref Words t0 | i( 1 1 1 )i ' +i convo | -2 _cut ' +/ 'm i( 1 2 3 4 5 6 7 8 9 )i i( 1 1 1 )i ' + convo f( 1 2 3 4 5 6 7 8 9 )f 3 _i { >_ + } convo | ======================== | Fri.Sep,20240927 | ======================== | ` ymd Words ` greg ?? ` convo :?? ` sum ?? 16777619 _i factors | ======================== | Sat.Sep,20240928 | ======================== | ` str>i ?? ` ->i Words ' :?? 'm `( ec ei ef )` ' :?? 'm `( iota _iota )` ' :?? 'm ` +/ ?? ` Type@ :?? : str>int ( blank_delimited_ints -- int_lst ) s" i( " s" )i " ,L braket Eval ; `( ec ei ef ) ` ` braket ` str>i defined ` braket ?? ` Type :?? ` init Words ' :?? 'm ` dict ?? ` vx_ :?? ` reverse :?? ` move> ?? `( a b c )` i( 1 2 3 )i enc' ,L ` tstd ->v tstd tstd `( c a )` ' v@ 'R | ======================== | Sun.Sep,20240929 | ======================== | 1000. 350000000. f/ _f fmtF18 | ======================== | Tue.Oct,20241001 | ======================== | | 1016 | R dsc R ` text v@ "lf VM in | ========== | PROMINANT WORD LISTS | =========== | ` fmt Words `( csv ,sv pad fmt VM MV day )` ' Words 'm >t0> | "bl ,pad fmttbl| # ` ,pad See : ,pad ' cL 'L pad i-1 ' cut 'L ; t0 ec ,pad fmttbl| ` pad :?? ` pad Words ' :?? 'm nub ' 1th 'm ,/ lfVM ` : in t0 #' ,/ ' maxi ./ ' | ======================== | Sat.Oct,20241005 | ======================== | i( 36 12 24 15 )i ' gcd .\ ` mod :?? ` mod `( ?? Help )` ' Eval 'R `( mod /mod * */ + - / 1+ 1- 2* 2/ << >> )` ' Help 'm | gcd | in K | | Greatest Common Divisor . From Eugene McDonnel's Kidioms list | { * | 1 + & &/' 0 = x !/: 1 + ! &/ x } | ======================== | Sun.Oct,20241006 | ======================== | | ` C:/CoSyWeb/indexTst.html F> >T0> rUpdate pi ` pi Words Pi `f 2 *f Tau == T1 rGet >T1> T1 ` C:/CoSyWeb/indexTst.html >F | -- ` C:\CoSyWeb\CoSy\Simplicity.html F> >T0> rUpdate rGet >T1> T1 ` C:\CoSyWeb\CoSySimplicity.html >F ec rUpdate s/" s\" test \" " s/" " (' s" " ') ` htmlEmbedToks ->v htmlEmbedToks ( ) : htmlEmbed htmlEmbedToks dsc toksplt >a> 1 _cut { htmlEmbedToks 1th toksplt .+ dsc Eval $ 1th cL } 'm ,/ a> dsc $ cL ; ` htmlEmbed See T1 htmlEmbed >t2> # T1 s" " toksplt .+ dsc Eval $ 1th cL >t1> t0 dsc t1 cL t2 ` C:/CoSyWeb/indexTst.html >F Eval Eval s" test " _str ` prt>f :?? ` dot :?? ,L braketed T0 ` C:\CoSyWeb\Tst.html >F f( -1 0 1 )f .+ dot ` C:\CoSyWeb\5_index.html F> nlVM dae >t0> rUpdate | ======================== | Tue.Oct,20241008 | ======================== | | 1020 | f( 14.5 8.5 2 )f `f 2.54 %f ` cm Words f( 3000 0.0001 )f ' *f ./ : fib 600851475143. _f `i 2 `i 31 ^i | ======================== | Thu.Oct,20241010 | ======================== | C:/CoSyWeb/alphas.html ` C:/CoSyWeb/alphas.html F> rUpdate 20 _iota i( 2 2 5 )i take .+ ` <>i :?? =/= ` =i :?? | 0910 | ` <>I :?? ` eachDir :?? | ======================== | Fri.Oct,20241011 | ======================== | | https://www.linkedin.com/in/eric-dasse-b68a56119?miniProfileUrn=urn%3Ali%3Afsd_profile%3AACoAAB2FjAABpaL3zf_vBqQdVtXQr_dnOdXjhyc&lipi=urn%3Ali%3Apage%3Ad_flagship3_feed%3B44590ZLIRe%2BaZQ1eAD0lpA%3D%3D https://www.linkedin.com/posts/eric-dasse-b68a56119_clarity-cleancode-python-activity-7250392202227380224-piOi | ########## # PREFER # ########## ` song_titles `( CRF Hiro Sunflower )` $ ->v | ' $ is Forth ` swap . f( 11000000. 96000000. 2400000000. )f ` YT_views ->v f( 14000000. 118000000. 3500000000. )f ` YT_plays ->v YT_views YT_plays +f ` tot_streams%song ->v s" Number 1 most popular song : " song_titles tot_streams%song .+ ' maxf ./ where at cL total_streams [sum(streams) for streams in zip(youtube_views, youtube_music_plays)] total_streams_per_song = dict(zip(song_titles, total_song_streams)) most_popular_song max(total_streams_per_song, key.total_streams_per_song.get) print(f"Number 1: )most_poPular_son91") `( f( >>fl )` ' :?? 'm ` parsews Help ` `f See `f 3500000000 | BUG ! needs decimal point to convert correctly . parsews 3500000000 ( >double | >float parsews 3500000 >double | >float res> lfVM `( sys CoSySource )` .+ Dv@ ' dab 'm $ Dv! > 'm ` >double See parsews 1234 ` >double ?? ` s>d See 1235 s>d ` comma bye DMP drop _str parsews 3500000000 >double ` >>fl :?? ` >float :?? ` fp-decimal-char ?? 2 _at ` 00; ?? ` variable, Help ` split Help ` s>d ?? " 1346 6789" ` ~doubles Help lfVM dsc blVM ' Help 'm (d.) type | context Words ` doubles ?? ` >double Help ' #' 'm ' ,/ 'm f 3.3 _f ` qwe >>fl ec Help ` eval ?? ` dup ?? ` C:/4thCoSy/lib/math/doubles F> ` C:/4thCoSy/lib/math/doubles F> == ` >single See rGet lfVM ` double conn s" 1234d >double reset ` >double Help | 20241013.1539 | >double just seems to refuse to work so taking alternate path `( f( >>fl )` ' :?? 'm : >>fltst ( a n - see >float ) >float if true else _str ` . cL >single if s>f true else false then then ; parsews 1345 parsews . ` strings Help ` cLsimple :?? ` >_ :?? ` asdf van | giving up . most efficient to get ' >double working . Just adding to Bugs and warning at ` >>fl def ` ToDo ->r Dnames | ======================== | Sat.Oct,20241012 | ======================== | `f 420 f( 2 3 )f %f |>| 210.00 140.00 `i 19620520 Today Daysdif 365.25 62. f* _f | ======================== | Sun.Oct,20241013 | ======================== | res> lfVM >t0> t0 dae ` [ in # `( .+ ->v )` ' :?? 'm `( parse parsews )` ' Help 'm | ======================== | Mon.Oct,20241014 | ======================== | `( nub grp )` ' Words 'm ` nubgrpcx :?? 10 _i iotaf f1. +f { %f +f } ./ `( csv ,sv )` ' Words 'm ` sv Words { 2 _take } 'm nub ` rand Words ' :?? 'm `( a b c d e f )` 5 10 2_i rand at ,/ >t0> t0 t0 nubgrpcx >t1> t1 0th t1 1th ' at 'R : nubgrpcv .+ 0th $ 1th ' at 'R ; t1 nubgrpcv s" rot rot" ?? ` C:/CoSyWeb/alphas.html F> rUpdate rGet ` C:/CoSyWeb/alphas.html >F s" C:\CoSyWeb\alphasDetail.html" >t0> | F> rUpdate rGet t0 >F t0 www t0 | ======================== | Tue.Oct,20241015 | ======================== | | 0853 | s/" s\" test \" " s/" " (' s" " ') ` htmlEmbedToks ->v htmlEmbedToks ( ) : htmlEmbed htmlEmbedToks dsc toksplt >a> 1 _cut { htmlEmbedToks 1th toksplt .+ dsc Eval $ 1th cL } 'm ,/ a> dsc $ cL ; ` C:/CoSyWeb/alphasDetail.html >t0> F> >t1> t1 lfVM ` test con t1 htmlEmbed t0 >F | 20241016.1936 | | ======================== | Thu.Oct,20241017 | ======================== | Allwords # |>| 2418 `( sys CoSySource )` Dv@ >t0> # t0 { F> "cr ssd lfVM ' dab 'm dae # } 'm ,/ +/ |>| 8823 f( 8823 2418 )f ' %f ./ |>| 3.65 ec dab `( sys CoSySource )` Dv@ { F> "cr ssd lfVM .+ # $ dae # cL } 'm >t0> t0 `( at! >at!> )` ' :?? 'm 2 base ! 10110011 01100101 decimal 2_i cL i>c `( 10110011 01100101 )` #' ` base Help . ` hex ?? ' ,/ 'm flip { ,/ +/ } 'm ,/ +/ |>| 10198 ` ->v :?? ` www Words ' :?? 'm nub ` C:/4thCoSy/CoSy/CoSy.csy startJob ` https://cosy.com/4thCoSy/Code/CoSy/ wwwPaths ` https://cosy.com/4thCoSy/Code/CoSy/CoSy.csy wwwGet ` ./wwwCoSy.csy >F ` ./wwwCoSy.csy startJob `( ./wwwCoSy.csy C:/4thCoSy/CoSy/CoSy.csy )` { F>/\ .+ dsc $ 1th #' ,L fmttbl| } 'm fmttbl| ` ./wwwCoSy.csy C:/4thCoSy/CoSy/CoSy.csy )` ' F> 'm #' { F> ( lfVM dae ) } 'm | ' venn ./ | 20241018.1712 | Lambda World 2024 - The Power of Function Composition - Conor Hoekstra https://www.youtube.com/watch?v=W7fjzdEJnvY 9 _iota & i( 1 3 7 5 )i .+ ' take 'd ,/ ` range ?? ` idx Words ` idxs :?? ` & :?? | ======================== | Sat.Oct,20241019 | ======================== | | Re: LI| Stephen Taylor s" don't be mean " i( 1 2 3 4 5 )i .+ {{ .+ +/ $ # %i <>i }} https://www.linkedin.com/feed/update/urn:li:activity:7253513550780907520/ i( 1 2 3 4 4 )i .+ nub # $ # =i | Matchless | 20241019.2328 | Conor | Functional vs Array Programming example | https://www.youtube.com/watch?v=UogkQ67d0nY i( 7 1 5 4 )i .+ ' mini .\ -i i0 $ ~membv i-1 cL ' maxi ./ ` ~membv :?? ` memb Words ` startJob :?? ` stk Words ` lst>stk :?? | ======================== | Mon.Oct,20241021 | ======================== | | NOTE : need to cut & paste link \/ because longer that current CoSy limit of 255 chars . https://www.linkedin.com/feed/update/urn:li:activity:7254119079320428544/?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7254119079320428544%2C7254130277092843520%29&replyUrn=urn%3Ali%3Acomment%3A%28activity%3A7254119079320428544%2C7254203258485780481%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287254130277092843520%2Curn%3Ali%3Aactivity%3A7254119079320428544%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287254203258485780481%2Curn%3Ali%3Aactivity%3A7254119079320428544%29 2 136279841 ^ 1 - | is largest known prime ` 136279841 .+ # partition ' str>i 'm ,/ 1 3 6 2 7 9 8 4 1 R0 +/ 41 ` https://cosy.com/4thCoSy/CoSy.zip wwwGet >t0> # ` C:\4thCoSy\CoSy.zip F> # | ======================== | Tue.Oct,20241022 | ======================== | On 2024-10-22 00:58, Brad Nelson wrote: > Hi Bob, > ... > I've got CoSy running, though rather slowly on a webpage: > https://cosyapl.storage.googleapis.com/cosy.html > > It's running through too many layers of emulation sadly: > CoSy on top of the wine Window emulator on top of an x86 emulator called boxedwine on top of web assembly. | 0920 | s" !! W" .+ ` o $ reverse cL cL oW " ` type Words ` Type@ :?? ` @ ?? ` simple? See ` ' Help | ======================== | Wed.Oct,20241023 | ======================== | `( C:\tst\CoSy24\ C:\4thCoSy\ )` >t0> { ` CoSy\/b cL Dir nlVM } 'm >t1> fmttbl| rUpdate t1 #' s" help Dir " Shell> rUpdate `( C:\4thCoSy C:\tst\CoSy24 )` ` \Physics\sb.f ' cL 'L { F> lfVM dae ' drb 'm } 'm >t0> fmttbl| rUpdate t0 "nl ' ss 'L t0 dsc t0 1th venn t0 ' venn ./ ` C:\4thCoSy\CoSy\ Dir nlVM ` .f con ` .bk ncon ` copy ncon sortstr reverse ` sort Words i( -1 0 1 )i 10 _iota +i ` => :?? 2 _i 16 _i ^i | ======================== | Fri.Oct,20241025 | ======================== | ` alph Words ALPHabet i( 0 1 1 0 )i at i( 2 7 1 8 2 8 )i .+ {{ 5 _i >i }} & at i( 1 0 2 3 0 4 5 0 )i .+ .+ i0 =i i1 +i & at $ # take | ======================== | Sat.Oct,20241026 | ======================== | | ======== | \/ Sat Qs | New dist CoSy.zip | how hard to download & start ? ` swap See 5 _iota enc' ` asdf enc' cL ,/ ` enc' See ` f+ :?? | ======================== | Mon.Oct,20241028 | ======================== | ` partition Words ' :?? 'm 20 _iota 5 _partition flip ' ,/ 'm 20 _iota 6 _partition --aba i# --aba / _i $ 1- _take i0 $ ,I ' + scanI _ ` ,I :?? ` over ?? ` defined :?? Allwords | `( partition --aba $ )` { conn } 'R Xwords ec Words | ======================== | Tue.Oct,20241029 | ======================== | ` ,i :?? ` :?? ?? ` CShelpFul ?? 20 _iota 5 _i {{ 2p L@ # R@ %i R@ cL L@ $ take 2P> }} 20 _iota 5 _i ` # :?? ` _ :?? | ======================== | Wed.Oct,20241030 | ======================== | https://www.facebook.com/groups/1304548976637542/posts/2020592535033179/ | \/ | MAKE A ` TIMES TABLE | \/ | 9 _iota 1+i >t0> .+ ' *i 'R >t1> t0 .+ { ,L 9 _i ' take 'L reverse } 'R >t1> t1 t1 { ' *i ./ } 'm { cL flip ' ,/ 'm } 'd >t2> | t2 t0 reverse ' take 'd | 4 _at { fmt s" i( " s" )i " ,L braket } 'm : tmp { fmt s" i( " s" )i " ,L braket } 'm ; t2 t0 reverse ' take 'd ' tmp 'm { "bl $ cL -9 _fill } 'm fmttblb rUpdate ` fmttbl :?? ` fmt Words t0 t0 { 9 _take } 'm { ,L reverse } 'R >t2> t2 { .+ ' *i ./ cL } 'm >t3> t3 { flip } 'm .+ ' ,L 'R ` Dv@ ?? ` @ Words 99. 99. 2_f ^f | ======================== | Sat.Nov,20241102 | ======================== | res> blVM dae >T0> T0 Allwords $ membv nub ' :?? 'm nub >t0> # t0 fmt rUpdate t0 #' | dsc 'm t0 | ======================== | Mon.Nov,20241104 | ======================== | https://www.linkedin.com/posts/dyalog-ltd-_aplmonday-dyalog-apl-activity-7259202791045238784-YYzI i( 0 0 1 0 1 0 0 1 0 )i .+ reverse { ' \/ .\ } on2 reverse /\ ` .\ :?? i( 0 0 1 0 1 0 0 1 0 )i ' \/ .\ | ======================== | Tue.Nov,20241105 | ======================== | | 0922 | TueZoom | 1001 | recording | 1107 | Working thru examples from Mon.Nov,20241104 & Wed.Oct,20241030 | 1111 | `Dv@ :?? | ======================== | Wed.Nov,20241106 | ======================== | https://www.linkedin.com/posts/michaelkuesters_programming-clarity-maintainability-activity-7259879822275829760-7G-q/ 4 2 mod _i `( Even Odd )` $ at : OE 2 _i modi ` Even ` Odd ,L $ at ; 10 _iota .+ OE ,L fmttbl| ` modi See : tst ` tast ; tst | ======================== | Thu.Nov,20241107 | ======================== | s" Bob Armstrong" reverse |>| gnortsmrA boB ` 2 Words ` sq Words 0.001 s" log " ?? ` on2 :?? | ======================== | Sat.Nov,20241109 | ======================== | ` convo ?? : str>iv s" i( " s" )i" ,L braket Eval ; s" 2 1" str>iv ` 1,1,2,2,3,4,2,3 ` , "bl ,L ssr i( 1 1 2 2 3 4 2 3 )i >t0> | t0 .+ # 6 _i -i 1+i iota ' cut 'R : wins 2p L@ .+ # R@ -i 1+i iota ' cut 'R R@ ' take 'd 2P> ; | returns window t0 6 _i wins >t1> t1 ' nubgrpix 'm >t2> t0 nub t2 #' ` 1th :?? ` $ See t2 { .+ dsc $ 1th #' $ ' cL 'd } 'm >t3> : *i/ ' *i ./ ; t3 { ' fmt 'm sortstr reverse ' str>iv 'm 2 _take ' *i/ 'm ,/ +/ } 'm ` nubgrpix :?? : FindXSum | 20241110.1549 | Don't know why my full post didn't . Perhaps too long or too many links . See it at CoSy . com / CoSy/TekyDome.html#comment-6589391420 . CoSy evolves from an adulthood in APL and K as an open vocabulary in ( x86 ) Forth . It needs & welcomes more heads . In any case , here's the code in current CoSy which executes directly in Forth , thus , whitespace delimited RPN . Just working thru ; haven't consolidated into a single definition : I haven't had a ` window verb : : wins 2p L@ .+ # R@ -i 1+i iota ' cut 'R R@ ' take 'd 2P> ; i( 1 1 2 2 3 4 2 3 )i >t0> 6 _i wins >t1> t1 ' nubgrpix 'm >t2> | the ` nubgrp verbs evolve from K , eliminating a bit of redundancy Neither the indices of the values are needed , nor the values , just the counts , so t2 { .+ dsc $ 1th #' $ ' cL 'd } 'm >t3> t3 >T0> and finally , with a major kludge because of current lack of adequate ` sort vocabulary : : str>iv s" i( " s" )i" ,L braket Eval ; Also , because Reva Forth lacks nestable ` quotations , ie: { ... } which some other Forths have , I can't write { ... { ' *i ./ } ... } to embed the sum across each of the rows in each of the lists . I need to make an auxiliary verb : : *i/ ' *i ./ ; t3 { ' fmt 'm sortstr reverse ' str>iv 'm 2 _take ' *i/ 'm ,/ +/ } 'm ,/ T0 { ' fmt 'm sortstr reverse ' iEval 'm 2 _take ' *i/ 'm ,/ +/ } 'm ,/ ` iEval See T0 dsc ' fmt 'm sortstr reverse ' iEval 'm ` str>iv See ec Words 6 10 12 | ======================== | Tue.Nov,20241112 | ======================== | | 1024 |* see above *| 1203 | ` win Words ' :?? 'm | added to Furniture : wins 2p L@ .+ # R@ -i 1+i iota ' cut 'R R@ ' take 'd 2P> ; | : str>iv ( str -- int_vec ) s" i( " s" )i" ,L braket Eval ; ` str>i :?? ` >i Words | ' :?? 'm ` braket ` str>i defined ` wins See s" 1 2 3 " str>i ` str>i :?? | ======================== | Wed.Nov,20241113 | ======================== | | ` sink ?? | never used . commented out . ` braket :?? ` iEval ?? | ======================== | Sat.Nov,20241116 | ======================== | See Forth Day presentations | | ======================== | Mon.Nov,20241118 | ======================== | { nub sort } on2 == ` ref Words ` refs+ :?? | ======================== | Wed.Nov,20241120 | ======================== | ` factors :?? | ======================== | Thu.Nov,20241121 | ======================== | | 0939 |* neitzel@marshlabs.gaertner.de https://www.linkedin.com/feed/update/urn:li:activity:7266583435966603264/ i( 1 3 5 7 9 )i { s" * " $ take } 'm *| 0945 | | 20241122.0827 | ` \CoSyBob\MailLists.csy F>/\ ` state v@ DMP | ` \CoSyBob\MailLists.csy >Fn> F>/\ ` state v!> >t1 t1 ` state v@ t1 Fn \/>F s" C:/CoSyBob/MailLists - Copy (8).bk" F>/\ ` state v@ DMP s" C:\CoSyBob\MailLists.csy202407221551.csy" F>/\ ` state v@ >t0> t0 ` \CoSyBob\MailLists.csy >Fn> F>/\ ` state v!> >t1 Fn s" C:\CoSyBob\MailLists.bk" F>/\ ` state v@ ` saveTSclone :?? ` ymdhms :?? ymdhms -700 _i ` LTZ-UTC ->v LTZ-UTC ` state Words 5 _iota R0 .+ ' =i 'R Allwords # |>| 2422 `( sys CoSySource )` Dv@ >t0> # |>| 19 t0 { F> lfVM dae # } 'm ,/ +/ |>| 10200 ` nub Words ' :?? 'm ` nubgrpib :?? ` .+ :?? : tst 42 7 2 do dup i cr .s cr loop ; : isPrime dup s>f fsqrt f>s 2 do dup i cr .s cr mod 0if i0 leave else i1 then loop --b ; | 20241123.1941 | : isPrime dup s>f fsqrt f>s 2 do dup i cr .s cr mod 0if i0 leave else i1 loop --b ; 9 isPrime ota ' isPrime 'm ` O :?? 8 2 mod 8 _i reset ` s>f Help ` def :?? s" do " ?? >t0> res> lfVM ` if con { ' 1th 'm } 'm s>f fsqrt f>s .+ >_ ` >_ :?? dup DMP ` nip ?? ` --b ?? ` /mod See ` f>i :?? ` ;then .+ ?? ' 1th 'm ,/ lfVM $ con ` leave con ` leave :?? | ' 1th 'm ,/ lfVM ` leave con : tst 1p 5 0 do R@ >_ . loop 1P ; : tst 21 5 0 do dup . loop ; tst ` .. :?? ` ?? :?? 17 _i factors ` do Help ` do Help lfVM dae -1 _at blVM 2 _cut ' Help 'm ` Words ` ?? s" also:" ?? res> >t0> blVM ' Help 'm ` true See | ======================== | Sun.Nov,20241124 | ======================== | ` ASCIIbrowser Dv@ ` nl Words ` Mv :?? 20241124.1459 6 _iota 1+i .+ reverse cL { s" *" $ take } 'm >t0> "nl MV t0 bl?pad pad | flip ' ,/ 'm reverse ` pad Words ' :?? 'm ` bl Words ` ,pad ?? ` unloop ?? res> lfVM ` unloop con text> daylncut ` ,pad con : bl,pad "bl : ,pad ( lsts item -- lsts ) ' cL 'L pad i-1 ' cut 'L ; | adding to Furniture.f due to irritation at lack of | 20241124.1731 t0 bl,pad #' ` then ?? : isPrime dup s>f fsqrt f>s 2 do dup i cr .s cr mod 0if i0 leave else i1 loop --b ; ` leave ?? ` `( :?? ` i( :?? i0 >t0> : tst 10 0 do dup i = if t0 1+i >t0 else 10 _i t0 cL >t0 then loop t0 ; : tst dup 0 do i _i t0 +i >t0 loop ; i0 >t0 5 tst : tst 10 2 do dup i cr .s =if ." equal " leave else ." not equal " then loop _i ; cr 7 tst | makes sense | 20241125.1538 | ` auxstack ?? ` f>s Help ` ffloor Help | :?? ` >aux :?? ` aux Words ` >aux Help : isqrt s>f fsqrt ffloor f>s ; : tst 1 >aux dup isqrt 1+ 2 do dup i mod cr .s 0if ." f" aux> drop 0 >aux leave else ." nf" then loop drop aux> ; cr 11 tst _i 13 2 mod _i 100 _iota .+ { >_ tst _i } 'm ,L fmttbl| : isqrt s>f fsqrt ffloor f>s ; : _isPrime_ 1 >aux dup isqrt 1+ 2 do dup i mod 0if aux> drop 0 >aux leave else then loop drop aux> ; : isPrime >_ _isPrime_ _i ; 017 _i isPrime 100000 _iota .+ ' isPrime 'm ,/ & at >t0 t0 # 1000 isqrt _i 30 _iota .+ { >_ isqrt _i } 'm ,/ ,L fmttbl| : fmttbl >r { ' fmt__ 'm blpad pad } 'm flip r> ' MV 'L ; | 20210621.2131 | Dnames { "bl cL } 'm | "bl =c | \/ | bombing for unknown reason tho defined in in ` Furniture.f : blpad { "bl cL } 'm ; | Replaced w : blpad "bl ' cL 'L ; | 20241125.1703 | Dnames blpad ` bl Words ` blpad :?? ` blpad See : blpad { "bl cL } 'm ; | pad each item ( str ) w blank | 20200528 | ` on2 :?? : tst 10 0 do dup i cr .s =if ." equal " else ." not equal " leave then loop drop ; 7 tst _i ` =if Help : isPrime 2 do dup i mod cr .s ." mod " 0if i0 ." 0 true " leave else ." prime " i1 then loop .s --b ; 7 isPrime . . 7 tst t0 ` tst See 5 tst t0 1+i >t0 t0 ` 1+ Words | ======================== | Tue.Nov,20241126 | ======================== | 100 _iota .+ `i 3 modi 0=i & at 100 _iota .+ `i 3 %i 0=i & at f( 360 24 )f ' %f ./ 3. 3 + 3 $ / 3 $ - 3 * _i i( 6422599 6514063 6528961 6535612 )i ' -i '.. ` +/ :?? ` Type@ `( :?? See )` ' Eval 'R | ======================== | Wed.Dec,20241204 | ======================== | 12 _iota .+ reverse cL { s" *+" $ take } 'm bl,pad ' reverse 'm flip ' ,/ 'm ( ** ++++ ****** ++++++++ ********** ++++++++++++ ************** ++++++++++++++++ ****************** ++++++++++++++++++++ ********************** ) ` bl Words ` llLbl ?? ` nub :?? ` bl,pad :?? | ======================== | Sat.Dec,20241207 | ======================== | | 2242 | Removing from CoSy.f : | | ` meta never used | commented out | 20240102 | 0 [IF] | : mx 3cell+ ; | not named "meta" to avoid conflict w Reva help | : m@ mx @ ; | : m! mx ! ; | : m>ox 3cell- ; | Meta to Object addr | [THEN] ` vbody :?? ` vbody ?? ` ix ?? ` type ?? # ` hex ?? 2000 #. | ======================== | Tue.Dec,20241210 | ======================== | ` t f( -16.4 -2.9 )f >< ` C:\CoSyBob\BobA.csy F>/\ ` text v@ daylncut | >t0> # t0 s" ` t " con >t1> # t1 s" ` t " s" )f " ,L ' +braketed+ 'L ` brak Words res> >T0> # T0 lfVM >t0> # t0 ` f( ' prt>=f 'L >T1> T1 dae ' Eval 'm >t1> t1 flip ' ,/ 'm >t1> t1 { .+ ' minf ./ $ ' maxf ./ cL } 'm t1 0th `f 100 *f f>i ' maxi ./ i>f `f 100 %f t1 0th sortf t1 ' dsc 'm sortf ` sortf :?? ` ./ See f( 1 3 5 2 )f ' maxf ./ i( 1 3 5 2 )i { .+ ' mini ./ ' maxi ./ `f 2 `f 10 $ maxf f( 1 3 5 2 )f .+ reverse ,L | .+ ' maxf ./ cL f( 1 3 5 2 )f .+ reverse minf i( 1 3 5 2 )i .+ reverse minf ,L .+ ' maxf ./ cL ` fmin ?? 3. 4. fswap fmin _f ` fmax :?? 3. _f 4. _f minf : eachDfr ( LA RA fn -- r ) | each Dyadic on floats , resulting -rot 2dup 2refs+> longer_ dup floatVecInit >aux 0 ?do over i if@ dup i if@ 2 pick execute aux@ i if! loop 2refs- drop aux> ; : ` fswap :?? `( eachDir eachDfr )` ' :?? 'm ` +f :?? `( maxi maxf )` ' :?? 'm : minf ' fmin eachDfr ; ` maxf :?? `f 2 `f 10 ' fmin ` eachDfr :?? ` maxf :?? ` ./ :?? | ======================== | Wed.Dec,20241211 | ======================== | https://www.linkedin.com/feed/update/urn:li:activity:7272713821415227393?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7272713821415227393%2C7272785009147584513%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287272785009147584513%2Curn%3Ali%3Aactivity%3A7272713821415227393%29 i( 2 7 6 9 5 1 4 3 8 )i 3 _partition >t0> | one way to make it ( 2 7 6 9 5 1 4 3 8 ) t0 ' +/ 'm ,/ t0 flip { ,/ +/ } 'm ,/ ,L ( 15 15 15 15 15 15 ) t0 i( 0 1 2 )i ' at 'd ,/ | this selection of the diag interested me 2 5 8 t0 .+ # iota reverse ' at 'd ,/ | generalizing a bit for the other diag 6 5 4 | 20241222.1003 | Vitaliy Kaurov | posted https://mathworld.wolfram.com/MagicSquare.html | 4 SQUARE i( 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 )i >t0> # t0 sorti 16 _iota 1+i == |>| 1 | just check I got nums right t0 4 _partition >t1> t1 ' +/ 'm ,/ |>| 34 34 34 34 | row sums t1 ' +i ./ ,/ |>| 34 34 34 34 | col sums t1 .+ # iota .+ reverse ,L { ' at 'd ,/ } 'R ' +/ 'm ,/ |>| 34 34 | main diag sums i( 3 5 12 14 )i +/ |>| 34 | Check of one ` off dia . | t1 4 _iota -1*i ' rotate 'd | flip ' ,/ 'm | ' +/ 'm | 5 SQUARE i( 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 )i >t0> 5 _partition >t1> t0 sorti 25 _iota 1+i == |>| 1 t1 .+ ' +/ 'm ,/ $ ' +i ./ ,/ ,L ( 65 65 65 65 65 65 65 65 65 65 ) t1 .+ # iota .+ reverse ,L { ' at 'd ,/ } 'R | ' +/ 'm ,/ |>| 65 65 t1 5 _iota ' rotate 'd >t2> t2 ' +i ./ ,/ |>| 65 65 65 65 65 t1 5 _iota -1*i ' rotate 'd ' +i ./ i( 3 5 12 14 )i +/ t1 4 _iota -1*i ' rotate 'd ' +i 'm | -- ` \CoSyBob\MailLists.csy F>/\ ` T0 v@ sortstr >t0> # t0 >T0 T0 ` minf See | ======================== | Thu.Dec,20241212 | ======================== | 25 _iota 1+i >t0> +/ |>| 325 325 5 / _i |>| 65 325 65 - _i |>| 260 25 25 _iota i1 +i >t1> t1 20 _cut ' *i ./ 5 _i Fact %i i>f >t0> t1 t0 ' *f .\ ,L fmttbl| 1073741824 25 _Fact | 2076180480 5 _Fact 20 _Fact cL `i 2 32 _take ' *i .\ ilst ' ,/ 'm ` lst Words ` ilst :?? https://cosy.com/Science/TemperatureOfGrayBalls.html f( 276.3795 281.0371 278.6791 )f >t0> .+ 2 _at %f 1.520977e11 1.4709807e011 f/ _f | 20241214.1720 | f( 81 2025 3025 494209 998001 )f sqrtf | ======================== | Mon.Dec,20241216 | ======================== | ` nub Words ` nubgrpcx :?? text> blVM dae >t0> # |>| 75413 t0 nub >t1> # |>| 9267 state> blVM dae >t0> # |>| | 0931 | t0 nubgrpcx >t1> # | 0933 | t1 dsc .+ #' ,L fmttbl| t0 # T0 >t0> # t0 >T0> t0 res> >t0> # |>| 3588 | read the text from the ` res window where it has been pasted t0 1000 _take >t0> | first 1000 chars t0 "ht ssd blVM >t1> # |>| 191 | remove tabs & split on blanks t1 dae >t1> # |>| 187 | remove any empties ( repeated blanks ) t1 nubgrpcx >t2> # |>| 2 | make list of `( uniques indices )` t2 `i 10 take 'L fmttbl| | grab the first 10 items of each & format t2 dsc t2 1th #' ,L fmttbl| t2 t2 dsc "cr conn ` ix :?? ` @ :?? ` @ See ` vbody :?? ` ype Words | :?? ` Type@ :?? ` Ibytes :?? | ======================== | Tue.Dec,20241217 | ======================== | https://www.linkedin.com/posts/dyalog-ltd-_apl-programminglanguages-kennethiverson-activity-7274785224176160768-7-5M ALPHabet i( 20 8 1 14 11 19 0 6 15 18 0 1 16 12 0 11 5 14 )i `i 1 -i at ` z VM R0 c>i i>c ` c>i :?? ` i>c :?? f( -10.6 17.3 )f c>f f>i |>| 13 63 ` aggr Words ` aggrc :?? `f 60.00 c>f |>| 140.00 4.8e6 10470. f/ _f | ======================== | Thu.Dec,20241219 | ======================== | BAA Zoom | 1 https://www.linkedin.com/posts/dyalog-ltd-_aplmonday-dyalog-apl-activity-7274423092817367040-aeZG i( 1 2 )i >t0 (' i( 3 4 )i i( 7 8 )i ') >t1 t0 t1 cL i( 1 0 2 )i at ,/ (' i( 3 4 )i i( 7 8 )i i( 9 10 )i ') >t1 10 _iota i( 0 3 7 )i cut >t1> ` World >t0 `( Hello , Good Morning )` "bl ' cL 'L >t1 t1 t0 t1 >a> 0th $ cL a> 1 _cut cL ,/ `i 0 i( 1 2 3 4 )i ' ,L 'R ,/ 1 _cut ,/ ` MV :?? ' cL 'R i( 1 0 2 )i at ,/ 100 _iota 1+i .+ .+ reverse +i ,L fmttbl| ` iota Words `i 2025 .+ factors >a> %i a> $ ,L fmttbl| ` %i See 6 _iota | +\ | ======================== | Mon.Dec,20241223 | ======================== | | c > f temperature table | \/ | 40 _iota .+ i>f c>f ,L fmttbl| 4 _partition s" || " fmttbl | /\ | 13 _iota ' +i .\ +/ https://www.linkedin.com/posts/mhbojsen_recently-i-was-asked-to-evaluate-a-candidate-activity-7275423396476141569-63ZC 24 60 * _i |>| 1440 Tau `f 1440 %f .+ ` minuteAngle ->v fmtF18 ,/ |>| 0.004363323129985823 Tau f( ` hr Words : hmAngles [ f( 24 60 )f refs+> ] literal %f 360. _f *f ; f( 12 30 )f hmAngles : tst [ f( 24 60 )f ] literal ; : tst 360. _f ; tst : hmAngles [ f( 24 60 )f refs+> ] literal %f 360. _f *f >a> 1th 24. _f %f f0. cL a> +f ; ` hmAngles See ` a> :?? 12. 30. 2_f 2p> 60. _f %f f( 12 30 )f f( 20 35 )f ,L ' hmAngles 'm f 24 _iota i( 0 15 30 45 )i ' cL 'L hmAngles ` literal f( 13 25 )f f( 24 60 )f %f >t0> 1440 f( 12 30 )f f( 60 1 )f dot 1440. _f %f f( 360 )f *f 360. 12. f/ _f t0 1th 2 360. _f *f Tau %f *f 2p R@ ` 2 Words ` 2.> ?? Xwords >t0> # |>| 23 Allwords # |>| 2426 Xwords >t0> # |>| 23 ` Xwords :?? ` words :?? ` context? :?? ` aaply :?? 1.5 278.6 f/ _f ALPHabet .+ c>i fmtI$ ,L fmttbl| s" MERRY CHRISTMAS " c>i fmtI$ blMV ` hex ?? hex i( 4D 65 72 72 79 43 68 72 69 73 74 6d 61 73 )i decimal i>c |>| MerryChristmas hex i( 61 4e 64 20 61 20 48 61 70 70 79 0a 4e 65 77 20 59 65 61 72 )i decimal i>c s" Party til Perihelion ! " c>i fmtI$ blMV s" 42,65,73,74,20,77,69,73,68,65,73,20,66,6f,72,20,74,68,65,20,79,65,61,72,20,63,6f,6d,69,6e,67,2e" (' ` , "bl ') ssr R0 s" i( " s" )i" ,L braket hex Eval decimal i>c | ======================== | Thu.Dec,20241226 | ======================== | | ( (' Source Sink ') Body -- temp ) : Tcolored res> >T0> | s" i( " s" )i" ,L braket hex Eval decimal i>c : i()i s" i( " s" )i" ,L braket Eval ; T0 hex iEval decimal i>c s" 1 2 3 " i()i ` braket ` i( defined ` braket :?? | ======================== | Sat.Dec,20241228 | ======================== | res> >T0> T0 lfVM "bl ' prt>l 'L blMV ` % ssd iEval +/ s" 0123456789 " c>i |>| 48 49 50 51 52 53 54 55 56 57 32 ` memb :?? | ======================== | Mon.Dec,20241230 | ======================== | `( Fact Fact )` Dv@ : c 2.99792458e8 _f ; c 1.e-9 _f *f .+ `f 39.37 *f cL |>| 0.30 11.69 ` m> Words https://www.linkedin.com/posts/kaurov_mathematics-technology-education-activity-7279510798098395136-OBTM/ `f 2025 sqrtf |>| 45.00 `i 2025 factors |>| 1 3 5 9 15 25 27 45 ` factors :?? `i 10 ` N ->v 10 iota .+ +/ `i 2 ^i $ `i 3 ^i +/ cL |>| 2025 2025 R0 ' =i ./ |>| 1 N iota >t0> |>| 0 1 2 3 4 5 6 7 8 9 R0 +/ |>| 45 R0 `i 2 ^i |>|2025 t0 `i 3 ^i |>| 0 1 8 27 64 125 216 343 512 729 R0 +/ |>| 2025 100 _iota 1+i { iota .+ +/ 2 _i ^i $ 3 _i ^i +/ cL ' =i ./ } 'm ,/ ' \/ ./ |>| 1 ` execute Help ` } Help `( { {{ )` ' :?? 'm ` nub :?? ` Banana nubb i0 memb | ======================== | Tue.Dec,20241231 | ======================== | | 20241231.1556 | ` Dir :?? : Dir/b ` /b cL Dir ; CoSyDir Dir/b `( C:\CoSyWeb\4thCoSy\Code\CoSy C:\CoSyBob\CoSy )` { Dir/b nlVM } 'm >t0> t0 dsc t0 1th venn | ' venn ./ >t1> # t1 #' t0 fmttbl| t1 i( 0 2 )i at | fmttbl| | ========================================================================== | | ======================== | Wed.Jan,20250101 | ======================== | 10 _iota i( 0 1 2 3 4 5 6 7 8 9 )i `i 3 ^i +/ |>| 2025 i( 3 5 )i i( 4 2 )i ^i ' *i ./ |>| 2025 ` apv :?? ` iota :?? ` :?? :?? `i 1 `i 2 `i 45 apvi +/ ' iota 'm ' +/ 'm ` lst Words `i 10 ` N ->v `i 10 iota .+ +/ 2 _i ^i $ 3 _i ^i +/ cL | |>| 2025 2025 N iota .+ +/ 3 _i ^i $ 4 _i ^i +/ cL |>| R0 ' =i ./ | 1 | for any N ` dot :?? `i 2025 .+ factors .+ --bac %i ,L 10 _iota `i 3 ^i ` R@ :?? ` rho :?? | C > F table 60 _iota `i 20 -i .+ i>f c>f ,L fmttbl| 4 _partition s" || " fmttbl | ======================== | Thu.Jan,20250102 | ======================== | `( C:\CoSyBob D:\CoSyBobEo24 )` ` \bin ' cL 'L ' Dir 'm >t0> t0 { dae sortstr } 'm >t0> t0 fmttbl| lfMV rUpdate t0 0th t0 1th venn >t1> | fmttbl| rUpdate text> lfVM ` fmttbl con ` ,pad :?? t1 ec ,pad fmttbl| rUpdate t0 0th ` con >T0> | ======================== | Sat.Jan,20250104 | ======================== | ` phi ?? ,/ ,/ lfVM ` exp con ` (exp) :?? rGet lfVM ` (exp con 1. fexp _f Pi %f Phi `f 1.609344 %f : double 2 _i *i ; : add_three 3 _i +i ; 5 _i double add_three {{ 1 _i -i }} |>| 12 5 _i double add_three { 1 _i -i } xeq |>| 12 10 _iota i( 2 5 )i take double add_three { 1 _i -i } xeq |>| ( 2 4 6 8 10 12 14 16 18 20 ) R0 ' +i ./ 834 dup * _i 696256. _f sqrtf | ======================== | Sun.Jan,20250105 | ======================== | res> >T0> lfVM ` bio con # `f 207 `f .03 %f res> >T1> # |>| 2122 | simple character string . T1 "bl VM >t0> # |>| 365 | list of character strings . t0 ' # 'm nub ,/ sorti | ======================== | Tue.Jan,20250107 | ======================== | | thinking of making 1 origin ` iota1 . See that ` thru which seems like Python ` Range | may be more fundamental than ` iota | I think iota1 is worth it . : _iota1 _i : iota1 iota 1+i ; 5 _i iota1 ` iota1 ?? ` _iota ?? ` thru :?? : thru ( LA RA -- IV ) | vector of integers from LA thru RA . 2p> swap -i 1+i iota L@ +i 2P> ; | was til 20141221.2349 | 2dup swap -i _iota nip swap _i ['] + each ; 5 6 2_i thru : _thru ( LA RA -- adr ) 2dup $ 1+ intVecInit dup vbody | adr bodyadr n 0 ?do i over i c+ ! loop drop ; 1 10 2_i thru : _iota ( n -- adr ) dup intVecInit dup vbody rot | adr bodyadr n 0 ?do i over i c+ ! loop drop ; `i 2 9 _iota1 ' cL 'R .+ ' reverse 'm ' cL 'd | ======================== | Wed.Jan,20250108 | ======================== | f( 365.25 13 )f ' %f ./ |>| 28.0769 13 28 * _i |>| 364 ` 1th :?? https://www.linkedin.com/posts/adnan-saify-526852194_kdb-qprogramming-algotrading-activity-7282806409484750848-QPHn | Interesting , useful task . I worked thru it on my 2024 accounts in CoSy which evolves from | https://cosy.com/K/CoSy.htm as an open vocabulary in Forth , ` C:\CoSyBob\acnts\y24\BobA\ fullPaths/b ` .csv con >t0> | get all the ` .csv filenames in the directory | There's a mess of different files from different cards , etc . I assume you mean | consolidating all the files with the same columns . Grabbing one of the most common . s" Transaction Date,Posting Date,Reference Number,Amount,Description" >t1 t0 .+ { F> lfVM dsc } 'm t1 conn at >t1> | select the names of those files . | Because Forth is simple RPN , monadic & diadic ` each have to be distinguished . t1 { F> lfVM dae ,sv>lst lst>DT } 'm >t2> | read each of them and convert to ` DictionaryTables | essentially isomorphic to Arthur's tables : lists of 2 lists `( names cols )` t2 ' fmtDT| 'm lfMV rUpdate | Just displaying them to see what I've got . t2 ' 1th 'm >t3> ' fmttbl| 'm | Grab the tables . ` 1th is totally a convenience verb . t3 dsc t3 1th ' cL 'd >t4> fmttbl| t4 t3 2 _at ' cL 'd fmttbl| | following took me a hell of a lot longer than it should . The problem is that ` quotations , | ie: the bracketed definitions , in the Forth CoSy is currently built in , are not nestable . | That will certainly be corrected in selecting a Forth to migrate to . : tmp ' cL 'd ; | Auxiliary verb to eliminate level of nesting t3 { ' tmp 'd } ./ >t4> dsc fmttbl| | ` 'd is dyadic ` each , and ` ./ is across . t2 dsc dsc enc t4 cL ` CombinedAcnt ->v CombinedAcnt fmtDT| | Trust me , it displays what the name says . Of course because CoSy is an open vocabulary in Forth , an ` 1th :?? t3 ' flip 'm | ' cL ./ flip fmttbl| t3 { ' cL 'd } ./ | ======================== | Fri.Jan,20250110 | ======================== | i( 3 4 6 7 )i i( 2 2 )i take >t0> t0 flip/ t0 ' *i 'R 2 _Imati t0 *i ` ident ?? https://www.linkedin.com/posts/cosybob_github-my-linkedinpythagorean-triples-activity-7283603634745942016-ljuV 8 _i .+ 2 _i %i .+ *i i( -1 1 )i +i cL >t0> |>| 8 15 17 t0 .+ *i >t1> |>| 64 225 289 t1 2 _take +/ |>| 289 i( 2 4 6 8 )i .+ 2 _i %i .+ *i i( -1 1 )i ' +i 'L ' cL 'd >t0> t0 .+ *i >t1> |>| 64 225 289 t1 2 _take +/ |>| 289 | 20250111 | | 20250214.1154 | went from 500 to 1000 . had to stop > outputting . bombed | and to 5000 5000 _iota1 >t0> ' iota1 'm >t1> # | Generate the triangle of numbers < or = first t0 t1 ' cL 'd t0 .+ *i t1 .+ *i ' +i 'd >t2 | Square them . Add the first & rest t2 -100 _i take #' 20 _iota1 .+ *i | `i 2 *i >t3> | t2 3 _at ' == 'R | ' == 'R | have to convert to floats . select if the square root of their squares are ints | \/ | could be simplfied w ` fracf | \/ | t2 i>f sqrtf .+ floorf -f f0. ' =f aaply ' & 'm t1 $ ' at 'd t0 $ ' cL 'd >t3> # t3 .+ #' i1 >i ,/ & at >t4 | grab the ones where more that just 0th item are int | list side & hypotenuses t4 -100 _take t4 #' ,/ nub t4 >T0> # T0 ' ,/ 'm >t0> T0 100 _take T0 ` C:/CoSyWeb/CoSy/y25/PythagoreanTriples5000.ctb \/>F ` C:/CoSyWeb/CoSy/y25/PythagoreanTriples5000.ctb F>/\ >t0> # ev >T0> >T1> T0 ' dsc 'm .. *i T0 { 1 _cut .. *i } 'm +i >t0> # t0 i>f sqrtf f>i >t0> # t0 100 _take T0 { dsc fmt s" , " cL } 'm >t1> 10 _take T0 { 1 _cut ,/ fmt s" , " cL } 'm >t2> 10 _take t1 t2 ' cL 'd >t3> 10 _take t3 t0 ' fmt 'm ' cL 'd >t4> 10 _take t4 >T1> 100 _take T1 lfMV >t4> # t4 ` C:/CoSyWeb/CoSy/y25/PythagoreanTriples5000.csv >F R0 # cL t0 enc cL >t1> # t1 flip >t2> 5 _take t2 lfMV (' ` | ` , ') ssr >t3 t1 1 _at #' ,/ nub t1 fmttbl| >t2> # t2 lfMV ` C:/CoSyWeb/CoSy/y25/PythagoreanTriples5000.csv \/>F t1 flip >t2> # t2 { fmt lf>bl drb } 'm >t3> lfMV 10 _take ` lf Words t3 { 1 _cut -1 cut } 'm t3 { s" , " MV } 'm lfMV >t4> # t4 # | 100 _take t4 #' ,/ .. ' maxi ./ =i & t4 1565 _at i-1 +i ,/ +/ |>| ` 1 Words t4 .+ *i .+ ' dsc 'm $ i1 ' cut 'L +i t4 $ i>f sqrtf f>i ,L fmttbl| | posted to LI | 20250111.1010 | t4 #' .. ' maxi ./ =i ,/ & t4 363 _at `f 480 f( 31 88 108 140 200 234 256 322 360 476 )f ' ^2f on2 +f sqrtf `f 420 f( 29 65 77 144 153 175 224 315 341 352 400 )f ' ^2f on2 +f sqrtf `f 840 f( 41 58 130 154 189 245 288 306 350 448 475 495 559 630 682 704 800 833 )f ,L R0 ' ^2f 'm R0 dsc R0 1th +f R0 sqrtf R0 f>i R0 # ` ^ Words 1.0e12 _f 30. _f %f f( 17 28 )f ' %f ./ t2 { ' =i 'L } 'R ' ,/ 'm { =i ' \/ ./ } 'R 3 _at ' == 'R t3 `i 25 =i ' \/ ./ ` \/ :?? ` dot :?? ` aaply :?? res> "bl =c +/ | ======================== | Mon.Jan,20250113 | ======================== | | 20250116.1444 | ` ,sv>lst ?? https://www.facebook.com/groups/387145218021131/posts/9302826033119627/?comment_id=9306364112765819 10 _iota1 .+ .+ ' Fact 'm ,/ $ .+ `i 3 ^i $ -i ,L cL >t0> fmttbl| t0 .+ i( 1 2 )i at ' =i ./ ,/ & ' at 'L ` script0 Dv@ DMP s" C:/4thCoSy/CoSy/WorkLog - Copy (9).bk" F>/\ ` Addrs v@ | ` script0 Dv! Dnames .+ { Dv@ Type } 'm ,L fmttbl| ` Addrs Dv@ DMP s" C:/4thCoSy/CoSy/WorkLog.csy202307160044.csy" F>/\ ` Addrs v@ ` Addrs Dvdel .15 44. f/ _f `i 28 .+ *i : ReLU f0. maxf ; | ` multiplicitive fn for AI `i 20 iotaf ReLU `f -10 f1. 20 _apv f0. ' f< eachDfr ` maxf :?? `f 1 f0. -f ` -f :?? : fmax fover fover f> if fdrop then ; : maxf ' fmax eachDfr ; ` eachDfr :?? 3. 5. _f 3. 5. f< _i _f cL 3. 5. fmax _f 3. 5. 2_f $ maxf f( 3 5 )f 4. _f maxf 2. 1. 2_f +f | maxf `f -10 f1. 20 _apv .+ f0. >f i>f *f ` i>f :?? `f -1 `f .1 20 _apv f0. maxf ` fmax :?? ` f> :?? | \/ | ' maxf fails for unknown reason ? 20250121.1800 : ReLU f0. maxf ; | ` multiplicitive fn for AI : ReLU .+ f0. >f i>f *f ; `f -.9 `f .2 10 _apv >t0> t0 ReLU ` maxf :?? 3. 5. fmax _f 3. 5. fswap fmax _f ` _f :?? ` f. ?? ec Words ` f in 3. 5. fover fover f< _i _f ` _f :?? ` f! :?? ` f@ :?? ` twodup ?? ` fdup :?? ` ;then Help ` f _i cL >t0> |>| 6448996 6507436 6489768 0. .5 2_f 5 _apv >t1> t1 t0 { >_ xeq } 'R https://www.facebook.com/Bob.Armstrong.CoSy/posts/pfbid02PwTSure8Ux3sVfzdg9qtP9YybaWQKdzgoh9Ykd8Uwcv7U5PQE68GxJpBJo81X7zLl : ')i s_n>iv ; : Xeq >_ xeq ; | 20250119.1252 | 20250121.1612 saved to CoSy.f | Example of list of XTs applied to array | 0. .5 2_f 5 _apv (' ' :; { 1.15 _f *f } ' c>f ')i ' Xeq 'R | Back to ` maxf not working | s" d9 c1" ?? res> lfVM ` c1 con ` fmax :?? ` fover :?? | ======================== | Mon.Jan,20250120 | ======================== | TES FOR TRIANGULAR MATRICES | vs Dyalog APL https://www.cosy.com/CoSy/TekyDome.html#comment-6636140154 https://www.linkedin.com/posts/cosybob_aplmonday-dyalog-apl-activity-7287154877565218817-CFaW i( 7 8 9 0 1 2 0 0 5 )i i( 3 3 )i take >t0> 100 100 2_i rand `i 50 2 _take take >t0> | Test for triangular matrix -- posed in APL by Dyalog | : upperdiagmask iota .+ { +/ R@ rho i>f %f 1P> ; : var 1p> ^2f avgf R@ avgf ^2f -f 1P> ; : dev var sqrtf ; | ======================== | Mon.Jan,20250127 | ======================== | | Working on base & represent i( 24 60 60 )i >t0> -1 _cut reverse ' *i .\ reverse i1 cL i( 2 46 40 )i doti : based 1 _cut reverse ' *i .\ reverse i1 cL ; `i 2 4 _take based i( 1 1 0 1 )i doti i( 24 60 60 )i based i( 2 46 40 )i doti i( 60 60 24 )i ' *i .\ i( 3600 60 1 )i i( 2 46 40 )i doti i( 10 10 10 10 )i >t0> -1 _cut reverse ' *i .\ reverse i1 cL i( 2 0 2 5 )i doti i( 2 2 2 2 )i -1 _cut reverse ' *i .\ reverse i1 cL i( 1 1 0 1 )i doti https://en.wikipedia.org/wiki/Horner's_method https://cosy.com/K/html/kref.pdf page 220 _sv | ======================== | Tue.Jan,20250128 | ======================== | `i 108 .+ factors .+ --bac %i ,L fmttbl| |>| 1 2 3 4 6 9 i( 1 12 )i i( 9 10 )i ,L .+ `i 3 ' ^i 'L ' +/ 'm ,L fmttbl| : tst ` asdf ; tst ` /\a :?? ` str>lst ?? ` /\ Words s->l f( 149 361 )f ' %f ./ f( 3 4 )f norm |>| 5.00 ` norm :?? | ======================== | Wed.Jan,20250129 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/1251945162562276/ Bit Twiddling Hacks | By Sean Eron Anderson https://graphics.stanford.edu/~seander/bithacks.html ` sn :?? | s" sn " ?? | ` /\ >T0> .+ dsc $ 1th #' ,L fmttbl| T0 ` res v@ s" .. " ?? >t0> { .+ dsc $ 1th lfVM ` .. con ,L } 'm >T0> T0 ` .. See i( 17 19 41 45 )i 5 _i -+ ` dup Words ' :?? 'm ` dup+ ?? | Changed definition of ` .. to ` dup+ , replacing ` .+ | | Eliminated alias of ` dupr in SaveRestore.f | 20250201.0859 | ` dupr :?? ` M->I :?? | ======================== | Thu.Jan,20250130 | ======================== | https://www.facebook.com/groups/minimalistcomputing/posts/1251945162562276/ ` <> :?? ` 0 Words ` true ?? | ======================== | Fri.Jan,20250131 | ======================== | https://www.linkedin.com/posts/fermatslibrary_this-is-the-only-known-solution-to-n-a-activity-7291238954031316992-r5ZY/ ` Fact :?? 10 _i Fact i( 6 7 )i ' Fact 'm ' *i ./ cL ,/ |>| 3628800 3628800 i( 3 5 7 )i ' Fact 'm ' *i ./ ,/ `i 10 Fact == (' i( 2 5 14 )i i( 23 4 )i i( 119 5 )i ') { ' Fact 'm ' *i ./ ,/ } 'm i( 6 7 )i ' Fact 'm 17 _iota1 ' Fact 'm ` ,sv>lst :?? ` ` Words | ======================== | Mon.Feb,20250203 | ======================== | ` dot :?? : dot *f ' +/ aaplym ; : dot { *f +/ } aaplym ; f( 3 4 )f .. dot | 20250204.1708 | i( 60 60 24 7 6 )i ' *i .\ 10 _Fact ,L | seconds in 6 weeks i( 60 60 24 7 6 )i ' *i .\ 10 _iota1 ' *i .\ ,L | seconds in 6 weeks | ======================== | Wed.Feb,20250205 | ======================== | https://www.linkedin.com/posts/alexanderunterrainer_iterators-navigating-vectors-without-the-activity s" The fruit I ate was a " `( apple banana cherry )` ' cL 'R ` on2 ?? (' i( 1 2 3 )i i( 4 5 )i i( 6 7 8 9 )i ') >t0> (' i( 10 11 12 )i i( 50 60 )i i( 20 30 40 50 )i ') >t1> t0 t1 +i (' i( 1 )i i( 4 5 )i ') >t0> ` aaply :?? | ======================== | Thu.Feb,20250206 | ======================== | BAA | APL interface RIDE ` F> Words | ' :?? 'm rUpdate https://github.com/search?q=ride%20repository&type=repositories https://github.com/Dyalog/ride/releases/tag/v4.5.4100 https://dyalog.github.io/ride/4.5/protocol/ 1.5 288. 2_f %f ` iota :?? ` whitespace ?? ` WScut ?? ` ffloor See | Help `( fstcw fldcw )` ' Help 'm f( 640 511 )f 1.1 _f *f _ 884. .9 f* _f | ======================== | Mon.Feb,20250210 | ======================== | https://www.linkedin.com/posts/cosybob_aplmonday-dyalog-apl-activity-7294746300628013056-Iq1h?utm_source=share&utm_medium=member_desktop&rcm=ACoAAABbtxIB-aBYN1koiEei-F0lism7MrIpFUQ 4 _i i( 1 2 3 )i 3 _i ' take 'L ' cL 'd ,/ 1 _cut : dyalog250208 ' cL 'R ,/ 1 _cut ; 4 _i >t0> 4 i( 1 2 3 )i 3 _i ' take 'L >t1> ( 1 1 1 2 2 2 3 3 3 ) t0 t1 dyalog250208 t0 t1 ' cL 'R R0 ,/ R0 1 _cut t0 t1 {{ ' cL 'R ,/ 1 _cut }} ` MV :?? ` "nl ? "nl "cr "lf cL == 6 2 2 1 + * / _i 6 2 / 2 1 + * _i 6 2 2 `( cL 'R ,/ 1 _cut )` ' :?? 'm ` ,/ :?? ` 'R :?? | ======================== | Tue.Feb,20250211 | ======================== | | Answering Max Sun LinkedIn `i 4 i( 1 2 3 )i i( 3 2 3 )i take ' cL 'R s" a b c" i( 1 2 3 )i i( 3 2 3 )i take ' cL 'R ' take 'L >t1> 4 _i t1 enc 3 _take ' cL 'd `( nlMV nlVM )` ' :?? 'm ` csv Words ' :?? 'm ` fmttbl| :?? ` toksplt :?? `( Hello Great Big World )` s" \/ " MV ` thanks ` >< braket .14 _f .. 1%f cL | ======================== | Wed.Feb,20250212 | ======================== | : HW [ i( 7 23 )i ]+ take .. ' reverse 'm ' cL 'd .. reverse cL ; | Making ` HelloWorld from CoSy startup a verb . s" Congrats! " HW ` https://cosy.com/ wwwDir nlVM dae # ` C:/CoSyWeb/4thCoSy/Code/CoSy/Playground.f >Fn> F> >Ft> rUpdate | ======================== | Thu.Feb,20250213 | ======================== | ` C:\CoSyWeb\WP\admin\acnts\WP.csy F>/\ >t0> # t0 1th ' Type 'm t0 0th $ ,L fmttbl| t0 ` res v@ # ` needs See | ec Words # ` needs ?? ` Words :?? Allwords .. ' See 'm { lfVM # 2 _i =i } 'm ,/ & at | con ` needs Help ` IUP_CURRENT See ` needs :?? | Simplifying the inclusion of CoSy list in definitions . | Adding | \/ | macro : ]+ p: refs+> p: ] p: literal ; forth ` ]+ See | /\ | Added to CoSy.f | 20250217.1618 20250217.1738 : tst [ `( sys CoSySource )` ]+ Dv@ ; tst ` ./CoSy/Tui.f enc memb ` : tst p1 [ `( sys CoSySource )` ]+ Dv@ .. R@ memb p1> ; ` .\CoSy\AcntFns.f tst enc >t0 `( sys CoSySource )` Dv@ >t1 t1 t1 dsc enc memb ;then : CoSySource [ `( sys CoSySource )` ]+ ; ` ./CoSy/AcntFns.f >t2> F> : Needs 1p CoSySource >a> Dv@ .. l0! R@ enc memb if a- l0@ refs- 1P ;then R@ F> Eval l0@ R@ cL a> Dv! 1P ; ` ./CoSy/Tui.f Needs CoSySource | 20250218.0737 | Thinking this /\ approach is sketchy /\ | source >t0> Dv@ >t1> ` a> :?? source Dv@ t2 F> Eval t1 t2 cL ` 1p> :?? ec Words s" ]" ?? ,/ ` literal con | Words Allwords ` [ con text> .+ # $ lfVM # cL | ======================== | Sun.Feb,20250216 | ======================== | | ======================== | Mon.Feb,20250217 | ======================== | res> >t0> (' "bl ` _ ') ssr res> >t0> t0 lfVM dae "bl =c { ' \/ ./ } 'm ` https://cosy.com/4thCoSy/Code/CoSy/Playground.f wwwGet >t0> # ` C:/CoSyWeb/4thCoSy/Code/CoSy/Playground.f F> rUpdate | Gutfeld intro Morse code | posted to LI & FB | 2147 | `( Fact morse )` Dv@ .. dsc $ 1th `( --. .-. . .- - )` ' where 'R ' at 'R ,/ t0 1th ` --. con ` where :?? | ======================== | Tue.Feb,20250218 | ======================== | https://www.facebook.com/groups/387145218021131?multi_permalinks=9480197248715837 `f 3.14 >a> Pi ^f Pi a> ^f cL fmtF18 ( 36.404119535788754154 36.395743884894109443 ) | ======================== | Wed.Feb,20250219 | ======================== | 225. 4.54609 f/ f. | 4.54609 5. f/ f. ` f. See 1.005 _f 24 _iotaf f1. +f .. --bac ^f ,L flip | ======================== | Thu.Feb,20250220 | ======================== | ` phi :?? ` C:/4thCoSy/CoSy/math.f F> | ======================== | Sat.Feb,20250222 | ======================== | ` ./CoSy/sort.f F> | ======================== | Sun.Feb,20250223 | ======================== | ` C:/CoSyWeb/Science/ />\ Dir/b ` Water con ` C:/CoSyWeb/Science/ ` WaterSpectrum.l cL F> c>i | ======================== | Mon.Feb,20250224 | ======================== | https://www.linkedin.com/posts/dyalog-ltd-_aplmonday-dyalog-apl-activity-7299790252905279488-jA0Q?utm_source=share&utm_medium=member_desktop&rcm=ACoAAABbtxIB-aBYN1koiEei-F0lism7MrIpFUQ ` thru :?? 1990 2025 2_i thru .. i( 400 100 4 )i ' modi 'L i0 =i ,L fmttbl| | { ' <>i ./ } 'L 1990 2025 2_i thru >t0> t0 .. i( 400 100 4 )i ' modi 'L i0 =i >t1 t0 t1 ,L t1 { ' <>i ./ } 'm ,/ cL >t2> s" ; " fmttbl 4 _partition fmttbl| t0 t2 -1 _at & at |>| t1 : leaps { [ i( 400 100 4 )i ]+ modi i0 =i ' <>i ./ } 'm ,/ ; t0 .. leaps ,L >a> fmttblb 4 _partition fmttbl| a@ dsc a> 1th & at |>| 1992 1996 2000 2004 2008 2012 2016 2020 2024 tst i( 0 0 0 )i ' <>i ./ | _____________________________________________________________________ | bye ` ./lib/math/floats rShow refs- R0 res> rUpdate rGet >T0> rCloseWdo `( str>i braket )i ' defined ./ ` defined :?? | ###################################################################### | | ======================== | e o current work | ======================== | CoSyStartFile |>| ` C:\4thCoSy\CoSy\WorkLog.csy cd |>| C:\4thCoSy R0 DMP cr ev >R0 R0 DMP | sF6 . useful for executing when ' save bombs | Basic settings | \/ | ` script0 ->r 4 sigdig dup @ --cab ! _i | set floating display precision & return previous Dnames | Words in root ` R dictionary , saved by ctrlS and before F6 `( sys )` Dv@ ` BROWSER Dv@ |>| ""C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"" res> ` BROWSER Dv! bye text> daylncut s" : `( " con rShow refs- R0 `D@ .r JobHndld_ _getsize `( .r Tui SIZE )` Dv! `D@ .r JobHndld_ _getPos | `( .r Tui posXY )` Dv! s" LUCIDA CONSOLE::14" `( .r Tui FONT )` Dv! ` _getPos See rCloseWdo curl -s 'https://api.open-meteo.com/v1/gfs?latitude=37.67&longitude=-122.49&hourly=windspeed_10m&windspeed_unit=mph&forecast_days=1' | jq . ` forth> ?? d1 @ _getPos `( sys Tui posXY )` Dv! | Stores current upper left corner for restart ec Words | ` 1st con ec Words reverse .. ` conn 10 _-+ ,/ at ec Words reverse `( (' braket i( f( )` ' conn 'R res> >t0> blVM ' Help 'm bye ` da Words ` ALPHabet Dv@ ` local ?? ` eyal 1 _rotate ` rotate ?? ` .+ :?? | ###################################################################### | |>> | \/ PLEASE ASK ANY QUESTIONS at \/ | \/ | << | | |\/| Distribution intro & documentation Job |\/| ` .\CoSy\CoSy.csy startJob | F6 to start persistent work space http://www.cosy.com/CoSy/AskMeAnything.html | Have split off Presentations and Demos to ` ./CoSy/Presentations.csy startJob | JOIN THE CoSy alphas . SUBSCRIBE at http://CoSy.com | ###################################################################### | res> >t1> t0 F> >t1> Ft rUpdate rGet >t1> lf>nl ` ./CoSy/CoSy.f >F Dnames 4 _partition ' blMV 'm ` ./CoSy/CoSy.f F> ` ./CoSy/CoSy.f.bk >F ec Dir ` lst>dt ?? Dnames | { Dv@ rho } 'm | lst | sF6 . check if any ' rho' crazy CoSyDir ` .\CoSy Dir ` .\CoSy\CoSy.bk F>/\ ` help v@ rho mark forget ` ./CoSy/math.f F> Eval ` ./CoSy/sort.f >Fn> F> >Ft> Eval `( Fact Fact )` Dv@ lfVM ` hec con 1000. 2.47105381467166 f/ _f R0 >t0> F> >t1> Eval | for editing or evaluating a file res> "lf "nl ,L ssr t0 >F R0 DMP cr ev >R0 R0 DMP | sF6 . useful for executing when ' save bombs | ###################################################################### | :: cr ." Exception: " .x ." at: " .x 100 ms cr ." tst " 0 ; is exception `( exception catch ctrl-c exceptions throw )` ' Help 'm ` exception Help |\/| Image resizing |\/| f( 176 315 )f ' %f ./ |>| 0.5587 R0 1%f f( 1002 550 )f ' %f ./ f( 989 531 )f ' %f ./ f( 1749 983 )f ' %f ./ 780. 560. f/ _f *f ` Fact Dv@ ` - 74 _take s" | " enc braket | Create line below | | ========================================================================== | |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| |/\| | ###################################################################### | | ###################################################################### | ` SkriptThots -> | 20210521.0838 s" |\/| " 74 _take s" | " enc braket | |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| | ` ToDo -> s" -" 70 _take s" | " enc braket | ---------------------------------------------------------------------- | | /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ | | ###################################################################### | | |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| |\/| | \/ | Line to make more calendar | \/ | Needs updating | 20210517 30 2_i Daylns | insert res in text using F5 | ###################################################################### |