Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of undocumented exports for 0.2 #2242

Closed
kmsquire opened this issue Feb 9, 2013 · 25 comments
Closed

List of undocumented exports for 0.2 #2242

kmsquire opened this issue Feb 9, 2013 · 25 comments
Labels
docs This change adds or pertains to documentation
Milestone

Comments

@kmsquire
Copy link
Member

kmsquire commented Feb 9, 2013

Updated 1 Aug 2013, 9:47am PST

This updated list was produced using a modified version of the julia code provided by @jiahao, now located in JULIA_HOME/doc/DocCheck.jl. A new version can be generated using

cd("$JULIA_HOME/../../doc")
import DocCheck
DocCheck.undocumented_rst()

Note that as of the merging of #3912, JULIA_HOME/doc/UNDOCUMENTED.rst contains a template for all undocumented variables. The list can also be found at http://docs.julialang.org/en/latest/UNDOCUMENTED/.


809/1183 exports have been documented
(Additionally, 1 deprecated functions are still documentated)

The following exports are not documented:

Modules

  • Collections
  • DSP
  • Errno
  • FFTW
  • GMP
  • LibRandom
  • LinAlg
  • Math
  • Meta
  • MPFR
  • Operators
  • Order
  • PCRE
  • Pkg
  • Pkg2
  • Profile
  • QuadGK
  • Random
  • Sort
  • SparseMatrix
  • Sys
  • Test

Types

  • AbstractMatrix
  • AbstractSparseMatrix
  • AbstractVector
  • Associative
  • AsyncStream
  • BitArray
  • BitMatrix
  • BitVector
  • BunchKaufman
  • CharString
  • Cholesky
  • CholeskyPivoted
  • Cmd
  • Colon
  • Complex
  • Complex128
  • Complex64
  • Diagonal
  • Dict
  • Dims
  • EachLine
  • Eigen
  • Enumerate
  • Factorization
  • FileMonitor
  • FileOffset
  • Filter
  • GeneralizedSchur
  • GeneralizedSVD
  • HeapSort
  • Hermitian
  • Hessenberg
  • ImaginaryUnit
  • InsertionSort
  • IO
  • IOStream
  • LDLTTridiagonal
  • LocalProcess
  • LU
  • LUTridiagonal
  • MathConst
  • Matrix
  • MergeSort
  • ObjectIdDict
  • PollingFileWatcher
  • ProcessGroup
  • QR
  • QRPivoted
  • QuickSort
  • Range
  • Range1
  • RangeIndex
  • Ranges
  • Rational
  • Regex
  • RegexMatch
  • RegexMatchIterator
  • RepString
  • Reverse
  • RevString
  • RopeString
  • Schur
  • SparseMatrixCSC
  • SpawnNullStream
  • Stat
  • StridedArray
  • StridedMatrix
  • StridedVecOrMat
  • StridedVector
  • SubArray
  • SubDArray
  • SubOrDArray
  • SubString
  • SVD
  • Symmetric
  • TcpSocket
  • TimeoutAsyncWork
  • TimSort
  • Triangular
  • UVError
  • VecOrMat
  • Vector
  • VersionNumber
  • WeakKeyDict
  • WeakRef
  • Zip

Ccall types

  • Cchar
  • Cdouble
  • Cfloat
  • Cint
  • Clong
  • Clonglong
  • Coff_t
  • Cptrdiff_t
  • Cshort
  • Csize_t
  • Cssize_t
  • Cuchar
  • Cuint
  • Culong
  • Culonglong
  • Cushort
  • Cwchar_t

Exceptions

  • ArgumentError
  • EOFError
  • ErrorException
  • KeyError
  • LoadError
  • MethodError
  • ParseError
  • ProcessExitedException
  • SystemError
  • TypeError

Global constants and variables

  • ENDIAN_BOM
  • MS_ASYNC
  • MS_INVALIDATE
  • MS_SYNC
  • RTLD_DEEPBIND
  • RTLD_FIRST
  • RTLD_GLOBAL
  • RTLD_LAZY
  • RTLD_LOCAL
  • RTLD_NODELETE
  • RTLD_NOLOAD
  • RTLD_NOW

Mathematical constants

  • catalan

Operators

  • !==
  • A_ldiv_Bc
  • A_ldiv_Bt
  • A_mul_B
  • A_mul_Bc
  • A_mul_Bt
  • A_rdiv_Bc
  • A_rdiv_Bt
  • Ac_ldiv_B
  • Ac_ldiv_Bc
  • Ac_mul_B
  • Ac_mul_Bc
  • Ac_rdiv_B
  • Ac_rdiv_Bc
  • At_ldiv_B
  • At_ldiv_Bt
  • At_mul_B
  • At_mul_Bt
  • At_rdiv_B
  • At_rdiv_Bt

scalar math

  • big
  • divrem
  • invdigamma
  • rationalize
  • trigamma

specfun

  • besselh
  • polygamma

arrays

  • bsxfun
  • cartesianmap
  • checkbounds
  • findnext
  • findnz
  • gradient
  • index_shape
  • pascal
  • promote_shape
  • searchsortedfirst
  • searchsortedlast
  • setindex_shape_check
  • slice

