hubris 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/hubris.gemspec +2 -1
- data/lib/hubris/version.rb +1 -1
- data/script/ci.sh +1 -1
- metadata +26 -10
- data/doc/new_interface.rb +0 -74
data/Rakefile
CHANGED
@@ -34,7 +34,7 @@ extraIncludeDirs = [\"#{headers}\", \"#{arch_headers}\"]"
|
|
34
34
|
# command="cd Haskell; cabal update; cabal install
|
35
35
|
# --extra-include-dirs=#{RbConfig::CONFIG['rubyhdrdir']}
|
36
36
|
# --extra-include-dirs=#{RbConfig::CONFIG['rubyhdrdir']}/#{RbConfig::CONFIG['arch']} --extra-lib-dirs=#{RbConfig::CONFIG['libdir']} --user --enable-shared --with-ghc=#{ghc_version}"
|
37
|
-
command="cd Haskell; cabal install --extra-include-dirs=#{arch_headers} --extra-include-dirs=#{headers} --extra-lib-dirs=#{lib_dir} --user --enable-shared --with-ghc=#{ghc_version}"
|
37
|
+
command="cabal update; cd Haskell; cabal install --extra-include-dirs=#{arch_headers} --extra-include-dirs=#{headers} --extra-lib-dirs=#{lib_dir} --user --enable-shared --with-ghc=#{ghc_version}"
|
38
38
|
result=%x{#{command}}
|
39
39
|
raise "ERROR: ran #{command}, got #{result}" unless $?.success?
|
40
40
|
end
|
data/hubris.gemspec
CHANGED
@@ -23,7 +23,8 @@ Gem::Specification.new do |s|
|
|
23
23
|
|
24
24
|
s.add_dependency 'rake-compiler', '>= 0.7.6'
|
25
25
|
s.add_development_dependency 'rspec', '2.4.0'
|
26
|
-
s.add_dependency 'rake'
|
26
|
+
s.add_dependency 'rake', '0.8.7'
|
27
|
+
s.add_dependency 'bundler'
|
27
28
|
s.add_dependency 'open4'
|
28
29
|
s.extensions = 'Rakefile' # ext/mkrf_conf.rb'
|
29
30
|
# system "bundle exec rake compile"
|
data/lib/hubris/version.rb
CHANGED
data/script/ci.sh
CHANGED
@@ -17,7 +17,7 @@ rm `which Hubrify` || true
|
|
17
17
|
rvm $ruby_version
|
18
18
|
bundle
|
19
19
|
gem build hubris.gemspec
|
20
|
-
gem install hubris-0.0.
|
20
|
+
gem install hubris-0.0.5.gem # can we do these two in one step?
|
21
21
|
rspec spec
|
22
22
|
|
23
23
|
#gem install bundler # i am aware how awful this is.
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: hubris
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mark Wotton
|
@@ -12,12 +12,11 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2011-
|
15
|
+
date: 2011-07-24 00:00:00 +10:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: rake-compiler
|
20
|
-
prerelease: false
|
21
20
|
requirement: &id001 !ruby/object:Gem::Requirement
|
22
21
|
none: false
|
23
22
|
requirements:
|
@@ -25,10 +24,10 @@ dependencies:
|
|
25
24
|
- !ruby/object:Gem::Version
|
26
25
|
version: 0.7.6
|
27
26
|
type: :runtime
|
27
|
+
prerelease: false
|
28
28
|
version_requirements: *id001
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rspec
|
31
|
-
prerelease: false
|
32
31
|
requirement: &id002 !ruby/object:Gem::Requirement
|
33
32
|
none: false
|
34
33
|
requirements:
|
@@ -36,21 +35,21 @@ dependencies:
|
|
36
35
|
- !ruby/object:Gem::Version
|
37
36
|
version: 2.4.0
|
38
37
|
type: :development
|
38
|
+
prerelease: false
|
39
39
|
version_requirements: *id002
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rake
|
42
|
-
prerelease: false
|
43
42
|
requirement: &id003 !ruby/object:Gem::Requirement
|
44
43
|
none: false
|
45
44
|
requirements:
|
46
|
-
- - "
|
45
|
+
- - "="
|
47
46
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
47
|
+
version: 0.8.7
|
49
48
|
type: :runtime
|
49
|
+
prerelease: false
|
50
50
|
version_requirements: *id003
|
51
51
|
- !ruby/object:Gem::Dependency
|
52
|
-
name:
|
53
|
-
prerelease: false
|
52
|
+
name: bundler
|
54
53
|
requirement: &id004 !ruby/object:Gem::Requirement
|
55
54
|
none: false
|
56
55
|
requirements:
|
@@ -58,7 +57,19 @@ dependencies:
|
|
58
57
|
- !ruby/object:Gem::Version
|
59
58
|
version: "0"
|
60
59
|
type: :runtime
|
60
|
+
prerelease: false
|
61
61
|
version_requirements: *id004
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: open4
|
64
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: "0"
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: *id005
|
62
73
|
description: A bridge between Ruby and Haskell
|
63
74
|
email:
|
64
75
|
- mwotton@gmail.com
|
@@ -98,7 +109,6 @@ files:
|
|
98
109
|
- doc/CommonErrors.txt~HEAD
|
99
110
|
- doc/don_feedback.txt
|
100
111
|
- doc/haskell-hubris.tex
|
101
|
-
- doc/new_interface.rb
|
102
112
|
- doc/ruby-hubris.tex
|
103
113
|
- doc/wisdom_of_ancients.txt
|
104
114
|
- ext/hubris.rb
|
@@ -132,12 +142,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
142
|
requirements:
|
133
143
|
- - ">="
|
134
144
|
- !ruby/object:Gem::Version
|
145
|
+
hash: -1476362833093922581
|
146
|
+
segments:
|
147
|
+
- 0
|
135
148
|
version: "0"
|
136
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
150
|
none: false
|
138
151
|
requirements:
|
139
152
|
- - ">="
|
140
153
|
- !ruby/object:Gem::Version
|
154
|
+
hash: -1476362833093922581
|
155
|
+
segments:
|
156
|
+
- 0
|
141
157
|
version: "0"
|
142
158
|
requirements: []
|
143
159
|
|
data/doc/new_interface.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
# IDEAS for new interface
|
2
|
-
|
3
|
-
# option 1 (implicit method name from haskell function)
|
4
|
-
class MyClass
|
5
|
-
include Hubris
|
6
|
-
def_haskell(code)
|
7
|
-
end
|
8
|
-
|
9
|
-
# option 2 (explicit method name)
|
10
|
-
class MyClass
|
11
|
-
def_haskell(method_name,code)
|
12
|
-
end
|
13
|
-
|
14
|
-
# option 3 ()
|
15
|
-
class Module
|
16
|
-
include Hubris
|
17
|
-
end
|
18
|
-
|
19
|
-
class MyClass
|
20
|
-
inline_haskell "haskell function"
|
21
|
-
end
|
22
|
-
|
23
|
-
# option 4 (more humourous)
|
24
|
-
class Module
|
25
|
-
include Hubris
|
26
|
-
end
|
27
|
-
|
28
|
-
class MyClass
|
29
|
-
hubris "haskell function"
|
30
|
-
end
|
31
|
-
|
32
|
-
#-----------------------------------------
|
33
|
-
# include at the module or package level
|
34
|
-
#=========================================
|
35
|
-
# does importing as_class make sense? no, just include the module
|
36
|
-
# when interpreting Haskell module names replace . with ::
|
37
|
-
|
38
|
-
# importing std module as a ruby module/class
|
39
|
-
hubris :package => "containers", :module => "Data.Map", :as => "Data::Map"
|
40
|
-
|
41
|
-
# importing your own module (defaults to module)
|
42
|
-
hubris :package => "mypackage", :module => "MyModule" [, :as => "MyModule"]
|
43
|
-
|
44
|
-
# implicit package handling (haskell file in my directory)
|
45
|
-
hubris :module => "haskell/shit/MyModule"
|
46
|
-
|
47
|
-
# simpler to implement option, allows more flexibility in Ruby land
|
48
|
-
module MyRubyModule
|
49
|
-
# :packages is optional, just brings in external packages.
|
50
|
-
hubris :module => "Data.Map", :packages => ["containers","foo"]
|
51
|
-
# or
|
52
|
-
hubris :source => "MyHaskellCode.hs" # , :packages => [ ... ]
|
53
|
-
# or
|
54
|
-
hubris :inline => "foo x = x * 2"
|
55
|
-
end
|
56
|
-
|
57
|
-
|
58
|
-
# alternative
|
59
|
-
|
60
|
-
Hubris.import :package => "containers", :module => "Data.Map"
|
61
|
-
|
62
|
-
module MyRubyModule
|
63
|
-
include Hubris::Data::Map
|
64
|
-
end
|
65
|
-
|
66
|
-
# alternative2
|
67
|
-
|
68
|
-
module MyRubyModule
|
69
|
-
hubris :package => "containers", :module => "Data.Map"
|
70
|
-
end
|
71
|
-
|
72
|
-
|
73
|
-
6:34:58 PM Josh Price: class Module; def hubris; self.class_eval { def self.h;"hubrified!";end };end;end
|
74
|
-
6:35:10 PM Josh Price: class B;hubris;end
|