TS LISP

train12

License: MIT License

Fork
1
Fav
0
View
1448
  • Play

Fullscreen

Smart Phone

Fork tree

  • Readme
  • JavaScript 2926 lines
  • HTML 1 lines
  • CSS 63 lines
初期TypeScript、それもまだコンパイラのバージョンが0.8.xとか0.9.xの頃に書いたLISP処理系です。実装はhttp://www.oki-osk.jp/esc/llsp/v8.htmlに記載されているものをポートしています。
と書いたものの、実は上記リンク先の実装のうちexception周りは実装してません。その前で力尽きました。もう3年も前のことなので、記憶もあやふやになってきてますが、
この実装を最新のTypeScript向けにブラッシュアップするときにでも、実装するかもしれません。
それにしても、3年ですって。きゃー、3年ですって。中学入ったばかりの子が、高校入ったばかりの子が卒業してしまうぐらいの時間が経っちゃったんですね。光陰矢の如しですな。
まあ、それは置いておいて。乙女系男子だから、そういうのが気になっちゃうんです。
上記リンクのうち、promiseオブジェクトの生成short handは実装しているので、Haskell顔負けの遅延評価処理系を実現できちゃいます。
そのほか、helpコマンドを駆使していただければわかる通り、load-sampleという特別な関数でいくつか面白い処理をできるので、試してみてください。
promiseオブジェクトの活用方法は、このload-sample関数で垣間見ることができます。
元のTypeScriptのソースは、長くなるのでここには載せません。ブログのほうにでも載せると思うので、そちらをご参照ください。(TypeScriptのソースはGithubで参照してください。
URLはhttps://github.com/hazama-yuinyan/TSLispです)

上記リンク内には、promiseの自動成就みたいなことが書いてありますが、現状なぜか機能してないようなので、手動で(force)してください。

そのほかは、特筆すべきことはないかな。
この実装自体、MITライセンスで公開しておくので、気軽に使えるWebLISP処理系としても、活用していただけたら光栄です。

なお、実行環境はインタープリタなので、速度の保証はしません。promiseをうまく活用すれば、ある程度速度の改善はできるとは思いますが、数値計算などには向かないと思うので、
おとなしく別の実行環境を検索してください。
  • TS LISP
  • jqconsole
  • jQuery v1.11.0
  • TS LISP

play

Complete!

Description What kind of game?

Control Device

jsdo.it websocket controller

Mouse

keyboard

smartphone

Fullscreen

train12

Author

以前はC++をメインにいじっていましたが、最近はすっかりJavaScriptやHTML5の魅力の虜になっていましたが、今はさらにC#がメインになってきてます。 そんなJavaScriptやHTML5などの機能を解説していく(予定)のブログはこちら http://hazama1616.blogspot.jp

一応ツイッターもやってます。でも、ブログを始めたから技術系のことはほとんどそちらに書くはず http://twitter.com/train12_find

Default Panel

Size

  • Width: px
  • Height: px

code

QR Code

Discussion

Questions on this code?

Tags

Forked

sort by