opam switch 4.03.0
を実行しようとするとエラーになります.opam
の設定が有効になりません.bash
シェルを使っている場合,シェルの環境設定ファイルはopam init
がデフォルトで想定している~/.bash_profile
ではなく~/.profile
です.たとえば:のように$ opam init......Do you want OPAM to modify ~/.bash_profile and ~/.ocamlinit?fEnter the name of the file to update: ~/.profile
opam init
コマンドを実行している途中で入力し,opam init
が~/.profile
に設定を加えるように指定してください.Q1-3. Emacsの中でrun-ocaml
が使えない.
と書いてください.Emacsの設定ファイルがどこにあるかは人によって異なりますが,(with-eval-after-load(setq tuareg-interactive-program "~/.opam/opam config exec -- ocaml"))
~/.emacs
,~/.emacs.d/init.el
などが一般的です.Q1-4. opamの各種コマンンドを実行するとスタックオーバーフローで落ちる.
~/.bash_profile
,~/.profile
等)の末尾に:を追加し,ログインしなおすと課題2や課題3のCAML_LD_LIBRARY_PATH="/export/home/lab4/k.yasugi/.opam/4.03.0/lib/stublibs"export CAML_LD_LIBRARY_PATHPERL5LIB="/export/home/lab4/k.yasugi/.opam/4.03.0/lib/perl5"export PERL5LIBOCAML_TOPLEVEL_PATH="/export/home/lab4/k.yasugi/.opam/4.03.0/lib/toplevel"export OCAML_TOPLEVEL_PATHPATH="/export/home/lab4/k.yasugi/.opam/4.03.0/bin:$PATH"export PATH
make
は出来るようになるはずです.
(ただし,opam install
,opam update
,opam upgrade
などのopam環境を更新するよう
なコマンドは一切使えません.定期的に上の設定をコメントアウトして,元の(自分の)opam
コマンド
がまた使えるようになってないか確認し,使えるようになってたら,ここで説明した回避策の使用は控えてください.parser.mly
(あるいはlexer.mll
)を正しく直したのに,課題提出システムの自動テストを通りません.make clean
を実行してください.そうしないと古いparser.ml
やlexer.ml
が悪影響を及ぼす可能性があります.&&
,||
)を正しく実装したはずなのに,自動テストを通りません.&&
,||
の正確な定義を誤解している可能性があります.『Objective Caml入門 』2.2.6節の説明をもう一度よく読みなおしてみてください.Q5-1. 自分の手元では型推論器が型を表示しているのに,自動テストが1つも通りません.
と表示されることを確認してください.# fun x -> fun y -> x;;− : 'a -> 'b -> 'a = <fun># fun f -> fun x -> f x;;− : ('a -> 'b) -> 'a -> 'b = <fun>
Q5-2. どうしても通らないテストがあります.