GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - stepcut/plugins: Dynamic linking and runtime evaluation of Haskell, and C, including dependency chasing and package resolution.

BranchesTags
Open more actions menu

Latest commit

 

History

285 Commits
285 Commits

Folders and files

NameName
Last commit message
Last commit date
docs
docs
 
 
scripts
scripts
 
 
src/System
src/System
 
 
testsuite
testsuite
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
AUTHORS
AUTHORS
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README
README
 
 
Setup.lhs
Setup.lhs
 
 
TODO
TODO
 
 
config.guess
config.guess
 
 
config.h.in
config.h.in
 
 
config.mk.in
config.mk.in
 
 
config.sub
config.sub
 
 
configure
configure
 
 
configure.ac
configure.ac
 
 
install.sh
install.sh
 
 
plugins.cabal
plugins.cabal
 
 
stack.yaml
stack.yaml
 
 
stack.yaml.lock
stack.yaml.lock
 
 

Repository files navigation

NOTE: This README is now very out of date.

------------------------------------------------------------------------
                            hs-plugins
------------------------------------------------------------------------

Compiler and tool support for compiling and loading, and evaluating
Haskell at runtime. 

The library provides a convenient interface to GHC's runtime loader
and linker, letting you load compiled Haskell code. 

It also provides a `make' system for compiling plugin source
automagically and for combining the user's .hs file with a stub of
standard declarations and syntax, saving the user from having to write
standard code themselves.

It provides an `eval' function, for generating new, well-typed, compiled
code from a Haskell source string.

It also provides a new variation of printf for Haskell-- a runtime
generated, dynamically-typed printf.

Read the documentation in doc/ for more.

------------------------------------------------------------------------

BUILDING:
        $ chmod +x Setup.lhs configure
        $ ./Setup.lhs configure --prefix=/usr/local
        $ ./Setup.lhs build
        $ ./Setup.lhs install

------------------------------------------------------------------------

DEPENDENCIES:

* Requires GHC >= 6.4
* Requires Cabal

------------------------------------------------------------------------

* Optional:
   If you are doing a lot of `merge'-related operations, and require
   an extended haskell parser, you can compile hs-plugins to use 
   HSX, Niklas Broberg's Haskell parser library, available at:

    darcs get http://www.cs.chalmers.se/~d00nibro/haskell-src-exts

   To get hs-plugins to use HSX, use: 

        $ mv plugins.cabal.hsx plugins.cabal
        $ ./Setup.lhs configure --enable-hsx

   Make sure to install HSX first though :)

------------------------------------------------------------------------

* On cygwin/windows you (a) make sure the cygwin "find" is before the
  windows "find" on your PATH, and (b) to give the windows-style path
  (e.g., "c:/cygwin/usr/local") in the ./configure --prefix=foo/bar
  step

* 'plugs' requires a working readline library.

* If you wish to use TH in plugins, or to run load()-programs in GHCi,
  you require a patch to GHC's linker, that was committed into ghc
  6.3, and ghc 6.2 -stable branch, and is available from 6.2.2 onwards.

* If you need to regenerate ./configure you need >= autoreconf-2.53

* The documentation relies on haddock, latex, dvips, tex2page:

        $ cd doc && make

------------------------------------------------------------------------

EXAMPLES:

Have a look in the testsuite/ directory for many examples of how to
arrange your code.

LICENSE:

This library is distributed under the terms of the LGPL. The runtime
loader code is based on code written by André Pang, and others, and is
distributed under the BSD-style Glasgow University license.

PORTABILITY:

Requires GHC 6.4 or greater, though most testing has be done on 6.4.
The dynamic loader requires a functional GHCi implementation.

---------------------+--------------------------------------------------
  Platform           |  Works   Should work*    Unknown    Won't work
---------------------+--------------------------------------------------
i386-*-linux         |    X
i386-*-freebsd       |    X
i386-*-openbsd       |    X           
powerpc-apple-darwin |    X            
powerpc-*-linux      |    X            
sparc-*-solaris2     |    X            
ia64-*-linux         |    #
i386-*-solaris2      |                X
sparc-*-linux        |                X
sparc-*-openbsd      |                X
i386-*-netbsd        |                              X 
amd64-*-openbsd      |                              X
mips64-sgi-irix      |                                         X
---------------------+--------------------------------------------------

# .hi file parsing is currently broken

About

Dynamic linking and runtime evaluation of Haskell, and C, including dependency chasing and package resolution.

Resources

Readme
LGPL-2.1 license
Activity

Stars

53 stars

Watchers

3 watching

Forks

16 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.