Vinyl - это общее решение проблемы записей в Haskell, использующее строки уровня типа и другие современные функции GHC, включая статическую структурную типизацию (с отношением подтипов) и автоматические линзы полиморфизма строк.
2 ответа

Глоток винила ftp - как использовать чистую функцию?

vinyl-ftp пакет имеет функцию clean() но я не уверен, как правильно его использовать. Мне необходимо: получить все файлы из моего build папка поместите их в целевую папку на моем FTP-сервере чистые файлы, если они не доступны локально У меня есть сл…
13 янв '17 в 16:21
2 ответа

Проблемы с ISubset в виниле

У меня есть следующий код: type Drawable = '["object" ::: Object, "transform" ::: M44 GL.GLfloat] objXfrm :: "transform" ::: M44 GL.GLfloat objXfrm = Field objRec :: "object" ::: Object objRec = Field drawObject :: (Drawable `ISubset` a) => M44 G…
19 фев '14 в 04:30
1 ответ

Vinyl: rtraverse с функцией, требующей ограничения, общего для всех полей

Я построил простой пример виниловой пластинки. Во-первых, некоторые языковые прагмы и импорт: {-# LANGUAGE DataKinds, TypeOperators #-} import Data.Vinyl import Data.Vinyl.Functor import Control.Applicative фактический пример (для простоты он исполь…
05 апр '15 в 14:03
2 ответа

Задание Gulp завершается без ошибок, но файл не сохраняется в месте назначения

Я застрял в какой-то тривиальной проблеме и не могу понять это. вот сценарий: Я использую Gulp Task для конвертации моего html шаблоны для javascript с помощью gulp-html2js Моя среда Node v6.9.1, gulp 3.9.1, Windows 7 вот gulpfile.js var gulp = requ…
08 ноя '16 в 10:47
1 ответ

Модуль принимает только 8/16 файлов

В настоящее время я работаю с модулем throught2, чтобы написать плагин gulp для замены чего-либо в буфере, ниже приведена его упрощенная версия module.exports = function(replaceData: DataChange | DataChange[]) { let count = 0; return through.obj(fun…
30 июн '17 в 16:27
1 ответ

Почему винил.isVinyl() возвращает false для файлов винила, испускаемых gulp?

Я изучаю исходный код gulp и попытался написать плагин gulp. Теперь я чего-то не понимаю. Это мой код плагина ниже: module.exports = function(){ return through2.obj(function(file,encode,callback){ console.log(vinyl.isVinyl(file));//false console.log…
25 авг '16 в 16:01
1 ответ

Как process.stdin может быть использован в качестве отправной точки для задания gulp?

Я использую gulp для преобразования SCSS в код CSS с помощью плагина gulp-sass. Это все работает нормально, но я также хочу использовать gulp для получения ввода (код SCSS) из канала Unix (т.е. чтения process.stdin) и потреблять это и передавать пот…
15 янв '16 в 15:05
1 ответ

Синоним шаблона связывается не так, как обычный шаблон

Функция f не проверяет тип в следующем коде, который использует синглтоны с Frames и Vinyl: f :: forall rs1 rs2. SList rs1 -> Frame (Record rs1) -> Int f (OnlyRecord s1 t1) df1 = broadcast (*) (rhead <$> df1) pattern OnlyRecord :: Sing s…
30 ноя '17 в 02:04
0 ответов

Фильтровать виниловые записи по типу

Используя виниловую библиотеку, есть ли способ отфильтровать набор записей по их типу или какому-либо другому свойству? Я хочу быть в состоянии смешать значения шейдерных униформ с другими свойствами моих объектов и позже извлечь их для вызова Graph…
04 мар '14 в 04:42
2 ответа

Как использовать список объектов в качестве исходного потока gulp

Я знаю, что для правильной работы gulp требуется поток исходного винила, но есть ли простой способ использовать уже существующий виниловый файл или объект json вместо хорошо известного gulp.src, который принимает только глобусы?
01 апр '17 в 13:14
1 ответ

Винил ftp Невозможно создать файл, если этот файл уже существует

Я получаю сообщение об ошибке при попытке развернуть мои материалы с помощью [vinyl ftp]. вот журнал: [12:16:46] MLSD / [12:16:46] LIST /httpdocs/config [12:16:46] LIST / [12:16:46] MLSD /httpdocs/config/Lang [12:16:46] MKDIR /httpdocs/config events…
21 апр '16 в 10:22
1 ответ

Мой плагин gulp с помощью through2 возвращает файл в странном XML-подобном формате

Я пишу плагин для Gulp, и для обработки файла мне нужно получить его полный путь. Я использовал через пакет 2, затем подготовил processFile(file) функция, но в качестве аргумента от through2 он получает файл в странном XML-подобном формате вместо об…
11 фев '16 в 15:35
1 ответ

Прокси, символы уровня типа и JSON

Я пытаюсь добавить автоматический анализ JSON в Data.Vinyl Вот пример FromJSON для записей с ровно одним элементом. Это почти работает, но я не могу удовлетворить ограничение KnownSymbol, похоже, оно автоматически генерирует новую переменную типа дл…
11 мар '14 в 07:51
0 ответов

Винил-фтп не загружает существующую папку

Мой код: var conn = ftp.create(config['tmt_preview']); gulp.src('./dist/**/*.*', {base: '.', buffer: false}) .pipe(conn.newerOrDifferentSize('/project')) .pipe(conn.dest('/project')); Консольные выходы: [15:40:04] Starting 'tmt_preview'... [15:40:04…
04 май '15 в 08:05
1 ответ

Как я могу ограничить виниловые / композитные записи?

У меня есть расширяемая виниловая / композитная запись (похожая на HList, Frames...), и я хотел бы генерировать кортежи ключей / значений, такие как tuplify '[String :-> Whatevs, ...] :: [(String, String)] Это на удивление сложно. оригинальный см…
03 авг '17 в 02:07
1 ответ

Винил: создайте псевдонимы типа записи

В виниле я могу определить псевдоним типа для записи, чтобы упростить экспорт в другие модули: import Data.Vinyl name = Field :: "name" ::: String age = Field :: "age" ::: Int type Person = ["name" ::: String, "age" ::: Int] Теперь предположим, что …
10 янв '14 в 11:06
1 ответ

Ослабление ограничения RecAll винила через привязку

В виниловой библиотеке есть RecAll семейство типов, которое позволяет нам задавать вопрос о том, что частично примененное ограничение верно для каждого типа в списке уровня типа. Например, мы можем написать это: myShowFunc :: RecAll f rs Show => …
27 апр '15 в 20:17
1 ответ

Gulp vinyl ftp - Удалить локальные удаленные файлы

Я использую винил FTP для развертывания моего проекта на удаленном сервере. Нет проблем с загрузкой файлов, но я также хотел бы удалить файлы, которых больше нет в локальной папке. Пример: Локальная папка ./ fileA fileB fileC Удаленная папка: ./ fil…
31 авг '15 в 08:27
1 ответ

Haskell: ссылка на тип значения во время компиляции

Мне интересно, есть ли хороший способ ссылаться на типы значений без явного наложения их с помощью type в коде (не во время выполнения - здесь не происходит reification). Возьмите следующий код (используя Data.Vinyl): {-# LANGUAGE DataKinds, TypeOpe…
29 янв '14 в 17:10
1 ответ

Как обобщить Opaleye Query в Haskell (используя винил)?

У меня вопрос между огромными баннерами в блоке кода ниже. Простите за дамп кода, это все вставлено сюда для всех, кто хочет копировать, и этот код работает как положено, хотя это немного странно. Обратите внимание на последние две строки, они печат…
02 июн '17 в 19:04