{"action":"created","issue":{"url":"https://api.github.com/repos/viskell/viskell/issues/432","repository_url":"https://api.github.com/repos/viskell/viskell","labels_url":"https://api.github.com/repos/viskell/viskell/issues/432/labels{/name}","comments_url":"https://api.github.com/repos/viskell/viskell/issues/432/comments","events_url":"https://api.github.com/repos/viskell/viskell/issues/432/events","html_url":"https://github.com/viskell/viskell/issues/432","id":146405646,"number":432,"title":"Deserialization Error: Using the type before it is bound, of binder: val","user":{"login":"andrewdavidmackenzie","id":5529132,"avatar_url":"https://avatars.githubusercontent.com/u/5529132?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewdavidmackenzie","html_url":"https://github.com/andrewdavidmackenzie","followers_url":"https://api.github.com/users/andrewdavidmackenzie/followers","following_url":"https://api.github.com/users/andrewdavidmackenzie/following{/other_user}","gists_url":"https://api.github.com/users/andrewdavidmackenzie/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewdavidmackenzie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewdavidmackenzie/subscriptions","organizations_url":"https://api.github.com/users/andrewdavidmackenzie/orgs","repos_url":"https://api.github.com/users/andrewdavidmackenzie/repos","events_url":"https://api.github.com/users/andrewdavidmackenzie/events{/privacy}","received_events_url":"https://api.github.com/users/andrewdavidmackenzie/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-04-06T19:09:28Z","updated_at":"2016-04-06T22:47:56Z","closed_at":"2016-04-06T22:47:56Z","body":"There is a problem in deserializing certain block types.\r\n\r\n# Reproducing\r\nReproduce by opening the sample/hello_world.viskell file and observe exception reported to STDERR.\r\n\r\n> java.lang.RuntimeException: Using the type before it is bound, of binder: val\r\n> \tat nl.utwente.viskell.haskell.expr.Binder.getBoundType(Binder.java:71)\r\n> \tat nl.utwente.viskell.ui.components.OutputAnchor.getType(OutputAnchor.java:54)\r\n> \tat nl.utwente.viskell.ui.components.Connection.<init>(Connection.java:80)\r\n> \tat nl.utwente.viskell.ui.components.Connection.fromBundle(Connection.java:185)\r\n> \tat nl.utwente.viskell.ui.ToplevelPane.fromBundle(ToplevelPane.java:219)\r\n> \tat nl.utwente.viskell.ui.MenuActions.addChildrenFrom(MenuActions.java:135)\r\n> \tat nl.utwente.viskell.ui.MenuActions.onOpen(MenuActions.java:105)\r\n> \tat com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)\r\n> \tat com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)\r\n> \tat com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)\r\n> \tat com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)\r\n> \tat com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)\r\n> \tat com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)\r\n> \tat com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)\r\n> \tat javafx.event.Event.fireEvent(Event.java:198)\r\n> \tat javafx.scene.control.MenuItem.fire(MenuItem.java:462)\r\n> \tat com.sun.javafx.scene.control.GlobalMenuAdapter.lambda$bindMenuItemProperties$20(GlobalMenuAdapter.java:153)\r\n> \tat com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)\r\n> \tat com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)\r\n> \tat com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)\r\n> \tat com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)\r\n> \tat com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)\r\n> \tat com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)\r\n> \tat com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)\r\n> \tat javafx.event.Event.fireEvent(Event.java:198)\r\n> \tat javafx.scene.control.MenuItem.fire(MenuItem.java:462)\r\n> \tat com.sun.javafx.tk.quantum.GlassSystemMenu$1.action(GlassSystemMenu.java:238)\r\n\r\n\r\nSee FIXME comments in ConstantBlock.java.\r\n\r\n> public static ConstantBlock fromBundleFragment(ToplevelPane pane, Map<String,Object> bundleFragment) throws ClassNotFoundException {\r\n>         String value = (String)bundleFragment.get(\"value\");\r\n>         // FIXME Use Environment/TypeBuilder to create Type from String?\r\n>         // FIXME I got lost in the code trying to figure out how to do this isung DataTypeInfo, TypeCon, etc...\r\n>         // FIXME Type type = (String)bundleFragment.get(\"type\");\r\n>         boolean hasValidValue = (Boolean)bundleFragment.get(\"hasValidValue\");\r\n>         return new ConstantBlock(pane, null, value, hasValidValue);\r\n>     }\r\n\r\nI don't (yet) know enough about the code to really tackle this one."},"comment":{"url":"https://api.github.com/repos/viskell/viskell/issues/comments/206602188","html_url":"https://github.com/viskell/viskell/issues/432#issuecomment-206602188","issue_url":"https://api.github.com/repos/viskell/viskell/issues/432","id":206602188,"user":{"login":"andrewdavidmackenzie","id":5529132,"avatar_url":"https://avatars.githubusercontent.com/u/5529132?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewdavidmackenzie","html_url":"https://github.com/andrewdavidmackenzie","followers_url":"https://api.github.com/users/andrewdavidmackenzie/followers","following_url":"https://api.github.com/users/andrewdavidmackenzie/following{/other_user}","gists_url":"https://api.github.com/users/andrewdavidmackenzie/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewdavidmackenzie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewdavidmackenzie/subscriptions","organizations_url":"https://api.github.com/users/andrewdavidmackenzie/orgs","repos_url":"https://api.github.com/users/andrewdavidmackenzie/repos","events_url":"https://api.github.com/users/andrewdavidmackenzie/events{/privacy}","received_events_url":"https://api.github.com/users/andrewdavidmackenzie/received_events","type":"User","site_admin":false},"created_at":"2016-04-06T22:47:56Z","updated_at":"2016-04-06T22:47:56Z","body":"Correct. My mistake, hadn't fetched upstream/master\r\nNice!"}}