エクスプローラーのアドレス部分に ftp://download.ks.prv を打ち込む。
mirror > texlive > tlnet を開く。
install-tl-windows.exe をデスクトップにコピーする。
(ブラウザーで ftp://download.ks.prv/mirror/texlive/tlnet を開いて、 install-tl-windows.exe をダウンロードするのでも良い。)
| {-# LANGUAGE MagicHash #-} | |
| module Main where | |
| import Data.IORef | |
| import Control.Monad (forM_) | |
| import System.Environment (getArgs) | |
| import Control.Monad.State.Class | |
| import qualified Control.Monad.State.Strict as StateStrict | |
| import qualified Control.Monad.State.Lazy as StateLazy | |
| import Control.Monad.Writer.Strict as WriterStrict | |
| import GHC.Prim |
| // dumparg.c | |
| #include <stdio.h> | |
| #include <wchar.h> | |
| int wmain(int argc, const wchar_t *argv[]) | |
| { | |
| for (int i = 0; i < argc; ++i) { | |
| const wchar_t *s = argv[i]; | |
| printf("argv[%d] = ", i); | |
| while (*s != 0) { | |
| if (*s < 0x80 && isprint(*s)) { |
| {-# LANGUAGE BangPatterns #-} | |
| import Gauge.Main | |
| import Control.Monad | |
| import Control.Monad.State.Strict | |
| import Data.IORef | |
| import qualified Data.Vector.Unboxed.Mutable as V | |
| import Data.Primitive.MutVar | |
| {- | |
| benchmarked vector |
| benchmarked trial division (2)/1000 | |
| time 337.3 μs (333.0 μs .. 342.5 μs) | |
| 0.996 R² (0.987 R² .. 0.999 R²) | |
| mean 344.1 μs (339.5 μs .. 353.6 μs) | |
| std dev 22.82 μs (7.337 μs .. 41.88 μs) | |
| variance introduced by outliers: 42% (moderately inflated) | |
| benchmarked trial division (2)/10000 | |
| time 22.05 ms (21.57 ms .. 22.77 ms) | |
| 0.996 R² (0.989 R² .. 0.999 R²) |
| local PDF_DIR = ".converted-pdf" | |
| os.execute("mkdir -p " .. PDF_DIR) | |
| local function file_exists(fn) | |
| local f = io.open(fn,"r") | |
| if f then | |
| f:close() | |
| return true | |
| else | |
| return false |
| module Main where | |
| import Prelude | |
| import Data.HeytingAlgebra | |
| import Effect (Effect) | |
| import Effect.Console (log) | |
| foo :: forall a. HeytingAlgebra a => Unit -> a | |
| foo x = foo x |
| {-# LANGUAGE RankNTypes #-} | |
| {-# LANGUAGE GADTs #-} | |
| {-# LANGUAGE FlexibleInstances #-} | |
| {-# LANGUAGE IncoherentInstances #-} -- これがないとエラーになる(この拡張はかなりやばい) | |
| import Data.List | |
| class MyShow a where | |
| myShow :: a -> String | |
| instance MyShow Int where myShow = show |
| #!/usr/bin/env stack | |
| -- stack --resolver lts-14.15 script --package reflection | |
| {-# LANGUAGE DataKinds, RankNTypes, TypeOperators, TypeFamilies, ScopedTypeVariables, TypeApplications #-} | |
| import GHC.TypeNats | |
| import Data.Type.Equality | |
| import Unsafe.Coerce | |
| import Data.Proxy | |
| import Data.Reflection | |
| cmpNat :: (KnownNat a, KnownNat b) |
| {-# LANGUAGE DataKinds #-} | |
| {-# LANGUAGE TypeFamilies #-} | |
| import Unboxable | |
| import Mod | |
| import Data.Coerce | |
| -- Defining Unboxable instance is as good as exporting the data constructor! | |
| castUnboxable :: Unboxable a => Rep a -> a | |
| castUnboxable = coerce |