Upgrade to Pro — share decks privately, control downloads, hide ads and more …

goodbye-python-repl

 goodbye-python-repl

Niyarin

July 19, 2020
Tweet

More Decks by Niyarin

Other Decks in Programming

Transcript

  1. ・REPLを交換可能なリーダーを作って実装する ・当初はこの計画だった 自前のPython風readerを作る? 7 (let loop () (eval (switchable-read)) (loop))

    通常のScheme reader (read手続き) Python風 Scheme reader 何らかのトリガーで切り替える (例:特定のシンボルが打ち込まれた時 )
  2. リテラルで表現できないものの扱い ・ハッシュテーブル (scheme hash-table) or (srfi 69) or (srfi 125)

    の例 quasiquoteでうまくリテラル部に挿入する ・辞書in辞書やリストinリストでもうごく(はず)。 [1 , {“a”:2,”b”:3}] `(1 ,(alist->hash-table `((“a” . b) (“b” . 3)))) 11
  3. ちゃんと変換するなら (実装したのは、list,dict,string,int,float,boolとかぐらいだけど) list,range→ list dict → (scheme hash) set →

    (scheme set) tuple → vector or (scheme ilist) or (scheme rlist) bytearray → bytevector file → file オブジェクト → record or (scheme hash) 12