问题标签 [hy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3581 浏览

python - conda 托管环境中的 Shebangs

我正在尝试在 Hy 中编写一个程序并按照文档中快速入门页面上的说明运行它。

因此,我根据文档使用 GitHub 存储库中的 pip 安装了 Hy,然后使用chmod +x myfile.hy.

为了管理我的 Python 环境,我使用 Anaconda 的 conda,而不是 virtualenv。因此,shebang#! /usr/bin/env hy对我不起作用,因为 conda envs 位于不同的目录中。从conda info --envs我看到他们的目录是

现在尝试使用#! /home/myname/.conda/envs/myenv hybash 运行脚本会引发bad interpreter: Permission denied错误。

在这种情况下,shebangs 应该指向哪里?

0 投票
2 回答
89 浏览

lisp - 为什么我的 hylang 程序解析失败?

我写了一个解析日志的小 hylang 程序。但是,当我尝试评估它时,我收到以下错误:

文件“”,第 8 行,第 38 列

有问题的函数(单独评估时也会出错)如下:

据我所知,这是平衡的表达,所有的括号都在他们的位置。为什么词法分析器会失败?

我的程序的全文在这里:pastebin

0 投票
1 回答
1267 浏览

python - 使用 Hy 宏生成 Python 代码

我正在尝试从 Hy 生成一些 python 代码。怎么做得更好?

我尝试了几种方法。一个是宏:

然后在捕获宏扩展后,我打印代码的 python 反汇编。

但是,似乎使用宏我无法传递变量,因此:

定义varv, varn,vara等等,而不是var1, var2, var3. 似乎可以通过以下方式进行正确的调用:

但这似乎过于复杂。

我遇到的另一个问题是 的必要性HySymbol,这是一个很大的惊喜。但是当我尝试第二种方法时,我真的受到了伤害,我创建了一个返回引用形式的函数:

该函数采用在 python 中如下所示的元数据:

并获取具有以下形式的类列表:

它需要大量使用 hy 的内部类,而我无法正确表示 True 和 False,而是求助于HyInteger(1)and 。HyInteger(0)

为了从此函数中获取 python 代码,我通过disassemble.

总结一下:

  1. 从 Hy 生成 python 代码的最佳方法是什么?
  2. True 和 False 的内部表示是什么?
  3. 可以调用一个处理其参数并从宏返回带引号的 Hy 形式的函数吗?如何?
0 投票
1 回答
93 浏览

hy - 奇怪的 HyLang 点符号行为

为什么以下工作:

...但是(def session (.configure (sessionmaker) :bind engine))导致我的 Hy 应用程序抛出一个NoneType TypeError?

0 投票
1 回答
535 浏览

python - 在 HyLang 中继承和实例化 typing.NamedTuple 的子类型

我正在尝试使用 Hy,它是一种建立在 Python 之上的 Lisp 方言。

我已经尝试运行以下命令,但是,正如预期的那样,我得到了一个AttributeError: Cannot overwrite NamedTuple attribute __init__.

另一方面,我不知道使用哪种语法来定义类中的字段变量。我尝试了以下方法,但它引发了NameError: name 'KEY' is not defined.

那么我该如何在 Lispy/Python 类中设置字段变量呢?

0 投票
1 回答
204 浏览

python - 在 Hy 中使用 numpy.nditer

在 python 中,以下代码迭代了一个 numpy 数组(for 循环),并且 numpy 数组的值发生了变化:

是否有可能在 Hy 中做类似的事情?我可以使用 (numpy.nditer a08_1) 创建迭代器,但我不知道如何遵循。

谢谢。

0 投票
1 回答
224 浏览

python - python3/hy - 在 python 中评估 hy 表达式?

我知道如何将hy模块导入 python。我所要做的就是创建一个something.hy包含hy代码的文件,然后执行以下操作...

但是,我无法弄清楚如何在 python 中评估包含hy代码的字符串。例如 ...

或者这个例子......

在 python 中使用时hy,有没有办法以这种方式评估字符串?

0 投票
1 回答
104 浏览

python - python3/hy - 使用 hy.eval 时,导入和全局变量不共享

我了解如何使用hy.read_strhy.eval从 python 来评估 python 中的hy表达式。hy但是,当我使用这种方法时,导入和全局变量不会在andpython环境之间共享。考虑这个例子:

这打印...

即使我执行以下操作,它也会产生相同的异常......

我必须datetime在传递给我的hyeval函数的字符串中显式导入...

这会正确打印以下内容...

如果我通过字符串重新调用调用((. datetime datetime now)),我必须继续(import datetime)通过(do ...)块重复调用。

从 python 中调用字符串时,有什么方法hy可以在连续调用之间记住导入和全局变量hy.read_str/hy.eval,或者在通过调用字符串时可以识别 python 全局变量和导入hy

0 投票
1 回答
97 浏览

hy - 如何在使用hy的可变参数之前调用带有一些参数的可变参数函数?

我正在尝试编写类似于以下内容的内容:

但是我在传递 *args 时遇到了问题。我尝试使用 apply (但无法传递记录和值)。我也尝试将 apply 与 partial 一起使用,但没有成功。

当前在 hylang 中不起作用的代码:

在clojure中,我通常会写:

但它似乎适用于 hy 不支持 *args 之前的参数。

如何在 hy 中编写原始 python 代码?

0 投票
1 回答
235 浏览

destructuring - Hylang 地图解构

hylang 是否支持 clojure 中的地图解构?

例如:https ://gist.github.com/john2x/e1dca953548bfdfb9844#maps