Class: Haskell::Signeture
- Inherits:
-
Object
- Object
- Haskell::Signeture
- Defined in:
- lib/rubiskell.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#ret ⇒ Object
readonly
Returns the value of attribute ret.
Instance Method Summary collapse
-
#initialize(name, args, ret) ⇒ Signeture
constructor
A new instance of Signeture.
- #list_vars ⇒ Object
-
#make_vars ⇒ Object
arity must be <= 26 :P.
- #tuple_form ⇒ Object
- #tuple_vars ⇒ Object
Constructor Details
#initialize(name, args, ret) ⇒ Signeture
Returns a new instance of Signeture.
59 60 61 |
# File 'lib/rubiskell.rb', line 59 def initialize(name, args, ret) @name, @args, @ret = name, args, ret end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
62 63 64 |
# File 'lib/rubiskell.rb', line 62 def args @args end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
62 63 64 |
# File 'lib/rubiskell.rb', line 62 def name @name end |
#ret ⇒ Object (readonly)
Returns the value of attribute ret.
62 63 64 |
# File 'lib/rubiskell.rb', line 62 def ret @ret end |
Instance Method Details
#list_vars ⇒ Object
72 73 74 |
# File 'lib/rubiskell.rb', line 72 def list_vars make_vars().join(" ") end |
#make_vars ⇒ Object
arity must be <= 26 :P
77 78 79 |
# File 'lib/rubiskell.rb', line 77 def make_vars ("a".."z").to_a.slice(0, @args.size) end |
#tuple_form ⇒ Object
64 65 66 |
# File 'lib/rubiskell.rb', line 64 def tuple_form Haskell.tuple_form(@args.map{|ty|TYPE_TABLE.rassoc(ty)[0]}) end |
#tuple_vars ⇒ Object
68 69 70 |
# File 'lib/rubiskell.rb', line 68 def tuple_vars "(" + make_vars().join(",") + ")" end |