home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,522 of 117,927   
   B. Pym to HenHanna   
   Lisp problem   
   03 Jun 24 07:53:37   
   
   From: No_spamming@noWhere_7073.org   
      
   HenHanna wrote:   
      
   > How can I write this function simply?   (in Common Lisp)   
   >   
   > -- Given a string  'a.bc.'   -- replace each dot(.)  with 0 or 1.   
   >   
   > -- So the value is a list of 4 strings:   
   >      ('a0bc0'  'a0bc1'  'a1bc0'  'a1bc1')   
   >   
   > -- The order is not important.   
   >   If the string has 3 dots, the value is a list of length 8.   
      
      
   SP-Forth   
      
   REQUIRE /STRING lib/include/string.f   
   REQUIRE PLACE ~mak/place.f   
   REQUIRE { ~ac/lib/locals.f   
   REQUIRE StringReplace2 ~nn\lib\string.f   
   REQUIRE printf<[   ~ilya\Lib\win\System\printf.f   
   REQUIRE list-all ~ygrek/lib/list/all.f \ all words for cons pair lists   
   list ALSO!   
   REQUIRE CASE-INS lib/ext/caseins.f  \ Case-insensitive.   
      
   : get-bin-digits ( u n --  ...) 0 do dup 1 and swap 2 / loop drop ;   
      
   : str-0-term ( adr)  count + 0 swap c! ;   
      
   create form-str 257 allot   
   0 value cnt   
   0 value power   
      
   : dotty { adr len -- }   
     \ Doesn't terminate output string with 0-byte.   
     form-str  adr len  s" ."  s" %d"  StringReplace2   
     form-str  str-0-term   
     len - to cnt  drop   
     1  cnt 0 do 2 * loop  to power   
     power 0 do   
       printf<[ i cnt get-bin-digits  form-str count ]>   
       type cr   
     loop   
      
      
   s" apple.bun.c" dotty   
      
     ===>   
   apple0bun0c   
   apple0bun1c   
   apple1bun0c   
   apple1bun1c   
      
      
   s" apple.bun.c.d" dotty   
      
     ===>   
   apple0bun0c0d   
   apple0bun0c1d   
   apple0bun1c0d   
   apple0bun1c1d   
   apple1bun0c0d   
   apple1bun0c1d   
   apple1bun1c0d   
   apple1bun1c1d   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca