00:00:02 | * | junland quit (Quit: %ZNC Disconnected%) |
00:01:44 | * | junland joined #nim |
00:02:56 | leorize | is VLA actually worth it? |
00:03:14 | leorize | if you want really big arrays, a seq will do |
00:03:44 | leorize | if you want safe VLA, it just appears to me that you are re-implementing a static array with extra steps |
00:04:16 | leorize | you'd still need to check for the size |
00:04:21 | FromDiscord | <Clyybber> hmm fair enough |
00:04:26 | leorize | and the generated code might not even be optimal |
00:04:46 | FromDiscord | <Clyybber> yeah, maybe it doesn't belong into the language |
00:04:59 | FromDiscord | <Clyybber> thankfully its easy to implement them as a package |
00:05:03 | FromDiscord | <Clyybber> via alloca |
00:05:50 | leorize | most C projects are getting rid of VLAs, and I don't think it's because they can't make it safe |
00:07:36 | FromDiscord | <Clyybber> yeah, maybe it should just be an optimization for seq |
00:07:49 | FromDiscord | <Clyybber> svo |
00:08:13 | FromDiscord | <Clyybber> maybe gcc alredy does it for seqs (not sure if its smart enough) |
00:10:44 | leorize | optimization? |
00:11:04 | FromDiscord | <Clyybber> small vector optimization |
00:11:37 | leorize | I'm not sure how friendly is the old runtime seqs to gcc :P |
00:11:58 | leorize | the new runtime one is definitely much friendlier though |
00:12:04 | FromDiscord | <Clyybber> yeah |
00:15:28 | * | ng0 quit (Ping timeout: 260 seconds) |
00:16:57 | * | ng0 joined #nim |
00:29:20 | * | smitop quit (Quit: Connection closed for inactivity) |
00:30:18 | * | njoseph quit (Quit: No Ping reply in 180 seconds.) |
00:30:25 | * | njoseph joined #nim |
00:55:08 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
00:59:42 | blackbeard420 | thanks leorize getTypeImpl was exactly what i needed! |
01:15:03 | disruptek | `nimph upgrade` is here: https://github.com/disruptek/nimph#upgrade |
01:15:40 | * | Hideki_ joined #nim |
01:22:59 | disruptek | is it me or is the css is really screwy in latest nimdoc output? |
01:26:49 | disruptek | sorry yewpad; i can't take it. |
01:36:40 | leorize | :NimTypeOf has arrived in nim.nvim's master branch \o/ |
01:37:01 | leorize | feature demo: https://asciinema.org/a/lUnNDz4uMXrKJO4D5n4gZOEoO |
01:37:01 | leorize | nothing too fancy, but useful |
01:42:22 | blackbeard420 | oh wow i need to set that up for my nvim :) |
01:47:12 | * | lritter quit (Ping timeout: 268 seconds) |
01:47:25 | * | lritter joined #nim |
01:49:41 | * | lritter quit (Client Quit) |
01:54:21 | disruptek | damn folding makes it hard to follow what's happening. |
01:55:17 | disruptek | that's cool, though. i will have to mess with that. |
01:55:20 | disruptek | nice job. |
01:56:52 | * | NimBot joined #nim |
02:19:16 | * | Hideki_ quit (Ping timeout: 268 seconds) |
03:03:39 | * | Jjp137 quit (Read error: Connection reset by peer) |
03:03:57 | * | endragor joined #nim |
03:04:01 | * | Jjp137 joined #nim |
03:46:35 | * | Kaynatwo joined #nim |
03:47:10 | * | thomasross_ joined #nim |
03:47:10 | * | thomasross quit (Killed (adams.freenode.net (Nickname regained by services))) |
03:47:10 | * | thomasross_ is now known as thomasross |
03:48:21 | * | Kaynato joined #nim |
03:50:32 | * | Kanato quit (Ping timeout: 268 seconds) |
03:51:21 | * | Kaynatwo quit (Ping timeout: 265 seconds) |
03:55:03 | * | Jjp137 quit (Read error: Connection reset by peer) |
04:04:00 | * | thomasross quit (Read error: Connection reset by peer) |
04:17:29 | * | Jjp137 joined #nim |
04:29:47 | * | chemist69 quit (Ping timeout: 252 seconds) |
04:31:38 | * | chemist69 joined #nim |
04:49:24 | FromDiscord | <slymilano> Is there a rails/phoenix like web framework for Nim? |
04:53:31 | * | narimiran joined #nim |
06:06:10 | * | Hideki_ joined #nim |
06:10:56 | FromGitter | <sheerluck> @leorize sorry for off-topic, what are your personal top 3 advantages of neovim over vim? |
06:11:02 | * | Hideki_ quit (Ping timeout: 265 seconds) |
06:12:18 | FromDiscord | <Kaynato> encountered another strange issue in the postmortem of today's advent of code, time to pare down the error again .... |
06:14:31 | * | thomasross joined #nim |
06:16:43 | FromGitter | <Varriount> slymilano: Jester? |
06:19:33 | FromDiscord | <Kaynato> so I've been using the compile-time dispatch table strategy outlined in https://forum.nim-lang.org/t/5248#33005 and it works fine only sometimes, and for reasons unexplained, other times I get internal error: genObjConstr |
06:45:22 | FromGitter | <Varriount> Kaynato: Can you post an example where you receive the genObjConstr error? |
06:45:50 | FromDiscord | <Kaynato> I'm trying to pare it down to get the minimal reproduction, but if you wouldn't mind I can send it to you as-is, or as in the wild |
06:46:38 | Kaynato | I thought the module I had written was stable, but evidently not... there's so much to get rid of :s |
06:54:37 | Kaynato | Gah, looks to be issues with inheriting objects as always |
06:56:48 | FromGitter | <Kaynato> @Varriount Are you still around to take a look? |
07:05:32 | FromGitter | <Varriount> @Kaynato Yes |
07:05:51 | FromGitter | <Kaynato> https://play.nim-lang.org/#ix=24t7\ |
07:06:15 | Kaynato | (extra slash there) |
07:06:46 | FromGitter | <Kaynato> I ran koch on it but still don't have a lead |
07:24:36 | * | gour joined #nim |
07:40:51 | Araq | Kaynato: looks like a very complicated setup |
07:58:58 | * | nsf joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:02:47 | * | solitudesf-- joined #nim |
08:05:13 | * | gmpreussner joined #nim |
08:07:19 | FromGitter | <sheerluck> @leorize I patched nimsuggest/nimsuggest.nim like this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ and now, when I exit neovim, I no longer see `nimsuggest instance for project boo stopped with exitcode: 143` [https://gitter.im/nim-lang/Nim?at=5df5e9b7dbf24d0becf15499] |
08:11:37 | * | narimiran quit (Ping timeout: 240 seconds) |
08:16:17 | * | gour quit (Remote host closed the connection) |
08:17:34 | * | gour joined #nim |
08:17:40 | FromDiscord | <Kaynato> It makes a bit more sense in the wild |
08:44:42 | FromDiscord | <mratsim> @Clyybber why don't you just use Alloca? |
08:50:10 | * | solitudesf-- quit (Quit: Leaving) |
08:50:31 | * | solitudesf joined #nim |
09:20:30 | FromDiscord | <mratsim> And VLA don't work except in C99 so you wouldn't be able to use them with C++ |
09:49:28 | * | letto quit (Quit: Konversation terminated!) |
09:49:56 | * | letto joined #nim |
09:53:41 | madprops | walkDirRect doesn't take into account dirs without files hmm |
09:55:39 | FromGitter | <Varriount> Madprops: Sounds like a point for improvement |
09:56:02 | madprops | walkDirRec* btw |
09:56:40 | madprops | oh wait |
09:56:51 | madprops | there's yieldFilter |
09:58:16 | madprops | yeah, it already does that |
09:59:50 | madprops | yieldFilter={pcFile, pcDir} |
10:00:51 | madprops | araq thinks of everything |
10:00:55 | madprops | or whoever made this |
10:04:24 | leorize | @sheerluck: you only need to do that for SIGTERM, there's a handler for SIGINT already |
10:04:35 | leorize | but please PR that one :) |
10:07:54 | * | Hideki_ joined #nim |
10:11:57 | * | Hideki_ quit (Ping timeout: 240 seconds) |
10:14:10 | leorize | @sheerluck: also if you're on gitter you can join nim-lang/twitch, that's the off-topic channel |
10:32:01 | * | ng0 joined #nim |
10:36:34 | * | Hideki_ joined #nim |
10:41:39 | leorize | @sheerluck, disruptek, Zevv: more feature teasers for nim.nvim: https://asciinema.org/a/rA5weNC3gQAdoyEEeYqjRsGBY |
10:46:08 | * | lritter joined #nim |
11:02:08 | lqdev[m] | are signals POSIX or libc? |
11:02:17 | leorize | posix |
11:02:43 | leorize | the libc is specified in posix also :P |
11:03:12 | lqdev[m] | I was wondering how to do signal handling in Nim |
11:03:43 | leorize | unless you have good reasons, signal handling is a pitfall |
11:06:07 | Zevv | leorize: overdoing it dude, overdoing it |
11:06:47 | leorize | Zevv: well, I couldn't sleep :P |
11:07:51 | leorize | didn't you request this feature? |
11:09:57 | * | Hideki_ quit (Remote host closed the connection) |
11:10:02 | Zevv | *sooo* overdoing it :) |
11:10:35 | leorize | pushed to master :) |
11:10:39 | leorize | now `K` works \o/ |
11:10:39 | Zevv | nice job! \o/ |
11:10:40 | * | Hideki_ joined #nim |
11:13:24 | leorize | guess it's about time to make a new demo, any recommended snippets of code that I could use? |
11:15:09 | * | Hideki_ quit (Ping timeout: 268 seconds) |
11:24:22 | * | gour quit (Remote host closed the connection) |
11:28:51 | * | Hideki_ joined #nim |
11:29:02 | * | gour joined #nim |
11:30:12 | * | Hideki_ quit (Remote host closed the connection) |
11:31:10 | * | Hideki_ joined #nim |
11:31:45 | * | Hideki_ quit (Remote host closed the connection) |
11:31:55 | leorize | Zevv: just in case you updated, I've just pushed a hotfix to master :P |
11:32:00 | leorize | I broke suggestions :P |
11:32:00 | * | Hideki_ joined #nim |
11:33:21 | * | Hideki_ quit (Remote host closed the connection) |
11:34:00 | * | Hideki_ joined #nim |
11:34:06 | * | Hideki_ quit (Remote host closed the connection) |
11:34:20 | * | Hideki_ joined #nim |
11:34:35 | * | tane joined #nim |
11:37:38 | * | Hideki_ quit (Client Quit) |
11:40:10 | * | Hideki_ joined #nim |
12:01:38 | FromGitter | <Willyboar> @madprops are you here? |
12:04:43 | FromGitter | <Willyboar> I tested all the flags in lq and worked like a charm. |
12:05:05 | FromGitter | <Willyboar> I install it with nimble by the way |
12:05:32 | FromGitter | <Willyboar> The only thing i would like to see is some message if the folder is empty |
12:06:05 | FromGitter | <Willyboar> or with the exec flag to print something like "no executables here" |
12:12:07 | * | gour quit (Remote host closed the connection) |
12:12:36 | * | gour joined #nim |
12:14:09 | madprops | Willyboar you mean something apart from --count that counts items in directories? |
12:14:16 | madprops | and always show "Executables" but show there's nothing? |
12:14:38 | * | gour quit (Remote host closed the connection) |
12:14:40 | FromGitter | <Willyboar> i mean when a folder is empty |
12:14:46 | FromGitter | <Willyboar> or there is no exec |
12:15:06 | * | gour joined #nim |
12:15:21 | madprops | oh like running the command inside an empty dir |
12:15:33 | FromGitter | <Willyboar> yeap. exactly |
12:15:48 | FromGitter | <Willyboar> a grey italic text would be nice :P |
12:20:26 | * | dddddd quit (Remote host closed the connection) |
12:22:28 | * | fanta1 joined #nim |
12:23:22 | * | Hideki_ quit (Remote host closed the connection) |
12:23:43 | * | Hideki_ joined #nim |
12:25:37 | madprops | Willyboar, wouldn't it be better to show the header instead, which includes the count? http://i.imgur.com/6qYkoJq.png |
12:29:54 | madprops | and i don't know if it should show titles if there are no items, it could be too verbose |
12:30:01 | madprops | like Files or Executables, if there are none |
12:38:20 | madprops | though i like that it'd have a fixed structure, so im gonna try something |
12:43:58 | * | laaron joined #nim |
12:55:45 | * | zyklon quit (Quit: Konversation terminated!) |
12:56:01 | * | zyklon joined #nim |
12:59:41 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
13:16:06 | * | narimiran joined #nim |
13:26:55 | * | krux02 joined #nim |
13:29:11 | disruptek | hearts and minds, people; hearts and minds! |
13:35:08 | * | Hideki_ quit (Remote host closed the connection) |
13:36:20 | * | Hideki_ joined #nim |
13:41:18 | * | Hideki_ quit (Ping timeout: 268 seconds) |
13:43:36 | FromDiscord | <mratsim> Any idea on avoiding nimble erroring after installing a package? https://dev.azure.com/numforge/Weave/_build/results?buildId=20 and https://travis-ci.com/mratsim/weave/jobs/267371080#L2547 |
13:45:02 | * | fanta1 quit (Quit: fanta1) |
14:15:18 | * | gour quit (Remote host closed the connection) |
14:15:42 | * | gour joined #nim |
14:17:20 | lqdev[m] | https://play.nim-lang.org/#ix=24uQ is there a way of getting an ntyInt in this case? |
14:17:57 | lqdev[m] | I guess that's only possible using an int literal, right? |
14:19:54 | * | Hideki_ joined #nim |
14:22:31 | * | Hideki_ quit (Remote host closed the connection) |
14:22:45 | * | Hideki_ joined #nim |
14:23:05 | blackbeard420 | i have a buffer that i allocate with alloc0, then pass it to a c function that returns the length written into the buffer. back on the nim side i cast it via cast[ptr UncheckedArray](buf) and it somehow already knows the length read without using the return value. how is this possible? |
14:24:02 | lqdev[m] | blackbeard420: it's your code. UncheckedArray doesn't have a len. |
14:24:23 | * | gour quit (Remote host closed the connection) |
14:24:46 | * | gour joined #nim |
14:25:57 | blackbeard420 | i understand but echo `&"pre recv {cast[ptr UncheckedArray[char]](buff).len()}"` returns 0 and `echo &"post recv {cast[ptr UncheckedArray[char]](buff).len()}"` returns the correct amount returned from the c function *without* me giving it the length |
14:26:37 | * | gour quit (Remote host closed the connection) |
14:27:01 | * | gour joined #nim |
14:27:13 | lqdev[m] | that's very weird |
14:28:34 | * | gour quit (Remote host closed the connection) |
14:29:01 | * | gour joined #nim |
14:30:39 | * | gour quit (Remote host closed the connection) |
14:31:10 | lqdev[m] | Nim's being confusing again. https://play.nim-lang.org/#ix=24uU |
14:35:02 | * | Vladar joined #nim |
14:36:31 | lqdev[m] | why are the two `Sym "int"`s different? |
14:36:50 | lqdev[m] | one's the proper ntyInt, the other one's ntyTypeDesc |
14:37:05 | lqdev[m] | the worst part is, this works fine for proc params |
14:37:43 | lqdev[m] | eg. the first param of `proc (x: int)` is a `Sym "int"`, typeKind == ntyInt |
14:39:36 | lqdev[m] | anyone here experienced enough with macros who could help me? |
14:42:28 | * | gour joined #nim |
14:46:10 | * | Hideki_ quit (Remote host closed the connection) |
14:47:27 | * | Hideki_ joined #nim |
14:47:30 | * | Hideki_ quit (Remote host closed the connection) |
14:48:10 | * | Hideki_ joined #nim |
14:49:51 | FromGitter | <Milerius> Is it possible in nim to implement an c++ interface ? |
14:50:46 | FromGitter | <bung87> that depends on what kind of interface |
14:50:55 | FromGitter | <Milerius> I have for example: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5df6484f55d939230015dfa5] |
14:51:20 | FromGitter | <Milerius> Can I create a concrete book directly in Nim ? :p |
14:51:40 | * | Hideki_ quit (Remote host closed the connection) |
14:51:55 | * | Hideki_ joined #nim |
14:52:16 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
14:52:17 | FromGitter | <bung87> better creawte concrete book , or use concept ? |
14:52:38 | FromGitter | <Milerius> I Use c++ library in nim that have interface that I need to implement |
14:52:54 | * | pbb joined #nim |
14:52:58 | FromGitter | <Milerius> Ideally I can import the Header into nim, but after can I implement the concrete object |
14:54:29 | FromGitter | <bung87> I dont think so, better just create concrete type, not inherited |
14:54:33 | FromGitter | <Milerius> https://forum.nim-lang.org/t/3313#26470 ⏎ ⏎ Based on this post. |
14:56:11 | FromGitter | <Milerius> May be I can use the emit functionnality |
14:56:17 | FromGitter | <bung87> embed type? maybe you can try |
14:57:20 | FromGitter | <bung87> so you Have three options , directly define the type, or using concept ,or using this technic |
14:58:43 | FromGitter | <Milerius> Hmm |
14:59:48 | * | lqdev joined #nim |
15:00:27 | * | lqdev quit (Client Quit) |
15:10:20 | * | natrys joined #nim |
15:15:48 | * | Vladar quit (Quit: Leaving) |
15:16:11 | * | Hideki_ quit (Remote host closed the connection) |
15:16:55 | * | Hideki_ joined #nim |
15:20:57 | * | Hideki_ quit (Ping timeout: 240 seconds) |
15:25:19 | madprops | hmm this is adding like 200ms to some operationhttps://play.nim-lang.org/#ix=24vf |
15:25:37 | madprops | https://play.nim-lang.org/#ix=24vf |
15:25:58 | madprops | when analyzing some directory with thousands of files |
15:26:31 | madprops | actually i don't know why im using * |
15:32:51 | madprops | re(&"{e}{os.DirSep}") made it just a bit faster |
15:35:39 | madprops | using contains insteado of re reduces it by 150ms |
15:40:29 | FromDiscord | <mratsim> The ARM machines on Travis have a whopping 32 cores |
15:46:47 | FromGitter | <bung87> so can be used not just building and tests :) |
15:50:14 | planetis[m] | https://github.com/nim-lang/Nim/pull/11526/files seems like krux02 also hates typedesc :) |
15:50:15 | disbot | ➥ getCustomPragma is split up in more usable chunks |
15:55:15 | planetis[m] | seems my first message wasn't delivered |
15:55:23 | planetis[m] | lqdev: you can do if node.kind == nnkBracketExpr: node = node[1] |
15:59:07 | lqdev[m] | @planetis I looked through the link you sent, then I tried `getTypeInst` and it worked |
16:00:02 | lqdev[m] | I basically just did `while ty.typeKind == ntyTypeDesc: ty = ty.getTypeInst[1]` |
16:18:50 | * | Hideki_ joined #nim |
16:23:23 | * | sealmove joined #nim |
16:29:42 | * | Hideki_ quit (Ping timeout: 265 seconds) |
16:35:46 | disruptek | tell me something good, humans. |
16:36:05 | FromGitter | <Willyboar> like? |
16:46:24 | * | gour quit (Remote host closed the connection) |
16:46:54 | * | gour joined #nim |
16:48:59 | * | gour quit (Remote host closed the connection) |
16:49:23 | * | gour joined #nim |
16:53:38 | * | gour quit (Remote host closed the connection) |
16:54:06 | * | gour joined #nim |
16:59:19 | sealmove | disruptek: something good, humans. |
17:04:33 | federico3 | is parsecfg unable to extract a list of sections? :-/ |
17:11:29 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
17:12:22 | lqdev[m] | federico3: uh? |
17:12:33 | * | pbb joined #nim |
17:16:53 | * | ng0 joined #nim |
17:19:14 | federico3 | lqdev[m]: https://github.com/nim-lang/Nim/issues/12904 |
17:19:15 | disbot | ➥ parsecfg does not expose a list of section names |
17:21:17 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
17:21:43 | * | pbb joined #nim |
17:22:30 | * | pbb quit (Client Quit) |
17:22:58 | * | pbb joined #nim |
17:22:58 | * | pbb quit (Client Quit) |
17:23:19 | * | pbb joined #nim |
17:27:11 | * | dddddd joined #nim |
17:30:17 | madprops | soring 11425 items alphabetically takes around 400ms |
17:30:21 | madprops | sorting* |
17:32:16 | madprops | using sortedByIt |
17:35:07 | madprops | 300ms of that was .toLower()'ing the strings |
17:42:56 | leorize | write your own .toLower then |
17:43:20 | Yardanico | madprops: your strings contain utf8 chars or only ascii ones? |
17:46:32 | madprops | Yardanico, well they're paths, like directories and files |
17:46:46 | madprops | not sure those have full utf-8 |
17:48:14 | FromGitter | <Willyboar> disruptek |
17:48:17 | FromGitter | <Willyboar> https://github.com/apps/julia-tagbot |
17:49:15 | disruptek | i actually thought about just auto-tagging when i close an issue, according to the labels on the issue. |
17:49:35 | lqdev[m] | federico3: I see, basically it doesn't export `tables` am I right? |
17:49:37 | disruptek | ie. a bug being closed would bump the patchlevel on that commit. |
17:49:43 | disruptek | federico3: yes. |
17:50:01 | disruptek | closing an enhancement issue would tag a minor release. |
17:50:34 | disruptek | anyway, the tagging problem is solved with `nimph tag`. it does the right thing. |
17:50:55 | FromGitter | <Willyboar> this would be cool |
17:51:43 | disruptek | the julia approach involves another registry, which i don't really think we need. |
17:52:28 | Zevv | is there an easy/obvious way to make closure iterators behave under recursion? |
17:52:45 | * | nsf quit (Quit: WeeChat 2.6) |
17:53:13 | disruptek | i thought that was highly discouraged. |
17:57:36 | sealmove | how should i print a NimNode for debugging? |
17:57:47 | disruptek | treeRepr? |
17:57:53 | Yardanico | or lispRepr :P |
17:58:04 | lqdev[m] | or `repr`. |
17:58:36 | sealmove | thanks guys |
18:12:01 | Zevv | disruptek: it is discouraged because it does not work. But every now and then I just type and use these things, only later figuring out that I'm recursing |
18:13:51 | FromDiscord | <k1tt3hk4t> is there any way to run a shell command in the background without needing to manually close it? |
18:15:02 | FromDiscord | <k1tt3hk4t> something like execCmdEx but non-blocking basically |
18:15:29 | Yardanico | well there's startProcess |
18:15:29 | Yardanico | https://nim-lang.org/docs/osproc.html#startProcess%2Cstring%2Cstring%2CopenArray%5Bstring%5D%2CStringTableRef%2Cset%5BProcessOption%5D |
18:15:38 | Yardanico | and close is only needed to "cleanup related handles" |
18:15:41 | * | gour quit (Remote host closed the connection) |
18:16:06 | FromDiscord | <k1tt3hk4t> it says in the docs "You need to close the process when done." |
18:16:06 | * | gour joined #nim |
18:16:17 | FromDiscord | <k1tt3hk4t> 🤔 |
18:16:18 | Yardanico | read `close` proc doc |
18:16:21 | Yardanico | "When the process has finished executing, cleanup related handles." |
18:21:20 | disruptek | !issue selectors descriptor leak |
18:21:21 | disbot | https://github.com/nim-lang/Nim/issues/12354 -- 3selectors API encourages signal file descriptor leak |
18:21:25 | disruptek | fyi |
18:23:18 | FromDiscord | <k1tt3hk4t> interesting-- I don't think that impacts me as I'm not using registerProcess (??) |
18:23:36 | disruptek | Zevv: i wish there were an acceptable solution; i find myself wanting that pattern all the time. |
18:24:39 | disruptek | it's just something to be aware of. there are a lot of startProcess issues, but most of them are down to criticism absent implementations. this is something that can bite you even if you are using what limited support is there. |
18:29:01 | FromDiscord | <k1tt3hk4t> gotcha |
18:29:56 | Zevv | disruptek: talking the iterators or talking the startprocess bugs? |
18:30:10 | disruptek | iterators. |
18:30:47 | Zevv | yeah, it just kind of avoid them now and use function arguments |
18:31:00 | disruptek | you mean accumulators? |
18:31:16 | * | luis_ joined #nim |
18:31:26 | * | luis_ quit (Client Quit) |
18:31:33 | Zevv | no procs taking callback function |
18:31:42 | disruptek | right. |
18:31:46 | Zevv | not wrong! |
18:32:12 | disruptek | i need to write for: ... else: and while: ... else: |
18:32:14 | FromDiscord | <Fern & Simula (They/Them)> any way to check if a NimNode is some kind of literal without manually checking every Lit in NimNodeKind? |
18:32:17 | disruptek | might take a crack at that today. |
18:32:40 | * | luis_ joined #nim |
18:32:48 | FromGitter | <Willyboar> disruptek i would like to work with you in a project sometime |
18:32:57 | disruptek | go for it, buddy! |
18:33:20 | disruptek | you're a web guy, right? |
18:33:27 | FromGitter | <Willyboar> yep |
18:33:36 | disruptek | come work on auctionhero.io. |
18:34:08 | disruptek | the web is beyond my old and shriveled brain. |
18:35:09 | * | luis_ quit (Remote host closed the connection) |
18:35:27 | federico3 | lqdev[m]: a dedicate process would be better |
18:35:46 | * | luis_ joined #nim |
18:42:16 | * | nsf joined #nim |
18:46:00 | * | luis__ joined #nim |
18:46:10 | FromGitter | <Willyboar> I would like to work to something new |
18:46:21 | disruptek | what do you have in mind? |
18:46:43 | * | luis_ quit (Remote host closed the connection) |
18:48:35 | FromGitter | <Willyboar> I would be interesting to help to a full stack framework |
18:48:46 | FromGitter | <Willyboar> I have the time but i dont have the knowledge |
18:49:46 | disruptek | but you do. if you know the web, you know what has to happen. |
18:50:20 | disruptek | you know what sucks about today's tools? |
18:50:28 | FromGitter | <Willyboar> what? |
18:50:30 | Yardanico | js |
18:50:33 | disruptek | i'm asking. |
18:50:57 | FromGitter | <Willyboar> in nim? |
18:51:09 | disruptek | like, i know what i hate about nimble. i know what other people want. so i go and build the thing that meets those goals. |
18:51:28 | disruptek | with your expertise in the web, you can do the same thing in nim. |
18:53:00 | stefantalpalaru | Please remind me what --lineTrace does and how does it relate to --stackTrace. |
18:53:30 | disruptek | willyboar: you know what sucks about karax? |
18:53:56 | FromGitter | <Willyboar> Nope. |
18:54:12 | disruptek | why do you want to replace it, then? |
18:54:28 | FromGitter | <Willyboar> Karax is different |
18:54:32 | disruptek | maybe it just needs to be better documented and advertised. |
18:55:11 | * | luis__ quit (Remote host closed the connection) |
18:55:44 | FromGitter | <Willyboar> I think we need something like rails. Crystal has 2 for example. |
18:56:27 | * | luis_ joined #nim |
18:56:57 | disruptek | maybe you should build something on fidget. |
18:57:03 | disruptek | !repo fidget |
18:57:04 | disbot | https://github.com/treeform/fidget -- 9fidget: 11Figma based UI library for nim, with HTML and OpenGL backends. 15 59⭐ 3🍴 |
18:57:38 | disruptek | make it so easy than even an old mechanic like me can do it. |
18:58:34 | livcd | what is auctionhero ? :D |
18:58:49 | * | luis_ quit (Remote host closed the connection) |
18:58:53 | FromGitter | <zacharycarter> does anyone use rails anymore? |
18:58:54 | disruptek | https://auctionhero.io/ |
18:59:01 | FromGitter | <zacharycarter> I used grails - and it was terrible |
18:59:19 | * | luis_ joined #nim |
19:00:12 | FromGitter | <Willyboar> Well a lot of people i think. |
19:01:30 | FromGitter | <bung87> the company Im working using rails |
19:01:41 | FromGitter | <Willyboar> I am watching figma but i think is ui |
19:02:09 | livcd | bung87: where do you reside ? what city? |
19:02:27 | FromGitter | <bung87> china,beijing |
19:02:40 | disruptek | it seems like you have an idea on what you want to build; what is it? |
19:02:56 | FromGitter | <Willyboar> I thing this type of framework is missing from nim. |
19:03:33 | disruptek | i think there are a few implementations, but maybe nothing that really collects the best-of-breed and glues them together. |
19:03:40 | disruptek | like turbogears tried to do with python. |
19:03:53 | FromGitter | <bung87> I think it is most saving time web framework |
19:04:07 | FromGitter | <Willyboar> The nearest lib to rails is xander |
19:04:22 | disruptek | !repo xander |
19:04:22 | disbot | https://github.com/sunjohanday/xander -- 9xander: 11Xander: A Nim web application framework 15 41⭐ 4🍴 |
19:04:25 | federico3 | bung87: how do you pull packages from github? |
19:04:41 | FromGitter | <bung87> other language such like framework offten need more code |
19:05:12 | FromGitter | <bung87> I can directly access to github |
19:05:26 | livcd | I would honestly keep using what's kinda popular. If something breaks you are on your own |
19:05:39 | FromGitter | <bung87> but have problem with githubusercontent |
19:06:40 | livcd | Winnie The Pooh |
19:06:42 | livcd | sorry... |
19:11:31 | FromGitter | <Willyboar> I think xander abandoned |
19:14:11 | * | luis_ quit (Ping timeout: 252 seconds) |
19:17:14 | FromGitter | <Willyboar> Except that there is 2-3 projects but is based in jester. |
19:17:18 | FromGitter | <bung87> I Read the previous dissucss, |
19:17:41 | disruptek | what's bad about jester? |
19:18:07 | FromGitter | <bung87> thinking if you have time you can starting looking at python flask |
19:19:33 | FromGitter | <Willyboar> I know flask. I played a lot with it in the past. |
19:20:07 | FromGitter | <Willyboar> Jester is wonderful but is a micro framework |
19:21:57 | FromGitter | <bung87> what make rails special? It get benefit from the ruby language, tools such like bundle, makes rails easible to plugable |
19:22:28 | FromGitter | <Willyboar> The speed of development |
19:23:15 | FromGitter | <bung87> in other language , even you can have all the lib you needs, you also spend much time to configuring for bundle there things works together. |
19:24:13 | FromGitter | <bung87> but in rails , configuring is very simple, even doest need import lib... |
19:25:12 | FromGitter | <bung87> yeah comparing , django and rails , you know what I mean |
19:27:06 | FromGitter | <Willyboar> This type of frameworks attracts devs and helping a language to grow. |
19:27:55 | FromGitter | <Willyboar> Ruby wouldn't be so popular without rails. |
19:29:27 | FromGitter | <bung87> yeah, many small business needs developing product delivery it to customer, they need such a framework |
19:30:31 | disruptek | so what's missing? |
19:30:55 | FromGitter | <Willyboar> The library :) |
19:31:47 | disruptek | why don't you write an example program that uses this library so we can see what it looks like? |
19:33:04 | FromGitter | <Willyboar> What did you mean? |
19:33:35 | FromGitter | <Willyboar> What library? |
19:33:49 | disruptek | write a problem that uses the hypothetical library (that remains to be written) so we can get excited about what it provides us. |
19:33:57 | FromGitter | <bung87> in my opinion, who has ablity to develop such a framework , doest not have much interest in it . |
19:34:00 | disruptek | s/problem/program/ |
19:34:29 | * | hexeratops joined #nim |
19:34:34 | FromGitter | <Willyboar> This is true. |
19:35:13 | FromGitter | <bung87> they just tire of developing web site - - |
19:35:33 | livcd | Willyboar: Soo..do you think Karax is a sufficient framework for a SPA ? |
19:37:21 | * | luis_ joined #nim |
19:37:22 | FromGitter | <Willyboar> I haven't used karax. |
19:37:55 | disruptek | i think you should kick the tires on some of these packages to see what's good/bad about them. |
19:37:56 | FromGitter | <Willyboar> But i heard great things |
19:38:31 | FromGitter | <Willyboar> You mean the nim ones? |
19:38:38 | disruptek | of course. |
19:38:42 | disruptek | what are you waiting for? |
19:38:45 | disruptek | christmas? |
19:38:49 | FromGitter | <Willyboar> I used a lot of other language frameworks |
19:39:38 | livcd | Willyboar: Try to build something and see what you are missing |
19:39:43 | livcd | Maybe clone nimforum for a reference ? |
19:41:28 | FromGitter | <Willyboar> But that's what i am saying. I know what is missing. |
19:43:42 | FromGitter | <Willyboar> Also i don't think i am capable to build something like that. |
19:44:19 | FromGitter | <bung87> no, if you have time , you can build anything |
19:44:29 | livcd | What is missing ? |
19:45:34 | FromGitter | <Willyboar> A framework with batteries included |
19:45:55 | livcd | But what batteries exactly ? |
19:46:31 | FromGitter | <Willyboar> Db migrations, scaffolding, assets |
19:48:37 | disruptek | i'll tell you what would be killer. |
19:48:58 | disruptek | figure out hcr with nim/js for the web. |
19:49:00 | livcd | nimroutines? |
19:49:52 | disruptek | build a hcr workflow that goes into production and you have something pretty tasty. |
19:50:45 | FromGitter | <zacharycarter> hcr already works with Nim for the js backend |
19:50:48 | FromGitter | <zacharycarter> I've used it before |
19:51:02 | disruptek | yes, but it needs some glue iirc. |
19:51:41 | * | liam_ joined #nim |
19:52:25 | disruptek | i'm thinking something like figwheel for clojurescript. |
19:52:29 | FromGitter | <Willyboar> What is hcr? |
19:52:35 | disruptek | hot code reloading |
19:52:41 | disruptek | !repo figwheel clojurescript |
19:52:43 | disbot | https://github.com/bhauman/lein-figwheel -- 9lein-figwheel: 11Figwheel builds your ClojureScript code and hot loads it into the browser as you are coding! 15 2764⭐ 221🍴 7& 29 more... |
19:53:43 | FromGitter | <zacharycarter> I think rails is fine if you're building a simple CRUD app |
19:54:07 | FromGitter | <zacharycarter> if you're doing anything else, IMO, you're better served just writing your own backend and using karax / react |
19:55:19 | FromGitter | <Willyboar> I think i saw somewhere something like this in nim |
19:56:52 | FromGitter | <zacharycarter> something like what? |
19:56:57 | FromGitter | <zacharycarter> oh figwheel |
19:57:16 | FromGitter | <zacharycarter> yeah, like I said - Nim can do this already |
19:57:42 | disruptek | it could be made easier. |
19:57:53 | FromGitter | <Willyboar> Yes rails is for specific type of apps |
19:57:53 | FromGitter | <zacharycarter> well sure - but JS tooling is abysmal |
19:58:17 | disruptek | we shouldn't let that limit us. |
19:58:47 | FromGitter | <zacharycarter> I mean - I don't think it's that hard in the first place |
19:59:06 | FromGitter | <zacharycarter> most people building FE web apps these days are using some type of bundler - like webpack |
19:59:43 | FromGitter | <zacharycarter> and I'm pretty sure Nim HCR works pretty well in that paradigm |
19:59:53 | FromGitter | <zacharycarter> with webpack dev server |
20:00:15 | disruptek | webpack dev server is useless. |
20:00:26 | FromGitter | <zacharycarter> I'd rather see Nim get a WASM target |
20:00:32 | FromGitter | <zacharycarter> than any more time be spent on the JS backend |
20:00:41 | FromGitter | <Willyboar> Imagine a railish framework with nim performance |
20:00:43 | disruptek | agree, but nlvm already exists. |
20:00:53 | FromDiscord | <Fern & Simula (They/Them)> is there a point to the other backends (aside from js) for just a plain binary |
20:00:55 | FromDiscord | <Fern & Simula (They/Them)> ? |
20:00:59 | FromGitter | <zacharycarter> yeah - it just needs to have more attention paid to it |
20:01:04 | FromGitter | <zacharycarter> yes |
20:01:22 | FromDiscord | <mratsim> It has attention: https://notes.status.im/devcon5-ewasm-golfing# |
20:01:34 | FromGitter | <zacharycarter> I've never used the Objective-C backend |
20:01:38 | FromGitter | <zacharycarter> but I use the C++ backend in my project |
20:01:43 | FromGitter | <zacharycarter> since I'm compiling C++ code |
20:01:47 | FromGitter | <zacharycarter> noice! |
20:02:02 | FromDiscord | <mratsim> it was presented to a wide audience of the biggest crypto dev conference in october |
20:02:20 | FromDiscord | <Fern & Simula (They/Them)> zacharcyarter: ah, that makes sense. thanks! |
20:02:21 | FromGitter | <zacharycarter> @Willyboar - I don't like rails, so the idea doesn't really spark a lot of interest in me |
20:02:43 | FromGitter | <zacharycarter> Fern & Simula (They/Them): no problem |
20:02:54 | FromDiscord | <mratsim> and Ethereum 2 (what were working on) is very probably going to use Wasm |
20:03:02 | FromGitter | <zacharycarter> I think frameworks in general kind of suck |
20:03:19 | FromGitter | <zacharycarter> spring / rails / etc... |
20:03:39 | FromGitter | <zacharycarter> not a fan of these things |
20:03:50 | FromDiscord | <Fern & Simula (They/Them)> flask and django are nice |
20:03:55 | FromGitter | <Willyboar> If you are experienced developer you prefer to have the control. |
20:04:05 | FromDiscord | <Fern & Simula (They/Them)> though theres a spot where flask is too little, and django is too much :/ |
20:04:09 | FromGitter | <zacharycarter> I just prefer not to spend all my time in configuration files |
20:04:15 | FromDiscord | <mratsim> The trap is probably not escaping the framework once you grow out of its domain. Using them for rapid prototyping is probably fine |
20:04:25 | FromGitter | <zacharycarter> which you inevitably end up doing with these frameworks |
20:04:34 | disruptek | express is pretty much right-size in my experience. |
20:04:42 | disruptek | there's a nim express clone. |
20:04:44 | FromGitter | <zacharycarter> yeah - and that's just a web app server really |
20:04:45 | disruptek | !repo nim express |
20:04:46 | disbot | https://github.com/ducdetronquito/express -- 9express: 11A toy Nim web framework heavily inspired by ExpressJS 🚀🌘 15 6⭐ 0🍴 7& 1 more... |
20:04:54 | FromGitter | <zacharycarter> I think Jester is pretty nice |
20:05:05 | FromGitter | <zacharycarter> karax + jester IMO make a good combo |
20:05:20 | * | luis_ quit (Ping timeout: 276 seconds) |
20:05:52 | FromGitter | <Willyboar> disruptek i am watching it too |
20:06:19 | FromDiscord | <mratsim> usually when you fell th need to escape the framework you would have secure more resources (dev money tme) |
20:06:23 | FromGitter | <zacharycarter> express is indeed nice though - whenever I'm writing a NodeJS backend I use it |
20:06:42 | disruptek | i really liked percolator |
20:06:46 | disruptek | !repo percolator |
20:06:48 | disbot | https://github.com/percolator/percolator -- 9percolator: 11Semi-supervised learning for peptide identification from shotgun proteomics datasets 15 70⭐ 22🍴 7& 29 more... |
20:06:53 | disruptek | no, that ain't it. |
20:07:01 | disruptek | !repo percolator express |
20:07:03 | disbot | no results 😢 |
20:07:28 | FromDiscord | <mratsim> !repo nim |
20:07:30 | disbot | https://github.com/nim-lang/Nim -- 9Nim: 11Nim is a compiled, garbage-collected systems programming language with a design that focuses on efficiency, expressiveness, and elegance (in that order of priority). 15 8474⭐ 936🍴 7& 29 more... |
20:07:42 | FromDiscord | <mratsim> (sanity check) |
20:07:44 | * | abm joined #nim |
20:07:48 | FromGitter | <zacharycarter> bleh - rendering to a framebuffer works fine on metal, but d3d11 is being a lil bitch |
20:07:58 | FromGitter | <zacharycarter> and I can't figure out why |
20:08:04 | disruptek | !repo percolator nide |
20:08:06 | disbot | no results 😢 |
20:08:08 | disruptek | !repo percolator node |
20:08:09 | disbot | https://github.com/cainus/percolator -- 9percolator: 11Percolator is a framework for quickly and easily building quality HTTP APIs in Node.js 15 118⭐ 7🍴 7& 2 more... |
20:09:26 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/8r1G/image.png) |
20:09:27 | FromGitter | <zacharycarter> I don't know where these artifacts are coming from |
20:09:40 | * | nsf quit (Quit: WeeChat 2.6) |
20:09:46 | FromDiscord | <k1tt3hk4t> do `net` sockets do some kind of buffering or cooldown even when told not to? I wrote an IRC bot using it and the latency is AMAZINGLY low, but only when given a few seconds between messages-- if I, say, spam 10 messages, it takes like 2-3 seconds for each one to be received |
20:10:18 | disruptek | the server is probably adding that. |
20:10:32 | FromGitter | <zacharycarter> if I don't render to a framebuffer - |
20:10:40 | FromGitter | <zacharycarter> (https://files.gitter.im/nim-lang/Nim/inXU/image.png) |
20:11:09 | disruptek | it's like a rounding error. |
20:11:20 | FromGitter | <zacharycarter> k1tt3hk4t I think the net sockets are blocking |
20:11:47 | FromGitter | <zacharycarter> I use enet |
20:11:57 | FromGitter | <zacharycarter> for non-blocking udp sockets - but you're probably using tcp |
20:12:11 | FromGitter | <zacharycarter> disruptek: yeah - I'm not sure what's causing it |
20:12:19 | FromDiscord | <k1tt3hk4t> the thing is I tried async sockets and they had the exact same problem |
20:12:34 | disruptek | still think the server is adding flood control. |
20:13:35 | disruptek | could be an off-by-one error, too. |
20:13:41 | * | luis_ joined #nim |
20:14:19 | FromDiscord | <k1tt3hk4t> how do you mean? |
20:14:31 | disruptek | that was for zacharycarter. |
20:14:36 | FromDiscord | <k1tt3hk4t> oh ok lol |
20:15:40 | * | luis_ quit (Client Quit) |
20:16:52 | FromGitter | <zacharycarter> yeah - I will likely need to dig into renderdoc to figure this one out |
20:26:35 | * | Hideki_ joined #nim |
20:31:07 | * | Hideki_ quit (Ping timeout: 250 seconds) |
20:36:16 | * | Trustable joined #nim |
20:46:07 | * | gour quit (Remote host closed the connection) |
20:53:53 | * | gour joined #nim |
20:59:50 | FromDiscord | <Clyybber> @mratsim did the backloff deadlock resurface again? |
21:05:12 | * | narimiran quit (Quit: leaving) |
21:11:20 | FromGitter | <Obround> Hello! How do you assign a type's object to one of the type's methods? I'v tried this: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5df6a178e7265623014dd99d] |
21:36:34 | * | liam_ quit (Quit: Leaving) |
21:40:26 | * | Trustable quit (Remote host closed the connection) |
21:50:21 | * | clyybber joined #nim |
21:51:09 | * | clyybber quit (Client Quit) |
22:04:19 | sealmove | how exactly does static[Type] work? |
22:04:37 | * | disruptek quit (Ping timeout: 240 seconds) |
22:05:07 | * | disbot quit (Ping timeout: 268 seconds) |
22:06:05 | sealmove | when I pass a string to macro, it is passed as NimNode, but when I try to extract its value, I get "Error: node lacks field: strVal" |
22:06:35 | * | disbot joined #nim |
22:06:39 | sealmove | and if I pass it as static[string], I get type missmatch (expected static[string] but got string) |
22:06:43 | sealmove | :s |
22:07:28 | * | disruptek joined #nim |
22:08:34 | sealmove | hey disruptek, can you help out? |
22:10:04 | * | tribly quit (Quit: WeeChat 2.6) |
22:10:47 | * | tribly joined #nim |
22:20:25 | FromGitter | <bung87> https://www.freebsd.org/cgi/man.cgi?query=getfsstat&sektion=2&manpath=freebsd-release-ports |
22:21:04 | FromGitter | <bung87> how to find where the c header file is ? |
22:21:34 | * | disruptek quit (Ping timeout: 265 seconds) |
22:22:29 | * | disbot quit (Ping timeout: 276 seconds) |
22:22:34 | FromGitter | <bung87> it described as `Standard C Library (libc, -lc)` |
22:23:18 | * | disbot joined #nim |
22:24:13 | * | disruptek joined #nim |
22:27:32 | * | tane quit (Quit: Leaving) |
22:28:24 | * | natrys quit (Quit: natrys) |
22:28:45 | * | NimBot joined #nim |
22:29:50 | FromDiscord | <Clyybber> disruptek: What terminal emulator do you use with wayland? Apparently alacritty fails to start due to https://github.com/jwilm/alacritty/issues/2714 |
22:29:52 | disbot | ➥ Unable to launch alacritty in GNOME Wayland session ; snippet at 12https://play.nim-lang.org/#ix=24xY |
22:30:59 | disruptek | kitty |
22:31:32 | sealmove | kitty is awesome |
22:31:53 | disruptek | why are you running gnome? |
22:32:02 | sealmove | disruptek: i saw you use fish, are you aware of elvish? |
22:32:18 | disruptek | yeah, there are a couple neat new shells out there. |
22:33:05 | sealmove | any other that caught your eye? |
22:33:05 | disruptek | i feel like fish is portable enough for me, but not sure i wanna go to oil or whatever. |
22:34:04 | disruptek | it's exciting to think that we might see some development in shells, though. it's crazy how stagnant they are. |
22:34:36 | sealmove | ikr! |
22:34:49 | sealmove | programming language pop up so fast, i wonder why not shells |
22:35:40 | disruptek | i don't get it. i just can't believe that we're really being constricted by... posix, as araq would say. |
22:36:40 | sealmove | we should have a shell initiated in Nim |
22:36:42 | disruptek | is elvish your daily carry? |
22:36:44 | sealmove | initiative* |
22:36:47 | sealmove | yeah |
22:36:59 | disruptek | !repo commandant |
22:37:00 | disbot | https://github.com/Varriount/commandant -- 9commandant: 11Bash/Command Prompt-Like Program Written in Nim 15 5⭐ 1🍴 |
22:37:01 | FromDiscord | <Clyybber> sealmove: Someone is working on it |
22:37:13 | FromDiscord | <Clyybber> yep that one |
22:37:19 | sealmove | i know about commandant, it doesn't seem ambitious enough |
22:38:15 | FromDiscord | <Clyybber> I currently use fish |
22:38:19 | sealmove | (<shy> I might be wrong though) |
22:38:44 | FromDiscord | <Clyybber> I feel like most of these new shells are innovating in the "wrong" direction |
22:38:54 | FromDiscord | <Clyybber> going away from string as the main data format |
22:38:55 | sealmove | fish and elvish are the best imo |
22:41:27 | disruptek | what makes a good shell? |
22:42:54 | sealmove | syntax is everything, then ergonomics (non-language features) are very important |
22:43:14 | solitudesf | not being bash |
22:43:22 | disruptek | rude. |
22:43:46 | sealmove | it's a complex question, but first step is... yeah, not being bash :D |
22:43:57 | solitudesf | it is rude. bash users need to WAKE UP |
22:44:11 | disruptek | but why gnome? |
22:44:21 | disruptek | clyybber: what's it good for? |
22:46:29 | disruptek | the thing that's great about fish is command completion. it's one of those game-changers that you don't realize matters until you have it in-hand. |
22:46:37 | disruptek | like face-unlock on the iphone. |
22:46:54 | FromDiscord | <Clyybber> disruptek: Whats what good for? |
22:47:03 | FromDiscord | <Clyybber> Btw, just tried kitty. Doesn't work either |
22:47:08 | disruptek | clybber: gnome. |
22:47:14 | FromDiscord | <Clyybber> But I think its not an issue with the apps |
22:47:20 | FromDiscord | <Clyybber> disruptek: Dunno, don't use gnome |
22:47:34 | disruptek | i guess i misread the issue. |
22:47:58 | FromDiscord | <Clyybber> yeah it is about gnome, but I thought I was suffering from the same issue |
22:48:05 | FromDiscord | <Clyybber> I was wrong though (I think) |
22:48:21 | FromDiscord | <Clyybber> because the only thing that launches is libreoffice |
22:48:27 | FromDiscord | <Clyybber> sadly I can't exit wayfire |
22:48:31 | FromDiscord | <Clyybber> I have to shutdown |
22:48:47 | FromDiscord | <Clyybber> and then I can only stare at the error for like 1 sec |
22:48:58 | disruptek | what? you mean libreoffice doesn't include a shell? |
22:49:06 | FromDiscord | <Clyybber> it says something about EGL though, so I think its an issue with nvidia |
22:49:36 | FromDiscord | <Clyybber> disruptek: libreoffice-term when? |
22:49:41 | disruptek | GDK_BACKEND=wayland CLUTTER_BACKEND=wayland |
22:49:45 | * | couven92 quit (Quit: Disconnecting) |
22:49:58 | disruptek | ELM_ENGINE=wayland_egl ECORE_EVAS_ENGINE=wayland_egl |
22:50:18 | FromDiscord | <Clyybber> what does it do? |
22:50:30 | disruptek | just some env forces to help apps on wayland. |
22:50:35 | FromDiscord | <Clyybber> oh thanks |
22:50:44 | FromDiscord | <Clyybber> maybe it makes kitty work |
22:50:49 | disruptek | gtk3 and elementary/efl |
22:50:52 | sealmove | I have a hardcore question... I have to derive datatype from Nim ast. the ast involves identifiers. i have a symbol table for the identifiers which annotates their types. i suppose their is standard theory for such things? anyone has an article |
22:50:54 | sealmove | ? |
22:51:28 | disruptek | what kinda annotations? |
22:52:01 | sealmove | the symbol tables has identifiers along with their types (among other things) |
22:52:06 | FromDiscord | <Clyybber> disruptek: Does the compositor inherit those vars? or do I have to export them globally? |
22:52:20 | disruptek | i export them and then run sway in the env. |
22:52:38 | FromDiscord | <Clyybber> do you use fish set for that? |
22:52:41 | FromDiscord | <Clyybber> or do you export |
22:52:41 | disruptek | sealmove: so your nim ast has no types? just identifiers? |
22:52:52 | disruptek | set --export var val |
22:52:53 | * | gour_ joined #nim |
22:53:02 | FromDiscord | <Clyybber> k, thats what I figured |
22:53:03 | FromDiscord | <Clyybber> brb |
22:53:21 | disruptek | sealmove: identifiers are just strings. you can store the types any way you want. |
22:53:42 | disruptek | no reason (i can think of) not to store them as nimnodes. |
22:53:43 | sealmove | disruptek: Basically i am trying to derive a Nim type from an expression of other language |
22:53:59 | disruptek | i do this all over the place in openapi. |
22:54:02 | disruptek | !repo openapi |
22:54:03 | disbot | https://github.com/disruptek/openapi -- 9openapi: 11OpenAPI Code Generator for Nim 15 9⭐ 0🍴 7& 4 more... |
22:54:11 | sealmove | this expression can include identifiers which were previously analyzed and got annotated with Nim types |
22:55:11 | disruptek | codegen.nim is where the meat is, fwiw. |
22:56:11 | disruptek | man, that code isn't that old but it already looks creepy to me. |
22:56:22 | * | gour quit (Ping timeout: 265 seconds) |
22:56:23 | disruptek | i guess i'm finding my style. |
22:57:31 | disruptek | sealmove: it sounds like you just want an overload that takes a partially-annotated input as well. |
22:57:34 | FromDiscord | <Fern & Simula (They/Them)> what do `typed` and `untyped` do? |
22:58:16 | disruptek | one has a semantic pass and the other doesn't, so one can be anything and the other cannot. |
22:58:26 | FromDiscord | <Fern & Simula (They/Them)> ahhhhh thank you! |
22:58:33 | disruptek | untyped is usually, like, a block. |
22:58:41 | FromDiscord | <Fern & Simula (They/Them)> gotcha |
22:58:47 | disruptek | typed is usually an identifier you wanna screw around with. |
22:59:32 | sealmove | disruptek: you would have to explain in simpler terms, this is my first time writing a compiler. "overload that takes a partially-annotate input", no idea what that means :D |
23:00:18 | disruptek | well, if you can disambiguate between inputs that, as you said, are coming to you with some nim type info, and those inputs that arrive with no such info, then you can have the same syntax operate on both inputs. |
23:00:29 | disruptek | maybe one turns into the other. maybe they are recursive. |
23:00:39 | disruptek | hey man, you're the programmer. 😁 |
23:01:11 | disruptek | i am just a mechanic. |
23:01:16 | sealmove | haha |
23:01:34 | FromDiscord | <Fern & Simula (They/Them)> "just" |
23:01:35 | disruptek | seriously. i bared completed high school. |
23:01:39 | disruptek | barely. |
23:01:50 | disruptek | see? can't even spell. |
23:01:52 | FromDiscord | <Fern & Simula (They/Them)> so did most famous people though haha |
23:02:10 | disruptek | i'm more on the infamous end of the spectrum. |
23:02:36 | disruptek | honestly, i'm a pretty lousy mechanic, too. |
23:02:45 | sealmove | i should take it one step at the time, what i am trying to do might be beyond my current abilities :( |
23:03:05 | disruptek | sealmove: that's what i said about openapi. shashlick pushed me to do it. it was great. |
23:03:23 | disruptek | you did well advancing the state of the art with npeg. you can do this, too. |
23:03:59 | sealmove | well, thanks for the encouragement |
23:04:37 | * | solitudesf quit (Ping timeout: 240 seconds) |
23:04:38 | disruptek | and i never would have taken on nimph if it wasn't for dom. this is a great community. you always have motivation here. |
23:04:57 | FromDiscord | <Fern & Simula (They/Them)> what does "iterator within for loop context expected" mean? |
23:05:26 | disruptek | did you pass something to `for` that cannot be iterated, maybe? |
23:05:56 | FromDiscord | <Fern & Simula (They/Them)> varargs. let me link the code |
23:06:24 | FromDiscord | <Fern & Simula (They/Them)> https://play.nim-lang.org/#ix=24y7 |
23:06:42 | FromDiscord | <Fern & Simula (They/Them)> just a warning that i have *no* idea what i'm doing haha |
23:06:50 | FromDiscord | <Clyybber> disruptek: Redirecting stderr to a file shows wonders |
23:06:55 | sealmove | how do compilers decide what type is an expression? that's the problem I am facing... |
23:06:57 | disruptek | yeah? |
23:07:14 | FromDiscord | <Clyybber> hastebin doesn't work |
23:07:22 | FromDiscord | <Clyybber> I apolagize for the paste inb4 |
23:07:33 | * | clyybber joined #nim |
23:07:38 | clyybber | MESA-LOADER: failed to open i965 (search paths /usr/lib/xorg/modules/drivers) |
23:07:40 | clyybber | failed to load driver: i965 |
23:07:41 | clyybber | 2019-12-16 00:09:51 - [EGL] command: eglGetPlatformDisplay, error: 0x300c, message: "EGL_BAD_PARAMETER error: In internal function: Additional INFO may be available |
23:07:44 | clyybber | " |
23:07:46 | clyybber | 2019-12-16 00:09:51 - [backend/drm/drm.c:50] DRM universal planes unsupported |
23:07:47 | clyybber | 2019-12-16 00:09:51 - [backend/backend.c:198] Failed to open DRM device 9 |
23:07:49 | clyybber | 2019-12-16 00:11:11 - [backend/drm/atomic.c:56] eDP-1: Atomic commit failed (pageflip): Permission denied |
23:07:52 | clyybber | 2019-12-16 00:11:11 - [backend/drm/atomic.c:56] eDP-1: Atomic commit failed (pageflip): Permission denied |
23:07:53 | clyybber | 2019-12-16 00:11:11 - [backend/drm/atomic.c:56] eDP-1: Atomic commit failed (pageflip): Permission denied |
23:08:37 | FromDiscord | <Fern & Simula (They/Them)> ohhhh figured it out |
23:09:10 | disruptek | clyybber: looks like you have a driver problem. |
23:09:30 | FromDiscord | <Clyybber> yep, loks like it |
23:09:31 | FromDiscord | <Fern & Simula (They/Them)> nope, nvm sorry |
23:09:41 | disruptek | fern: what are you trying to do? |
23:10:11 | FromDiscord | <Fern & Simula (They/Them)> use varargs in a template: https://play.nim-lang.org/#ix=24y7 |
23:10:23 | FromDiscord | <Fern & Simula (They/Them)> wrong link sorry |
23:10:51 | FromDiscord | <Fern & Simula (They/Them)> https://play.nim-lang.org/#ix=24yb |
23:11:12 | disruptek | broken clipboards in wayland are super irritating. virtually everything else is great. |
23:11:51 | FromDiscord | <Fern & Simula (They/Them)> starting to look like i need a macro :/ |
23:12:46 | disruptek | https://play.nim-lang.org/#ix=24yc |
23:13:05 | FromDiscord | <Fern & Simula (They/Them)> ah, i was looking to mix types :P |
23:13:11 | disruptek | ie. run $ on any input to turn it into a string |
23:13:50 | disruptek | you can't mix types in the signature; what generics do is instantiate a new version of the proc for each new type. |
23:13:58 | disruptek | but that doesn't solve this problem. |
23:14:17 | disruptek | if you wanna pass multiple types, use variant objects or tree structures, etc. |
23:14:29 | disruptek | ...which are all one type. |
23:14:51 | FromDiscord | <Fern & Simula (They/Them)> i can't do either in what i'm going to use this for. i think i found a macro to help though |
23:18:31 | disruptek | clyybber: took me a long time, but i eventually built ungoogled-chromium to run with accelerated webgl on nouveau. my command-line for the browser is about 800 characters long. |
23:21:04 | FromDiscord | <mratsim> @Clyybber, yes it's back. But I didn't really fix it, it disappeared on its own when i retried, until it was back, the fate of threading bugs ... I need to get it model checked or formal verified or pass through a race detection tool |
23:21:37 | FromDiscord | <Clyybber> disruptek: holy shit |
23:21:37 | FromDiscord | <mratsim> obviously pass through a race detection tool means: build the race detection tool and ensure it has no bugs, or use something like LLVM ThreadSanitizer or Valgrind |
23:22:00 | FromDiscord | <Clyybber> @mratsim gl! |
23:22:35 | disruptek | i guess if you use the software, you can't be sure it has no bugs. |
23:23:31 | FromDiscord | <Clyybber> disruptek: Actually my drivers are ok |
23:23:45 | FromDiscord | <Clyybber> I'm just using modesetting instead of i965 |
23:23:55 | FromDiscord | <Clyybber> not sure why it isn't happy with that |
23:25:57 | disruptek | modesetting? |
23:26:41 | disruptek | is that what the kids are calling it these days? |
23:28:22 | FromDiscord | <Clyybber> How can I check wether elogind really works? |
23:29:08 | FromGitter | <bung87> disruptek , you are using Nim for job tasks? |
23:29:13 | disruptek | nah. |
23:29:31 | disruptek | clyybber: is it passing pam? |
23:29:43 | FromDiscord | <Clyybber> how do I check that? |
23:29:56 | disruptek | grep elogind /var/log/messages |
23:30:10 | disruptek | you should see it reporting new sessions. |
23:30:23 | FromGitter | <bung87> I see you publish Cloud Platform APIs, you use cloud platform in personal? |
23:30:45 | disruptek | i use it all over the place. you should too! |
23:30:49 | FromDiscord | <Clyybber> disruptek: grepping dmesg should work too right? |
23:30:55 | FromDiscord | <Clyybber> I see something there: |
23:31:03 | disruptek | dmesg is, like, console messages. not necessarily the same thing. |
23:31:06 | FromDiscord | <Clyybber> New session 1 of user clyybber |
23:31:09 | FromDiscord | <Clyybber> disruptek: Damnit |
23:31:14 | FromDiscord | <Clyybber> I don't have logging set up |
23:31:17 | disruptek | (usually not). dmesg goes into logs, not the other way arround. |
23:31:24 | disruptek | why not? |
23:31:34 | FromDiscord | <Clyybber> haven't felt the need yet 🙂 |
23:31:37 | sealmove | is cyclic imports problem solved? |
23:31:41 | disruptek | nope. |
23:31:46 | FromGitter | <bung87> no, my company just use ruby , and sadlly they may not need my frontend skills |
23:31:46 | disruptek | clyybber: what os? |
23:31:50 | FromDiscord | <Clyybber> void |
23:32:04 | disruptek | pffbt kmagyoyo |
23:32:36 | disruptek | bung87: i'm afraid i never bothered with ruby. |
23:32:55 | disruptek | i get why it's attractive, it just wasn't attractive to me. |
23:33:43 | disruptek | when you said job tasks, i thought you meant nimble tasks. |
23:33:45 | * | clyybber quit (Quit: WeeChat 2.7) |
23:33:56 | FromGitter | <bung87> I use it for fullstack development in product demo stage. |
23:34:42 | disruptek | neat, so what's your opinion on the nim landscape? |
23:34:46 | FromGitter | <bung87> ha, yeah I thought you may think it in programing tasks |
23:36:09 | * | kungtotte quit (Ping timeout: 250 seconds) |
23:36:50 | FromGitter | <bung87> I like it ,but it has very small ecosystem |
23:37:17 | disruptek | that's true. we need to work on plugging stuff together. |
23:37:42 | disruptek | nim attracts people that are willing to roll their own. now we need to attract people willing to use other people's software. |
23:38:19 | FromGitter | <bung87> I mainly do frontend job, other language may not help my job |
23:38:36 | FromDiscord | <Clyybber> disruptek: Hmm, elogind wasn't the issue, even the chmod suid thing doesn't make it work |
23:38:41 | FromDiscord | <Clyybber> no wayland for me then 😦 |
23:38:47 | disruptek | whaaaa |
23:39:02 | FromDiscord | <Clyybber> I cant get it to work |
23:39:38 | FromDiscord | <Clyybber> If I install i965 that will fuck up my optimus setup |
23:39:43 | disruptek | i thought you were running it earlier? |
23:39:44 | FromDiscord | <Clyybber> also modesetting works better IMO |
23:40:01 | disruptek | what's optimus? |
23:40:16 | FromDiscord | <Clyybber> nvidia + intel igpu |
23:40:27 | disruptek | are you on a laptop? |
23:40:35 | FromDiscord | <mratsim> To have people who uses other software you need a package manager that doesn't throw an error code after a successful install :/ |
23:40:40 | FromDiscord | <Clyybber> disruptek: Yeah |
23:40:59 | disruptek | mratsim: what's the error code? |
23:41:25 | FromDiscord | <mratsim> This: https://github.com/nim-lang/nimble/issues/696 |
23:41:30 | disruptek | why don't you start with logging and see where it takes you. |
23:41:43 | FromDiscord | <mratsim> Someone had this as well: https://github.com/fragcolor-xyz/nimtorch/issues/18 |
23:42:27 | * | lritter quit (Quit: Leaving) |
23:42:40 | disruptek | well, i don't pr nimble anymore. but if you can make it fail with nimph, i'd be happy to fix it. |
23:43:30 | disruptek | clyybber: if you got as far as libreoffice running in wayfire, it seems to me you were already there. |
23:44:11 | disruptek | i added the rare and elusive upgrade command to nimph last night. |
23:44:34 | FromDiscord | <mratsim> I just added || true in my CI scripts |
23:45:01 | disruptek | sure, sure. wcgw? |
23:45:12 | FromDiscord | <mratsim> I'm lucky because most of my pckages are very low-level and have only very few dependencies |
23:45:38 | FromDiscord | <mratsim> nothing, Ci completes or if it was not download it will fail later anyway |
23:46:09 | FromDiscord | <mratsim> I've spent like 6 hours fighting against Travis and Azure Pipelines this weekend, I don't want to deal with nimble bugs as well |
23:46:47 | * | a_b_m joined #nim |
23:46:56 | disruptek | me neither, and i haven't spent any time at all on ci. |
23:46:57 | FromDiscord | <Clyybber> disruptek: Yeah. |
23:47:14 | FromDiscord | <Clyybber> But I don't even know where to report the issue to |
23:47:25 | FromDiscord | <Clyybber> I'm gonna try sway again |
23:47:28 | FromDiscord | <Clyybber> just in case |
23:47:45 | disruptek | run alacritty with the rust debug option. |
23:47:46 | disruptek | what does it say? probably more than you'll get from kitty. |
23:48:12 | FromDiscord | <mratsim> The issue with multithreading is that even if CI is all green, you can't really say it's tested when the CI only has 2 cores ... |
23:48:35 | FromDiscord | <mratsim> It did highlight a couple of bugs that didn't happen on my machine though |
23:49:00 | FromDiscord | <Clyybber> disruptek: How would I know what it says when I can't exit wayfire heh |
23:49:08 | FromDiscord | <Clyybber> Oh |
23:49:16 | FromDiscord | <Clyybber> I could tell the logs to go elsewhere |
23:49:21 | FromDiscord | <Clyybber> thanks for the tip |
23:50:00 | disruptek | you might be able to run an X11-native terminal instead. |
23:50:13 | disruptek | the suckless one is even faster than alacritty. |
23:50:17 | disruptek | st |
23:50:18 | * | abm quit (Ping timeout: 252 seconds) |
23:50:22 | disruptek | !repo terminal suckless |
23:50:39 | * | a_b_m quit (Client Quit) |
23:51:06 | disruptek | !repo terminal suckless |
23:51:08 | disbot | https://github.com/LukeSmithxyz/st -- 9st: 11Luke's fork of the suckless simple terminal (st) with vim bindings and Xresource compatibility. 15 625⭐ 451🍴 7& 29 more... |
23:51:17 | disruptek | i swear it's like no one tests this stuff anymore. |
23:57:20 | FromDiscord | <Clyybber> disruptek: I was using st before alacritty |
23:57:27 | FromDiscord | <Clyybber> btw, I managed to get firefox to work |
23:57:36 | FromDiscord | <Clyybber> it was just a matter of setting the environment var |
23:57:47 | disruptek | gdk? |
23:57:50 | FromDiscord | <Clyybber> nope |
23:57:52 | FromDiscord | <Clyybber> elogind |
23:58:54 | FromDiscord | <Clyybber> wth |
23:59:00 | FromDiscord | <Clyybber> alacritty magically works too now |
23:59:37 | FromDiscord | <Clyybber> oh well |
23:59:46 | FromDiscord | <Clyybber> I pressed alttab and cant exit the switcher mode |
23:59:55 | FromDiscord | <Clyybber> I can still see the window though and type lol |