Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Kent OHASHI
    @lagenorhynque
    roswell/roswell: intend to be a lisp installer and launcher for major environment that just work.
    https://github.com/roswell/roswell
    Satoshi Imai
    @masatoi
    インスペクタの解説をするのを忘れていた・・・orz
    フランドン畜舎内 ヨークシャイヤ
    @furandon_pig_twitter
    Kent OHASHI
    @lagenorhynque
    CL-USER> (listp ''john)
    T
    CL-USER> (listp 'john)
    NIL
    Kent OHASHI
    @lagenorhynque
    Satoshi Imai
    @masatoi
    そういえば原始オペレータからevalを作る話を前に訳した気がします
    Kent OHASHI
    @lagenorhynque

    http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_s.htm

    special form n. a list, other than a macro form, which is a form with special syntax or special evaluation rules or both, possibly manipulating the evaluation environment or control flow or both. The first element of a special form is a special operator.

    七誌
    @7shi_twitter

    次回は3/7(水) 20:00からです。 https://jitsucl.connpass.com/event/80414/
    Satoshi Imai
    @masatoi
    今日、PAIPの原書がPDFで公開されたようです https://github.com/norvig/paip-lisp
    七誌
    @7shi_twitter
    何と!素晴らしいタイミングですね。さっそく募集ページに追記しておきました。
    七誌
    @7shi_twitter
    この勉強会とは直接関係ないのですが、面白い試みなので紹介します。
    https://twitter.com/oreilly_japan/status/968706835225051136
    Kent OHASHI
    @lagenorhynque
    mapcar関数の素朴な実装例
    CL-USER> (defun my-mapcar (f ls)
               (if (null ls)
                   ()
                   (cons (funcall f (car ls))
                         (my-mapcar f (cdr ls)))))
    MY-MAPCAR
    CL-USER> (my-mapcar #'length '((1) (1 1) (1 1 1)))
    (1 2 3)
    CL-USER> (my-mapcar #'length '((1) (1 (1 (1))) (1 1 1)))
    (1 2 3)
    七誌
    @7shi_twitter
    REPLのログをアップしようと思っていたのですが、保存したつもりが保存できていませんでした。次回は気を付けます。

    七誌
    @7shi_twitter
    次回は3/21(水・祝日) 13:00からです。いつもと時間帯が異なるためご注意ください。 https://jitsucl.connpass.com/event/81765/
    warabanshi
    @warabanshi
    すいません、明日、ちょっと私用が重なってしまい遅れて参加いたします…。
    フランドン畜舎内 ヨークシャイヤ
    @furandon_pig_twitter
    会場への到着が 12:45 くらいになりそうです。
    先に到着された方は、すみませんが入り口付近でお待ちいただければともいます。
    Kent OHASHI
    @lagenorhynque
    Pythonでの例
    >>> def plus(*args): return sum(args)
    ...
    >>> plus(1,2,3)
    6
    >>> plus(*[1,2,3])
    6
    Kent OHASHI
    @lagenorhynque
    concat :: Foldable t => t [a] -> [a]
    [Prelude]
    > concat [[1,2,3], [4,5]]
    [1,2,3,4,5]
    Kent OHASHI
    @lagenorhynque
    Kent OHASHI
    @lagenorhynque
    user> (read-string "'(1 2 3)")
    (quote (1 2 3))
    Satoshi Imai
    @masatoi
    (defun f (x)
    (declare (type fixnum x))
    (+ x 1))
    CL-USER> (defun f (x)
    (declare (optimize (speed 3) (safety 0) (debug 0))
    (type fixnum x))
    (+ x 1))
    WARNING: redefining COMMON-LISP-USER::F in DEFUN
    F
    CL-USER> (disassemble #'f)
    ; disassembly for F
    ; Size: 29 bytes. Origin: #x100B83363C
    ; 3C: 48FFC1 INC RCX ; no-arg-parsing entry point
    ; 3F: 488BD1 MOV RDX, RCX
    ; 42: 48D1E2 SHL RDX, 1
    ; 45: 710C JNO L0
    ; 47: 488BD1 MOV RDX, RCX
    ; 4A: 41BBE008B021 MOV R11D, #x21B008E0 ; ALLOC-SIGNED-BIGNUM-IN-RDX
    ; 50: 41FFD3 CALL R11
    ; 53: L0: 488BE5 MOV RSP, RBP
    ; 56: F8 CLC
    ; 57: 5D POP RBP
    ; 58: C3 RET
    Kent OHASHI
    @lagenorhynque
    rainbow-lisp.png
    Kent OHASHI
    @lagenorhynque
    (def suffixes
      '(JD MD DO PharmD Sr. Jr.))
    
    (defn last-name'
      "Select the last name from a name represented as a list."
      [name]
      (if (some #(= % (last name)) suffixes)
        (last-name' (butlast name))
        (last name)))
    Satoshi Imai
    @masatoi
    (defparameter *title* '(MD Jr.))
    
    (defun last1 (lst)
      (car (last lst)))
    
    (defun last-name (name)
      (if (member (last1 name) *title*)
          (last1 (butlast name 1))
          (last1 name)))
    
    (last-name '(Rex Morgan MD))
    Kent OHASHI
    @lagenorhynque
    paip.chapter01.core> (last-name' '(Rex Morgan MD))
    Morgan
    (defn last-name'
      "Select the last name from a name represented as a list."
      [name]
      (let [lname (last name)]
        (if (some #(= % lname) suffixes)
          (last-name' (butlast name))
          lname)))
    Satoshi Imai
    @masatoi
    (defun power (x n)
      (expt x n))
    (defun square (x)
      (* x x))
    
    (defun power (x n)
      (cond  ((= n 0) 1)
             ((evenp n) (square (power x (/ n 2))))
             (:else (* x (power x (- n 1))))))
    
    (power 2 10)
    Kent OHASHI
    @lagenorhynque
    (def atom? (complement sequential?))
    
    (defn count-atoms [expr]
      (cond
        (atom? expr) 1
        (empty? expr) 0
        :else (+ (count-atoms (first expr))
                 (count-atoms (rest expr)))))
    Satoshi Imai
    @masatoi
    ズルするとこうなります
    (defun count-atom (lst)
      (count-if #'atom lst))
    七誌
    @7shi_twitter

    次回は4/4(水) 20:00からです。
    https://jitsucl.connpass.com/event/82964/
    フランドン畜舎内 ヨークシャイヤ
    @furandon_pig_twitter
    今読んでいるところのLISPコードは↓ですかね。
    https://github.com/norvig/paip-lisp/blob/master/lisp/simple.lisp

    七誌
    @7shi_twitter
    次回は4/18(水) 20:00です。 https://jitsucl.connpass.com/event/84345/
    七誌
    @7shi_twitter
    会場の都合により一週間延期とさせていただきました。
    次回は4/25(水) 20:00です。 https://jitsucl.connpass.com/event/85528/
    Kent OHASHI
    @lagenorhynque
    CL-USER> (let ((v 42))
               v)
    42
    CL-USER> ((lambda (v) v) 42)
    42