23 EKİM 2014, PERŞEMBE
Bu DZD Çekirdek okumak için nasıl "kanıt"?
Haskell bu küçük bit doğal sayılar için, sadece onlar bile yarıya kanıtlıyor anlamaya yazdım:
{-# LANGUAGE DataKinds, GADTs, KindSignatures, TypeFamilies #-}
module Nat where
data Nat = Z | S Nat
data Parity = Even | Odd
type family Flip (x :: Parity) :: Parity where
Flip Even = Odd
Flip Odd = Even
data ParNat :: Parity -> * where
PZ :: ParNat Even
PS :: (x ~ Flip y, y ~ Flip x) => ParNat x -> ParNat (Flip x)
halve :: ParNat Even -> Nat
halve PZ = Z
halve (PS a) = helper a
where helper :: ParNat Odd -> Nat
helper (PS b) = S (halve b)
Çekirdek ile ilgili bölümlerini olmak:
Nat.$WPZ :: Nat.ParNat 'Nat.Even
Nat.$WPZ = Nat.PZ @ 'Nat.Even @~ <'Nat.Even>_N
Nat.$WPS
:: forall (x_apH :: Nat.Parity) (y_apI :: Nat.Parity).
(x_apH ~ Nat.Flip y_apI, y_apI ~ Nat.Flip x_apH) =>
Nat.ParNat x_apH -> Nat.ParNat (Nat.Flip x_apH)
Nat.$WPS =
\ (@ (x_apH :: Nat.Parity))
(@ (y_apI :: Nat.Parity))
(dt_aqR :: x_apH ~ Nat.Flip y_apI)
(dt_aqS :: y_apI ~ Nat.Flip x_apH)
(dt_aqT :: Nat.ParNat x_apH) ->
case dt_aqR of _ { GHC.Types.Eq# dt_aqU ->
case dt_aqS of _ { GHC.Types.Eq# dt_aqV ->
Nat.PS
@ (Nat.Flip x_apH)
@ x_apH
@ y_apI
@~ <Nat.Flip x_apH>_N
@~ dt_aqU
@~ dt_aqV
dt_aqT
}
}
Rec {
Nat.halve :: Nat.ParNat 'Nat.Even -> Nat.Nat
Nat.halve =
\ (ds_dJB :: Nat.ParNat 'Nat.Even) ->
case ds_dJB of _ {
Nat.PZ dt_dKD -> Nat.Z;
Nat.PS @ x_aIX @ y_aIY dt_dK6 dt1_dK7 dt2_dK8 a_apK ->
case a_apK
`cast` ((Nat.ParNat
(dt1_dK7
; (Nat.Flip (dt2_dK8 ; Sym dt_dK6))_N
; Nat.TFCo:R:Flip[0]))_R
:: Nat.ParNat x_aIX ~# Nat.ParNat 'Nat.Odd)
of _
{ Nat.PS @ x1_aJ4 @ y1_aJ5 dt3_dKa dt4_dKb dt5_dKc b_apM ->
Nat.S
(Nat.halve
(b_apM
`cast` ((Nat.ParNat
(dt4_dKb
; (Nat.Flip
(dt5_dKc
; Sym dt3_dKa
; Sym Nat.TFCo:R:Flip[0]
; (Nat.Flip (dt_dK6 ; Sym dt2_dK8))_N
; Sym dt1_dK7))_N
; Sym dt_dK6))_R
:: Nat.ParNat x1_aJ4 ~# Nat.ParNat 'Nat.Even)))
}
}
end Rec }
Flip türü Aile örnekleri ile bu tür döküm genel akışı biliyorum, ama tamamen takip edilemez bazı şeyler vardır:
@~ <Nat.Flip x_apH>_N
anlamı nedir ? x için Flip örneği mi? Nasıl o@ (Nat.Flip x_apH)
farkı nedir?< >
_N
ilgileniyorum
halve
ilk dökme ile ilgili olarak:
dt_dK6
,dt1_dK7
dt2_dK8
stand? Denklik delillerinden biri, ama hangisi?Sym
bir denklik geriye doğru çalışan anlıyorum- Ne
;
'In mı? Denklik delillerinden sadece uygulanan sırayla. - Ne
_N
_R
ekleri bu? TFCo:R:Flip[0]
TFCo:R:Flip[1]
cilt örnekleri?
CEVAP
22 Mart 2010, PAZARTESİ
Kullanabileceğiniz basit bir makro yazdım bunun için bir ayar bulamadım. Tüm makrolar gibi anahtar-açılan bu bağlayabilirsiniz. Bu daha iyi bir çözüm bulana kadar bu iş bitmiş olacak.
Sub OpenURLInChrome()
'copy to end of line
DTE.ActiveDocument.Selection.EndOfLine(True)
'set var
Dim url As String = DTE.ActiveDocument.Selection.Text
'launch chrome with url
System.Diagnostics.Process.Start( _
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
"\Google\Chrome\Application\chrome.exe", url)
End Sub
Sadece url önünde imleci koymak ve makroyu Çalıştır
Bunu Paylaş:
Bir dize kontrol etmek için nasıl &quo...
Çözmek için nasıl "Eklenti yürütm...
Hatayı düzeltmek için nasıl "Günc...
Nasıl Java "X dakika x saniye&quo...
İlk metin ile bir Android Spinner yapm...