00:02:07 | * | acidx quit (Ping timeout: 240 seconds) |
00:08:41 | * | acidx joined #nim |
00:14:49 | * | krux02 joined #nim |
00:15:09 | * | Kaivo quit (Quit: WeeChat 2.7) |
00:23:21 | * | icebattle quit (Ping timeout: 265 seconds) |
00:27:24 | * | Hideki_ joined #nim |
00:27:25 | * | Hideki_ quit (Remote host closed the connection) |
00:27:59 | * | Hideki_ joined #nim |
00:30:46 | * | acidx quit (Ping timeout: 256 seconds) |
00:32:07 | * | krux02 quit (Remote host closed the connection) |
00:35:11 | * | Hideki_ quit (Ping timeout: 272 seconds) |
00:45:57 | * | dadada quit (Ping timeout: 272 seconds) |
00:47:24 | * | dadada joined #nim |
00:47:48 | * | dadada is now known as Guest41651 |
00:49:41 | * | acidx_ joined #nim |
00:51:55 | * | acidx_ is now known as acidx |
00:52:00 | * | acidx quit (Changing host) |
00:52:00 | * | acidx joined #nim |
00:52:26 | * | acidx is now known as acidx_ |
00:53:58 | * | Hideki_ joined #nim |
00:55:08 | * | Hideki_ quit (Remote host closed the connection) |
01:01:26 | * | acidx_ quit (Remote host closed the connection) |
01:01:47 | * | Guest41651 quit (Ping timeout: 272 seconds) |
01:02:19 | * | dadada_ joined #nim |
01:06:31 | * | endragor joined #nim |
01:07:01 | * | acidx joined #nim |
01:07:14 | leorize[m] | shashlick whatever caused those task failures |
01:07:23 | leorize[m] | tests* |
01:08:02 | leorize[m] | I tried on my machine and managed to reproduce those errors |
01:08:15 | leorize[m] | nim devel is not affected because they use stable nimble |
01:14:23 | shashlick | Ok I'll also take a look |
01:16:59 | * | dadada_ quit (Ping timeout: 272 seconds) |
01:17:24 | * | dadada_ joined #nim |
01:31:30 | * | dadada_ quit (Ping timeout: 265 seconds) |
01:32:19 | * | dadada joined #nim |
01:32:42 | * | dadada is now known as Guest32534 |
01:39:43 | * | disrupteq quit (Ping timeout: 265 seconds) |
01:45:45 | * | willowthewhisper joined #nim |
01:46:15 | * | willowthewhisper left #nim ("https://quassel-irc.org - Chat comfortably. Anywhere.") |
01:46:45 | * | Guest32534 quit (Ping timeout: 272 seconds) |
01:47:22 | * | dadada_ joined #nim |
01:52:38 | * | xet7 quit (Remote host closed the connection) |
01:54:05 | * | xet7 joined #nim |
02:00:55 | * | dadada_ quit (Ping timeout: 260 seconds) |
02:02:20 | * | dadada_ joined #nim |
02:07:46 | * | lritter quit (Quit: Leaving) |
02:07:59 | * | Tongir joined #nim |
02:08:53 | * | dddddd quit (Read error: Connection reset by peer) |
02:14:52 | * | icebattle joined #nim |
02:15:38 | * | dadada_ quit (Ping timeout: 240 seconds) |
02:16:14 | * | disrupteq joined #nim |
02:17:23 | * | dadada_ joined #nim |
02:19:50 | * | icebattle quit (Ping timeout: 265 seconds) |
02:27:03 | * | chemist69 quit (Ping timeout: 246 seconds) |
02:29:12 | * | chemist69 joined #nim |
02:30:57 | * | dadada_ quit (Ping timeout: 265 seconds) |
02:32:14 | * | dadada joined #nim |
02:32:37 | * | dadada is now known as Guest60771 |
02:34:36 | * | yewpad joined #nim |
02:36:56 | * | Zectbumo joined #nim |
02:42:09 | * | yewpad quit (Quit: Leaving) |
02:43:24 | leorize | shashlick: so, can I clean this up by just making it take a nimble file instead? https://github.com/nim-lang/nimble/pull/768#discussion_r376185622 |
02:43:25 | disbot_ | ➥ nimscript{wrapper,api}: don't copy generated script to package directory |
02:44:06 | leorize | actually, maybe not |
02:46:02 | * | Guest60771 quit (Ping timeout: 240 seconds) |
02:47:22 | * | dadada_ joined #nim |
02:56:13 | leorize | hmm, how should assertions be used? |
02:56:53 | disruptek | as functional documentation. |
02:57:21 | leorize | but they are disabled on runtime so it's hard to be sure that those conditions actually hit on the unpredictable runtime |
02:57:35 | disruptek | they are disabled in release, sure. |
02:58:00 | leorize | if you compile the compiler with -d:release (which have assertions on btw), sometimes you will see the compiler crash due to them :P |
02:58:18 | disruptek | nice. |
03:00:39 | * | dadada_ quit (Ping timeout: 260 seconds) |
03:01:06 | yumaikas | So, is there such a thing as a cross platform newline function/constant in Nim, or am I just supposed to roll my own? |
03:01:30 | disruptek | i've seen at least one in stdlib. |
03:02:15 | leorize | yumaikas: '\p' |
03:02:19 | * | dadada_ joined #nim |
03:02:21 | leorize | "\p" to be exact |
03:02:25 | leorize | since it can be a string |
03:04:14 | leorize | /githubcom_nitelynimregex_0.10.0/regex_18144.nims(12, 1) Error: 'srcdir' should be: 'srcDir' |
03:04:30 | leorize | that one line alone broke a decent amount of packages :P |
03:05:22 | leorize | shashlick: check this test result out instead: https://dev.azure.com/alaviss/Nim/_build/results?buildId=282&view=ms.vss-test-web.build-test-results-tab |
03:05:34 | leorize | I bumped the hash to the same one as in your pr |
03:05:45 | leorize | now the compiler crashes less so we got more results |
03:06:54 | * | disbot_ is now known as disbot |
03:07:32 | disruptek | !searches srcdir |
03:07:33 | disbot | https://github.com/nitely/nim-regex/issues/55 -- 3error installation `Error: 'srcdir' should be: 'srcDir'` |
03:07:33 | disbot | https://github.com/nim-lang/nimble/issues/747 -- 3Cant install certain hybrid packages |
03:07:33 | disbot | https://github.com/nimterop/nimterop/issues/137 -- 3Issues with nested structs 7& 27 more... |
03:15:27 | * | ptdel quit (Ping timeout: 260 seconds) |
03:16:41 | * | dadada_ quit (Ping timeout: 272 seconds) |
03:17:19 | * | dadada_ joined #nim |
03:22:27 | * | ptdel joined #nim |
03:31:53 | * | dadada_ quit (Ping timeout: 272 seconds) |
03:32:19 | * | dadada joined #nim |
03:32:42 | * | dadada is now known as Guest83171 |
03:32:51 | * | muffindrake quit (Ping timeout: 246 seconds) |
03:35:10 | * | muffindrake joined #nim |
03:38:43 | * | ftsf joined #nim |
03:43:02 | * | NimBot joined #nim |
03:46:16 | * | Guest83171 quit (Ping timeout: 256 seconds) |
03:46:27 | * | a_chou joined #nim |
03:46:27 | * | a_chou quit (Client Quit) |
03:46:51 | * | a_chou joined #nim |
03:47:09 | * | a_chou quit (Client Quit) |
03:47:24 | * | dadada_ joined #nim |
03:52:40 | * | adalricus joined #nim |
04:01:39 | * | dadada_ quit (Ping timeout: 272 seconds) |
04:02:27 | * | dadada_ joined #nim |
04:11:55 | * | Zectbumo quit (Remote host closed the connection) |
04:12:02 | * | cgfuh quit (Quit: WeeChat 2.6) |
04:14:04 | ftsf | @Araq, good talk! exciting stuff! |
04:16:15 | * | dadada_ quit (Ping timeout: 260 seconds) |
04:17:19 | * | dadada_ joined #nim |
04:19:42 | leorize | looks like chronos is broken on devel due to the csize_t change |
04:27:31 | ftsf | https://play.nim-lang.org/#ix=2aXu any idea why `findObjectByName` has side effects? |
04:30:38 | FromGitter | <Varriount> ftsf: It references a global variable |
04:31:02 | * | dadada_ quit (Ping timeout: 256 seconds) |
04:31:34 | ftsf | ahh and referencing a global variable is a side effect even if it doesn't change it? |
04:31:57 | FromGitter | <Varriount> Yes |
04:32:09 | ftsf | ok, i see! "This means that the proc/iterator only changes locations that are reachable from its parameters and the return value only depends on the arguments" |
04:32:19 | * | dadada joined #nim |
04:32:30 | FromGitter | <Varriount> Yeah. That should probably be placed somewhere higher up in the documentation |
04:32:43 | * | dadada is now known as Guest3950 |
04:33:08 | ftsf | hmm i think the error message should probably be a bit more informative, since "side effect" has a very specific, non-intuitive meaning |
04:33:17 | FromGitter | <Varriount> "For the purposes of this manual, a function without side effects is defined as..." |
04:33:19 | ftsf | I guess it makes sense for people who are used to functional programming |
04:33:48 | FromGitter | <Varriount> ftsf: It's also relatively simple to implement, compared to more advanced forms of side-effect analysis |
04:34:18 | ftsf | Error: 'findObjectByName' can have side effects: global variable "objectPalette" referenced |
04:34:21 | ftsf | would be awesome |
04:38:20 | shashlick | leorize: replied in the issue - will take a look at nimble bugs tomorrow |
04:45:46 | * | Guest3950 quit (Ping timeout: 256 seconds) |
04:47:17 | * | dadada_ joined #nim |
04:50:21 | yumaikas | As a random question: Does anyone here have experience writing programs that produce columnar output in a terminal? |
04:51:21 | * | nsf joined #nim |
05:00:35 | * | dadada_ quit (Ping timeout: 260 seconds) |
05:02:19 | * | dadada_ joined #nim |
05:08:41 | * | Zectbumo_ joined #nim |
05:14:20 | * | Zectbumo_ quit (Excess Flood) |
05:14:39 | * | Zectbumo joined #nim |
05:15:48 | * | dadada_ quit (Ping timeout: 256 seconds) |
05:17:20 | * | dadada_ joined #nim |
05:19:02 | FromGitter | <timotheecour> compiler/asciitables |
05:26:20 | yumaikas | Hrm... Not a bad idea. I suppose I'm trying to figure out how ls does it's columnar output |
05:26:51 | FromGitter | <kaushalmodi> yumaikas: https://github.com/xmonader/nim-terminaltables |
05:27:08 | yumaikas | (not ls -la, but ls -C) |
05:27:26 | FromGitter | <kaushalmodi> yumaikas: May be https://github.com/c-blake/lc ? |
05:28:31 | yumaikas | Unfortunately, that doesn't work on windows |
05:31:43 | * | dadada_ quit (Ping timeout: 265 seconds) |
05:32:21 | * | dadada joined #nim |
05:32:44 | * | dadada is now known as Guest80256 |
05:36:40 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
05:37:18 | * | Lord_Nightmare joined #nim |
05:46:02 | * | Guest80256 quit (Ping timeout: 240 seconds) |
05:47:19 | * | dadada_ joined #nim |
06:01:21 | * | dadada_ quit (Ping timeout: 272 seconds) |
06:02:19 | * | dadada_ joined #nim |
06:08:09 | * | rockcavera quit (Remote host closed the connection) |
06:14:43 | FromDiscord_ | <Elegant Beef> What aboot https://github.com/johnnovak/illwill? |
06:14:44 | FromDiscord_ | <Elegant Beef> What aboot https://github.com/johnnovak/illwill ? |
06:15:52 | * | dadada_ quit (Ping timeout: 256 seconds) |
06:15:56 | FromDiscord_ | <Elegant Beef> I guess those automate the process |
06:17:18 | * | dadada_ joined #nim |
06:20:26 | * | ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
06:22:12 | yumaikas | We'll, what I'm trying to emulate is how ls lists files names (and just the names) in a multi-column layout when it has enough space for that |
06:22:17 | yumaikas | *well |
06:22:56 | yumaikas | So, it's not spitting out *a* table, it's spitting out *that* table that I don't quite know how to do yet |
06:25:15 | * | theelous3 quit (Ping timeout: 240 seconds) |
06:30:31 | * | oculux joined #nim |
06:30:47 | * | dadada_ quit (Ping timeout: 240 seconds) |
06:32:24 | * | dadada joined #nim |
06:32:47 | * | dadada is now known as Guest71415 |
06:33:30 | FromDiscord_ | <Elegant Beef> Do you already have a table collection? |
06:33:43 | FromDiscord_ | <Elegant Beef> Or an object to hold all your data |
06:36:10 | * | narimiran joined #nim |
06:38:05 | yumaikas | What I am trying to tabulate is a list of filesystem entry names that doesn't have an inherent table structure. It's just a seq |
06:39:16 | yumaikas | The easy/obvious but less pretty way is to alignLeft all of the entries |
06:39:35 | yumaikas | Based in reading out terminalWidth |
06:39:51 | FromDiscord_ | <Elegant Beef> Well you can align right assuming you have a max width |
06:41:16 | yumaikas | ls does a left align |
06:42:35 | yumaikas | But to get some basic space savings, it's better if you compute that max-width per-column |
06:43:14 | yumaikas | But you have to distribute the data into columns first, and/or do that over a number of potential layouts |
06:44:02 | yumaikas | Unless there's some mathemagic I'm not away of for finding the right number of columns for displaying a list like that |
06:47:56 | yumaikas | Idk. It's obvious what the target output is, but getting there is harder, and for some reason, reading the coreutils C source for ls didn't help me understand how they do it much better |
06:48:40 | FromDiscord_ | <Elegant Beef> I think it's mostly trial and error, but i could be wrong |
07:02:41 | lqdev[m] | yumaikas: I think they just calculate the max column width overall, I've never seen column widths vary in ls |
07:03:22 | lqdev[m] | var w = 0; for name in files: if w < name.len: w = name.len |
07:12:30 | FromDiscord_ | <Elegant Beef> or you can cut the name and ad an elipis |
07:12:48 | FromDiscord_ | <Elegant Beef> or you can cut the name and add an elipis |
07:26:12 | * | adalricus quit (Remote host closed the connection) |
07:44:12 | * | adalricus joined #nim |
07:47:24 | * | solitudesf- joined #nim |
07:53:50 | * | PMunch_ is now known as PMunch |
07:54:41 | * | Zectbumo quit (Read error: Connection reset by peer) |
07:54:59 | * | Zectbumo joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:00:02 | * | solitudesf- quit (Quit: Leaving) |
08:00:23 | * | solitudesf joined #nim |
08:00:47 | FromDiscord_ | <highDevGuy> I moved my code to a linux server and when I compile + run I instantly get this error. I have no problem compiling and running it on my win10 machine though. Looks like some permission problem but I have no clue how to debug it because servers and linux are really not something I'm familiar with :/ |
08:00:47 | FromDiscord_ | <highDevGuy> https://cdn.discordapp.com/attachments/371759389889003532/675249583533588480/nim_jester_error.jpg |
08:02:45 | nisstyre | highDevGuy: you can't bind to port 80 without root |
08:03:05 | nisstyre | and you probably should not anyway, it's better to proxy through nginx to localhost:8080 or whatever |
08:03:45 | nisstyre | and you'll want to use a process manager like systemd to launch it too |
08:03:55 | nisstyre | or run it in docker and then use docker to run it |
08:04:16 | FromDiscord_ | <highDevGuy> thank you... I'll check it out now |
08:04:56 | nisstyre | if you need help writing a systemd unit file, there is lots of info here https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files |
08:05:07 | * | gmpreussner joined #nim |
08:05:11 | nisstyre | might vary depending on your distro (I'm guessing Ubuntu or Debian) |
08:05:36 | nisstyre | the examples are probably where you want to look first |
08:06:52 | nisstyre | tbh you'd probably be better off using something like PM2 or supervisord |
08:07:04 | nisstyre | it's simpler if you're not experienced at Linux administration |
08:12:27 | * | gmpreussner quit (Ping timeout: 272 seconds) |
08:12:29 | FromDiscord_ | <highDevGuy> yes, I'm as lost as one can be 😄 Got a free docker with CentOS so I'm using that. I have zero sys-admin skills but I'll figure it out... eventually |
08:14:10 | FromDiscord_ | <highDevGuy> btw, I've changed the port to 420 (I know) but still get exactly the same error |
08:14:37 | FromDiscord_ | <highDevGuy> btw, I've changed the port to 420 but still get exactly the same error |
08:18:16 | * | Guest71415 quit (Ping timeout: 256 seconds) |
08:19:43 | * | dadada joined #nim |
08:20:07 | * | dadada is now known as Guest1119 |
08:24:01 | * | hax-scramper quit (Read error: Connection reset by peer) |
08:26:09 | * | hax-scramper joined #nim |
08:27:27 | * | couven92 joined #nim |
08:32:50 | FromDiscord_ | <Solitude> ports under <1000 require root |
08:34:10 | * | couven92 quit (Read error: Connection reset by peer) |
08:34:49 | FromDiscord_ | <highDevGuy> that did it! thank you |
08:41:47 | PMunch | Hmm, I really wish there was an easier way to import a C type from a complex project.. |
08:42:20 | PMunch | I'm sitting here writing printf("sometype: %d", sizeof(sometype)); statements to try and figure out where my wrapping went wrong.. |
08:43:35 | * | Vladar joined #nim |
08:44:34 | Araq | PMunch, don't we have c2nim for that? |
08:45:31 | PMunch | I tried for days to get c2nim to work on this project |
08:46:36 | PMunch | But to no avail, it wasn't able to handle the weird way it defines types |
08:48:47 | * | hax-scramper quit (Ping timeout: 240 seconds) |
08:50:04 | * | hax-scramper joined #nim |
08:52:41 | * | hax-scramper quit (Client Quit) |
08:52:58 | * | hax-scramper joined #nim |
08:54:08 | PMunch | Hmm, my Nim object comes out 4 bytes smaller than the C struct. But if I create new types for each of the fields they all report the same size. So the C struct aligns differently in memory than the Nim object. |
09:00:15 | FromDiscord_ | <exelotl> What does the original nim object look like? |
09:03:19 | * | Mister_Magister is now known as Mister_Magister_ |
09:03:27 | * | Mister_Magister_ is now known as Mister_Magister |
09:04:17 | * | crem quit (Ping timeout: 260 seconds) |
09:04:39 | * | hax-scramper quit (Ping timeout: 260 seconds) |
09:05:05 | * | Guest1119 is now known as dadada |
09:05:24 | * | hax-scramper joined #nim |
09:05:24 | * | crem joined #nim |
09:07:09 | * | floppydh joined #nim |
09:07:28 | Zevv | PMunch: nonsense. |
09:08:00 | Zevv | I assume you looked at the generated C struct definition in your nim C output |
09:08:28 | PMunch | That's about the only thing I haven't done yet |
09:08:39 | Zevv | first thing you should do :) |
09:08:47 | PMunch | http://ix.io/2aXZ/nim |
09:09:37 | Zevv | don't knwo what c source you are trying to match, but array[20, byte] will not force alignment |
09:09:42 | PMunch | http://ix.io/2aY0/c |
09:09:44 | Zevv | but in6_pktinfo will |
09:09:55 | PMunch | That's what the C and Nim types look like |
09:10:13 | PMunch | All those sub-types have the same sizes, but the combined C type is 4 bytes bigger than the C one |
09:10:22 | Zevv | I say pktinfo is the culprit |
09:10:43 | PMunch | Yeah that seems likely, as it's the only thing that is different |
09:11:15 | Zevv | byte arrays do not need to be aligned, so it is likely that pktinfo is tucked nicely straight to after srctype |
09:11:21 | Zevv | but the structs in c get aligned |
09:11:26 | Zevv | offsetof() is your friend also |
09:11:49 | PMunch | Oh right, completely forgot offsetof! |
09:20:12 | PMunch | Huh, it wasn't pktinfo |
09:21:04 | Zevv | no way |
09:21:21 | PMunch | The second field (after the struct comm_point* c) has offset 8 in the C code, but offset 4 in the Nim code.. |
09:22:37 | Zevv | What is Sockaddr_storage in nim then? |
09:22:56 | PMunch | An object |
09:23:04 | Zevv | well, the fun you have |
09:23:28 | PMunch | http://ix.io/2aY2/nim |
09:23:55 | PMunch | Based on this type: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms740504(v%3Dvs.85) |
09:24:02 | Zevv | yeaah nice. |
09:24:15 | Zevv | but it should get the type from the libc headers instead |
09:24:35 | Zevv | otherwise you can never guerantee things like, say, packing, for example |
09:24:44 | PMunch | Aha |
09:26:35 | PMunch | Is there importc for C types? |
09:27:51 | FromDiscord_ | <exelotl> Yeah |
09:29:28 | FromDiscord_ | <exelotl> PMunch: you might find some examples in https://github.com/exelotl/natu/blob/master/natu/private/types.nim |
09:32:02 | PMunch | Ah sweet |
09:32:04 | PMunch | Thanks |
09:35:23 | Zevv | but really, Sockaddr_storage in the stdlib should be fixed then |
09:35:55 | PMunch | This isn't from the stdlib |
09:36:05 | Zevv | ah it's from the pmunchlib! |
09:38:06 | * | Zectbumo quit (Remote host closed the connection) |
09:48:54 | PMunch | Hmm.. The `nativesockets` module doesn't expose `InAddr` or `In6Addr` |
09:51:46 | PMunch | Ah.. http://ix.io/2aYa |
09:52:37 | PMunch | Related to this: https://github.com/nim-lang/Nim/pull/12655 |
09:52:41 | disbot | ➥ Fix issue with fields trying to use wrong name ; snippet at 12https://play.nim-lang.org/#ix=2aYc |
09:53:44 | * | WilhelmV1nWeiner quit (Remote host closed the connection) |
09:53:58 | * | WilhelmVonWeiner joined #nim |
09:53:58 | * | WilhelmVonWeiner quit (Client Quit) |
09:54:13 | * | WilhelmVonWeiner joined #nim |
10:08:51 | federico3 | ah we are building on builds.sr.ht as well |
10:16:16 | Araq | federico3, yup. BSD is supported well these days :-) |
10:20:43 | * | endragor quit (Remote host closed the connection) |
10:26:50 | * | lqdev[m] quit (Quit: killed) |
10:27:01 | * | vycb[m] quit (Quit: killed) |
10:27:07 | * | BitPuffin quit (Quit: killed) |
10:27:10 | * | unclechu quit (Quit: killed) |
10:27:13 | * | skrylar[m] quit (Quit: killed) |
10:27:13 | * | oswin[m] quit (Quit: killed) |
10:27:13 | * | watzon[m] quit (Quit: killed) |
10:27:13 | * | silvernode[m] quit (Quit: killed) |
10:27:18 | * | pqflx3[m] quit (Quit: killed) |
10:27:18 | * | s87651[m] quit (Quit: killed) |
10:27:19 | * | pigmej quit (Quit: killed) |
10:27:23 | * | freepump[m] quit (Quit: killed) |
10:27:24 | * | leorize[m] quit (Quit: killed) |
10:33:23 | federico3 | trying to set a record of number of CI systems used |
10:49:51 | * | sammich quit (Remote host closed the connection) |
10:51:01 | * | sammich joined #nim |
10:51:19 | FromDiscord_ | <Rika> Why does nimsuggest murder ram? Or linters in general |
10:51:40 | narimiran | to make you close your chrome to be more productive in the end :P |
10:52:22 | leorize | luckily I use firefox which doesn't have these kinds of issues (with tweaks) :P |
10:53:23 | leorize | in short for why nimsuggest murder ram: there might be a logical leak in the compiler |
10:53:28 | leorize | we don't really know to be fair |
10:54:47 | * | chemist69 quit (Ping timeout: 240 seconds) |
10:55:11 | * | chemist69 joined #nim |
11:03:27 | * | Tongir quit (Quit: Leaving) |
11:07:36 | FromDiscord_ | <exelotl> @leorize which tweaks? :o |
11:23:35 | * | leorize[m] joined #nim |
11:23:35 | * | GitterIntegratio joined #nim |
11:23:35 | * | Yardanico[m] joined #nim |
11:23:37 | * | BitPuffin joined #nim |
11:23:37 | * | salotz[m] joined #nim |
11:23:37 | * | lqdev[m] joined #nim |
11:23:38 | * | unclechu joined #nim |
11:23:41 | * | silvernode[m] joined #nim |
11:23:42 | * | pqflx3[m] joined #nim |
11:23:42 | * | freepump[m] joined #nim |
11:23:42 | * | planetis[m] joined #nim |
11:23:42 | * | grantmwilliams joined #nim |
11:23:43 | * | pigmej joined #nim |
11:23:43 | * | d-nice2[m] joined #nim |
11:23:43 | * | vycb[m] joined #nim |
11:23:43 | * | skrylar[m] joined #nim |
11:23:43 | * | hohlerde joined #nim |
11:23:44 | * | s87651[m] joined #nim |
11:23:44 | * | oswin[m] joined #nim |
11:23:44 | * | watzon[m] joined #nim |
11:35:12 | * | Trustable joined #nim |
11:40:31 | FromDiscord_ | <sveri> Hi, I am trying to figure out how to convert uri to a string. |
11:40:32 | FromDiscord_ | <sveri> What I got working is `$req.url` but when I do `if $req.url.contains("css/"):` I get an error: `Error: type mismatch: got <Uri, string> but expected one of:...` |
11:40:32 | FromDiscord_ | <sveri> So I assume it expects a boolean in an if, but the `$` casts bool to string. |
11:40:32 | FromDiscord_ | <sveri> Is there a way to convert req.url to string and then call contains on it in one line? |
11:42:06 | PMunch | ($req.url).contains("css/") |
11:42:43 | PMunch | The problem is that it tries to do $(req.url.contains("css/")) |
11:42:46 | FromDiscord_ | <sveri> Ah, thanks. I tried $(req.url).contains and that didnt work, didnt think of grouping it with the $ statement. Thank you. |
11:43:30 | PMunch | You could also write req.url.`$`.contains("css/") but that's not very common |
11:43:44 | PMunch | In fact I'm not sure if I've ever seen it |
11:44:30 | PMunch | Hmm, is there a way in a macro to get all procedures that takes a given type as the first parameter? |
11:44:38 | PMunch | I.e. those that "belong" to that type |
11:46:33 | FromDiscord_ | <sveri> I just found about in, which is even nicer 🙂 |
11:47:01 | Zevv | PMunch: ha I knew you would ask that question |
11:47:06 | Zevv | I didn't dare to |
11:47:23 | PMunch | Haha, yeah guess what I'm trying to fix :P |
11:49:26 | Zevv | that's what you get from rewriting my packages |
11:50:21 | * | PMunch looks around shiftily |
11:51:59 | PMunch | I mean we _could_ invoke nimsuggest to get them :P |
11:52:56 | Zevv | duuude |
11:53:21 | PMunch | Haha, I said we could not that we should |
11:53:57 | PMunch | Unfortunately I don't think there is a good way to solve this.. |
11:54:18 | Zevv | no that was my conclusion for her |
11:55:05 | PMunch | Essentially it boils down to wanting to be able to call procedures on the field. But in order to be able to do that all the procedures that the type has needs to be wrapped. |
11:55:42 | Zevv | right. I looked for that but could not find a way to figure that out |
11:55:46 | PMunch | And I'm not really sure how, or even if it's possible, to get that information.. |
11:55:58 | Zevv | two of us |
11:59:34 | PMunch | Araq, do you know if this is even possible? |
12:00:58 | FromDiscord_ | <sveri> Is there a function in strutils that gives me everyting after the last separator? |
12:01:31 | PMunch | myStr[0..myStr.rfind(<separator>)] |
12:01:35 | PMunch | Something like that? |
12:02:27 | FromDiscord_ | <sveri> ah, yes, that looks like what I want |
12:02:36 | PMunch | template allAfter(myStr: string, sep: char): untyped = myStr[myStr.rfind(sep)..^1] |
12:02:55 | PMunch | Sorry, messed the indices up, should be like in that template |
12:03:04 | PMunch | Or possibly +1 on the rfind side |
12:04:18 | PMunch | Definitely should have +1: https://play.nim-lang.org/#ix=2aYt |
12:06:59 | FromDiscord_ | <sveri> PMunch: thanks, I started looking into nim yesterday and really start to like it 🙂 |
12:07:06 | FromDiscord_ | <sveri> Seeing a template in action is enlighening |
12:08:03 | PMunch | Yeah, templates can be a nice little tool :) |
12:08:12 | PMunch | Glad to hear you like it so far |
12:10:36 | FromDiscord_ | <sveri> Yea, I have been doing java in my job for 10 years now, did 5 years clojure on the side for my own stuff and wanted to look into a language that compiles to C, found nim, am impressed by its capabilities 🙂 |
12:10:54 | Zevv | Welcome to the Hotel California |
12:11:08 | Zevv | You can check out any time you want, but you can never leave |
12:11:48 | FromDiscord_ | <sveri> Yea, it was / is the same for clojure. REPL development and immutable data structures are just super awesome. |
12:12:07 | Zevv | repl is not our strongest story, I'm afraid |
12:12:30 | FromDiscord_ | <sveri> Yea, I have seen that. I will try to incorporate hot reload in the next days and see how far it goes. |
12:12:30 | PMunch | Clojure is nice, but for scripting and other short lived programs the JVM spin-up time is a bit brutal.. |
12:12:48 | PMunch | There is `nim secret` that starts a REPL |
12:12:56 | Zevv | ssssst |
12:13:05 | FromDiscord_ | <sveri> It is, on the other hand, clojurescript runs on node and does a lot of stuff 🙂 |
12:13:11 | federico3 | we don't need REPL, we need an interactive environment |
12:13:24 | Zevv | 1st rule is you don't talk about secret |
12:14:13 | FromDiscord_ | <sveri> Is there some documentation about secret stuff you dont talk about? 😄 |
12:14:15 | PMunch | sveri, never really tried Clojurescript saddly, but node isn't exactly a light run-time either. Although much faster to start than the JVM |
12:14:33 | PMunch | sveri, that's why they are secret, because they're not documented anywhere :P |
12:14:57 | FromDiscord_ | <sveri> Clojure / Clojurescript are basically the same, one compiles to jvm the other to js, similar to nim as far as I can see. |
12:15:43 | PMunch | I actually use `secret` from time to time to check out simple stuff. But nowadays I just pop over into the playground if I want that functionality |
12:16:26 | FromDiscord_ | <sveri> Spring Dev tools just recompiles changed classes and loads them into the JVM, stuff like that is enough. For fast development you dont have to have a REPL. |
12:16:32 | PMunch | sveri, well Clojure/Clojurescript is a bit different than Nim -> C/JS, but it's similar |
12:17:55 | * | dddddd joined #nim |
12:19:46 | federico3 | like a Nim jupiter core with hot code reloading? |
12:20:18 | * | icebattle joined #nim |
12:24:27 | * | icebattle quit (Ping timeout: 240 seconds) |
12:26:30 | * | marmotini_ joined #nim |
12:28:27 | * | hax-scramper quit (Ping timeout: 240 seconds) |
12:34:39 | * | ng0_ quit (Ping timeout: 272 seconds) |
12:39:15 | FromDiscord_ | <mikroskeem> sveri, have you seen ferret-lang? |
12:39:51 | FromDiscord_ | <mikroskeem> i've been thinking to write some sort of bridge thingy to allow calling external C functions using it from clojure |
12:40:17 | PMunch | federico3, I guess it would be possible to create a little thing that uses nimsuggest to check if your code would compile/supply you with errors etc. and if the code would compile, then compile and run it and show the output. |
12:40:41 | PMunch | mikroskeem, another interesting one is janet-lang |
12:41:01 | FromDiscord_ | <mikroskeem> interesting |
12:43:51 | Zevv | it has PEGs! \o/ |
12:50:08 | * | theelous3 joined #nim |
12:53:29 | * | dadada quit (Ping timeout: 265 seconds) |
12:54:36 | federico3 | PMunch: yes, in a closed loop with an editor |
12:54:47 | federico3 | IIRC there was a project like that |
12:55:26 | * | hax-scramper joined #nim |
12:55:34 | PMunch | Well there was `inim`: github.com/AndreiRegiani/INim |
12:55:43 | PMunch | But that's more repl-esque |
12:56:25 | PMunch | There was also this thing that ran TinyCC to speed up compilations |
12:56:39 | PMunch | But again REPL-esque |
12:57:33 | PMunch | I was more thinking a twin view like the playground, and as soon as you stop typing nimsuggest will check for errors, if there are none then compile and run the code and show the output. If you begin typing again before it's complete then stop the compilation/running |
12:58:16 | PMunch | But essentially then every time you have a buffer that is runnable it will be run and show you the result |
13:02:24 | * | dadada joined #nim |
13:02:47 | * | dadada is now known as Guest85929 |
13:08:02 | * | marmotini_ quit (Remote host closed the connection) |
13:14:45 | * | hax-scramper quit (Ping timeout: 265 seconds) |
13:14:47 | Zevv | what a way to waste electrons |
13:15:01 | * | Vladar quit (Quit: Leaving) |
13:15:09 | * | hax-scramper joined #nim |
13:15:10 | PMunch | Oh for sure |
13:15:16 | Zevv | if feels like editing lib/system.nim with nimsuggest huffing and puffing in the background trying to keep up |
13:18:25 | FromGitter | <mratsim> At least it doesn't get stuck in infinite loop |
13:20:30 | FromGitter | <mratsim> Editing weave is a recipe to have 1~3 nimsuggest instances stuck |
13:26:52 | FromGitter | <gogolxdong> where is the .cfg document? |
13:31:04 | * | Guest85929 quit (Ping timeout: 256 seconds) |
13:31:49 | Araq | nowhere but it's just |
13:31:52 | Araq | key = value |
13:32:04 | Araq | and @if symbol: ... @else ... @end |
13:32:18 | * | dadada joined #nim |
13:32:41 | * | dadada is now known as Guest50034 |
13:36:46 | * | marmotini_ joined #nim |
13:40:59 | yumaikas | lqdev[m]: they definitely vary, at least on Ubuntu |
13:41:14 | yumaikas | (column widths, that is) |
13:41:53 | lqdev[m] | maybe I just never noticed. |
13:42:13 | * | Kaivo joined #nim |
13:42:34 | lqdev[m] | if you want something simple, you should probably go with the constant width way |
13:42:50 | * | marmotini_ quit (Remote host closed the connection) |
13:43:02 | * | floppydh quit (Quit: WeeChat 2.7) |
13:46:13 | * | Guest50034 quit (Ping timeout: 272 seconds) |
13:47:22 | * | dadada_ joined #nim |
13:51:43 | * | marmotini_ joined #nim |
13:55:44 | FromGitter | <gogolxdong> what does path:.. and path:../Nim in nlvm nim.cfg mean? Does it mean both? |
13:57:24 | FromGitter | <mratsim> It's to add parent directory and parent_dir/Nim files as if they were in the current dir for imports |
14:00:31 | * | dadada_ quit (Ping timeout: 260 seconds) |
14:01:27 | * | ftsf quit (Ping timeout: 260 seconds) |
14:02:20 | * | dadada_ joined #nim |
14:04:29 | * | hax-scramper quit (Read error: Connection reset by peer) |
14:05:01 | * | hax-scramper joined #nim |
14:05:22 | * | hax-scramper quit (Read error: Connection reset by peer) |
14:15:50 | * | dadada_ quit (Ping timeout: 256 seconds) |
14:17:28 | * | dadada_ joined #nim |
14:20:43 | * | rockcavera joined #nim |
14:22:33 | FromDiscord_ | <sveri> @mikroskeem I looked into it, but from my 10 minutes it was not to interesting for me. |
14:22:33 | FromDiscord_ | <sveri> One of the big plus of clojure is that it's backed up by the JVM and java libraries. |
14:22:33 | FromDiscord_ | <sveri> Nim compiles to C which is a similar plus... |
14:23:43 | livcd | https://github.com/bunkford/wChart <- this is really cool |
14:26:28 | FromDiscord_ | <sveri> @mikroskeem I dont want to say it's bad or lacking, I just dont have a usecase for real time applications myself. |
14:31:07 | * | dadada_ quit (Ping timeout: 240 seconds) |
14:32:23 | * | dadada joined #nim |
14:32:46 | * | dadada is now known as Guest76464 |
14:36:58 | * | marmotini_ quit (Read error: Connection reset by peer) |
14:47:01 | * | Guest76464 quit (Ping timeout: 272 seconds) |
14:47:25 | * | dadada_ joined #nim |
14:54:03 | disruptek | 09:32:23 -!- dadada [[email protected]] has joined #nim |
14:54:06 | disruptek | 09:32:23 -!- dadada [[email protected]] has joined #nim |
14:54:08 | disruptek | 09:32:46 -!- dadada is now known as Guest76464it [Ping timeout: 240 seconds] |
14:54:11 | disruptek | 09:32:23 -!- dadada [[email protected]] has joined #nim |
14:54:13 | disruptek | weeee! |
15:00:47 | * | dadada_ quit (Ping timeout: 240 seconds) |
15:02:25 | * | dadada_ joined #nim |
15:11:17 | * | PMunch quit (Quit: Leaving) |
15:15:47 | * | dadada_ quit (Ping timeout: 240 seconds) |
15:16:51 | FromDiscord_ | <Zachary Carter> if I have a template that takes in an untyped parameter called X |
15:17:07 | FromDiscord_ | <Zachary Carter> is it possible, in that template, to substitute a proc that combines the value of X with another symbol |
15:17:15 | * | endragor joined #nim |
15:17:29 | * | dadada_ joined #nim |
15:17:29 | FromDiscord_ | <Zachary Carter> like if I want to substitute a proc with the name `exploreD` and I pass `D` into the template |
15:17:45 | FromDiscord_ | <Zachary Carter> something like - |
15:17:45 | FromDiscord_ | <Zachary Carter> ``` |
15:17:45 | FromDiscord_ | <Zachary Carter> template CASE(x: untyped) = |
15:17:46 | FromDiscord_ | <Zachary Carter> proc `explorex`() |
15:17:46 | FromDiscord_ | <Zachary Carter> |
15:17:46 | FromDiscord_ | <Zachary Carter> CASE(D) |
15:17:46 | FromDiscord_ | <Zachary Carter> ``` |
15:24:55 | * | endragor quit (Remote host closed the connection) |
15:29:11 | * | JohnAD quit (Remote host closed the connection) |
15:31:12 | * | dadada_ quit (Ping timeout: 256 seconds) |
15:32:21 | FromDiscord_ | <Zachary Carter> nevermind found https://nim-lang.github.io/Nim/manual.html#templates-identifier-construction |
15:32:25 | * | dadada joined #nim |
15:32:48 | * | dadada is now known as Guest54748 |
15:33:35 | Zevv | http://ix.io/2aZH |
15:34:35 | Zevv | dude. after all the effort I put into this |
15:34:37 | Zevv | you say nevermind |
15:36:49 | FromDiscord_ | <Zachary Carter> lol |
15:37:01 | FromDiscord_ | <Zachary Carter> I'm sowwy Zevv |
15:37:12 | Zevv | I bet you are! |
15:37:23 | * | endragor joined #nim |
15:37:37 | Zevv | My intial hunch was to muble something backtick something mumble |
15:37:47 | FromDiscord_ | <Zachary Carter> yeah - I knew it had something to do with backticks lol |
15:37:51 | FromDiscord_ | <Zachary Carter> I just couldn't quite figure it out |
15:37:57 | Zevv | but then I thought to myself: "Hey, this is ZacharyCarter, you can not just do mumblebacktickmuble" |
15:38:04 | FromDiscord_ | <Zachary Carter> lmao |
15:38:08 | Zevv | So I opened my editor |
15:38:21 | Zevv | and put all my love and attention into crafting you a nice example |
15:38:37 | Zevv | I want you to print that out and frame it |
15:38:41 | Zevv | and put it over your toilet |
15:38:57 | FromDiscord_ | <Zachary Carter> I do appreciate the effort |
15:39:07 | FromDiscord_ | <Zachary Carter> well - I'm moving into a new apartment later this month |
15:39:11 | FromDiscord_ | <Zachary Carter> so that might just happen |
15:39:14 | Zevv | that helps a lot. I'm glad we had this talk |
15:39:20 | FromDiscord_ | <Zachary Carter> me too <23 |
15:39:22 | FromDiscord_ | <Zachary Carter> oops |
15:39:22 | Zevv | ah back to the states? |
15:39:24 | FromDiscord_ | <Zachary Carter> ❤️ |
15:39:44 | FromDiscord_ | <Zachary Carter> yeah - I'm already back in Virginia but I move to Texas and start my new job on the 18th |
15:40:00 | Zevv | sweet. Good luck man! |
15:40:04 | FromDiscord_ | <Zachary Carter> thanks 😄 |
15:42:21 | Zevv | you took everything with you already or do you need another round trip? |
15:43:10 | FromDiscord_ | <Zachary Carter> well - the gf and I had a trip planned to Helsinki at the end of this month already before the whole Texas thing happened |
15:43:28 | Zevv | So, you bring an extra suitcase or two |
15:43:32 | FromDiscord_ | <Zachary Carter> so I shipped most of my stuff back last week, and when we go on our trip, I'll send the rest of the stuff back |
15:43:43 | FromDiscord_ | <Zachary Carter> yeah - I think the only thing I really need to ship still is my desktop PC |
15:43:54 | FromDiscord_ | <Zachary Carter> everything else should be packable in suitcases I think |
15:44:18 | Zevv | just take out the motherboard and the drives and ditch the case |
15:44:27 | Zevv | probably cheaper then shipping |
15:45:11 | FromDiscord_ | <Zachary Carter> could very well be - I'll have to check |
15:45:32 | FromDiscord_ | <Zachary Carter> DHL still hasn't dropped off my snowboard yet - has me a bit worried / peeved |
15:45:50 | FromDiscord_ | <Zachary Carter> but I added $500 insurance on it so I guess I'm covered either way |
15:46:07 | * | Guest54748 quit (Ping timeout: 268 seconds) |
15:46:54 | Zevv | does that pay for the board? |
15:47:23 | * | dadada_ joined #nim |
15:48:01 | FromDiscord_ | <Zachary Carter> probably - the board and boots are several years old |
15:48:07 | FromDiscord_ | <Zachary Carter> it's at least something |
15:48:38 | Zevv | about ten years ago I lent an electric guitar to someone who took hit with him moving to 4 different countries. A few months ago I received a box from switzerland in the mail, 120cm long, 80cm wide and 12cm high. Filled with two handfulls of foam balls and an electric guitar. Just one floppy box. Amazingly it survived. |
15:48:48 | FromDiscord_ | <treeform> I had my computer break during car crash while moving. It sucked. |
15:49:02 | Zevv | bah |
15:49:05 | FromDiscord_ | <Zachary Carter> that does suck |
15:49:18 | FromDiscord_ | <Zachary Carter> damn that's crazy |
15:49:25 | FromDiscord_ | <Zachary Carter> but awesome you got the guitar back 😄 |
15:50:15 | Zevv | Well, I forgot about it so it was a nice surprise :) |
15:50:48 | FromDiscord_ | <Zachary Carter> yeah, definitely |
15:51:24 | FromDiscord_ | <Rika> 🤔 |
15:51:29 | FromDiscord_ | <Rika> Off topic perhaps? |
15:51:52 | Zevv | perrrr-haps |
15:51:55 | FromDiscord_ | <Zachary Carter> unless there's more topical chat going on - I don't think it's an issue |
15:52:07 | Zevv | it might be for people who read back |
15:52:18 | disruptek | i hate those people. |
15:52:21 | FromDiscord_ | <Zachary Carter> +1 |
15:52:21 | * | couven92 joined #nim |
15:52:33 | disruptek | sup fredrik |
15:53:43 | * | skellock joined #nim |
15:55:25 | skellock | i like nim |
15:56:27 | dadada_ | then you're at the right place |
15:57:15 | * | Pqzcih5 joined #nim |
15:57:53 | FromDiscord_ | <Zachary Carter> I'm trying to make a lookup table of function pointers - https://play.nim-lang.org/#ix=2aZO |
15:57:59 | FromDiscord_ | <Zachary Carter> using some templates |
15:58:03 | FromDiscord_ | <Zachary Carter> but I'm failingggg |
15:58:33 | FromDiscord_ | <Zachary Carter> I guess the return type in the template should also be untyped |
15:58:53 | FromDiscord_ | <Zachary Carter> but that doesn't solve my problem either |
16:03:59 | dadada_ | has anyone worked on a https://langserver.org/ for nim? |
16:04:14 | disruptek | yep. |
16:04:25 | shashlick | lots to do today |
16:04:50 | disruptek | !repo nimlsp |
16:04:51 | disbot | https://github.com/PMunch/nimlsp -- 9nimlsp: 11Language Server Protocol implementation for Nim 15 105⭐ 10🍴 |
16:06:36 | * | icebattle joined #nim |
16:07:21 | * | tane joined #nim |
16:09:35 | FromGitter | <Varriount> Zevv: Not enough code to find the problem |
16:12:03 | FromDiscord_ | <Zachary Carter> did you mean me Varriount? |
16:12:25 | FromDiscord_ | <Zachary Carter> I didn't see Zevv post any code - unless it was from earlier |
16:15:59 | FromDiscord_ | <Zachary Carter> okay - I'm getting there with my issue... just need to figure out how to use a template to include a bunch of template invocations residing in another file |
16:16:17 | FromDiscord_ | <Zachary Carter> I figured just `include filename` inside of a template would work, but apparently not |
16:19:19 | FromGitter | <alehander92> Zachary you saw europe |
16:19:21 | FromGitter | <alehander92> you survived |
16:19:24 | FromGitter | <alehander92> you went back |
16:19:40 | FromDiscord_ | <Zachary Carter> I did!!! |
16:19:57 | FromDiscord_ | <Zachary Carter> I almost didn't make it - caught a super nasty flu the same week i was flying out |
16:20:06 | FromGitter | <alehander92> Araq https://github.com/nim-lang/Nim/issues/1235 here this should work iirc in my patch |
16:20:07 | FromDiscord_ | <Zachary Carter> but thankfully it didn't kill me and wasn't the coronavirus |
16:20:07 | disbot | ➥ 'not nil' check missing early function return. |
16:20:40 | Araq | I know |
16:20:48 | Araq | there is a Nim grant waiting for you |
16:20:50 | FromGitter | <alehander92> but i am not sure what to respond: link it to my PR or just to the RFC as i dont know what would happen there |
16:20:56 | FromGitter | <alehander92> oh |
16:21:36 | Araq | you don't have to respond, once 'not nil' arrived we have to close it, that's all |
16:28:14 | yumaikas | lqdev[m]: I went with an in-between: use max width to figure out how many columns to use, and then only adjustLeft each column for how wide the max length of the column is |
16:31:32 | lqdev[m] | good compromise. |
16:31:41 | FromGitter | <alehander92> ok, and i guess the grants things are for those 2020 milestones? |
16:35:44 | dadada_ | grants? sounds good, who is behind that? |
16:38:46 | * | Hideki_ joined #nim |
16:43:39 | * | icebattle quit (Ping timeout: 240 seconds) |
16:49:58 | * | disrupteq quit (Ping timeout: 256 seconds) |
16:50:15 | * | disruptek quit (Ping timeout: 268 seconds) |
16:50:23 | * | disbot quit (Ping timeout: 260 seconds) |
16:52:03 | * | disrupteq joined #nim |
16:56:59 | * | disruptek joined #nim |
16:57:20 | * | disbot joined #nim |
17:00:00 | * | disruptek quit (Client Quit) |
17:00:00 | * | disbot quit (Client Quit) |
17:00:59 | * | Hideki_ quit (Remote host closed the connection) |
17:02:16 | * | solitudesf quit (Remote host closed the connection) |
17:04:08 | * | disbot joined #nim |
17:05:10 | * | disruptek joined #nim |
17:05:57 | * | icebattle joined #nim |
17:06:37 | * | endragor quit (Remote host closed the connection) |
17:15:10 | * | adalricus quit (Quit: ERC (IRC client for Emacs 26.3)) |
17:15:31 | * | iranika joined #nim |
17:27:39 | * | Zectbumo joined #nim |
17:35:26 | * | tefter quit (Quit: WeeChat 2.7) |
17:38:11 | * | icebattle quit (Quit: Lost terminal) |
17:42:26 | * | lritter joined #nim |
17:52:26 | * | tefter joined #nim |
17:57:58 | * | tane quit (Quit: Leaving) |
17:58:27 | * | ng0 joined #nim |
17:59:15 | * | ng0 quit (Client Quit) |
17:59:53 | * | ng0 joined #nim |
17:59:53 | * | ng0 quit (Changing host) |
17:59:53 | * | ng0 joined #nim |
18:00:59 | * | ng0 quit (Client Quit) |
18:01:41 | * | ng0 joined #nim |
18:06:21 | dadada_ | https://kotlinlang.org/docs/reference/scope-functions.html |
18:06:45 | * | NimBot joined #nim |
18:07:03 | FromDiscord_ | <Rika> ? what's up with the link |
18:08:31 | dadada_ | I'm interested nice language features, this is something that appeals to me |
18:09:02 | FromDiscord_ | <Rika> sounds doable considering mapIt exists |
18:09:03 | dadada_ | so obviously I'd like to know if something such as the let scope function could be added to nim |
18:09:23 | dadada_ | s/interested/interested in |
18:13:24 | FromDiscord_ | <Rika> what websocket library do y'all use if any? |
18:13:47 | FromDiscord_ | <Recruit_main_70007> net |
18:13:54 | FromDiscord_ | <Recruit_main_70007> what are you trying to do? |
18:14:06 | dadada_ | certainly doable :D ... I've still not found my ideal lang to be honest, kotlin seems to be good when you have to target JVM, but the kotlin to native compiler apparently is weak (bad performance of generated code), the ultimate language for me would be one that would run on all popular targets (C, JVM, .NET, JS, WebAssembly), so far no language (unless I'm missing something) can be used in all roles |
18:15:02 | * | iranika quit (Remote host closed the connection) |
18:15:11 | FromDiscord_ | <Recruit_main_70007> we only miss jvm and .net, but i think they are unneccesary having C |
18:15:38 | * | iranika joined #nim |
18:15:48 | disruptek | you want that, you use graal on nlvm. |
18:16:05 | rayman22201 | kotlin let is basically the same as python `with`. Zevv made a macro version here: https://github.com/zevv/with |
18:16:18 | rayman22201 | that kind of thing is trivial with macros in general |
18:16:31 | FromDiscord_ | <Rika> @Recruit_main_70007 i mean websockets, not sockets |
18:16:31 | dadada_ | I prefer Nim by far, because JVM is something I'd rather not require, the Python like syntax appeals to me, macros/templates are just plain awesome, it's also much more impressive that nim was developed entirely by a FOSS community, while kotlin has jetbrain and google as drivers, which explains a lot, but makes it less cool to me |
18:17:04 | FromDiscord_ | <Recruit_main_70007> @Rika, ok, no ieda then |
18:17:19 | FromDiscord_ | <Rika> that's fine, i'm just asking which libraries people use |
18:17:30 | FromDiscord_ | <Rika> because i dont know if the one i'm using is the "best supported" |
18:19:04 | disruptek | the websockets libs in use are news and ws. |
18:19:08 | disruptek | !repo news |
18:19:30 | disruptek | !repo news |
18:19:36 | skellock | c'mon bot, you got this! |
18:19:43 | disruptek | wake up disbot... |
18:19:48 | dadada_ | Recruit_main_70007, there's a huge wealth of libraries for JVM (and I assume of .NET), also some huge applications are done (at least partly) in JVM langs, so if Nim supported JVM, you could for example extend libreoffice using it :D businesses tend to rely on JVM based stacks |
18:19:59 | disruptek | !repo news |
18:20:01 | disbot | https://github.com/Tormund/news -- 9news: 11news - nim easy web socket. Based on https://github.com/treeform/ws 15 20⭐ 2🍴 7& 2 more... |
18:20:04 | rayman22201 | news is based on chronos though |
18:20:09 | rayman22201 | https://github.com/treeform/ws |
18:20:20 | rayman22201 | it's forked from ws which uses standard async |
18:20:27 | * | iranika quit (Ping timeout: 272 seconds) |
18:20:43 | rayman22201 | you have to pick your preferred async flavor |
18:21:55 | rayman22201 | dadada_ there are a huge wealth of C libraries too, nim can use those easily with no JVM :-P |
18:22:07 | FromDiscord_ | <Recruit_main_70007> dadada: i also think being able to substitute java would be great, but its a lot of work, is it worth it? |
18:22:17 | FromDiscord_ | <Rika> i'm actually using ws right now |
18:22:24 | FromDiscord_ | <Rika> was wondering if any others were better |
18:22:49 | rayman22201 | news and ws are the best supported. If you use either one you are fine. |
18:23:24 | disruptek | so what's the deal with --seqsv2:on; is it not supported on gc:refc? |
18:23:33 | dadada_ | rayman22201: I know, but you can't always make a choice, maybe you just happen to need some JVM lib for work and there's no C alternative |
18:26:30 | rayman22201 | what is gc:refc? |
18:26:36 | disruptek | default gc. |
18:26:41 | dadada_ | Recruit_main_70007: I've no doubt it's a lot of work, it'd be worth it if you hadn't to sacrifice resources that lack elsewhere ... wrote earlier that for my ideal a language had to run everywhere, and in an ideal scenario I'd be a billionaire paying people to improve Nim ... with that I want to say that I do not lack the realism that this would be hard to accomplish |
18:26:58 | rayman22201 | ah yeah, seqsv2 never supported the default gc |
18:27:01 | disruptek | nah, becoming a billionaire is easy. |
18:27:17 | skellock | simcity doesn't count |
18:27:25 | dadada_ | heh, well depends in what currency, in zimbabwe it's sometimes possible |
18:30:20 | FromDiscord_ | <Rika> zimbabwe doesnt use their dollar anymore |
18:30:24 | FromDiscord_ | <Rika> they use USD now afaik |
18:30:56 | * | skellock quit (Quit: WeeChat 2.7) |
18:31:30 | rayman22201 | @mratsim! where is your FOSDEM talk!?! My life is not complete without it :-P |
18:38:21 | FromDiscord_ | <clyybber> same |
18:39:49 | Zevv | clyybber: I am thinking of making a writup about arc to accompany the "nim memory" thing I wrote once |
18:40:03 | Zevv | would you be willing to help me getting the details right? |
18:40:17 | FromDiscord_ | <clyybber> sure! |
18:40:18 | Zevv | i will ask a ton of stupid questions |
18:40:23 | FromDiscord_ | <clyybber> alright |
18:40:35 | FromDiscord_ | <clyybber> I'll make sure to give tons of stupid answers |
18:40:51 | FromDiscord_ | <clyybber> followed by thousands of self contradicting "neverminds" |
18:41:04 | FromDiscord_ | <clyybber> :p |
18:42:05 | Zevv | sweet, thanks. |
18:42:14 | Zevv | I might make a start this weekend and throw it at you |
18:46:09 | FromDiscord_ | <Recruit_main_70007> do we have structs in nim? |
18:47:42 | * | nsf quit (Quit: WeeChat 2.7) |
18:48:06 | FromDiscord_ | <Rika> type |
18:48:52 | Araq | rayman22201: seen my talk? |
18:49:10 | rayman22201 | yup. It was great :-) thank you |
18:51:55 | vegai | Recruit_main_70007: https://nim-lang.org/docs/manual.html#types-tuples-and-object-types |
18:52:55 | Araq | thanks |
18:56:35 | dadada_ | Araq: good talk! only complaint I have is that you weren't given more time! |
19:04:19 | FromDiscord_ | <clyybber> Zevv: Alright, I'll try to look in here a few times, weekend is gonna be busy here |
19:05:44 | Araq | dadada_: thanks. it's much easier to prepare short talks though :-) |
19:09:35 | FromDiscord_ | <clyybber> Araq: How do we want to do closure capturing with --gc:arc? |
19:09:58 | Araq | the way I implemented it :P |
19:10:08 | FromDiscord_ | <clyybber> So by reference? |
19:10:20 | Araq | yeah |
19:10:23 | FromDiscord_ | <clyybber> How will we capture local vars? |
19:10:37 | FromDiscord_ | <clyybber> Or rather ensure they don't die, while we have the closure? |
19:11:59 | Araq | it's all been implemented and works |
19:12:14 | FromDiscord_ | <clyybber> Ok, so my bug is a dfa bug |
19:12:37 | FromDiscord_ | <clyybber> Araq: How does it work though? Seems like magic :p |
19:13:05 | Araq | lambdalifting.nim |
19:13:11 | FromDiscord_ | <clyybber> thanks |
19:13:18 | Araq | took 2 rewrites |
19:13:28 | Araq | months of development |
19:13:57 | Araq | look at it but don't touch it, it's like osproc.nim, only touch it when drunk |
19:14:06 | FromDiscord_ | <clyybber> haha |
19:15:02 | FromDiscord_ | <clyybber> Araq: For capturing by value I just wrap it in a proc like the capture macro does |
19:15:07 | FromDiscord_ | <clyybber> Is there any other way? |
19:15:32 | Araq | if there is, I'm not aware of it |
19:16:33 | FromDiscord_ | <clyybber> Araq: Default values are "captured" by value right? |
19:17:19 | Araq | default values have no special semantics, Nim is not Python |
19:17:28 | FromDiscord_ | <clyybber> K |
19:19:40 | dadada_ | Araq: what do you think about a weekly or biweekly nim newsletter? |
19:19:56 | dadada_ | I'm in the process of getting familiar with nim and its community |
19:20:12 | dadada_ | I think I could write a short newsletter every few weeks |
19:20:26 | Araq | I remember we had one and then the author disappeared. |
19:20:34 | dadada_ | of course this makes only sense if there's place to put it |
19:20:51 | Araq | we're willing to publish it on our website |
19:20:57 | dadada_ | well, I can't promise to do that forever either, but I'd give it a whirl |
19:21:16 | FromDiscord_ | <clyybber> Araq: Is it intended that a macro with an `openarray[typed]` param only accepts "one type" ? |
19:21:20 | Araq | but we must be careful not to announce "weekly" when it's "once a month and then irregular" |
19:21:46 | Araq | clyybber: probably, only varargs[typed] has special logic in the compiler. |
19:21:59 | FromDiscord_ | <clyybber> Ah, alright. |
19:22:09 | FromDiscord_ | <clyybber> I'll change the capture macro to use that instead |
19:22:10 | dadada_ | makes sense, maybe the "irregular weekly newsletter" could be the name |
19:22:10 | FromDiscord_ | <clyybber> then |
19:22:25 | Araq | dadada_: how about we call it "Nim's irregular newsletter" |
19:22:37 | livcd | dadada_: call it "Unapologetically irregular nim feed" |
19:22:38 | Araq | it's funny and likely realistic |
19:22:45 | livcd | Araq: oh i thought the same |
19:22:57 | dadada_ | true, the thought came to many here |
19:23:38 | livcd | but then again you have the "blog" section...why not there ? |
19:23:55 | dadada_ | well, I feel there's a lot of stuff to keep up with when you look at the pull requests for example |
19:24:09 | dadada_ | so the newsletter would report on the discussions there |
19:24:26 | dadada_ | and maybe what to expect |
19:24:53 | * | iranika joined #nim |
19:24:54 | dadada_ | I'd also talk about projects using nim and macros/templates that I like |
19:25:03 | dadada_ | s/talk/write |
19:27:58 | livcd | maybe you culd just curate interesting answers/questions from the forum/gh issues |
19:28:58 | dadada_ | livcd: yes, and yes, I wouldn't want to read every forum post or github issue, but the interesting stuff, for sure |
19:29:29 | * | iranika quit (Ping timeout: 272 seconds) |
19:29:35 | livcd | you still could read all of them as there are not that many! |
19:30:05 | dadada_ | the big question is where is nim headed and what do users want from it, where does araq want to take it |
19:32:04 | Araq | Nim is heading towards embedded devices and hard realtime systems. It'll remain useful for client/server-side programming but that's where we spend our resources |
19:33:16 | Araq | so far that I managed to communicate my vision the community has been really positive and helpful |
19:33:16 | dadada_ | it was really not a question I wanted to get answered directly, but thanks, it was more of an editorial kind question, that I would try to find the answer to each week |
19:33:31 | livcd | is not that a recent change ? oO |
19:33:36 | * | natrys joined #nim |
19:34:02 | Araq | livcd: yes but already some nimble packages support --gc:arc |
19:35:41 | * | Vladar joined #nim |
19:40:42 | dadada_ | people who don't program for embedded systems or hard realtime systems will keep flocking into the community, so in the long run (hopefully) there will be more resources (which I assume they will bring with them) to support their needs |
19:42:25 | livcd | Araq: is this because of gc:arc or you have a "customer" with such need? |
19:42:33 | * | abm joined #nim |
19:43:14 | Araq | it's because we can do it :-) |
19:44:08 | Araq | dadada_: yes, and Nim continues to improve on the fronts that people make contributions for |
19:44:27 | Araq | I merely gave you the Araq-centric view |
19:44:49 | disruptek | the problem isn't compiler, imo. |
19:45:56 | * | iranika joined #nim |
19:46:06 | dadada_ | it makes sense to target embedded systems in a way, these are really the systems with the hardest constraints, if you conquer them, and your language scales (which I want to assume), then you're really not hindering the desktop/server/app development aspects, you're just reinforcing the seriousness of the language |
19:46:26 | Araq | disruptek: well I'm a compiler writer, for me the problem is always the compiler. |
19:46:35 | Araq | dadada_: yes, you nailed it. |
19:46:35 | disruptek | yes, of course. |
19:51:30 | dadada_ | Araq: I remember I followed the latests wine weekly news on winehq in part because I found them on the frontpage of winehq back in the day (don't follow it closely nowadays), so I think you'd raise the view count of the blog and (maybe) newsletter if you can embed a small excerpt of each on top of the front page of nim-lang.org ... I don't know if you'd want to, it'd maybe mess with the cleanliness of the |
19:51:35 | dadada_ | current page, however I think the main idea is to get tech journalists that follow projects to keep checking on the status of nim, in hope of getting press |
19:51:51 | dadada_ | more press -> more users -> more development -> more press -> more users -> more development :D |
19:52:27 | dadada_ | maybe it's a naive view of the world and anybody who could possibly be interested in nim has already |
19:52:45 | dadada_ | heard of it and formed an opinion ... though I'd doubt it |
19:55:27 | dadada_ | the motivation is to strengthen nim :D |
20:03:31 | FromDiscord_ | <sveri> Hi, I have problems getting a table working in async context. You can see the code and the error here: https://pastebin.com/QzqjgBwF |
20:03:31 | FromDiscord_ | <sveri> Any ideas what's wrong? |
20:06:11 | Araq | dadada_: yeah, we will do something like that, I agree |
20:09:40 | dadada_ | I'd make my personal list of interesting topics of "the week" (which is a unit with impossible definition in the irregular letter), maybe ask on opinions in IRC (aka here) as well, then compile a draft of the letter, I'll need an editor which I'll probably find here too (whoever is around) ... and then the final editor would be whoever puts it up |
20:10:23 | FromDiscord_ | <Recruit_main_70007> @sveri it seems like the error is not in that piece of code, it says line 12 |
20:10:49 | rayman22201 | @sveri, yeah, I can't repro. I just ran your example and it worked fine for me |
20:12:49 | FromDiscord_ | <sveri> @Recruit_main_70007 rayman22201: It compiles for me too, but as soon as I start it, the error comes. |
20:13:25 | rayman22201 | can you post a bigger code sample? we think the error is somewhere else |
20:13:40 | FromDiscord_ | <sveri> I will, just a moment |
20:14:27 | FromDiscord_ | <sveri> my wife is just talking...... |
20:16:01 | * | mal`` quit (Quit: Leaving) |
20:18:08 | FromDiscord_ | <sveri> She wrote that herself, anyway: https://pastebin.com/zhFhGk5G |
20:18:08 | FromDiscord_ | <sveri> The lines dont match exactly as I removed a lot of commented code from the pastebin |
20:21:45 | FromDiscord_ | <Recruit_main_70007> i have absolutley no idea about async, but i would bet the proc inside serve*() is the problem, cant you put it outside the function? |
20:21:48 | FromGitter | <alehander92> dadada_ i think |
20:21:54 | FromGitter | <alehander92> podcasts are popular |
20:22:18 | FromGitter | <alehander92> and i'd like to think that it would be fun to have a "emerging langs" podcats (similar to PMunch's room ) |
20:22:39 | rayman22201 | add the .gcsafe. pragma to your cb proc @sveri |
20:22:47 | FromGitter | <alehander92> (and because it might be hard to find content for just one lang .. and its just fun to bikeshed with other language guys :D) |
20:24:02 | * | ng0 quit (Ping timeout: 240 seconds) |
20:24:21 | FromGitter | <alehander92> but maybe just a #nim one would be fun anyway |
20:25:04 | rayman22201 | nim had a video log going for a bit. It was nice, but the core team got busy and stopped :/ |
20:25:48 | FromDiscord_ | <Recruit_main_70007> @sveri answer provided by rayman above |
20:27:50 | FromGitter | <alehander92> i have the very egoistical idea to just make a podcast, but thats because i love to have a reason to question people for stuff |
20:28:23 | * | opal quit (Ping timeout: 240 seconds) |
20:29:01 | FromGitter | <alehander92> but objectively a podcast by someone might be a ok addition to the videos because it would invite different programmers each week, so e.g. wouldn't take much time from a single person |
20:29:36 | rayman22201 | you should try! you could be the next great interviewer, like Howard Stern or Letterman :-P |
20:30:08 | rayman22201 | The hard part is the scheduling and the editing. |
20:32:12 | FromGitter | <alehander92> yeah i might do it |
20:32:29 | FromDiscord_ | <sveri> rayman22201: Ok, I did that and it works. I just read up on what it actually does and if I get it right, it means that down the call stack no proc accesses a global string, seq, ref or a closure. Right now it accesses a global table, which should be ok? |
20:32:30 | FromDiscord_ | <sveri> But what if I start accessing a global string by chance later. Then it wont be picked up by the compiler, right? |
20:32:30 | rayman22201 | alehander92, I am a big fan of this podcast, idk, if you have heard of it: https://futureofcoding.org/episodes/ |
20:32:33 | FromGitter | <alehander92> but my english is a bit rough |
20:32:58 | rayman22201 | @sveri, are you single threaded? |
20:33:13 | FromDiscord_ | <sveri> right now, yes, but this might change. |
20:33:16 | FromGitter | <alehander92> and my editing skill are not much :D so i am more of an enthusiast trying to motivate someone to do it |
20:33:16 | rayman22201 | if you are only doing single threaded, it's fine. |
20:33:27 | rayman22201 | the gcsafe is all about multithreading safetly |
20:33:32 | rayman22201 | safety even |
20:33:48 | FromDiscord_ | <sveri> I mean, I am just fooling around, but potentially I will introduce multithreading. |
20:33:48 | rayman22201 | globals are not safe with multiple threads |
20:34:05 | rayman22201 | in that case, you will need to have some other solution for your global table |
20:34:14 | FromDiscord_ | <sveri> Yea, I understand. Are there threadsafe globals in nim? |
20:34:23 | FromDiscord_ | <sveri> or some kind of locking mechanism? |
20:34:25 | rayman22201 | no, but there are locks :-) |
20:34:34 | rayman22201 | there is also channels |
20:34:54 | FromDiscord_ | <sveri> Yea, I glimpsed over channels. Great. I will add a TODO mark. Thank you very much. |
20:34:58 | FromGitter | <alehander92> disruptek |
20:35:06 | FromGitter | <alehander92> you seem as a great guy to do podcasts |
20:35:06 | rayman22201 | np |
20:35:10 | * | mal`` joined #nim |
20:35:22 | FromGitter | <alehander92> would you do one, and let me help with the organization :D |
20:35:31 | rayman22201 | alehander92, you can get better at both English and editing with practice :-) |
20:36:46 | FromGitter | <alehander92> yes, but its always easier with >1 people :P |
20:37:15 | rayman22201 | lol |
20:37:55 | * | opal joined #nim |
20:38:04 | FromGitter | <alehander92> i expect |
20:38:33 | FromGitter | <alehander92> that one can go far with OBS and a decent microphone |
20:39:07 | rayman22201 | yes. I agree 100% |
20:48:08 | FromGitter | <alehander92> https://forum.nim-lang.org/t/2712 |
20:49:47 | * | iranika quit (Ping timeout: 260 seconds) |
20:52:58 | FromGitter | <alehander92> thats why its good to have >1, but anyway it would be interesting to see if someone has xp with previous tries |
20:53:11 | * | nsf joined #nim |
20:53:44 | disruptek | i'm experienced with english, sure. |
20:54:06 | disruptek | not sure my streaming audio capture works, though. |
20:55:15 | * | dadada_ quit (Ping timeout: 268 seconds) |
20:57:27 | * | tiorock joined #nim |
20:57:27 | * | tiorock quit (Changing host) |
20:57:27 | * | tiorock joined #nim |
20:57:27 | * | rockcavera is now known as Guest64945 |
20:57:27 | * | Guest64945 quit (Killed (adams.freenode.net (Nickname regained by services))) |
20:57:27 | * | tiorock is now known as rockcavera |
20:57:28 | * | dadada joined #nim |
20:57:52 | * | dadada is now known as Guest32432 |
21:01:59 | * | Trustable quit (Remote host closed the connection) |
21:03:22 | FromGitter | <alehander92> you can ask good questions |
21:05:04 | FromGitter | <alehander92> and i can ask good questions |
21:05:23 | FromGitter | <alehander92> and if you invite two guests |
21:05:29 | FromGitter | <alehander92> they can ask good questions to each other |
21:05:39 | FromGitter | <alehander92> and you can just eat pancakes |
21:05:50 | disruptek | the questions could be submitted via reddit or twitter and then curated/edited to form a cohesive episode. |
21:06:03 | FromGitter | <alehander92> crowdsourcing questions |
21:06:14 | FromGitter | <alehander92> and crowdsourcing answers |
21:07:14 | FromGitter | <alehander92> well, with interviews often you go somewhere and you chain 5-6 topics on the spot |
21:07:39 | * | Trustable joined #nim |
21:07:41 | FromGitter | <alehander92> so one can always do a DFS first and then BFS community ones |
21:09:57 | * | elibracha joined #nim |
21:10:13 | * | iranika joined #nim |
21:10:34 | * | Guest32432 is now known as dadada |
21:11:17 | * | elibracha quit (Remote host closed the connection) |
21:11:41 | dadada | alehander92: before we roll our own podcast, maybe we can get someone like Araq invited to existing ones |
21:11:56 | dadada | like the futureofcoding one (that I've not heard yet) |
21:12:53 | FromGitter | <alehander92> yeah my other idea was to just make a more general one, as we're all interested in upcoming/newer languages |
21:13:39 | FromGitter | <alehander92> because when you invite people from other communities, it's probably easier to cross-polinate ideas/guests etc |
21:14:10 | FromGitter | <alehander92> i really think that's not the right biological term |
21:14:16 | FromGitter | <alehander92> correct* |
21:14:23 | dadada | no it's correct I believe :D |
21:14:36 | * | iranika quit (Ping timeout: 256 seconds) |
21:14:37 | FromGitter | <alehander92> two l-s* |
21:14:55 | dadada | if you can setup a podcast like that, it'd be great, however I think you underestimate the logistical aspect of that |
21:15:09 | FromDiscord_ | <clyybber> alehander92: Do you know formality-lang? |
21:15:25 | FromGitter | <alehander92> but i think one can do both i am more interested in just listening about random nim/similar stuff from people i know :P |
21:15:30 | FromDiscord_ | <clyybber> Its underlying algorithms are pretty cool |
21:16:04 | FromDiscord_ | <clyybber> "abstract algorithm" |
21:16:06 | FromGitter | <alehander92> ah, sounds interesting |
21:16:12 | dadada | getting people to agree to appear on a podcast from around the world is a lot of work, and then you need to edit it, and if you do not make it a regular thing, it'll never have more than a handful of viewers |
21:16:14 | FromGitter | <alehander92> is it embeddable |
21:16:35 | FromGitter | <alehander92> makes a lot of sense if you think about it |
21:16:46 | FromDiscord_ | <clyybber> alehander92: I don't think so , its IR is a subset of lambda calculus |
21:16:46 | FromGitter | <alehander92> compile very safe modules to all kinds of languages |
21:16:54 | * | narimiran quit (Quit: leaving) |
21:16:59 | FromGitter | <alehander92> that was one possible idea with pseudo-lang |
21:17:30 | FromGitter | <alehander92> because e.g. it might be hard to make your lang X's type system super powerful, but it might be still useful to safeguard several components |
21:17:42 | FromGitter | <alehander92> (but i guess if their callers are not safe..this doesnt help much) |
21:17:53 | FromGitter | <alehander92> clyybber ah i should read more about it ok |
21:18:06 | FromGitter | <alehander92> dadada oh absolutely |
21:18:35 | FromDiscord_ | <clyybber> the underlying theory is really cool, it can optimize certain kinds of expressions to be asymptotically faster |
21:19:00 | FromDiscord_ | <clyybber> but it depends on only using a variable once, ever |
21:19:00 | FromGitter | <alehander92> thats why i wanted to motivate 1-2 people and maybe to expect very short episodes: 10-15 minutes |
21:19:05 | FromDiscord_ | <clyybber> and breaking the scope |
21:20:14 | disruptek | 10-15mins isn't really enough to do anything. |
21:20:25 | FromGitter | <alehander92> hm, i wanted to see a good asympt..complexity-based checker for a language |
21:20:47 | FromGitter | <alehander92> do they somehow prove how complex is a certain function |
21:20:50 | FromDiscord_ | <clyybber> alehander92: You mean a checker which tells you the complexity? |
21:20:51 | dadada | I'm currently more interested in promoting nim, a podcast about all sorts of languages will sooner or later exist, because it's simply too obvious and there're millions of programmers who'd listen to that, but it will only be successful with a committed host |
21:20:55 | FromGitter | <alehander92> or is it just a side effect of it |
21:21:03 | FromDiscord_ | <clyybber> alehander92: Nope, they don't |
21:21:10 | disruptek | i'd rather build something more interactive, like 1:N programming where one user keyboards and others conference in via mumble or whatever. |
21:21:16 | FromDiscord_ | <clyybber> Its equivalent to symmetric interaction calculus |
21:21:29 | FromGitter | <alehander92> clyybber yeah something like https://github.com/pseudo-lang/pseudolang |
21:22:02 | FromDiscord_ | <clyybber> thats very cool |
21:22:04 | FromGitter | <alehander92> i read one older thing about people from inria i think doing something like time-based ?analysis |
21:22:15 | FromDiscord_ | <clyybber> hmm, I think its really hard to do |
21:22:24 | FromDiscord_ | <clyybber> to do precisely I mean |
21:23:05 | FromDiscord_ | <clyybber> I mean what if you give it ackermann |
21:23:09 | FromDiscord_ | <clyybber> what will it spit out? |
21:23:20 | * | iranika joined #nim |
21:23:34 | FromGitter | <alehander92> but yeah it seems hard in general |
21:23:40 | FromGitter | <alehander92> yeah i guess it would just say |
21:23:42 | FromGitter | <alehander92> i cant prove that |
21:23:54 | FromGitter | <alehander92> obviously there are many classes of things it cant do |
21:24:12 | FromGitter | <alehander92> but the point is maybe to limit the language in such a way that most expressable stuff is kinda easy to do |
21:24:22 | FromDiscord_ | <clyybber> hmm, yeah, maybe we can just bail out for unbound recursion |
21:24:26 | FromGitter | <alehander92> and the other one easy to annotate (similarly to importc) |
21:24:33 | * | iranika quit (Remote host closed the connection) |
21:24:34 | FromGitter | <alehander92> or just "cast"ed |
21:24:41 | FromGitter | <alehander92> dadada i agree |
21:24:48 | * | iranika joined #nim |
21:24:53 | FromGitter | <alehander92> disruptek something like chat-based multipodcast? |
21:25:01 | FromGitter | <alehander92> chat-based podcats sounds good |
21:25:02 | FromDiscord_ | <clyybber> alehander92: For polynomial complexities it shouldn't be hard I think |
21:25:05 | FromGitter | <alehander92> much easier to do |
21:25:08 | FromDiscord_ | <clyybber> just count the number of nested for loops |
21:25:18 | FromDiscord_ | <clyybber> but it gets hard when you exit half time through a loop |
21:25:19 | FromGitter | <alehander92> and then you can get some speakers to read it motivationally |
21:25:27 | FromDiscord_ | <clyybber> or exit dependent on the var of some array element |
21:26:08 | FromGitter | <alehander92> clyybber yes thats what i did |
21:26:17 | FromDiscord_ | <clyybber> ah, nice |
21:26:19 | FromGitter | <alehander92> but i was naive a bit |
21:26:37 | FromGitter | <alehander92> so i think i mostly constructed very basic symbolic expressions |
21:27:06 | FromGitter | <alehander92> and you can kinda teach such a system stuff, like 1 + 2 + 3 etc ~= n^2/2 |
21:27:11 | FromGitter | <alehander92> (n*(n-1)/2) |
21:27:18 | FromGitter | <alehander92> and other common patterns |
21:27:25 | FromGitter | <alehander92> but the problem is imo |
21:28:31 | FromGitter | <alehander92> i was very naive |
21:28:38 | * | solitudesf joined #nim |
21:28:54 | FromGitter | <alehander92> if you add algo-s called with only small numbers etc complexity realistically becomes different |
21:29:03 | FromGitter | <alehander92> so its hard to actually make this useful |
21:29:08 | FromDiscord_ | <clyybber> hmm |
21:29:15 | FromDiscord_ | <clyybber> I wonder if theres an algorithm |
21:29:15 | FromGitter | <alehander92> and there is a much easier way to do it |
21:29:23 | FromDiscord_ | <clyybber> for which calculating the complexity is NP |
21:29:32 | FromDiscord_ | <clyybber> hard |
21:29:35 | FromGitter | <alehander92> just record some run-s/tests with different inputs and extrapolate the function |
21:30:40 | FromGitter | <alehander92> praise God, there is much one can do |
21:30:47 | FromDiscord_ | <clyybber> alehander92: But some functions only show their true "character" once you extrapolate really "long" |
21:30:49 | FromGitter | <alehander92> you can property test |
21:30:56 | FromGitter | <alehander92> you can source common values from actual runs |
21:31:12 | FromGitter | <alehander92> yes, those are ways you can generate many very different inputs |
21:31:20 | FromDiscord_ | <clyybber> and if you have the values what will you do? |
21:31:24 | FromGitter | <alehander92> ah, thats true as well, but it might be doable |
21:31:25 | FromDiscord_ | <clyybber> linear regression |
21:31:27 | FromDiscord_ | <clyybber> and if that fails |
21:31:30 | FromDiscord_ | <clyybber> polynomial |
21:31:32 | FromDiscord_ | <clyybber> and exponential |
21:31:34 | FromDiscord_ | <clyybber> and so on |
21:31:42 | FromGitter | <alehander92> here i am not sure, but yeah something like that |
21:31:53 | disruptek | madness. |
21:32:05 | FromGitter | <alehander92> the point is to be work well for 90% of cases |
21:32:17 | FromDiscord_ | <clyybber> I wondered, are there an infinite amount of asymptotically different kinds of "growth"? |
21:32:21 | FromGitter | <alehander92> but at least for most algorithms i dont see why it wouldnt work |
21:32:35 | FromDiscord_ | <clyybber> like is there something between exponential and polynomial that we just don't know yet? |
21:32:38 | FromGitter | <alehander92> as usually people dont write algo-s with super strange complexity |
21:32:49 | FromGitter | <alehander92> and you can also collect memory complexity |
21:33:14 | FromDiscord_ | <clyybber> hmm, thats probably more feasable |
21:33:47 | FromDiscord_ | <clyybber> hmm |
21:33:49 | FromDiscord_ | <clyybber> or is it? |
21:33:59 | * | abm quit (Quit: Leaving) |
21:34:07 | rayman22201 | @clyybber, superlinear is a thing. it's between linear and exponential |
21:34:12 | FromGitter | <alehander92> well they both should be equivalent imo |
21:34:25 | FromDiscord_ | <clyybber> rayman22201: Aw, nice, thanks |
21:34:30 | FromGitter | <alehander92> but i think with tooling this can be done in a relatively general way |
21:34:36 | FromDiscord_ | <clyybber> now I finally have some word to go down the rabbit hole |
21:34:57 | FromGitter | <alehander92> and with a bit more math knowledge |
21:35:02 | rayman22201 | #math is beautiful :-P |
21:37:00 | FromGitter | <alehander92> disruptek chat podcasts also require much less and more programmable editing |
21:37:55 | FromDiscord_ | <clyybber> run espeak on the irc logs; upload it as a podcast; ???; profit |
21:38:29 | disruptek | i'm thinking more of a real-time programming forum. group dev. |
21:39:23 | FromDiscord_ | <clyybber> we should just join for some vc once in a while |
21:39:52 | FromDiscord_ | <clyybber> disruptek: +100 |
21:40:39 | FromDiscord_ | <clyybber> https://www.youtube.com/watch?v=0R--_ATzE6o |
21:40:46 | disruptek | i would do something like a group reward system where stakeholders bid on contributions with new shares. |
21:40:59 | FromDiscord_ | <clyybber> what |
21:41:29 | FromDiscord_ | <clyybber> what would the reward be? |
21:41:32 | FromDiscord_ | <clyybber> nim-coin? |
21:41:56 | FromDiscord_ | <clyybber> I think we already have some issues with a bounty |
21:41:58 | * | krux02 joined #nim |
21:43:03 | disruptek | i have a writeup of the concept somewhere... |
21:44:09 | dadada | alehander92: I find this interesting, according to them every game engine would need to implement its own scripting language, https://docs.godotengine.org/en/stable/getting_started/scripting/gdscript/gdscript_basics.html |
21:44:27 | dadada | syntax is similar to python, I wonder if they ever considered nim |
21:44:47 | dadada | "Godot already has a memory management model for resources, most script languages provide their own, which results in duplicate effort and bugs." |
21:44:56 | dadada | "Binding code is always messy and results in several failure points, unexpected bugs and generally low maintainability." |
21:46:37 | FromDiscord_ | <clyybber> godots choice of making their own lang is IMO the worst thing about godot |
21:46:41 | dadada | I do not want to believe them, but I can't really counter their argument |
21:46:49 | FromDiscord_ | <clyybber> but its not that bad, cause godot is really cool |
21:46:53 | disruptek | https://gist.github.com/disruptek/5a12e8b0673097e52025c8c4b6cba094 |
21:47:00 | * | ehmry quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
21:47:56 | * | skellock joined #nim |
21:48:29 | * | PMunch joined #nim |
21:48:52 | FromDiscord_ | <clyybber> godot scripts performance is just terrible |
21:49:05 | FromDiscord_ | <clyybber> and them adding typing didn't improve it |
21:49:49 | FromDiscord_ | <clyybber> developing a language is already hard enough, as is developing a full featured unity-like game engine |
21:51:12 | * | ng0 joined #nim |
21:52:19 | * | skellock quit (Client Quit) |
21:55:13 | dadada | clyybber: yes, the sunken cost fallacy will prevent them from dropping their python clone |
21:56:38 | * | skellock joined #nim |
21:58:55 | dadada | https://github.com/pragmagic/godot-nim |
22:00:36 | * | ehmry joined #nim |
22:01:19 | disruptek | as far as i'm concerned, the hardest thing in the world is getting nimterop working. i hate to say it, but it's an absolutely clusterfuck EVERY. SINGLE. TIME. |
22:02:35 | shashlick | come on |
22:02:44 | disruptek | seriously. |
22:02:57 | shashlick | give me a paste or something to debug |
22:03:20 | disruptek | well, this time i had my TMPDIR and TMP set to /tmp with noexec. so ... /bin/sh: /tmp/nimble_7193/githubcom_genotrancenimterop_0.3.3/nimterop/toast: Permission denied [AssertionError] |
22:03:31 | * | nsf quit (Quit: WeeChat 2.7) |
22:03:53 | disruptek | also, there was no cmake. only cmake3. |
22:04:03 | shashlick | why is it trying to run toast from temp |
22:04:14 | disruptek | your software, dude. |
22:04:36 | shashlick | toasts gets installed to ~/.nimble/pkgs |
22:04:39 | FromGitter | <alehander92> dadada sounds interesting |
22:04:45 | FromGitter | <alehander92> but i am not familiar with godot |
22:05:00 | disruptek | i'm just trying to bootstrap nimph. |
22:05:03 | FromGitter | <alehander92> disruptek yeah but whats the difference with .. chat |
22:05:07 | FromGitter | <alehander92> like discord/gitter |
22:05:13 | FromGitter | <alehander92> with good search/grouping |
22:05:16 | disruptek | the difference is voice. |
22:05:20 | shashlick | but nimble compiles in temp - maybe compiling it and setting it to exec doesn't work |
22:05:24 | FromGitter | <alehander92> discord has voice |
22:05:56 | disruptek | `chmod +x /tmp/t` works fine. |
22:06:15 | disruptek | it's just execution that fails. |
22:06:41 | disruptek | i guess it's because that's where my nimblecache goes. |
22:07:13 | disruptek | gitter sucks a big donkey dick. |
22:08:02 | disruptek | sorry shashlick, not trying to take it out on you. just took me all day to get this container built and i'm salty as hell right now. |
22:08:28 | * | filcuc joined #nim |
22:08:54 | disruptek | it's all crap built on crap built on crap. 😢 |
22:09:05 | dadada | agree on gitter, hopefully IRC never dies |
22:09:31 | dadada | irssi is perfection |
22:09:31 | Araq | disruptek: huh? that's news |
22:09:33 | shashlick | disruptek: still, looks like part of the nimble install process |
22:09:41 | shashlick | why is it running toast at that point |
22:09:42 | Araq | a couple of days ago you praised it |
22:09:51 | disruptek | gitter? |
22:09:54 | disruptek | never. |
22:10:09 | Araq | nimterop |
22:10:15 | dadada | yeah, that's what I agree on disruptek , never |
22:10:17 | disruptek | nimterop is the best we have. |
22:10:23 | disruptek | no two ways about it. |
22:10:54 | disruptek | also, it breaks 1) many assumptions, or 2) one key assumption. |
22:10:58 | disruptek | i no longer care which. |
22:11:30 | dom96 | I can never remember, is nimterop the one that generates .nim files during installation? |
22:11:51 | dom96 | if so then that's not the best we have, doesn't shashlick have a package that does it all at compile-time? |
22:12:01 | shashlick | that was nimgen |
22:12:48 | dom96 | ahh, so why would the nimble install process be causing problems? |
22:13:13 | shashlick | for whatever reason, during nimterop install time, nimble is running the binary from temp |
22:13:34 | shashlick | `/bin/sh: /tmp/nimble_7193/githubcom_genotrancenimterop_0.3.3/nimterop/toast` |
22:14:03 | shashlick | disruptek, this is during nimterop install right? |
22:14:07 | dom96 | why is nimterop being run during install time? |
22:14:57 | disruptek | shashlick: no, this is during app compilation. |
22:15:32 | shashlick | why is nimterop being referenced from temp? |
22:16:28 | disruptek | set your TMP (or TMPDIR?) and find out. |
22:16:48 | shashlick | what do you set your --nimbleDir to? |
22:17:08 | disruptek | !repo nimph |
22:17:09 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future 🧚 15 52⭐ 3🍴 7& 1 more... |
22:17:19 | disruptek | see the bootstrap.sh script. that's all i'm doing. |
22:17:25 | Zevv | 3 cutlery! |
22:17:27 | disruptek | no magic here. |
22:18:23 | shashlick | so you are just running the bootstrap right |
22:18:26 | disruptek | yep. |
22:18:32 | disruptek | the cutlery are strong with this one. |
22:18:37 | dadada | I just want to throw an idea out there, please don't jump on me for it, maybe we could create a Nim application of the month initiative, we would vote on which application is important enough for the nim community as a whole to focus one month worth of all our volunteer work on, let's say we'd vote to focus on nimterop in March, we'd put a "Nimterop is nim application of March 2020" on the nim-lang frontpage |
22:18:43 | dadada | and nim's github page, and we'd boost its development in that months, more devs would get familiar with that applications codebase along the way and it should make at least some progress, progress that in turns helps nim as well, because nim's success hinges on its useful in general, then in April we would move on to something else, the application of the month could also be something belonging to nim's core |
22:18:49 | dadada | like nimsuggest ... okay, now you can shoot me down |
22:18:57 | dom96 | Zevv, time to join the Unicode working group and suggest a dedicated fork and spoon emoji |
22:19:03 | * | skellock sharpens his pitchfork |
22:19:06 | dadada | s/all our volunteer work/a decent chunk of our volunteer work |
22:19:11 | disruptek | i mean, i said i would fix nimterop's caching problem. i just haven't gotten to it. |
22:19:43 | Zevv | Sporks and fpoons! |
22:19:45 | FromGitter | <alehander92> dom96 would you join in a podcaadt |
22:19:48 | FromGitter | <alehander92> podcast* |
22:19:59 | FromGitter | <alehander92> i am trying to motivate people |
22:20:03 | FromGitter | <alehander92> to do a nim podcast |
22:20:04 | disruptek | one of the main reasons i am building nigel is that i hate trying to run tests, having them fail, and then leave all my nimgit2 apps broken. |
22:20:06 | FromGitter | <alehander92> :D |
22:20:31 | Araq | dadada: I like the idea |
22:20:38 | FromGitter | <alehander92> dadada i agree the ecosystem is very important |
22:20:45 | dom96 | alehander92: maybe, I did a podcast thing with someone once and it never got released |
22:20:49 | dom96 | So you need to show me you're serious first |
22:20:57 | FromGitter | <alehander92> but i also think that often nim requires many new tools/libs, not sure if this fits with it |
22:21:12 | FromGitter | <alehander92> maybe something like lib/tool rfc -s |
22:21:45 | disruptek | honestly, adding and bumping dependencies seems more important to me. it's not sexy, but it enhances collab and bugfinding. |
22:21:50 | FromGitter | <alehander92> dom96 ah absolutely, i was more trying to motivate people from here to team up and do such a podcast |
22:22:03 | dadada | I could include the application of the month progress in the irregular letter, too :D |
22:23:13 | FromGitter | <alehander92> my english is a bit rough and i am probably not the most responsible person for stuff like that |
22:23:52 | FromGitter | <alehander92> dadada i can give an example |
22:23:58 | disruptek | dadada: what timezone are you in? |
22:23:58 | FromGitter | <alehander92> web frameworks |
22:24:06 | * | Kaivo quit (Quit: WeeChat 2.7) |
22:24:26 | FromGitter | <alehander92> people can expand jester a lot, or work on a more detailed one if jester is supposed to be minimal |
22:24:32 | disruptek | it says it's 22:00 where you are. |
22:24:38 | dadada | let's find the most serious podcasters in the programming world and get them in contact with Araq, dom96 and other big guns of the nim world |
22:24:42 | FromGitter | <alehander92> i've seen many people start such ambitious projects |
22:25:13 | FromGitter | <alehander92> but usually they stop after a while without any mini community |
22:25:16 | dadada | disruptek: it 23:23 here |
22:25:18 | dadada | it is |
22:25:45 | disruptek | what's your native tongue? |
22:25:51 | dadada | German |
22:25:53 | FromGitter | <alehander92> on the other hand those projects require good design first, so most of the valuable work might be in prototyp-ing how such frameworks/libs would be cool to work |
22:26:32 | FromGitter | <alehander92> dadada zah was also in some podcasts about nim before, but in bulgarian |
22:26:53 | skellock | i finally got to play around with jester yesterday and had a pretty good experience |
22:27:23 | FromGitter | <alehander92> i think its still good to have the equivalent of phoenix/rails |
22:27:50 | FromGitter | <alehander92> 1) something very good in api generation |
22:28:08 | disruptek | everyone is always self-conscious about their english, but i'm always amazed at how fluent you all are. |
22:29:22 | dadada | disruptek: I'm thinking words in my head, but then somehow forget them in typing, this happens no matter the language |
22:29:49 | shashlick | disruptek: i don't see why this is happening but am working on some choosenim/nimble/CI issues |
22:29:49 | Zevv | that gives syntax errors, often |
22:29:57 | shashlick | will try it later tonight if i get through this |
22:30:03 | disruptek | shashlick: not a blocker, don't worry about it. |
22:35:50 | * | Trustable quit (Remote host closed the connection) |
22:38:00 | * | skellock quit (Quit: WeeChat 2.7) |
22:40:51 | dadada | disruptek: the simple fact is I'm a nerd and 80% of stuff I consume on the internet is in English, including podcasts, you would have to be a moron in order not to pick up decent written English in this heavily English dominated tech world, for which I'm glad by the way, because it makes this collaboration possible in the first place |
22:41:47 | * | filcuc quit (Ping timeout: 240 seconds) |
22:42:09 | disruptek | yeah, but it wasn't always this way. |
22:43:39 | * | iranika quit () |
22:45:28 | * | iranika joined #nim |
22:48:14 | * | Vladar quit (Quit: Leaving) |
23:00:58 | * | iranika_ joined #nim |
23:01:00 | * | iranika_ quit (Client Quit) |
23:04:29 | * | natrys quit (Quit: natrys) |
23:05:52 | * | Pqzcih5 quit (Remote host closed the connection) |
23:25:07 | * | skellock joined #nim |
23:41:26 | * | skellock quit (Quit: WeeChat 2.7) |
23:45:54 | * | abm joined #nim |
23:52:52 | * | couven92 quit (Quit: Client Disconnecting) |
23:57:33 | * | JohnAD joined #nim |