linear algebra

  • bkfact!
  • bkfact
  • factorize!
  • factorize
  • isposdef!
  • ldltd!
  • ldltd
  • logdet
  • randsym
  • rref
  • schurfact!
  • solve
  • symmetrize!
  • tril!
  • triu!

sparse

  • spdiagm

bitarrays

  • bitpack
  • bitunpack
  • flipbits!
  • rol
  • ror

dequeues

  • prepend!

collections

  • issubset

strings and text output

  • digits
  • eachmatch
  • escape_string
  • first_utf8_byte
  • float32_isvalid
  • float64_isvalid
  • info
  • is_utf8_start
  • lcfirst
  • match
  • matchall
  • ndigits0z
  • print_escaped
  • print_joined
  • print_matrix
  • print_quoted
  • print_quoted_literal
  • print_shortest
  • print_unescaped
  • print_unescaped_chars
  • print_with_color
  • repeat
  • repl_show
  • rsearch
  • showcompact
  • sprint
  • summary
  • ucfirst
  • unescape_chars
  • unescape_string
  • warn
  • xdump

random numbers

  • AbstractRNG
  • randn!

bigfloat & precision

  • get_precision
  • get_bigfloat_precision
  • set_bigfloat_precision
  • with_bigfloat_precision
  • get_bigfloat_rounding
  • set_bigfloat_rounding
  • with_bigfloat_rounding

statistics

  • hist2d
  • median!
  • quantile!

signal processing

  • conv2
  • plan_brfft

numerical integration

iteration

object identity and equality

  • deepcopy_internal

tasks and conditions

time

errors

  • systemerror

types

syntax

  • esc
  • expand
  • gensym
  • macroexpand
  • parse

help and reflection

  • ans
  • disassemble
  • finfer
  • functionlocs
  • less
  • versioninfo
  • whicht

loading source files

RTS internals

  • gc_bytes
  • precompile

misc

  • tty_cols
  • tty_rows

IP address stuff

  • ip_str
  • IPv4
  • IPv6
  • parse_ipv4
  • parse_ipv6

I/O and events

  • accept
  • bind
  • countlines
  • eatwspace
  • eatwspace_comment
  • fd
  • isopen
  • isreadonly
  • mmap_grow
  • mmap_stream_settings
  • nb_available
  • open_any_tcp_port
  • PipeBuffer
  • poll_fd
  • poll_file
  • RawFD
  • readavailable
  • readchomp
  • readdir
  • redirect_stderr
  • redirect_stdin
  • redirect_stdout
  • start_reading
  • start_timer
  • start_watching
  • stop_reading
  • stop_timer
  • truncate
  • uv_error
  • UV_READABLE
  • UV_WRITABLE

multiprocessing

  • ClusterManager
  • isready

distributed arrays

  • localpart

paths and file names

  • expanduser
  • isdirpath
  • normpath
  • realpath
  • splitdir
  • splitdrive
  • splitext

filesystem operations

  • cp
  • ctime
  • download
  • filemode
  • filesize
  • gperm
  • iswritable
  • ls
  • lstat
  • mtime
  • mv
  • operm
  • rm
  • stat
  • touch
  • uperm

external processes ## TODO: whittle down these exports.

  • pipeline_error
  • process_options
  • process_signaled
  • process_status
  • process_term_signal
  • spawn_nostdin

C interface

  • c_malloc
  • disable_sigint
  • dlopen_e
  • pointer_from_objref
  • reenable_sigint
  • unsafe_copy!
  • unsafe_pointer_to_objref

Macros

  • b_str
  • r_str
  • v_str
  • mstr
  • unexpected
  • assert
  • cmd
  • timed
  • which
  • windows_only
  • unix_only
  • osx_only
  • linux_only
  • everywhere
  • parallel
  • gensym
  • eval
  • thunk
  • vectorize_1arg
  • vectorize_2arg
  • show
  • deprecate
  • boundscheck
  • inbounds

Documented and deprecated functions/exports (please update docs)

  • addprocs_sge
@pao
Copy link
Member

pao commented Feb 9, 2013

I know I mention this fairly frequently, but please keep in mind that @macros will ping a bunch of people not involved with Julia if we don't quote properly, so try to avoid doing that in issues! I'd like not to annoy the heck out of a bunch of people.

(Also, yes, documentation is great.)

@StefanKarpinski
Copy link
Member

Yikes. That's a terrifying amount of stuff to document.

@timholy
Copy link
Member

timholy commented Feb 9, 2013

Maybe we can all do small chunks (I just did one), or put out a plea for help on the user list?

@timholy
Copy link
Member

timholy commented Feb 9, 2013

And a tip: for filling in the checkboxes, it's a good idea to do it in "Edit" mode, as the browser takes a while to update for each check.

@JeffBezanson
Copy link
Member

I agree; we should divide this up among a set of volunteers. Then it could be finished quickly.

@ViralBShah
Copy link
Member

Is there a way to have multiple functions share the same help? This would greatly help.

I have improved help for the linear algebra stuff on vs/linalg2 which I will pull into master, irrespective of the changes to Factorization objects.

