X



nim
0031デフォルトの名無しさん
垢版 |
2018/09/23(日) 12:32:55.25ID:x0iYh9VU
見た目だけはpythonとrubyの愛の子っぽいけど
気持ち悪いな

慣れると気持ち良くイケるのかな
0032デフォルトの名無しさん
垢版 |
2018/09/23(日) 12:36:43.12ID:Su1i+ANF
>>21
どっちかというと tcl/tk
0033デフォルトの名無しさん
垢版 |
2018/09/28(金) 00:10:24.24ID:sUTKRE9a
>>30
AV女優?
0036デフォルトの名無しさん
垢版 |
2018/09/28(金) 15:46:07.59ID:O5kQkBkV
GUI は何がおすすめ?
0037デフォルトの名無しさん
垢版 |
2018/09/30(日) 18:50:57.10ID:qKTW85vs
math モジュールの round バグってんな
こんなのもバグってるとか使い物にならないだろw
0038デフォルトの名無しさん
垢版 |
2018/10/01(月) 07:05:34.25ID:tIZ5XrDW
roundに関してはNimのgithubのissueにもあるんだけど、floatの精度のせいでroundした値がfloatで正確に表せられない場合があるんだよ。
https://github.com/nim-lang/Nim/issues/9082
詳しく知りたかったら、現代の殆どのPCで浮動小数点数を扱うのに使われているieee754という標準規格について調べてね
0039デフォルトの名無しさん
垢版 |
2018/10/06(土) 22:16:11.18ID:M6XEBHaV
echo(convert("こんにちは、", "Shift_JIS", "UTF-8"))
Windowsだとこうしないと日本語が表示されない
0041デフォルトの名無しさん
垢版 |
2018/10/07(日) 00:51:21.65ID:o9Iuox3H
windowsでシステムロケールUTF-8にしたい
chcp65001は禁止で
0043デフォルトの名無しさん
垢版 |
2019/04/17(水) 04:51:18.35ID:X6FO3pO6
つんつん
0046あめ ◆P0jSlC5fJs
垢版 |
2019/04/17(水) 18:54:10.48ID:FVq2Eq3K
>>44
研究用、ゴミ
ドザによる荒らし
0052デフォルトの名無しさん
垢版 |
2019/06/18(火) 11:00:03.52ID:6YVmUs6+
nimがCにトランスパイルできるとしても
nimを通してクラス設計とかしたらその分のオーバーヘッドは残りますよね?
0053デフォルトの名無しさん
垢版 |
2019/06/18(火) 12:35:30.19ID:1CtlGReK
そもそもそういう用途じゃない
0054デフォルトの名無しさん
垢版 |
2019/06/18(火) 12:45:57.35ID:6YVmUs6+
どういうことですか?
C並の性能を出すためにあるものではないと?

Nimでカーネルを書くとか無理なのかなーと思ってたんですが
実際やるわけじゃないけど、いまのところ
0055デフォルトの名無しさん
垢版 |
2019/06/18(火) 12:48:21.44ID:1CtlGReK
C++でカーネル書いたひとはいるね
0056デフォルトの名無しさん
垢版 |
2019/06/18(火) 14:22:47.46ID:6YVmUs6+
実際Linuxカーネルのコードは疑似OOPだみたいな説明を見かけたので
NimやC++で書いても良いのかもしれない。
個人的にCへのトランスパイラとしてのNimにひじょーに興味がある
0057デフォルトの名無しさん
垢版 |
2019/06/18(火) 14:25:52.94ID:6YVmUs6+
https://forum.nim-lang.org/t/2261
>So let's say that implementing your game in Nim instead of C++ means 20% larger binary sizes, 20% more RAM usage, and 20% more CPU/GPU usage.

NimよりC++の方が速いって言ってる。
ベンチだと真逆なのに
0058デフォルトの名無しさん
垢版 |
2019/06/18(火) 14:44:50.57ID:6YVmUs6+
続き読んだら他の人が否定してた
0059デフォルトの名無しさん
垢版 |
2019/06/19(水) 01:56:19.31ID:8qBvJS/J
nimはgcを使っている。でもCへのトランスパイルができる。
gcということはメモリ解放が暗黙的ということだろう。
Cでは明示的に解放する必要がある。

