【入門】Common Lisp その11【質問よろず】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2014/09/21(日) 22:49:21.73ID:FJokPHUt
Lisp Schemeスレでは恥ずかしくて聞けないようなことを質問したり、
Lisp Schemeスレの話題は高度すぎて気後れする人が話しあったり。
それ以外でもCommon Lispについての話題なら歓迎します。

ま、ゆっくりやりましょう。

「いいものの本質は、いかなる時代においても変わらない」byパワーズ

■前スレ
【入門】Common Lisp その10【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1361341876/

■Wiki
http://wiki.fdiary.net/lisp/ (id:guest pass:cl)
http://cl.cddddr.org/
http://tips.lisp-users.org/common-lisp/
2015/06/19(金) 02:49:41.26ID:xcKv4OTq
>>250
処理系によって違ってくるから何を使ってるか教えて
2015/06/19(金) 12:32:36.15ID:sjap9hEB
>>251
詳しくは知らないんだけど、
common lispで
format関数使って日本語と文字列を結合しようとするとそのエラーが出ます。
2015/06/20(土) 12:18:47.33ID:hw0FsWHq
windowsのclispでcl-opencvって使えますか?
254デフォルトの名無しさん
垢版 |
2015/07/06(月) 23:11:46.67ID:gzHSRIru
今日からLisp始めた阿呆です。本当に初歩的な質問をしたいのですが、よろしいでしょうか。

わたしは 太郎 です。
趣味は 2ちゃんねる です。
Lisp初心者 です。

というファイルを

