2011年10月1期プログラム関数型言語でGUIのメモ帳・電卓は作れるのか? TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
三次元オセロを作ろう
DarkBASIC
【C,C++】 ちょっと問題解いて行け 【勉強】
ひろゆき杯プログラミングコンテスト


関数型言語でGUIのメモ帳・電卓は作れるのか?


1 :09/11/03 〜 最終レス :11/09/27
関数型言語を勉強してわかったわ。
あれは数学。
普通のプログラム言語と同じような文字使っているけど違う。
小説家と始末書書いている人が同じ文字を使って書いているけど、
始末書かいていても、小説家とは言わない。
それと同じ。
どっちが上とか難しいとかそういう話じゃない。
まったく違うもの。数学だから数学者は数学(関数型言語)が得意なのが
理解できる。でも数学者はプログラム言語(C++とか)でGUIでメモ帳作ったり、
そういうことが得意なわけじゃない。こっちはプログラマの専門分野
わかったらなんかすっきりしたw

2 :
関数型言語でOSは作れるのか?
つまりメモリ管理、プロセス管理
リソース管理(ハードウェアの状態管理)が
できるのか?

3 :
己を知らざることや、知らぬことを
知っているように空想して知っていると思い込むことは
狂気にもっとも近い。
— クセノフォーン

4 :
お前はクセノフォーン なのか?

5 :
      ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
     彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
     イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
     t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ    i,;;;;;;!
     ゙i,;;;;t    ヾ-‐''"~´_,,.ィ"゙  ヾ;;f^!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     ト.;;;;;》  =ニー-彡ニ''"~´,,...,,.  レ')l. < おまえは何を言っているんだ
     t゙ヾ;l   __,, .. ,,_   ,.テ:ro=r''"゙ !.f'l.   \____________
      ヽ.ヽ ー=rtσフ= ;  ('"^'=''′  リノ  
    ,,.. -‐ゝ.>、 `゙゙゙゙´ ,'  ヽ   . : :! /
 ~´ : : : : : `ヽ:.    ,rf :. . :.: j 、 . : : ト、.、
 : : : : : : : : : : ヽ、  /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、 
  :f: r: : : : : : : : !丶  r-、=一=''チ^  ,/   !:: : :`丶、_
  : /: : : : : : : : :! ヽ、  ゙ ''' ''¨´  /   ,i: : : l!: : : : :`ヽ、
 〃: :j: : : : : : : ゙i   `ヽ、..,,__,, :ィ"::   ,ノ:: : : : : : : : : : : :\
 ノ: : : : : : : : : : :丶   : : ::::::::: : : :   /: : : : : : : : : : : : : : : :\

6 :
このスレッドは天才pンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
                  京都大学霊長類研究所

7 :
haskellで作ってなかったかな
気のせいかな
気のせいだったんだろうな

8 :
つ House
http://programatica.cs.pdx.edu/House/

9 :
関数型言語云々が問題なんじゃなくて
TkとかGUIライブラリがあるかどうかだけじゃないのか

10 :
たぶん気のせいだよ、うん
ttp://wxhaskell.sourceforge.net/screenshots.html

11 :
関数型言語で、(他の言語で書かれた)GUIライブラリを使うことはできても、
GUIライブラリを書くことは無理だろうな。

12 :
Common Lisp は CLX という Xlib に相当するライブラリをネイティブで実装してるよ
CLIM というツールキットも実装されてる
まぁ Common Lisp を関数型言語に入れるのは反則な気もするけどね

13 :
gui以前に、実行途中で外部との対話が発生するドメイン全般に向いてなくね?

14 :
Yi http://haskell.org/haskellwiki/Yi

15 :
関数型言語って関数型言語で書かれているのかな?

16 :
>>13
どうしてそう思う?
>>15
関数型言語で書かれたソースを実行可能ファイルにするコンパイラが
関数型言語で書かれているかと言うことなら、少なくとも Haskell はそう。
他の関数型言語は知らん。

17 :
対話ロジックなんて基本的に手続きの塊だろ。
わざわざ関数型言語で書く理由が見つからない。

18 :
自己増殖電卓

19 :
>>17
他の関数型言語の事は知らないけど、
Haskell なら利点のいくつか(遅延評価や型推論など)を享受しながら、
対話ロジックを綺麗に作る術(副作用部分の分離)が用意されている。
Haskell でプログラムしている時、
対話ロジックの部分だけ他の言語を使うなんて事はしない。
Haskell だけで全部作った方が綺麗にまとまる。
わざわざ手続き型の言語を使う理由が見つからない。

20 :
結局は、一行一行処理していく方式と、そうでない方式
どちらが人間から見て簡単に動作するものを作れるかということなんだろうな。
システムってのは外界に影響を与えるもの、つまり、画面に表示したり、HDDに書き込んだり、
という副作用が目的なので、副作用を記述しやすい言語のほうが
簡単に目的を達成できる。
アセンブラでも物は作れるが作りにくいのと同様
数学的な問題(副作用が要らない)なら関数型言語でも作りやすいが
副作用を多用する場合は、作りにくい。
普通のプログラマが難しく感じるのは、副作用があるものを作る脳になっているからなのだろう。
仕事の内容が違う。

21 :
純粋関数型言語なら無理

22 :
純粋なのは言語であって実装でないから可能

23 :
>>20
> 副作用を記述しやすい言語のほうが簡単に目的を達成できる。
一般的にそう思われていることは分かっているが、
もしかしたら誤解されているかもしれないので言っておくと、
Haskell は副作用があるものを記述する事も「簡単」だぞ。
頑張ればできるとか、難しくはないというレベルじゃなくて、
普通に書ける(多用したって変わらん)。
また、一行一行処理していく方式の方がシステムに向いているとは
一概には言えないのではないか?
たとえば、Haskell は宣言的に記述する作法だが、
画面に表示したり、HDDに書き込んだりというのを
宣言的に記述した方が分かりやすい場合も多々あると思うが。
誤解ではなく分かって言っているのならすまん。
それなら単に感じ方の個人差か、一般大衆を代表して言っているのであろうから
何も言うことはない。

24 :
実際に関数型言語電卓やメモ帳のソースを見ないと判別つかんな。

25 :
関数型でのUIプログラムってのはイベントからの状態変更までを関数型プログラムでつなぐもの、それの組み合わせかと思ってるんだがそんなもので良い?(´・ω・`)