どうやって解放タイミングを調べてるんだ?
GC言語から非GC言語へのトランスパイルがなぜ可能なのか?
0060デフォルトの名無しさん
垢版 |
2019/06/19(水) 02:09:28.92ID:8qBvJS/J
var name: string = readLine(stdin)

なんでvarと書きつつstringと型指定するのか
変な言語仕様だな
string name =
でいいだろ
0061デフォルトの名無しさん
垢版 |
2019/06/19(水) 02:10:39.50ID:8qBvJS/J
var name = readLine(stdin)

型推論だっていってるけどこれ可読性低下してる
string name = readLine(stdin)
これがベスト
0062デフォルトの名無しさん
垢版 |
2019/06/19(水) 02:52:19.54ID:8qBvJS/J
nimでデバドラ作ったりできるんだろうか
0063デフォルトの名無しさん
垢版 |
2019/06/19(水) 02:57:44.38ID:8qBvJS/J
https://forum.nim-lang.org/t/2541
Nim also can produce a program that will be put in an embedded system. In such environment, usually there is no OS or only primitive OS, and Nim produced program have higher chances to access hardware directly.

できそうだ
Nimは流行りそうな気がする
なんで組み込みでC++なんか使ってるんだ
0064デフォルトの名無しさん
垢版 |
2019/06/19(水) 04:14:19.61ID:8qBvJS/J
https://forum.nim-lang.org/t/3223
>Basically, 10 OS for 10 CPUs would contain 100 sets of C source code, that get bundled up over in csources.git

どうやらNimが適切なCソースコードを作成するには
ターゲットのCPUとOSを指定する必要があり、
その組み合わせ全てに何かファイルを用意する必要がある。

これじゃダメだな・・・
0065デフォルトの名無しさん
垢版 |
2019/06/19(水) 04:24:41.25ID:8qBvJS/J
勘違いした。ダメってことはないか
Nimコード自体は環境非依存、Cコードにするとき環境依存、ということか
0066デフォルトの名無しさん
垢版 |
2019/06/19(水) 14:31:42.44ID:Yoy0IPRe
LLVMω
0067デフォルトの名無しさん
垢版 |
2019/06/21(金) 05:13:28.08ID:gJOJvtBY
Nimってめちゃすごなんじゃないかなあ
細かい言語仕様で嫌いなところがあるけど
0068デフォルトの名無しさん
垢版 |
2019/06/21(金) 14:29:00.17ID:HK0kbqVP
漏れも D がすごいと思ってた時期があるよ
0069デフォルトの名無しさん
垢版 |
2019/06/21(金) 14:55:07.18ID:GHyPzIJc
>>61
name : string := readLine(stdin)
のほうがいい。
0070デフォルトの名無しさん
垢版 |
2019/06/22(土) 05:26:38.53ID:ecTKxvDL
https://nim-lang.org/
The Nim compiler and the generated executables support all major platforms like Windows, Linux, BSD and Mac OS X.

