问题标签 [bigloo]
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.
scheme - Bigloo 方案中高阶函数的静态签名
有谁知道如何在 Bigloo 方案语言的模块导出部分中为高阶函数创建静态签名?
这是我走了多远
以下将起作用,但我想将所有类型数据保留在模块声明中
function - Bigloo:类型提示函数参数
假设我有一个名为 的过程foo
,它返回 a::float
意味着采用以下参数:
- 一个带有两个
::float
参数的过程。 - 一个
::float
- 其他
::float
我将如何在代码部分中export
为该函数编写一个?module
到目前为止我有这个:
这里应该'something
换什么?
multithreading - 我是否需要锁才能在多线程上下文中访问不可变数据结构?
我有一个不可变的数据结构,它是一个在多个线程之间共享的功能性哈希图(参见fash.scm)。
想象一个线程想要将全局 hashmap 更改为新版本。我需要锁来更改值吗?如果是这种情况,我认为我还需要锁定值才能读取它,不是吗?
在我看来,这归结为在 Scheme 中设置值是否是原子操作。根据this answer for C language,您必须为指针的读写访问获取锁。
如果重要的话,我使用的是 guile 2.2.3 和 bigloo 4.3。
scheme - 如何在 scm 方案中定义一个函数来测试其参数是否为宏?
例如,假设 'match 是一个宏,而 'car 不是: