タグ

languageとlispに関するmanabouのブックマーク (4)

  • AIと一緒に新しい言語処理系を作ってみた|shi3z

    Claude-3 Sonnetがだいぶ良いので、前々から考えていた、「Lispっぽい記法で書けるけど他の言語に慣れた人にも使える言語」の処理系を作ってみた。仮にEasyLispという名前にした。 この言語ではこんな感じでプログラムが書ける (define person (object)) (set! person.name "Alice") (set! person.age 30) (print person.name)personというオブジェクトのプロパティをnameやageがあって、これをドット記法で指定するとpersonオブジェクトのプロパティにアクセスできる。 同じことをCommon-Lispでやろうとするとこうなる (defun example () (let ((person (make-object :name "Alice" :age 30))) (format t "N

    AIと一緒に新しい言語処理系を作ってみた|shi3z
  • Lisp系自作言語のx86_64コンパイラを作り始めたときの話 - Qiita

    ふと、あなた1は、Lisp風の新しいプログラミング言語と、そのネイティブコンパイラとを作りたい、と思い立ちました。 Common LispやSchemeのネイティブコンパイラは、いったいどのように作られているのか? 既存の実装のソースコードを繙ひもとけばいい話ではある。しかしそこではきっと、クロスプラットフォームにするための非質的なコードが繰り広げられているに違いない。まずは自分のアタマで、Lisp系言語のネイティブコンパイラに求められる質的な要素をゼロから考えてみようじゃないか。 この記事では、ガベコレの仔細やインライン展開などの最適化は扱いません。あくまでLispコードのネイティブコードへのコンパイラを初めて実装したときの備忘録的なものです。アセンブリは少しわかるけどマシンコードを直接読むのは初めてという人向け。 何コンパイル? どのようにネイティブコンパイラを作るかということでい

    Lisp系自作言語のx86_64コンパイラを作り始めたときの話 - Qiita
  • 何度か挫折しつつ不純lispインタプリタを作った - write ahead log

    作りました. github.com 詳細はgithubのREADMEをどうぞ.(酷い英語ですが) 当初は純lispを作ろうと思ったのでpureという名前ですが, tak関数を動かしたいなど欲が出てきたので 純粋でも何でもなくなってます. GCはありますが, マクロはありません. (私がマクロをちゃんと理解してないので) 作成時の参考文献は一番下に記載するので興味のある方はご覧ください. 以下は駄文です. 作り始めたきっかけ 以前から何か言語処理系を作ってみたいなと思っていました. Brainf*ckはともかく, 作ったことがなかったので. それとは全く別に私は今27才で, 25,27,32というのは個人的に特別な節目になる年齢じゃないかと感じていました. SIerにいると年齢と共にプログラミングする機会が減っていくのでなんとなく腕試ししたくなる事がよくあります. 「プログラマを名乗るならこ

    何度か挫折しつつ不純lispインタプリタを作った - write ahead log
  • アセンブリ言語のみで言語処理系を作った話 // Speaker Deck

    第11回 カーネル/VM 探検隊

    アセンブリ言語のみで言語処理系を作った話 // Speaker Deck
  • 1