小编Phi*_*hil的帖子

高效的不可变地图实施?

我想知道是否有一个地图的实现是:

  • 不可变,因此我可以在函数式编程中使用它,并毫不费力地确保事务和并发.
  • .我已经检查了二进制搜索树(RB,AVL)和Tries,但它们似乎都没有哈希表那么快.是否有支持更新和检索的固定时间的地图实现?(或至少非常快的对数时间)

简而言之,是否存在可以与Hash Maps进行性能比较的功能数据结构?

performance functional-programming map immutability

10
推荐指数
1
解决办法
3351
查看次数

标准ML的GUI?

出于好奇,我最近开始学习标准ML.所以我所知道的是有一个高效的编译器(MLton),它允许我们自由地使用抽象而不用担心性能.

如果我可以使用Standard ML进行一些GUI编程,那将是完美的.是否有像Gtk,Qt或WxWidgets绑定标准ML的东西?

非常感谢你.

user-interface binding ml sml graphical-programming

10
推荐指数
1
解决办法
3063
查看次数

从Java调用Scala代码?

我正在使用Netbeans编写Scala和Java.

Netbeans为Scala项目生成了一个.jar文件.我尝试在Java项目中导入该文件.但我无法将该.jar文件中的任何类导入到我的Java项目中.

我也尝试将scala-library.jar导入java项目,并可以从该jar导入类.

我想在Scala中编写我的库,然后公开一个只涉及Java东西的小接口,然后编写一个Java包装器,以便人们可以将它用作Java包.那可能吗?我该怎么做?

非常感谢你.

java interop scala scala-java-interop

8
推荐指数
1
解决办法
2516
查看次数

Supero(Haskell超级编译器)用法?

我正在看这个项目http://community.haskell.org/~ndm/supero/

我已经下载并编译了该程序,并可以在包含的示例中使用它.但我在源代码上尝试了它,看起来程序只能理解Haskell的一个子集.

我有这样的事情:

supercompiler:未处理fromDecl:PatBind(SrcLoc {srcFilename ="unknown.hs",srcLine = 15,srcColumn = 1})(PTuple [PVar(Ident"width"),PVar(Ident"height")])Nothing(UnGuardedRhs(元组[Lit(Int 7),Lit(Int 6)]))(BDecls [])

代码可在此处获得https://github.com/phuc/Score4-haskell/blob/master/Main.hs

如何让GHC输出Supero理解的那种Haskell?

非常感谢你.

optimization haskell ghc

8
推荐指数
1
解决办法
558
查看次数

IntelliJ 14中的Android/Scala项目编译,但在启动时没有找到Scala类时崩溃

我在Intellij 14中创建了一个新的Android项目,然后向它添加了Scala SDK 2.11.6(范围provided是唯一对我有用的选项).如果我不使用任何Scala类,该项目运行正常.但是,一旦我使用字符串插值,一旦代码运行,应用程序就会崩溃并出现此错误:

