小编dee*_*lue的帖子

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

实现类型推断

我在这里看到一些关于静态与动态类型的有趣讨论.我通常更喜欢静态类型,因为编译类型检查,更好的文档代码等.但是,我确实同意,如果像Java那样完成代码,它们会使代码混乱.

所以我即将开始构建自己的功能样式语言,类型推断是我想要实现的事情之一.我确实理解这是一个很大的主题,我并不是想创造一些以前没有做过的东西,只是基本的推理......

什么阅读的任何指针将帮助我这个?优选更实用/实用的东西,而不是更理论的范畴理论/类型理论文本.如果有一个实现讨论文本,使用数据结构/算法,那将是可爱的.

compiler-construction functional-programming type-inference language-design

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

你对Clojure有什么看法?

你们对Clojure有什么看法?我正在考虑接下来学习它,目前正在使用Erlang并且除了记录惨败之外总体上对它很满意...... Clojure和LISP一样强大吗?

lisp clojure

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

什么是"Lambda Lifting"?

我在浏览Erlang编译器源时遇到了这个问题.

我不是真的得到它.(去图;)),考虑到我刚刚意识到5分钟前有这样的事情).

请原谅我先问一下,不要先试着理解它存在的原因.

有关于它的维基百科文章,但它非常神秘.

compiler-construction functional-programming

38
推荐指数
2
解决办法
6859
查看次数

指定为相对路径时,无法添加git子模块

我正在尝试向我的git repo添加一个子模块,我收到了这个错误:

remote origin does not have a url defined in .git/config
Run Code Online (Sandbox Code Playgroud)

关于这可能是什么的任何想法?我试着谷歌搜索它,但只有一个模糊的链接出现.

我这样做:

git submodule add ../extern/Lib1 lib  
Run Code Online (Sandbox Code Playgroud)

我期待这个创建一个子模块lib/Lib1
我知道这只会创建一个引用,然后我必须更新/ init(在这部分不是很清楚,没有那么远;我只是在学习子模块命令).

git git-submodules

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

模式匹配 - 实现

我想知道如何通常实现模式匹配.例如在Erlang中你认为它是在字节码级实现的(它有一个字节码,以便它有效地完成),还是由编译器生成一系列指令(字节码系列)?它是如此有用的东西,我只需要把它变成玩具语言我非常感谢你

(链接更受欢迎)

compiler-construction erlang pattern-matching

30
推荐指数
3
解决办法
4982
查看次数

git和空文件夹

所以我看到Git无法识别文件夹,或者我应该说当提交之间的唯一更改是将空文件夹添加到工作树中时它们git status之后没有显示git add ..

您将如何处理将空文件夹添加到工作树(用于运行时存储)的需要,并在其他存储库从当前存储库(添加了文件夹的存储库)中提取时反映/创建它们?

git version-control

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

git提交问题

我刚刚提交了我的工作树,首先添加到索引,使用"$ git commit -m'test'"我将stdout-put从此保存到文件中,我在顶部看到它说

# On branch master  
# Changed but not updated:  
# (use "git add/rm ..." to update what will be commited)  
# (use "git checkout -- ..." to discard changes in working directory)"  
Run Code Online (Sandbox Code Playgroud)

问题是我的工作树没有被提交给回购,我觉得这与它有关

谢谢

git

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

erlang BEAM字节码

好吧,我希望我不会在这里打破一些垃圾邮件规则.我刚问了一个关于erlang编译器如何实现模式匹配的问题,我得到了一些很好的响应,其中一个是编译后的字节码(通过传递给c()指令的参数获得):

{function, match, 1, 2}.
  {label,1}.
    {func_info,{atom,match},{atom,match},1}.
  {label,2}.
    {test,is_tuple,{f,3},[{x,0}]}.
    {test,test_arity,{f,3},[{x,0},2]}.
    {get_tuple_element,{x,0},0,{x,1}}.
    {test,is_eq_exact,{f,3},[{x,1},{atom,a}]}.
    return.
  {label,3}.
    {badmatch,{x,0}}
Run Code Online (Sandbox Code Playgroud)

它只是简单的二郎元组.我期待一些神秘的二元东西,猜不是.所以我在这里冲动地问这个问题(我可以看一下编译器的来源但是问题总是会因为额外的洞察力而变得更好),这个输出如何在二进制级别翻译?

{test,is_tuple,{f,3},[{x,0}]}的例子.我假设这是一条指令,称为'test'...无论如何,所以这个输出本质上是字节码级语言的AST,二进制编码只是1-1的翻译?这一切都是如此令人兴奋,我不知道我能否轻松地看到erlang编译器破坏了什么.

非常感谢

erlang bytecode bytecode-manipulation beam

18
推荐指数
2
解决办法
5748
查看次数

scala"错误:使用utf-8解码时出现错误""

这个东西不断出现我检查了我的所有源文件都是utf8编码,我使用'-encoding UTF8'标志与scalac和scala命令行工具有
什么想法?

谢谢

scala

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