Skip to content

Latest commit

 

History

History
177 lines (154 loc) · 16.4 KB

Programming-Paradigms.md

File metadata and controls

177 lines (154 loc) · 16.4 KB

Data Formats

Libraries for Data serialization and File formats.

  • AIDA.jl :: This package implements simple readers for legacy AIDA files.
  • BEncode.jl :: A Julia library for BEncode metadata files used for encoding BitTorrent storage and transmission of loosely structured data.
  • BDF.jl :: Module to read Biosemi BDF files with the Julia programming language.
  • BGZF.jl :: A Julia package to read/write BGZF compressed files.
  • Brukerfile.jl :: Read Bruker data files.
  • COFF.jl :: A julia implementation of the PE/COFF file format.
  • CSV.jl :: reads CSV files.
  • CSVReaders.jl :: A (beta) package designed to provide a standardized API for reading CSV files into arbitrary Julia data structures.
  • DataFramesIO.jl :: Advanced import/export tools for DataFrames: Stata, SPSS, Excel, JSON.
  • DataRead.jl :: can read files from Stata, SAS, and SPSS.
  • DICOM.jl :: DICOM interface for the Julia language.
  • DWARF.jl :: Julia Package for parsing the DWARF file format.
  • ELF.jl :: Julia Package for working with ELF files.
  • FastaIO.jl :: Utilities to read/write FASTA format files in Julia.
  • Grisu.jl :: Port of Double-Conversion library to native Julia.
  • HDF5.jl :: Lib to read HDF format files. HDF5 is a file format
    • JLD2 :: HDF5-compatible file format in pure Julia.
  • HexEdit.jl :: Edit and display binary file data in hexadecimal format.
  • Json2.jl :: JSON encoder/decoder on Julia.
  • LibExpat.jl :: A Julia wrapper for libexpat.
  • LightXML.jl :: A light-weight Julia package for XML based on libxml2.
  • MachO.jl :: An implementation of the MachO file format.
  • MNIST.jl :: Tools for working with the MNIST data set. This package provides access to the classic MNIST data set of handwritten digits that has been used as a testbed for new machine learning methods. The MNIST data set is included with the package, downloaded into their original IDX format and are stored in the data/ directory.
  • NeuralynxNCS.jl :: A Julia module for reading Neuralynx NCS files.
  • NetCDF.jl :: NetCDF support for a high-level and a medium-level interface for writing and reading netcdf files, for the Julia programming language.
  • NIfTI.jl :: Julia module for reading NIfTI MRI files.
  • NPZ.jl :: Julia package that provides support for reading and writing Numpy .npy and .npz files.
  • ObjFileBase.jl :: Common functionality for Object Files.
  • OIFITS.jl :: Support for OI-FITS (optical interferometry data format).
  • OpenSlide.jl :: OpenSlide bindings for Julia.
  • PdbTool :: An object-oriented Julia tool to parse PDB files and work with them.
  • PList.jl :: A module for reading and writing OS X plist in ASCII format. The binary and XML format is not supported presently.
  • PLX.jl :: Julia module for reading Plexon PLX files.
  • HarwellBoeing.jl :: A reader for matrices and supplementary data written in the Harwell-Boeing format.
  • Shapefile.jl :: Parsing .shp files in Julia.
  • Silo.jl :: Wrapper for the Silo file format.
  • StrPack.jl :: for encoding and decoding binary data streams and there is some documentation at readthedocs.org.
  • uJSON.jl :: JSON library for Julia using ultraJSON.
  • XPT.jl :: The XPT package reads SAS® software transport files and converts SAS software datasets to DataFrames.
  • XSV.jl :: CSV, TSV, etc. streaming and batch parser.
  • IniFile.jl :: Reading and writing Windows-style INI files.
  • JLD.jl :: HDF5 interface for the Julia language to save and load julia variables while preserving native types.
  • JSON.jl :: JSON parsing and printing.

  • AndorSIF.jl :: This implements support for reading Andor SIF image files in the Julia programming language. Note: The Andor .SIF format changes with each version.
  • ASCIIByte.jl :: Julia package to deal with Characters of 8 bits.
  • AutoFormat.jl
  • BigRationals.jl :: is a BigRational package for Julia using GMP.
  • Codecs.jl :: Common data encoding algorithms.
  • DanaTypes.jl :: Types for continuous variables or parameters.
  • DataStreams.jl :: A Julia package to support streaming process of data .
  • DictViews.jl :: KeysView and ValuesView types for dynamic low-overhead views into the entries of dictionaries.
  • DotPlusInheritance.jl :: Expression parser that simulates type inheritance.
  • EMLTranslator.jl :: Adds Inheritance to julia composite type.
  • FixedPoint.jl :: Fixed point types for Julia.
  • FixedPointNumbers.jl :: This library exports fixed-point number types. A fixed-point number represents a fractional, or non-integral, number. In contrast with the more widely known floating-point numbers, fixed-point numbers have a fixed number of digits (bits) after the decimal (radix) point. They are effectively integers scaled by a constant factor.
  • Formatting.jl :: A Julia package to provide Python-like formatting support.
  • FreeTypeAbstraction.jl :: A Julian abstraction layer over FreeType.jl.
  • frange
  • ImagineFormat.jl :: Read .imagine file formats in Julia.
  • jenks.jl
  • julia-prettyshow :: A module to provide simple pretty printing facilities with base functionality for indentation etc, and a pshow (pretty show) implementation for julia ASTs.
  • LHEF.jl :: Quick and dirty implementation of the Les Houches Event Format, for particle Physics, in terms of Fortran commonblocks where the information is embedded in a minimal XML-style structure.
  • MacroTools.jl :: A library providing helpful tools for writing macros, notably a very simple templating system with some functions.
  • Modifyfield.jl :: It creates functions to modify immutable fields of a composite type inside a container.
  • MonkeyString.jl :: Fast string implementation inspired by SpiderMonkey.
  • MPFI.jl :: A MPFI wrapper for Julia.
  • MutableStrings.jl :: Mutable string types for Julia.
  • MUtils.jl :: channels(), tspaces(), kvspaces() and more.
  • Netpbm.jl :: Load and save Netpbm images in Julia. The Netpbm format is a graphics format using the extensions portable pixmap format (PPM), the portable graymap format (PGM) and the portable bitmap format (PBM), collectively referred as the portable anymap format (PNM).
  • ReTerms.jl :: Package providing abstract random-effects terms and specific types.
  • Ratios.jl :: Faster Rational-like types for Julia.
  • Scalar.jl :: Scalar Types.
  • [StringDistances.jl](https://github.com/matthieugomez/StringDistances.jl] :: String Distances in Julia.
  • TexExtensions.jl :: Tex Pretty printing of Julia Base types.
  • Units.jl :: Infrastructure for handling physical units for the Julia programming language.
  • YAML.jl :: A flexible data serialization format that is designed to be easily read and written by human beings.
Resources

Programming Paradigms

Packages and resources that support various programming styles, Software Architecture and CS paradigms.

  • Programming Language Theory :: Mathematics, Compilers, Functional Programming, and other papers.
  • LilKanren.jl :: A collection of Kanren implementations in Julia. miniKanren is an embedded Domain Specific Language for logic programming.

Functional Programming

Grammatical Evolution

  • GrammaticalEvolution :: package for Julia, an evolutionary technique that is similar to Genetic Programming (GP). However, unlike GP, it doesn't suffer the same problems with fixing damaged trees. Instead, it uses a grammar that is combined with a genome of integers. The genome is used to select which branch to follow for or-rules.

Macros

  • RegexVar.jl :: A macro to fill variables straight from the string.
  • Reexport.jl :: Julia macro for re-exporting one module from another.
  • MacroUtils.jl :: Collection of Julia macros.
  • MetaMerge.jl :: Merge functions with identical names from distinct modules.
  • TimeIt.jl :: Timeit macro for Julia.
  • Unroll.jl :: A julia macro for unrolling conditional for loops.

Meta Programming

DOCS

Multi-Threading

  • OCCA.jl :: Julia interface into OCCA2 by @tcew, an extensible multi-threading programming API written in C++.

Libs for memory management (malloc), bounds checking, literals and other base program analysis options.

  • CallGraphs.jl :: A package for analyzing source-code callgraphs, particularly of Julia's src/ directory. The main motivation for this package was to aid in finding all functions that might trigger garbage collection by directly or indirectly calling jl_gc_collect; however, the package has broader uses.
  • dataflow.jl :: Introduction to dataflow analysis using julia.
  • ExpressionPatterns.jl :: Match, Destructure and Dispatch on expressions.
  • LRUCache.jl :: An implementation of a Least Recently Used (LRU) Cache.
  • PAPI.jl :: Julia bindings to the Performance Application Programming Interface (PAPI).

Reactive Programming

  • React.jl :: Reactive programming primitives for Julia.
  • Reactive.jl :: A package for reactive programming in Julia.

Serialization

  • Spock.jl :: An interface to Apache Spark for the Julia language.

Style Guidelines