06-20 18:36:27.277    1995-1995/com.pcn.android.games.jacks D/AndroidRuntime? Shutting down VM
06-20 18:36:27.289    1995-1995/com.pcn.android.games.jacks E/AndroidRuntime? FATAL EXCEPTION: main
    Process: com.pcn.android.games.jacks, PID: 1995
    java.lang.NoClassDefFoundError: Failed resolution of: Lscala/StringContext;
            at com.pcn.android.games.jacks.MyActivity.onCreate(MyActivity.scala:16)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "scala.StringContext" on path: DexPathList[[zip file "/data/app/com.pcn.android.games.jacks-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at com.pcn.android.games.jacks.MyActivity.onCreate(MyActivity.scala:16)
            at …
Run Code Online (Sandbox Code Playgroud)

android scala intellij-idea dex intellij-14

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

Android中的MVC:异步更新的应用程序或服务?

(对不起,我的第一篇文章中没那么清楚)

情况就是这样:我有从互联网刷新的数据.我们称之为Model.

我想做的事情:基本上它听起来像MVC模型,Model在本地(私有)存储中也保持持久性.该Model方法及其相关方法是应用方面的.有几个Activity显示和操纵它的不同方面:

  • 用户Activity可以Model 从不同的角度浏览不同的视图.目前我有一个ListActivityfor all元素,Activity一个元素的详细信息
  • 有时Model需要提神.当然这是在不同的线程上完成的.可以从几个Activity人的触发器中触发刷新.
  • 有几个(耗时的)常见任务可以从不同Activity的任务中触发
  • 我的应用程序Model 在启动和停止时加载并保存到私有存储

我的问题:我不知道放在哪里Model和相关的任务.另外,我不知道用什么机制来通知Activity.目前我想出了两种方法:

  • 使用Service和发送广播.保存到磁盘是执行的Service#onDestroyed(),所以我想通过绑定它来最小化它Activity.在这一点上,我也不能确定如何为客户提供更新的信息:是否提供吸气Binder,或包括在广播消息.
  • 自定义Application对象,以便全局提供刷新方法getter.然后我从Activity使用中执行更新AsyncTask.如果有其他Activity的是当前的背后Activity,他们会更新onResume(),当用户导航回.

我没有使用静态方法的类的原因:

  • 我需要保存并存储Model到磁盘.
  • 一些方法需要Context来显示toasts,通知,缓存等.

此外,我没有把这些功能放在一个,Activity因为有几个活动操纵同一块持久数据.

下面是伪代码说明我的意思:

使用服务:

/** Service maintaining …
Run Code Online (Sandbox Code Playgroud)

model-view-controller service android

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

为免费Android应用程序提供高级更新的正确方法

我一直在Android Market上开发免费游戏(带广告).现在有不少人要我做一个没有广告的付费版本.我没有保留单个应用程序的多个版本的经验.

我已经在Eclipse上考虑了应用程序:库项目和(免费)应用程序项目.现在我要为付费版本添加一个新项目.

我的主要问题与从免费版本导入旧设置和数据的最有效和最可靠的方法有关,如果它已经安装在用户的手机上.

  • 理想情况下,我希望用户不必手动导出数据和设置.
  • 我认为硬编码文件路径不健壮.
  • 我实在太懒了,很沮丧ContentProvider.

根据包名称,是否有一种简单的方法可以从我的另一个应用程序查询数据和设置?

非常感谢你.

android sharing multiple-versions user-data google-play

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

适用于Android手机上音效的适当音频格式

我描述了我的程序,结果发现大部分的CPU都花在了上面SoundPool.play().

游戏有大约10个声音文件,每个文件不到1秒.目前它们是64kbs可变MP3.它们SoundPool在开始时加载到a 并在整个游戏中频繁播放.

我的问题:什么音频格式(例如mp3,ogg等)对移动设备上的CPU和电池消耗最友好?我只将它们用于音效,而且不需要同时播放.

非常感谢.

performance android mobile-phones power-management audio-player

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

Java通过Scala宏的有效命令循环?

Scala宏将良好类型的术语作为参数而不是任意AST,因此使用它们做某些事情并不明显,特别是引入新的绑定表单.

假设我想要一个新的Scala命令用于循环,它可以去尾递归或者循环.例如,这个:

for_imp (i <- 1 to 10) {
  /* work */
}
Run Code Online (Sandbox Code Playgroud)

会厌倦这个:

{
   var i = 1
   while (i <= 10) {
     /* work */;
     i += 1
   }
}
Run Code Online (Sandbox Code Playgroud)

或这个:

@tailrec def loop(i: Int): Unit =
   if (i <= 10) {
      /* work */;
      loop(i + 1)
   }
loop(1)
Run Code Online (Sandbox Code Playgroud)

由于我们不能引入新的绑定i,这种方法是否有意义:创建一个for-opt映射expr[Unit]到的新表单expr[Unit]; 如果它的论点碰巧有正确的形式for,优化它,否则不管它:

for_opt(e: expr[Unit]): expr[Unit] =
  e match {
    case /* for loop */ => /* transform */ …
Run Code Online (Sandbox Code Playgroud)

macros scala metaprogramming scala-macros

5
推荐指数
0
解决办法
225
查看次数

如何在精益中定义相互归纳命题?

我尝试使用归纳数据类型的语法,但它得到一条错误消息"互感类型必须编译为具有依赖消除的基本归纳类型".

下面是我尝试定义命题evenodd自然数的一个例子

mutual inductive even, odd
with even: ? ? Prop
| z: even 0
| n: ? n, odd n ? even (n + 1)
with odd: ? ? Prop
| z: odd 1
| n: ? n, even n ? odd (n + 1)
Run Code Online (Sandbox Code Playgroud)

还有一个相关的问题:定义相互递归函数的语法是什么?我似乎无法在任何地方找到它.

theorem-proving mutual-recursion dependent-type lean

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