我想做的事情非常简单.
我想转换以下JSON,我从外部源获取:
[{"symbol": "sym1", "description": "desc1"}
{"symbol": "sym1", "description": "desc1"}]
Run Code Online (Sandbox Code Playgroud)
分为以下几种:
data Symbols = Symbols [Symbol]
type Symbol = (String, String)
Run Code Online (Sandbox Code Playgroud)
我最后使用Text.JSON编写以下代码:
instance JSON Symbols where
readJSON (JSArray arr) = either Error (Ok . Symbols) $ resultToEither (f arr [])
where
f ((JSObject obj):vs) acc = either Error (\x -> f vs (x:acc)) $ resultToEither (g (fromJSObject obj) [])
f [] acc = Ok $ reverse acc
f _ acc = Error "Invalid symbol/description list"
g ((name, JSString …Run Code Online (Sandbox Code Playgroud) 我尝试过,使用Mx align-regexp:
<-|=
(<-|=)
\(<-|=\)
\\(<-|=\\)
Run Code Online (Sandbox Code Playgroud)
那些< - 和=逆转的那些.但没有一个工作?
示例代码如下:
(flags, params, errs) <- parseArgs <$> getArgs
let options = foldr id [] flags -- Apply functions to list
Run Code Online (Sandbox Code Playgroud) Network.Browser文档说该模块支持以下内容:
对我来说,这听起来像是浏览器的开始,它让我抓取网页,处理身份验证到网站,cookie等.
但是,该模块附带零示例代码,说明或教程.我无法弄清楚如何使用它.
有人可以举例说明如何使用它1)去网站,2)登录它,3)下载一个要求你登录的文件?
我不知道elisp,但我正在尝试做类似以下的事情:
(add-hook
'scala-mode-hook
(lambda ()
(define-key scala-mode-map (kbd "RET") (lambda ()
(scala-newline)
(scala-indent-line)))))
Run Code Online (Sandbox Code Playgroud)
目标是每次按ENTER键时调用这两个函数.我该怎么做呢?
我在 SQLite 中有一个表,基本上包含以下内容:
id : integer (primary key)
name: text
timestamp: text
data1: integer
data2: integer
...
data6: integer
Run Code Online (Sandbox Code Playgroud)
我需要按名称和时间戳进行过滤,因此我设置了(名称,时间戳)索引。
在 100,000,000 行时,SQLite 在查询时进行爬行。理解索引将时间复杂度从 O(n) 降低到 O(log n) 但看起来仍然太慢。我不喜欢将数据切片到多个表中。有什么建议么?
所以,我一直在玩这个为Emacs创建随机主题的网站.我一直在保存生成的.el文件并在启动Emacs时加载它们.可以通过评估带有前缀的elisp表达式来启动每个颜色主题inspiration-.
不幸的是,我不知道elisp.有人可以帮我弄清楚如何编写一个函数来查看"灵感 - "前缀函数是否可用,并随机评估其中一个函数?
emacs ×3
haskell ×3
clojure ×1
elisp ×1
json ×1
networking ×1
regex ×1
scala ×1
scalability ×1
sqlite ×1