@mbaz
Copy link
Contributor

mbaz commented Feb 10, 2013

I can probably help with a few. Before I start, one question: where to write the docs? For example, I recently had use for isprime() and I can write its documentation. Should it go under math functions, numbers, or integers?

[pao: checked these off, and xref #2249]

@timholy
Copy link
Member

timholy commented Feb 10, 2013

Batch 2 done.

@binarybana
Copy link
Contributor

Edit: Okay, I've got the pull request here for the collections group with some other bonuses. I only missed two: map! and endof, as I thought I'd leave those to someone with bitarray and unicode knowledge.

Unfortunately, this list of undocumented functions is only a lower bound as there are many functions where one set of arguments is documented, but not others. See help(|) and methods(|) for a bad example (though I've included docs for the |(Any,Function) format as I found its usage in the original post intriguing). But we must soldier on nonetheless! :)

@timholy
Copy link
Member

timholy commented Feb 12, 2013

Thanks, Jason. I've updated the checkboxes.

@kmsquire
Copy link
Member Author

Someone might want to look at #2147 and rebase/merge, even though it's labeled WIP.

(Sorry not to contribute more docs myself, I have a Friday deadline to meet.)

JeffBezanson pushed a commit that referenced this issue Feb 13, 2013
StefanKarpinski added a commit that referenced this issue Feb 16, 2013
Add ccall-related function docs to stdlib, for #2242
@jiahao
Copy link
Member

jiahao commented Apr 18, 2013

Just updated the list.

Here is a 15-line Julia script that will do the same if run in the Julia base directory:

havehelp = String[]
for line in split(open(readall, "usr/share/julia/helpdb.jl"), "\n")
   t = split(line, ",")
   if length(t) >= 4 && t[1][1]=='(' && contains(t[3], '"')
       push!(havehelp, replace(t[3],"\"", ""))
   end
end
exports=[strip(x) for x in split(replace(open(readall, "base/exports.jl"),",",""),"\n")]
for line in exports
    if contains(havehelp, line) || search(line, "deprecated")!=0:-1 continue end
    if length(line)>1 && line[1]=='#' && line[2]!= ' ' continue end
    if length(line)>1 && line[1]=='@' line = line[2:end] end
    if length(line)>1 && line[1]!='#' line = string("- [ ] ", line) end
    println(line)
end

@kmsquire
Copy link
Member Author

Excellent!

@andrioni
Copy link
Member

This list counts a bit wrongly some functions, as FFTW.r2r, FFTW.r2r!, FFTW.plan_r2r and FFTW.plan_r2r! all count just as FFTW.

Another thing, what's supposed to be a module documentation? We have Test and Sort documented, and some others are just imported into Base (Pkg, GMP, LinAlg).

@ViralBShah
Copy link
Member

@kmsquire Could you perhaps rerun your script and update the list of functions that still need to be documented?

Everything that is exported should be documented, whether it is Base, or in a submodule.

@ViralBShah
Copy link
Member

@kmsquire Would it be possible to update this list in preparation for the 0.2 release? I updated the title to reflect that this is to track documentation of functions for the 0.2 release.

@kmsquire
Copy link
Member Author

kmsquire commented Aug 1, 2013

Done. I also updated the text to indicate how anyone with write access can update this issue in the future.

@kmsquire
Copy link
Member Author

kmsquire commented Aug 1, 2013

I generated a basic template for all undocumented functions in #3912. Not quite in-place documenting, but it should make it easier for someone to fill in and copy to the right place.

@vtjnash
Copy link
Member

vtjnash commented Aug 6, 2013

I'm not sure where to ask this, but since I noticed it while documenting: Can I deprecate the export of the solve function? It appears to be an implementation detail of the \ operator for several special-case types and not a general purpose interface.

@vtjnash
Copy link
Member

vtjnash commented Aug 6, 2013

Similarly symmetrize! seems be be an odd function to export, but not it's pair symmetrize_conj!. Should both be removed or both be exported?

@vtjnash
Copy link
Member

vtjnash commented Aug 6, 2013

moving discussion of deprecating exports to #3950

@JeffBezanson
Copy link
Member

We are getting close here. Only the following functions are left: besselh, gradient, solve, symmetrize!, xdump, mmap_grow, mmap_stream_settings, get!, fld1

I can only hope that people who know what these functions do will either document them or un-export them.

@johnmyleswhite
Copy link
Member

I can document fld1, but I suspect @StefanKarpinski might prefer that we not export it at all.

@andrioni
Copy link
Member

besselh is basically a way to choose between hankelh1 and hankelh2 (the pair of Bessel functions of third kind/Hankel functions):

  • besselh(n, z) = hankelh1(n, z),
  • besselh(n, k<=1, z) = hankelh1(n, z),
  • besselh(n, k>=2, z) = hankelh2(n, z).

@timholy
Copy link
Member

timholy commented Aug 31, 2013

I don't think we need to export those two mmap functions. If no one explains in the next day or so, I'll un-export them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs This change adds or pertains to documentation
Projects
None yet
Development

No branches or pull requests