Size: a a a

2021 February 06

JS

Jerzy Syrowiecki in Haskell Start
дописал багрепорт https://github.com/snoyberg/http-client/issues/449
источник

JS

Jerzy Syrowiecki in Haskell Start
@AvisHermetis ^ если интересно
источник

S

Sergey in Haskell Start
Jerzy Syrowiecki
http-client работает, если присесть пару раз:

import qualified Data.ByteString.Lazy    as BSL
import           Data.Default
import           Network.Connection
import           Network.HTTP.Client
import           Network.HTTP.Client.TLS

main :: IO ()
main = do
 manager <-
   newTlsManagerWith $
     mkManagerSettings def $ Just $ SockSettingsSimple "localhost" 9150
 request <- parseRequest "https://www.linkedin.com/"
 response <- httpLbs request manager
 print $ BSL.take 1000 $ responseBody response
Ура, так работает! Огроменное спасибо за помощь, теперь буду учиться параллелить запросы )
источник

JS

Jerzy Syrowiecki in Haskell Start
Sergey
Ура, так работает! Огроменное спасибо за помощь, теперь буду учиться параллелить запросы )
forConcurrently
источник

JS

Jerzy Syrowiecki in Haskell Start
или haxl (это мощная штука, но сложная)
источник

S

Sergey in Haskell Start
Я сейчас читаю "Параллельное программирование на языке Haskell", попробую оттуда сначала пойти. Кажется, там что-то более базовое и  низкоуровневое?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Там есть и низкоуровневое и среднеуровневое
источник
2021 February 07

S

Sergey in Haskell Start
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.ByteString as BS
import qualified Data.ByteString.UTF8 as BS8
main = do
   let str1 = "Hello! Привет, мир!"::String
   let str2 = "Hello! Привет, мир!"::BS.ByteString
   let str3 = "Hello! Привет, мир!"::BS8.ByteString
   print str1
   print str2
   print str3

выводит
"Hello! \1055\1088\1080\1074\1077\1090, \1084\1080\1088!"
"Hello! \US@825B, <8@!"
"Hello! \US@825B, <8@!"

Как работать с русским текстом?
источник

к

кана in Haskell Start
putStrLn
источник

к

кана in Haskell Start
print = putStrLn . show

show убирает кириллицу, и в принципе не нужен, когда строки выводятся
источник

S

Sergey in Haskell Start
Спасибо! А для ByteString?
источник

к

кана in Haskell Start
источник

к

кана in Haskell Start
Data.ByteString.putStr (encodeUtf8 ("привет\n" :: Text) :: ByteString)
> привет
источник

к

кана in Haskell Start
> BS.unpack (encodeUtf8 "привет")
[208,191,209,128,208,184,208,178,208,181,209,130]
> BS.unpack "привет"
[63,64,56,50,53,66]



encodeUtf8 из Data.Text.Encoding
источник

S

Sergey in Haskell Start
Спасибо!
источник

AP

Aleksei (astynax) Pi... in Haskell Start
print, это отладочный вывод. Который должен работать в любом терминале, в том числе и в таком, который не поддерживает Unicode. Вот Show для символов за пределами ASCII и выдаёт их коды.
источник

AP

Aleksei (astynax) Pi... in Haskell Start
(Show — способ сделать упомянутый отладочный вывод для поддерживаемых типов)
источник

12

1 2 in Haskell Start
Что это за запись, подскажите пожалуйста ('a' : )
источник

ВЩ

Взщз Щщщхш in Haskell Start
1 2
Что это за запись, подскажите пожалуйста ('a' : )
Это сечение оператора :. (1 +) <=> (\x -> 1 + x), точно так же ('a' :) <=> (\chars -> 'a' : chars)
источник

ВЩ

Взщз Щщщхш in Haskell Start
можно попробовать на каком-нибудь подходящем по типу значении, например, ('a' :) "bc"
источник