小编Cub*_*bic的帖子

任何功能都可以缩减为无点形式吗?

许多功能可以简化为自由形式 - 但这对所有人来说都是如此吗?

例如,我不知道如何做到:

apply2 f x = f x x 
Run Code Online (Sandbox Code Playgroud)

haskell lambda-calculus pointfree

8
推荐指数
3
解决办法
1481
查看次数

&vec [0]是否定义了std :: vector vec的行为?

我看到了很多:

std::vector<Something> vec;
do_something_with_vec(vec);
Something *arr=&vec[0];
do_something_that_needs_carray(arr);
Run Code Online (Sandbox Code Playgroud)

我的意思是,一个向量可能会在内部使用一个数组,所以我明白为什么这个工作,我只是想知道这是否是定义的行为(比如,是一个实现者是否允许运行std :: vector的实现,这将是打破).

如果标准之间存在冲突,我对C++ 11标准所说的内容感兴趣.

c++ c++11

8
推荐指数
3
解决办法
351
查看次数

是否可以调整clojure.test的输出?

我有这个测试:

(ns opengltuts.core-test
  (:use clojure.test
        opengltuts.util)
  (:import (org.lwjgl.opengl
             GL11 GL12 GL13 GL14 GL15 GL20 GL21 GL30 GL31 GL32 GL33)))

(def gl-classes [GL11 GL12 GL13 GL14 GL15 GL20 GL21 GL30 GL31 GL32 GL33])

