senooken JP Social
  • FAQ
  • Login
senooken JP Socialはsenookenの専用分散SNSです。
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

Timeline for it list by senooken, page 91

せのお (妹尾 賢) senooken it Friday, 30-Nov-0001 09:18:59 LMT
  • Subscribe
Listed 8 Subscribers 0
  1. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 20:02:15 JST きゅーけー きゅーけー

    R7RS-large の SRFI を取り込んでいく感じ、SRFI によって手続きの命名規則が違うために結果としてとてもカオスな状態になりそうで怖いという気持ちがある。

    In conversation Sunday, 02-Jan-2022 20:02:15 JST from mastodon.tojo.tokyo permalink
  2. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:57:01 JST きゅーけー きゅーけー
    in reply to

    Haskell とか OCaml には標準に Map があってちょっと羨ましい。R7RS large にはもう入ってるかもしれないので確認するか(そもそも最近は R7RS large の動きを追ってなかった)。

    Common Lisp の界隈でよく使われる Map 的なデータ構造がどのライブラリなのかの空気感を調査した方がいいかもしれない。しかし、そもそも Common Lisp や Scheme でそんなに関数型プログラミングを意識する必要はそもそもないという話もある気もする。

    In conversation Sunday, 02-Jan-2022 19:57:01 JST from mastodon.tojo.tokyo permalink
  3. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:52:06 JST きゅーけー きゅーけー

    Lisper は連想リストという構造を普通に採用してしまう(たぶん、これには個人差がある)あたりが、他のプログラマから見ると信じられないところかもしれない。連想リストは追加は爆速だけど、検索は遅いからな。もちろん扱うデータが多い場合は連想リストを使うことはないだろうけど少ないと分かってるなら連想リストでよくねってなる感じがする。構造がシンプルで扱うの楽だし。

    ANSI Common Lisp や Scheme の標準が永続的データ構造の Map を提供していないために連想リストに流れてしまいがちなだけだと思うけど……。

    In conversation Sunday, 02-Jan-2022 19:52:06 JST from mastodon.tojo.tokyo permalink
  4. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:38:18 JST きゅーけー きゅーけー

    たぶん、大抵の Lisper は XML を操作するときは SXML かそれに類似したS式に変換して操作をしてる(と思う)。JSON を S式 にするときは Scheme だとオブジェクトを alist にして、配列を vector にするか、オブジェクトを vector で表現して配列をリストにするかで割れている印象がある。私はオブジェクトを alist にする方がいいと思う。assoc できるし。

    In conversation Sunday, 02-Jan-2022 19:38:18 JST from mastodon.tojo.tokyo permalink
  5. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:25:38 JST きゅーけー きゅーけー
    in reply to

    とくに flip とかを使い始めるともはや邪悪だと思う(Scheme の話ではない)。

    In conversation Sunday, 02-Jan-2022 19:25:38 JST from mastodon.tojo.tokyo permalink
  6. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:24:49 JST きゅーけー きゅーけー

    ポイントフリースタイルに魅力を感じるかどうかみたいな……。Scheme の SRFI の cut とか便利なんでたまに使うけど、あれはやりすぎると却って読みにくくなる印象あり、ほどほどにするのが良いと思ってる。

    In conversation Sunday, 02-Jan-2022 19:24:49 JST from mastodon.tojo.tokyo permalink
  7. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:19:18 JST きゅーけー きゅーけー
    in reply to

    個人的にはネストしているものをフラットな構造に変えられるとネストしていることが見えにくくなって分かりにくくなったと感じるんだけど、あまりこのように思う人はいない気がする。

    In conversation Sunday, 02-Jan-2022 19:19:18 JST from mastodon.tojo.tokyo permalink
  8. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 19:16:59 JST きゅーけー きゅーけー
    in reply to

    構文が見慣れない問題、あんまり軽視してはならない気がしてきた。ネストした構造をそのまま明示的にネストされたまま見るという経験が Lisp 以外にない気がする。

    In conversation Sunday, 02-Jan-2022 19:16:59 JST from mastodon.tojo.tokyo permalink
  9. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:54:06 JST きゅーけー きゅーけー

    Lisp 入門の壁には二段階あり、最初の壁は構文が見慣れないことで、二番目の壁は cons の外部表現が分かりにくい(特に cons からなる構造の一部をリストとして扱うという点が難関)というところだと考えている。

    In conversation Sunday, 02-Jan-2022 18:54:06 JST from mastodon.tojo.tokyo permalink
  10. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:44:42 JST きゅーけー きゅーけー

    なんで cons cell の構造が違うだけなのに、リストのように出力されたり、ドット対のような変な点が入ったりするのかを説明するのが一番難しいと思う。

    Lisp の構文よりも、ここの方が Lisp 最大の壁なんじゃなかろうかと思う。別にこれは cdr 部が nil になっているような cons cell をリストとして特別に扱っているだけなんだけど、他の普通のプログラミング言語ではそういうことをしてないんで難しいと思う。普通はリストならリストというデータ構造が提供されていて、何かを「リストと見做す」ということはやってない。

    In conversation Sunday, 02-Jan-2022 18:44:42 JST from mastodon.tojo.tokyo permalink
  11. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:39:05 JST きゅーけー きゅーけー
    in reply to

    実際、Lisp について人に教えようとするとき一番詰まるポイントは cons cell とその外部表現のあたりだと感じている。lambda のあたりはもうそんな難しくないと思う。

    In conversation Sunday, 02-Jan-2022 18:39:05 JST from mastodon.tojo.tokyo permalink
  12. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:37:56 JST きゅーけー きゅーけー

    cons cell の存在が Lisp かどうかを決定的に分けているような気がしてる。これは cons cell を定義できるかどうかではなくて、言語が cons cell を提供していて cons cell かなるリスト構造を特別視するような仕組みがあると凄く Lisp っぽいと私は感じる。

    それ以外の特徴って最近の他の言語はだいたい持っている気がする。これを Lisp の特徴と見るかそれとも Lisp の負の遺産として見るかは人によって異なってくるとは思う。

    In conversation Sunday, 02-Jan-2022 18:37:56 JST from mastodon.tojo.tokyo permalink
  13. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:33:26 JST きゅーけー きゅーけー

    Common Lisp の中から使える Coalton が Lisp かどうか考えたんだけど、私の判断としては Lisp ではないとう結論に至ったように。とはいえ、Lisp の定義ってなんなの?といわれると厳しい。私個人としては cons cell でリストを構成するような仕組みと symbol があり、かつそういったデータ構造でプログラムを自体を記述可能なようなプログラミング言語が Lisp だと思う(これだと Scheme は Lisp なのかちょっと怪しくなってくるような気がしないでもない……、Scheme は伝統的なマクロを言語仕様としては排除しているので……、あとこの考え方だと Clojure はちょっと Lisp ではなくなってしまうので Clojure が好きな人の前ではいえない)。

    In conversation Sunday, 02-Jan-2022 18:33:26 JST from mastodon.tojo.tokyo permalink
  14. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:27:56 JST きゅーけー きゅーけー
    in reply to

    設定ファイルがS式で記述されているとそういうことに気づきやすいとは思う。S式で記述されているからといって、それが Lisp であるとは限らない。

    In conversation Sunday, 02-Jan-2022 18:27:56 JST from mastodon.tojo.tokyo permalink
  15. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:25:06 JST きゅーけー きゅーけー

    設定の記述が汎用言語でなかったとしても、設定の記述をプログラムとして読めるということが一番言いたかった。これはS式であってもなくても同じ話。

    In conversation Sunday, 02-Jan-2022 18:25:06 JST from mastodon.tojo.tokyo permalink
  16. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:07:58 JST きゅーけー きゅーけー

    Racket の面白い点としてはS式への拘りを捨てさったところにあると思う。コードの先頭に `#lang X`(タグにならないように全角にした)って書いてあれば X 言語として Racket は読んでくれて、この X 言語は S 式でなくてもよい。X 言語の実装としては、構文解析をして Racket によって解釈可能なコードに変換するだけでよい。結局 X 言語は Racket のランタイム上で動くものになるんで、他の Racket 上で動く言語との間で手続きをインポートしたりエクスポートしたりできるんで凄い。

    In conversation Sunday, 02-Jan-2022 18:07:58 JST from mastodon.tojo.tokyo permalink
  17. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:03:47 JST きゅーけー きゅーけー
    in reply to

    この記事、結果だけ書いてあって serverless.yml を Racket のコードとして解釈している件については触れてないんだな。これ、Racket の推しポイントだと思うんだけど説明なしか。

    > serverless.ymlを準備する(ただし、先頭に#lang aws-lambda-serverlessと記述する必要があります)

    In conversation Sunday, 02-Jan-2022 18:03:47 JST from mastodon.tojo.tokyo permalink
  18. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:01:14 JST きゅーけー きゅーけー
    in reply to

    > ただし完全な復元ではなく、Linux を GNU/Linux に置き換えています。

    この一文要らないんで消すか……。

    In conversation Sunday, 02-Jan-2022 18:01:14 JST from mastodon.tojo.tokyo permalink
  19. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 18:00:33 JST きゅーけー きゅーけー

    そういえば、以前 Serverless Framework の設定ファイルを Racket のプログラムとして実行可能にしたことがあるのを思いだした。たまたま、YAML のコメントが `#` だったからできた謎のテクニックなんだけど、これは結構面白いことをしたなと我ながら思う。

    Serverless Frameworkを使ってRacketのプログラムをAWS Lambdaにデプロイしてみた -- TojoQKhttps://www.tojo.tokyo/serverless-framework-for-racket.html

    In conversation Sunday, 02-Jan-2022 18:00:33 JST from mastodon.tojo.tokyo permalink
  20. きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Sunday, 02-Jan-2022 17:52:34 JST きゅーけー きゅーけー
    in reply to

    プログラムとデータの境界は曖昧であり、S式でかかれたデータがプログラムなのかそれともデータなのかを明確に区別することはできない。人がそれをデータと呼ぶかプログラムと呼ぶかの差でしかない。S式で記述された設定を解釈するプログラムを書いているときそれを強く感じる。そのプログラムは設定ファイルのインタープリタであり、設定ファイル側がプログラムだと見てもなんらおかしくない。Lisp だと扱うデータとプログラムの形が似てるのでそういう気持ちに入りやすい。

    In conversation Sunday, 02-Jan-2022 17:52:34 JST from mastodon.tojo.tokyo permalink
  • After
  • Before

User actions

  • Subscribe
  • List
せのお (妹尾 賢)

せのお (妹尾 賢)

Tokyo-to

https://senooken.jp

『「覚悟」とは暗闇の荒野に進むべき道を切り開くことだッ!』 『いきつづけたいという いし… うんめいを かえたいという つよいきもち。わたしは この ちからを… 「ケツイ」と よぶことにした。』 『不運、不幸、不ヅキ、運命、境遇、障害、不平、不正。すべてをねじ伏せオレは勝つ……!』 投資: @senooken_money 実験的にGoogle Adsense広告を設置中。

Tags
  • #asd
  • #gnusocial
  • #ingress
  • #mtgjp
More details...

    Listed

    • Ryusei
    • mecab✅
    • h12o
    • 東海りな@東海道らぐ広報部
    • LibreOffice
    • あわしろいくや
    • きゅーけー
    • 出雲伊月

    Subscribers

      (None)

      Feeds

      • Activity Streams
      • RSS 2.0
      • Atom
      • Help
      • About
      • FAQ
      • TOS
      • Privacy
      • Source
      • Version
      • Contact

      senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.

      Creative Commons Attribution 3.0 All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.