executablesは機械語?Cコード?
いずれにせよ環境依存してると思うけど、大抵のプラットフォームをサポートしてます、ってどういうこと?
大抵のプラットフォームに向けてトランスパイルできますってこと?
0071デフォルトの名無しさん
垢版 |
2019/06/22(土) 09:58:00.49ID:fiI8bn9U
You Nim で Tensorflow が使えるアプリ造っchina YO
0072デフォルトの名無しさん
垢版 |
2019/06/24(月) 09:23:40.70ID:4pk2usGN
>>69
var name : string = readLine(stdin)
#nameは変更可能
let name : string = readLine(stdin)
#nameは初期化後は変更不可
というletとvarに違いがある。
型推論使ったほうがコード読みやすい、書きやすいという人もいるんだよ。
readLineの戻り値の型はstringに決まってるんだから毎回型を書く必要ないと思うけど
0073デフォルトの名無しさん
垢版 |
2019/06/24(月) 09:43:12.98ID:4pk2usGN
>>70
NimはC言語に変換してからgcc等のCコンパイラを呼んで実行ファイルを作るんだよ。
C言語は大抵のプラットフォームで使える言語だからマルチプラットフォーム化しやすい。
なので一度書いたNimコードをそれぞれのプラットフォーム上でコンパイルするかクロスコンパイルするだけでだいたいは動く。
けどNimから出力されるCコードは特定のCコンパイラ、OS、CPU向けに書かれているので、それだけでマルチプラットフォームな実行ファイルは作れないらしい。
Nimの標準ライブラリのソースコードを読むとOS、CPUによる違いを吸収するためのコードがときどきあるよ。
0074デフォルトの名無しさん
垢版 |
2019/06/24(月) 09:53:12.36ID:4pk2usGN
Nimのソースコードのcompiler/extccomp.nimにNimが対応しているC/C++コンパイラの情報がまとまっていて、compiler/platform.nimにはOSとCPUの情報がまとまってる。
0076デフォルトの名無しさん
垢版 |
2019/06/24(月) 15:58:18.33ID:4pk2usGN
>>59
NimのGCについてはここに情報がある。
メモリ確保時にいらなくなったメモリを走査して解放しているらしい。
https://nim-lang.org/docs/gc.html

NimでGCを使わずにメモリ管理する話もある。
https://github.com/nim-lang/Nim/wiki/Destructors,-2nd-edition

>>71
Nimで実装されたTensorflowに相当するらしいlibrary
https://github.com/mratsim/Arraymancer
0078デフォルトの名無しさん
垢版 |
2019/09/24(火) 21:02:48.66ID:WLUvX9Jg
nim1.0でた〜〜
0080デフォルトの名無しさん
垢版 |
2019/09/25(水) 06:16:02.11ID:vl5hNqVG
ついでにwandboxのnim
ttps://wandbox.org/permlink/npG9hbKwZyKQTXgI?source=post_page-----5d0f58d21e7e----------------------
0081デフォルトの名無しさん
垢版 |
2019/09/25(水) 10:58:52.25ID:U8qLrE8v
GJ
0082デフォルトの名無しさん
垢版 |
2019/09/26(木) 04:03:18.19ID:9xzqPVF9
1.0おめでとう!
ちなみに

echo NimVersion
echo(NimVersion)
NimVersion.echo

は同じ意味のコードだよ。Uniform Function Call Syntaxってやつだ
0083デフォルトの名無しさん
垢版 |
2019/10/27(日) 16:17:57.05ID:IkTaChA0
windows 10
Nim 1.0.2 入れてみた
tdmgcc は前から使ってて gcc は既に path 通してあったので

nim 側はファイル展開しただけで何もしなくても良かった
(nim.cfg の書き換え(書き足し)も不要だった)
path 通さなくても
C:\nim\bin\nim c hogehoge
で動いた
0084デフォルトの名無しさん
垢版 |
2019/10/27(日) 16:18:39.88ID:IkTaChA0
あと
日本語の参考書籍ってなんか出てる?

Nim in Action とかはどうだった?
0086デフォルトの名無しさん
垢版 |
2019/11/06(水) 15:17:56.57ID:o3tEvZiY
HANDLEもこっそりtypedefに_PTR変えたんだっけ
0087デフォルトの名無しさん
垢版 |
2019/11/06(水) 15:20:05.05ID:o3tEvZiY
誤爆った
0088デフォルトの名無しさん
垢版 |
2019/11/09(土) 00:06:35.30ID:LGMQokS+
Nim playground
https://play.nim-lang.org/
次スレから>>1に入れといてよ

しかしver1到達したのに全然盛り上がらんのなお前ら
0091デフォルトの名無しさん
垢版 |
2019/11/10(日) 11:25:43.54ID:ddnKE8WS
>>84
日本語の書籍はないが、原著のドキュメントは割とわかりやすい。docs/tut1.htmlから読み始めるといいかもしれない。
NIAは評判が良いらしいのと、製本版を買うと電子書籍版が無料で付いてくるらしい。

