ファイル構成コウセイ http://home.b07.itscom.net/m-yamada/VBA/
DLL Declare Haskell_0_declare[Github]
Function Dimension 配列の次元取得  
Function placeholder プレースホルダ・オブジェクトの生成  
Function is_placeholder プレースホルダ・オブジェクト判定  
Function unbind_invoke bindされていないVBA関数を2引数で呼び出す  
Function mapF_imple 配列matrixの各要素elemに関数を適用する(mapF関数カンスウ内部で使用シヨウ  
Function zipWith 2つの配列の各要素に関数を適用する  
Function foldl 配列に対する特定の軸に沿った畳み込み(初期値指定あり)  
Function foldr 配列に対する特定の軸に沿った畳み込み(初期値指定あり)  
Function foldl1 配列に対する特定の軸に沿った畳み込み(先頭要素を初期値とする)  
Function foldr1 配列に対する特定の軸に沿った畳み込み(末尾マツビ要素を初期値とする)  
Function scanl 配列に対する特定の軸に沿ったscan(初期値指定あり)  
Function scanr 配列に対する特定の軸に沿ったscan(初期値指定あり)  
Function scanl1 配列に対する特定の軸に沿ったscan(先頭要素を初期値とする)  
Function scanr1 配列に対する特定の軸に沿ったscan(末尾要素を初期値とする)  
Function stdsort 1次元配列のソートインデックス出力(sortIndex関数カンスウ内部ナイブ使用シヨウ  
Function find_imple 述語による検索(find_pred関数内部で使用)  
Function find_pred_Vv 述語による1次元配列(child_set)から1次元配列(parent_set)への検索  
Function find_best_imple 述語による最良値位置検索(find_best_pred関数内部で使用)  
Function repeat_imple 関数適用のループ(repeat_while等の関数内部で使用)  
Function swapVariant VARIANT変数どうしのスワップ  
Sub changeLBound 配列のLBound変更  
Function self_zipWith 1次元配列の離れた要素間で2項操作を適用する  
VBAHaskellコア Haskell_1_Core[Github]
Function moveVariant sourceのVARIANT変数をtargetのVARIANTへmoveする p_
Function ph_0 プレースホルダ  
Function ph_1 プレースホルダ  
Function ph_2 プレースホルダ  
Function yield_0 関数評価時にph_0を生成する  
Function yield_1 関数評価時にph_1を生成する  
Function yield_2 関数評価時にph_2を生成する  
Function make_funPointer ユーザ関数をbindして関数カンスウオブジェクト化する(関数の部分適用)  
Function make_funPointer_with_2nd_Default 2番目の引数にデフォルト値を設定する場合  
Function make_funPointer_with_3_parameters 3つのパラメータを持つ関数  
Function is_bindFun bindされた関数であることの判定  
Function bind1st 束縛ソクバクダイ1引数を束縛する p_
Function bind2nd 束縛ソクバクダイ2引数を束縛する p_
Sub swap1st 第1引数のswap  
Sub swap2nd 第2引数のswap  
Function mapF 配列の各要素に関数を適用する p_
Function mapF_swap mapF(fun(a), m) または mapF(fun(, a), m)の構文糖  
Function applyFun 関数適用関数 p_
Function setParam 関数に引数を代入 p_
Function foldl_Funs 関数合成(foldl) p_
Function scanl_Funs 関数合成(scanl) p_
Function foldr_Funs 関数合成(foldr) p_
Function scanr_Funs 関数合成(scanr) p_
Function applyFun2by2 ((x,y),(f1,f2,...))->Array(f1(x,y),f2(x,y),...) p_
Function setParam2by2 ((f1,f2,...),(x,y))->Array(f1(x,y),f2(x,y),...) p_
Function count_if 配列の各要素で述語による評価結果がゼロでないものの数 p_
Function find_pred 1次元配列から条件に合致するものを検索 p_
Function repeat_while 述語による条件が満たされる間繰り返し関数適用  
Function repeat_while_not 述語による条件が満たされない間繰り返し関数適用  
Function generate_while 述語による条件が満たされる間繰り返し関数適用の履歴を生成  
Function generate_while_not 述語による条件が満たされない間繰り返し関数適用の履歴を生成  
Function p_foldl 1次元配列のfoldl  (関数オブジェクトのみ) -
Function p_foldr 1次元配列のfoldr  (関数オブジェクトのみ) -
Function p_foldl1 1次元配列のfoldl1  (関数オブジェクトのみ) -
Function p_foldr1 1次元配列のfoldr1  (関数オブジェクトのみ) -
Function p_scanl 1次元配列のscanl  (関数オブジェクトのみ) -
Function p_scanr 1次元配列のscanr  (関数オブジェクトのみ) -
Function p_scanl1 1次元配列のscanl1  (関数オブジェクトのみ) -
Function p_scanr1 1次元配列のscanr1  (関数オブジェクトのみ) -
Function foldl_zipWith zipWithをfoldlする  
Function foldl1_zipWith zipWithをfoldl1する  
Function foldr_zipWith zipWithをfoldrする  
Function foldr1_zipWith zipWithをfoldr1する  
Function scanl_zipWith zipWithをscanlする  
Function scanr_zipWith zipWithをscanrする  
Function scanl1_zipWith zipWithをscanl1する  
Function scanr1_zipWith zipWithをscanr1する  
標準ヒョウジュン関数カンスウ   Haskell_2_stdFun[Github]
Sub assignVar 汎用の変数コピー -
Function firstArg 1番目の引数 p_
Function secondArg 2番目の引数 p_
Function p_identity 引数それ自身(p_firstArgと同等)  (関数オブジェクトのみ) -
Function getNth N番目の配列要素取得(絶対アドレス) p_
Function getNth_b N番目の配列要素取得(オフセットアドレス) p_
Sub setNth_b N番目の配列要素設定(オフセットアドレス) -
Function setNth_move N番目の配列要素設定(絶対アドレス) -
Function setNth_b_move N番目の配列要素設定(オフセットアドレス) -
Function move_many 複数(可変長)の変数をmoveしてひとつのジャグ配列にする -
Sub move_back ジャグ配列から複数(可変長)の変数にmove back -
Function place_fill 配列の指定シテイ位置に関数を適用する(値を埋めてmoveして返す) -
Function rowSize 配列の行数 -
Function colSize 配列の列数 -
Function sizeof 配列の全要素数または特定の軸の要素数 p_
Function p_constant 定数関数  (関数カンスウオブジェクトのみ) -
Function p_true 定数関数(true)  (関数オブジェクトのみ) -
Function p_false 定数関数(false)  (関数オブジェクトのみ) -
Function if_else if else 選択 p_
Function replaceNull Nullを他の値に置換する p_
Function replaceEmpty Emptyを他の値に置換する p_
Function maskVar 値のマスク(mask=0 の時にEmpty化) p_
Function expN 指数関数 p_
Function logN 対数関数 p_
Function absD 絶対値 p_
Function plus 加算 p_
Function minus 減算 p_
Function mult 乗算 p_
Function divide 除算 p_
Function poly 多項式 p_
Function min_fun min p_
Function max_fun max p_
Function CLng_ CLng(整数化) p_
Function CDbl_ CDbl(実数化) p_
Function CStr_ CStr(文字列化) p_
Function str_len Len関数カンスウ p_
Function str_left Left関数(負の引数も可) p_
Function str_right Right関数(負の引数も可) p_
Function str_mid Mid関数 p_
Function str_cat 文字列結合 p_
Function splitFun Split関数 p_
Function joinFun Join関数 p_
Function gcm サイショウ小公倍コウバイスウ p_
Function lcm 最大サイダイ公約数コウヤクスウ p_
Function equal 述語Equal p_
Function notEqual 述語Not Equal p_
Function less 述語less  ( < ) p_
Function less_equal 述語less_equal  ( <= ) p_
Function greater 述語greater  ( > ) p_
Function greater_equal 述語greater_equal ( >= ) p_
Function is_null 述語is_null p_
Function is_empty 述語is_empty p_
Function is_valid 述語is_valid p_
デバッグ表示ヒョウジ Haskell_3_printM[Github]
Sub printS デバッグウィンドウに配列のサイズを表示する  
Sub printM デバッグウィンドウに2次元配列を表示する  
Function dumpFun ネストした関数を文字列化  
Sub printM_ デバッグウィンドウに1次元ジャグ配列を展開して表示する  
配列ハイレツ操作ソウサ   Haskell_4_vector[Github]
Function a_rows 全行番号の列挙 p_
Function a_cols 全列番号の列挙 p_
Function repeat N個の値を並べる p_
Function iota 自然数の連続データ(正順・逆順) p_
Function a__a 自然数列 [from, to] p_
Function a__o 自然数列 [from, to) p_
Function o__a 自然数列 (from, to] p_
Function o__o 自然数列 (from, to) p_
Function headN ベクトルの最初のN個 p_
Function tailN ベクトルの最後のN個 p_
Function vector スカラー、配列のベクトル化  
Function reverse ベクトルを逆順に並べる  
Sub rotate 1次元配列の回転  
Function rotation rotateした配列を返す p_
Function rotate_move rotateしてmoveして返す p_
Function selectRow 特定行の取得 p_
Function selectCol 特定列の取得 p_
Function makeM 配列の作成  
Sub fillM 配列をデータで埋める  
Function fillM_move fillMしてmoveして返す  
Sub fillRow 配列の特定行をデータで埋める  
Function fillRow_move fillRowしてmoveして返す  
Sub fillCol 配列の特定列をデータで埋める  
Function fillCol_move fillColしてmoveして返す  
Sub fillPattern 1次元配列を他の1次元配列の繰り返しで埋める(回数指定可)  
Function fillPattern_move fillPatternしてmoveして返す  
Function subV 1次元配列の部分配列を作成する p_
Function subV_if  〃(範囲外のインデックスに対してEmptyが入る) p_
Function subM 配列の部分配列を作成する  
Function subM_if  〃(範囲外のインデックスに対してEmptyが入る)  
Function filterR ベクトル・配列の(行の)フィルタリング p_
Function filterC 配列の(列の)フィルタリング p_
Function catV ベクトルを結合 p_
Function catV_move ベクトルを結合(引数をmove)  
Function catVs ベクトルを結合(可変長引数)  
Function catVs_move ベクトルを結合(可変長引数:引数をmove)  
Function catR 行方向に結合 p_
Function catC 列方向に結合 p_
Function transpose 配列の転置  
Function zip ふたつの配列の対応する要素どうしをmakePairしてジャグ配列を作る p_
Function cross_zip 複数の1次元配列をzip  
Function zipVs [[deprecated]] 推奨スイショウ (→cross_zip)  
Function unzip [[deprecated]] 推奨スイショウ (→cross_zip, unzipR, unzipC)  
Function zipR 2次元配列の各行ベクトルをzipVs  
Function zipC 2次元配列の各列ベクトルをzipVs  
Function unzipR zipされたジャグ配列を(行を先に)ほどいて2次元配列にする  
Function unzipC zipされたジャグ配列を(列を先に)ほどいて2次元配列にする  
Function makeSole Array(a)作成 p_
Function makePair Array(a, b)作成 p_
Function cons 配列の先頭に要素を追加 p_
Sub push_back 1次元配列の末尾に要素を追加  
Function push_back_move push_backしてmoveして返す p_
Function flatten 配列を平坦な1次元配列化する p_
Function product_set ふたつのベクトルの直積に関数を適用した行列を作る  
ソート関連カンレン Haskell_5_sort[Github]
Function sortIndex 昇順ソート後のインデックス配列 p_
Function sortIndex_pred 任意の比較関数によるソート後のインデックス配列 p_
Sub permutate 1次元配列の並べ換え  
Sub permutate_back permutate で並べ換えられた1次元配列を元の順列に戻す  
Function lower_bound ソート済み配列から指定された要素以上の値が現れる最初の位置を取得  
Function lower_bound_ 複数のアタイを対象とした lower_bound  
Function lower_bound_pred (比ヒカク較関カンスウ数使シヨウバン  
Function lower_bound_pred_ 複数のアタイを対象とした lower_bound_pred  
Function upper_bound ソート済み配列から指定された要素より大きい値が現れる最初の位置を取得  
Function upper_bound_ 複数のアタイを対象とした upper_bound  
Function upper_bound_pred (比ヒカク較関カンスウ数使シヨウバン  
Function upper_bound_pred_ 複数のアタイを対象とした upper_bound_pred  
Function equal_range lower_boundとupper_boundの組  
Function equal_range_ 複数のアタイを対象とした equal_range  
Function equal_range_pred (比ヒカク較関カンスウ数使シヨウバン  
Function equal_range_pred_ 複数のアタイを対象とした equal_range_pred  
Function partition_points ソート済み配列から条件によって区分化されている位置の一覧を得る  
Function partition_points_pred ソート済み配列から条件によって区分化されている位置の一覧を得る(比較ヒカク関数カンスウ使用シヨウ  
Function less_dic 述語 辞書式less ( < ) p_
Function less_equal_dic 述語 辞書式less_equal ( <= ) p_
Function greater_dic 述語 辞書式greater ( > ) p_
Function greater_equal_dic 述語 辞書式greater_equal ( >= ) p_
Function equal_dic 述語 辞書式equal ( = ) p_
Function notEqual_dic 述語 辞書式notEqual ( <> ) p_
Function binary_less 述語 文字列をvbBinaryCompareで比較 p_
Function binary_less_dic 述語 辞書式binary_less p_
Function text_less 述語 文字列をvbTextCompareで比較 p_
Function text_less_dic 述語 辞書式text_less p_
Vectorクラス
Operator New vh_stdvecを作成 -
Function from Variantの1次元配列をmoveして自身のデータとする(LBound = 0にする) -
Function clear 全ての要素を削除 -
Function free 配列部分を戻して自身は解放(shrinkしてから出力シュツリョクする) -
Function swap vh_stdvecどうしのswap -
Function clone 同じ配列を持ったvh_stdvecオブジェクトの生成 -
Get size 書き込み済み要素数を取得 -
Get capacity ReDimせずに格納できる最大の要素数を取得 -
Function shrink 領域を指定の長さまたはsizeまで切り詰める -
Function erase_n 指定した位置から個数を指定して範囲を削除する -
Sub printS デバッグウィンドウに領域リョウイキ配列ハイレツ領域リョウイキを表示する -
Sub printM デバッグウィンドウに 書き込み済み領域の全体または一部イチブを表示する -
Sub printM_ デバッグウィンドウにジャグ配列を展開して表示する -
Get val 指定位置の 値 を取得する(1以上の第2引数を指定した場合はその長さブン配列でカエす) -
Get pop 指定位置の 値 を取得する move版(1以上の第2引数を指定した場合はその長さ分配列で返す) -
Function push 指定位置に値を設定する(値はmoveされる) -
Function push_n 同一の値に対する push の複数回適用 -
Function push_array 配列の一括 push -
Function insert_empty beginの位置の前にn個のEmptyを挿入する -
Function push_back 書き込み済み末尾に対するpush(領域拡張する) -
Function push_back_n 書き込み済み末尾に対する同一値の複数push(領域拡張する) -
Function push_back_array 書き込み済み末尾に対するpush_array(領域拡張する) -
Function push_back_arrays push_back_arrayの反復 -
Function filter 抽出条件を与えて配列をフィルタリングする -
Function map 変換式を与えて配列を変換する -
Function orderby 比較関数を与えて配列をソートする -
パイプライン演算クラス
Function pipe vh_pipeオブジェクトの生成 -
Function pipe_ vh_pipeオブジェクトの生成(引数をmoveする) -
Function x 関数適用して自分自身を返す -
Function 関数適用して自分自身を返す -
Get val 結果を取得 -
Get pop 結果を取得(値はmoveされる) -
Function swap vh_pipeどうしのswap -
Function clone 同じ値を持ったオブジェクトの生成 -
ユーティリティ misc_utility[Github]
Function p__n p_getNth_b(, n)の構文糖  (関数オブジェクトのみ) -
Function p_try IIf(pred(a), a', b')の構文糖  (関数オブジェクトのみ) -
Function p_try_not IIf(Not pred(a), a', b')の構文糖  (関数オブジェクトのみ) -
Function p_try_less p_try(p_less(p__n(0), p__n(1)), p__n(0), Null) の構文糖 -
Function p_typename データ型名  (関数オブジェクトのみ) -
Function p_isNumeric IsNumeric関数  (関数オブジェクトのみ) -
Function p_format Format関数  (関数オブジェクトのみ) -
Function p_InStr InStr関数  (関数オブジェクトのみ) -
Function p_InStrRev InStrRev関数  (関数オブジェクトのみ) -
Function p_Like Like関数  (関数オブジェクトのみ) -
Function p_StrConv StrConv関数  (関数オブジェクトのみ) -
Function p_Trim Trim関数 -
Function separate_string 文字列の左右分離 p_
Function subM_R subM(m, 行範囲) の構文糖 p_
Function subM_R_b 〃(オフセットアドレス) p_
Function subM_C subM(m, , 列範囲) の構文糖 p_
Function subM_C_b 〃(オフセットアドレス) p_
Function selectRow_b selectRow(オフセットアドレス) p_
Function selectCol_b selectCol(オフセットアドレス) p_
Sub fillRow_b fillRow(オフセットアドレス)  
Function fillRow_b_move fillRow_move(オフセットアドレス)  
Sub fillCol_b fillCol(オフセットアドレス)  
Function fillCol_b_move fillCol_move(オフセットアドレス)  
Function adjacent_op 1次元配列vecの隣接する要素間で2項操作 p_
Function get_unique 配列の重複要素を削除する(ソート済前提) p_
Sub rowWise_change 2次元配列の行ごとに関数適用  
Function rowWise_change_move 〃moveして返す p_
Sub columnWise_change 2次元配列の列ごとに関数適用  
Function columnWise_change_move 〃moveして返す p_
Function equal_all 1次元配列の全要素の等値比較 p_
Function equal_all_pred 〃 述語バージョン  
Function filter_if 述語を与えて1次元配列をフィルタリング p_
Function filter_if_not 述語を与えて1次元配列をフィルタリング(否定形) p_
Function p_Not 論理Not  (関数オブジェクトのみ) -
Function p_imply 含意(A=>B)   IIF(Not A Or B, True, False)(関数オブジェクトのみ) -
Function pipe vh_pipeオブジェクトの生成  
Function pipe_ vh_pipeオブジェクトの生成(引数をmoveする)  
Function stdVec vh_stdvecオブジェクトの生成  
Function splitStr2Funs delimiterで区切られた文字列を関数列へマッピング  
Function group_by_partition_points partition_points によるGROUP-BY  
Function csv2Vector csvファイルの1行を配列に分割  
Function A_overlap_B 2つの1次元配列の共有部分と非共有部分を特定  
乱数ランスウ   misc_random[Github]
Function seed_Engine 乱数シード設定  
Function uniform_int_dist 一様整数(Long)(個数,from,to) p_
Function uniform_real_dist 一様実数(Double)(個数,from,to) p_
Function normal_dist 正規分布(個数,平均,標準偏差) p_
Function bernoulli_dist Bernoulli分布(個数,発生確率) p_
Function discrete_dist 離散分布(個数,発生比率配列) p_
Function random_iota iotaのランダム版  
Function random_shuffle 配列の要素をランダムに並び替えた配列を出力 p_
数学スウガク   misc_math[Github]
Function isPrimeNumber 素数判定 p_
Function primeNumbers 素数一覧 p_
Function sin_fun Sin p_
Function cos_fun Cos p_
Function pow_fun Pow p_
Function make_polyCoef 多項式の微分または不定積分(係数の生成) p_
Function newton_method ニュートン法による求根(の1ステップ) p_
Function integral_simpson シンプソン法による数値積分  
Function make_complex 複素数の生成(x-y座標ザヒョウ p_
Function make_complex_polar 複素数の生成(キョク座標ザヒョウ p_
Function show_complex 複素数の文字列モジレツ(x-y座標) p_
Function show_complex_polar 複素数の文字列モジレツ(極座標) p_
Function complex_add 複素数の加法カホウ p_
Function complex_minus 複素数の減法ゲンポウ p_
Function complex_mult 複素数の乗法ジョウホウ p_
Function complex_divide 複素数の除法ジョホウ p_
Function complex_cnj 共役キョウヤク複素数 p_
Function complex_abs2 複素数の絶対値ゼッタイチ2ジョウ p_
Function complex_abs 複素数の絶対値ゼッタイチ p_
Function complex_arg 複素数の偏角ヘンカク p_