From d2d6e69133ccfe7b2ee1723d1785e8cb3458678d Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 12 Apr 2019 21:47:02 -0400 Subject: Added some debugging machinery. --- lux-ruby/source/program.lux | 58 ++------------------------------------------- 1 file changed, 2 insertions(+), 56 deletions(-) (limited to 'lux-ruby') diff --git a/lux-ruby/source/program.lux b/lux-ruby/source/program.lux index b9b576f29..0eeed48ec 100644 --- a/lux-ruby/source/program.lux +++ b/lux-ruby/source/program.lux @@ -44,71 +44,17 @@ (import: #long java/lang/String) -(import: #long (java/lang/Class a) - (getCanonicalName [] java/lang/String)) +(import: #long (java/lang/Class a)) (import: #long java/lang/Object - (new []) (toString [] java/lang/String) (getClass [] (java/lang/Class java/lang/Object))) -(import: #long java/lang/Integer - (longValue [] java/lang/Long)) +(import: #long java/lang/Integer) (import: #long java/lang/Long (intValue [] java/lang/Integer)) -(import: #long java/lang/Number - (intValue [] java/lang/Integer) - (longValue [] long) - (doubleValue [] double)) - -(def: (inspect object) - (-> java/lang/Object Text) - (<| (case (host.check java/lang/Boolean object) - (#.Some value) - (%b value) - #.None) - (case (host.check java/lang/String object) - (#.Some value) - (%t value) - #.None) - (case (host.check java/lang/Long object) - (#.Some value) - (%i (.int value)) - #.None) - (case (host.check java/lang/Number object) - (#.Some value) - (%f (java/lang/Number::doubleValue value)) - #.None) - (case (host.check (Array java/lang/Object) object) - (#.Some value) - (let [value (:coerce (Array java/lang/Object) value)] - (case (array.read 0 value) - (^multi (#.Some tag) - [(host.check java/lang/Integer tag) - (#.Some tag)] - [[(array.read 1 value) - (array.read 2 value)] - [last? - (#.Some choice)]]) - (let [last? (case last? - (#.Some _) #1 - #.None #0)] - (|> (format (%n (.nat (java/lang/Integer::longValue tag))) - " " (%b last?) - " " (inspect choice)) - (text.enclose ["(" ")"]))) - - _ - (|> value - array.to-list - (list@map inspect) - (text.join-with " ") - (text.enclose ["[" "]"])))) - #.None) - (java/lang/Object::toString object))) - (import: #long org/jruby/RubyArray (getLength [] int) (get [int] #? Object)) -- cgit v1.2.3