国内でのNimの翻訳は有志が約二名ほど作業しているが、まだ始まったばかり。時間かかりそうだね。
0092デフォルトの名無しさん
垢版 |
2019/11/18(月) 09:38:29.23ID:ahZzeXy3
DLLのCの関数を呼ぶ方法はいくつかあるようですが
なぜいくつもあるのでしょうか?
どれが一番効率が良いのかとか新しいのかとか判りにくい
0093デフォルトの名無しさん
垢版 |
2019/11/18(月) 15:24:43.91ID:g/bdYEbz
単純にdll内の関数を呼びたいならdynlibプラグマを使うのが一番楽。
少し低レベルな機能が必要ならdynlibモジュウルにあるプロシイジャアを使えばいいんじゃなかろうか
0094デフォルトの名無しさん
垢版 |
2019/11/18(月) 17:09:32.08ID:wQWkNxVm
成る程。
0096デフォルトの名無しさん
垢版 |
2019/12/12(木) 17:09:11.38ID:Lo+C9eAO
nimってあまりかっこよくないね
0098デフォルトの名無しさん
垢版 |
2020/03/25(水) 04:10:40.05ID:k6zngd1F
nimコードはトランスパイルする前ならクロスプラットフォームなんだろうか?
0099デフォルトの名無しさん
垢版 |
2020/03/27(金) 15:59:22.92ID:6mKroLAz
こんないい言語なのに結局欠点はCに依存してる点
0100デフォルトの名無しさん
垢版 |
2020/03/27(金) 16:10:13.08ID:9RtDMjhb
あんまり本出ないね
むしろチャンスか
0102デフォルトの名無しさん
垢版 |
2020/04/07(火) 05:01:02.90ID:FPXvnSDp
逆にマクロの完成度高い言語ってなに?
0105デフォルトの名無しさん
垢版 |
2020/04/07(火) 19:47:26.61ID:fJ0U2d01
nimのマクロは完成度高いと思う。でも完成度高いマクロという存在自体が糞。
0106デフォルトの名無しさん
垢版 |
2020/04/08(水) 12:06:55.28ID:lWfV0IAd
MACRO-80
0110デフォルトの名無しさん
垢版 |
2020/09/19(土) 22:27:13.04ID:9NR8PjVh
小数の配列作りたいんだけどやり方教えてください。
[0.0, 0.1, .. 0.9, 1.0] みたいな。

