SlideShare ist ein Scribd-Unternehmen logo
1 von 61
SML#探検隊
 @mzp

   1
@mzp

 2
おしらせ




 3
おしらせ




 3
名古屋におけるSML#熱の高
      まり
 元々はOCaml/Coqユー
 ザが多かった

 1年ぐらい前からSML#熱
 が高まりつつある
       4
スタートSML# 1


    Text




     5
スタートSML# 1


  LT発表者
      Text




        5
スタートSML# 2
a.k.a. SML# Hackathon




          6
名古屋SML読書会
        2回で消滅




    7
名古屋SML読書会
        2回で消滅

  主催者




    7
考察




名古屋の人たち



          8
考察
               SML#
          好き




名古屋の人たち



          8
考察
               SML#
          好き

          興味ない


名古屋の人たち
               SML

          8
SML#の特徴

マスコットがかわいい




      9
SML#の特徴

        多相レコード
# fun get_x x = #x x;
val get_x = fn : ['a#{x: 'b}, 'b.
'a -> 'b]

# get_x { x = 1, y = 2 };
val it = 1 : int

# get_x { x = 1, y = 2, z = 3 };
val it = 1 : int

                10
SML#の特徴

          Cが呼べる
# val puts = _import "puts" :
string -> int;
val puts = fn : string -> int
# puts "hello";
hello
val it = 10 : int



                11
SML#の特徴

コンパイラがコンパクト
400000


300000


200000


100000


     0
         ghc   OCaml   SML#

               12
魔改造SML#: cop

# op +;
val it = <fun> : (int, int) -> int

# cop +;
val it = <fun> : int -> int -> int




                13
魔改造SML#: annot
型情報の表示

詳しくは後述




      14
魔改造SML#:
LLVM(開発中)

  ↓開発中



 @chunjp
    15
Try SML#
http://proofcafe.org/trysmlsharp




               16
SML#+annotの紹介



      17
エディタの紹介
どのエディタが好きですか?
     or




          18
エディタの紹介
どのエディタが好きですか?
         or
 Emacs


              18
エディタの紹介
どのエディタが好きですか?
         or
 Emacs             Eclipse


              18
エディタの紹介
どのエディタが好きですか?
         or
 Emacs               Eclipse

                   @keita44_f4

              18
Emacs v.s. Eclipse




        19
Emacs v.s. Eclipse




        19
Emacsだと型が分からない

fun fact n =
  if n = 0 then
    1
  else
    n * fact (n - 1)

          20
Emacsだと型が分からない

fun fact n =
  if n = 0 then
    1           この型は?
  else
    n * fact (n - 1)

         20
