G2A Many GEOs
SHARE
TWEET

Untitled

MarkUa Sep 16th, 2019 157 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                     (define s '"")
  2.  
  3. (define (count lst len)
  4.  
  5.  
  6.   (cond ((null? lst) 0)
  7.         ((PAIR? lst) len)
  8.         (else (+ 1 (
  9.                     ;(cond (( EQUAL? '()  (cdr '(  4 )) ) "hello" ) )
  10.                     count (cdr s (+ len 1) )
  11.                           )))))
  12.  
  13. (define (count1 lst len)
  14.  
  15.   ;(display lst)
  16.   ;(display (not (PAIR? lst)) )
  17.   ;(display "\n")
  18.  (cond ((null? lst) len  )
  19.         ((not (PAIR? lst)) len )
  20.         (else  (
  21.                     count1 (cdr lst  ) (+ len 1)
  22.                           ))))
  23.  
  24.  (define (cc c)
  25.        c
  26.   )
  27.  
  28. (define (reverse_ list_  result  position )
  29.  
  30.     (cond ((null? list_)  result  )
  31.           ( (and (= position 1  ) (PAIR?  list_) (LIST? list_) )
  32.                           ;;(display copy) (display li)
  33.                           ;;(display (car li))
  34.                           ;;(display (cdr li))
  35.                             (cons  (car list_)  result ) )
  36.              ( (and  (= position 1  ) (PAIR?  list_) (not (LIST? list_)) )
  37.                           ;;(display copy) (display li)
  38.                           ;;(display (car li))
  39.                           ;;(display (cdr li))
  40.                           ;; (display li)
  41.                           (cons   list_   result ) )
  42.              (else
  43.                         (reverse_ (cdr list_) (cons (car list_) result  )  ( - position 1) )
  44.                      )
  45.      )      
  46. )
  47.  
  48. (define (check li copy possible_pair_position)
  49.   ; (display (PAIR? (cdr li)))
  50.    ; (display (LIST? (cdr li)))
  51.     #|(display "\n")
  52.     (display (PAIR? li))
  53.     (display (LIST? li))
  54.     (display (PAIR? (cdr li)))
  55.     (display (cdr li) )
  56.     (display  possible_pair_position)
  57.     (display copy)
  58.      (display "\n")|#
  59.      #| (display "\n")
  60.       (display (PAIR? (cdr li)))
  61.        (display li)
  62.          (display (cdr li))
  63.         (display "\n")|#
  64.       (cond ((null? li)  copy  )
  65.             ( (and (=  possible_pair_position 1  ) (PAIR?  li) (LIST? li) )
  66.                           ;;(display copy) (display li)
  67.                           ;;(display (car li))
  68.                           ;;(display (cdr li))
  69.                          (reverse_ (cons  (car li)  copy ) '() 5)     )
  70.              ( (and (=  possible_pair_position 1  ) (PAIR?  li) (not (LIST? li)) )
  71.                           ;;(display copy) (display li)
  72.                           ;;(display (car li))
  73.                           ;;(display (cdr li))
  74.                           ;; (display li)
  75.                          (reverse_ (cons   li   copy ) '() 5)  )
  76.            ( (=  possible_pair_position 1  )
  77.                          (display (cdr li))  (cons  (car li) copy ) )
  78.            (else
  79.                    
  80.      #|                 (display "\n")
  81.        (display (null? li))
  82.       (display li)
  83.       (display copy)
  84.       (display "\n")
  85.       (display (car li))|#
  86.       (check (cdr li  ) (cons (car li) copy )   (- possible_pair_position 1) )
  87.                  
  88.             )
  89.        )
  90.  
  91.  )
  92. (define (second my_list)
  93.      (define len  ( count1 my_list 0) )
  94.      (cond ((< len 2) "less than 2")
  95.            ((= len 2) '() )
  96.            (else  ( check (cddr my_list) '()  (- len 2) )
  97.  
  98.                            )
  99.            )
  100.      
  101.      
  102.   )
  103.      (define r '() )
  104.  
  105. (define (first my_list)
  106.    
  107.      (cond ((and  (not (LIST? my_list)) (not (PAIR? my_list))) "atom" )
  108.            ((< ( count1 my_list 0) 2) "list size less than 2"  )
  109.            ((= ( count1 my_list 0) 2)
  110.                                        (cond ((and (not (LIST? my_list)) (PAIR? x) )
  111.                                       (set! r (cons ( cdr my_list) r))
  112.                                         (set! r (cons (car my_list) r))
  113.                                         ;(display (cdr my_list))
  114.                                                                
  115.                                   r  )
  116.                                        (else
  117.                                                (display r)
  118.                                                (display (cadr my_list))
  119.                                                (display (car my_list) )
  120.                                                (set! r (cons ( cadr my_list) r))
  121.                                         (set! r (cons (car my_list) r))
  122.                                         ;(display (cdr my_list))
  123.                                                                
  124.                                                 r                       )
  125.                                              )                  )
  126.            ((> ( count1 my_list 0) 2)
  127.                                         (set! r (cons ( cadr my_list) r))
  128.                                         (set! r (cons (car my_list) r))
  129.                                         ;(display (cdr my_list))
  130.                                                                
  131.                                   r )
  132.  
  133.                     (else  '(car my_list)
  134.  
  135.                            )
  136.            )
  137.      
  138.      
  139.   )
  140.  
  141.  
  142. (define (parse_pair t)
  143.   (cond ((null? t) 0)
  144.        
  145.         (else (+ 1
  146.                  (parse_pair  (cdr t))
  147.          ))))
  148.  
  149. (define (parse_not_right_list my_list)
  150.   (cond ((LIST? my_list) "LIST")
  151.         ((PAIR? my_list) (parse_pair my_list))
  152.        
  153.    )
  154. )
  155. ;(count1 '( 4 5 5 5  5 . 6) 0)
  156. ;(first '(5   6 . 2 ) )
  157.  (define x '( 2 44 44 (4 . 3) 4 4 ) )
  158.  
  159.  (display x)
  160. (display "\n")
  161. ;(display x)
  162. ;(PAIR? '(2 . 22))
  163. (define first_part (first  x))
  164. (define second_part '() )
  165. (define result '())
  166. (cond ( (or (EQ? first_part "atom" ) (EQ? first_part "list size less than 2"))
  167.      
  168.          (display "could not make oparations because of ")
  169.         (display first_part)  )
  170.       (else
  171.             (set! second_part (second x))
  172.             (set! result (cons second_part result))
  173.             (set! result (cons first_part result))
  174.             (display result)
  175.        )
  176. )
  177. ;(second x)
  178.  ;(reverse_ (second x) '()  5 )
  179.  ;(define x  '(3 5 5 6 5 6 2 4 (5 . 4)  7))
  180.  ;(LIST? x)
  181. ;(check x '())
  182. ;(second '(5 (6 . 2) 5 53))
  183.  #|(cond ((null? '() ) "HH"))
  184.   (PAIR? '( 4 . 8) )
  185.  (cond (ATOM? cdr '(  4 . 8 )) )
  186.   (cond (( EQUAL? '()  (cdr '(  4 . 8 )) ) "hello" ) )|#
  187. #|(  cdr '( 4 . (6 5 5 4)) )
  188. (parse_not_right_list '(4 5
  189.  
  190.                           6 2  5  4))
  191. (define x '( 4  5 6 2  5  5  6 4  6  3  ))
  192. (first x)
  193. (second x)|#
  194. ;(parse_pair x)
  195. #|(count '(4 5 4 2 5 3 5))
  196. (define sec (second '(2 3 5 4)))
  197. (define fir (first '(2  3 5 4)))
  198. (define re '() )
  199. (set! re (cons sec '()))
  200. (set! re (cons fir re))|#
RAW Paste Data
Ledger Nano X - The secure hardware wallet
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top