Hy - это слой Python <--> Lisp. Это помогает улучшить работу и позволяет Python и варианту Hy lisp хорошо играть вместе.
1 ответ

Как оценить случай cond и вернуть объект функции?

Получил TypeError: Не знаю, как обернуть : . в 0x000001B879FD3D08> когда беги ;a fn object (setv a_fn (fn [x] (+ 1 x))) ;a mock predicator (setv predicator True) ;inject predicator and a_fn into a (cond ..) (setv cond_expr `(cond [(~predicator) [~a_…
03 авг '18 в 14:57
0 ответов

Многопроцессорная обработка в Hy lang

Можно ли запускать многопроцессорные коды в Hy? Следующий код приводит к ошибке (import [multiprocessing :as mp]) (setv pool (mp.Pool 5)) (defn f [x] (print x)) (defmain [] (pool.map f (range 5 20))) AttributeError: 'NoneType' object has no attribut…
1 ответ

Создание объектов в Hy

Я просмотрел всю документацию Hy, но нигде не могу найти способ создания объектов. Более конкретно, я пытаюсь следовать этому уроку PySide, но конвертирую каждую команду в Hy, и я не уверен, как это сделать. app = QApplication(sys.argv) в Hy. Буду п…
02 окт '14 в 09:59
1 ответ

Как напечатать HyExpression в Python?

Как напечатать объект HyExpression как HyExpression([ HyExpression([ HySymbol('/'), HyInteger(2)]), HyExpression([ HyString('ceil')])]) как '((/ 2) ("ceil"))' в консоли?
02 авг '18 в 08:42
1 ответ

Shebangs в управляемых средах Конда

Я пытаюсь написать программу на языке Hy и запустить ее в соответствии с инструкциями на странице быстрого запуска в документации. Поэтому я установил Hy с помощью pip из репозитория GitHub в соответствии с документами, затем добавил права доступа к…
13 дек '16 в 22:47
2 ответа

Что эквивалентно `если x в y` в hy?

Я не могу найти встроенный (или эквивалентный) в Hy, который позволяет мне проверять что-то без обработки исключения Я хотел бы написать что-то вроде: (setv foo {:a 1 :b 2}) (if (in foo :c) (foo) (boo)) (:c foo) а также (get foo :c) оба приводят к и…
14 янв '19 в 08:22
1 ответ

Использование numpy.nditer в Hy

В python следующий код выполняет итерацию массива numpy (цикл for), и значения массива numpy изменяются: import numpy a08_1 = numpy.arange(8).astype(numpy.uint8) # a08_1: array([0, 1, 2, 3, 4, 5, 6, 7], dtype=uint8) for x in numpy.nditer(a08_1, op_f…
12 сен '17 в 03:01
1 ответ

Почему понимание списка не генерирует список кортежей?

Я пытаюсь сделать макрос для определения ctypes.Structure. Макрос указан следующим образом: (defmacro struct [name fields] `(defclass ~name [ctypes.Structure] [-fields- ~(lfor i (range 0 (len fields) 2) (tuple [ (str (get fields (+ i 1))) (get field…
13 ноя '18 в 00:39
1 ответ

Hylang Map Destructuring

Hylang поддерживает деструктуризацию карты, как в clojure? Например: https://gist.github.com/john2x/e1dca953548bfdfb9844
26 апр '18 в 22:24
1 ответ

python3/hy - при использовании hy.eval импорт и глобальные переменные не разделяются

Я понимаю как пользоваться hy.read_str а также hy.eval от питона, чтобы оценить hy выражение изнутри питона. Тем не менее, когда я использую эту методологию, импорт и глобальные hy а также python сред. Рассмотрим этот пример: import hy def hyeval(x=…
22 сен '17 в 13:52
1 ответ

Как я могу создать и выполнить функцию / метод во время работы скрипта?

Часть скрипта, которую я делаю, требует, чтобы новые функции были определены и доступны во время выполнения. Функция определяет ОК, но я получаю ошибку, когда пытаюсь ее использовать: (import io) (defn exec-code [str] (eval (apply read [] {"from_fil…
31 янв '16 в 21:39
1 ответ

Используйте repl для Hy в Emacs

Я успешно установил hy-mode с https://github.com/hylang/hy-mode. Я теперь могу открыть .hy файл в Emacs и имеет подсветку синтаксиса, и редактирование с paredit это радость Я, однако, не знаю, как начать REPL. В нижней части readme github написано: …
26 авг '13 в 08:46
1 ответ

Как передать именованные аргументы в функцию Python из Hy

Я пытаюсь использовать функцию Python с именованными аргументами из Hy. Я также использую библиотеку NLTK. В питоне я бы сделал что-то подобное from nltk.corpus import brown brown.words(categories='news') чтобы получить список слов в категории "ново…
14 сен '16 в 03:30
1 ответ

Как изменить имя тега XML в Hy?

Это мой первый пост здесь... Я пытаюсь изменить элемент XML с помощью присваивания в Hy (работает на Python 3). Когда я пытаюсь запустить фрагмент кода: (setv tco (BeautifulSoup "&lt;meek/&gt;" 'xml)) (setv (. tco meek name) "defl") (print (. tco me…
30 янв '16 в 04:37
0 ответов

Как загрузить пакет Hy в zipapp?

У меня есть скрипт Python (в качестве точки входа), библиотека Hy (просто добавить два столбца) и файл входных данных: $ cat add_cols/app.py import hy import sys from mylib import add2col def main(): inp = sys.argv[1] out = sys.argv[2] print(f'read …
23 янв '19 в 07:51
1 ответ

Как вызвать переменную функцию с некоторыми параметрами перед переменным параметром, используя hy?

Я пытаюсь написать что-то похожее на: @classmethod def write(cls, records, values, *args): return super(Hello, cls).write(records, values, *args) Но у меня есть проблемы с передачей *args обратно. Я пытался использовать apply (но не могу передать за…
17 янв '18 в 07:14
1 ответ

Hylang заменить несколько слов

Я хотел бы выполнить несколько операций замены на строку, в Hylang Учитывая, что Hy очень похож на Python, я нашел соответствующее решение на Python заменить несколько строк # python def replace(s, repls): reduce(lambda a, kv: a.replace(*kv), repls,…
08 окт '15 в 12:36
1 ответ

Генерация кода Python с помощью макросов Hy

Я пытаюсь сгенерировать некоторый код Python из Hy. Как это сделать лучше? Я пробовал несколько подходов. Один с макросом: (defmacro make-vars [data] (setv res '()) (for [element data] (setv varname (HySymbol (+ "var" (str element)))) (setv res (con…
02 июн '17 в 16:52
1 ответ

Запуск Джанго в Хи

Я пишу веб-сервер Django, используя Hy, диалект Lisp, который компилируется в Python ast. Я был в состоянии написать все на Hy, кроме конкретных .py файлы, которые Django ищет автоматически. myproject/settings.py myproject/urls.py app/management/com…
24 май '18 в 03:41
1 ответ

Наследование и создание экземпляра подтипа typing.NamedTuple в HyLang

Я пытаюсь использовать Hy, это диалект Lisp, построенный поверх Python. Я попытался запустить следующее, но, как и ожидалось, я получаю AttributeError: Cannot overwrite NamedTuple attribute __init__, (defclass Key [NamedTuple] ;; Simple container fo…
10 авг '17 в 17:57