(deftest find-method-test
  (testing "find-method finds method in single class"
    (is (= (find-method "toString" Object)
           ["public java.lang.String java.lang.Object.toString()"])))
  (testing "find-method finds all methods in list of classes"
    (is (= (apply find-method "glShaderSource" gl-classes)
           (comment "Omitted a 'p' to trigger failure")
           ["ublic static void org.lwjgl.opengl.GL20.glShaderSource(int,java.nio.ByteBuffer)"
            "public static void org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence)"
            "public …
Run Code Online (Sandbox Code Playgroud)

unit-testing clojure

7
推荐指数
2
解决办法
918
查看次数

创建一个非拥有的shared_ptr?

我对C++ 11很陌生,现在正试图通过避免直接使用指针来提高我的C++技能.我正在尝试编写一个精灵管理器,它跟踪以前加载的精灵并释放未使用的精灵.我正在尝试使用shared_ptr(指向位图的指针),但是管理器还必须保持shared_ptr来创建精灵 - 所以引用计数不会下降到0.我可以以某种方式声明"父"shared_ptr在我的经理非拥有所以它不算作参考(并仍然创建该shared_ptr的拥有副本)?

c++ resourcemanager shared-ptr c++11

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

是否存在关联队列?

我想要一个clojure数据结构:

  • 从前面弹出
  • 向后推
  • 让我将索引与值相关联((assoc q 0 1)即将前面的值设置为1)

在Clojure中有类似的东西(不幸的是PersistentQueue不符合Nr.3),还是我应该在矢量上构建它?

clojure

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

种类清单究竟如何运作?

我最近一直在阅读vinyl,它使用了奇怪的"种类列表"类型.在阅读了关于种类和乙烯基的一些内容之后,我对它们有了一些直观的了解,而且我已经能够将它们一起破解了

{-# LANGUAGE DataKinds,
             TypeOperators,
             FlexibleInstances,
             FlexibleContexts,
             KindSignatures,
             GADTs #-}
module Main where

-- from the data kinds page, with HCons replaced with :+:
data HList :: [*] -> * where
  HNil :: HList '[]
  (:+:) :: a -> HList t -> HList (a ': t)

infixr 8 :+:


instance Show (HList '[]) where
  show _ = "[]"
instance (Show a, Show (HList t)) => Show (HList (a ': t)) where
  show (x :+: xs) = show x …
Run Code Online (Sandbox Code Playgroud)

haskell data-kinds

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

Haskell初学者,试图输出一个列表

我想这里的每个人都已经看过其中一个(或者至少是一个类似的)问题,我仍然需要问,因为我无法在任何地方找到这个问题的答案(主要是因为我不知道到底应该看到什么)对于)

我写了这个小脚本,其中printTriangle应该打印出pascal三角形.

fac = product . enumFromTo 2

binomial n k  = (product (drop (k-1) [2..n])) `div` (fac (n-k))

pascalTriangle maxRow = 
               do row<-[0..maxRow-1]
                  return (binomialRow row)
                  where
                  binomialRow row = 
                              do k<-[0..row]
                                 return (binomial row k)

printTriangle :: Int -> IO ()
printTriangle rows  = do row<-(triangle)
                         putStrLn (show row)
                         where 
                         triangle = pascalTriangle rows
Run Code Online (Sandbox Code Playgroud)

现在由于受过训练的眼睛可能显而易见的原因,但对我来说完全笼罩在神秘之中,当我尝试在ghci中加载时会出现以下错误:

   Couldn't match expected type `IO t0' with actual type `[[Int]]'
    In a stmt of a 'do' expression: row <- (triangle)
    In the expression: …
Run Code Online (Sandbox Code Playgroud)

haskell

5
推荐指数
1
解决办法
517
查看次数

什么时候GHC Haskell2010首次包含在Haskell平台中,何时Haskell98样式模块被隐藏?

我们目前在项目中遇到一些麻烦,因为我们发现在新的GHC版本中,像Char这样的旧模块默认是隐藏的,而新的模块(如Data.Char)是默认的.我现在正试图找出数据的版本., 控制.等模块被引入,哪个GHC版本首先隐藏像Char这样的包.

haskell ghc

5
推荐指数
1
解决办法
235
查看次数

调用invokeStaticMethod无法解决?

我写了一个相当原始的测试程序(我正在编写一个围绕LWJGL的OpenGL类的包装器,主要是出于美学原因,我决定在那里引入多线程,因为我之前从未编写过并发程序).程序结束后,我总是收到警告

我实际上在程序进入main函数之前得到了警告.抱歉混淆(我想这可能不是我的程序,而是clojure本身的东西):

Reflection warning, NO_SOURCE_PATH:1 - call to invokeStaticMethod can't be resolved.
Run Code Online (Sandbox Code Playgroud)

我在编译期间没有收到任何警告,我觉得很奇怪.无论如何,这是程序:

(ns opengltuts.core
  (:import (org.lwjgl.opengl GL11 Display))
  (:use opengltuts.opengl)) ;my wrapper

(def world-state (ref {:running true :color [1.0 0.0 0.0 1.0]}))

(defn render-world [state]
  (apply glClearColor (:color state))
  (glClear GL11/GL_COLOR_BUFFER_BIT)
  (Display/update))

(defn render []
  (Display/create)
  (loop []
    (let [world @world-state]
      (when (:running world)
        (do (render-world world)
          (recur)))))
  (Display/destroy))

(defn -main []
  ; without the annotation, I get a warning here too.
  (let [render-thread (doto (Thread. ^Runnable render) …
Run Code Online (Sandbox Code Playgroud)

clojure

5
推荐指数
1
解决办法
369
查看次数

侦听 HTTP 请求的正确方法是什么?

我编写了一个非常简单的、相当低级的 HTTP(嗯,HTTP 的一部分)服务器作为练习,以更加熟悉我一直避免的整个网络事物。它在第一次尝试时工作得相当好(我不会推荐任何人实际使用它,但它会按照我的指示去做)。现在的问题是 GET 操作失败了很多(刷新有帮助,但它不是很好 - 下面的详细信息),我认为这是因为我读取请求的方式(我相当确定我的路由有效):

void start()
{
    //...
    try(ServerSocket webSock = new ServerSocket(47000) {
    //...
        while(running) {
           try {
               Socket sock = webSock.accept();
               //read/write from/to sock 
           }
           //...
           Thread.sleep(10);
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

(完整代码在这里:http : //pastebin.com/5B1ZuusH

我不确定我到底做错了什么

我确实收到错误:

This webpage is not available
The webpage at http://localhost:47000/ might be temporarily down or it may have moved permanently to a new web address.
Error 15 (net::ERR_SOCKET_NOT_CONNECTED): Unknown error.
Run Code Online (Sandbox Code Playgroud)

相当多(整个页面不会加载),有时脚本或图像也不会加载。如果需要,我可以发布整个代码,但其余的主要是样板。

java webserver http

5
推荐指数
1
解决办法
9718
查看次数