(((#\わ #\た #\し #\は) (#\太 #\郎) (#\で #\す #\。)) ((#\趣 #\味 #\は) (#\2 #\ち #\ゃ #\ん #\ね #\る) (#\で #\す #\。))
((#\L #\i #\s #\p #\初 #\心 #\者) (#\で #\す #\。)))

このようなリストを吐き出す関数を書きたいのですが、本当に知ろうとゆえ、困ってます。
一応書いてみたのが以下のものです。

(defun test-parse (fname)
(with-open-file (in fname :direction :input)
(let (tmp (w ()) (l ()) (s ()))
(loop for tmp = (read-char in nil)
while tmp
do (cond ((eql tmp #\Space) (push (reverse w) l) (setf w nil))
((eql tmp #\Newline) (push (reverse w) l) (setf w nil) (push (reverse l) s) (setf l nil))
(t (push tmp w))
))
(push (reverse w) l)
(push (reverse l) s)
(reverse s))))

どうすれば、かっこいいLisperになれますか。
説教してください。頓首。
2015/07/06(月) 23:30:52.25ID:DLd6IvQj
かっこいいかは知らんけど、split-sequenceを使うと、

(defun omanko (src)
(mapcar (lambda (s)
(mapcar (lambda (x) (coerce x 'list))
(split-sequence #\Space s)))
(split-sequence #\Newline src)))

(omanko "わたしは 太郎 です。
趣味は 2ちゃんねる です。
Lisp初心者 です。")

↓CLISPでの結果

(((#\HIRAGANA_LETTER_WA #\HIRAGANA_LETTER_TA #\HIRAGANA_LETTER_SI #\HIRAGANA_LETTER_HA) (#\U592A #\U90CE)
(#\HIRAGANA_LETTER_DE #\HIRAGANA_LETTER_SU #\IDEOGRAPHIC_FULL_STOP))
((#\U8DA3 #\U5473 #\HIRAGANA_LETTER_HA)
(#\FULLWIDTH_DIGIT_TWO #\HIRAGANA_LETTER_TI #\HIRAGANA_LETTER_SMALL_YA #\HIRAGANA_LETTER_N #\HIRAGANA_LETTER_NE
#\HIRAGANA_LETTER_RU)
(#\HIRAGANA_LETTER_DE #\HIRAGANA_LETTER_SU #\IDEOGRAPHIC_FULL_STOP))
((#\L #\i #\s #\p #\U521D #\U5FC3 #\U8005) (#\HIRAGANA_LETTER_DE #\HIRAGANA_LETTER_SU #\IDEOGRAPHIC_FULL_STOP)))
256254
垢版 |
2015/07/09(木) 18:43:04.87ID:dOwpf5X7
>>255
おおお。ありがとうございます。
split-sequenceなんてのがあるのですね。
勉強になりました。
257254
垢版 |
2015/07/10(金) 07:34:53.35ID:f1nU5bVE
いろいろ参考書を買ったけど、
PAIPで禁欲的にやるのが一番いいような気がしている。
おすすめの書籍とか読む順番とかあったら教えてくれませんか。
お願いいたします。
258デフォルトの名無しさん
垢版 |
2015/07/13(月) 12:29:38.83ID:mO7PTTVX
あるサイトに
(reduce #'+ '(1 2 3))
;=> 7
 6じゃないのですか?
259デフォルトの名無しさん
垢版 |
2015/07/13(月) 23:25:59.50ID:RdQReua/
>>258
そのサイトの管理者なりに教えてあげればいいじゃない
2015/07/15(水) 02:32:01.68ID:UqDQ6ToJ
>>258
6だよ‥アスペかよw
261デフォルトの名無しさん
垢版 |
2015/07/19(日) 21:44:01.49ID:iFwTTRmf
最近はcl freaks に出ている人達を中心にcommon lispが元気ある感じするよね
262名無しのプログラマ
垢版 |
2015/08/09(日) 17:59:36.15ID:Icb40LOY
再帰の魅力
2015/09/15(火) 00:43:38.55ID:1sxk5v5N
lispworks proかったった。
買ったからには勉強せねば。
実はまだlispなんにも知らん。
2015/09/15(火) 05:52:09.24ID:e2MtLkqs
知らんのにいきなり買うとか豪儀やな
2015/09/15(火) 10:02:52.02ID:qUwxVhtE
ならリスプの統合環境と言っていいか、そこは怪しいが
zxzzyあたりからやりゃ良いのに
と思う俺様
ま、いいけどな
2015/09/22(火) 22:58:08.35ID:zMYL44aC
(defun fact (n)
(cond ((=n 0) 1)
(t (* (fact (1 - n))
n ))))


*** - SYSTEM::%EXPAND-FORM: invalid form (1 - N)
The following restarts are available:
ABORT :R1 Abort debug loop
ABORT :R2 Abort debug loop
ABORT :R3 Abort debug loop
ABORT :R4 Abort debug loop
ABORT :R5 Abort debug loop
ABORT :R6 Abort debug loop
ABORT :R7 Abort debug loop
ABORT :R8 Abort debug loop
ABORT :R9 Abort main loop
とエラーがでます。どうしてなのでしょう?教えてください。
お願いします。
2015/09/22(火) 23:17:05.48ID:52HAR6EJ
スペースが入ってなかったり入っていたり

(defun fact (n)
(cond ((= n 0) 1)
(t (* (fact (1- n))
n))))
2015/09/22(火) 23:27:01.08ID:zMYL44aC
>>267
ありがとうございます。ずいぶん難しいなあと思いました。
コードを整えるためにスペース入れたらエラーなので。
規則はあるのでしょうか?
2015/09/23(水) 01:17:09.38ID:Z8UtHxkJ
>>268
- や * や = も英数字と同じ扱い。 分けるものがなければつながるというだけ。
=n とあればそれは =n という名前と認識されるし、 1- は 1- という名前。
2015/09/23(水) 02:22:31.73ID:2zCL7K2h
>>269さん
教えていただいてありがとうございます。
質問をしてよかったと思いました。教えていただいたものを
知りませんでした。
関数には引数に1-をいれるというオプションのようなものが付く
という仕様になっているということがわかりました。
では
2015/09/23(水) 02:25:45.54ID:2zCL7K2h
>>263
30万円くらいですか。すごいですね
2015/09/23(水) 03:31:44.34ID:Z8UtHxkJ
>>270
> 関数には引数に1-をいれるというオプションのようなものが付く

高階関数のことを言ってるのかな。
そのあたりはどうせ避けて通れないので、
学んでいるうちにわかってくるよ。
2015/09/23(水) 08:07:48.78ID:+YPBfVMM
>>270
1- って関数名ですよ?
クォートされていないリストは
一つ目の要素が関数名、以後が引数として評価されます。

(1- n)
1- は関数名、nは引数 (注:関数1- は引数から1引いた数を返す関数)

参考;クォートされてるリスト例
'(* 2 3 ) (quote (* 2 3))
解説 (* 2 3 )はクォートされているので関数として評価されない

あなたの初めの書き方
(1 - n)
だと関数名は1で、- と n の2つの引数をもつことになる(正確に言えば、引数- と 引数n に 関数1を適用する、となります)
すると関数1は未定義だよと言われちゃいますね
同様に
(=n 0)だと
関数名はn= で引数は0となります。
ここでも関数=nは未定義といわれちゃいます
C言語のフリーフォーマットとはことなり、LispではスペースがS式での要素の区切り(デリミッター)になります。
スペースで分ければ2つの要素になるし
スペースを消して繋げればひとつの要素になってしまいます。
ちなみに(=n 0)が正しい適用かどうかは関数定義されてるかどうかによります。もし
(defun =n (x )
(zerop x))
と定義されていれば
(=n 0) => t
ですね
2015/09/27(日) 22:01:13.24ID:BTnSG6Xd
windowsでclispとquicklispでcffiを触ってみようと思ったんですが
(cffi:define-foreign-library test
(:windows "test.dll")
(t (:default "test")))
(cffi:use-foreign-library test)
で、testが開けません
パスは正しいし他の言語からもリンクできるライブラリですが、
何処がおかしいのでしょうか?
2015/09/29(火) 11:03:45.13ID:KkwgeqRl
>>271
32bitだからそんなにしないよ。
今とりあえず、いじくりまわぢてる。
276274
垢版 |
2015/10/01(木) 02:50:50.32ID:tesABx2F
自己レスですが、CLISPで散々いろいろ試したけどどうにもならなかったので
SBCLに変えてみたらまともに動くようになりましたので報告
277デフォルトの名無しさん
垢版 |
2015/10/03(土) 13:14:55.68ID:IK0Y+UBj
perl の perldoc
python の pydocに相当するローカルのドキュメントは何ですか?
シンボルを調べるのに
ネットを通しているので2秒間の通信があったり、
通信可能であることに依存しているのが弱点です
'http://clhs.lisp.se/Front/X_AllSym.htm'
2015/10/03(土) 13:24:00.92ID:8AFtPGV4
xyzzy上でで良ければ
reference.xmlから
reference.txtや reference.chm使って補完できるよ
足りない関数名ややシンボル名は静的補完ファイルに登録するか、reference.*に追加するか
2015/10/03(土) 13:25:24.46ID:8AFtPGV4
あ、ヘルプもね
280デフォルトの名無しさん
垢版 |
2015/10/04(日) 00:50:00.79ID:FtwpBXng
>>278,279
ひょっとして >277当てか?

後出しになってしまって申し訳ない
cygwin clisp と Linux clisp を使っています
SLIMEの方はそれぞれ NTEmacs と Linuxのaptitude で入る方のemacs

だから aptitude apt-cyg svn git wget などで落としてインストールし
zsh上で pydoc ... 等と同様に呼び出したい
2015/10/04(日) 08:39:36.15ID:QJUtVfl7
>>280
>>277のリンク先(HyperSpec)のことなら、ダウンロードはLispWorksのサイトのこのページから。
http://www.lispworks.com/documentation/common-lisp.html
"This HTML document may, subject to certain conditions, be downloaded for use at other locations."
という段落の "downloaded" が、HyperSpecのHTMLファイル群を固めたTar書庫へのリンク。

ローカルに置いたHyperSpecを「zsh上で pydoc ... 等と同様に」参照できるコマンドは多分無いと思うけど、
EmacsのSLIMEからブラウザで開くことは出来る(シンボルの上で C-c C-d h)。
https://common-lisp.net/project/slime/doc/html/Documentation.html

設定はこんな感じ(展開したHyperSpecディレクトリをホームディレクトリに置いた場合):

;; HyperSpecのディレクトリ(URL形式)。
(setq common-lisp-hyperspec-root (concat "file://" (expand-file-name "~/HyperSpec/")))

;; HyperSpecを `eww' (Emacs 24.4 以降に内蔵のウェブブラウザ) で開く設定。
;; (それ以外のURLはデフォルトのブラウザで開く)
(setq browse-url-browser-function
`((,(concat "^" common-lisp-hyperspec-root) . eww-browse-url)
("." . browse-url-default-browser)))
282デフォルトの名無しさん
垢版 |
2015/10/04(日) 15:04:33.13ID:FtwpBXng
>>281
なるほど
ありがとう
これでもう大丈夫になりました
283282
垢版 |
2015/10/06(火) 16:16:19.87ID:QezNm1t4
localリファレンス用のzshコマンドのために書いた
#!/usr/bin/env python3
import urllib.request
import re
import os
import subprocess
import sys

# USAGE: this-script.py or this-script.py [Symbol]
ref_dir = os.environ["HOME"] + "/lib/HyperSpec/"
ref_top_dir = ref_dir + "/Front/X_AllSym.htm"
if len(sys.argv) == 1:
  to_Symbol_list = "w3m " + ref_top_dir
  subprocess.call(to_Symbol_list, shell=True)
elif len(sys.argv) == 2:
  top_as_html = "file://" + ref_top_dir
  with urllib.request.urlopen(top_as_html) as res:
    html = res.read()
    is_Symbol = 'Body/.+?#' + sys.argv[1] + '"'
    url_suffix = re.sub("#.*", "",
              "".join(re.findall(is_Symbol, html.decode())))
    if url_suffix:
      do_w3m = "w3m " + ref_dir + url_suffix
      subprocess.call(do_w3m, shell=True)
    else:
      print("The symbol was not found.")
else:
  print("Please input 0 or 1 Symbol of Lisp.")
2015/10/18(日) 00:46:38.25ID:tKz57RTt
話題になってないけど、
コンスセル原器が廃止されるらしいぞ
2015/10/18(日) 00:53:59.90ID:evkMpRYg
え?
2015/10/18(日) 08:54:54.56ID:1LMJTfhY
ttps://www.jwz.org/blog/2015/10/cons-conflict-resolved-at-last/
これだね。メートル原器もなくなると言うし、
時代の流れを感じるね
2015/10/19(月) 22:17:19.25ID:v3Pllrwr
コンス原器とか言ってるのはもちろんネタだからな、わかってると思うけど
メートルの定義が科学的なものに置き換えられるから、そのパロディだからな?
2015/10/20(火) 12:37:44.25ID:z0N4BuQy
原器は力が溢れている。 元気だから。 なんちゃってーー
289デフォルトの名無しさん
垢版 |
2015/10/21(水) 00:22:44.88ID:vQvk97RO
原器があればなんでもできる!
2015/10/21(水) 02:26:28.45ID:FfxQn45L
ネタだったのか
どういうものなんだろうと唸りながら考えていた俺
2015/10/21(水) 11:49:26.05ID:NJ/LNABV
やる気原器いわき的な
292デフォルトの名無しさん
垢版 |
2015/10/22(木) 09:17:07.87ID:gRBaWwNT
グレアムの魔道書からではなく
ホフスタッターのメタマジックゲームのlispの章を読んで
lispやりたいと思ったプログラミング初心者だけど、
emacsでmaterialというカラーテーマにして
フォントをRicty Diminished の斜体にしてから
全画面でlispのコードの見たらとても美しい言葉に見えた
美しいとそれだけでまた見たくなるから
学習意欲を保つためにはよいと思った。
2015/10/22(木) 23:40:53.70ID:rUneY+ez
>>273
ありがとうございます。今はじめて>>273さんの書き込みを読みました。
しばらく時間が経ったのでclispのことを忘れてしまいました。
ぼちぼち回復するようにがんばります。
2015/10/24(土) 04:48:56.04ID:sSEtncll
>>292
コードの美しさを感じ取れるといいコードが書けるようになるよ
コードは書くよりも読むほうが、うんと多いから
2015/10/26(月) 23:33:50.22ID:cnZS0lks
>>286
スレ違いなツッコミだがメートル原器はずっと前に基準でなくなっている
最近の話題はキログラムの方だな
296デフォルトの名無しさん
垢版 |
2015/10/27(火) 04:19:42.73ID:qSWumRv1
>>294
「land of lisp」という本にhaskellいいみたいなこと書いてあったけど、
haskellってどうなのかな
common lispとhakellもやったことがあることがある人からしたら。
lispの括弧と前置記法って一貫している感じがして好き。
2015/11/12(木) 23:53:54.83ID:Viwd1W6j
Schemeだとtyped racketとか型つけるのが流行っぽいけどcommon lispも似た感じになってたりします?
2015/11/13(金) 13:06:25.41ID:mBt3iEyA
Haskellは時々仕様が変わるから安心して使えない
299デフォルトの名無しさん
垢版 |
2015/11/15(日) 22:48:26.04ID:NgFg0iNO
Arrow-macrosというの見つけた
なんかだ好き
-<> はダイアモンドの杖だって

https://github.com/hipeta/arrow-macros/

http://quickdocs.org/arrow-macros/
300デフォルトの名無しさん
垢版 |
2015/11/15(日) 22:49:19.75ID:NgFg0iNO
あ、誤字
なんだか好き
2015/11/18(水) 00:22:55.99ID:D8xoadz9
>>299
うーん、ちょっと使ってみたいけど、
後からワケが分からなくなりそうで不安
2015/11/26(木) 00:14:06.33ID:uCvAjqGD
> LLVMベースのCommon Lispコンパイラ「Clasp」の開発チームは11月20日、最新版となる「Clasp 4.0」を公開した。
> Clasp 0.4ではインラインコンパイラの「CClasp」を一新し、最適化機能も強化された。

https://osdn.jp/magazine/15/11/25/161300


0.4 と 4.0 を間違えるなよ大違いだろ
2015/11/26(木) 20:05:43.69ID:gXyRUJBd
llvmはフリーなソフトウェアの敵
みたいなことをハッカー界隈の偉い人が言ってなかったっけ?
2015/11/27(金) 06:16:02.28ID:1fwdzPCg
GPL 教団の人だな
2015/12/03(木) 01:47:18.74ID:mCOP4ysm
llvmやjavaなどのgpl教団に狙われやすいcl
Schemeはそんなことないのに
306デフォルトの名無しさん
垢版 |
2015/12/23(水) 21:05:51.95ID:83EO6D9Q
単純な質問なのですが、CommonLispにはリードマクロっていう構文解析機を自分で作れるてきな機能がありますが
これってなんで廃れたのでしょうか?正直最強の機能だと感じたのですが

ただ、触った感じ
・定義しないといけない事が多すぎて、自分好みのカスタマイズが時間がかかる。
・同じ意味だけど構文解析失敗したら最後に成功したところまで戻ってくれないのでコレジャナイ感がすごい。
・みんながみんなカスタマイズを好きにやって文化的に統合できなくなった
このあたりが問題かなって感じているのですが、実際Lispコミュニティーにいる人たちのご意見が欲しいです。
OnLispとかLet over Lamnbdaとかやりおえてのままの感想なので
307デフォルトの名無しさん
垢版 |
2015/12/24(木) 00:08:08.80ID:SRfs7Doz
>>1
RPGツクール2000 , RPGツクールMV https://tkool.jp/mv/ ( JavaScript 採用 )

WOLF RPGエディター http://www.silversecond.com/WolfRPGEditor/

デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/
デュエル・マスターズ対戦CGI ex
https://web.archive.org/web/20150809154946/http://www53.atwiki.jp/dmsuishinparty/pages/314.html

デュエル・マスターズ(デュエマ)DM ONLINE 1.8a  /  VanGuard ONLINE 1.5a
https://web.archive.org/web/20150809160254/http://uhyohyohyo.sak ura.ne.jp/hsp.html

ヴァンガード専用ネット対戦ツール【 VanGuard Online 】
https://web.archive.org/web/20150809155032/http://kiimaa.jugem.jp/?eid=61

「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート
https://web.archive.org/web/20150809153724/http://supersolenoid.blog63.fc2.com/blog-entry-6886.html

遊戯王 Automatic Dueling System
https://web.archive.org/web/20150809164855/http://www3.atwiki.jp/ads-wiki/pages/20.html

遊戯王 デュエル・オンライン
https://web.archive.org/web/20150809171527/http://www31.atwiki.jp/vipdo/pages/15.html
https://web.archive.org/web/20140628005202/http://do.yugioh-portal.net/

ウィクロス( WIXOSS ) WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/

BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https://bgengine.net/
https://web.archive.org/web/20151209172205/http://14owl.hateblo.jp/entry/2015/12/09/011234

アプレンティス  マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html
https://web.archive.org/web/20151202202725/http://homepage1.nifty.com/Q_Q/ap.html
308デフォルトの名無しさん
垢版 |
2015/12/24(木) 00:09:04.10ID:SRfs7Doz
【 オンラインTCGエディター 】   >>1,>>307

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書け。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストしろ。
個vs個、多数乱戦、チームvsチーム、個vsチームを実現し、P2P通信対戦プラグイン有り。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみろ。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。

エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。

遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。

各社TCGを再現するテストプレイ ⇒ 更に改良や修正 + コード記述の仕様書(設計書)を作成。

機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。

下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。

さ〜て、インド人ベンダーと日本人の翻訳担当PGを見つけよっと!ww
http://wc2014.2ch.net/test/read.cgi/entrance2/1450555747/-20
2016/01/23(土) 06:54:59.99ID:62o9ix/6
こないだ出た common lisp recipes の電子版 ttp://www.apress.com/9781484211779 が2月1日までセールだとか(ダイレクトマーケティング)
2016/02/03(水) 08:45:51.54ID:TXUepsJB
Pypiみたいに誰でもパッケージ登録出来るリポジトリが欲しい
2016/02/04(木) 09:02:39.44ID:0n3FRGss
>>306
そもそも頻繁に使うようなものでもないし、廃れるという表現は違和感ありますな。
使う人は使っているけど、他人に迷惑をかけるかもしれないので、使用する際は注意して自己責任でやってくれと。
2016/02/20(土) 11:39:04.63ID:NPEQ4RNb
>>309
実用Common Lisp Kindle版も半額だなあ
翔泳社のKindle本が半額セールなんだとか
313デフォルトの名無しさん
垢版 |
2016/03/19(土) 19:16:42.97ID:zF/sbIkf
bordeaux-threadsを使って標準出力に"hello" と出力しようとして

(bt:make-thread #'(lambda () (sleep 2) (princ "hello")))

としてみたけど、何も出力されなくて、

(bt:make-thread #'(lambda () (sleep 2) (princ "hello" #.*standard-output*)))

としたら、出力されました。
どうして*standard-output* で出力できず、
#.*standard-output*を使うと出力されるのでしょうか?
314デフォルトの名無しさん
垢版 |
2016/03/20(日) 18:36:25.23ID:DDfYHSLd
*standard-output* がスペシャル変数だから、クロージャに参照を閉じ込められないせい。
スペシャル変数は、いわゆる動的スコープになる。
315313
垢版 |
2016/03/21(月) 08:20:05.67ID:GwpV/7VW
>>314
なるほどー。そういうことですか。
それで、#.を使うのですね。
ありがとうございます!
2016/03/21(月) 08:59:13.60ID:wDZuq9VI
実践common lisp みたいな本を書くリスパーが少ないのはなぜなのでしょうか?
リスパーは common lisp をあまり広めたくないということなのでしょうか?
2016/03/30(水) 12:55:55.23ID:7zl3Df3d
実践common lisp みたいな本を買う人が少ないから
2016/03/30(水) 19:31:52.93ID:O7ZXJNVV
Lispってちょっと勉強でつつく人は多いがガッツリやる人は少ないからね。
2016/03/30(水) 20:10:40.09ID:8q+dx1kL
>>318
にわかLisperの存在が一番Lisp族言語のユーザに迷惑なんだよねぇ orz
haskelとかjs界隈もそうみたいだけど。

良いも悪いも全部ひっくるめてLisp(あるいは言語X)で何かを作ることがすきな人にとっては大迷惑。
2016/03/31(木) 01:45:19.30ID:C1c6UsPS
にわかが居ないのなんて、死んだ分野だけだよ。
成果出してればノイズは気にならないが、どんな迷惑が有るの?
2016/03/31(木) 19:20:58.97ID:fxztU3O6
>>319
山は裾野が広くないと高くはなれんぞ
お前は挫折したLisperの屍の上に登れ
2016/03/31(木) 19:24:02.44ID:JUFQTQot
俺の屍を越えてゆけ
2016/03/31(木) 20:22:01.85ID:X8/ytHGi
俺を踏んでくれ今scheme手習い中だ
2016/04/01(金) 12:10:45.45ID:cNuDUjMS
>>320
scheme派 vs CommonLisp派の罵り合いにpythonとruby好きが横からドロップキックで乱入みたいなblogとかmlとか
黒板人の話とかにわかどうしだけじゃないのが頭痛いと思う
2016/04/01(金) 19:44:05.93ID:1eTBcwLx
議論の体でそれぞれのメリット/デメリットを天秤に乗せてるだけで、
罵り合いといというわけではないと思うんだが。
ディベートですらない、茶番だろ。
2016/04/02(土) 00:57:27.46ID:HVYESdUP
Maximaが使えるcl以上の存在はあるのか?
他言語の数式処理は微妙なのしかない
2016/04/02(土) 11:14:05.11ID:H6gllaBZ
sbcl にて,TCP ソケットを使ってプロセス間通信するライブラリを
使えるようなりました.これによりバイト列までを送ることは出来るようになったのですが,
S 式をどうやって送ればよいか分かりません.
S 式や lambda 式をバイト列にエンコード(?)する方法などはあるのでしょうか?
2016/04/02(土) 12:26:41.02ID:k2fP1WMZ
>>327
S式を丸ごと文字列で投げても良くない?
2016/04/02(土) 12:31:05.73ID:k2fP1WMZ
追加:
最近Webサーバの仕事してるんだけど、JSONとかClojureのリテラル表記(datomicの処理)でやりとりするからS式をバイナリ通信(JSONに対応するならBSON)にする意義が出る場面って凄い少ないんだよね
2016/04/02(土) 16:05:25.84ID:H6gllaBZ
>>328 さんくす.
そっか.データのリストなら (format nil ...) で文字列にすればできますね.
その線でまずはやってみます.
ただ,それだと関数が送れないですね.
FUNCTION-LAMBDA-EXPRESSION の出力とかを送るのかな―.
2016/04/02(土) 17:44:40.57ID:4LcO4yg1
関数は環境がぞろぞろとくっついてるから、シリアライズは容易でない。
動作中のイメージをまるごと移送するのなら出来なくもないと思うけど……、そんなことがやりたいのか?
2016/04/06(水) 23:14:32.62ID:3jnY8rH1
Windows環境でClozure CLのホームディレクトリは%USERPROFILE%なのでEmacsの起動バッチで
%USERPROFILE%と%HOME%を独自に設定して起動してSlimeを使うとHyperSpecが引けなくなってしまう
何か回避策無いですかね〜。超不便だわ
333332
垢版 |
2016/04/06(水) 23:18:58.11ID:3jnY8rH1
ChromeじゃなくてIEを標準ブラウザにしたら動いたw
2016/04/06(水) 23:55:35.66ID:3jnY8rH1
browse-url-generic-programでChromeのフルパス指定してやって一見落着じゃ
LispよりEmacsのがハードル高いわ
2016/04/07(木) 00:31:50.58ID:838jiYpM
型が緩いhaskellという印象は合ってる?
2016/04/07(木) 02:04:56.57ID:DadLuQug
離れすぎているからどこが同じでどこが違うとかいうのはいちいち列挙できへんわ。
Haskell っぽい部分だってそりゃあるだろうし、場合によっては Haskell 風のコードをそのまま持ち込めることだってある。
でも、やっぱり全然違うわ。
2016/04/07(木) 03:12:28.37ID:69hNyYMv
Haskellでmaxima以上に便利な数式処理ソフトあります?
338334
垢版 |
2016/04/07(木) 18:56:54.61ID:ccUxIyvt
バッチの中だけでも%USERPROFILE%を変えるのは副作用が大きすぎて駄目じゃ。
全然、一見落着じゃないやんけ orz
2016/04/10(日) 19:23:57.88ID:vkQXckPD
なぜか関数型ってくくり方でまとめられるときがあるけどまあ全然違うわな。
2016/04/14(木) 10:33:43.60ID:HoZEVK9B
Windowsでスタンドアローンアプリ化するとコンソールアプリになるけど
コンソールウインドウ消す方法はないの?
GUI画面のとき邪魔
2016/04/14(木) 12:27:26.25ID:ahglGqCD
SBCLにはGUIオプションがあった。
他のには無いっぽいな。

このスレには人が居ないんか?
2016/04/15(金) 19:54:55.30ID:pOJBl4dX
2chがもう廃れてるしな
2016/04/15(金) 20:29:42.54ID:mBIjTfFV
じゃ、何処へ逝ったら良いんだ?
2016/04/16(土) 11:26:52.60ID:8wMWxABn
こうなりゃ昔めんどうみた平手の造酒んとこでも行くか
2016/04/16(土) 13:27:14.87ID:bPs+CkgD
初心者でLisp全然まだ分かってなくて、本を読みながら色々実験しているんだけど、
socketで使ってunicodeのデータをやり取りしようとしたら、どうしても文字化けしちゃって困った。
:external-formatとかいろいろ試したけどダメだった。
結局、flexi-streamsってライブラリ使ったらなんとかなったんだけど、こんなことでも外部のライブラリに頼らないといけないの?
それとも僕がアホなだけなのかしら?もっといい方法あるのかな。lispworksがおかしいだけか?

でも、プログラミング自体初心者なのにやりたいことは実現できちゃったのはビックリ。
replで実験しながらできるのがいいね。
2016/04/16(土) 16:36:43.09ID:MGs6Ga+C
>>345
文字コードがらみは純粋なdata streamとは別の領域なんで汎用言語全部が持ってる病の一種なのでどもならんのですよ。
2016/04/17(日) 21:44:33.74ID:goQ5YOot
割と取っ付きやすい言語だと思うんだけどね〜。
2016/04/18(月) 12:23:07.50ID:6QlHoC4+
slime必須な開発環境がネックかもね
まあLispBoxまんま使えば良いけど
2016/04/24(日) 22:39:11.27ID:scaRHXPI
emacsが嫌いでもAtom-Slimeあるぞ!
2016/04/25(月) 09:16:48.45ID:W8v031Mp
>>349
そんなんあるんかー
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況