ihaskell-widgets公司以下为:IHaskell的IPython标准小部件。

[图书馆,麻省理工学院,未分类的][建议标签]
版本[RSS(RSS)] 0.1.0.0,0.2.0.0,0.2.2.0,0.2.2.1,0.2.3.1,0.2.3.2,0.2.3.3,0.4.0.0
依赖关系 伊森(>=0.7),基础(>=4.9 && <5),字节删除,容器(>=0.5),伊哈斯克尔(>=0.6.4.1),ipython内核(>=0.6.1.2),科学的,单子,单扁豆基,文本(>=0.11),unix(通用),无序控制器,矢量,乙烯基(>=0.5)[详细信息]
许可证 麻省理工学院
版权 版权所有(c)2021 David Davó
作者 大卫·达沃苏米特·萨拉瓦特
维护人员 大卫·达沃<david@ddavo.me>苏米特·萨拉瓦特<sumit.sahrawat.apm13@iitbhu.ac.in>,安德鲁·吉比安斯基<andrew.gibiansky@gmail.com>
主页 http://www.github.com/gibiansky/IHaskell
已上传 通过瓦比哈夫·萨加尔2023-11-0801:07:07Z
分配
反向依赖关系 1直接,0间接[详细信息]
下载 总计4624人(过去30天内有16人)
评级 (尚未投票)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 可用文档[生成日志]
上次成功报告时间:2023-11-08[所有1个报告]

ihaskell-widgets-0.4.0.0自述文件

[返回包描述]

IHaskell-Widgets公司

此包实现ipython小部件在里面伊哈斯克尔。前端(javascript)由jupyter/ipython笔记本环境提供,而后端是在haskell中实现的。

要了解有关小部件消息传递协议的更多信息,请参阅消息规范.md.

有贡献的例子

如果您想贡献更多笔记本示例,请在示例/文件夹。在提交之前,请确保它们可以连续执行,并且然后使用以下命令从Nootebooks中删除输出:

jupyter nbconvert*.ipynb--到笔记本--就地--清除输出

要做的事情

  • 根据MsgSpec模式自动验证小部件的JSON实现
  • 为小部件创建集成测试
  • 使输出小部件捕获输出(问题:您必须获取输出显示位置的消息id)
  • 使布局小部件的值更加“Haskelian”:与其在运行时检查字符串是否有效,不如创建一些类型,以便在编译时进行检查
  • 创建可序列化的颜色数据类型,而不是使用也许是字符串
  • 重载setField,以便与一起使用梅贝斯或其他包装类型,而不必只是每次。
  • 添加一些“utils”工作:
    • 从文件创建媒体小部件
    • 从选择值获取所选标签

如何。。。

这是一个迷你指南,适用于希望更新到更新的小部件规范但没有深入项目的深处

添加新属性

如果要添加新属性,则必须:

  1. 在中创建新的单例单体.hs在类型内部数据字段.
  2. 按照模型中的指定写入字段的序列化密钥(请参见消息规范.md)在内部toKey(目标键)功能位于单体.hs
  3. 因为我们使用单吨吨库中,必须在中定义属性的别名通用.hs以便能够在运行时更轻松地使用它。
  4. 现在您必须指定字段的类型。编辑类型族字段类型类型.hs

向小部件添加属性

首先,您必须检查属性是仅用于一个小部件,还是来自一个公共类。你可以在ipywidget回购.

  • 如果只针对一个小部件:
    1. 编辑类型实例WidgetFields<WidgetNameType>=。。。类型.hs,将新字段添加到字段数组中。
    2. 修改mk<小工具名称>模块/小工具名称.hs,添加属性的默认值。如果小部件还没有任何属性,您可以检查如何在其他小部件上执行此操作。
  • 如果是普通类:
    1. 编辑type<ClassName>=。。。类型.hs
    2. 编辑默认<ClassName>Widget函数,添加该属性的默认值。

一些小部件在修改值时从前端接收消息(例如滑块、文本区域、按钮…)。您必须修改通信从类实例化的函数IHaskell小工具。您可以在以下位置找到示例:国际幻灯片.hs

常见问题解答

在ihaskell中使用小部件时,会遇到很多编译错误。如果你对Haskell不太熟悉,可能会有点难以理解,这是一个迷你指南,当你在Google中粘贴错误时(希望如此)会出现。

setField:没有实例。。。

您可能在尝试如下使用setField时遇到此错误:

<交互式>:1:1:错误:•(Data.Vinyl.Lens.RecElem)无实例数据。乙烯基。核心。可采收水平“Iaskell-widges-0.3.0.0:I询问。显示器。小工具。单体。索引“ihaskell-widgets-0.3.0.0:ihaskell。显示器。小工具。单体。索引'[]'[](数据.Vinyl.TypeLevel.RIndex“ihaskell-widgets-0.3.0.0:ihaskell.Display.widgets.Singletons.Index”[])由“setField”的使用引起•在表达式中:setField选择Index 0在“it”的方程式中:it=setField选择索引0

此错误意味着没有调用的字段索引对于这个特定的小部件。您可以在屏幕上显示所有使用的窗口小部件可用的字段属性小部件.

setField:无法将预期类型SField f与实际类型匹配

如果出现这样的错误,您可能忘记将字段名放在的第二个参数中setField(设置字段).

<交互式>:1:25:错误:•无法匹配预期的类型“ihaskell-widgets-0.3.0.0:ihaskell”。显示器。小工具。单体。实际类型为“[a0]”的SField f•在“setField”的第二个参数中,即“[苹果”、“桔子”、“梨”]”在表达式中:setField selectMultiple[“Apples”,“Oranges”,“Pears”]在“it”的等式中:it=setField selectMultiple[“苹果”,“橘子”,“梨”]•相关绑定包括::ihaskell-widgets-0.3.0.0:ihaskell。显示器。小工具。类型。FieldType f->IO()(绑定在<interactive>:1:1)