Size: a a a

2021 March 21

L

Lierdakil in Haskell
Maxim Koltsov
Хлс основан на ghci
Таки не совсем. Говорю как человек писавший патчи к ghc-mod (который потом перекочевал в haskell-ide-engine куски которого потом перекочевали в hls). Все они в конечном итоге используют ghc как библиотеку, но общего с ghci в основном это и только.
источник

L

Lierdakil in Haskell
[BRM]White Rabbit
Не вижу никакой разницы между атомом и вск, и то и то - в тупую текстовые редакторы, на которые можно навесить моды. Зато вторым мне привычно пользоваться, а первый я даже не скачивал.  В итоге вск смотрится выгоднее.
Я не то чтобы прямо агитирую. Атом всё-таки немного загибается и проблем там много. Но исторически сложилось что я сижу на нём и все свои плагины портировать на vscode мне не хочется. Поддержка хаскела в атоме в чём-то мне кажется лучше, но я же её в значительной мере и писал, поэтому я предвзятый, мне верить нельзя.
источник

L

Lierdakil in Haskell
Смысл моего комментария не в том что "айда все на атом", а что проект если небольшой можно и пересобрать чтобы ошибки увидеть.
источник

L

Lierdakil in Haskell
(а если большой можно оптимизацию выключить, без оптимизаций ghc очень быстро собирает)
источник

MK

Maxim Koltsov in Haskell
Хлс кстати запускает гхц с -fno-code или типа того, там только ренеймер и тайпчекер работают
источник

MK

Maxim Koltsov in Haskell
Без оптимизатора и генератора
источник

L

Lierdakil in Haskell
Maxim Koltsov
Хлс кстати запускает гхц с -fno-code или типа того, там только ренеймер и тайпчекер работают
Ну там руками запускаются ренеймер и тайпчекер из либы (если судить по тому как это было в hie, код hls я внимательно не читал). Но настроить тот же cabal-install чтобы он работал без кодогенератора нетривиально, а оптимизации выключаются одной строчкой -- причём разницы по времени компиляции не очень заметно, больше половины работает оптимизатор всё равно.
источник

AA

A64m AL256m qn<co... in Haskell
Lierdakil
Я не то чтобы прямо агитирую. Атом всё-таки немного загибается и проблем там много. Но исторически сложилось что я сижу на нём и все свои плагины портировать на vscode мне не хочется. Поддержка хаскела в атоме в чём-то мне кажется лучше, но я же её в значительной мере и писал, поэтому я предвзятый, мне верить нельзя.
когда я несколько лет назад перешел с атома на вс код, ваш плагин-то точно был сильно лучше чем все эти ужасные хаскеры которые тогда для вс кода были, но я замучался с атомом, тем что для него нормальный неглюкавый терминал так не сделали и т.д.
источник

ЗП

Зигохистоморфный Пре... in Haskell
A64m AL256m qn I0
когда я несколько лет назад перешел с атома на вс код, ваш плагин-то точно был сильно лучше чем все эти ужасные хаскеры которые тогда для вс кода были, но я замучался с атомом, тем что для него нормальный неглюкавый терминал так не сделали и т.д.
К мне вскод в разы больше нравится
источник

AA

A64m AL256m qn<co... in Haskell
не знаю насчет разов, но определенно лучше, не знаю как так вышло что не получилось примерно то же самое
источник

OS

Oleksandr Shyshko in Haskell
Jerzy Syrowiecki
выше подсказали именованую дырку: _a
не работает
```
{-# LANGUAGE AllowAmbiguousTypes, NamedWildCards, TypeApplications #-}

module Asd where

import           Control.Monad.ST  (ST)
import           Data.Array.IO     (IOUArray)
import           Data.Array.MArray (MArray)
import           Data.Array.ST     (STUArray)

z :: forall m s k v. (MArray s v m) => m v
z = undefined

j = z @(ST _s) @(STUArray _s) @Int @Bool


• Ambiguous type variables ‘_0’, ‘_1’ arising from a use of ‘z’
     prevents the constraint ‘(MArray
                                 (STUArray _0) Bool (ST _1))’ from being solved.
     Relevant bindings include
       j :: ST _1 Bool (bound at src/Asd.hs:13:1)
     Probable fix: use a type annotation to specify what ‘_0’,
                                                         ‘_1’ should be.
     These potential instance exist:
       instance MArray (STUArray s) Bool (ST s)
         -- Defined in ‘Data.Array.Base’
   • In the expression: z @(ST _s) @(STUArray _s) @Int @Bool
     In an equation for ‘j’: j = z @(ST _s) @(STUArray _s) @Int @Bool
  |
13 | j = z @(ST _s) @(STUArray _s) @Int @Bool
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

```
источник

к

кана in Haskell
A64m AL256m qn I0
как нельзя-то?
ну я попробовал как раз X @_a @_a и так нельзя, отсюда решил что нельзя
источник

AA

A64m AL256m qn<co... in Haskell
кана
ну я попробовал как раз X @_a @_a и так нельзя, отсюда решил что нельзя
а с прагмой наймед вайлдкардс работает? а то я не удивлюсь если в тайп апликейшонс все равно ченить не сработает
источник

OS

Oleksandr Shyshko in Haskell
A64m AL256m qn I0
а с прагмой наймед вайлдкардс работает? а то я не удивлюсь если в тайп апликейшонс все равно ченить не сработает
похоже, что не работает (выше пример)
источник

[

[BRM]White Rabbit in Haskell
Кто пользуется вскодом, можете подсказать, что происходит с табами? Те то 4 пробела, то 8 то 2
источник

[

[BRM]White Rabbit in Haskell
источник

IK

Ilya Kos in Haskell
Это настраивается
источник

IK

Ilya Kos in Haskell
Или в чем вопрос
источник

IK

Ilya Kos in Haskell
Он сам при открытии файла пытается определить
источник

[

[BRM]White Rabbit in Haskell
да вот у меня настройка вполне опрелённая, а он от файла к файлу гуляет
источник