Hoogle Search

Within LTS Haskell 24.35 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. package language-c

    Analysis and generation of C code Language C is a Haskell library for the analysis and generation of C code. It features a complete, well tested parser and pretty printer for all of C99 and a large set of C11 and clang/GNU extensions.

  2. package language-c99-simple

    C-like AST to simplify writing C99 programs. This package is a wrapper on top of 'language-c99'. It provides a simpler interface more suited for writing C99 programs. It achieves this by implementing its own C-like AST, supporting the most used C features. In turn, this AST is translated into actual C99 one, showing that it is an actual subset.

  3. package language-protobuf

    Language definition and parser for Protocol Buffers. Language definition and parser for Protocol Buffers files, according to https://developers.google.com/protocol-buffers/docs/reference/proto3-spec.

  4. package lapack-carray

    Auto-generated interface to Fortran LAPACK via CArrays LAPACK is a package for efficient numerically robust linear algebra. The original implementation is written in FORTRAN. This is a semi-automatically generated mid-level wrapper. The functions are not ready to use for high-level applications, but they are a step closer. The functions are all in IO monad because they are auto-generated and we cannot make sure automatically that unsafePerformIO is always safe. Instead of raw pointers we use CArrays and IOCArrays and assign and check array bounds to LAPACK function parameters, as far we can retrieve this information from the FORTRAN comments. We check consistency of dimensions where consistent dimensions are required, but we cannot do all kind of bound checks. We use immutable CArray for input and output parameters and mutable IOCArray for input/output parameters. LAPACK plays some nasty tricks of in-place array updates on input/output arrays even if the dimensions of input and output array differ (see e.g. GELS). The wrappers also manage allocation of memory for function parameters. This is necessary since FORTRAN passes all parameters by reference. Further on, the wrappers convert from Haskell values like Int to low-level values like CInt. We provide bindings to functions of all variants for Float, Double, Complex Float and Complex Double. We do not use TemplateHaskell nor HSC nor CHS, but instead Haskell 98 code generated by the custom lapack-ffi-tools package.

  5. package lapack-comfort-array

    Auto-generated interface to Fortran LAPACK via comfort-array LAPACK is a package for efficient numerically robust linear algebra. The original implementation is written in FORTRAN. This is a semi-automatically generated mid-level wrapper. The functions are not ready to use for high-level applications, but they are a step closer. The functions are all in IO monad because they are auto-generated and we cannot make sure automatically that unsafePerformIO is always safe. Instead of raw pointers we use Arrays and Mutable.Arrays and assign and check array bounds to LAPACK function parameters, as far we can retrieve this information from the FORTRAN comments. We check consistency of dimensions where consistent dimensions are required, but we cannot do all kind of bound checks. We use immutable Array for input and output parameters and mutable Mutable.Array for input/output parameters. LAPACK plays some nasty tricks of in-place array updates on input/output arrays even if the dimensions of input and output array differ (see e.g. GELS). The wrappers also manage allocation of memory for function parameters. This is necessary since FORTRAN passes all parameters by reference. Further on, the wrappers convert from Haskell values like Int to low-level values like CInt. We provide bindings to functions of all variants for Float, Double, Complex Float and Complex Double. We do not use TemplateHaskell nor HSC nor CHS, but instead Haskell 98 code generated by the custom lapack-ffi-tools package.

  6. package lazy-csv

    Efficient lazy parsers for CSV (comma-separated values). The CSV format is defined by RFC 4180. These efficient lazy parsers (String and ByteString variants) can report all CSV formatting errors, whilst also returning all the valid data, so the user can choose whether to continue, to show warnings, or to halt on error. Valid fields retain information about their original location in the input, so a secondary parser from textual fields to typed values can give intelligent error messages.

  7. package lca

    O(log n) persistent online lowest common ancestor search without preprocessing This package provides a reference implementation of my skew binary random access algorithm for performing an online lowest common ancestor search (and online level ancestor search) in logarithmic time without preprocessing. This improves the previous known asymptotic bound for both of these problems from O(h) to O(log h), where h is the height of the tree. Mostly importantly this bound is completely independent of the width or overall size of the tree, enabling you to calculate lowest common ancestors in a distributed fashion with good locality. While offline algorithms exist for both of these algorithms that that provide O(1) query time, they all require at least O(n) preprocessing, where n is the size of the entire tree, and so are less suitable for LCA search in areas such as revision control where the tree is constantly updated, or distributed computing where the tree may be too large to fit in any one computer's memory. Slides are available from http://www.slideshare.net/ekmett/skewbinary-online-lowest-common-ancestor-search

  8. package lens-misc

    Miscellaneous lens utilities. Handy functions when using lens.

  9. package lens-properties

    QuickCheck properties for lens QuickCheck properties for lens.

  10. package libffi

    A binding to libffi A binding to libffi, allowing C functions of types only known at runtime to be called from Haskell.

Page 305 of many | Previous | Next