← All posts tagged code

segfault
ненависть code пидорство nix-lang
Вот в никсе применение функций через пробел, как в хаскеле, но и элементы списка тоже через пробел (запятых нет), в итоге код вида

    nixpkgs.overlays = [
      import ../overlays/nixpkgs-stackage
    ] ;

Падает с ошибкой, ну ладно бы просто с ошибкой, она выглядит вот так.

error: infinite recursion encountered, at undefined position (use '--show-trace' to show detailed location information) building Nix... error: infinite recursion encountered, at undefined position (use '--show-trace' to show detailed location information) building the system configuration... error: infinite recursion encountered, at undefined position (use '--show-trace' to show detailed location information) 

И после этого ошибки типизации в хаскеле не понятные? Да я ебал.
segfault
WTF code nix-lang
nix-repl> a = { outPath = /out/path; }

nix-repl> a + "azaza"
"/out/pathazaza"

nix-repl> b = { outFath = /out/path; }

nix-repl> b + "azaza"
error: cannot coerce a set to a string, at (string):1:1

Напоминает видосы про Javascript WTF
segfault
code Haskell
Обнаружен древний код на хаскеле, исполнение которого дарует секрет вечной жизни

Prelude> data Data = Data Data
Prelude> let d = Data d
Prelude> show d
segfault
code 26
octave:3> a = 8000 / 12380664
a =    6.4617e-04
octave:4> b = 300 / 720575
b =    4.1633e-04
octave:5> a / b
ans =  1.5520

Интересный факт, население Москвы в среднем в 1.552 раза тупее населения Тюмени.
segfault
? code Haskell
Тупой вопрос: есть готовое, чтобы заменить имя файла вида

~/file/path

на

/home/user/file/path

Чтобы правильно, с учётом всех подводных камней и самому не писать?
segfault
JavaScript code Haskell глобально надёжно
А я тут хаскельным квикчеком нашёл весёлый кейс

> d = new Date(2006, 02, 26, 02, 28, 53);
Sun Mar 26 2006 03:28:53 GMT+0600 (+06)
> d = new Date(2006, 02, 26, 0, 0, 0);
Sun Mar 26 2006 00:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 1, 0, 0);
Sun Mar 26 2006 01:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 2, 0, 0);
Sun Mar 26 2006 03:00:00 GMT+0600 (+06)
> d.getHours()
3

Работает в последнем хромаче, в фоксе, наоборот, час становится на 1 меньше. Гуголь чет ни чего не говорит по этому поводу. Я первооткрыватель?
segfault
? DNS code
% nslookup github.com
;; Got SERVFAIL reply from 8.8.8.8, trying next server
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find github.com: SERVFAIL

Регуряно испытваю проблемы с днс, в чем может быть проблема? Сначал думал на нетворкманагер, но Got SERVFAIL reply from 8.8.8.8, это вообще возможно?
segfault
code Haskell мудак долбоёб
reactSelect_
  :: (ToJSON a, CallbackFunction handler (SelectOption a -> handler))
  => SelectParameters handler a
  -> ReactElementM handler ()
reactSelect_ opts = foreign_ "Select" opts mempty
  where
    opts :: [PropertyOrHandler handler]
    opts = [callback "onChange" (_ opts)]


-- Вот что значит начать изучать джяваскрипт, пол часа бился, не мог понять, почему opts имеет не то тип, который я ожидал.
segfault
code говно снойман
Невероятные приключения единиц измерения:

-- | Absolute size unit convertion rate to centimeters.
absoluteUnitRate :: AbsoluteUnit -> Rational
absoluteUnitRate Centimeter = 1
absoluteUnitRate Inch = 2.54
absoluteUnitRate Millimeter = 0.1
absoluteUnitRate Pica = 12 * absoluteUnitRate Point
absoluteUnitRate Point = 1 / 72 * absoluteUnitRate Inch -- ну охуеть теперь!
segfault
code говно xmonad-contrib
xmonad-contrib % grep -e 'fi\ ::' `find -iname '*.hs'`
./XMonad/Util/Font.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Util/NoTaskbar.hs:fi :: (Integral i, Num n) => i -> n
./XMonad/Actions/Navigation2D.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Layout/Fullscreen.hs:  let fi :: (Integral i, Num n) => i -> n
./XMonad/Layout/AvoidFloats.hs:fi :: (Integral a, Num b) => a -> b
./XMonad/Layout/Dwindle.hs:        fi :: (Num b, Integral a) => a -> b

Синоним для `fromIntegral` ... блять ...
segfault
code C
Это гениально

static void rotate_port (struct connection *c) {
  switch (c->port) {
  case 443:
    c->port = 80;
    break;
  case 80:
    c->port = 25;
    break;
  case 25:
    c->port = 443;
    break;
  }
}
segfault
code Haskell syntax
А сахарок для вот такого вот 

monadicAction = do
  x :: [NonEmpty (Some, Weird, Type Int)]
  x <- whatever

еще никто не предлагал? В летах можно, а в биндах - нет. Обидно, было бы очень удобно. Особенно иногда.
segfault
? code Haskell typefun
А в хаскеле еще не обсуждается нечто типа closed typeclasses? Чтобы вот такое вот

-- | Typeclass for sets and elements.
class (i ~ (Index e els)) => HGet els e i where
  -- | Gets any data from HSet for you
  hget :: HSet els -> e

instance HGet (e ': els) e 'Z where
  hget (HSCons e _) = e

instance (i ~ (Index e els), ('S i) ~ (Index e (e1 ': els)), HGet els e i) => HGet (e1 ': els) e ('S i) where
  hget (HSCons _ els) = hget els

Делать без третьего параметра. Тут не внапряг, а в других случаях бывает сильно сложнее, и бомбит еще больше. 
Ну короче, выбирать инстансы сверху вниз, как это в closed typefamilies делается. Вот это было бы очень круто, я считаю.