小编dfe*_*uer的帖子

除了艾森之外还怎么样?

aeson似乎采用了一种有点简单的方法来解析JSON:它将顶级JSON值(一个对象或数组)解析为它自己的固定表示,然后提供帮助用户将该表示转换为它们自己的工具.当JSON对象和数组很小时,这种方法非常有效.当它们非常大时,事情开始崩溃,因为在完全读取和解析JSON值之前,用户代码无法执行任何操作.这似乎特别不幸,因为JSON似乎是为递归下降解析器设计的 - 似乎应该相当简单,允许用户代码介入并说明每个部分应该如何解析.有没有深层原因aeson和早期的json工作方式,或者我应该尝试创建一个新库以进行更灵活的JSON解析?

parsing haskell aeson

7
推荐指数
1
解决办法
156
查看次数

Backwards是否承认Monad实例?

我刚刚在haskell-cafe上问这个,但我想我也可以在这里问一下.以下Monad实例是否Backwards m有效?

{-# Language RecursiveDo #-}

import Control.Applicative.Backwards
import Control.Monad.Fix

instance MonadFix m => Monad (Backwards m) where
  m >>= f = Backwards $
    do
      fin <- forwards (f int)
      int <- forwards m
      pure fin
Run Code Online (Sandbox Code Playgroud)

如果是这样,我还可以添加吗?

instance MonadFix m => MonadFix (Backwards m) where
  mfix f = Backwards $ mfix (forwards . f)
Run Code Online (Sandbox Code Playgroud)

monads haskell

7
推荐指数
1
解决办法
114
查看次数

删除红黑树的整个子树会保留其属性吗?

我目前正在实现一个红黑树数据结构来为应用程序执行一些优化.

在我的应用程序中,在给定的点上,我需要从树中删除小于或等于给定值的所有元素(您可以假设元素是整数).

我可以逐个删除这些元素,但我希望能有更快的东西.因此,我的问题是:如果我删除一个红黑树的整个子树,我怎么能修复树来恢复高度和颜色不变量?

algorithm binary-tree red-black-tree data-structures

6
推荐指数
2
解决办法
1772
查看次数

文件上传权限被拒绝Godaddy共享主机

我在godaddy共享主机上有一个Web应用程序.它是一个asp.net应用程序.一切正常,但是当我上传一些文件时,它会出现错误"拒绝访问路径'PATH'."

我尝试了几种方法,例如给予我从godaddy控制面板上传文件的文件夹的完全权限.

我也看过这篇文章并试图跟着他说:http://forums.asp.net/t/1052417.aspx/1

但没有帮助.

任何人都可以建议我那里有什么不对.它在IIS 7下.

asp.net file-permissions file-upload

6
推荐指数
2
解决办法
2万
查看次数

在睡眠时打开Android上的互联网

我有一个需要同步到互联网的Android应用程序,但是一旦手机进入睡眠状态,我就无法访问互联网.它仅在用户使用"电池模式"时发生,当它在15分钟后关闭数据时.我写了一个测试应用程序,它打开了数据,但它仍然连接到服务器.

我尝试了什么:

  • 当我手动关闭数据时,应用程序将其打开并运行
  • 我也试过WakeLock,但它没有帮助.
  • 警报按预期工作,即使手机进入睡眠状态数小时

在摩托罗拉Atrix Android 2.3.3上测试过.我不能依靠Wifi.在现实生活中,它将每周同步.我们怎样才能成功呢?

AlarmManager:

alarm_manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, intent, 
                        PendingIntent.FLAG_UPDATE_CURRENT);
alarm_manager.setRepeating(AlarmManager.RTC_WAKEUP, 
                        System.currentTimeMillis(), 15000, pending);
Run Code Online (Sandbox Code Playgroud)

AlarmReceiver:

public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MYTAG", "RECEIVED getMobileDataEnabled: " + getMobileDataEnabled(context));  
        if (!isOnline(context)) {
            Log.d("MYTAG", "NO INET");
            if (turnOnInet(context)) {
                Log.d("MYTAG", "INET IS ON");
            }
        }

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://xxx.xxx.xxx.xxx/ping/pong/moto/");
            try {
                List<NameValuePair> nameValuePairs = …
Run Code Online (Sandbox Code Playgroud)

android sleep-mode

6
推荐指数
2
解决办法
7084
查看次数

在 Java 中使用外部 IP 地址建立连接

我正在尝试构建一个聊天程序。我编写了代码,一切正常,当我使用我的计算机并使用 127.0.0.1 连接时,它仍然运行良好。我还成功地在我的笔记本电脑和我的电脑之间成功连接,它们在同一台路由器上运行。(我使用内部 IP 地址来执行此操作,10.0.0.3)。

现在我正在尝试在我的路由器和其他路由器之间建立连接。为此,我正在尝试连接到外部 IP 地址。我通过我的路由器完成端口转发部分,我还制作了一个静态 IP。当我运行代码时,我总是收到“连接被拒绝错误”。

这是代码:

主服务器.java:

import java.util.*;
import java.io.*;
import java.net.*;

public class MainServer {
  private ArrayList<Socket> sockets;
  public MainServer() {
    ServerSocket server_socket;
    try {
      server_socket = new ServerSocket(5005);
      sockets = new ArrayList<Socket>();
      System.out.println("server is now running");
      while(true) {
        Socket socket = server_socket.accept();
        sockets.add(socket);
        try {
          PrintWriter writer = new PrintWriter(socket.getOutputStream());
          writer.println("---you are connected to the server---\r\n");
          writer.flush();
        } catch(Exception e) {e.printStackTrace();}
        System.out.println("server connected to " + socket.getInetAddress());
        Reader reader = new Reader(socket);
        Thread …
Run Code Online (Sandbox Code Playgroud)

java sockets connection port

6
推荐指数
1
解决办法
3万
查看次数

我应该首先尝试学习哪种GHC类型的系统扩展?

GHC有一个类型系统扩展的整个动物园:多参数类型类,功能依赖,秩n多态,存在类型,GADT,类型族,范围类型变量等等.哪些可能是最容易学习的?另外,这些功能是否以某种方式组合在一起,或者它们是否完全相同,可用于完全不同的目的?

haskell types ghc

6
推荐指数
1
解决办法
314
查看次数

可能适用的证明成分法

所以,我想手动证明Maybe applicative的组成法则是:

u <*> (v <*> w) = pure (.) <*> u <*> v <*> w
Run Code Online (Sandbox Code Playgroud)

我用这些步骤证明了这一点:

u <*> (v <*> w)          [Left hand side of the law]
  = (Just f) <*> (v <*> w)  [Assume u ~ Just f]
  = fmap f (v <*> w)
  = fmap f (Just g <*> w)   [Assume v ~ Just g]
  = fmap f (fmap g w)
  = fmap (f . g) w

pure (.) <*> u <*> v <*> w  [Right hand …
Run Code Online (Sandbox Code Playgroud)

haskell applicative

6
推荐指数
1
解决办法
1022
查看次数

zip 2自定义类型列表时的分段错误

Parallella上的GHCi 7.10.2下,我定义了一个Peg派生的数据类型Show.当我试图压缩两个Peg列表时,我遇到了分段错误.有人有任何线索吗?

sid@linaro-nano:~CIS192/hw_2$ ghci
GHCi, version 7.10.2: http://haskell.org/ghc/  :? for help
Prelude>
Prelude>
Prelude> data Peg = Red | Green deriving (Show)
Prelude> zip [Red, Red] [Green, Green]
[(Red,Green),(Segmentation fault
Run Code Online (Sandbox Code Playgroud)

haskell

6
推荐指数
1
解决办法
140
查看次数

受约束的递归通用函数的专业化

我一直致力于在linear-baseSjoerd Visscher 开始的一些工作的基础上添加对泛型派生的支持。一般来说,泛型的性能可以达到预期的效果,但我遇到了递归类型(如列表)的问题,我不知道该怎么办。最简单的例子就是类Consumable。如果你不熟悉线性类型的东西,不要被它迷惑;这在这里几乎无关紧要。我们有

class Consumable a where
  -- Read this as consume :: a -> (), but it's guaranteed to use
  -- its argument exactly once.
  consume :: a %1 -> ()

instance (Generic a, GConsumable (Rep a)) => Consumable (Generically a) where
  consume (Generically x) = genericConsume x

genericConsume :: (Generic a, GConsumable (Rep a)) => a %1 -> ()
genericConsume = gconsume . from
{-# INLINEABLE genericConsume #-}

-- | A class for generic …
Run Code Online (Sandbox Code Playgroud)

generics optimization haskell

6
推荐指数
0
解决办法
131
查看次数