トップページ⇒tech
326コメント109KB

Dylan

■ このスレッドは過去ログ倉庫に格納されています
0001BobNGNG
Gwydion Dylanってのみつけた。
使い方分からん。
教えて。
0002SelfNGNG
>>1
ココは見た?
http://www.na.rim.or.jp/~kusumoto/dylan.html
0003デフォルトの名無しさんNGNG
>>2
そのページ、ことごとくリンク切れ・・
0004BobNGNG
氏ぬもんか!
0005デフォルトの名無しさんNGNG
ん?何か病気ですか?>1
0006BobNGNG
>>5
うん、不知の病みたいなの・・・
0007デフォルトの名無しさんNGNG
bobdylanか?
schemeベースのやつ?
0008BobNGNG
>>7
何それ?
知らないけどあるのそんなの?
教えて!
0009デフォルトの名無しさんNGNG
>>8
lisp/schemeスレにリンク貼ってあったよ
0010デフォルトの名無しさんNGNG
かなり凄い言語らしいけどね。
SchemeみたいにマクロもあってSchemeとほぼ同等の
強烈な記述力があるらしい。もともとはS式も可能
だったらしいしね。
普通の読みやすい記法でSchemeの柔軟性を実現してる。
0011デフォルトの名無しさんNGNG
>>10
興味津々age
0012デフォルトの名無しさん NGNG
ここの板は最近、マイナー言語強化月間って感じだね。でも応援
0013BobNGNG
なんとFunctional DevelopperのLinux版が出るみたい。
α版は既に出てる!

http://www.fun-o.com/

Herlequin Dylanの開発部隊が独立してたみたい。
Amazonで本買おうと思うんだけど、炭疽菌付いてこないかな。。。
0014デフォルトの名無しさんNGNG
Windowsでの使い方教えて。
とりあえず、ダウンして解凍したけどなんかよくわからない。
0015デフォルトの名無しさんNGNG
>>14
とりあえず、フォルダ構成はCygwinっぽくて、ファイルの中身を見ると、
Perlスクリプトがあるね。
だからCygwinとActivePerlは必須みたいだね。
で、頑張って、make-dylan-appスクリプトを実行して、helloアプリの
プロジェクトを作り、makeしてみたけど、途中、mv failed?の
メッセージで止まる。mvはあるんだけどなあ。。
うーん、わからん・・・
0016デフォルトの名無しさんNGNG
FTPにあるinstallドキュメント読んだか?
001715NGNG
>>16
ほんとだ。読んで無かったよ。
ちゃんとcygwinの環境変数を設定した後libtoolインストールしたら出来た。

ActivePerlでも明示的にperl -wで呼べば#!無視してくれるので問題ないね。

でもlibtoolのテストかなり失敗してたなあ・・・いいのかなあ。

HelloWorldアプリにコンパイル時間が結構かかってたのが気になる・・・
コンパイル遅いね。
0018BobNGNG
実行速度はどう?
0019デフォルトの名無しさんNGNG
HelloWorldソースさらしキボンヌ
0020BobNGNG
ところでGwydion Dylan使ってる人はいないの?
コンパイルの仕方すら分からんのですが・・・
002115NGNG
>>18
Dylanわからんから試せないけど、Cに変換してから
コンパイルしてるから結構早いはず。

>>19
// file : hi-exports.dylan
module: dylan-user

define library hi
use common-dylan;
use io;
end library;

define module hi
use common-dylan;
use format-out;
end module;

// file : hi.dylan
module: hi

define function main(name, arguments)
format-out("Hello, world!\n");
exit-application(0);
end function main;

main(application-name(), application-arguments());

// file : hi.lid
library: hi
executable: hi
files: hi-exports
hi

>>20
俺Cygwinで使ってるよ。説明どおりに実行しただけ。
Perlスクリプトmake-dylan-appでHelloWorldスケルトンを作って
いじったあと、makeするらしい。
0022Gwydion Dylan版NGNG
GwydionはLinuxのDebianにも入っているので試してくれ。

