Alexander
но если я весь результат использую
Y
Спасибки
Anonymous
у меня такое чувство, чти вы ищете что-то вроде NLP, а там питон
Y
Да, это смежная с вычислительной семантикой область
Alexander
а с wai/warp можно ж стримово входящий файл посланный в multipart form-data обрабатывать?
Alexander
(мне почему-то кажется что нельзя, но мало ли)
IC
а с wai/warp можно ж стримово входящий файл посланный в multipart form-data обрабатывать?
requestBody > Get the next chunk of the body. Returns empty when the body is fully consumed.
Alexander
я не хочу руками multipart разбирать
Leonid 🦇
Есть же сноймановский парсер
Leonid 🦇
Он так себе
Leonid 🦇
http://hackage.haskell.org/package/wai-extra-3.0.24.3/docs/Network-Wai-Parse.html
Влод
Меня интересует прикладное использование хаскелла в формализации естественного языка для искусственного интеллекта, кто-то может дать наводку на эти проекты, возможно с открытым кодом?
прикладное ... блаблабла ... формализация естественного языка? ты уверен что человечество на том этапе развития когда эта задача стала прикладной?
Влод
+
Влод
были смешные попытки (на лиспе, тип сделать научные работы про то как познание работает у человека и пытаться сделать также у программы и ещё чтоб визуально это напоминало слова в пейпере)
Влод
потом были серьезные формальные грамматики (не имеющие отношения к прикладному nlp нашего времени) у людей были проблемы и решения для несуществующих задач теоркат hott там имеет место быть но не языки программирования
Anonymous
у меня сложилось впечатление, что в книжке "Categorial Grammar: Logical Syntax, Semantics, and Processing" сделана попытка извлечения "семантики" из бытовых предложений.
Y
Ну, попытки формализации до появления программирования были в нише математической логики, потом вектор сменился с логического анализа на магистраль анализа обыденного языки в нестрогом виде образца куайна, патнэма, стросона и т.д. я плохо разбираюсь в инновациях в этой области, но исчисление синтаксиса после показа ложности теории Хомского вроде как стало какой-то человекоразмерной целью
Y
Конечно, речь не идёт об утопии полной формализации, сам язык в этой утопии не работает, он стихиен
Влод
не уверен но кажется ваши утверждения ведут беседу в разные стороны
Влод
редко речь заходит про семантику естественной речи
Влод
ну более высокоуровневая и прикладная задача
Влод
возможно менее интересующая людей из мира логики
Alexander
@chshersh у меня вам там подарок будет в PR скоро
Alexander
wtf почему у даблов разный fingerprint!
Dmitrii
@chshersh у меня вам там подарок будет в PR скоро
Еще бы старые успеть поревьювить...
Alexander
ничего этот на старые зависит
Alexander
правда я не до конца доделал, новый insert все же тормозной еще
Felixitur
Подскажите, пожалуйста, есть ли транслятор Haskell в C#?
Alexander
маловероятно, что есть неигрушечный транслятор Haskell в C#
Cheese
транслировать ленивый язык в энергичный вообще сложновато
Cheese
пиши на F#, если начальство заставляет иметь дело с дотнетом
Felixitur
Спасибо.
Anonymous
@fakkafushka будет жить. Поприветствуем!
Cheese
Подскажите, пожалуйста, есть ли транслятор Haskell в C#?
если прямо очень нужно соединить C# и Хаскель, можно это попробовать провернуть через FFI или IPC
A64m
clr-inline {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} module Main where import Clr.Inline [fsharp| open System.Windows.Forms |] main = do startClr let text = "Hello from Haskell" [fsharp| let form = new Form(Text=$text:string) let button = new Button(Text="Click Me!", Dock=DockStyle.Fill) button.Click.Add(fun _ -> MessageBox.Show($text, "Hey!") |> ignore) form.Controls.Add(button) Application.Run(form) |]
Kirill
а чегож не inline-clr или типа винда, там всё задом наперёд?
A64m
автор, видимо. любит продемонстрировать оригинальность у него и репа на гитлабе
Anonymous
@Felixitur https://rise4fun.com/dafny есть ещё.
Anonymous
Но оно не серьезное, конечно.
Felixitur
Спасибо.
Ю ли я? 🤔
Тут есть активные кодворщики? Прошу хинт к https://www.codewars.com/kata/5b1bdc2bccef79e948000086 , я застрял на instance (Factor f, Factor g) => Factor (Sum f g) с компанией
Alexander
я туда года 2 не заходил
Ю ли я? 🤔
Как понимаю, к этому моменту у нас есть factor :: Count c -> Count (f c) и factor :: Count c -> Count (g c), и нужно получить factor :: Count c -> Count (Sum f g c). Проблема в том, что c в инстансе нигде не фигурирует, и если в лоб записать, оно как минимум требует InstanceSigs
Ю ли я? 🤔
(хм, как инлайновые кодовставки делать?)
Dmitry
Три `
Ю ли я? 🤔
Да, делал три `, но они вот на отдельной строке выходят
Dmitry
Ну у меня Получается вроде
Ю ли я? 🤔
Хм, кажется, это косяк настольного Телеграма, в мобильном всё нормально в строчку отображается.
Dmitry
я туда года 2 не заходил
Всё решил? Или надоело?
Alexander
надоело
Alexander
у меня в списке что порешать пачка заданий висит
Ю ли я? 🤔
Я там случайно нашёл @int_index (и подписался на всякий), но он тоже джва года не заходил
Ю ли я? 🤔
В итоге сделал factor c = coerceC $ liftC2 (+) (factor @f c) (factor @g c), тесты прошло. Нельзя ли теперь без этих расширений?
Ю ли я? 🤔
О, спасибо, покурю!
Cheese
но с расширениями-то лучше
Ю ли я? 🤔
Наверное, у меня превратное предубеждение против них :)
кана
они же специально для этого
Ю ли я? 🤔
(хотя и понимаю, что нынче без них никуда)
кана
чтобы не делать костыли вроде проксей
A64m
не нынче, всегда
кана
в задании открытым текстом
Ю ли я? 🤔
Это да, но ещё приходится InstanceSigs, про которые в задании нетъ
Dmitrii
Это да, но ещё приходится InstanceSigs, про которые в задании нетъ
InstanceSigs — очень хорошее расширение. Я всем рекомендую, и сам в своих пакетах использую. Очень помогает в тайплкассах видеть сигнатуры инстансов. Когда преподавал Haskell, то в обязательно порядке заставлял это расширение использование. Очень помогает, когда в качестве ДЗ надо писать инстансы Foldable, Traversable, Monad и так далее
Vladislav
Мне больше нравится отдельно мономорфную функцию определитьё
Ю ли я? 🤔
{-# LANGUAGE ScopedTypeVariables #-} sumFactorImpl :: (forall f g . Factor f, Factor g) => Count c -> Count (Sum f g c) sumFactorImpl c = coerceC $ liftC2 (+) (factor @f c) (factor @g c) error: Not in scope: type variable ‘f’ error: Not in scope: type variable ‘g’ ЧЯДНТ?
Vladislav
То есть не instance Functor [] where fmap :: (a -> b) -> [a] -> [b] fmap _ [] = [] fmap f (x:xs) = f x : fmap f xs а просто instance Functor [] where fmap = map
кана
а то у тебя какие-то универсальые констрейты
кана
типа только если для любого f есть инстанс Factor, то можно вызвать функцию
Vladislav
QuantifiedConstraints
Vladislav
Только все равно скобок не хватает
Ю ли я? 🤔
А explicit forall для оскопления типопеременных всегда надо писать?
кана
instance Countable Void where count = Count 0 instance Countable () where count = Count 1 instance Countable Bool where count = Count 2 instance Countable Nat where count = Count undefined а какой каунт указывать в Nat нужно-то?
кана
вроде недавно видел какой-то пропосал, чтобы не обязательно было
Ю ли я? 🤔
infinity = S infinity