跳转到主要内容

适用于Jupyter的Scheme内核,可以使用Python库

项目描述

# Calysto Scheme

您可以通过点击以下按钮尝试Calysto Scheme而无需安装任何东西

[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/Calysto/calysto_scheme/master?filepath=notebooks%2FReference%20Guide%20for%20Calysto%20Scheme.ipynb)

Calysto Scheme 是一种真正的Scheme编程语言,完全支持continuations,包括call/cc。它还可以使用所有Python库。还有一些扩展使其更有用(步进调试器、选择/失败、堆栈跟踪),或使其更好地与Python集成。有关使用Calysto Scheme的更多详细信息,请参阅

http://nbviewer.jupyter.org/github/Calysto/calysto_scheme/blob/master/notebooks/Reference%20Guide%20for%20Calysto%20Scheme.ipynb

在Jupyter笔记本中,因为 Calysto Scheme 使用 [MetaKernel](https://github.com/Calysto/metakernel/blob/master/README.rst),它有一套完全支持的“魔法”——用于额外功能的元命令。这包括并行运行Scheme。查看所有 [MetaKernel Magics](https://github.com/Calysto/metakernel/blob/master/metakernel/magics/README.md)。

Calysto Scheme是用Scheme编写的,然后翻译成Python(和其他后端)。整个功能都位于一个Python文件中: https://github.com/Calysto/calysto_scheme/blob/master/calysto_scheme/scheme.py 但是您可以轻松地安装它(见下文)。

Calysto Scheme 在使用

## 并行处理

要在并行中使用Calysto Scheme,请按照以下步骤操作:

  1. 确保已安装Python模块ipyparallel。在shell中,输入

` pip install ipyparallel `

  1. 要使笔记本中的扩展可用,在shell中,输入

` ipcluster nbextension enable `

  1. 要在本地IP地址上启动一个由10个节点组成的集群,在shell中,输入

` ipcluster start --n=10 --ip=192.168.1.108 `

  1. 在笔记本中从主内核(可以是任何元内核内核)初始化代码以使用10个节点,输入

` %parallel calysto_scheme CalystoScheme `

  1. 在笔记本中并行运行代码,输入

并行执行单行

` %px (+ 1 1) `

或并行执行整个单元格

` %%px (* cluster_rank cluster_rank) `

结果按cluster_rank顺序以Scheme向量的形式返回。因此,上述操作将产生以下结果

`scheme #10(0 1 4 9 16 25 36 49 64 81) ` 您可以通过访问变量_(单下划线)从主Scheme获取结果。

请注意,您可以使用变量cluster_rank来分割问题的部分,以便每个节点都在做不同的事情。

在上面的示例中,使用-e在主Scheme中评估代码。请注意,cluster_rank在主机机器上未定义,并且假设主机内核与并行机器相同。

完整的笔记本示例可以在此处找到:[Mandelbrot.ipynb](https://github.com/Calysto/metakernel/blob/master/examples/Mandelbrot.ipynb)

## 安装

确保您的系统已安装jupyter,如果您想使用qtconsole选项,还需要安装pyQtqtconsole

您可以使用Python3安装Calysto Scheme

` pip3 install --upgrade calysto-scheme --user python3 -m calysto_scheme install --user `

或在系统内核文件夹中使用

` sudo pip3 install --upgrade calysto-scheme sudo python3 -m calysto_scheme install `

您也可以使用-sys-prefix将安装到您的虚拟环境中。

将pip3/python3更改为使用不同的pip或Python。使用的Python版本将决定Calysto Scheme如何运行。

在Jupyter控制台、qtconsole或笔记本中使用它

` jupyter console --kernel calysto_scheme jupyter qtconsole --kernel calysto_scheme jupyter notebook `

您也可以仅使用Python程序,但它没有花哨的读取-评估-打印循环。只需运行

` python calysto_scheme/scheme.py `

## 需求

  • Python3

  • metakernel(自动安装)

Calysto Scheme还可以在PyPy下运行以提高性能。

## 特点

Calysto Scheme支持

  • 延续性

  • 使用所有Python库

  • choose/fail - 内置fail和重试

  • 生成类似于Python的堆栈跟踪(带有行号)

  • 测试套件

计划

  • 面向对象类定义和实例创建

  • 完整的Scheme函数(现在可以回退到Python)

限制

  • 在CPython上运行速度较慢;尝试PyPy

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

本版本没有提供源分布文件。请参阅生成分布存档的教程

构建分布

calysto_scheme-1.4.8-py2.py3-none-any.whl (313.2 kB 查看散列值)

上传时间 Python 2 Python 3