26 :
いいえ

27 :
じゃぁどんなのよ

28 :
EmacsはLispで書かれているのか?
つまりそういうことだ。

29 :
Emacs はほぼ Lisp で書かれているよ。
つまりどういうことだ?

30 :
ねんがんの Lisp Machine を てにいれたぞ

31 :
ちょっとWindowsを関数型で書いてみて

32 :
それはちょっとで書けるものじゃないです

33 :
関数型で OS を書くという真面目なプロジェクトもあった
まだ続いているのか頓挫したのか、研究レベルで終わったのか知らんが

34 :
>>33
kwsk
ICOT?

35 :
House とか
http://programatica.cs.pdx.edu/House/

36 :
>35 >8
>33 >8 ?
8が大人気 (2ヶ月ぶり)

37 :
OSなら、 >8 なのか。
xmonad | the tiling window manager that rocks
http://xmonad.org/
論文用で、メンテナンスされてなさそう・・・とおもったらまだやってた。
NixOS: A Purely Functional Linux Distribution
http://nixos.org/
Amthing is a multi-threaded GUI library for Objective Caml.
http://forge.ocamlcore.org/projects/amthing/
Pure functional じゃないのも混じってるような気がする。

38 :
おい、1年半立つのに電卓の一つもできねーのかよ

39 :
clojureならJAVAの機能が使えるから作れる

40 :
そういうレベルの話なら、Haskell も gtk や wxWidgets が使えるから作れる
ただ、関数型らしく宣言的に記述しようとすると、今はまだちょっと難しいな
どうしても手続き型っぽくなって汚くなる

41 :
関数型言語っていうものが、しょぼいんだよ
チューリング完全こそ、整ってるもののしょぼい
>>2とかかいていけやしない
方法はあると思うけど、それは手続き型でかくよりもさらに難易度は高くなる
本当に読みやすいの?それ

42 :
[読む=全貌を把握する] と考えると
ちゃんと宣言的に書かれており、かつ関数型言語に慣れていれば読みやすい
でなければ読めない

43 :
---------------
((((((( [読む=全貌を把握する] と考えると )))))))(キリッッッ!
---------(キリッ!!キリッキリッッ!
---------
((((((((( ちゃんと宣言的に書かれており、かつ関数型言語に慣れていれば読みやすい )))))))))(キリッッ
---------
((((( でなければ読めない )))))(←キリッッッッキリッッッッ!!!キリッッッッ!!!!キリッ!!

44 :
>>42
そうじゃなくて、関数型でかくと「冗長」するって話だ それさえも分からない ゴミか お前はゴミだな
OSかいたことないだろお前
知ったかは
かけない事はなくても、手続き型でかいたほうがソースコード量が小さくメンテもしやすい類のアルゴリズムは
手続き型でかいたほうが賢い、 よって関数型しかかけない言語なんてのは玩具なんだよ
OO言語で、関数型Progするのが現代において最も、良い方法

45 :
--------------
(((((((((((( そういうレベルの話なら、Haskell も gtk や wxWidgets が使えるから作れる ))))))))))))(キリッッッッ!!キリッッッッ!!!!ッッッ!!!
----
(((((((((((( ただ、関数型らしく宣言的に記述しようとすると、今はまだちょっと難しいな ))))))))))))(キリ!!!!キリッッ!!!!キリ!!!キリッッ!!!!キリッ!!!!ッ!!
----------------(きリッッッ!!キリ!!!きリッ!
----------------
((((((((((( どうしても手続き型っぽくなって汚くなる )))))))))))(キリッッッ!!!!きリッ!!!キリッッッ!!キリ!!!キリッッッッ!!!
ゴミグラマってバカだったんだな

46 :
>>38
プログラミングHaskellに電卓の例が載ってるよ
ライフゲームの例も

47 :11/09/27
lispでqt使えるじゃん。だれか作れよ。
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
三次元オセロを作ろう
DarkBASIC
【C,C++】 ちょっと問題解いて行け 【勉強】
ひろゆき杯プログラミングコンテスト