型が分からないと困る
.....
struct
  structure MLLex =
    MLLexFun(structure Tokens = MLLrVals.Tokens)
  structure ParserData =
    MLLrVals.ParserData
  val makeLexer =
    fn s => fn arg =>
       LrParser.Stream.streamify (MLLex.makeLexer s arg)
  val LrParse = fn (lookahead,lexer,error,arg) =>
    (fn (a,b) => (MLLrVals.ParserData.Actions.extract
a,b))
        (LrParser.parse {table = ParserData.table,
                         lexer=lexer,
.....



                           21
型が分からないと困る
.....
struct
  structure MLLex =
    MLLexFun(structure Tokens = MLLrVals.Tokens)
                      ??????
  structure ParserData =
    MLLrVals.ParserData
  val makeLexer =
    fn s => fn arg =>
       LrParser.Stream.streamify (MLLex.makeLexer s arg)
  val LrParse = fn (lookahead,lexer,error,arg) =>
    (fn (a,b) => (MLLrVals.ParserData.Actions.extract
a,b))
        (LrParser.parse {table = ParserData.table,
                         lexer=lexer,
.....



                           21
改造の方針

foo.sml   SML#コンパイラ   a.out




              22
改造の方針

foo.sml   SML#コンパイラ     a.out




                      foo.annot




              22
改造の方針

foo.sml   SML#コンパイラ     a.out




                      foo.annot




              22
LoadFile        DatatypeCompilati    doBitmapANormal       doRTLX86Emit


   Elaboration        doStaticAnalysis    doClosureConversi    doRTLX86AsmGen


VALRECOptimizati         doInlining         toYAANormal        doRTLX86Assembl


FundeclElaboration   doMVOptimization     doYAANormalOpti


  TypeInference      doFunctionLocalize   doStaticAllocation


UncurryOptimizatio    doStaticAnalysis    doAIGeneration2


PrinterGeneration        doInlining       doRTLX86Select


MatchCompilation     doMVOptimization     doRTLX86Stabilize


  FFICompilation     doFunctionLocalize    doRTLRename


RecordCompilation    doBitmapCompilati    doRTLX86Coloring
LoadFile        DatatypeCompilati    doBitmapANormal       doRTLX86Emit


   Elaboration        doStaticAnalysis    doClosureConversi    doRTLX86AsmGen


VALRECOptimizati         doInlining         toYAANormal        doRTLX86Assembl


FundeclElaboration   doMVOptimization     doYAANormalOpti


  TypeInference      doFunctionLocalize   doStaticAllocation


UncurryOptimizatio    doStaticAnalysis    doAIGeneration2


PrinterGeneration        doInlining       doRTLX86Select


MatchCompilation     doMVOptimization     doRTLX86Stabilize


  FFICompilation     doFunctionLocalize    doRTLRename


RecordCompilation    doBitmapCompilati    doRTLX86Coloring
型推論直後を狙う
    Elaboration


VALRECOptimization


FundeclElaboration


  TypeInference


UncurryOptimization
                  24
型推論直後を狙う
    Elaboration


VALRECOptimization


FundeclElaboration


  TypeInference


UncurryOptimization
                  24
型推論直後を狙う
    Elaboration


VALRECOptimization


FundeclElaboration
                       型情報のダンプを
  TypeInference          追加する


UncurryOptimization
                  24
宣言の型
  src/compiler/typedcalc/main/TypedCalc.ppg.smi
datatype tpdecl =
   ...
 | TPFUNDECL of
    { argTyList:Types.ty list, bodyTy:Types.ty,
       funVarInfo:Types.varInfo,
       ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPPOLYFUNDECL of
    Types.btvEnv
   * { argTyList:Types.ty list, bodyTy:Types.ty,
        funVarInfo:Types.varInfo,
        ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPVAL of (Types.varInfo * tpexp) list * Loc.loc


                            25
宣言の型
  src/compiler/typedcalc/main/TypedCalc.ppg.smi
datatype tpdecl =
   ...
                        型情報
 | TPFUNDECL of
    { argTyList:Types.ty list, bodyTy:Types.ty,
       funVarInfo:Types.varInfo,
       ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPPOLYFUNDECL of
    Types.btvEnv
   * { argTyList:Types.ty list, bodyTy:Types.ty,
        funVarInfo:Types.varInfo,
        ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPVAL of (Types.varInfo * tpexp) list * Loc.loc


                            25
宣言の型
  src/compiler/typedcalc/main/TypedCalc.ppg.smi
datatype tpdecl =
   ...
                        型情報
 | TPFUNDECL of
    { argTyList:Types.ty list, bodyTy:Types.ty,
       funVarInfo:Types.varInfo,
                    位置情報
       ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPPOLYFUNDECL of
    Types.btvEnv
   * { argTyList:Types.ty list, bodyTy:Types.ty,
        funVarInfo:Types.varInfo,
        ruleList:{args:tppat list, body:tpexp} list} list
   * Loc.loc
 | TPVAL of (Types.varInfo * tpexp) list * Loc.loc


                            25
式の型
datatype tpexp =
 ...
| TPSQLSERVER of
     {loc:Loc.loc, resultTy:Types.ty,
      schema:Types.ty LabelEnv.map LabelEnv.map,
      server:string}
| TPTAPP of
     {exp:tpexp, expTy:Types.ty,
      instTyList:Types.ty list,
      loc:Loc.loc}
| TPVAR of Types.varInfo * Loc.loc




                        26
式の型
datatype tpexp =
 ...
| TPSQLSERVER of
     {loc:Loc.loc, resultTy:Types.ty,
      schema:Types.ty LabelEnv.map LabelEnv.map,
      server:string}
| TPTAPP of
     {exp:tpexp, expTy:Types.ty,
      instTyList:Types.ty list,
      loc:Loc.loc}
| TPVAR of Types.varInfo * Loc.loc

               型情報


                        26
式の型
datatype tpexp =
 ...
| TPSQLSERVER of
     {loc:Loc.loc, resultTy:Types.ty,
      schema:Types.ty LabelEnv.map LabelEnv.map,
      server:string}
| TPTAPP of
     {exp:tpexp, expTy:Types.ty,
      instTyList:Types.ty list,
      loc:Loc.loc}
| TPVAR of Types.varInfo * Loc.loc

               型情報                位置情報


                        26
型の型・位置の型
structure Types = struct
  val tyToString : ty -> string
end

structure Loc = struct
  ...
  val fileNameOfPos : pos -> string
  val lineOfPos : pos -> int
  val colOfPos : pos -> int
end


                  27
型情報のダンプ
fun outputExpr stream (e : tpexp) =
      case e of
        TPAPPM {funTy, loc, funExp, argExpList, ...} =>
        (annot stream loc funTy;
         outputExpr stream funExp;
         List.app (outputExpr stream) argExpList)
      | TPCASEM {ruleBodyTy, loc, expList, ruleList, ...} =>
        (annot stream loc ruleBodyTy;
         List.app (outputExpr stream) expList;
         List.app (fn x => outputExpr stream (#body x)) ruleList)
      | TPCAST (exp, ty, loc) =>
        (annot stream loc ty;
         outputExpr stream exp)
      | TPCONSTANT {loc, ty, ...} =>
        annot stream loc ty
      | TPDATACONSTRUCT {loc, con, argExpOpt, ...} =>
        (annot stream loc (#ty con);
         case argExpOpt of
             SOME x =>
             outputExpr stream x 28
 | TPERROR =>
       ()
     | TPEXNCONSTRUCT {argExpOpt, exn,loc, ...} =>
       (case exn of
           EXEXN i =>
           annot stream loc (#ty i)
         | EXN i =>
           annot stream loc (#ty i);
        case argExpOpt of
            SOME x =>
            outputExpr stream x
          | NONE =>
            ())
     | TPEXN_CONSTRUCTOR {exnInfo, loc} =>
       annot stream loc (#ty exnInfo)
     | TPEXEXN_CONSTRUCTOR {exExnInfo, loc} =>
       annot stream loc (#ty exExnInfo)
     | TPEXVAR (info, loc) =>
       annot stream loc (#ty info)
     | TPFFIIMPORT {loc, ptrExp:tpexp, stubTy:Types.ty,...} =>
       (annot stream loc stubTy;
        outputExpr stream ptrExp)


                                   29
|  | TPFNM {bodyExp, bodyTy, loc, ...} =>
     (annot stream loc bodyTy;
      outputExpr stream bodyExp)
   | TPGLOBALSYMBOL {loc, ty, ...} =>
     annot stream loc ty
   | TPHANDLE {exnVar, exp, handler, loc} =>
     (annot stream loc (#ty exnVar);
      outputExpr stream exp;
      outputExpr stream handler)
   | TPLET {body, decls, loc, tys} =>
     (List.app (outputExpr stream) body;
      List.app (outputDecl stream) decls
     )
   | TPMODIFY {elementExp , loc, recordExp, recordTy, ...} =>
     (annot stream loc recordTy;
      outputExpr stream elementExp;
      outputExpr stream recordExp)
   | TPMONOLET { binds, bodyExp, loc} =>
     (List.app (fn (_,exp) =>
                   outputExpr stream exp) binds;
      outputExpr stream bodyExp)
   | TPOPRIMAPPLY {argExp, loc, oprimOp, ...} =>
     (annot stream loc (#ty oprimOp);
      outputExpr stream argExp)
   | TPPOLY {exp, expTyWithoutTAbs, loc, ...} =>
     (annot stream loc expTyWithoutTAbs;
      outputExpr stream exp)
                                    30
   | TPPOLYFNM {bodyExp, bodyTy, loc, ...} =>
スイッチ
src/compiler/control/main/Control.ppg

val annot = ref false
val switchTable : switchTable =
[  ....
 ("annot", BoolSwitch annot)
]
src/compiler/toplevel2/main/Top.sml

if ! Control.annot then
  Annot.dump tpcalc
else
  ()

                             31
使い方
$ ls
fact.sml

$ smlsharp -d annot=yes fact.sml

$ ls
a.out fact.sml fact.annot

               32
EmacsLisp




    33
デモ




34
今後の目標
変数の参照元ジャンプ

多相レコードの表示




     35
開発Tips
--enable-fast-build
は意味がない


make -jは失敗する

         36
開発Tips for Windows
Mingwでのビルドは無理




        37
開発Tips for Windows
Mingwでのビルドは無理


 Ubuntu(32bit)を使おう


        37
開発Tips for MacOS X
64bitでのビルドは難しい




        38
開発Tips for MacOS X
64bitでのビルドは難しい


 Ubuntu(32bit)を使おう


        38
まとめ
今、SML#がアツい

SML#を改造するの楽しい

型情報を表示する拡張をいれた
(Emacsのみ)

改造するときはLinuxでやろう

            39

Weitere ähnliche Inhalte

Was ist angesagt?

Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Ransui Iso
 
Extensible Eff Applicative
Extensible Eff ApplicativeExtensible Eff Applicative
Extensible Eff ApplicativeSanshiro Yoshida
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由kikairoya
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
templateとautoの型推論
templateとautoの型推論templateとautoの型推論
templateとautoの型推論MITSUNARI Shigeo
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるShintaro Fukushima
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11nekko1119
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたblackenedgold
 
Effective java 勉強会
Effective java 勉強会Effective java 勉強会
Effective java 勉強会Takinami Kei
 
Java8 Lambda chapter5
Java8 Lambda chapter5Java8 Lambda chapter5
Java8 Lambda chapter5Takinami Kei
 
F#とC#で見る関数志向プログラミング
F#とC#で見る関数志向プログラミングF#とC#で見る関数志向プログラミング
F#とC#で見る関数志向プログラミングsatoshimurakumo
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかYuki Miyatake
 
並行プログラミングと継続モナド
並行プログラミングと継続モナド並行プログラミングと継続モナド
並行プログラミングと継続モナドKousuke Ruichi
 
Cython ことはじめ
Cython ことはじめCython ことはじめ
Cython ことはじめgion_XY
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCamlHaruka Oikawa
 

Was ist angesagt? (20)

Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
Extensible Eff Applicative
Extensible Eff ApplicativeExtensible Eff Applicative
Extensible Eff Applicative
 
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
templateとautoの型推論
templateとautoの型推論templateとautoの型推論
templateとautoの型推論
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみる
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
 
Effective java 勉強会
Effective java 勉強会Effective java 勉強会
Effective java 勉強会
 
Java8 Lambda chapter5
Java8 Lambda chapter5Java8 Lambda chapter5
Java8 Lambda chapter5
 
F#とC#で見る関数志向プログラミング
F#とC#で見る関数志向プログラミングF#とC#で見る関数志向プログラミング
F#とC#で見る関数志向プログラミング
 
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうかBoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
 
並行プログラミングと継続モナド
並行プログラミングと継続モナド並行プログラミングと継続モナド
並行プログラミングと継続モナド
 
Map
MapMap
Map
 
Cython ことはじめ
Cython ことはじめCython ことはじめ
Cython ことはじめ
 
C++14 Overview
C++14 OverviewC++14 Overview
C++14 Overview
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
 
C++11
C++11C++11
C++11
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
 

Andere mochten auch

Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性についてScala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性についてHiroki Mizuno
 
そうだ、bf処理系作ろう!もちろんSQLで!
そうだ、bf処理系作ろう!もちろんSQLで!そうだ、bf処理系作ろう!もちろんSQLで!
そうだ、bf処理系作ろう!もちろんSQLで!bleis tift
 
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Hiroki Mizuno
 
Fastest BF Interpreter
Fastest BF InterpreterFastest BF Interpreter
Fastest BF InterpreterSunao Komuro
 
From Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへFrom Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへHiroki Mizuno
 
#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書について#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書についてHiroki Mizuno
 
Darcs紹介@20120423-scmbc
Darcs紹介@20120423-scmbcDarcs紹介@20120423-scmbc
Darcs紹介@20120423-scmbcHiroki Mizuno
 
TypeSafe OSの試み
TypeSafe OSの試みTypeSafe OSの試み
TypeSafe OSの試みHiroki Mizuno
 
プログラミング Coq
プログラミング Coqプログラミング Coq
プログラミング Coqltf14
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法Hiroki Mizuno
 
C#(VB)プログラマのためのF#入門
C#(VB)プログラマのためのF#入門C#(VB)プログラマのためのF#入門
C#(VB)プログラマのためのF#入門bleis tift
 
関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみたTakashi Nishisaki
 
拡張性のあるPEGパーサの実装
拡張性のあるPEGパーサの実装拡張性のあるPEGパーサの実装
拡張性のあるPEGパーサの実装masato
 

Andere mochten auch (17)

SacalaZa #1
SacalaZa #1SacalaZa #1
SacalaZa #1
 
Java基礎
Java基礎Java基礎
Java基礎
 
どこでもCoq
どこでもCoqどこでもCoq
どこでもCoq
 
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性についてScala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
Scala基礎勉強会: Featherweight Scalaの紹介および型付け規則の決定可能性について
 
そうだ、bf処理系作ろう!もちろんSQLで!
そうだ、bf処理系作ろう!もちろんSQLで!そうだ、bf処理系作ろう!もちろんSQLで!
そうだ、bf処理系作ろう!もちろんSQLで!
 
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
 
Fastest BF Interpreter
Fastest BF InterpreterFastest BF Interpreter
Fastest BF Interpreter
 
From Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへFrom Coq to Ruby / CoqからRubyへ
From Coq to Ruby / CoqからRubyへ
 
#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書について#NGK2012B Excelによる設計書について
#NGK2012B Excelによる設計書について
 
Darcs紹介@20120423-scmbc
Darcs紹介@20120423-scmbcDarcs紹介@20120423-scmbc
Darcs紹介@20120423-scmbc
 
Callback DSL on Haxe
Callback DSL on HaxeCallback DSL on Haxe
Callback DSL on Haxe
 
TypeSafe OSの試み
TypeSafe OSの試みTypeSafe OSの試み
TypeSafe OSの試み
 
プログラミング Coq
プログラミング Coqプログラミング Coq
プログラミング Coq
 
OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法OCamlでWebアプリケーションを作るn個の方法
OCamlでWebアプリケーションを作るn個の方法
 
C#(VB)プログラマのためのF#入門
C#(VB)プログラマのためのF#入門C#(VB)プログラマのためのF#入門
C#(VB)プログラマのためのF#入門
 
関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた
 
拡張性のあるPEGパーサの実装
拡張性のあるPEGパーサの実装拡張性のあるPEGパーサの実装
拡張性のあるPEGパーサの実装
 

Ähnlich wie Sml#探検隊

Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーmganeko
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-Fumiya Nozaki
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介Ohsawa Goodfellow
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Appresso Engineering Team
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perlJiro Nishiguchi
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)啓 小笠原
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。Kazuki Onishi
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料真一 北原
 
Programming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選びProgramming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選びdekosuke
 
PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方Satoshi Nagayasu
 
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」Mr. Vengineer
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜Hiromi Ishii
 

Ähnlich wie Sml#探検隊 (20)

20180728 halide-study
20180728 halide-study20180728 halide-study
20180728 halide-study
 
What is Metasepi?
What is Metasepi?What is Metasepi?
What is Metasepi?
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
XLWrapについてのご紹介
XLWrapについてのご紹介XLWrapについてのご紹介
XLWrapについてのご紹介
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
 
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
 
Programming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選びProgramming Haskell Chapter 11 切符番号選び
Programming Haskell Chapter 11 切符番号選び
 
PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方PostgreSQL - C言語によるユーザ定義関数の作り方
PostgreSQL - C言語によるユーザ定義関数の作り方
 
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 

Mehr von Hiroki Mizuno

Gallinaによる証明駆動開発の魅力
Gallinaによる証明駆動開発の魅力Gallinaによる証明駆動開発の魅力
Gallinaによる証明駆動開発の魅力Hiroki Mizuno
 
CoqによるMsgPackの証明
CoqによるMsgPackの証明CoqによるMsgPackの証明
CoqによるMsgPackの証明Hiroki Mizuno
 
「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)Hiroki Mizuno
 
20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会Hiroki Mizuno
 
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02Hiroki Mizuno
 
証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議Hiroki Mizuno
 
Coqによる証明駆動開発
Coqによる証明駆動開発Coqによる証明駆動開発
Coqによる証明駆動開発Hiroki Mizuno
 
NGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへNGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへHiroki Mizuno
 
OCamlAPISearchの紹介
OCamlAPISearchの紹介OCamlAPISearchの紹介
OCamlAPISearchの紹介Hiroki Mizuno
 
Proove Mark&Sweep GC with Coq
Proove Mark&Sweep GC with CoqProove Mark&Sweep GC with Coq
Proove Mark&Sweep GC with CoqHiroki Mizuno
 
CoqでGCの証明をしてみたよ(LT)
CoqでGCの証明をしてみたよ(LT)CoqでGCの証明をしてみたよ(LT)
CoqでGCの証明をしてみたよ(LT)Hiroki Mizuno
 

Mehr von Hiroki Mizuno (12)

Gallinaによる証明駆動開発の魅力
Gallinaによる証明駆動開発の魅力Gallinaによる証明駆動開発の魅力
Gallinaによる証明駆動開発の魅力
 
CoqによるMsgPackの証明
CoqによるMsgPackの証明CoqによるMsgPackの証明
CoqによるMsgPackの証明
 
「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)「Frama-Cによるソースコード検証」 (mzp)
「Frama-Cによるソースコード検証」 (mzp)
 
20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会20110424 action scriptを使わないflash勉強会
20110424 action scriptを使わないflash勉強会
 
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
 
証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議
 
Coqによる証明駆動開発
Coqによる証明駆動開発Coqによる証明駆動開発
Coqによる証明駆動開発
 
NGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへNGK忘年会 2010 / CoqからRubyへ
NGK忘年会 2010 / CoqからRubyへ
 
CoqUn2010
CoqUn2010CoqUn2010
CoqUn2010
 
OCamlAPISearchの紹介
OCamlAPISearchの紹介OCamlAPISearchの紹介
OCamlAPISearchの紹介
 
Proove Mark&Sweep GC with Coq
Proove Mark&Sweep GC with CoqProove Mark&Sweep GC with Coq
Proove Mark&Sweep GC with Coq
 
CoqでGCの証明をしてみたよ(LT)
CoqでGCの証明をしてみたよ(LT)CoqでGCの証明をしてみたよ(LT)
CoqでGCの証明をしてみたよ(LT)
 

Kürzlich hochgeladen

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Kürzlich hochgeladen (10)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Sml#探検隊

Hinweis der Redaktion

  1. \n
  2. Twitter&amp;#x3068;&amp;#x304B;Github&amp;#x306F;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x30A2;&amp;#x30A4;&amp;#x30B3;&amp;#x30F3;&amp;#x3067;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x540D;&amp;#x53E4;&amp;#x5C4B;&amp;#x304B;&amp;#x3089;&amp;#x6C7A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;\n
  3. ProofGeneral&amp;#x3055;&amp;#x3093;&amp;#x304C;&amp;#x304B;&amp;#x308F;&amp;#x3044;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;\n&amp;#x30B7;&amp;#x30FC;&amp;#x30EB;&amp;#x304F;&amp;#x3070;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n\n
  4. \n
  5. &amp;#x30FB;&amp;#x30B9;&amp;#x30BF;&amp;#x30FC;&amp;#x30C8;&amp;#x7CFB;&amp;#x30A4;&amp;#x30D9;&amp;#x30F3;&amp;#x30C8;&amp;#x306B;&amp;#x306E;&amp;#x3063;&amp;#x304B;&amp;#x3063;&amp;#x3066;&amp;#x307F;&amp;#x305F;&amp;#x3002;(33&amp;#x4EBA;)\n&amp;#x30FB;&amp;#x5927;&amp;#x5800;&amp;#x5148;&amp;#x751F;&amp;#x3068;&amp;#x4E0A;&amp;#x91CE;&amp;#x3055;&amp;#x3093;&amp;#x307E;&amp;#x3067;&amp;#x6765;&amp;#x305F;&amp;#x8C6A;&amp;#x83EF;&amp;#x30B9;&amp;#x30D4;&amp;#x30FC;&amp;#x30AB;&amp;#x30FC;\n--\n&amp;#x30FB;&amp;#x65B0;&amp;#x3057;&amp;#x3044;LT&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x3046;&amp;#x307E;&amp;#x308C;&amp;#x305F;\n
  6. &amp;#x30FB;&amp;#x540D;&amp;#x53E4;&amp;#x5C4B;&amp;#x306B;&amp;#x306F;&amp;#x3069;&amp;#x3048;&amp;#x308A;&amp;#x3083;&amp;#x3042;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30AB;&amp;#x30D5;&amp;#x30A7;&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x305F;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x3067;10&amp;#x4EBA;&amp;#x304F;&amp;#x3089;&amp;#x3044;&amp;#x3067;&amp;#x30CF;&amp;#x30C3;&amp;#x30AB;&amp;#x30F3;&amp;#x3084;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;\n&amp;#x30FB;SML#&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3092;&amp;#x6539;&amp;#x9020;&amp;#x3059;&amp;#x308B;&amp;#x4F1A;\n&amp;#x30FB;&amp;#x3053;&amp;#x306E;&amp;#x3068;&amp;#x304D;&amp;#x306E;&amp;#x6210;&amp;#x679C;&amp;#x7269;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x3042;&amp;#x3068;&amp;#x3067;&amp;#x3066;&amp;#x8A71;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  7. &amp;#x5927;&amp;#x5800;&amp;#x672C;&amp;#x306E;&amp;#x8AAD;&amp;#x66F8;&amp;#x4F1A;\n
  8. &amp;#x540D;&amp;#x53E4;&amp;#x5C4B;&amp;#x306E;&amp;#x4EBA;&amp;#x305F;&amp;#x3061;&amp;#x306F;SML#&amp;#x306F;&amp;#x597D;&amp;#x304D;&amp;#x3060;&amp;#x3051;&amp;#x3069;SML&amp;#x306B;&amp;#x306F;&amp;#x8208;&amp;#x5473;&amp;#x306A;&amp;#x3044;\n
  9. &amp;#x540D;&amp;#x53E4;&amp;#x5C4B;&amp;#x306E;&amp;#x4EBA;&amp;#x305F;&amp;#x3061;&amp;#x306F;SML#&amp;#x306F;&amp;#x597D;&amp;#x304D;&amp;#x3060;&amp;#x3051;&amp;#x3069;SML&amp;#x306B;&amp;#x306F;&amp;#x8208;&amp;#x5473;&amp;#x306A;&amp;#x3044;\n
  10. &amp;#x30FB;&amp;#x304A;&amp;#x304A;&amp;#x307B;&amp;#x308A;&amp;#x5148;&amp;#x751F;&amp;#x306E;&amp;#x5A18;&amp;#x3055;&amp;#x3093;&amp;#x304C;&amp;#x304B;&amp;#x3044;&amp;#x305F;\n&amp;#x30FB;not BSD\n
  11. &amp;#x30FB;&amp;#x5168;&amp;#x90E8;&amp;#x306E;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;id&amp;#x3068;&amp;#x304B;name&amp;#x3068;&amp;#x304B;&amp;#x3064;&amp;#x3051;&amp;#x3066;&amp;#x3082;&amp;#x5927;&amp;#x4E08;&amp;#x592B;&amp;#x201D;&amp;#x201D;\n
  12. \n
  13. &amp;#x30FB;OCaml 296,591&amp;#x3001;SML# 152,523&amp;#x3001;GHC 364,766\n&amp;#x30FB;&amp;#x5358;&amp;#x7D14;&amp;#x306A;&amp;#x6BD4;&amp;#x8F03;&amp;#x306F;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;\n&amp;#x30FB;&amp;#x6539;&amp;#x9020;&amp;#x3057;&amp;#x3084;&amp;#x3059;&amp;#x3044;\n
  14. SML&amp;#x306E;op&amp;#x306F;Haskell&amp;#x3084;OCaml&amp;#x306E;&amp;#x4EBA;&amp;#x306B;&amp;#x306F;&amp;#x9055;&amp;#x548C;&amp;#x611F;&amp;#x304C;&amp;#x3042;&amp;#x308B;\ncop = curried operator\n
  15. \n
  16. \n
  17. &amp;#x30FB;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x4E0A;&amp;#x3067;&amp;#x8A66;&amp;#x305B;&amp;#x308B;\n&amp;#x30FB;&amp;#x30B5;&amp;#x30F3;&amp;#x30C9;&amp;#x30DC;&amp;#x30C3;&amp;#x30AF;&amp;#x30B9;&amp;#x5185;&amp;#x3067;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;\n&amp;#x30FB;SML#&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x81EA;&amp;#x4F53;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x7D50;&amp;#x5C40;&amp;#x624B;&amp;#x3092;&amp;#x3044;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;\n
  18. \n
  19. &amp;#x30FB;&amp;#x30E1;&amp;#x30E2;&amp;#x5E33;&amp;#x3067;Haskell&amp;#x66F8;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x4EBA;&amp;#x3092;&amp;#x500B;&amp;#x4EBA;&amp;#x7684;&amp;#x306B;&amp;#x77E5;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x666E;&amp;#x901A;&amp;#x306E;&amp;#x4EBA;&amp;#x306F;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x4E16;&amp;#x754C;&amp;#x306B;&amp;#x306F;2&amp;#x3064;&amp;#x306E;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3002;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x304C;&amp;#x597D;&amp;#x304D;&amp;#x3067;&amp;#x3059;&amp;#x304B;\n---\n&amp;#x30FB;emacs: sml-mode\n---\n&amp;#x30FB;Eclipse\n----\n&amp;#x30FB;&amp;#x3088;&amp;#x3093;&amp;#x305F;&amp;#x3055;&amp;#x3093;&amp;#x304C;&amp;#x4F5C;&amp;#x3063;&amp;#x3066;&amp;#x305F;&amp;#x3002;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x306E;SML#&amp;#x3067;&amp;#x306F;&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x3089;&amp;#x3057;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3072;&amp;#x3068;&amp;#x306F;&amp;#x5F7C;&amp;#x306B;mention&amp;#x3092;&amp;#x9001;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  20. &amp;#x30FB;&amp;#x30E1;&amp;#x30E2;&amp;#x5E33;&amp;#x3067;Haskell&amp;#x66F8;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x4EBA;&amp;#x3092;&amp;#x500B;&amp;#x4EBA;&amp;#x7684;&amp;#x306B;&amp;#x77E5;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x666E;&amp;#x901A;&amp;#x306E;&amp;#x4EBA;&amp;#x306F;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x4E16;&amp;#x754C;&amp;#x306B;&amp;#x306F;2&amp;#x3064;&amp;#x306E;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3002;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x304C;&amp;#x597D;&amp;#x304D;&amp;#x3067;&amp;#x3059;&amp;#x304B;\n---\n&amp;#x30FB;emacs: sml-mode\n---\n&amp;#x30FB;Eclipse\n----\n&amp;#x30FB;&amp;#x3088;&amp;#x3093;&amp;#x305F;&amp;#x3055;&amp;#x3093;&amp;#x304C;&amp;#x4F5C;&amp;#x3063;&amp;#x3066;&amp;#x305F;&amp;#x3002;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x306E;SML#&amp;#x3067;&amp;#x306F;&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x3089;&amp;#x3057;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3072;&amp;#x3068;&amp;#x306F;&amp;#x5F7C;&amp;#x306B;mention&amp;#x3092;&amp;#x9001;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  21. &amp;#x30FB;&amp;#x30E1;&amp;#x30E2;&amp;#x5E33;&amp;#x3067;Haskell&amp;#x66F8;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x4EBA;&amp;#x3092;&amp;#x500B;&amp;#x4EBA;&amp;#x7684;&amp;#x306B;&amp;#x77E5;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x666E;&amp;#x901A;&amp;#x306E;&amp;#x4EBA;&amp;#x306F;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x4E16;&amp;#x754C;&amp;#x306B;&amp;#x306F;2&amp;#x3064;&amp;#x306E;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3002;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x304C;&amp;#x597D;&amp;#x304D;&amp;#x3067;&amp;#x3059;&amp;#x304B;\n---\n&amp;#x30FB;emacs: sml-mode\n---\n&amp;#x30FB;Eclipse\n----\n&amp;#x30FB;&amp;#x3088;&amp;#x3093;&amp;#x305F;&amp;#x3055;&amp;#x3093;&amp;#x304C;&amp;#x4F5C;&amp;#x3063;&amp;#x3066;&amp;#x305F;&amp;#x3002;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x306E;SML#&amp;#x3067;&amp;#x306F;&amp;#x52D5;&amp;#x304B;&amp;#x306A;&amp;#x3044;&amp;#x3089;&amp;#x3057;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3072;&amp;#x3068;&amp;#x306F;&amp;#x5F7C;&amp;#x306B;mention&amp;#x3092;&amp;#x9001;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  22. &amp;#x9078;&amp;#x629E;&amp;#x80A2;&amp;#x304C;2&amp;#x3064;&amp;#x3042;&amp;#x308B;&amp;#x306A;&amp;#x3089;&amp;#x6BD4;&amp;#x8F03;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3051;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;\n
  23. \n
  24. &amp;#x30FB;fact&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x306A;&amp;#x3089;&amp;#x307E;&amp;#x3060;&amp;#x3057;&amp;#x3082;&amp;#x30EA;&amp;#x30A2;&amp;#x30EB;&amp;#x306A;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3060;&amp;#x3068;&amp;#x578B;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x3089;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x3002;\n&amp;#x30FB;&amp;#x3069;&amp;#x3046;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x7121;&amp;#x7406;&amp;#x306A;&amp;#x3089;&amp;#x307E;&amp;#x3060;&amp;#x8AE6;&amp;#x3081;&amp;#x304C;&amp;#x4ED8;&amp;#x304F;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x5404;&amp;#x5909;&amp;#x6570;&amp;#x306E;&amp;#x578B;&amp;#x60C5;&amp;#x306F;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x306F;&amp;#x77E5;&amp;#x3063;&amp;#x3066;&amp;#x308B;&amp;#x3002;\n&amp;#x30FB;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3092;&amp;#x6539;&amp;#x9020;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x5916;&amp;#x304B;&amp;#x3089;&amp;#x4F7F;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  25. &amp;#x666E;&amp;#x901A;&amp;#x306F;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x3057;&amp;#x3066;&amp;#x5B9F;&amp;#x884C;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3092;&amp;#x6539;&amp;#x9020;&amp;#x3057;&amp;#x3066;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3057;&amp;#x305F;annot&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&amp;#x751F;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3092;emacs&amp;#x304B;&amp;#x3089;&amp;#x8AAD;&amp;#x307F;&amp;#x3053;&amp;#x3080;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x306E;&amp;#x8868;&amp;#x793A;&amp;#x3092;&amp;#x5B9F;&amp;#x73FE;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  26. &amp;#x666E;&amp;#x901A;&amp;#x306F;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x3057;&amp;#x3066;&amp;#x5B9F;&amp;#x884C;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3092;&amp;#x6539;&amp;#x9020;&amp;#x3057;&amp;#x3066;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3057;&amp;#x305F;annot&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&amp;#x751F;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3092;emacs&amp;#x304B;&amp;#x3089;&amp;#x8AAD;&amp;#x307F;&amp;#x3053;&amp;#x3080;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x306E;&amp;#x8868;&amp;#x793A;&amp;#x3092;&amp;#x5B9F;&amp;#x73FE;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  27. SML#&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3001;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x304B;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x306F;&amp;#x8907;&amp;#x6570;&amp;#x306E;&amp;#x30D1;&amp;#x30B9;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x69CB;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\nSML#&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3001;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x3061;&amp;#x3087;&amp;#x3063;&amp;#x3068;&amp;#x5F85;&amp;#x3064;)\n
  28. &amp;#x4ECA;&amp;#x56DE;&amp;#x306F;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x306E;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x304C;&amp;#x76EE;&amp;#x7684;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5F8C;&amp;#x534A;&amp;#x306E;&amp;#x6700;&amp;#x9069;&amp;#x5316;&amp;#x3084;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x751F;&amp;#x6210;&amp;#x306F;&amp;#x7121;&amp;#x8996;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x3067;&amp;#x3001;&amp;#x6700;&amp;#x521D;&amp;#x306E;&amp;#x307B;&amp;#x3046;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3061;&amp;#x3087;&amp;#x3046;&amp;#x3069;&amp;#x578B;&amp;#x63A8;&amp;#x8AD6;&amp;#x3092;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30D1;&amp;#x30B9;&amp;#x304C;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x3053;&amp;#x306E;&amp;#x578B;&amp;#x63A8;&amp;#x8AD6;&amp;#x304C;&amp;#x304A;&amp;#x308F;&amp;#x3063;&amp;#x305F;&amp;#x76F4;&amp;#x5F8C;&amp;#x306B;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3057;&amp;#x3066;&amp;#x3084;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x3055;&amp;#x305D;&amp;#x3046;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x3042;&amp;#x3068;&amp;#x306B;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  29. &amp;#x4ECA;&amp;#x56DE;&amp;#x306F;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x306E;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x304C;&amp;#x76EE;&amp;#x7684;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5F8C;&amp;#x534A;&amp;#x306E;&amp;#x6700;&amp;#x9069;&amp;#x5316;&amp;#x3084;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x751F;&amp;#x6210;&amp;#x306F;&amp;#x7121;&amp;#x8996;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x3067;&amp;#x3001;&amp;#x6700;&amp;#x521D;&amp;#x306E;&amp;#x307B;&amp;#x3046;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3061;&amp;#x3087;&amp;#x3046;&amp;#x3069;&amp;#x578B;&amp;#x63A8;&amp;#x8AD6;&amp;#x3092;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30D1;&amp;#x30B9;&amp;#x304C;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x3053;&amp;#x306E;&amp;#x578B;&amp;#x63A8;&amp;#x8AD6;&amp;#x304C;&amp;#x304A;&amp;#x308F;&amp;#x3063;&amp;#x305F;&amp;#x76F4;&amp;#x5F8C;&amp;#x306B;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3057;&amp;#x3066;&amp;#x3084;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x3055;&amp;#x305D;&amp;#x3046;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n--\n&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x3042;&amp;#x3068;&amp;#x306B;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  30. \n
  31. \n
  32. \n
  33. &amp;#x30FB;&amp;#x5BA3;&amp;#x8A00;&amp;#x306E;&amp;#x578B;&amp;#x306F;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x30D5;&amp;#x30A9;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x5C0F;&amp;#x3055;&amp;#x304F;&amp;#x3066;&amp;#x307F;&amp;#x306B;&amp;#x304F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x307F;&amp;#x306A;&amp;#x3055;&amp;#x3093;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x306B;&amp;#x3042;&amp;#x308B;SML#&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x76F4;&amp;#x63A5;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3060;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x7D50;&amp;#x69CB;&amp;#x3067;&amp;#x3059;&amp;#x3002;...&amp;#x3068;&amp;#x3046;&amp;#x305C;&amp;#x3093;&amp;#x30C0;&amp;#x30A6;&amp;#x30F3;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x3066;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3088;&amp;#x306D;?\n&amp;#x30FB;SML#&amp;#x306E;&amp;#x5404;&amp;#x5BA3;&amp;#x8A00;&amp;#x304C;&amp;#x30B3;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30E9;&amp;#x30AF;&amp;#x30BF;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4E0A;&amp;#x304B;&amp;#x3089;&amp;#x9806;&amp;#x306B;&amp;#x95A2;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x3001;&amp;#x591A;&amp;#x76F8;&amp;#x306E;&amp;#x95A2;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x3001;&amp;#x5909;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n---\n&amp;#x30FB;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x306F;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3068;&amp;#x4F4D;&amp;#x7F6E;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  34. &amp;#x30FB;&amp;#x5BA3;&amp;#x8A00;&amp;#x306E;&amp;#x578B;&amp;#x306F;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x30D5;&amp;#x30A9;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x5C0F;&amp;#x3055;&amp;#x304F;&amp;#x3066;&amp;#x307F;&amp;#x306B;&amp;#x304F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x307F;&amp;#x306A;&amp;#x3055;&amp;#x3093;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x306B;&amp;#x3042;&amp;#x308B;SML#&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x76F4;&amp;#x63A5;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3060;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x7D50;&amp;#x69CB;&amp;#x3067;&amp;#x3059;&amp;#x3002;...&amp;#x3068;&amp;#x3046;&amp;#x305C;&amp;#x3093;&amp;#x30C0;&amp;#x30A6;&amp;#x30F3;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x3066;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3088;&amp;#x306D;?\n&amp;#x30FB;SML#&amp;#x306E;&amp;#x5404;&amp;#x5BA3;&amp;#x8A00;&amp;#x304C;&amp;#x30B3;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30E9;&amp;#x30AF;&amp;#x30BF;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4E0A;&amp;#x304B;&amp;#x3089;&amp;#x9806;&amp;#x306B;&amp;#x95A2;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x3001;&amp;#x591A;&amp;#x76F8;&amp;#x306E;&amp;#x95A2;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x3001;&amp;#x5909;&amp;#x6570;&amp;#x5BA3;&amp;#x8A00;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n---\n&amp;#x30FB;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x306F;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3068;&amp;#x4F4D;&amp;#x7F6E;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  35. &amp;#x30FB;(&amp;#x53D7;&amp;#x3051;&amp;#x3066;&amp;#x305F;&amp;#x3089;)&amp;#x30D5;&amp;#x30A9;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x5C0F;&amp;#x3055;&amp;#x304F;&amp;#x3066;&amp;#x307F;&amp;#x306B;&amp;#x304F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x307F;&amp;#x306A;&amp;#x3055;&amp;#x3093;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x306B;&amp;#x3042;&amp;#x308B;SML#&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;..\n&amp;#x30FB;&amp;#x4ECA;&amp;#x5EA6;&amp;#x306F;&amp;#x5F0F;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;datatype&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4E0A;&amp;#x304B;&amp;#x3089;&amp;#x9806;&amp;#x306B;sqlserver&amp;#x3078;&amp;#x306E;&amp;#x63A5;&amp;#x7D9A;&amp;#x3001;&amp;#x9069;&amp;#x7528;&amp;#x3001;&amp;#x5909;&amp;#x6570;&amp;#x53C2;&amp;#x7167;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x3053;&amp;#x308C;&amp;#x3082;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3068;&amp;#x4F4D;&amp;#x7F6E;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x57CB;&amp;#x3081;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;\n
  36. &amp;#x30FB;(&amp;#x53D7;&amp;#x3051;&amp;#x3066;&amp;#x305F;&amp;#x3089;)&amp;#x30D5;&amp;#x30A9;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x5C0F;&amp;#x3055;&amp;#x304F;&amp;#x3066;&amp;#x307F;&amp;#x306B;&amp;#x304F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x307F;&amp;#x306A;&amp;#x3055;&amp;#x3093;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x306B;&amp;#x3042;&amp;#x308B;SML#&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;..\n&amp;#x30FB;&amp;#x4ECA;&amp;#x5EA6;&amp;#x306F;&amp;#x5F0F;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;datatype&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4E0A;&amp;#x304B;&amp;#x3089;&amp;#x9806;&amp;#x306B;sqlserver&amp;#x3078;&amp;#x306E;&amp;#x63A5;&amp;#x7D9A;&amp;#x3001;&amp;#x9069;&amp;#x7528;&amp;#x3001;&amp;#x5909;&amp;#x6570;&amp;#x53C2;&amp;#x7167;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x3053;&amp;#x308C;&amp;#x3082;&amp;#x578B;&amp;#x60C5;&amp;#x5831;&amp;#x3068;&amp;#x4F4D;&amp;#x7F6E;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x57CB;&amp;#x3081;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;\n
  37. &amp;#x30FB;&amp;#x578B;&amp;#x306F;tyToString&amp;#x3067;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&amp;#x3067;&amp;#x304D;&amp;#x308B;\n&amp;#x30FB;&amp;#x4F4D;&amp;#x7F6E;&amp;#x60C5;&amp;#x5831;&amp;#x306F;lineOfPos&amp;#x3067;&amp;#x884C;&amp;#x756A;&amp;#x53F7;&amp;#x3001;colOfPos&amp;#x3067;&amp;#x5217;&amp;#x756A;&amp;#x53F7;&amp;#x304C;&amp;#x3068;&amp;#x308C;&amp;#x308B;\n
  38. &amp;#x30FB;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x60C5;&amp;#x5831;&amp;#x306F;&amp;#x305D;&amp;#x308D;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x304C;&amp;#x3057;&amp;#x304C;&amp;#x3057;&amp;#x66F8;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30FB;&amp;#x57FA;&amp;#x672C;&amp;#x7684;&amp;#x306B;tpdecl&amp;#x3068;tpexp&amp;#x3092;&amp;#x306A;&amp;#x3081;&amp;#x3066;&amp;#x3044;&amp;#x304F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;\n
  39. \n
  40. \n
  41. &amp;#x30FB;&amp;#x5E38;&amp;#x306B;&amp;#x30C0;&amp;#x30F3;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3082;&amp;#x5FAE;&amp;#x5999;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30B9;&amp;#x30A4;&amp;#x30C3;&amp;#x30C1;&amp;#x3067;&amp;#x5207;&amp;#x308A;&amp;#x66FF;&amp;#x3048;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308B;\n
  42. \n
  43. \n
  44. \n
  45. &amp;#x30FB;camlspotter&amp;#x3063;&amp;#x307D;&amp;#x304F;&amp;#x3057;&amp;#x305F;&amp;#x3044;\n&amp;#x30FB;&amp;#x591A;&amp;#x76F8;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x578B;&amp;#x304C;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x5316;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;\n
  46. &amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x307F;&amp;#x306A;&amp;#x3055;&amp;#x3093;&amp;#x3082;SML#&amp;#x3092;&amp;#x6539;&amp;#x9020;&amp;#x3057;&amp;#x305F;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x958B;&amp;#x767A;tips&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x308F;&amp;#x308D;&amp;#x3046;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  47. \n
  48. &amp;#x6700;&amp;#x8FD1;&amp;#x3001;Mac&amp;#x304C;&amp;#x3068;&amp;#x308C;&amp;#x3066;OS X&amp;#x306E;&amp;#x307F;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x3068;&amp;#x304B;&amp;#x305D;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x7D30;&amp;#x304B;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x8A31;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;\n64bit&amp;#x3067;&amp;#x30D3;&amp;#x30EB;&amp;#x30C9;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;&amp;#x308F;&amp;#x3051;&amp;#x3058;&amp;#x3083;&amp;#x306A;&amp;#x3044;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x307E;&amp;#x3042;&amp;#x3001;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;&amp;#x3068;&amp;#x9762;&amp;#x5012;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;&amp;#x8A66;&amp;#x3059;&amp;#x3068;&amp;#x304D;&amp;#x306F;Ubuntu&amp;#x306E;&amp;#x307B;&amp;#x3046;&amp;#x304C;&amp;#x697D;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  49. \n