Python なら hoge = [i/10 for i in range(11)] かな。気持ち悪いけど。
0112デフォルトの名無しさん
垢版 |
2021/01/10(日) 21:59:51.09ID:HIznKotv
>>69
var name = readLine stdin
var name = stdin.readLine
で完結してるよ、型推論で>>72にも言った通り型を何回も書く意味がない。付け加えれば()カッコも
要らない。第一引数クロージャーのラムダ式で言えばカッコが必要ないのに書く意味が無い。そして
varとletとは不変性だが、rustやVの様にたかがGCを搭載したく無いだけで、どこでもmut mutして
プログラマに負担を強いるより良い(あくまで個人の感想です)
さらに、procとfuncも、片方が純関数なのはキーワードとして明示できる統一性としてありだね。
まあpragmaが多すぎる気もするけど、if likely(true)/unlikely(false)の様にCPUキャッシュ分岐予測に
直接関与出来る高級言語としては、他に類を見ない。GCが嫌ならOFFに出来るし、そして重い
Stop the Worldが嫌ならそれをしないGCに変えることが出来る、言語としては機能が多くて
Goの様に究極なシンプル(なのに統一性が微妙)じゃ無いけど、こりゃ良いわ
var name = stdin.read LineEnum
0113デフォルトの名無しさん
垢版 |
2021/01/10(日) 22:14:35.92ID:HIznKotv
付け加えるとHaskellみたいなproc() = の宣言が微妙キモいけどfunc(): T =があるから、まあ妥当だね
rubyの様なreturnを書かないのは良い。result=xは便利だけど微妙....でそこまでやるならOptionと
Future、そして例外を統一して欲しかったな。
普通にtry: except: finally:があるのも点数が高い。Araqが言う様に例外と(Label)goto based exceptは
ほとんど同じ何だから、今どきの言語が例外が無いのはおかしい。まあ他を悪く言う気はないけど
Goの様に意味合い的に同じでfinallyに対応するdeferがあるのも良いよね
0114デフォルトの名無しさん
垢版 |
2021/01/12(火) 15:33:30.76ID:LUlB/OIG
超時空ロングパス
0115デフォルトの名無しさん
垢版 |
2021/01/12(火) 15:57:17.72ID:kyPiY518
この言語がJsと比較で優れてる点ってあるの?
0116デフォルトの名無しさん
垢版 |
2021/01/13(水) 08:29:44.80ID:oKh8381v
JavaScript?であれば、JavaScriptはECMAScriptのバージョンとともに型無しのダックタイプから
クラス定義で見られるように型を導入して大規模コードを書く際に静的な安全性を求めてきた、
言語的な特徴でもあった動的なメソッド上書きやapply/callは悪とみなされつつ、改良が進む。
TypeScriptもその特徴であろう、altJSあるいはJSX派生と呼ばれる一種の方言が多量に誕生した
一方でJavaScriptの遅さや1言語依存からwasmが考え出されて多くのコンパイラでwasm開発が
できるようになった。Nimも例に漏れずJSバックエンド及びwasmコンパイルが可能である。
Rustもwasm開発はそうだがJSバックエンドは無い、Goもwasmは出来るがサイズが大きい
NimはGoに比べても型チェックが厳しい、Rustはそれに借用いわゆるボローチェックがそれに
加わるRustもそうだが型安全性はばつぐんだ
0117デフォルトの名無しさん
垢版 |
2021/01/14(木) 18:15:15.39ID:ZgCcmsal
jsって割と底辺だと思うから
Nimはそれより上だろ
0118デフォルトの名無しさん
垢版 |
2021/02/25(木) 19:45:58.25ID:twDFYCAL
1.4.4 age
0119デフォルトの名無しさん
垢版 |
2021/04/17(土) 20:22:19.25ID:f1G9K9An
1.4.6 age
0122デフォルトの名無しさん
垢版 |
2021/05/10(月) 13:57:34.01ID:FH4+0Y9S
頼むからもう少し流行ってください。Dropトレイト、Rcトレイトと戯れてあいつのコードを直したくない
0123デフォルトの名無しさん
垢版 |
2021/05/10(月) 15:07:45.08ID:lCZGOQhN
明日に向かって吠えろ
0126デフォルトの名無しさん
垢版 |
2021/05/19(水) 07:49:19.67ID:mvJC2+U+
2015年2月なんて大昔だろ…Version 0.11頃の話、貼る奴w
0127デフォルトの名無しさん
垢版 |
2021/05/19(水) 07:53:15.04ID:mvJC2+U+
間違えた。
2月だから0.11さえ出てないわ、0.10.2…
0128デフォルトの名無しさん
垢版 |
2021/05/26(水) 22:06:31.04ID:5a/xy4zx
>>120-122
バージョン1.4.8がリリースされました
2021年5月25日ニムチーム

Nimチームは、Nim1.4の4番目のパッチリリースであるバージョン1.4.8を発表できることを
嬉しく思います。バージョン1.4.8は、1か月のハードワークの結果であり、23のコミットが
含まれており、最も重要なバグが修正され、ORCメモリ管理がさらに改善されています。
すべてのユーザーにバージョン1.4.8をアップグレードして使用することをお勧めします。

リリースのハイライト
develブランチと同様に、v1.4.8はcsources_v1を使用して構築されています。つまり、
AppleM1チップで使用できます。
バージョン1.4.6は、いくつかのウイルス対策ソフトウェアでいくつかの誤検知を引き
起こしました。私たちのテストによると、これはv1.4.8では発生しないはずです。
0129デフォルトの名無しさん
垢版 |
2021/06/24(木) 16:12:27.31ID:IeJQfUil
なんか結局流行らなかったな
2019ごろはちょっと来そうな雰囲気出してたのに
0130デフォルトの名無しさん
垢版 |
2021/06/24(木) 16:13:02.76ID:IeJQfUil
今でも一番書いてて気持ちいい言語ではあるけど
レスを投稿する


ニューススポーツなんでも実況