Skip to content

UNIMPLEMENTED.md

Satoshi Terasaki edited this page Jan 21, 2026 · 1 revision

未実装機能一覧

最終更新: 2026-01-19 (UNIMPLEMENTED から実装済み項目を DONE へ整理)

実装済みの機能は STATUS.mdDONE.md を参照してください。


iOS UI 検証

  • iOS 側の検証項目は docs/ios/UNIMPLEMENTED.md に集約

Julia Base 未実装関数一覧(完全版)

最終更新: 2026-01-07 (Missing/Val/Some/Returns 反映・exports 統計再集計)

Julia の Base モジュール(julia/base/exports.jl)からエクスポートされている 998 項目のうち、SubsetJuliaVM で未実装のものを網羅的にリストアップ。

1. モジュール

モジュール 説明 状態
Meta メタプログラミング ✅ 部分実装(parse, isexpr, quot, isidentifier, isoperator, isunaryoperator, isbinaryoperator, ispostfixoperator, unblock, unescape, show_sexpr
StackTraces スタックトレース
Sys システム情報
Libc C ライブラリバインディング
Docs ドキュメント
Threads マルチスレッド
Iterators イテレータモジュール ⚠️ 一部関数のみ(enumerate, zip, rest, countfrom, take, drop, cycle, repeated, product, flatten, partition, peel

2. 型(Types)

関連 Issue: #343 (Regex: 残課題), #344 (Float16) Closed Issues: #527 (Set), #528 (IOContext), #529 (LinRange/StepRangeLen), #530 (Iterators), #531 (Pair), #532 (VersionNumber), #533 (Irrational)

未実装の抽象型

AbstractChannel, AbstractSlices, AbstractMatch, AbstractPattern, AbstractVecOrMat

未実装の具象型

説明
BitArray, BitMatrix, BitVector ビット配列
Channel 並行処理チャンネル
Cmd コマンド
Colon :
ComposedFunction 関数合成
Filter, Accumulate イテレータ型(Countcountfrom() として実装済み、Generator はVMで実装済み)
ColumnSlices, RowSlices, Slices スライス型
DenseMatrix, DenseVecOrMat, DenseVector 密配列型
Dims 次元タプル
Enum 列挙型
ExponentialBackOff 指数バックオフ
Float16 16ビット浮動小数点
IdDict, IdSet ID ベース辞書/集合
IndexStyle インデックススタイル
InsertionSort, MergeSort, QuickSort, PartialQuickSort ソートアルゴリズム型
IOStream I/O ストリーム
LazyString 遅延文字列
Lockable, OncePerProcess, OncePerTask, OncePerThread 同期プリミティブ
NTuple N 要素タプル
OrdinalRange 順序範囲
PermutedDimsArray 次元転置配列
RoundingMode 丸めモード(8種類)
StridedArray, StridedMatrix, StridedVecOrMat, StridedVector ストライド配列
SubArray サブ配列ビュー
SubString サブ文字列
SubstitutionString 置換文字列
Timer タイマー
WeakKeyDict 弱参照辞書

未実装の Ccall 型(全20種)

Cchar, Cdouble, Cfloat, Cint, Cintmax_t, Clong, Clonglong, Cptrdiff_t, Cshort, Csize_t, Cssize_t, Cuchar, Cuint, Cuintmax_t, Culong, Culonglong, Cushort, Cwchar_t, Cstring, Cwstring


3. 例外(Exceptions)

関連 Issue: #342, #534#553

未実装例外(主要)

例外 説明
CanonicalIndexError インデックスエラー
CapturedException 捕捉例外
CompositeException 複合例外
EOFError ファイル終端
InvalidStateException 無効状態
MissingException Missing 例外
ProcessFailedException プロセス失敗
TaskFailedException タスク失敗
SystemError システムエラー

4. グローバル定数・変数

関連 Issue: #340

定数/変数 説明 状態
ENV 環境変数


7. 配列関数

関連 Issue: #353

未実装

関数 説明
cat 汎用連結
circcopy! 循環コピー(破壊的)(circshift! は実装済み)
eachslice スライスイテレータ
extrema! 最大最小(破壊的)
hvcat, hvncat 水平垂直連結
insertdims 次元挿入
isassigned 代入済みチェック
logrange 対数範囲
mapslices スライスへの map
maximum!, minimum! 最大最小(破壊的)
parent, parentindices 親配列(SubArray のみは実装済み。一般化は未対応)
partialsortperm, partialsortperm! 部分ソート順列
permutedims! 次元転置(破壊的)
prod!, sum! 積/和(破壊的)
promote_shape 形状プロモーション
selectdim 次元選択
sortperm!, sortslices ソート(破壊的)
stack 配列スタック
stride, strides ストライド
to_indices インデックス変換
view ビュー作成(✅ 部分実装: 現状 Vector{Float64} の 1D view が中心)

9. 線形代数

関連 Issue: #349, #851 (builtin認識バグ修正済み)

未実装

関数 説明
.' 転置演算子(非共役 transpose)
kron! クロネッカー積(破壊的)
eigvecs 固有ベクトル

11. コレクション

関連 Issue: #351

未実装

関数 説明
all!, any!, count! 破壊的バージョン
getkey キー取得
in! 包含チェック(破壊的)
intersect! 積集合(破壊的)
keytype, valtype キー/値型
memoryref メモリ参照
mergewith, mergewith! マージ(破壊的)
setdiff!, symdiff!, union! 集合演算(破壊的)
sizehint! サイズヒント

12. 文字列

未実装

関数 説明
hex2bytes! バイト⇔16進(破壊的)
ctruncate, ltruncate, rtruncate 切り詰め
digits! 桁配列(破壊的)
eachrsplit 逆方向分割イテレータ
replace! 置換(破壊的)
transcode トランスコード

13. テキスト出力

関連 Issue: #337 (IOContext full support), #382 (showerror)

未実装

関数 説明
showerror エラー表示
summary サマリ


18. タスク・同期(全て未実装)

関連 Issue: #348

Condition, current_task, islocked, istaskdone, istaskstarted, istaskfailed, lock, @lock, notify, ReentrantLock, schedule, task_local_storage, trylock, unlock, yield, yieldto, wait, waitany, waitall, timedwait, asyncmap, asyncmap!, errormonitor


19. チャンネル(全て未実装)

関連 Issue: #348

take!(I/O用は実装), put!, isfull, isready, fetch, bind


20. Missing 値

関数 状態
nonmissingtype ✅ 実装済み (Issue #1316)

21. 時間

関数 状態

22. エラー処理(大部分未実装)

backtrace, catch_backtrace, current_exceptions, rethrow, retry, systemerror, stacktrace


23. 型・プロパティ

未実装

関数 説明
getproperty, setproperty! プロパティ操作(6関数)
fieldoffset, fieldname, fieldindex, fieldtypes フィールド情報
propertynames, hasproperty プロパティ存在確認
isdispatchtuple ディスパッチタプル判定
oftype 型変換
instances 列挙インスタンス
typeintersect, typejoin 型演算

25. リフレクション・ヘルプ(大部分未実装)

code_typed, code_lowered, fullname, functionloc, isconst, isinteractive, parentmodule, pathof, pkgdir, pkgversion, names, @invoke, invokelatest, @invokelatest, @world


26. ソースファイル読み込み

関数 状態
__precompile__
evalfile
include_string
include_dependency
include ⚠️ Native のみ

27. RTS 内部(全て未実装)

GC, finalizer, finalize, precompile


28. I/O・イベント(大部分未実装)

関連 Issue: #347

close, closewrite, countlines, eachline, readeach, eof, fd, fdio, flush, gethostname, htol, hton, ltoh, ntoh, ismarked, isopen, isreadonly, mark, unmark, reset, bytesavailable, open, peek, pipeline, Pipe, PipeBuffer, position, seek, seekend, seekstart, skip, skipchars, RawFD, read, read!, readavailable, readbytes!, readchomp, readdir, readline, readlines, readuntil, copyuntil, copyline, redirect_stdio, redirect_stderr, redirect_stdin, redirect_stdout, truncate, unsafe_read, unsafe_write


29. マルチメディア I/O(全て未実装)

AbstractDisplay, display, displayable, TextDisplay, istextmime, MIME, @MIME_str, popdisplay, pushdisplay, redisplay, showable, HTML, Text


30. パス・ファイル名(大部分未実装)

関連 Issue: #346

abspath, expanduser, contractuser, homedir, normpath, realpath, relpath, splitdrive


31. ファイルシステム操作(全て未実装)

cd, chmod, chown, cp, ctime, diskstat, download, filemode, filesize, gperm, hardlink, isblockdev, ischardev, isdir, isexecutable, isfifo, isfile, islink, ismount, ispath, isreadable, issetgid, issetuid, issocket, issticky, iswritable, lstat, mkdir, mkpath, mktemp, mktempdir, mtime, mv, operm, pwd, readlink, rm, samefile, stat, symlink, tempdir, tempname, touch, uperm, walkdir


32. 外部プロセス(全て未実装)

detach, getpid, ignorestatus, kill, process_exited, process_running, run, setenv, addenv, setcpuaffinity, setuid, setgid, success, withenv


33. C インターフェース(全て未実装)

@cfunction, @ccall, cglobal, disable_sigint, pointer, pointer_from_objref, unsafe_wrap, unsafe_string, reenable_sigint, unsafe_copyto!, unsafe_load, unsafe_modify!, unsafe_pointer_to_objref, unsafe_replace!, unsafe_store!, unsafe_swap!


34. マクロ

未実装(パーサー/ノテーション)

関連 Issue: #554 (string macro literals), #556 (big_str)

@__FUNCTION__, @int128_str, @uint128_str, @big_str, @cmd, @s_str, @NamedTuple, @Kwargs, @lazy_str, @text_str, @html_str

未実装(プロファイリング)

関連 Issue: #350

@lock_conflicts

未実装(タスク)

@sync, @async, @task, @threadcall

未実装(パフォーマンス)

@boundscheck, @fastmath, @inline, @noinline, @nospecialize, @specialize, @polly

未実装(その他)

@atomic, @atomicswap, @atomicreplace, @atomiconce, @__dot__, @enum, @label, @goto, @static, @main


🐛 既知のバグ

既知のバグは GitHub Issues で管理しています: https://github.com/AtelierArith/ailujsoi/issues?q=is%3Aissue+is%3Aopen+label%3Abug


未サポート Julia 基本構文(網羅的一覧)

原則: SubsetJuliaVM は Julia の基本構文をサポートする。妥協は許されない。 以下は現時点で未サポートの基本構文の完全なリスト。

リテラル構文

構文 状態 回避策
大きな整数リテラル 9223372036854775808 ⚠️ BigFloat として解析 Issue: #316
コマンドリテラル `ls -la` プロセス実行未サポート (iOS制約)

制御フロー構文

構文 状態 説明
try...catch...else try ... catch ... else ... end Issue: #317
@goto / @label @goto label; @label label 低レベル制御フロー

内包表記・ジェネレータ

構文 状態 説明
多次元内包表記 [i+j for i in 1:3, j in 1:3] 複数 for 句(ネスト/多重)は未対応
Dict 内包表記 Dict(k => v for (k,v) in pairs) 辞書生成
Set 内包表記 Set(x for x in arr) 集合生成

関数定義構文

構文 状態 説明
複数 dispatch 無名関数 複数メソッドの無名関数 -

関数呼び出し構文

構文 状態 説明
キーワード引数省略記法 f(;x, y) 🐛 Issue: #1288 - 回避策: f(;x=x, y=y) を使用

型システム構文

構文 状態 説明
typealias(廃止) - Julia 0.6 で廃止

文字列構文

構文 状態 説明
LaTeX 文字列 L"x^2" -
HTML 文字列 html"<b>bold</b>" -

⚠️ Subset Compatibility 違反関数

最終更新: 2026-01-13 (range, collect, big 実装済みに更新)

注意: SubsetJuliaVM Base にあるが Julia 本家 Base に存在しない関数は、本来存在してはいけません。 これらの関数は互換性を壊すため、削除または Julia 準拠の実装に置き換える必要があります。

現在の違反関数

(削除済み - _insertion_sort!sort! にインライン化されました)

実装が異なる関数(互換性注意)

以下の関数は Julia 本家にも存在するが、SubsetJuliaVM では簡略化されており動作が異なる:

関数 SubsetJuliaVM Julia 本家 影響
sprint 1-4引数の固定関数 可変長引数 + context 5引数以上で非互換
dump 汎用構造体対応、大配列制限あり 詳細な構造表示 出力フォーマットがやや異なる(改善済み)

BigInt/BigFloat 関連の制限

BigInt/BigFloat の提供機能は DONE.md に集約しています。ここでは残っている互換性上の注意点のみ扱います。

注意: これらの関数はコードの互換性は保たれるが、出力や型が異なる場合がある。


実装不可/非推奨の項目

以下は iOS App Store 制限(JIT 禁止)やアーキテクチャ制限により実装困難:

項目 理由
タスク/スレッド全般 マルチスレッドランタイムが必要
ファイルシステム操作 サンドボックス制限
外部プロセス実行 セキュリティ制限
C インターフェース FFI が必要
完全な線形代数 行列数学ライブラリが必要

: @generated は Phase 1/2/3 で部分サポート済み(フォールバック + Val 特殊化 + Quote アンクォート)


Tier 3(高労力)

  1. mapslices - 関数型配列操作

非推奨(アーキテクチャ制限)

  • 完全な線形代数 - 行列数学ライブラリが必要
  • 注: @generated は Phase 1/2/3 で部分サポート済み(上記「部分対応構文」参照)

Clone this wiki locally