问题标签 [funscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
3014 浏览

f# - 构建在 JVM 上运行并生成 Java 字节码的 F# 编译器的最简单方法是什么?

当前的 F# 编译器是用 F# 编写的,是开源的,可以在 .Net 和 Mono 上运行,允许它在包括 Windows、Mac 和 Linux 在内的许多平台上执行。F# 的代码引用机制已用于在WebSharperPitFunScript等项目中将 F# 编译为 JavaScript 。似乎也有人对在JVM 上运行 F# 代码感兴趣。

我相信OCaml 编译器的一个版本最初用于引导F# 编译器。

如果有人想构建一个在 JVM 上运行的 F# 编译器,这样做会更容易:

  1. 修改现有的 F# 编译器以发出Java 字节码,然后用它编译 F# 编译器?
  2. 使用基于 JVM 的 ML 编译器(例如Yeti)在 JVM 上引导最小的 F# 编译器?
  3. fjord项目似乎正在尝试用 Java 从头开始​​重新编写 F# 编译器?
  4. 还有什么?
0 投票
1 回答
994 浏览

f# - 未定义命名空间或模块“运行时”

所以这里的“Funscript”页面有一个示例。现在我已将示例加载到我的 Visual Studio 2012 中。我不熟悉 Visual Studio .NET,最近才学习 F#。示例页面中的最后一行是:

总是抛出错误。事实上,Visual Studio IDE(编译器)似乎无法识别运行时。

如果这是一种像 Java 这样的语言,那么我会尝试导入一个库,所以我尝试使用 System.Runtime,但 Visual Studio IDE 仍然无法识别,并且该行会抛出一条错误消息:

两个问题

  1. 我怎样才能解决这个问题?
  2. 是否有任何链接为完整的初学者教授 F#,还涉及加载外部库?
0 投票
1 回答
476 浏览

f# - WebSharper 入门问题

所以我一直在研究使用 F# 开发 RIA 或 MVC 应用程序,我发现有两种选择:

  1. FunScript
  2. 网络锐器

我有一个 Visual Studio 2012 版本,它是学生版。所以我只是按照这里的入门链接

现在按照说明操作后,我无法获得测试页面。所以我需要一些指导/帮助才能继续。所以这就是发生的事情:

  1. 使用新项目创建 Web 应用程序 Sitelets 后,我在 Site.fs 页面中收到错误消息。它给出了相同的“未定义的模块或命名空间”。所以我尝试做的是使用 Manage NuGet References 来加载 WebSharper 的引用并消除错误。现在我已经在我的机器上安装了 WebSharper。不应该有一种简单的方法来链接 WebSharper 库。如果是这样,我该怎么做?我在这里做错了什么。

  2. 解决问题后,我按照入门代码到该页面的最后一行,在此代码示例中出现错误:

let HomePage = Template "HomePage" <| fun ctx -> [ Div [Text "HOME"] Links ctx Div [new Controls.HelloControl()] ]

本质上,该页面不喜欢新Div [ new Controls.HelloControl()]添加的内容,因此会引发错误。

我是 Microsoft 技术甚至 Visual Studio IDE 的初学者。我习惯了 Eclipse,弄清楚它是如何工作的从来都不是问题。但是我对如何使这项工作完全无能为力。

最后,我还询问了在哪里可以找到有关 FunScript 和 WebSharper 的体面介绍的更新文档。

0 投票
0 回答
205 浏览

f# - Funscript 示例 - 无法连接到服务器

我终于可以运行 funscript 示例了。但它们没有按预期工作。

我得到的最后一个输出是:

浏览器启动但没有服务器在运行?

顺便说一句:我正在使用单声道,我尝试从 Xamarin Studio 中启动教程项目。

问候罗杰

0 投票
2 回答
469 浏览

javascript - How are interfaces exported in Funscript

I've got the Funscript examples working. Now I'm trying to make something like a Funscript library which has functions (and hopefully classes!) that can be called from javascript code. But I can't see a way of accessing anything from the .js generated from Funscript.

In short, how do I get Javascript to call Funscript?

0 投票
1 回答
59 浏览

funscript - Funscript 中的 Async.RunSynchronously

这篇文章抛出了一个编译器异常,说

“无法编译表达式:调用 (None, RunSynchronously, [arg00, NewUnionCase (None), NewUnionCase (None)])”

RunSynchronously 目前没有在 funscript 编译器中实现吗?

0 投票
1 回答
154 浏览

asynchronous - Funscript 和 Async.RunSynchronously

我在玩 Funscript,想从我的工作流程中得到一些结果。我将那些天真的定义(没有结果单元格)添加到 Async 模块中。

在这种情况下有效

但是当被问及“真正”使用时会摔倒

因为 j?toto.load 方法不会暂停并给我回电,并且会中断异步流程。我想这就是使用单线程 javascript 所做的事情。

什么是真正的解决方案?像在 F# 中那样实施暂停是唯一的方法吗?

0 投票
3 回答
6648 浏览

f# - 如何真正“开始”使用 FunScript

我在尝试开始使用 FunScript 时遇到了真正的麻烦,我真的很喜欢 F# -> Javascript 的想法,但一直对如何使用如此漂亮的技术的大量信息/文档感到沮丧。

这是问题所在:

无法安装 FunScript 项目(无托管)模板,因为:“您需要安装 Nuget”,VS 在我尝试下载它时说。// Dah, I do have Nuget and just updated it to latest release. I'm using VS2013 Ultimate.

我做了以下事情:

我创建了一个新的 FSharp 库项目,然后运行 ​​Package Maneger 命令来获取所需的 FunScript 库:

效果很好,但后来。. . 当我查看 FunScript 示例时,我open FunScript.TypeScript在程序中看到当前不存在的程序,因为它说 TypeScript 未定义,并且查看示例 FunScript.TypeScript 提供了使用 jQuery 并与 DOM 交互的能力。所以没有它我什么都做不了

我确实注意到了 Nuget for FunScript 上的 3rd-party 库,即:

但我不能在“open [namespace]”语句中引用那些。

最后,程序末尾必须有一个“做运行时组件......”的东西。这也是“未定义”

你们有我可以开始的完整的 FunScript 示例吗?(我已经在网上搜索了很多,我看到的程序对我不起作用)

0 投票
2 回答
465 浏览

asp.net - 将 Funscript 添加到现有的 ASP.NET MVC 项目

我真的很喜欢 FunScript 编写 F# 而不是 Javascript 的想法,但我找不到任何关于如何将 FunScript 集成到现有 ASP.NET MVC 解决方案的示例。

甚至可能吗?“真实世界的例子”将非常有用。

0 投票
1 回答
171 浏览

reflection - 具有重载方法的 F# Expr.TryGetReflectedDefinition

我正在为 FunScript 项目(F# 到 Javascript 编译器)编写一些扩展。如果你有兴趣,你可以在这里找到源代码。

我试图模仿Tomas Petricek的 AwaitObservable 扩展。但是,如果我使用重载方法,AwaitObservable(w), AwaitObservable(w1,w2)...当我尝试将项目编译为 Javascript 时会收到以下错误:

FunScript 在项目中保留了反映定义的缓存字典,当它尝试使用Expr.TryGetReflectedDefinition. 如果我使用不同的名称而不是重载(AwaitObservable2, AwaitObservable3...),错误就会消失。这就是我现在正在使用的解决方法,但我想更多地了解这个问题以及是否可以修复它,以便扩展的用户可以正常使用重载方法。

我可以想象 F# 中的反射定义不支持重载方法,并且不能仅通过参数的数量来区分方法(我无法检查,因为我没有Expr.TryGetReflectedDefinition在 fsharp GitHub 源存储库中找到实现)。但是,令我困惑的是,在寻找 AwaitObservable 时并没有发生错误,而是以下方法:

{System.IDisposable System-IObservable 1-Subscribe(System.IObserver1[FunScript.TypeScript.MouseEvent])} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo}

所以我的问题是:

  1. 为什么用而不是Expr.TryGetReflectedDefinition失败?IObservable.SubscribeAsync.AwaitObservable
  2. 为什么Expr.TryGetReflectedDefinition抛出异常而不是返回None?
  3. 这是 F# 反射定义的错误还是不可避免的限制?有可能修复它吗?

非常感谢您的帮助!