// hello.dylan
module: hello
synopsis:
author:
copyright:

define method main (appname, #rest arguments)
format-out("Hello World !\n");
exit(exit-code: 0);
end method main


// hello-exports.dylan
module: dylan-user

define library hello
use dylan;
use format-out;
end library;

define module hello
use dylan;
use extensions;
use format-out;
end module;


// hello.lid
library: hello
executable: hello
entry-point: hello:%main

hello-exports.dylan
hello.dylan


// compile
$ d2c hello.lid
0023BobNGNG
make-dylan-appなんてコマンドあったんですね。
これ使ったらとりあえず骨組みだけはできるみたいです。
Makefileまで作ってくれるのでコンパイルもできました。
ところでDylanってLispみたいなインタラクティブな
インタプリタ環境ってないんですか?
インクリメンタルに定義したりコンパイルしたりしながら
開発していくのが好きなんですが。。。
0024デフォルトの名無しさんNGNG
>>23
ツクレッ!
0025デフォルトの名無しさんNGNG
うーむ。HelloWorldが516kbか...
0026デフォルトの名無しさんNGNG
>>25
俺は2.3MB・・・
0027デフォルトの名無しさんNGNG
間違えた。5.16MBだな...。
0028デフォルトの名無しさんNGNG
27=25です...。

VineLinux2.1.5 + GwydionDylan2.3.4
0029デフォルトの名無しさんNGNG
富豪!
0030デフォルトの名無しさんNGNG
もっとましなフリーの実装は無いのか。
凄い言語らしいのにマイナーな理由がわかった。
0031デフォルトの名無しさんNGNG
>>27
ネエィティブコンパイルを夢見たJAVAみたいな大きさだな・・・(遠い目
0032BobNGNG
??うちでは 5KB しかありませんが?
5359 bytes
Debian woody + 2.3.6pre2cvs10182001-1
0033デフォルトの名無しさんNGNG
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
>我々が最初の C++ コンパイラをAT&Tで開発したとき、
>"Hello World"プログラムをコンパイルしたバイナリの大きさが信じられませんでした。
>2.1MBですよ。
ちょっと違うか。しかもこれは冗談だし……。
0034デフォルトの名無しさんNGNG
mindyってつかえないの?
0035BobNGNG
mindy入れてあるけど、これってインタプリタなの?
プロンプトが出るけどCommon Lispみたいに
インタラクティブに定義したりできないよ?
使い方わかんないよ。
なんだかドキュメントが少ない。。。
0036BobNGNG
age token
0037デフォルトの名無しさんNGNG
>>35
いや、わたしも使い方がわからないんですよ。
私はDebian sidでDylan環境作ったんですけど、
ドキュメントが殆どないし、本家のページにあるサンプルすら
その通りにやっても動かないし。
d2c は問題ないんだけど。

で、mindyはバイトコードインタプリタみたいね。
mindycompでコンパイルして、mindyで動かす感じらしい。
0038BobNGNG
helpして出てくるコマンド一覧見るとデバッガっぽいね。
バイトコードにしてデバッグするのに使うのかな。
Common Lispみたいな環境ってないのかな。
0039BobNGNG
週開けage
0040デフォルトの名無しさんNGNG
みんなgwydianのあまりの遅さに耐えかねて、見切りをつけたのか?
0041BobNGNG
お仕事忙しくて触ってる時間ないの。
でもGwydionってそんなに遅いの?
Functional Developperはどう?
一番痛いのはProgramming Dylanとかいう本が絶版で手に入らない・・・
誰かくれないかなー。
0042_NGNG
どこらへんが素晴らしいの?
0043デフォルトの名無しさんNGNG
>>42
特徴は、可読性が高く柔軟でオブジェクト指向な言語仕様かな。
これが素晴らしいと思う人がたくさんいるのでは。
0044BobNGNG
>>42
後ね、クラスとメソッドの関係がC++,Java,Pythonなんかと違うのよ。
CLOS風のディスパッチでこれがなかなか逝けてんの。
このタイプを採用してる言語ってCLOSとDylan以外に何があるのかなぁ。
0045_NGNG
ふむふむ。OO関係の機能が凄いのか。
ちょっと調べてみたけどなんか難しい単語がいっぱい(w;
Abstract Class,Instantiable Class,uninstantiable class,indirect instance,general instance・・・
使ってみないとありがたみがわからないかも。試してみるか。
0046デフォルトの名無しさんNGNG
>>44
もうちょい突っ込んで、キボン
0047デフォルトの名無しさんNGNG
良くも悪くもSchemeにかなり近いようだね。
0048デフォルトの名無しさんNGNG
Harequin Dylanを使ってたんだけど、とにかくコンパイルが遅すぎた。
書いたコードをlistnerでテストする、scheme風の使い方のときはいいけれど、
仕上げに入るとめちゃめちゃいらいらした。
Functional Developerはマシになったかな?
0049BobNGNG
もちっとしたらFunctional Developper触るつもりだよ宣言あげ

>>47
それもDylan気に入ってる理由の一つ。
だから余計にインタラクティブな実行環境欲しいのよね。
0050デフォルトの名無しさんNGNG
もしかしてFunctional DeveloperのBasic Editionで動く
サンプルってhelloとhanoiだけなの?
ちょっと冷たすぎないか?
0051デフォルトの名無しさんNGNG
これ、言語仕様は良いけど、処理系が良くないってことで
決定だな。
0052デフォルトの名無しさんNGNG
非現実的な言語仕様だから効率の良い処理系が出来ないという線はないの?
Appleが手を退いたのはNeXTとの絡みかも知れないけど。
0053デフォルトの名無しさんNGNG
Mac板でハケーンage
0054デフォルトの名無しさんNGNG
これはApple出では?
0055デフォルトの名無しさんNGNG
>>54
AppleとCMUの共同開発だったと思うゾナ
0056デフォルトの名無しさんNGNG
Appleは素晴らしい技術と飼い殺しをいつもするモナ
0057デフォルトの名無しさんNGNG
>>56
Dylanの出自に関してはDylan Programming Languageに歴史が
書いてあった(と思うけど、押し入れに収納されててちょいと
見つからない)。たしか、Appleの各研究チームがそれぞれに別
の言語を使っていて、お互いの研究成果を取り入れるにはわざ
わざ相互に移植する必要があって、これが無駄だと思われたわけ。
それで一番強力なCommon Lispに一本化しようとしたんだけど、
開発中は良いとして、バイナリを配布するのに向かないところが
問題だった。また、Lispの構文を嫌う向きも少なくなかった。
それでDylanが開発されることになった。

……のですが、結局、コンパイル速度も出なかったし、気がつく
とJavaの波も押し寄せ、NeXTも買収し……というわけだったと
思いますね。かつてのAppleだったらDylanに固執して、さらに
シェアを落としていたようにも思いますが。
0058デフォルトの名無しさんNGNG
age
0059デフォルトの名無しさんNGNG
David Michaelbetzあげ
0060デフォルトの名無しさんNGNG
とりあえずあげ
0061デフォルトの名無しさんNGNG
これから触ってみるage
0062デフォルトの名無しさんNGNG
Win上のDylanって、GUIビルダーはあるの?
Delphiみたいな。
0063デフォルトの名無しさんNGNG
このスレ、まだ生きてたのか!
0064デフォルトの名無しさんNGNG
保守
0065デフォルトの名無しさんNGNG
ほしゅ
0066デフォルトの名無しさんNGNG
algol風lisp?
0067デフォルトの名無しさんNGNG
>>57
> ……のですが、結局、コンパイル速度も出なかったし、気がつく
> とJavaの波も押し寄せ、NeXTも買収し……というわけだったと
> 思いますね。かつてのAppleだったらDylanに固執して、さらに
> シェアを落としていたようにも思いますが。
単に今 Objective C がいる場所に Dylan がいるようになっていただけでわ?

0068デフォルトの名無しさんNGNG
ほしゅ
0069デフォルトの名無しさんNGNG
たまにはageよう
0070デフォルトの名無しさんNGNG
age
0071デフォルトの名無しさんNGNG
Dylan Dylan
0072デフォルトの名無しさんNGNG
ららら
0073デフォルトの名無しさんNGNG
Dylanって日本語扱えるの?
そこそこスペック高いマシン買ったんで、gwydionっての
入れてみようかと思ってるんだけど。
0074 NGNG
下のサイト見たらまだ活動してたんだな。
http://www.gwydiondylan.org/
0075デフォルトの名無しさんNGNG
使ってるやつって、一人でもいるの?
スレ主は解ってなさそうだし、
なんでこんなスレがあるのかわかんない。
007673NGNG
土日かけてがんばったがどうしても動かせなかった。

つうか死ねや糞ども。

だれか削除以来出せ。クソスレ。
0077デフォルトの名無しさんNGNG
>>73, >>76
ワラタ
0078デフォルトの名無しさんNGNG
ん?何か病気ですか?>1
0079デフォルトの名無しさんNGNG
Eiffel 最高
0080デフォルトの名無しさんNGNG
どこらへんが素晴らしいの?
0081デフォルトの名無しさんNGNG
Dylanのすばらしさ:
*Common Lispの開発効率
 *methodを書いて、その場でテストできる。
  (Listnerという、コマンドラインのようなテスト環境がある)
 *methodはクラスに属さない。genericに書く。
  (もちろんmoduleによって名前空間を分割できる)
 *コンパイル単位とモジュール単位をファイル単位から独立に定義できる。
  (あるモジュールの一部のmethod定義を変更しただけでモジュール全体
   を再コンパイルする必要はない。)
 *強力なマクロ
 (Lispのように言語仕様を拡張・再定義することが可能)
*小さなランタイム
 *Lispだと、事実上、開発環境の一部をそのまま配布しなければならない
  が、その必要がない。
0082デフォルトの名無しさんNGNG
あとはまともな処理系さえあれば…
ってこと?
0083デフォルトの名無しさんNGNG
Gwydion
じゃだめなのか
0084デフォルトの名無しさんNGNG
Dylanのダメなところ:
*コンパイラの負担が大きい
 *method単位でコンパイルせずにテストできるのは開発の初期段階であって、
  パフォーマンスチューニングの段階では修正→再コンパイルを繰り返し行
  う必要がある。Dylanはコンパイラにかかる負荷が大きく、コンパイル時間
  がかかる。
 *研究開発に使うのであれば、Common Lispで十分である。Dylanのメリット
  の生きる分野は、開発環境から切り離されたアプリケーションの開発であ
  る。この分野では実行時のパフォーマンス(より具体的にはGUIの動作速
  度)が重要であるが、実行時パフォーマンスのチューニングにおいて
  Dylanの欠点が目立つという皮肉。

あと、書き忘れてたけど、Dylanのメリットとして、
「出来上がったコードが読みやすい」
ってのがある。コードが読みやすいと、ドキュメンテーションに凝らなくても
済むのでイイってことだな。

しかし、Common LispのランタイムをOSに添付しちまえばすべてクリアって気
がしないでもない。NeXT STEPにおけるObjective-CランタイムがOSのコアだっ
たように。Lisp OSは、今なら実用的な気がするなあ。
0085ゆんゆんNGNG
Lisp OSいいねえ
どこかで
・内部はLisp/Smalltalk並に動的で
・ユーザ向けはvery-high-levelな言語で
・UNIX精神なプログラマ向けOS
って作ってないのかな
0086デフォルトの名無しさんNGNG
Lispのランタイムを同梱したLinuxのディストリビューションを作れば良いだけでは?
0087デフォルトの名無しさんNGNG
Open Firmware は、ある意味 Forth OS.
Open Boot も、ある意味 Forth OS.
0088デフォルトの名無しさんNGNG
Forthは人間に対してじゃなく、コンピュータに対してやさしい言語じゃんよお。
0089デフォルトの名無しさんNGNG
Lisp も一緒っしょ。
0090デフォルトの名無しさんNGNG
違うよ。
Forthがスタック言語なのは、スタックの実装が簡単だから。
Lispがリスト言語なのは、リストの実装が簡単だからではなく、
リストが「強力」だから。
スタックはリストほど強力とはいえないよな。
0091デフォルトの名無しさんNGNG
Lisp が人間に易しくないって事が言いたかったのよ。
Lisp も後置記法だったらカッコが無くなって良かったのに。

RPNLisp> 1 2 cons car
1

みたいな。何時か作ろうと思ってるんだけど、どうかな?
0092デフォルトの名無しさんNGNG
カッコがあっても、ちっとも困りませんが?
カッコの対応やインデントくらい、エディタが支援してくれますし、
読むときにはカッコなど見なければ良いだけです。
0093デフォルトの名無しさんNGNG
>>92
>RPNLisp> 1 2 cons car
Forth系は暗黙のpush/popがあるから、
決してLISPよりも人間に易しいとは言えん。

前置記法は可変長の引数をごく自然に扱えるし、
他のCなどの言語の関数呼び出し構文と同じだから直ぐに慣れる。
009493NGNG
s/>>92/>>91/
だった
0095デフォルトの名無しさんNGNG
>>92
貴方は困らないかもしれないけど、人間に易しいとは言いづらいのでは?

>>93
可変長の引数が扱えるのは前置記法だからじゃなくて、リストでまとめる
からでは? そういう意味では後置記法でも問題ないと思います。
009693NGNG
>>95
>可変長の引数が扱えるのは前置記法だからじゃなくて、リストでまとめる
>からでは? そういう意味では後置記法でも問題ないと思います。

意味不明なんだけど。
0097デフォルトの名無しさんNGNG
>>95
>貴方は困らないかもしれないけど、人間に易しいとは言いづらいのでは?

カッコが人間にやさしくないとしたら、セミコロンで式をセパレートするのも
人間に易しくないんじゃないの。

繰り返しになるけど、カッコの対応とインデントはエディタに任せることが
できる。だから書くときには問題ない。
読むときも、なんならカッコを一時的に見えなくする機能をエディタに持た
せれば良いわけです(僕はカッコを見ないという方法で対処していますが)。

前置記法が嫌いなら、マクロを書けば良いんじゃないですか。

Forthにそういうパワーがあるとは思えないんですけれど。

# すでにめちゃめちゃスレ違いだな。で、sage
0098デフォルトの名無しさんNGNG
> 前置記法は可変長の引数をごく自然に扱えるし、
引数をリストで取る、リストのサイズは可変という意味だと
思ったんだけど、違う?
それとも、cond の後に幾つでも条件文を書けるみたいな事?
これも後置記法で簡単に実現可能だと思うけど。
0099デフォルトの名無しさんNGNG
(+ 1 2 3 4)
こういうのはどうするの?

1 2 3 4 +
だと駄目なんじゃない?
0100デフォルトの名無しさんNGNG
>>97
エディタの機能に頼ったり、マクロを書いたり、コードの一部を無視しないと
読みにくいって、御自分で分かってらっしゃるじゃないですか。
カッコとセミコロンと大差無いって、本当にそう思います?

Forth が読みにくいというのは理解してますが、Lisp も大して変わらないの
では? と思います。
0101デフォルトの名無しさんNGNG
だからそれは前置記法だからじゃなくて、閉じ括弧があるからじゃ?
■ このスレッドは過去ログ倉庫に格納されています