我按照如何完全删除Xcode 4,然后从AppStore安装了4.3 版本中的说明删除了旧版本的Xcode .但是现在/开发人员目录丢失了.
我可以在/applications/xcode.app/contents/Developer/中找到相同的目录结构./ developer只是该目录的链接,我该如何再次创建它?
我正在尝试在Haskell中创建一个类型安全的问答流程.我将QnA建模为有向图,类似于FSM.
图中的每个节点都代表一个问题:
data Node s a s' = Node {
question :: Question a,
process :: s -> a -> s'
}
Run Code Online (Sandbox Code Playgroud)
s是输入状态,a是问题的答案,s'是输出状态.节点取决于输入状态s,这意味着为了处理答案,我们必须处于特定状态之前.
Question a代表一个简单的问题/答案产生类型的答案a.
通过类型安全我的意思是,例如给定一个节点Node2 :: si -> a -> s2,如果si依赖于s1那么所有以结尾的路径Node2必须通过s1首先产生的节点.(如果s1 == si那么所有的前辈都Node2 必须生产s1).
一个例子
QnA:在网上购物网站,我们需要询问用户的体型和喜欢的颜色.
e1:询问用户是否知道他们的大小.如果是,那么去e2另外去e3e2:询问用户的大小,然后去ef询问颜色.e3:(用户不知道他们的大小),询问用户的体重并转到e4.e4:(之后e3)询问用户的身高并计算他们的体型然后去ef. …如何在Haskell中定义一个简单的分层访问控制系统?
我的角色是Public > Contributor > Owner,这些角色属于层次结构.所有可以完成的事情Public也可以通过Contributor和完成Owner; 等等.
同样,操作也属于层次结构:None > View > Edit.如果允许角色编辑,它也应该能够查看.
data Role = Public | Contributor | Owner
data Operation = None | View | Edit
newtype Policy = Policy (Role -> Operation)
Run Code Online (Sandbox Code Playgroud)
在这个系统中,我可以表达公共可编辑的政策:
publicEditable :: Policy
publicEditable = Policy $ const Edit
Run Code Online (Sandbox Code Playgroud)
但是,这类系统并不妨碍我从定义这样愚蠢的政策(即允许Public到Edit,但否认对任何访问Owner):
stupidPolicy :: Policy
stupidPolicy = Policy check where
check Public = Edit
check Contributor = View
check Owner …Run Code Online (Sandbox Code Playgroud) 如何自动派生Read此GADT 的实例:
{-# LANGUAGE GADTs, StandaloneDeriving #-}
data TypeDec a where
TypeDecInt :: TypeDec Int
TypeDecString :: TypeDec String
deriving instance Show (TypeDec a)
data Bar where
Bar :: (Show a, Read a) => TypeDec a -> a -> Bar
deriving instance Show Bar
Run Code Online (Sandbox Code Playgroud)
这个想法是Bar一个可序列化的类型.
我可以Read通过以下代码段或Parsec 编写实例,但考虑到我有许多类似的类型TypeDec和Bar不同的模块,这是一个样板:
instance Read Bar where
readsPrec _ s =
let (bar, tup) = second breaks . breaks $ s
in if "Bar" == bar …Run Code Online (Sandbox Code Playgroud) $ cabal install arithmoi-0.4.0.3
Run Code Online (Sandbox Code Playgroud)
导致多个错误,如:
Math/NumberTheory/Moduli.hs:489:4:
error: invalid preprocessing directive
#-}
^
Run Code Online (Sandbox Code Playgroud)
OSX小牛队
Cabal版本= 1.18.1.1
GHCI版本= 7.6.3
提前致谢!
Async.js mapLimit及其<name>Limit函数系列基本上像信号量一样工作:它们允许有限数量的任务同时运行,同时将额外的传入任务添加到队列中。队列成为(冷?连接?)生产者。一旦一个点可用(其中一个任务完成),任务运行器就会从队列中排出一个项目。
这样,有限数量的并发任务始终处于活动状态。
如何在 RxJS 中实现类似的功能?
数据Foo a定义如下:
data Foo a where
Foo :: (Typeable a, Show a) => a -> Foo a
-- perhaps more constructors
instance Show a => Show (Foo a) where
show (Foo a) = show a
Run Code Online (Sandbox Code Playgroud)
有些情况:
fiveFoo :: Foo Int
fiveFoo = Foo 5
falseFoo :: Foo Bool
falseFoo = Foo False
Run Code Online (Sandbox Code Playgroud)
我如何定义任何函数b -> Foo a,例如:
getFoo :: (Show a, Typeable a) => String -> Foo a
getFoo "five" = fiveFoo
getFoo "false" = falseFoo
Run Code Online (Sandbox Code Playgroud)
这里 …
我想写一个这样的查询:
对于包含以下列的表:ColA ColB ColC,ColD
从ColD的表顺序中选择第一个(ColA,ColB,ColC,ColD)distinct(ColB,ColC)
该查询应该由ColD对表进行排序,然后通过ColB和ColC的组合对结果进行分组(它们可能具有不同的数据类型)并返回组中的第一行(包含表的所有列).
在MS SQL Server 2005中怎么可能?
似乎命名function()语法与非同义函数语法的类型去除之间存在细微差别:
type F<X, Y> = (x: X) => Y
// works:
function apply<X, Y>(f: F<X, Y>, x: X) : Y {
return f(x)
}
// works:
const apply0 : <X, Y>(f: F, x: X) => Y = (f, x) => f(x)
// doesn't work
const apply1 : <X, Y>(f: F<X, Y>, x: X) => Y = (f, x) => f(x)
Run Code Online (Sandbox Code Playgroud)
我需要从任何引用中删除泛型类型注释,以F<X, Y>在apply类型检查器的匿名函数的参数中键入.
这是违反直觉的.
[编辑:]但似乎Flow能够键入检查apply1调用,即使它无法键入检查apply1本身:
apply1(x => x * 2, …Run Code Online (Sandbox Code Playgroud) 这是函数到多态数据类型的后续问题
数据类型Question使用Message(问题文本)和String -> a将用户输入映射到问题结果的函数()模拟问题/答案:
data Question where
Simple :: (Typeable a, Show a) => Message -> (String -> a) -> Question
Run Code Online (Sandbox Code Playgroud)
此CLI程序应首先获取其名称,Question使用getQuestion函数查找实例,然后运行Question并打印出结果.
{-# LANGUAGE GADTs #-}
import Data.Typeable
type Message = String
data Question where
Simple :: (Typeable a, Show a) => Message -> (String -> a) -> Question
-- more constructors
yourName :: Question
yourName = Simple "Your name?" id
yourWeight :: Question
yourWeight = …Run Code Online (Sandbox Code Playgroud) 我有monad变换器对应我的应用程序的独立功能.
在天气模块中:
class Monad m => WeatherT m where
byCity :: String -> m WeatherData
newtype MockWeather m a = MockWeather {
...
} deriving (Functor, Applicative, Monad, MonadTrans)
instance Monad m => WeatherT (MockWeather m) where
...
Run Code Online (Sandbox Code Playgroud)
在Counter模块中:
class Monad m => CounterT m where
increment :: m Int
current :: m Int
newtype MockCounter m a = MockCounter {
...
} deriving (Functor, Applicative, Monad, MonadTrans)
instance Monad m => CounterT (MockCounter m) where …Run Code Online (Sandbox Code Playgroud) haskell ×7
gadt ×3
javascript ×2
async.js ×1
asynchronous ×1
cabal ×1
distinct ×1
flowtype ×1
gcc ×1
group-by ×1
ios ×1
join ×1
osx-lion ×1
polymorphism ×1
rxjs ×1
sql ×1
sql-server ×1
xcode ×1