Submit Search
Upload
Common Lispっぽいものをつくっています
•
0 likes
•
428 views
t-sin
Follow
関西Lispユーザ会#18で話した、自作Lispの進捗です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
Common Lisp製のテキストエディタLemにフレーム多重化機能をつくった
Common Lisp製のテキストエディタLemにフレーム多重化機能をつくった
t-sin
Common Lisp製のテキストエディタにコントリビューションをしたので、その実装とかこぼれ話を発表しました。
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Shuyo Nakatani
Rubyのままで速くなる方法
Real world lisp
Real world lisp
秀俊 伊藤
LT大会の資料。 Common Lisp布教用です。
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
H2O Space. 社内・パートナー勉強会「ちゃんとWeb会議」のスライド資料です。CoffeeScriptについての基本を紹介しました。
Sphinx/reST
Sphinx/reST
Ryo Maruyama
画像キャッシュだけじゃないVarnish(qpstudy02 飛び入りLT)
画像キャッシュだけじゃないVarnish(qpstudy02 飛び入りLT)
Iwana Chan
varnishのESIについて軽く
mrubyのfiberを試してみた
mrubyのfiberを試してみた
Kindai University
scheme処理系の実装
scheme処理系の実装
bobuhiro11
VM型schemeインタプリタ処理系の実装
Recommended
Common Lisp製のテキストエディタLemにフレーム多重化機能をつくった
Common Lisp製のテキストエディタLemにフレーム多重化機能をつくった
t-sin
Common Lisp製のテキストエディタにコントリビューションをしたので、その実装とかこぼれ話を発表しました。
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Shuyo Nakatani
Rubyのままで速くなる方法
Real world lisp
Real world lisp
秀俊 伊藤
LT大会の資料。 Common Lisp布教用です。
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
H2O Space. 社内・パートナー勉強会「ちゃんとWeb会議」のスライド資料です。CoffeeScriptについての基本を紹介しました。
Sphinx/reST
Sphinx/reST
Ryo Maruyama
画像キャッシュだけじゃないVarnish(qpstudy02 飛び入りLT)
画像キャッシュだけじゃないVarnish(qpstudy02 飛び入りLT)
Iwana Chan
varnishのESIについて軽く
mrubyのfiberを試してみた
mrubyのfiberを試してみた
Kindai University
scheme処理系の実装
scheme処理系の実装
bobuhiro11
VM型schemeインタプリタ処理系の実装
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
Satoshi imai
Common Lispの開発環境Portacleについてのチュートリアルです。 実用Common Lisp読書会 #2、及びShibuya.lisp lispmeetup #61で使用したスライドです。
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
Lispmeetup #45 Common Lispで音声合成
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
Langur
Making Editor written in Ruby version 20160611 第1回 浜松IT合同勉強会のHamamatsu.rb枠での発表資料です。 作成中のRuby製テキストエディタの紹介をしました。
Roslynで体験してみるC#スクリプト #cs_fukuoka
Roslynで体験してみるC#スクリプト #cs_fukuoka
Yuta Matsumura
第8回 C#福岡 勉強会(https://eventon.jp/575/)での発表資料です。 発表に使用したサンプルはGitHubに公開しています。 https://github.com/tsubakimoto/CSharpScriptSample
clominal
clominal
Masamitsu Oikawa
clojureで作ったテキストエディタ、clominalのコンセプトの発表です。
CL21で色々なデータ構造を実装してみようとした
CL21で色々なデータ構造を実装してみようとした
blackenedgold
Lisp Meet Up Present by Shibuya.lisp #16での発表資料です。
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
Ransui Iso
Lisper はじめました(大嘘)
Lisper はじめました(大嘘)
Nobutada Matsubara
IGGG Meetup 2015 WInter の発表スライド D言語でLisp処理系を実装する話 ちなみに、Lispコードは書いてない
Scheme to x86コンパイラ
Scheme to x86コンパイラ
Nobutaka Takushima
Schemeコードをx86アセンブリにコンパイルする、トイコンパイラの紹介 https://github.com/nobutaka/nanopass
続・SECDマシン
続・SECDマシン
t-sin
SECDマシンについて理解に進捗があったのでその発表です。
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
t-sin
SECDマシンについての発表をしました
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
t-sin
Common Lispを足掛かりにして、音プログラミングの基本的な概念ややりかたをデモを交えて話しました。
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
t-sin
Lisp meetup #69 にて。
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
t-sin
Pythonのリスト内包表記でLispを実装したことを、前後編に分けて話しました@lisp meetup #64
バッテリー強奪! PythonをCommon Lispから使う
バッテリー強奪! PythonをCommon Lispから使う
t-sin
PythonのライブラリをCommon Lispから使えるようにするライブラリ burgled-batteries3の話を lisp meetup #63でしたときのスライドです。
Common lispでグラフィックアート
Common lispでグラフィックアート
t-sin
Common Lispでジェレーティブアートを描画する方法を軽くお話しました。
One - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
t-sin
Common Lispにおいてワンライナーやシェル芸をすることは至難です。そこでワンライナーを支援するライブラリ one (https://github.com/t-sin/one) をつくりました。 このスライドは、oneについてlisp meetup で発表したときのものです。
Inquisitor -Common Lispに文字コード判定を-
Inquisitor -Common Lispに文字コード判定を-
t-sin
Inquisitor is a multilingual encoding/end-of-line style detector and external-format wrapper for Common Lisp. This slide introduced that library.
More Related Content
Similar to Common Lispっぽいものをつくっています
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
Satoshi imai
Common Lispの開発環境Portacleについてのチュートリアルです。 実用Common Lisp読書会 #2、及びShibuya.lisp lispmeetup #61で使用したスライドです。
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
Lispmeetup #45 Common Lispで音声合成
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
Langur
Making Editor written in Ruby version 20160611 第1回 浜松IT合同勉強会のHamamatsu.rb枠での発表資料です。 作成中のRuby製テキストエディタの紹介をしました。
Roslynで体験してみるC#スクリプト #cs_fukuoka
Roslynで体験してみるC#スクリプト #cs_fukuoka
Yuta Matsumura
第8回 C#福岡 勉強会(https://eventon.jp/575/)での発表資料です。 発表に使用したサンプルはGitHubに公開しています。 https://github.com/tsubakimoto/CSharpScriptSample
clominal
clominal
Masamitsu Oikawa
clojureで作ったテキストエディタ、clominalのコンセプトの発表です。
CL21で色々なデータ構造を実装してみようとした
CL21で色々なデータ構造を実装してみようとした
blackenedgold
Lisp Meet Up Present by Shibuya.lisp #16での発表資料です。
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
Ransui Iso
Lisper はじめました(大嘘)
Lisper はじめました(大嘘)
Nobutada Matsubara
IGGG Meetup 2015 WInter の発表スライド D言語でLisp処理系を実装する話 ちなみに、Lispコードは書いてない
Scheme to x86コンパイラ
Scheme to x86コンパイラ
Nobutaka Takushima
Schemeコードをx86アセンブリにコンパイルする、トイコンパイラの紹介 https://github.com/nobutaka/nanopass
Similar to Common Lispっぽいものをつくっています
(9)
Portacle : Common Lispのオールインワン開発環境
Portacle : Common Lispのオールインワン開発環境
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
Roslynで体験してみるC#スクリプト #cs_fukuoka
Roslynで体験してみるC#スクリプト #cs_fukuoka
clominal
clominal
CL21で色々なデータ構造を実装してみようとした
CL21で色々なデータ構造を実装してみようとした
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
Lisper はじめました(大嘘)
Lisper はじめました(大嘘)
Scheme to x86コンパイラ
Scheme to x86コンパイラ
More from t-sin
続・SECDマシン
続・SECDマシン
t-sin
SECDマシンについて理解に進捗があったのでその発表です。
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
t-sin
SECDマシンについての発表をしました
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
t-sin
Common Lispを足掛かりにして、音プログラミングの基本的な概念ややりかたをデモを交えて話しました。
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
t-sin
Lisp meetup #69 にて。
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
t-sin
Pythonのリスト内包表記でLispを実装したことを、前後編に分けて話しました@lisp meetup #64
バッテリー強奪! PythonをCommon Lispから使う
バッテリー強奪! PythonをCommon Lispから使う
t-sin
PythonのライブラリをCommon Lispから使えるようにするライブラリ burgled-batteries3の話を lisp meetup #63でしたときのスライドです。
Common lispでグラフィックアート
Common lispでグラフィックアート
t-sin
Common Lispでジェレーティブアートを描画する方法を軽くお話しました。
One - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
t-sin
Common Lispにおいてワンライナーやシェル芸をすることは至難です。そこでワンライナーを支援するライブラリ one (https://github.com/t-sin/one) をつくりました。 このスライドは、oneについてlisp meetup で発表したときのものです。
Inquisitor -Common Lispに文字コード判定を-
Inquisitor -Common Lispに文字コード判定を-
t-sin
Inquisitor is a multilingual encoding/end-of-line style detector and external-format wrapper for Common Lisp. This slide introduced that library.
More from t-sin
(9)
続・SECDマシン
続・SECDマシン
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
バッテリー強奪! PythonをCommon Lispから使う
バッテリー強奪! PythonをCommon Lispから使う
Common lispでグラフィックアート
Common lispでグラフィックアート
One - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
Inquisitor -Common Lispに文字コード判定を-
Inquisitor -Common Lispに文字コード判定を-
Common Lispっぽいものをつくっています
1.
Common Lispっぽい 処理系をつくっています t-sin (@sin_clav) 2020-06-28,
関西Lispユーザ会#18
2.
Sciurus – Common
Lispてきな? ● https://github.com/t-sin/mark – ”mark”はSciurusで実装する予定のプログラム ● C言語(C11)で実装 ● ビルドシステムにninjaとmesonを利用 – なんかFUSE (Filesystem in userspace)で使ってた
3.
動機 ● 言語をつくりたい – というかLisp ● どうせなら実用したい – 実用の方法を意識した機能 ● Common
Lispっぽくしたい – Common Lispは永遠の輝き – 慣れている
4.
設計 – あるいは妄想 ● 基本の機能はCommon
Lispに寄せる – 構文、パッケージ、シンボルのスロット… ● ちょっと挑戦もしたい – マクロシステム、GC、多値 ● 実用: インタラクティブなテキストのリス – 円城塔『リスを実装する』 ● https://www.amazon.co.jp/dp/B00WGS4L18/ – UTF-8な文字列、タイムスタンプ型、文字列系関数 – イベント駆動 or マルチスレッディング?
5.
Lispオブジェクト typedef struct lis_obj
{ lis_byte tags; union { lis_int num; lis_char ch; struct lis_array * array; struct lis_string * str; struct lis_tstamp * ts; struct lis_symbol * sym; struct lis_cons * cons; struct lis_env * env; struct lis_function * fn; struct lis_package * pkg; struct lis_stream * stream; struct lis_error * err; struct lis_obj * mval; } data; } lis_obj;
6.
Lispオブジェクト (のタグ) /* tags * *
least significant bit 'g' is a GC-bit * second least bit 'm' is not used but reserved * * 000000mg => int * 000001mg => char * xxxx10mg => built-in types * xxxx11mg => internal types * * built-in types * * 000010mg => array * 000110mg => string * 001010mg => timestamp * 001110mg => symbol * 010010mg => cons * 010110mg => function * * internal types * * 000011mg => environment * 000111mg => pakcage * 001011mg => stream * 001111mg => error * 010011mg => multiple value */
7.
Sciurusが動いてるところ $ ./build/src/lis Sciurus Lisp,
v0.0.0 lis? (list-all-packages) (#<PACKAGE:lis> #<PACKAGE:keyword>) lis? :test :test lis? (symbol-package :test) #<PACKAGE:keyword> lis? (defun fn (n) (print n)) fn lis? (fn "hogehoge") "hogehoge" nil lis? (defun fn2 (fn) (apply fn (list 42))) fn2 lis? (fn2 (function fn)) 42 nil lis?
8.
できること ● ファイルへの読み書き – バイナリ or
文字 ● いくつかの特殊形式 – if, lambda, quote, function, let, progn, setq – Multiple-value-call !!!!!! ● マクロ展開 (macroexpand) ● ファイルからLispコードをロード ● 階乗やZコンビネータが動くの確認済み
9.
できないこと - ほしいもの ● doループ ● リードテーブル ● setf的なもの ● unwind-protect ● コンディション –
エラー処理したい – デバッガはいらないがスタックトレースは見たい ● GC! (本は買いました) ● いろんなオペレータが不足
10.
このへんでデモでも ● File IO ● defun ● factorial? ● macroexpand? ● Z combinator?
11.
今後(1) ● 実用できるよう機能拡充したい – 繰り返しくらいほしい – タイムスタンプ型 –
マルチスレッドは、どうしよう ● JSみたいにシングルスレッドでスケジューリング? ● 謎
12.
今後(2) ● やるきがでない
13.
今後(2) ● やるきがでない – 起動時にLispコードをロードしてdefunできるよう になったところでやる気が尽きた – 実用までの長い道のり –
やれること(やるべきこと)の広がり ● TODOは広大だわ – なにか、モチベを上げねばならない – 動作目標となるコードを定めてみる? ● めんどい
14.
おらにやるきを わ け て く れ (完)
Download now