The haltavista package

[Tags:gpl, program]

Looks for functions in the local hoogle library given a set of example input/outputs. Requires hoogle.

Usage:

 ~$ haltavista
 input_1_1 ... input_1_n output_1
 ...
 input_m_1 ... input_m_n output_m
 <EOF>

Example usage:

 ~$ haltavista
 1 1 2
 1 2 3
 <EOF>

 Prelude (+)

See README.md for more examples.


[Skip to Readme]

Properties

Versions 0.1, 0.1.0.1
Dependencies base (==4.*), hint (>=0.3.2.3), process (>=1.0.1.3) [details]
License GPL-2
Copyright Paul Brauner and Jun Inoue
Author Paul Brauner Jun Inoue
Maintainer polux2001@gmail.com
Stability alpha
Category Development
Uploaded Sun Sep 19 15:35:03 UTC 2010 by PaulBrauner
Distributions NixOS:0.1.0.1
Downloads 516 total (8 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
Last success reported on 2015-11-12 [all 6 reports]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for haltavista

Readme for haltavista-0.1.0.1

Haltavista

Search for haskell functions in installed libraries by providing input/output examples.

Requirements

Hoogle has to be installed.

Usage

Example session 1:

brauner@worf:~$ haltavista
2 2 4
<EOF>

Prelude (*)
Prelude (+)
Prelude (^)

Example session 2 (refining search 1):

brauner@worf:~$ haltavista
2 2 4
1 2 3
<EOF>

Prelude (+)

Example session 3 (higher-order functions):

brauner@worf:~$ haltavista 
(+1) (+2) (1,1) (2,3)
<EOF>

Data.Graph.Inductive.Query.Monad (><)

Credits

Under the hood, uses:

  • hint for type inference;
  • hoogle to get a list of candidate functions;
  • hint for testing.

Hoogle calling facility has been copy-pasted (and later modified) from the Yi project.

Todo

  • catch stack overflows (is that possible?)
  • catch other errors (should do but doesn't for some reason)