00:00:02 | * | junland quit (Quit: %ZNC Disconnected%) |
00:02:17 | * | junland joined #nim |
00:15:17 | * | Hideki joined #nim |
00:15:40 | * | Hideki is now known as Guest43621 |
00:36:22 | * | tane quit (Quit: Leaving) |
01:14:14 | * | leorize quit (Quit: WeeChat 2.6) |
01:18:58 | * | Guest43621 quit (Ping timeout: 260 seconds) |
01:26:16 | * | belamenso quit (Quit: Leaving) |
01:39:27 | * | ng0 quit (Quit: leaving) |
01:54:44 | * | Tyresc quit (Quit: WeeChat 2.7-dev) |
01:55:23 | * | dwdv quit (Ping timeout: 265 seconds) |
02:02:55 | * | Trustable quit (Remote host closed the connection) |
02:13:00 | * | jwm2241 joined #nim |
02:14:19 | * | jwm224 quit (Ping timeout: 250 seconds) |
02:32:42 | * | endragor joined #nim |
02:36:24 | * | jwm2241 is now known as jwm224 |
02:48:48 | * | sealmove joined #nim |
03:10:07 | * | muffindrake quit (Ping timeout: 260 seconds) |
03:12:12 | * | muffindrake joined #nim |
03:15:50 | * | Hideki joined #nim |
03:16:13 | * | Hideki is now known as Guest59420 |
03:20:28 | * | Guest59420 quit (Ping timeout: 258 seconds) |
04:30:53 | skrylar[m] | at the risk of bikeshedding, i wish nimble worked more like AUR |
04:31:22 | disruptek | for those of us not familiar with AUR...? |
04:32:07 | skrylar[m] | its an arch thing; they have a list of community managed packages, each one has a dedicated manager and they post the pkgbuild manifest to a little git repo |
04:32:56 | disruptek | how is that different from the packages.json file? |
04:33:47 | skrylar[m] | for one, the `.nimble` and `packages.json` are not even synchronized! i just checked to see if i could write a better release script on my side, and the data is different |
04:33:53 | skrylar[m] | packages.json has tags, .nimble doesn't |
04:34:16 | disruptek | release script? |
04:34:22 | disruptek | !repo bump |
04:34:23 | disbot | https://github.com/disruptek/bump -- 9bump: 11a tiny tool to bump nimble versions 🍻 15 10⭐ 1🍴 7& 1 more... |
04:34:34 | skrylar[m] | in aur the build file you use on your machine is entirely the same as what goes online |
04:34:49 | skrylar[m] | but |
04:35:55 | skrylar[m] | i have never once gotten `nimble publish` to work. |
04:36:48 | disruptek | well, i submitted a patch to improve `nimble publish`. |
04:37:09 | skrylar[m] | one time it botched the pull request, other times i get comments from background PRs it created and had to hand edit the json file (which is an internal concern a package author shouldn't even be bothered with knowing, but :/). i've maintained cargo crates and distro packages and never had these issues /shrug |
04:37:48 | disruptek | my opinion of nimble is well documented, but at the risk of beating a dead horse... |
04:37:51 | disruptek | !repo nimph |
04:37:52 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11a nim package hierarchy manager from the future 🧚 15 40⭐ 2🍴 7& 1 more... |
04:39:01 | skrylar[m] | i don't really use package managers. i just have to deal with these headaches for other people ^^; |
04:39:11 | disruptek | i pity the fool. |
04:39:36 | shashlick | What's a good bug to fix today? |
04:39:37 | skrylar[m] | i usually just vendor them. makes for reliable builds |
04:40:04 | shashlick | Have too many big things to do that I cannot accomplish in one night |
04:40:14 | disruptek | nimph is apparently bug-free. |
04:40:27 | shashlick | And have had zero time to work on anything worth mention |
04:40:38 | disruptek | awww c'mon shashlick. |
04:40:45 | disruptek | everything you work on is mentionable. |
04:40:47 | shashlick | So - one bug for tonight |
04:41:09 | skrylar[m] | i've also fixed weird deep magic bugs with go (i have a patch in the hugo tree) and it was very annoying to find the root cause of a bug in deps because they didn't have modules yet and you had to basically guess which git hash corresponded to the deps for the build tree at that point in time which wasn't mentioned anywhere so you had to basically brute force it x_x |
04:41:40 | shashlick | So what should it be |
04:42:07 | disruptek | skrylar: https://github.com/disruptek/nimph/issues/54 |
04:42:07 | disbot | ➥ recommend tagging when requirements change |
04:42:36 | * | endragor quit (Remote host closed the connection) |
04:42:45 | skrylar[m] | yeh. i've been thinking about fiddling with branch names for that |
04:43:05 | skrylar[m] | but using submodules gives you a pedigree of "this exact set of commits will result in a successful build" |
04:43:36 | disruptek | of course. but lockfiles are a simple solution as well. |
04:43:44 | skrylar[m] | if people make them sure |
04:44:19 | disruptek | nimph also knows when your requirements changed, so it could create lockfiles whenever that happens. |
04:44:32 | disruptek | maybe that should be a feature. |
04:45:06 | skrylar[m] | was reflecting on how `master` is sort of a silly branch and considering relabeling them back to `trunk` along with using a branch for versions |
04:45:27 | skrylar[m] | `v1` `v1-trunk` `v1-stabilizing` |
04:45:29 | disruptek | shashlick: i can't think of a single problem i have with nimterop. but, i'm not a sophisticated user. |
04:45:37 | * | chemist69 quit (Ping timeout: 252 seconds) |
04:46:01 | disruptek | skrylar: i wanted to impl lockfiles inside git but i decided it was ultimately going to be too closed, especially to other tooling. |
04:46:53 | skrylar[m] | `{"foomodule": "git://sourcehut.com/skrylar/foomodule#somehash"}` |
04:47:04 | disruptek | shashlick: you could consider an automatic lmdb api. i am thinking of turning golden into a complete unittest framework. |
04:47:40 | shashlick | disruptek: nimterop has a long road ahead of it - have some roadblocks (nested structs, multi-dimensional arrays, etc) which need a rearchitecture of the backend |
04:47:46 | * | chemist69 joined #nim |
04:47:54 | shashlick | once I get across that, c++ will be next |
04:48:11 | disruptek | comments... 😉 |
04:50:30 | shashlick | do you mean an lmdb wrapper? |
04:50:35 | disruptek | yeah. |
04:50:42 | skrylar[m] | isn't there one? |
04:50:49 | disruptek | yeah, but it's hand-coded. |
04:51:08 | shashlick | https://github.com/LMDB/lmdb/tree/mdb.master/libraries/liblmdb ? |
04:51:33 | disruptek | i think so. |
04:51:49 | skrylar[m] | its pretty neat |
04:52:24 | disruptek | yeah, i am thinking i will just support testament and unittest2 syntax, to start. then expand with a Third Way. |
04:52:45 | * | skrylar[m] is a bum who just outputs TAP these days |
04:52:49 | disruptek | but this will give us a transition and a unification of data for regressions, etc. |
04:52:57 | disruptek | TAP is the right way to go. |
04:54:32 | skrylar[m] | i used to like gtest and friends, but then when i was poking around with perl/prove noticed that you don't need parallel test BS because the OS will do that if each suite is its own executable (which admittedly if you static link a lot, you waste a lot of space storing tests i guess) |
04:54:47 | skrylar[m] | the node people also made a fair share of tap formatters |
04:55:01 | disruptek | i really like ava, from the node world. |
04:55:35 | skrylar[m] | might take a look at it |
04:56:06 | skrylar[m] | my almost-2020 code uses `redo` and just builds each module and runs `prove` on it; so breaking a test is considered a hard failure |
04:56:09 | disruptek | it's pretty well thought-out. |
04:56:17 | disruptek | !repo avajs |
04:56:19 | disbot | https://github.com/dlebedynskyi/ava-issue-1093 -- 9ava-issue-1093: 11code sample for https://github.com/avajs/ava/issues/1093 15 0⭐ 3🍴 7& 29 more... |
04:56:31 | disruptek | !repo avajs/ava |
04:56:33 | disbot | https://github.com/avajs/ava -- 9ava: 11🚀 JavaScript test runner 15 17294⭐ 1167🍴 7& 19 more... |
04:57:39 | disruptek | i've been thinking about a good way to do code-coverage reports, too. might have that built-in. |
04:57:39 | skrylar[m] | have been resisting going back in to node stuff. its kind of ridiculous to have nim and python and javascript and lisp in one project |
04:57:59 | disruptek | agree; i really hate the js ecosystem. |
04:58:16 | disruptek | but, i think there's a lot to take inspiration from, especially the failures. |
04:59:02 | skrylar[m] | i dont really hate js more than any other non-lisp; for me its just a case of you have "get what you are given" languages and then the ones that let you build upward as needed |
04:59:20 | skrylar[m] | almost every accepted language is a "get what you are given" and they then go through long tooth pulling sessions to do anything |
04:59:50 | disruptek | yes, it's annoying to have a glass ceiling before you even start. |
05:00:01 | skrylar[m] | "in five years we will finally have async/await and some poor version of coroutines the assembly nerds had throughout the early 90s and the lispers already made during their lunch hour" |
05:02:47 | disruptek | what's annoying is bikeshedding when there's no shed. |
05:03:16 | skrylar[m] | central planning: programmer edition :wink |
05:03:21 | shashlick | disruptek: your lmdb wrapper is ready - at least for linux |
05:03:30 | disruptek | shashlick: what took you so long? |
05:04:22 | shashlick | http://ix.io/25Mh/nim |
05:04:25 | shashlick | first world problems |
05:04:53 | disruptek | hah, thank you! maybe it closes a golden bug with -d:danger. |
05:05:57 | shashlick | so it always uses git, so just use -d:lmdbStatic if you want static link, else no -d required |
05:07:19 | disruptek | ah, cool. |
05:08:45 | disruptek | yay, my deps are already broken in 1.0.4. |
05:10:38 | disruptek | i will have to dump nimetry. oh well. |
05:15:19 | disruptek | thanks again, shashlick, i will have to rewrite for this. worth it, though! |
05:17:04 | shashlick | np, have fun |
05:17:13 | shashlick | wonder if lmdb will compile on windows and osx tho |
05:17:37 | disruptek | i know it works on windows; not sure about osx. |
05:18:30 | shashlick | compiles with mingw? |
05:19:27 | disruptek | i dunno, but i suppose it's rather critical that it does. |
05:19:37 | disruptek | whatfer nimterop reasons. |
05:21:58 | shashlick | more cause most of your users use mingw on windows |
05:22:50 | disruptek | what else does nim support on windows? |
05:24:14 | shashlick | people use visual studio but it isn't 100% tested |
05:24:40 | shashlick | i tested tcc a while ago, some issues there too |
05:24:50 | shashlick | recent forum post about the intel compiler |
05:24:59 | shashlick | only mingw is covered in our CI |
05:25:08 | disruptek | i thought tcc was deprecated, removed, and then restored. but still deprecated. |
05:26:34 | shashlick | you mean in general or within nim |
05:26:38 | disruptek | nim |
05:27:19 | * | dddddd quit (Remote host closed the connection) |
05:30:30 | shashlick | all i know is that its been there for years, maybe to make a repl or standalone minimal distro, don't remember anymore |
05:35:20 | * | endragor joined #nim |
05:40:23 | * | endragor quit (Ping timeout: 258 seconds) |
05:42:15 | * | marmotini_ joined #nim |
06:07:07 | * | marmotini_ quit (Remote host closed the connection) |
06:09:23 | * | marmotini_ joined #nim |
06:39:27 | Araq | repl |
06:40:19 | shashlick | gm |
06:41:18 | shashlick | just replied on the PR #12950, ptal when you can |
06:41:20 | disbot | https://github.com/nim-lang/Nim/pull/12950 -- 3Add getCompileOptionString() to get Nim config at compile time |
07:05:17 | Araq | shashlick: to fix the bootstrapping problem do this |
07:05:23 | Araq | condsyms.nim |
07:05:31 | Araq | define "nimHasCompileSetting" |
07:05:35 | Araq | system.nim |
07:05:46 | Araq | when defined(nimHasCompileSetting): |
07:05:53 | Araq | # new magic procs here |
07:06:59 | shashlick | neat |
07:07:11 | shashlick | any tips on the segfault? |
07:07:45 | Araq | newNode(nkBracket) # no type? |
07:08:04 | Araq | (and also no line information, not good) |
07:08:55 | Araq | btw compileMultiSetting should be compileSettingSeq IMHO |
07:09:47 | shashlick | i tried `newNodeI(nkBracket, http://n.info)` and `result.typ = n.typ` but it still crashes |
07:09:50 | shashlick | i'll rename |
07:10:15 | * | solitudesf joined #nim |
07:11:04 | sealmove | reworked !nimitai |
07:11:36 | sealmove | there is now lexing/parsing separation and expression language is isolated |
07:11:55 | sealmove | expression language has its own lexer/parser too |
07:11:59 | Araq | oh boy our exception tests are super hard to make green, good stuff |
07:12:04 | sealmove | everything is done with (n)peg |
07:14:38 | Araq | newNodeIT(nkBracket, n.info, n.typ) should do it |
07:17:16 | shashlick | nope, still crashes |
07:17:25 | * | Hideki joined #nim |
07:17:47 | Araq | where does it crash? |
07:17:48 | * | Hideki is now known as Guest21451 |
07:17:58 | shashlick | http://ix.io/25MO |
07:18:35 | shashlick | calls to compileSetting work fine, but the first call to compileSettingSeq crashes as linked |
07:20:42 | Araq | well the elements need to have a type too |
07:21:19 | Araq | result.add newStrNode(nkStrLit, i) # wrong too |
07:21:25 | * | nsf joined #nim |
07:22:01 | Araq | uh oh, exception handling is underspecified |
07:22:07 | * | Guest21451 quit (Ping timeout: 265 seconds) |
07:22:31 | Araq | and worse, the spec in my head says "uh, I dunno" |
07:24:02 | shashlick | ya i cannot use newStrNodeT since n.typ is seq[string], not sure how to create a PType of string |
07:24:45 | Araq | getSysType(c.graph, tyString) |
07:24:48 | Araq | or similar |
07:25:33 | shashlick | there won't be any lineinfo tho right? |
07:25:42 | shashlick | or would it still be the same http://n.info? |
07:28:58 | shashlick | well it worked! |
07:40:44 | Zevv | araq: underspecified how? |
07:42:58 | * | solitudesf- joined #nim |
07:43:14 | * | solitudesf quit (Ping timeout: 240 seconds) |
07:55:37 | * | narimiran joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:02:23 | * | Vladar joined #nim |
08:05:08 | * | gmpreussner joined #nim |
08:11:13 | * | curtmack joined #nim |
08:40:45 | Araq | Zevv: how to continue with a 'raise' inside an 'except' |
08:41:03 | * | NimBot joined #nim |
08:54:49 | Zevv | yeaah these are fun I guess :/ |
08:57:26 | * | nsf quit (Quit: WeeChat 2.6) |
08:58:07 | * | ng0 joined #nim |
09:00:03 | * | solitudesf- quit (Quit: Leaving) |
09:00:21 | * | solitudesf joined #nim |
09:00:40 | Zevv | as much fun as handling exceptions during stack unwinding in destructors |
09:02:26 | * | solitudesf quit (Remote host closed the connection) |
09:02:41 | * | solitudesf joined #nim |
09:09:32 | skrylar[m] | i would probably say that is just a fatal error (unless the exception is captured within the destructor) |
09:10:10 | skrylar[m] | but i'm a derp and usually the only reason i want destructors is to take something out of a list or send a death notice to an external library |
09:10:49 | skrylar[m] | *finalizers |
09:12:30 | shashlick | Araq: how do you print the ast within the compiler? like dumpTree, etc in macros |
09:18:07 | * | solitudesf quit (Ping timeout: 258 seconds) |
09:23:57 | * | endragor joined #nim |
09:25:09 | * | oprypin_ quit (Quit: Bye) |
09:25:39 | * | oprypin joined #nim |
09:27:49 | * | oprypin quit (Client Quit) |
09:27:57 | * | oprypin joined #nim |
09:29:37 | * | endragor quit (Ping timeout: 258 seconds) |
09:34:44 | * | oprypin quit (Quit: Bye) |
09:34:52 | * | oprypin joined #nim |
09:50:41 | * | dwdv joined #nim |
10:07:15 | * | marmotin_ joined #nim |
10:07:18 | * | Vladar quit (Remote host closed the connection) |
10:08:17 | * | marmotini_ quit (Read error: Connection reset by peer) |
10:20:24 | * | endragor joined #nim |
10:24:34 | shashlick | Araq: another one - how do you represent hex values internally? If i save a hex value in a newIntNode, it becomes an int on render |
10:30:38 | * | marmotin_ quit (Remote host closed the connection) |
10:32:06 | * | marmotini_ joined #nim |
10:47:01 | sealmove | Concept of hex only exists as a string |
10:47:52 | sealmove | concept of radix I mean |
10:48:53 | shashlick | wonder how nimpretty works then - if a user has 0x123, it will get rendered as an int? |
10:50:39 | shashlick | nope, nimpretty retains the hex value - how is it stored internally then? |
11:06:36 | * | narimiran quit (Ping timeout: 258 seconds) |
11:17:50 | * | ehmry quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
11:18:13 | * | ehmry joined #nim |
11:19:05 | * | Hideki_ joined #nim |
11:21:37 | * | Vladar joined #nim |
11:22:06 | Zevv | good question. In macro's my ints are just IntLit, but repr remembers its hexity |
11:23:14 | * | Hideki_ quit (Ping timeout: 240 seconds) |
11:23:48 | * | ehmry quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
11:24:15 | * | ehmry joined #nim |
11:27:00 | Zevv | there's magic flags in my nimnodes like nfBase16 |
11:39:02 | * | nsf joined #nim |
11:44:59 | * | Hideki_ joined #nim |
12:00:38 | * | marmotini_ quit (Remote host closed the connection) |
12:13:21 | * | ehmry quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
12:13:48 | * | ehmry joined #nim |
12:14:02 | * | Hideki_ quit (Remote host closed the connection) |
12:14:47 | * | Hideki_ joined #nim |
12:19:18 | * | Hideki_ quit (Ping timeout: 260 seconds) |
12:19:56 | * | ehmry quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
12:20:28 | * | ehmry joined #nim |
12:29:06 | * | Hideki_ joined #nim |
12:32:05 | * | marmotini_ joined #nim |
12:42:47 | * | krux02 joined #nim |
12:44:46 | * | krux02 quit (Remote host closed the connection) |
12:52:09 | skrylar[m] | https://highlandjs.org/ this seems weirdly relevant, but i'm still trying to understand it to see if it has any actual nim use |
12:54:01 | * | Vladar quit (Quit: Leaving) |
13:11:56 | skrylar[m] | oh i kind of get it. they're doing trickery so you can use the same syntax to deal with callback chains as you do with futures or the like |
13:34:52 | * | dddddd joined #nim |
13:35:23 | * | marmotini_ quit (Remote host closed the connection) |
13:43:36 | * | marmotini_ joined #nim |
13:46:26 | * | detona joined #nim |
13:46:39 | * | detona left #nim (#nim) |
13:46:54 | * | Hideki_ quit (Remote host closed the connection) |
13:47:40 | * | Hideki_ joined #nim |
13:48:22 | * | Hideki_ quit (Remote host closed the connection) |
13:48:33 | * | marmotini_ quit (Ping timeout: 260 seconds) |
13:48:35 | * | Hideki_ joined #nim |
13:58:06 | * | marmotini_ joined #nim |
13:59:19 | * | marmotini_ quit (Remote host closed the connection) |
14:05:35 | * | marmotini_ joined #nim |
14:06:35 | * | marmotini_ quit (Remote host closed the connection) |
14:09:03 | * | marmotini_ joined #nim |
14:10:24 | * | marmotini_ quit (Remote host closed the connection) |
14:20:29 | * | solitudesf joined #nim |
14:49:08 | * | Trustable joined #nim |
15:03:13 | * | Hideki_ quit (Remote host closed the connection) |
15:04:13 | * | Hideki_ joined #nim |
15:06:56 | * | Hideki_ quit (Remote host closed the connection) |
15:07:06 | * | ng0_ joined #nim |
15:07:10 | * | Hideki_ joined #nim |
15:10:13 | * | ng0 quit (Ping timeout: 260 seconds) |
15:10:35 | * | tane joined #nim |
15:21:22 | disruptek | hearts and minds, people; hearts and minds! |
15:27:18 | Zevv | what does that even *mean*? |
15:28:14 | disruptek | it means today's mission is to win hearts and minds. |
15:28:18 | disruptek | by hook or by crook. |
15:28:42 | disruptek | i'm more of a crook with a penchant for hookers. |
15:29:03 | disruptek | today we're going to make something amazing. |
15:29:34 | disruptek | the question is, what. |
15:32:28 | Zevv | today is almost over |
15:32:34 | Zevv | Im no longer sober |
15:32:38 | Zevv | not going to happen today |
15:33:13 | disruptek | noooo! |
15:35:05 | * | marmotini_ joined #nim |
15:36:06 | FromDiscord | <exelotl> Tomorrow we are going to make something amazing |
15:40:22 | disruptek | hmm, i don't like this attitude. |
15:42:05 | stefantalpalaru | Araq: thank you for merging https://github.com/nim-lang/Nim/pull/12922. Can we get it backported to 1.0.x? I'd like to use it in production, but some of my colleagues are reluctant to use anything but official compiler releases. |
15:42:05 | disbot | ➥ generic stack trace overriding mechanism |
15:45:19 | * | marmotini_ quit (Remote host closed the connection) |
15:49:30 | * | ng0_ is now known as ng0 |
15:52:56 | * | Hideki_ quit (Remote host closed the connection) |
15:54:11 | lqdev[m] | is it possible to cast a `ptr UncheckedArray[uint8]` to an `array[8, uint8]`? |
15:55:52 | * | Hideki_ joined #nim |
15:56:50 | lqdev[m] | for some reason, it crashes for me |
15:57:34 | lqdev[m] | right now I'm simply copying the data |
15:58:11 | * | marmotini_ joined #nim |
15:59:10 | Trustable | @lqdev[m]: I have for example this term in my code: cast[ptr int](cast[ref seq[int]](memory.addr)[registers[0]])[] Maybe this gives you an idea how to cast ist. |
16:00:23 | * | Hideki_ quit (Ping timeout: 260 seconds) |
16:00:39 | disruptek | lqdev: it's not clear that you're deref'ing. |
16:01:29 | lqdev[m] | disruptek: well, my intent is to get a view to a seq, but thinking it through a second time copying the value is probably a much wiser idea |
16:12:50 | Zevv | Yeah, tomorrow would be good |
16:13:10 | disruptek | where are you staying at fosdem? |
16:15:52 | Zevv | I think I'll just drive up for the day |
16:20:23 | * | endragor quit (Remote host closed the connection) |
16:22:32 | disruptek | booo |
16:23:56 | Zevv | I hear you |
16:24:04 | Zevv | but reasons, both financial and practical |
16:24:11 | * | uu91 joined #nim |
16:24:17 | disruptek | fair enough. |
16:24:40 | disruptek | you just live too close. 😁 |
16:24:48 | Zevv | right. It's 2 hours and a bit |
16:25:32 | Zevv | So I can leave here at 7.00 or so, get there, have a coffee and then its 10.00 |
16:26:32 | federico3 | Zevv: and friday evening? |
16:26:39 | Zevv | sorry |
16:27:16 | * | narimiran joined #nim |
16:35:39 | * | Hideki_ joined #nim |
16:53:35 | * | Hideki_ quit (Ping timeout: 268 seconds) |
17:02:59 | * | ptdel joined #nim |
17:11:44 | lqdev[m] | could someone tell me, is the thing I'm doing with `RawValue` and `Value` going to cause GC problems? https://github.com/liquid600pgm/rod/blob/master/src/rod/private/value.nim#L21 |
17:12:12 | lqdev[m] | I suppose yes, because how does the GC know what is actually stored in the union? |
17:15:05 | disruptek | if that works, it's because the compiler is way smarter than me. |
17:15:22 | lqdev[m] | then it probably won't |
17:15:33 | lqdev[m] | but I suppose something like this could work: https://play.nim-lang.org/#ix=25PC |
17:15:46 | disruptek | hey, i'm just a useful idiot. you don't give the compiler enough credit. |
17:16:04 | lqdev[m] | I wonder, why the len(ty) < 32768 restriction is a thing |
17:16:57 | disruptek | variant objects are limited to uint16 variants. |
17:17:30 | Araq | benchmark results! |
17:17:44 | disruptek | wut |
17:20:55 | Araq | C++ |
17:20:55 | Araq | SIGABRT: Abnormal termination. |
17:21:01 | Araq | er... ok? |
17:21:28 | * | endragor joined #nim |
17:21:40 | lqdev[m] | disruptek: but uint16 is 0..65535, not 0..32766. |
17:21:55 | disruptek | guess it's not uint. |
17:21:59 | disruptek | because araqlogic. |
17:21:59 | Araq | the compiler produces a lookup table |
17:22:05 | Araq | you don't want it to be big |
17:22:14 | Araq | the limit doesn't matter much |
17:22:31 | Araq | so ... ok, C++ exceptions are broken and cannot be benchmarked |
17:22:38 | disruptek | nothing new here. |
17:22:39 | lqdev[m] | what's the lookup table for? I suppose fields that are available in a given variant? |
17:22:48 | Araq | these are the results for the other exception mechanisms: |
17:22:50 | disruptek | nimph doesn't work on cpp. |
17:22:59 | Araq | setjmp |
17:23:02 | Araq | Elapsed: (seconds: 10, nanosecond: 587988800) |
17:23:04 | Araq | goto |
17:23:06 | Araq | Elapsed: (seconds: 8, nanosecond: 937499300) |
17:23:52 | disruptek | sounds like c++ is waaaay faster. |
17:24:44 | disruptek | incorrect answers delivered FAST. |
17:26:43 | * | endragor quit (Ping timeout: 260 seconds) |
17:27:15 | * | marmotini_ quit (Ping timeout: 258 seconds) |
17:34:10 | * | marmotini_ joined #nim |
17:36:28 | yumaikas | Does anyone have any tips for splitting a jester router across multiple files? |
17:38:17 | skrylar[m] | i have heard from some old web vets that you don't really want to split the router, what you want to do is shove the logic out of the file with the router definition |
17:39:00 | * | FromGitter joined #nim |
17:48:04 | yumaikas | Hrm... |
17:48:53 | * | marmotini_ quit (Ping timeout: 260 seconds) |
17:51:19 | dom96 | what you should do is create a bunch of functions that take Jester's Request type and return a response |
17:51:40 | dom96 | and then use the `resp` etc. templates in the jester route accordingly |
17:55:28 | yumaikas | Looks like you can add multiple match procs? |
17:59:05 | FromGitter | <zetashift> huh so the IRC bot was down |
18:03:02 | Araq | goto |
18:03:04 | Araq | Elapsed: (seconds: 9, nanosecond: 105410300) |
18:03:06 | Araq | setjmp |
18:03:08 | Araq | Elapsed: (seconds: 10, nanosecond: 468580100) |
18:03:10 | Araq | C++ |
18:03:12 | Araq | Elapsed: (seconds: 8, nanosecond: 158202300) |
18:03:20 | Araq | C++'s exception handling is hard to beat :P |
18:03:40 | disruptek | fair enough. |
18:03:56 | Araq | let's better fix it |
18:04:15 | FromGitter | <Willyboar> and i wonder why the channel was so quiet |
18:04:21 | Araq | goto beats setjmp by a fair margin though |
18:04:26 | FromGitter | <zetashift> yea me too hahaha |
18:04:44 | FromGitter | <zetashift> I was like, everyone still on holidays huh? Nope seesm the IRC bot was the only one |
18:05:43 | disruptek | what, the bot isn't logging? |
18:05:47 | FromDiscord | <exelotl> wow I finally got what a sink parameter is |
18:05:50 | FromDiscord | <exelotl> lol |
18:06:16 | dom96 | This is why Nim's irc logs are the source of truth, amazingly NimBot is still incredibly reliable |
18:06:24 | dom96 | and I haven't touched it in many years |
18:06:36 | Araq | it restarts |
18:06:46 | FromGitter | <zetashift> @disruptek, the bridge from Gitter <-> IRC was down |
18:07:04 | dom96 | yes, and it does so too often, but that behaviour works very well |
18:07:35 | disruptek | getting bored with nimph. not enough bugs. |
18:07:41 | dom96 | Don't get why FromGitter can't do the same |
18:08:15 | FromGitter | <Willyboar> disruptek create a new bridge bot :) |
18:08:23 | dom96 | yes please ^ |
18:08:41 | dom96 | if you do it well you might even be able to beat matter bridge shitty implementation and win lots of users |
18:09:00 | disruptek | fun, but not useful. |
18:09:17 | dom96 | Very useful |
18:09:50 | disruptek | would you rather have a bridge than a new unit test framework? |
18:09:53 | FromGitter | <Willyboar> if he'll make it i am sure he will beat matter shit |
18:10:02 | * | yumaikas just realized that the settings: macro creates a variable name settings |
18:11:38 | dom96 | yes |
18:12:18 | disruptek | really? that's the weak link in our tooling? a bridge? |
18:13:04 | dom96 | no, the weak link in our tooling is a much better polished VS Code experience |
18:13:07 | narimiran | disruptek: how about making nimsuggest2, i.e. fixing memory leaks in nimsuggest? :) |
18:13:29 | FromGitter | <Willyboar> I think we need tools to attract more people to Nim |
18:13:35 | dom96 | and yep, that includes nimsuggest being better. See even narimiran agrees with me :P |
18:13:45 | narimiran | :) |
18:13:45 | Araq | nobody likes nimsuggest |
18:13:54 | disruptek | but, nimsuggest works fine for me. better than fine. |
18:13:56 | * | marmotini_ joined #nim |
18:13:59 | dom96 | But FromDiscord is so annoying with its stupid paste behaviour that it really warrants a rewrite |
18:14:05 | dom96 | and I doubt it would even take long |
18:14:15 | Araq | dom96, the question is though why does NimBot restart |
18:14:16 | disruptek | whereas unittest2/testament does not work very well. |
18:14:29 | dom96 | Araq, because it leaks memory, I haven't recompiled it in a long time |
18:14:33 | Araq | and can we claim "it's super stable" when it restarts occasionally |
18:14:37 | FromGitter | <Willyboar> @dom96 matterbridge supports disord too |
18:14:47 | dom96 | Willyboar: yes, that is what FromDiscord is |
18:15:03 | Araq | dom96, huh? do you kill it when it takes up too much memory? |
18:15:09 | dom96 | Araq, linux does |
18:15:26 | yumaikas | How big is the code for matterbridge? |
18:15:26 | narimiran | dom96: btw, i have not experienced severe memory leaks with neovim like i did previously with vscode. i guess leorize[m] did some magic :) |
18:15:48 | FromGitter | <Willyboar> https://github.com/42wim/matterbridge |
18:16:03 | Araq | yeah but linux does it after X gigabytes, played with some ulimits? |
18:16:15 | dom96 | narimiran, I'm much more annoyed when nimsuggest gives no suggestions than about its memory leaks. |
18:16:29 | dom96 | well, not even suggestions, I don't even use that, I just use go to definition |
18:17:02 | dom96 | Often it works so slowly and badly that I wonder whether I'd be better off just writing something that runs nimgrep |
18:17:11 | dom96 | at least then I'd get a good result 80% of the time and quickly |
18:17:25 | Araq | it's most a setup problem |
18:17:37 | dom96 | to be fair though, even at my work the go to definition isn't perfect for Hack code |
18:17:55 | Araq | if nimsuggest happens to have received the proper project.nim |
18:17:59 | disruptek | there are a lot of new fuzzy finders out there, if you feel like messing with vs code. i personally won't support it. |
18:18:05 | Araq | and it knows about 'nim js' then it works quite well |
18:18:18 | disruptek | i'm happy with it. |
18:18:48 | dom96 | Araq, why would I play with ulimits? It works well. The leak needs to be fixed not Linux's behaviour. |
18:19:23 | disruptek | nimbot works. it does its job. |
18:19:28 | narimiran | disruptek: so, we still haven't found something interesting for you to work on? :) this is becoming harder than i initially thought :D |
18:19:29 | Araq | dom96, well strictly speaking the OOM killer could select a different process |
18:20:10 | dom96 | true, but in practice it hasn't caused any problems |
18:20:10 | disruptek | Araq: if he recompiles nimbot for any reason, he is likely to improve the situation. |
18:20:10 | Araq | but my point is more like "does it *only* restart because of leaks?" |
18:20:31 | dom96 | true, that's a good question, and possibly not. It's possible there are some other crashes. |
18:20:40 | dom96 | But it's not worth the time investment |
18:20:57 | disruptek | narimiran: i like the idea of extending golden to do unit testing, too. |
18:21:01 | dom96 | We're not writing software for SpaceX here |
18:21:18 | disruptek | it works fine. |
18:21:23 | Araq | dom96, agreed but it's not honest to claim "It's incredibly stable" |
18:21:34 | Araq | when its uptime can be measured in days |
18:22:04 | Araq | it works well enough, sure. |
18:22:16 | disruptek | maybe it owes most of its reliability to the stability of the platform, but it's still reliable. even if it's reliably unable to run past X days. |
18:22:52 | dom96 | It's incredibly stable in the sense that it requires no time from me to make sure it works |
18:22:55 | dom96 | it just works (TM) |
18:23:03 | dom96 | and has been working for the past, what, 8 years? |
18:23:20 | disruptek | my favorite kind of software. |
18:23:28 | dom96 | Maybe "incredibly stable" is the wrong words, but whatever :) |
18:23:49 | FromGitter | <Willyboar> what is your favourite kind of software dis? |
18:24:06 | disruptek | stuff i write and don't need to revisit for years and years. |
18:24:24 | dom96 | Araq, now where crashes will becomes important is for my game, although i'm considering even creating a sort of cache to enable restarts for that |
18:24:42 | dom96 | it will still be challenging to restart connections to the clients though |
18:24:51 | dom96 | *become |
18:25:08 | disruptek | technically, you can restart without closing ports. |
18:25:28 | dom96 | but I doubt I will be able to lower crashes/restarts enough to have a reliable gaming experience |
18:25:44 | disruptek | architect for failure, then. |
18:25:48 | dom96 | indeed |
18:26:54 | dom96 | I think I will release the game first though, it's complex enough as it is already :) |
18:26:55 | yumaikas | Why do to think you won't be able to get low enough crashes/restarts? |
18:26:57 | disruptek | what do we actually /need/ in nimland? |
18:28:09 | dom96 | yumaikas, it's all a question of trade offs, I will likely spend more time fixing all the edge case crashes than just implementing a way to restart my server |
18:28:40 | disruptek | i probably have about 3 months before i wanna get on the road and take a job somewhere. |
18:28:49 | disruptek | need a project or two to bang out in that time. |
18:28:55 | FromGitter | <Willyboar> come to build nimux together |
18:29:01 | yumaikas | Ok. |
18:29:11 | disruptek | i just hate the web too much. 🤣 |
18:29:18 | FromGitter | <Willyboar> :( |
18:29:37 | disruptek | i mean, seriously. it basically made me quit IT for like 12 years. |
18:30:16 | FromGitter | <Willyboar> build a CI |
18:30:53 | FromGitter | <Willyboar> I know there is a lot of them but sounds nice |
18:31:38 | dom96 | Build a cool kernel in Nim |
18:32:01 | yumaikas | dom96: I'm still running into some issues trying to export routers? |
18:32:05 | disruptek | i've had this idea for building tests in the cloud, but i think even with deploying weave across lambda or something similarly silly... its all been done before and much better architected than anything i could come up with. |
18:32:06 | dom96 | Willyboar: I built a CI in Nim in the past :) |
18:32:35 | dom96 | yumaikas, you need to give more details than that :) |
18:32:54 | yumaikas | disruptek: make a swanky terminal library |
18:33:13 | FromGitter | <Willyboar> dom96 you have build almost everything in Nim |
18:33:25 | disruptek | maybe a new channels lib on weave. |
18:34:02 | yumaikas | dom96: I'm trying to figure out how to take the results of router routerName: and export them so that I can register them in a central file |
18:34:15 | tane | disruptek, no ecosystem is complete without a decent graph library, including an implementation of the network simplex algorithm :) |
18:34:29 | yumaikas | `export routerName` doesn't work |
18:34:32 | disruptek | yeah, i tagged a few graph libs last night. |
18:34:41 | disruptek | all pretty crude, but we gotta start somewhere. |
18:34:44 | yumaikas | router routerName*: doesn't work |
18:35:05 | dom96 | yumaikas, take a look at the examples in Jester's test folder: https://github.com/dom96/jester/blob/master/tests/alltest_router2.nim |
18:35:07 | disruptek | thing is, i'd rather use existing graph engines and just interface with them. |
18:35:33 | dom96 | disruptek, seems like this could give you some inspiration https://github.com/nim-lang/needed-libraries/issues/ |
18:35:59 | tane | disruptek, sure, easy enough. as of now, only C++ and JVM based languages have something decent. I had a look at the CLR/C# ecosystem recently and noticed it has _nothing_ in that direction. It seems all people do on C# is write software that processes credit card numbers |
18:37:05 | disruptek | there's a go graph lib called cayley that feels about right, but it was ridiculously broken when i tried to get it running. |
18:37:09 | yumaikas | dom96: Are routers exported by default? |
18:37:26 | disruptek | dgraph is a better choice, but i kinda want something embedded. |
18:38:04 | dom96 | yumaikas, IIRC yes |
18:38:06 | tane | disruptek, ah, this looks like graph-DBs |
18:38:26 | * | yumaikas needs to get to updating those jester-docs |
18:38:30 | disruptek | oh, you want to actually graph something? |
18:38:36 | dom96 | disruptek, alternatively, look at Go/Rust/Python packages, sort by popularity, implement those that Nim is missing |
18:39:04 | tane | disruptek, yeah :) |
18:39:19 | tane | disruptek, graph as in graph G = (V,E) |
18:40:05 | tane | in C++ there's the boost graph library (BGL) and lemon, on the JVM there's jgrapht, and for some other platforms there's igraph, which sucks |
18:41:23 | disruptek | nlvm->jvm->jgrapht |
18:42:14 | FromGitter | <Willyboar> build something in the gui land |
18:42:41 | tane | well, honestly, if I needed some graph algorithm I'd probably implement it with lemon in C++, wrap it in extern "C" and call it from whatever I was writing it, jgrapht is kinda slow |
18:43:07 | dom96 | with Nim you don't even need extern "C" :D |
18:43:40 | tane | but then I'd need to C++ backend, right? |
18:43:45 | tane | to=the |
18:44:10 | dom96 | yep |
18:47:32 | * | chemist69 quit (Ping timeout: 260 seconds) |
18:47:55 | * | chemist69 joined #nim |
18:49:20 | FromDiscord | <exelotl> uhh is this a bug? https://play.nim-lang.org/#ix=25Qd |
18:50:11 | Araq | no, 'distinct' types have no fields |
18:51:31 | FromDiscord | <exelotl> ah, how would I solve this then? |
18:52:12 | Araq | don't use 'distinct' |
18:52:24 | dom96 | you can also convert the type AFAIK |
18:53:50 | lqdev[m] | @exelotl inherit your Surface* types from the base Surface? |
18:54:19 | FromDiscord | <Milerius> Hello |
18:54:34 | lqdev[m] | hi |
18:56:15 | yumaikas | o/ |
18:56:19 | FromDiscord | <Milerius> I would like todo an official wrapper of: https://github.com/SanderMertens/flecs |
18:56:19 | FromDiscord | <Milerius> |
18:56:19 | FromDiscord | <Milerius> It's pure C99, but it's seem's that C2nim doesn't appreciate it a lot. |
18:56:19 | FromDiscord | <Milerius> |
18:56:20 | FromDiscord | <Milerius> What you will suggest to me for importing properly this library in nim and expose it to everyone ? |
19:01:06 | FromDiscord | <exelotl> lqdev[m]: more context: the type is imported from C, and it's important that I can cast between them, but also each type needs to be its own thing for overload resolution |
19:01:10 | FromDiscord | <Lantos> @disruptek what did you do for the 12 years out of it? |
19:01:10 | FromDiscord | <exelotl> https://github.com/exelotl/nim-tonc/blob/master/tonc/private/surface.nim |
19:02:57 | disruptek | i was a rare coin dealer and a mechanic/machinist with a mostly-porsche auto business. |
19:04:15 | Araq | Milerius: I would simply write an entity system for Nim instead, Nim deserves a native one |
19:04:16 | FromGitter | <Willyboar> and all of this because the web? |
19:04:38 | Araq | an ECS isn't hard to write |
19:04:58 | FromDiscord | <Lantos> I was going to suggest looking at the norm project or graphql project to work on but thats web stuff. What happened in web that did that made you swap to porsche auto business |
19:05:02 | Araq | and that "pure C99" shit usually reinvents destructors and inheritance |
19:05:26 | FromGitter | <Willyboar> i will think to dumb web too :) |
19:06:02 | disruptek | i'm a bit dubious of graphql. |
19:06:03 | Araq | because "meta programming" is that "C++ weird stuff" let's reinvent language features with a preprocessor |
19:06:35 | Araq | because hey, that never gets boring |
19:07:02 | Araq | and isn't a clusterfuck of error prone designs |
19:07:04 | * | jwm2241 joined #nim |
19:07:06 | FromDiscord | <Lantos> Its got a big following now |
19:08:10 | disruptek | i know, i drank the kool-aid at first. but i've moderated since then. |
19:08:20 | * | jwm224 quit (Ping timeout: 248 seconds) |
19:08:50 | Araq | exelotl: use inheritance for SurfaceBmp16 etc |
19:08:56 | * | jwm2241 is now known as jwm224 |
19:09:26 | Araq | requires .inheritable for your Surface declaration and there you go |
19:10:09 | * | MarquisdeFalbala joined #nim |
19:10:15 | FromDiscord | <Lantos> What about looking at the top npm packages and taking that to nim |
19:10:51 | disruptek | that's not what nim needs. |
19:11:29 | nisstyre | I know, monads |
19:11:34 | nisstyre | </sarcasm> |
19:11:37 | FromDiscord | <Lantos> Doms's jester could do with some love |
19:11:42 | FromDiscord | <Lantos> but again web |
19:11:44 | FromDiscord | <Milerius> xD @Araq Yeah why not |
19:11:52 | FromDiscord | <Milerius> We can have a real ecs in nim too. |
19:12:20 | Araq | not only that, Nim was designed for an ECS |
19:12:37 | FromDiscord | <Milerius> Yeah i know but there is few way's to do an ECS |
19:12:42 | FromDiscord | <Milerius> SparseSet vs Archetypes. |
19:12:53 | Araq | there is really only my way |
19:12:54 | FromDiscord | <Milerius> CompileTime component definitions vs Runtime etc |
19:13:02 | Araq | :P |
19:13:17 | FromDiscord | <Milerius> You don't like c-code that use idiom from other langages ? |
19:13:24 | FromDiscord | <Milerius> But in this case you will have a poor api. |
19:13:37 | FromDiscord | <Milerius> An ecs in C isn't that easy without some tricks. |
19:13:42 | Araq | I don't like C code. |
19:14:09 | FromDiscord | <Lantos> What about some crypto currency stuff disruptek? |
19:14:10 | Araq | it's a broken language that is confused about pointers and arrays |
19:14:29 | disruptek | crypto is well-represented by the status camp, in nim. |
19:14:47 | Araq | disruptek, machine learning? |
19:14:51 | FromGitter | <Willyboar> ^^ agree |
19:15:13 | disruptek | arraymancer and laser pretty well cover the ml sphere. |
19:16:05 | FromDiscord | <Milerius> I Understand. |
19:16:35 | disruptek | i think tests because it will force me to finish golden and it's something that doesn't have a good story. it's grunt work, which i am smart enough to handle. |
19:17:04 | FromGitter | <Willyboar> :( |
19:17:24 | Araq | disruptek, nice, however |
19:17:38 | Araq | one man working on machine learning isn't good enough |
19:17:55 | planetis[m] | tane: i just uploaded https://github.com/b3liever/patgraph its just the data structure though |
19:17:55 | disruptek | it seems to be sufficient to the need. |
19:18:12 | tane | planetis[m], nice |
19:18:25 | FromGitter | <Willyboar> planetis[m] i learned that you are from greece |
19:18:49 | planetis[m] | i just ported rust petgraph |
19:20:50 | FromGitter | <Willyboar> disruptek i just hoped to pick something more fancy :( |
19:21:31 | disruptek | there will always be time for fancy, provided nim isn't eclipsed by competition that gets right the basics that we ignore in the pursuit of... fancy. |
19:21:38 | planetis[m] | hi willyboar |
19:21:49 | planetis[m] | thats right |
19:22:10 | Araq | omg, this never happened before |
19:22:35 | Araq | I enabled --exceptions:goto as the default for --gc:arc and all the ARC tests are green! |
19:22:47 | disruptek | ship it. |
19:23:30 | Araq | what a day. I mean, the new impl was tested against crazy complex stuff |
19:23:34 | Araq | but still |
19:23:40 | Araq | never happened before. |
19:24:03 | Araq | probably I made some silly mistake and the new default isn't picked up |
19:24:03 | FromGitter | <Willyboar> planetis we can make greek community and organized a nimconf in mykonos |
19:24:15 | * | marmotini_ quit (Remote host closed the connection) |
19:24:20 | planetis[m] | an nim ecs would be nice but a specialized data structure is needed too |
19:25:14 | planetis[m] | i am refering to this talk: https://www.youtube.com/watch?v=aKLntZcp27M |
19:25:29 | planetis[m] | willyboar: lol |
19:27:05 | sealmove | i am in |
19:27:36 | FromGitter | <Willyboar> of cource you are. |
19:29:12 | sealmove | willyboar subject of interest in CS? |
19:29:30 | planetis[m] | ok then its settled |
19:29:35 | FromGitter | <Willyboar> bikini? |
19:30:07 | FromGitter | <Willyboar> string manipulation is better i think |
19:30:13 | sealmove | haha |
19:30:38 | sealmove | rope datatype was invented in mykonos |
19:33:31 | FromGitter | <Willyboar> Are you live in greece? |
19:37:20 | FromDiscord | <Lantos> @plantis some game dev did a rust roast on this video |
19:37:43 | FromDiscord | <Lantos> let me find it |
19:37:56 | FromGitter | <Willyboar> wrong ping :) |
19:38:10 | FromDiscord | <Lantos> eugh how do you ping in irc? |
19:38:17 | FromDiscord | <Lantos> oh gitter |
19:38:27 | FromDiscord | <Lantos> here https://www.youtube.com/watch?v=4t1K66dMhWk |
19:39:37 | * | marmotini_ joined #nim |
19:40:37 | planetis[m] | thanks lantos will check it out |
19:40:58 | planetis[m] | oh i've seen it actually |
19:42:31 | FromDiscord | <Lantos> This was the video that made me think twice about jumping deep into rust |
19:42:48 | FromDiscord | <Lantos> and then doing a little searching on hacker news found some post on nim |
19:43:36 | disruptek | a rustconf video on ecs explaining how to write larger programs with rust convinced you not to use rust? |
19:43:45 | dom96 | cool, now write an article titled "The video that made me think twice about Rust and turn to Nim instead" or something, then post to HN and reap that sweet karma |
19:44:38 | dom96 | Argh, writing AI code is so boring |
19:45:01 | FromGitter | <Willyboar> by the way what about this guy in the reddit? I am talking about the hater |
19:45:25 | FromDiscord | <Lantos> no It made me go looking to check out why everyone was getting so hyped about it |
19:45:42 | FromDiscord | <Lantos> lol |
19:46:32 | FromDiscord | <Lantos> how do you know that will work dom? have you done something similar 😉 |
19:48:00 | dom96 | Lantos: I visit HN far too often, and those kinds of articles have a high chance of getting upvotes |
19:50:36 | FromDiscord | <Lantos> what about benchmarks I'm sure that will give some nice karma |
19:51:43 | planetis[m] | iam just annoyed with how many boilerplate code this rust library had |
19:52:40 | skrylar[m] | oh rust is boilerplatey |
19:52:59 | planetis[m] | although i made some simplefications and can 't do a nim comparison |
19:53:18 | skrylar[m] | i like their hypothesis crate tough |
19:55:44 | * | marmotini_ quit (Remote host closed the connection) |
19:57:43 | * | marmotini_ joined #nim |
19:59:15 | planetis[m] | seems nice, i like a lot of rust projects but i think i wont bother learning rust. |
19:59:59 | planetis[m] | i mean programming is already very hard no need for more complexity |
20:00:00 | planetis[m] | at least for me |
20:00:25 | sealmove | rust is only good for special uses imo |
20:00:58 | FromGitter | <Willyboar> i don't like rust syntax at all |
20:01:10 | sealmove | to justify the weight it puts to the programmer you must really need its safety guarantees |
20:01:43 | FromGitter | <Willyboar> neither golang's |
20:02:46 | sealmove | syntax is the least important |
20:03:50 | * | marmotini_ quit (Remote host closed the connection) |
20:04:16 | * | nsf quit (Quit: WeeChat 2.6) |
20:06:39 | FromDiscord | <Lantos> huh |
20:07:03 | FromDiscord | <Lantos> syntax matters |
20:07:19 | FromDiscord | <Lantos> and semantics |
20:08:26 | FromGitter | <Willyboar> God people are sick https://www.guidestick.com |
20:08:26 | * | bozaloshtsh_ joined #nim |
20:09:08 | * | bozaloshtsh quit (Read error: Connection reset by peer) |
20:12:30 | planetis[m] | willyboar: you know how expensive funerals are in greece? |
20:12:59 | planetis[m] | better not die |
20:15:29 | * | MarquisdeFalbala quit (Ping timeout: 252 seconds) |
20:15:43 | FromDiscord | <Lantos> thats pretty cool, code sharing between ssr and front end single page elements with karax |
20:15:50 | * | belamenso joined #nim |
20:17:57 | belamenso | How do I import a constant through importc? Something like "var PI {.importc.}: cdouble" but with let? |
20:24:51 | FromDiscord | <jb> Hi all, newbie here. Is this a VSC extension bug or am I doing something wrong? It shows an error but it compiles fine, and it only happens when importing threadpool before asyncdispatch... |
20:24:51 | FromDiscord | <jb> https://cdn.discordapp.com/attachments/371759389889003532/660941319589330975/idk.png |
20:25:24 | FromDiscord | <Lantos> wait is that not possible? @dom can you share components between karax in ssr and client? |
20:27:31 | FromDiscord | <Lantos> @dom96 |
20:27:31 | FromDiscord | <Lantos> https://pastebin.com/dWtHJXTm |
20:32:20 | FromDiscord | <Lantos> https://play.nim-lang.org/#ix=25QW |
20:33:16 | * | marmotini_ joined #nim |
20:34:31 | * | marmotini_ quit (Remote host closed the connection) |
20:35:25 | * | marmotini_ joined #nim |
20:41:36 | * | ng0 quit (Ping timeout: 258 seconds) |
20:42:16 | FromGitter | <zetashift> @jb huh weird I get the same thing |
20:47:08 | * | ng0 joined #nim |
20:47:08 | * | ng0 quit (Changing host) |
20:47:08 | * | ng0 joined #nim |
20:47:13 | FromDiscord | <Lantos> oo got it to work |
20:50:12 | * | Hideki_ joined #nim |
20:54:58 | * | Hideki_ quit (Ping timeout: 260 seconds) |
20:57:32 | * | Marquisd_ joined #nim |
20:57:35 | * | marmotini_ quit (Remote host closed the connection) |
20:58:10 | * | Marquisd_ is now known as marquisdefalbala |
20:59:20 | * | ng0 quit (Quit: leaving) |
21:02:23 | * | ng0 joined #nim |
21:02:23 | * | ng0 quit (Changing host) |
21:02:23 | * | ng0 joined #nim |
21:22:15 | * | Hideki_ joined #nim |
21:31:14 | * | endragor joined #nim |
21:34:16 | * | Hideki_ quit (Remote host closed the connection) |
21:35:09 | * | Hideki_ joined #nim |
21:36:01 | * | endragor quit (Ping timeout: 268 seconds) |
21:43:25 | * | Hideki_ quit (Ping timeout: 268 seconds) |
21:50:50 | * | narimiran quit (Ping timeout: 240 seconds) |
21:52:36 | * | Hideki_ joined #nim |
21:52:52 | * | uu91 quit (Remote host closed the connection) |
21:54:54 | * | lmariscal06 joined #nim |
21:56:33 | * | lmariscal0 quit (Ping timeout: 268 seconds) |
21:57:07 | * | Hideki_ quit (Ping timeout: 258 seconds) |
22:18:34 | * | solitudesf quit (Ping timeout: 268 seconds) |
22:30:05 | * | Hideki_ joined #nim |
22:40:56 | * | Hideki_ quit (Ping timeout: 265 seconds) |
22:48:16 | disruptek | PLEASE SEND BUGS |
22:49:15 | sealmove | what's your preferance? spiders? |
22:51:44 | disruptek | 🐞🐞🐞 |
22:58:45 | FromGitter | <mratsim> Apparently go also doesn't support cyclic imports: https://github.com/golang/go/issues/30974 |
22:58:47 | disbot | ➥ legalize circular imports ; snippet at 12https://play.nim-lang.org/#ix=25RB |
23:01:04 | FromGitter | <mratsim> @disruptek @Araq It's been about a year that I didn't really work on Arraymancer and 6 months that I didn't work on laser because I'm spending my spare time on multithreading |
23:01:54 | FromGitter | <mratsim> But in ML the most helpful would be: helping @bluenote10 on either NimData or Kadro or @onqtam on Jupyter + Hot-Code-Reloading |
23:02:21 | disruptek | is nimdata pandas for nim? |
23:04:28 | FromGitter | <mratsim> yep |
23:04:40 | FromGitter | <mratsim> and kadro is a rewrite from scratch but dev is stalled |
23:05:14 | * | freddy92 joined #nim |
23:06:01 | FromGitter | <mratsim> Though if I started a pandas-like lib from scratch I would look into data.tables (in R + C++) or Nvidia CuDF (in Cuda) |
23:07:52 | Araq | mratsim: does it work with --gc:arc? |
23:08:04 | Araq | your stuff must work with arc, everything must work |
23:08:07 | disruptek | my idea for mixed-version imports is to scope path searches using separate configurations per module. it's probably not as expensive as it sounds. |
23:08:11 | Araq | bugfixing will continue tomorrow |
23:08:22 | Araq | good night |
23:08:25 | disruptek | peace. |
23:08:58 | FromGitter | <mratsim> didn't try, I throw a compile-time error if it doesn't return true to supportsCopyMem :p |
23:09:19 | * | fredrik92 quit (Ping timeout: 268 seconds) |
23:09:54 | FromGitter | <mratsim> any kind of usage in mind where it makes sense to return a sequence from a spawn? |
23:10:11 | FromGitter | <mratsim> ah maybe a string |
23:10:42 | FromGitter | <mratsim> ah but those are destructors |
23:42:19 | * | belamenso quit (Quit: Leaving) |