00:00:37 | * | Hideki_ joined #nim |
00:01:53 | * | ofelas quit (Ping timeout: 268 seconds) |
00:03:02 | * | Hideki_ quit (Remote host closed the connection) |
00:03:17 | * | Hideki_ joined #nim |
00:09:27 | * | laaron quit (Quit: ZNC 1.7.4 - https://znc.in) |
00:10:07 | FromGitter | <kdheepak> I accidentally typed the following: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d880d5f56677e767a3fd61f] |
00:10:17 | FromGitter | <kdheepak> This could probably use a better error message? |
00:10:37 | * | laaron joined #nim |
00:13:42 | leorize[m] | certainly |
00:15:19 | leorize[m] | Zevv: looks like vim has some interesting development lately |
00:15:51 | leorize[m] | textprop might be what makes me reconsider adding vim8 support :) |
00:40:26 | * | ofelas joined #nim |
00:42:39 | owl_000 | does `proc (text: string`) make a new copy of given text? or i should use `proc (text: var string)` |
00:51:07 | * | Jjp137 joined #nim |
00:55:28 | * | endragor joined #nim |
01:18:50 | FromGitter | <kayabaNerve> Can I generate a range based off a backwards index? |
01:19:01 | FromGitter | <kayabaNerve> I've never considered it and don't believe so, yet I wanted to check. |
01:19:40 | FromGitter | <kayabaNerve> Also, any predictions on the next minor version? |
01:19:53 | FromGitter | <kayabaNerve> Eh. ETAs/thoughts, not predictions. |
01:25:04 | shashlick | 1.0 is coming |
01:44:50 | * | Cthalupa quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) |
02:04:15 | * | Cthalupa joined #nim |
02:05:34 | * | Cthalupa quit (Client Quit) |
02:14:18 | * | Cthalupa joined #nim |
02:32:55 | * | laaron quit (Remote host closed the connection) |
02:34:48 | * | laaron joined #nim |
02:45:12 | * | laaron quit (Quit: ZNC 1.7.4 - https://znc.in) |
02:45:29 | * | laaron joined #nim |
02:50:27 | * | lritter quit (Ping timeout: 245 seconds) |
02:59:58 | * | laaron quit (Remote host closed the connection) |
03:22:25 | * | laaron joined #nim |
03:32:10 | * | theelous3 quit (Ping timeout: 268 seconds) |
03:39:43 | * | dddddd quit (Remote host closed the connection) |
03:46:50 | * | Hideki_ quit (Remote host closed the connection) |
03:47:50 | * | Hideki_ joined #nim |
03:51:43 | * | Hideki_ quit (Remote host closed the connection) |
03:52:01 | * | Hideki_ joined #nim |
03:54:30 | * | Hideki_ quit (Remote host closed the connection) |
04:00:54 | * | chemist69 quit (Ping timeout: 246 seconds) |
04:03:08 | * | chemist69 joined #nim |
04:15:42 | * | rockcavera quit (Remote host closed the connection) |
04:17:44 | leorize | owl_000: it shouldn't |
04:32:35 | * | Hideki_ joined #nim |
04:47:18 | * | Hideki_ quit (Ping timeout: 265 seconds) |
04:48:25 | * | nsf joined #nim |
05:16:34 | * | narimiran joined #nim |
05:36:06 | lqdev[m] | afaik passing let variables and regular proc params does not copy |
05:39:24 | lqdev[m] | yeah, correct https://play.nim-lang.org/#ix=1Wvx |
05:40:04 | * | laaron quit (Remote host closed the connection) |
05:43:18 | * | navin joined #nim |
05:45:54 | * | laaron joined #nim |
05:47:29 | owl_000 | https://www.reddit.com/r/nim/comments/d819i4/my_first_awesome_nimble_package/ take a look at it. :) |
05:53:39 | * | solitudesf joined #nim |
06:26:10 | * | ng0 joined #nim |
06:35:09 | * | gangstacat joined #nim |
06:48:11 | * | PMunch joined #nim |
06:50:37 | PMunch | owl_000, congrats on your first package :) |
06:50:49 | PMunch | Is it by any chance inspired by Logo? |
06:54:52 | FromGitter | <arnetheduck> shashlick, I just tried the latest nimterop on sqlite and it looks like there are some changes, but a few of the `TODO`'s I needed to make sqlite fly are still there (except codereordering) - conveniently, they're spelled out in the update.sh script: https://github.com/arnetheduck/nim-sqlite3-abi/blob/master/update.sh - paths, standalone option and using a fixed version of nimterop itself (this is more nimble, might |
06:54:52 | FromGitter | ... possible to fix using a particular git hash of nimterop or install a temporary somewhere unique to avoid the global repo, but that still doesn't help for nailing down nimterops dependencies) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:45 | * | gmpreussner joined #nim |
07:05:10 | * | krux02 joined #nim |
07:06:54 | * | sz0 joined #nim |
07:10:29 | * | solitudesf quit (Ping timeout: 276 seconds) |
07:20:41 | livcd | so today is the day? |
07:21:38 | PMunch | It's been eerily quiet in here so far |
07:22:35 | PMunch | I'm still trying to get my protobuf package to compile on the current devel.. |
07:29:31 | * | Vladar joined #nim |
07:30:44 | Araq | PMunch, what's hard about it? |
07:32:18 | PMunch | Well the first issue I faced was the same as I had with jsonschema. That now the forward declaration and body of my procedure get their arguments gensym'ed to different identifiers |
07:32:23 | PMunch | So I get ambiguous calls |
07:33:54 | PMunch | But escaping them in the quote do logic and adding new symbols with newIdentNode kinda fixes that |
07:35:36 | PMunch | Eyy |
07:35:49 | PMunch | Something has changed between todays devel and yesterdays :) |
07:36:08 | Zevv | http://zevv.nl/div/today.png |
07:36:14 | PMunch | That was the only thing I needed to do to fix it today, wheras yesterday I was fighting this for hours.. |
07:36:30 | Araq | we didn't change anything really |
07:36:42 | PMunch | Hmm, that's strange.. |
07:37:05 | PMunch | I'll have to test what I did on my home computer when I get back, and diff it with what I did now to make it work |
07:42:00 | PMunch | Is it an intentional change by the way that nimble now puts the compiled tests in the root directory of the package? |
07:43:02 | Araq | dunno :-) |
07:44:37 | PMunch | Just noticed that the protobuf tests failed because it was trying to read a file that's next to the test |
07:44:52 | PMunch | Which it can't find now since it doesn't run from the tests directory |
07:45:03 | * | floppydh joined #nim |
07:52:06 | PMunch | How is it that I can mark things as used again? |
07:52:28 | Araq | {.used.} |
07:53:25 | PMunch | That's what I though, but applying it to the declaration and not the forward declaration apparently doesn't work |
07:53:29 | * | hoijui joined #nim |
07:53:29 | PMunch | My bad |
07:54:56 | PMunch | Hmm, but marking them as used means that they are actually compiled into code right? |
07:55:04 | PMunch | So deadCodeElim won't take them? |
07:57:18 | dom96 | PMunch, that shouldn't have changed, is this on 0.11.0? |
07:57:52 | PMunch | Ah, I'm on 0.10.2 apparently |
07:58:06 | Yardanico | wat |
07:58:37 | livcd | Yardanico: you are back! :O |
07:58:39 | PMunch | dom96, how do I change to 0.11.0 |
07:58:45 | Yardanico | livcd: I didn't go anywhere :D |
07:58:48 | PMunch | Yardanico, Nimble version, not Nim version :P |
07:58:52 | Yardanico | ohh |
07:58:58 | livcd | Yardanico: I have not seen you for half a year at least |
07:59:06 | dom96 | PMunch, nimble install nimble |
07:59:14 | Yardanico | livcd: well yeah I wasn't very active |
07:59:15 | PMunch | Haha, yeah I was confused about that as well when they talked about it earlier :P |
07:59:20 | nc-x[m] | PMunch: koch --latest nimble |
07:59:31 | nc-x[m] | would give the latest commit |
07:59:36 | PMunch | I thought it was tied in with choosenim? |
08:00:29 | nc-x[m] | never used choosenim, so no idea regarding that |
08:00:35 | PMunch | Oh, maybe something in how Nim read files on compile-time changed? |
08:00:58 | PMunch | Because I guess nimble runs the compiled tests files from the root directory? |
08:03:35 | * | solitudesf joined #nim |
08:07:48 | * | alexander92 joined #nim |
08:09:00 | alexander92 | hello Yardanico ! |
08:09:16 | Yardanico | hi :) |
08:09:31 | alexander92 | is nim 1 ready |
08:11:34 | narimiran | alexander92: it was ready 2 years ago! :P |
08:14:07 | alexander92 | this is a ref right |
08:18:39 | * | navin quit (Remote host closed the connection) |
08:20:08 | * | thomasross quit (Remote host closed the connection) |
08:20:33 | * | thomasross joined #nim |
08:29:26 | PMunch | Yay, protobuf is now working on devel :) |
08:32:40 | FromGitter | <wsdjeg> hello, any one use spacevim here? we need a nim language language layer maintainer. |
08:33:14 | FromGitter | <wsdjeg> you can join #spacevim in irc. |
08:34:18 | Zevv | leorize to the rescue! :) |
08:35:06 | PMunch | Hmm, I use `echo recv myChannels.message` where myChannels is a tuple and the message member is a ptr Channel[string] |
08:35:16 | PMunch | But no matter what I send I just get the output () |
08:36:45 | * | navin joined #nim |
08:37:30 | PMunch | Ah, never mind.. |
08:38:27 | FromGitter | <danielecook> anyone got a quick minute for a compiler problem? |
08:39:23 | FromGitter | <danielecook> I wrote a utility that uses bitvector (https://github.com/MarcAzar/BitVector), however, there appears to be issues incorporating C code used in that package (murmer3.c) |
08:40:06 | FromGitter | <danielecook> I include the c code in my own package and add the include path but still am seeing a message like this: ⏎ ⏎ ```clang: error: no such file or directory: 'murmer3.c'``` [https://gitter.im/nim-lang/Nim?at=5d8884e6e45b6d47324034df] |
08:40:17 | * | navin quit (Remote host closed the connection) |
08:40:27 | * | navin joined #nim |
08:40:41 | * | Hideki_ joined #nim |
08:44:17 | PMunch | Hmm, it has something to do with how wxWidgets handles its wxString type |
08:45:47 | FromGitter | <arnetheduck> `murmer3` looks wrong given that the algorithm generally is called `murmur3` |
08:49:59 | Araq | https://github.com/MarcAzar/BitVector/blob/master/src/bloom.nim#L13 well but the file is in private/murmur3.c |
08:54:18 | FromGitter | <danielecook> FFS my spelling |
08:54:24 | FromGitter | <danielecook> yeah - the original doesn't build though so not sure |
08:56:37 | FromGitter | <danielecook> where would `.c` files normally be stored in nim packages? |
08:58:10 | lqdev[m] | the author seems to have made a mistake here |
08:58:50 | lqdev[m] | the .compile pragma is set to compile murmur3.c which doesn't exist in the same directory as bloom.nim |
08:59:13 | lqdev[m] | it should be .compile: "private/murmur3.c" |
08:59:29 | FromGitter | <danielecook> ok that is what I figured |
08:59:48 | FromGitter | <danielecook> The proj. structure is also a little off - I'll try to correct and open a PR |
09:00:12 | FromGitter | <danielecook> It seems to build fine now though - wondering if there is a way to force it to recompile? Or is it doing that anytime I do `nimble install`? |
09:01:20 | Araq | use -f to force a rebuild |
09:02:28 | * | hoijui quit (Ping timeout: 264 seconds) |
09:03:57 | PMunch | Okay, all my packages and projects should build and run now with the current devel :) |
09:05:26 | * | navin_ joined #nim |
09:05:36 | Araq | yay |
09:08:47 | * | navin quit (Ping timeout: 265 seconds) |
09:17:10 | FromGitter | <mratsim> btw @dom96, regarding nimble, an `update` to update a single package to the latest (without creating the mess of -#master -#head -v0.1.0 unless some packages have pinned dependency) and an `upgrade` (to update all) would be very useful |
09:17:28 | FromGitter | <mratsim> Most of the reasons I have to nuke my nimble folder are due to missing those |
09:28:11 | dom96 | That requires lock files which are in development |
09:30:11 | FromGitter | <mratsim> can't we have something even without lock files? ⏎ ⏎ there is no way to update a single package right now |
09:30:38 | FromGitter | <mratsim> or all |
09:31:58 | * | hoijui joined #nim |
09:36:14 | dom96 | there is, you just `nimble install` it |
09:36:42 | dom96 | or change the version/commit hash requirement in your nimble file |
09:43:50 | * | Hideki_ quit (Remote host closed the connection) |
09:45:48 | * | Hideki_ joined #nim |
09:48:37 | * | endragor quit (Remote host closed the connection) |
09:49:44 | leorize | so... when is nim v1? |
09:51:02 | * | Hideki_ quit (Ping timeout: 276 seconds) |
09:51:09 | FromGitter | <mratsim> it was created at mignight, published for 10 minutes then removed. (V-lang TM) |
09:52:55 | leorize | lol |
09:52:57 | FromGitter | <danielecook> Anyone seen this error: ` Error: 'hg' not in PATH.` |
09:53:00 | FromGitter | <danielecook> with nimble install? |
09:54:24 | FromGitter | <mratsim> you are trying to clone a repo that is using mercurial (on bitbucket?) |
09:55:54 | FromGitter | <danielecook> no |
09:55:56 | FromGitter | <danielecook> it's from github |
09:56:14 | FromGitter | <danielecook> ```code paste, see link``` |
09:59:13 | FromGitter | <danielecook> I'm trying to specify a specific commit |
09:59:19 | FromGitter | <danielecook> but can't seem to do so |
09:59:25 | FromGitter | <danielecook> without it thinking it's mercurial |
10:00:23 | FromGitter | <danielecook> nvm got it |
10:00:34 | FromGitter | <danielecook> you can't specify a version dependency when referencing a single commit with git... |
10:00:36 | narimiran | @danielecook maybe some dependency of that package uses hg? |
10:00:40 | FromGitter | <danielecook> might be a bug |
10:00:46 | FromGitter | <danielecook> ```code paste, see link``` ⏎ ⏎ This works [https://gitter.im/nim-lang/Nim?at=5d8897cdbe709e39d17a5904] |
10:01:03 | FromGitter | <danielecook> It might be better to raise an error in that scenerio @dom96? |
10:01:20 | * | navin_ quit (Remote host closed the connection) |
10:02:46 | * | hoijui quit (Quit: Leaving) |
10:03:37 | Araq | leorize, I said *today* not "in the morning" |
10:05:51 | narimiran | ...and it is only 2am in alaska, 22 more hours to go :) |
10:07:35 | * | j8kE37cs2CBg joined #nim |
10:07:38 | dom96 | danielecook: the commit hash is a version specification |
10:08:06 | dom96 | you're telling it "I want this specific commit hash" |
10:08:36 | FromGitter | <danielecook> I agree fully |
10:09:51 | FromGitter | <danielecook> Why does it look for `hg` though? Maybe theres a better way to catch the user error. |
10:12:17 | * | navin joined #nim |
10:15:59 | * | sz0 quit (Quit: Connection closed for inactivity) |
10:17:48 | * | Hideki_ joined #nim |
10:18:06 | * | Vladar quit (Remote host closed the connection) |
10:19:33 | owl_000 | pmunch, thanks, yes, inspired by logo>python turtle |
10:22:30 | * | ofelas quit (Quit: shutdown -h now) |
10:27:18 | * | Hideki_ quit (Ping timeout: 246 seconds) |
10:28:35 | * | navin quit (Remote host closed the connection) |
10:29:11 | * | navin joined #nim |
10:29:23 | dom96 | danielecook: it's probably assuming the git URL + hash are the URL |
10:29:31 | dom96 | there is some code that attempts to infer whether the URL is a git or a hg |
10:29:41 | dom96 | and with that hash it must be identifying it incorrectly |
10:30:07 | dom96 | submit a bug report for this |
10:33:13 | * | navin quit (Ping timeout: 245 seconds) |
10:35:11 | PMunch | owl_000, first thing I thought when I saw the code naming the drawer thing for "turtle" :P |
10:36:20 | * | Vladar joined #nim |
10:37:13 | FromGitter | <danielecook> @dom96 will do thank |
10:41:51 | * | navin joined #nim |
10:45:21 | alexander92 | wow leorize |
10:45:23 | alexander92 | are you in alaska |
10:45:54 | * | navin quit (Remote host closed the connection) |
10:46:09 | * | navin joined #nim |
10:46:25 | Zevv | oh leorize did you see the msg with the spacevim request? Here's your chance to broaden your audience! |
11:12:03 | * | navin_ joined #nim |
11:16:11 | * | navin quit (Ping timeout: 276 seconds) |
11:17:41 | leorize | alexander92: no :P |
11:18:11 | leorize | Zevv: the last time narimiran tried nim.nvim with spacevim nothing worked :P |
11:18:34 | Zevv | haha |
11:18:49 | narimiran | leorize: ignore Zevv, he is just trying (too hard) to make your plugin to work on his monochrome vim :P :D |
11:20:12 | leorize | Zevv: also, I am working on vim8 support if you want to test that :p |
11:20:34 | leorize | I'm doing it blind, just reading vim docs, no testing |
11:21:16 | leorize | narimiran: he got lucky that I wanted to see if the refactoring do any good |
11:22:03 | leorize | I'll just dump the code there and will remove it if too many people complain ;) |
11:22:43 | Zevv | leorize: sure, why not |
11:23:02 | * | abm joined #nim |
11:28:18 | leorize[m] | can you clone the current nim.nvim, then disable the highlighter (remove the second autocmd in ftdetect) and see if things work in vim 8? |
11:29:18 | * | navin_ quit (Remote host closed the connection) |
11:30:17 | leorize[m] | just test the indent plugin and '*' |
11:36:37 | Zevv | sooo many errors. |
11:37:00 | Zevv | the problem is: I did some vimscript once, and hated it *so* much I can't get myself to ever do that again |
11:37:22 | Zevv | not really fair of my to ask someone else to do it, but hey, one can always try |
11:40:39 | * | solitudesf quit (Read error: Connection reset by peer) |
11:41:53 | * | solitudesf joined #nim |
11:56:45 | alexander92 | we just need a vimscript backend |
11:56:47 | alexander92 | for nim |
12:00:16 | * | navin joined #nim |
12:04:43 | * | navin quit (Ping timeout: 250 seconds) |
12:06:05 | * | rockcavera joined #nim |
12:09:38 | livcd | furiously refreshing my rss |
12:09:57 | * | navin joined #nim |
12:12:39 | * | clyybber joined #nim |
12:14:35 | * | Hideki_ joined #nim |
12:18:10 | shashlick | @arnetheduck thanks for checking nimterop, I've spent most of the recent time on getHeader on the v020 branch |
12:18:51 | shashlick | Been trying to get nimarchive working so that choosenim can get 7z and xz support |
12:19:21 | shashlick | @dom96 did you see the winci PR for nimble |
12:23:36 | dom96 | I'll have to take a look tonight |
12:24:07 | * | dddddd joined #nim |
12:24:29 | leorize | Zevv: if you're bombarded with errors and probably it's not as easy as I thought :P |
12:26:35 | leorize | then* |
12:32:38 | * | Kaivo joined #nim |
12:32:51 | * | navin_ joined #nim |
12:35:27 | * | navin quit (Ping timeout: 268 seconds) |
12:40:01 | * | clyybber quit (Quit: WeeChat 2.6) |
12:44:19 | * | navin_ quit (Remote host closed the connection) |
12:50:30 | * | lritter joined #nim |
12:51:04 | * | navin joined #nim |
12:51:23 | disruptek | happy birthday to you, happy birthday to you |
12:54:49 | Araq | http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html clang changed its versioning |
12:54:59 | Araq | wasn't aware, interesting |
12:58:48 | narimiran | $ nim -v |
12:58:48 | narimiran | Nim Compiler Version 1.0.0 [Linux: amd64] |
12:58:56 | federico3 | oO |
12:59:51 | * | theelous3 joined #nim |
13:00:45 | federico3 | my wishlist for Nim 2.0 would be to have async i/o by default |
13:01:08 | * | navin quit (Ping timeout: 245 seconds) |
13:01:10 | disruptek | man, that didn't take long. |
13:01:13 | FromGitter | <mratsim> by default meaning? |
13:01:26 | FromGitter | <mratsim> when you read a file it's automatically async? |
13:01:43 | disruptek | less than 20mins and already talking about 2.0 changes. |
13:02:01 | FromGitter | <mratsim> look forward to the future, don't dwell on the past ;) |
13:02:02 | owl_000 | lol, disruptek |
13:02:10 | federico3 | yes, unless explicitely disabled, and also that you don't have to place "await" all over teh code |
13:02:34 | FromGitter | <mratsim> mmmh, I prefer explicit over implicit. |
13:02:52 | federico3 | not when it's redundant |
13:02:58 | FromGitter | <mratsim> you can has a push pragma for that |
13:03:02 | FromGitter | <mratsim> have* |
13:03:05 | * | navin joined #nim |
13:03:20 | FromGitter | <mratsim> or use io library that hides that from you. |
13:04:00 | FromGitter | <mratsim> but I don't like at all when I have to workaround features that are supposed to ease my devel life (*cough* genericReset / GC) |
13:04:13 | federico3 | you can't hide most of the await , Future[<type>] and {.async.} |
13:05:07 | alexander92 | i think you can |
13:05:10 | leorize | working with async adds a lot of complexity to the code |
13:05:15 | FromGitter | <mratsim> also that would probably mean that all nim programs would come with an event loop |
13:05:27 | federico3 | mratsim: an optional one |
13:05:31 | FromGitter | <mratsim> that causes embeddability issues |
13:05:35 | alexander92 | e.g. https://github.com/status-im/nim-chronos/issues/2 (safeasync ) |
13:05:48 | alexander92 | but it is very implicit indeed |
13:07:20 | alexander92 | overally, i wonder if we can keep the current semantics with no gc |
13:11:27 | federico3 | alexander92: yes, pretty much that |
13:11:49 | * | lqdev[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/WHldsjmxtpLoKzhhMEDUlBUU > |
13:12:03 | lqdev[m] | so that's a thing |
13:12:40 | narimiran | lqdev[m]: you can either wait for an official announcement, or you need to build it from github repo |
13:12:53 | lqdev[m] | dang it |
13:13:11 | lqdev[m] | I'll wait since I don't want to clutter my choosenim installs |
13:14:07 | FromGitter | <mratsim> You shall not speak about v1.0.0 |
13:15:05 | Zevv | http://zevv.nl/div/today.png! |
13:18:48 | leorize | are we using that? :P |
13:18:54 | FromGitter | <mratsim> The exclamation mark broke the link |
13:19:12 | dom96 | narimiran: beautiful :D |
13:19:44 | FromGitter | <gogolxdong> It's another special day today. ⏎ On the Chinese lunar calendar, “Autumn Equinox” is the beginning of autumn and this day is just at the middle point between “Autumn Begins” to “Hoar-Frost Falls”.It arrives on September 22 to September 23 each year when the sun reaches the celestial longitude of 180 degrees. |
13:20:07 | Zevv | mratsim: then your terminal or irc client has a wrong URL matcher, because the ! is not an allowed character in an URL |
13:20:23 | leorize | narimiran: so I guess you are waiting for that notoriously long release CI pipeline to finish? :P |
13:20:25 | dom96 | Can't wait for our post to not make it to the HN front page |
13:20:28 | dom96 | :P |
13:21:00 | Zevv | "Duh, another update of that FunnyCaseInsensitive_language" |
13:21:14 | narimiran | dom96: lol |
13:21:36 | dom96 | Zevv: oh no, that will be the first message |
13:21:41 | leorize | there's also the infamous 'polluted namespace' issue :P |
13:21:55 | narimiran | oh, HN-bingo, bring it on |
13:21:57 | Zevv | I stopped caring |
13:21:58 | leorize | and not everyone seem to be convinced by narimiran's blog post |
13:22:05 | dom96 | "So you guys kept the style insensitivity huh?" |
13:22:19 | FromGitter | <gogolxdong> Thanks for everyone's hardwork. |
13:22:29 | federico3 | wait what? |
13:22:34 | PMunch | Hmm, I wonder if the style-insensitivity critics would be happy if it only applied cross-module |
13:22:50 | * | navin quit (Remote host closed the connection) |
13:22:52 | leorize | people will never be happy |
13:22:53 | dom96 | I doubt it |
13:22:54 | leorize | don't try :p |
13:22:58 | * | navin joined #nim |
13:23:03 | owl_000 | or sell icecream |
13:23:04 | * | navin quit (Remote host closed the connection) |
13:23:06 | narimiran | "why another new language? Rust is the best" |
13:23:24 | dom96 | people would be happy if we switched to case sensitivity, they would say "yay", then leave after a day and never be heard from again |
13:23:25 | dom96 | That |
13:23:34 | PMunch | Anyone want to set up a list and a generator that creates random HN-bingo boards? |
13:23:36 | dom96 | That's very much what happened when we switched from GPL->MIT |
13:24:04 | Zevv | PMunch: I can make a permutation of my bug-a-day generator: http://zevv.nl/play/misc/bug-a-day/ |
13:24:06 | federico3 | yep, you just please a crowd that does not really car9e |
13:24:19 | PMunch | Haha, well I personally like style-insensitivity. But it is a bit silly to do var my_variable = 10; echo myVariable |
13:24:37 | federico3 | PMunch: we are working on that |
13:25:04 | PMunch | Zevv, haha that's great |
13:25:37 | PMunch | But yeah, pretty much that but instead of choosing 3 words and an image it would need to pick n elements and put them in a table :) |
13:25:48 | PMunch | federico3, wait really? |
13:26:35 | alexander92 | wow nim was gpl ? |
13:26:41 | federico3 | yep |
13:26:59 | dom96 | federico3 what are you working on? |
13:27:12 | alexander92 | interesting, i wonder if it's feasible for more languages to be gpl |
13:27:15 | alexander92 | language impl-s |
13:27:30 | federico3 | dom96: updating my little code formatter to use nimpretty |
13:27:38 | leorize | well for Nim it would need to be 'GPLv2 with linking exception' |
13:27:38 | alexander92 | if the gcc can do it,probably its fine |
13:27:52 | leorize | or else it won't make it to corporate users |
13:28:06 | dom96 | IIRC the compiler was only GPL |
13:28:22 | alexander92 | yeah, so the stdlib? |
13:28:33 | federico3 | alexander92: GCC is widely used and it's not a problem as long as the code in the sdlib has a different license |
13:28:47 | leorize | libgcc is a problem |
13:28:53 | leorize | but they have a linking exception for thta |
13:28:55 | leorize | that* |
13:28:56 | Zevv | * [new tag] v1.0.0 -> v1.0.0 |
13:30:23 | FromGitter | <mratsim> I bet on import |
13:30:31 | owl_000 | a qustion, https://play.nim-lang.org/#ix=1WyO |
13:30:48 | FromGitter | <mratsim> but I have my bingo board ready: https://forum.nim-lang.org/t/4758#31313 |
13:31:31 | alexander92 | federico3 right |
13:33:09 | * | navin joined #nim |
13:33:32 | dom96 | I love how the travis CI failed on v1.0 |
13:33:39 | PMunch | owl_000, because it is not a reference to an object, but an object |
13:33:50 | PMunch | So the object is copied into the other object |
13:34:06 | dom96 | oh, it was cancelled, of course, damn it github |
13:34:19 | narimiran | dom96: i cancelled everything, so nightlies can build ASAP |
13:34:46 | dom96 | Are you going to generate the bug fix list? |
13:35:10 | owl_000 | so how to prevent it from copying. |
13:38:22 | PMunch | owl_000, by making profile a ref object: https://play.nim-lang.org/#ix=1WyT |
13:39:17 | PMunch | mratsim, yeah new things to complain about :) |
13:39:24 | * | j8kE37cs2CBg quit (Quit: Leaving) |
13:39:44 | FromGitter | <mratsim> I missed some stuff, but I don't remember which :P |
13:39:51 | shashlick | @dom96 - has the new nimble been tested with Nim, important packages? |
13:40:13 | FromGitter | <mratsim> maybe we should write a wiki page "easy bikeshedding with Nim" :D |
13:40:14 | dom96 | shashlick yes, Araq ran it |
13:40:38 | shashlick | okay cool |
13:41:04 | shashlick | any other high priority items? |
13:41:16 | federico3 | dom96: any tar.gz that I can try packaging? |
13:42:06 | dom96 | No idea. narimiran and/or Araq will know |
13:42:07 | dom96 | but yes, give federico3 a tar.gz before formally releasing it |
13:43:37 | owl_000 | thanks pmunch |
13:45:15 | narimiran | federico3, dom96: this will be populated as nightlies finish: https://github.com/nim-lang/nightlies/releases/tag/2019-09-23-version-1-0-5b43c98 |
13:45:23 | PMunch | owl_000, no problem. What actually happens there is that the object gets passed by a pointer, and stored in the object as a pointer, so when you change it you actually change the data pointed to |
13:46:00 | federico3 | narimiran: I'm already seeing some tarballs |
13:46:02 | shashlick | i guess i'll use the time to test all my projects with 1.0 |
13:46:10 | shashlick | if any help needed, please ping |
13:51:03 | narimiran | federico3: yeah, nightlies have just finished the first batch. ready for testing |
13:54:20 | * | navin quit (Remote host closed the connection) |
13:54:41 | * | Kaivo quit (Quit: WeeChat 2.6) |
13:58:30 | * | floppydh quit (Quit: WeeChat 2.6) |
13:59:21 | * | navin joined #nim |
14:02:29 | * | navin_ joined #nim |
14:03:05 | * | PMunch quit (Remote host closed the connection) |
14:03:40 | * | navin quit (Ping timeout: 264 seconds) |
14:04:23 | Zevv | Hm I have a regression causing only the js backend to fail with "request to generate code for .compileTime proc" on my code, seems to be caused by a5e2db2a |
14:08:43 | livcd | oh my god it's happening |
14:09:33 | alexander92 | ? |
14:13:38 | livcd | 1.0 ? |
14:13:50 | alexander92 | ah i wait still for |
14:13:53 | alexander92 | hm, it's on github |
14:15:51 | FromGitter | <zetashift> https://github.com/nim-lang/Nim/commit/5b43c98897ee7eb9f8ded8ceb7623f6caa23bace \o/ |
14:16:21 | narimiran | better link: https://github.com/nim-lang/Nim/commit/5b43c98897ee7eb9f8ded8ceb7623f6caa23bace#diff-5cfdfeab79c2d2b7bbc78af7060c38c3R3566 :) |
14:18:05 | disruptek | hmm, the httpcore changes i instigated broke all my code. 😁 |
14:19:31 | dom96 | btw Manning is doing a deal today for printed books: $25 each. So a great chance to get Nim in Action :) https://www.manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81 |
14:19:57 | narimiran | dom96: make a tweet about it |
14:20:23 | dom96 | will do |
14:22:56 | dom96 | tweeted |
14:30:25 | FromGitter | <qqtop> ```code paste, see link``` ⏎ ⏎ linux latest devel . [https://gitter.im/nim-lang/Nim?at=5d88d701c7ec2e2208da55d7] |
14:30:39 | federico3 | narimiran: the source tar.gz is empty! |
14:31:27 | FromGitter | <ShieldHero> happy 1.0! |
14:31:56 | FromGitter | <ShieldHero> now people will stop using version numbers as an argument |
14:34:51 | narimiran | federico3: wait, what? |
14:35:32 | federico3 | narimiran: https://github.com/nim-lang/nightlies/releases/tag/2019-09-23-version-1-0-5b43c98 the 2 last assets |
14:36:42 | leorize | https://github.com/nim-lang/website/pull/167 |
14:37:03 | leorize | in case you can't wait to see the release announcement :P |
14:38:10 | narimiran | federico3: ouch, you're right, and it seems that even the older nightlies have also the same problem. cc shashlick |
14:38:37 | narimiran | wait, that source code is for nightlies, not for nim |
14:38:56 | narimiran | it is the source code for https://github.com/nim-lang/nightlies |
14:40:06 | narimiran | if you want nim source, it is in *.tar.xz files |
14:41:08 | federico3 | narimiran: which ones? the Source code .tar.gz it's the nightlies source and the other tarballs are binary releases |
14:41:11 | livcd | manning is always doing deals |
14:41:21 | livcd | I never bought a book from manning for a full price |
14:43:10 | narimiran | federico3: try to download e.g. `nim-1.0.0-linux_x64.tar.xz`, it contains binaries and nim source |
14:43:20 | * | huaxk joined #nim |
14:44:48 | narimiran | (it is soooo strange to see that 1 as a first number, i got so used to seeing 0.xx.xx) |
14:45:18 | dom96 | narimiran check out the comments on the website PR |
14:45:20 | federico3 | narimiran: trying... in previous releases the layout and contents was very different than final source tarball |
14:46:02 | FromGitter | <gogolxdong> When will we officially release nim-v1.0 blog post, our QQ group member cannot wait releasing synchronously, there is a race between them and OSChina official team. |
14:46:06 | dom96 | livcd: definitely not always |
14:52:06 | dom96 | we don't even know :) |
14:52:24 | FromGitter | <gogolxdong> :) fair enough. |
14:53:12 | * | navin_ quit (Remote host closed the connection) |
14:53:42 | narimiran | @gogolxdong they can freely go to grab a dinner or so, it won't be for at least 2 hours, IMO |
14:54:11 | alexander92 | time diff |
14:54:52 | narimiran | alexander92: you don't have a dinner at 11pm?? :D |
14:56:03 | * | owl_000 quit (Ping timeout: 268 seconds) |
14:57:57 | * | huaxk quit (Remote host closed the connection) |
14:59:27 | alexander92 | yeah, i thought it wrong: that china time is ~12 am now, but that's the usa |
15:01:32 | FromGitter | <gogolxdong> 23:01 actually |
15:01:56 | FromGitter | <gogolxdong> Time to go to bed, :) |
15:04:17 | disruptek | better to wait for fall out, if any, on the tag. then if it's good, boom. |
15:14:26 | * | navin joined #nim |
15:16:29 | * | Hideki_ quit (Remote host closed the connection) |
15:17:32 | * | Hideki_ joined #nim |
15:18:06 | * | laaron quit (Remote host closed the connection) |
15:18:51 | * | navin quit (Ping timeout: 250 seconds) |
15:22:34 | * | Hideki_ quit (Ping timeout: 268 seconds) |
15:23:54 | nc-x[m] | IMO the release post should contain Future goals/directions |
15:24:51 | * | NimBot joined #nim |
15:29:59 | * | navin joined #nim |
15:32:22 | disruptek | i still cannot easily iterate over http headers or find unique keys, but now i get deprecation warnings, too. |
15:33:02 | alexander92 | well, 1.1 |
15:33:04 | alexander92 | todo :) |
15:34:53 | * | navin quit (Ping timeout: 276 seconds) |
15:35:10 | * | navin joined #nim |
15:37:47 | federico3 | narimiran: so far so good... |
15:38:24 | Araq | disruptek, I looked at your PR and figured all it requires is more procs added to httpcore |
15:39:00 | Araq | so I figured the API is good enough for 1.0, additions are always easier |
15:39:21 | disruptek | fair enough; i took from you comment about the stable api that this was all we'd get. 😉 |
15:39:50 | disruptek | but, i think you didn't fix the host: in client, right? |
15:39:51 | Araq | I would have done the additions too but I'm too incompetent with HTTP's spec |
15:40:20 | Araq | well yes, but your changes also broke the tests, so I was catious |
15:40:28 | Araq | *cautious |
15:41:11 | Araq | nc-x[m], that's covered in my blog |
15:41:12 | disruptek | yes, i chose the breaky route because i rarely worry about supporting broken behavior in my own code. |
15:41:29 | leorize | Zevv: apparantly vim8 support is much more complicated than I expected |
15:41:37 | leorize | so probably won't make it for the nim 1.0 launch |
15:41:42 | leorize | release* |
15:44:33 | FromGitter | <andreaferretti> Sorry, maybe everyone already knows but... ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d88e861b9f8210ed5d96063] |
15:44:41 | FromGitter | <andreaferretti> Is 1.0.0 out there? |
15:44:54 | FromGitter | <andreaferretti> I just realized |
15:45:52 | leorize | scheduled for release today |
15:46:02 | FromGitter | <andreaferretti> Wow, great! :-) |
15:46:04 | leorize | well might be tomorrow depending on your timezone |
15:47:14 | FromGitter | <andreaferretti> @disruptek Well, it broke mine as well :-D |
15:49:43 | narimiran | federico3: good to know, thanks for testing! |
15:50:15 | federico3 | narimiran: still running build tests here... |
15:50:53 | Cadey | Nim 1.0 hype |
15:51:07 | Cadey | so excited to see it finally happen |
15:51:18 | * | Hideki_ joined #nim |
15:51:46 | * | PMunch joined #nim |
15:52:08 | Cadey | I'm gonna work more on that Jester post |
15:52:32 | livcd | The Cult of Nim 1.0 |
15:53:00 | Cadey | I'd at least use a biblical figure in the title |
15:53:02 | Cadey | :P |
15:54:20 | FromGitter | <andreaferretti> Does anyone know what are the latest changes in httpclient? It seems all my rosencrantz tests are now failing due to these |
15:54:46 | * | nc-x joined #nim |
15:55:22 | nc-x | Araq: which blog? I am looking at the release article https://github.com/nim-lang/website/pull/167/files and it does not contain anything like that? |
15:55:38 | shashlick | @narimiran @federico3 - what's the concern with nightlies? |
15:55:46 | disruptek | yeah, i haven't been able to get a http request to work in 1.0. |
15:56:09 | alexander92 | hm, isn't it in important packages |
15:56:31 | disruptek | it happens to be what i'm breaking at the moment, so i thought it was just me. |
15:56:38 | Cadey | can you link to the test run? |
15:56:56 | FromGitter | <andreaferretti> Not that this is a problem for me, but maybe it is not a great moment to release if httpclient is not working |
15:57:22 | FromGitter | <andreaferretti> For the tests, just clone https://github.com/andreaferretti/rosencrantz and run `nimble test` |
15:57:27 | alexander92 | yep, thanks |
15:58:04 | FromGitter | <andreaferretti> Or if you want to do it manually, `nimble server`, then start `tests/rosencrantz` - then in another shell run `nimble client` |
15:58:07 | federico3 | [we should really do pre-releases] |
15:58:26 | FromGitter | <andreaferretti> What happens is that the server seems to run fine (at least, testing from a browser) |
15:58:27 | disruptek | it was the 11th hour fix that didn't fix anything. |
15:58:32 | FromGitter | <andreaferretti> But the client hangs |
15:58:42 | zedeus | disruptek: http requests don't work for me tierh |
15:58:46 | zedeus | either* |
15:59:51 | FromGitter | <andreaferretti> (rosencrantz is in important packages, but for some reason that only tests that the server compiles. My actual tests start a server and a client that checks the server correct functioning) |
16:00:55 | * | nc-x quit (Ping timeout: 260 seconds) |
16:02:15 | zedeus | httpclient requests stall on read() from libc |
16:02:28 | alexander92 | yep, for me hanging as well |
16:02:30 | dom96 | lol |
16:02:35 | FromGitter | <mratsim> I probably need to change the Arraymancer tests in testament |
16:02:43 | FromGitter | <mratsim> as well* |
16:02:53 | dom96 | the grief I got for releasing Nimble 0.11.0 and the screw up is the httpcore changes |
16:03:12 | disruptek | well, it's a good time to catch it. |
16:03:18 | FromGitter | <mratsim> right now they only check that the module compiles but since it's all generic, it's probably just a parser test since nothing is instantiated |
16:03:26 | dom96 | although it sounds like something completely different |
16:03:27 | disruptek | woulda been better time yesterday, but... |
16:03:27 | dom96 | not sure how httpcore changes could have caused this |
16:03:40 | disruptek | actually feels more like an async issue. anyone tried sync code? |
16:03:47 | dom96 | yeah, try sync code |
16:03:51 | zedeus | not related to async |
16:04:02 | dom96 | can you try before the httpcore patch? |
16:04:05 | dom96 | to see if that is the cause? |
16:04:07 | alexander92 | it's sync code |
16:05:12 | disruptek | more likely ray's patch, i guess. |
16:06:45 | disruptek | works at pmunch's commit. |
16:07:07 | alexander92 | hm, but wasnt ray's patch about async |
16:07:08 | zedeus | reverting the httpcore commit fixes it, investigating.. |
16:07:36 | disruptek | works at ray's commit. |
16:08:04 | disruptek | i guess that's pretty incriminating. |
16:09:27 | * | dom96 calls 911 |
16:10:28 | disruptek | i feel like it's reasonable to expect `if myHttpHeaders == nil:` to keep working 0.20->1.0 but maybe that's just me. |
16:11:16 | FromGitter | <andreaferretti> rosencrantz tests use a *sync* client, because why not?, and they fail |
16:11:42 | * | Hideki_ quit (Ping timeout: 245 seconds) |
16:11:59 | alexander92 | yes |
16:12:52 | dom96 | narimiran: Araq: in case you're missing this, httpcore patch broke httpclient |
16:13:23 | narimiran | i've already pinged Araq about it. |
16:14:23 | disruptek | don't be grumpy, Araq 😉 |
16:14:31 | alexander92 | ix.io/1WAd this is some of the traceback |
16:14:36 | alexander92 | i get for rosencrantz |
16:15:02 | alexander92 | (it hangs in recv iirc) |
16:15:28 | dom96 | I'm guessing the headers which get sent are wrong and the http server doesn't respond |
16:15:29 | dom96 | can you check the network traffic? |
16:16:40 | alexander92 | it seems it responds at least from strace |
16:16:45 | alexander92 | sendto(5, "HTTP/1.1 200 OK\r\nContent-Length:"..., 52, MSG_NOSIGNAL, NULL, 0) = 52 |
16:16:47 | alexander92 | epoll_ctl(4, EPOLL_CTL_DEL, 5, 0x7ffe361e1910) = 0 |
16:17:26 | dom96 | huh, you're stracing the client? |
16:17:42 | alexander92 | not sure what is the best cli tool to see the traffic |
16:17:46 | alexander92 | stracing both |
16:17:52 | dom96 | just add some echo's into httpclient |
16:17:56 | alexander92 | i found strace and now i use it everywhere |
16:18:05 | alexander92 | yeah, i did this as well |
16:18:13 | disruptek | first header should be Host: anyway, for 1.1. so it's not sending that, maybe. |
16:18:31 | alexander92 | i also recorded a trace of it and they all seem to hang in the same way, with a traceback in parseBody => recv |
16:18:59 | alexander92 | but i am not an expert in http servers as well, not sure what does this mean |
16:19:06 | alexander92 | i guess people just need to git bisect it |
16:19:16 | disruptek | it's just that one commit. |
16:19:27 | dom96 | can you just try the httpclient on google.com? |
16:19:27 | * | sacredfrog quit (Quit: ZNC 1.7.4 - https://znc.in) |
16:19:28 | dom96 | to work out whether this is a client or a server issue? |
16:19:32 | * | navin quit (Remote host closed the connection) |
16:19:55 | zedeus | stalls |
16:19:57 | alexander92 | yes |
16:20:02 | disruptek | i'm pretty sure it's not sending headers that are supplied, and i'm not sure why it won't send Host. i haven't looked at code; just looking at my broken clients. |
16:20:14 | * | a_b_m joined #nim |
16:20:14 | disruptek | it stalls on body read but i do get a status line back from the server. |
16:22:42 | disruptek | i guess Araq was cautious but perhaps not cautious enough. 😁 |
16:23:18 | * | abm quit (Ping timeout: 265 seconds) |
16:23:20 | * | a_b_m quit (Client Quit) |
16:23:29 | * | PMunch quit (Remote host closed the connection) |
16:23:58 | * | PMunch joined #nim |
16:24:23 | disruptek | hmm, it is sending host and other stuff. or, at least, it's generating it. |
16:24:35 | disruptek | probably we are having problems parsing the incoming response header. |
16:24:42 | lqdev[m] | so I'm debugging this soundio compilation issue again, can anyone running windows check if `nim c -r --passL:-lole32 tests/taudio` works? taudio can be found here: https://github.com/liquid600pgm/rapid/ |
16:25:18 | shashlick | great to have working CI, stuff just works |
16:25:44 | disruptek | right? |
16:26:08 | * | navin joined #nim |
16:27:14 | Araq | ok, well? |
16:27:20 | Araq | ping disruptek ping narimiran |
16:27:51 | shashlick | lqdev - i'm trying |
16:28:03 | lqdev[m] | right, thank you |
16:28:04 | narimiran | we revert https://github.com/nim-lang/Nim/commit/b865c2a54b7d706b31b5eba29dfdbb16809aa400 , re-tag v1.0, and re-run nightlies? |
16:28:12 | narimiran | Araq: ^ |
16:28:17 | Araq | go for it |
16:28:35 | zedeus | yeah the header string sent is the same before and after the commit |
16:28:49 | Araq | narimiran, but wait a little longer |
16:28:52 | dom96 | wait a minute |
16:28:58 | narimiran | ok, waiting |
16:29:28 | dom96 | Diagnose the problem, it might just be a simple fix is needed |
16:30:04 | shashlick | lqdev - cmd /c cd c:\Users\Test\Desktop\DL\programming\rapid\src\rapid\lib\glfw_src && git checkout #latest => `error: pathspec '#latest' did not match any file(s) known to git` |
16:30:26 | lqdev[m] | try running it again |
16:30:41 | lqdev[m] | it's a known bug, though I don't know how to fix it |
16:31:00 | Araq | \#latest ? |
16:31:07 | lqdev[m] | the first time you try compiling something it fails with this error |
16:31:23 | Cadey | by the way |
16:31:25 | narimiran | if somebody is willing to also test nimble with various commands, there were also some last-minute changes :) |
16:31:28 | Cadey | the discord bridge is apparently down |
16:32:00 | lqdev[m] | Araq: that's a branch in the GLFW repo which contains the latest release |
16:32:12 | * | abm joined #nim |
16:34:12 | zedeus | so it receives the request from the server, headers look fine, but it gets stuck at recvFull inside parseBody |
16:34:13 | Araq | so ... what's the problem with the new httpcore? |
16:34:18 | shashlick | lqdev - it is not linking |
16:34:25 | alexander92 | i just dont understand how httpclient works |
16:34:32 | lqdev[m] | just as expected |
16:34:38 | alexander92 | why does it let recvLen = await client.recvFull(4000, client.timeout, true) |
16:34:49 | lqdev[m] | that means this issue isn't specific just to my machines |
16:35:04 | PMunch | Hmm, is chronicles broken? |
16:35:15 | alexander92 | what does this do if the response is 520 bytes |
16:35:25 | alexander92 | hmm, it seems it only does it if no content length header |
16:35:30 | shashlick | you need to link with c++ if you are using C++ files |
16:35:35 | alexander92 | but indeed it's strange i dont receive it, sorry |
16:35:37 | lqdev[m] | I don't |
16:35:41 | lqdev[m] | that's the issue |
16:35:43 | alexander92 | so proobably a header thing |
16:35:54 | disruptek | i was thinking maybe it wasn't parsing content-length right and so it was only reading 0 on the stream. |
16:35:54 | FromGitter | <mratsim> @PMunch, why is it broken? |
16:36:02 | disruptek | but, it passes the parsing tests. |
16:36:24 | lqdev[m] | you already suggested that a while ago, but that didn't change anything, since I don't use any C++ libs |
16:36:31 | disruptek | still, that may be the problem depending on how httpclient reads the header values. |
16:36:53 | zedeus | found the first clue, recvFull always gets 4000 as the size after the commit, but the correct one before |
16:37:11 | alexander92 | yes, that's true |
16:37:18 | alexander92 | but i think it shouldn't even get to that branch |
16:37:18 | PMunch | mratsim, I get this error whenever I try to use it: /home/peter/.nimble/pkgs/chronicles-0.6.0/chronicles/log_output.nim(79, 18) Error: undeclared identifier: 'OutputStreamVar' |
16:37:21 | disruptek | well, that's no beuno. |
16:37:29 | PMunch | And the GitHub page says that builds are failing.. |
16:37:31 | alexander92 | because it's only if no content-length is received |
16:37:31 | shashlick | lqdev - okay let me take a look |
16:37:46 | disruptek | so we'll just default it to 0. |
16:37:59 | FromGitter | <mratsim> does it work in older nim? |
16:38:24 | PMunch | Tried with 0.20.0 and that didn't work |
16:38:29 | zedeus | however "content-length" is correct the returned headers before and after |
16:38:42 | * | Trustable joined #nim |
16:38:50 | PMunch | Same with 0.19.2 |
16:38:59 | zedeus | oh I see now, it's a case sensitivity issue |
16:39:03 | * | sealmove joined #nim |
16:39:14 | disruptek | bingo. |
16:39:19 | disruptek | because they are stored in lower-case? |
16:39:22 | zedeus | yep |
16:39:27 | zedeus | and it tries to get Content-Length |
16:39:35 | disruptek | nice job. |
16:39:40 | disruptek | that fixes it. |
16:39:46 | FromGitter | <mratsim> Then I guess there is an export missing, you are victim of the generic sandwich |
16:39:51 | disruptek | line 673 |
16:40:09 | FromGitter | <mratsim> see: https://github.com/nim-lang/Nim/issues/11225 |
16:40:19 | zedeus | indeed changing that to "content-length" fixes it, but this isn't a proper fix |
16:40:21 | alexander92 | yes, zedeus is right |
16:40:30 | FromGitter | <andreaferretti> weren't the latest httpcore changes exactly about casing issues? |
16:40:37 | alexander92 | 116 |
16:40:39 | disruptek | no, but it gets us moving. |
16:40:41 | alexander92 | in httpcore |
16:40:43 | alexander92 | should fix it |
16:41:06 | disruptek | no, we don't want to change it there. |
16:41:07 | FromGitter | <andreaferretti> Headers were once stored into a non case sensitive strtab |
16:41:12 | alexander92 | hmm, actually if you use [] |
16:41:15 | alexander92 | it should work |
16:41:26 | disruptek | it's the getOrDefault call. |
16:41:27 | alexander92 | yes, we have to fix |
16:41:30 | alexander92 | getOrDefault |
16:41:31 | alexander92 | yes |
16:41:32 | zedeus | yes |
16:41:37 | disruptek | 187 |
16:41:48 | dom96 | lookup of headers should be case insensitive |
16:42:02 | dom96 | we should also have tests for this inside httpcore :) |
16:42:08 | FromGitter | <andreaferretti> eaxctly |
16:42:09 | disruptek | just patch it on the web unless you want a pr. |
16:42:13 | Cadey | sounds like a great opportunity to do that :) |
16:42:21 | FromGitter | <mratsim> don't patch in production ... |
16:42:28 | FromGitter | <andreaferretti> it once was by default because it used a case insensitive strtab |
16:42:57 | alexander92 | ah, the only one where toLowerAscii |
16:43:01 | alexander92 | was missing |
16:43:02 | disruptek | eh this isn't something i'd worry about patching in production. |
16:43:13 | rayman22201 | Hey guys. How is 1.0 coming? Did one of my prs break something? I'm nervous. |
16:43:14 | FromGitter | <andreaferretti> I guess now they are a table, to accomodate multiple values |
16:43:19 | alexander92 | maybe we need a distinct "lowerAsciiString" type |
16:43:25 | disruptek | after all, araq committed it with less testing and investigation than we have given it. |
16:43:25 | Cadey | i'd like to volunteer to host the discord <-> IRC relay bridge |
16:43:27 | Cadey | who should I talk to? |
16:43:31 | alexander92 | it would've catched that |
16:43:32 | FromGitter | <mratsim> TaintedString is not even used .... |
16:44:03 | dom96 | Cadey: the problem wasn't hosting but moderation AFAIK |
16:44:04 | alexander92 | with a single converter |
16:44:12 | dom96 | Cadey: pretty sure the bridge was banned by someone |
16:44:17 | FromGitter | <andreaferretti> levaing, good luck with the release |
16:44:19 | FromGitter | <andreaferretti> bye! |
16:44:28 | disruptek | thanks andrea |
16:44:36 | disruptek | is someone patching this? |
16:44:51 | FromGitter | <mratsim> the bridge was banned? On the Gitter side? |
16:44:57 | Cadey | dom96: i'm not seeing it banned on the IRC side |
16:45:27 | dom96 | then I guess it died |
16:45:28 | dom96 | I'll have a look when I get home |
16:45:34 | alexander92 | rayman22201, nope |
16:46:21 | alexander92 | mratsim well my point was it would work for that data structure only |
16:46:37 | alexander92 | but i admit i used similar distinct int types in my codebase, and stopped using them in one refactoring |
16:46:41 | alexander92 | so it's subjective |
16:46:44 | Cadey | dom96: thanks, worst comes to worst i'm glad to pitch in to help make it a thing |
16:46:52 | zedeus | created pr |
16:46:55 | disruptek | pr submitted. |
16:46:58 | rayman22201 | Oh good 😊 |
16:47:02 | alexander92 | wow the battle of the pr-s |
16:47:06 | disruptek | lol |
16:47:11 | rayman22201 | Anything else I can do to help? |
16:47:44 | dom96 | if only we got so many willing volunteers when we're not releasing 1.0 :P |
16:47:46 | Cadey | zedeus and disruptek submitted basically the same PR |
16:47:59 | Cadey | so it's got peer consensus </s> |
16:48:00 | disruptek | it woulda been nice to test this yesterday. |
16:48:04 | narimiran | dom96: will release a new 1.0 every week! |
16:48:07 | zedeus | I kept it under 80 characters :P |
16:48:09 | rayman22201 | Lol |
16:48:13 | dom96 | where are the tests? |
16:48:38 | dom96 | this also goes to show that we need to test more, so please test everything |
16:48:47 | dom96 | (or at least your projects :P) |
16:48:53 | alexander92 | where we're going |
16:48:55 | alexander92 | we don't need tests |
16:48:59 | federico3 | narimiran: query |
16:49:11 | disruptek | http needs way more tests. especially those that demonstrate current behavior that's broken. 😉 |
16:49:22 | Araq | yup |
16:49:26 | dom96 | nimble in particular too since I've changed quite a bit |
16:50:06 | alexander92 | we should thank andrea/disruptek for testing this one at least |
16:50:50 | disruptek | ugh, i spent an hour patching only to find out it wasn't me. 😝 |
16:51:22 | Cadey | disruptek: you spent an hour understanding complexity |
16:51:27 | Cadey | it's not a wasted hour :) |
16:51:42 | alexander92 | now you can write your own tcp stack |
16:52:36 | disruptek | btw, Araq, i really think we should be have an `== nil` for HttpHeaders. it stuff i'd written months and months ago, and stuff i wrote last week. |
16:52:42 | disruptek | ^broke stuff, i should say. |
16:53:38 | Araq | disruptek, I still intend to change the implementation to be a single string |
16:53:45 | Araq | so it's isEmpty |
16:54:09 | disruptek | i understand, but this is breaking for many people. if you're okay with that, i'm okay. i already made my changes. |
16:54:25 | disruptek | isEmpty doesn't exist in 0.20. |
16:54:30 | Araq | then people need to submit more packages to important_packages |
16:54:42 | dom96 | you want to make what a single string? |
16:54:46 | Araq | I created the PR to see what breaks, nothing broke |
16:54:50 | Cadey | what is important_packages? |
16:55:08 | Cadey | ah i found it never mind |
16:55:13 | Araq | however, maybe it's better to revert my changes altogether then |
16:55:17 | dom96 | why doesn't == nil work? It's a TableRef no? |
16:55:20 | disruptek | Araq: i don't disagree, but my packages aren't important. i'm just telling you about a part of the interface that i use. if no one else uses it, that's cool. |
16:55:35 | Araq | dom96, it's a distinct type now, cannot compare it to 'nil' |
16:55:49 | dom96 | {.borrow.} the `==`? ;P |
16:56:01 | dom96 | I don't see how you can implement this as a string |
16:56:05 | dom96 | or why you'd want to |
16:56:39 | Araq | dom96, because laziness and memory efficiency |
16:56:40 | disruptek | it's still broken. |
16:56:44 | disruptek | grrr. |
16:56:46 | disruptek | let's revert |
16:56:51 | Araq | ok. |
16:56:58 | Araq | narimiran, please revert and rebuild |
16:57:08 | disruptek | hold on, maybe it's me. |
16:57:19 | dom96 | I really don't wish httpcore to be considered "unstable" |
16:57:25 | disruptek | sorry, my client isn't working, but maybe i'm doing header-fu wrong now. |
16:57:48 | Araq | dom96, then maybe the next time don't hack something together and call it a "stdlib" |
16:57:51 | disruptek | all i know is this worked fine last night. |
16:57:53 | narimiran | can somebody else test it too? :) |
16:58:02 | Araq | and yes, I know I did the very same :P |
16:59:26 | disruptek | setting headers `=` magically fails. :-D |
17:00:49 | dom96 | right, well, I'm heading home |
17:00:56 | dom96 | will be around in around 45 minutes |
17:02:00 | rayman22201 | sorry. I'm not fully up on the context. what needs testing? httpcore? |
17:02:59 | narimiran | disruptek: zedeus says that the fix works fine :/ |
17:03:20 | rayman22201 | My locks module PR is still failing, and I don't understand the failures, but that is a much lower priority |
17:03:38 | disruptek | you're able to make headers and send them? |
17:04:35 | zedeus | yes |
17:06:26 | disruptek | ah, okay. it looks like i have more to do to make yesterday's 0.20 code run on today's 1.0. |
17:08:07 | alexander92 | we really need a |
17:08:14 | alexander92 | test-effects aware CI |
17:08:22 | alexander92 | it would be a game changer |
17:08:58 | alexander92 | imagine proving the effects of a small diff to only apply to 4/1000 tests and run only them |
17:09:25 | disruptek | okay, i'm fixed. yeesh. |
17:09:27 | alexander92 | and then run the full suite only periodically |
17:11:36 | * | navin quit (Remote host closed the connection) |
17:12:14 | narimiran | sorry guys, i need to cancel travis CI for your PRs so nightlies can run |
17:12:21 | rayman22201 | `/home/travis/.cache/nim/manual_d/manual/manual_snippet_101.nim(10, 5) Error: type mismatch: got <proc (x: string){.noSideEffect, gcsafe, locks: 0.}> but expected 'Callback = proc (s: string){.closure.}'` ???? |
17:12:42 | alexander92 | this happens often to me |
17:13:13 | narimiran | shashlick: you here? |
17:13:45 | rayman22201 | seems like a random failure that has nothing to do with my PR... this failure happens while building the docs of all things. Not even the test suite. |
17:14:05 | * | navin joined #nim |
17:14:52 | rayman22201 | @alexander92 that error happens often to you? |
17:15:34 | * | navin_ joined #nim |
17:15:45 | alexander92 | well similar errors |
17:16:00 | alexander92 | e.g. passing {.closure.} to stuff that dont expect it |
17:16:02 | alexander92 | and the opposite |
17:16:15 | alexander92 | i think (proc(x: string) {.closure.}) or something like that |
17:16:19 | alexander92 | maybe fixed it |
17:16:22 | alexander92 | not really sure |
17:18:36 | rayman22201 | how about: `/home/travis/.cache/nim/manual_d/manual/manual_snippet_101.nim(3, 34) Error: can have an unlisted effect: IO` |
17:18:53 | * | navin quit (Ping timeout: 265 seconds) |
17:18:54 | rayman22201 | or `/home/travis/.cache/nim/manual_d/manual/manual_snippet_101.nim(5, 12) Error: undeclared identifier: 'x'` |
17:19:08 | rayman22201 | I should look at manual_snippet_101.nim |
17:19:19 | rayman22201 | something about that file is really borked somehow |
17:20:02 | alexander92 | hmm |
17:20:47 | rayman22201 | I just don't understand how this: https://github.com/nim-lang/Nim/pull/12231/files#diff-14091ef14765ad12c3c44cf21b6c256eR13 |
17:20:53 | rayman22201 | would cause that to break of all things? |
17:21:15 | Araq | rayman22201, it's pretty simple if you pick the right UI |
17:21:54 | rayman22201 | lol. the UI was using is Travis |
17:22:01 | Araq | oh you made appveyor works |
17:22:09 | Araq | too bad, no nice UI left then :-) |
17:23:01 | rayman22201 | :-P |
17:23:56 | Araq | anyway, the manual failures are misleading, they are supposed to fail |
17:25:20 | rayman22201 | ahhhh. red herring. thank you. That helps |
17:27:23 | rayman22201 | the when needs to be `when compileOption(threads) or when not defined(docs):` |
17:28:11 | rayman22201 | that's interesting though. Why does threadpool not require this? threadpool also has docs built |
17:30:30 | shashlick | @narimiran - what's up |
17:31:37 | narimiran | shashlick: double check: we pushed another commit to v1 branch, and now i just restarted nightlies here: https://travis-ci.org/nim-lang/nightlies/builds/588440415 - should this be enough to pick-up the latest commit? |
17:33:57 | shashlick | yes nightlies just pulls the latest nim commit |
17:34:01 | shashlick | checking regardless |
17:34:41 | shashlick | that link is for 5b43c98897ee7eb9f8ded8ceb7623f6caa23bace |
17:34:45 | shashlick | so it is the wrong one |
17:35:31 | shashlick | if you open one of the jobs, it prints the nim directory path which contains the hash being pulled |
17:36:50 | narimiran | so i need to trigger a separate build? |
17:37:10 | shashlick | did you restart that after the new commit? |
17:37:11 | PMunch | sorry, mratsim, I got busy. Did you reply to me about chronicles? |
17:37:43 | shashlick | oh do you mean the version-1-0 branch? |
17:37:50 | narimiran | shashlick: i think it is correct git hash. i'm talking about v1. i did not restart devel, it is not important |
17:38:14 | narimiran | Hint: /home/travis/build/nim-lang/nightlies/nim/f7a8fc46c0012033917582eb740dc0343c093e35/tools/niminst/niminst ...... |
17:38:18 | shashlick | okay makes sense, those jobs started 23 minutes ago |
17:38:30 | narimiran | `f7a8fc461` is the latest commit |
17:38:53 | shashlick | NIMDIR = /home/travis/build/nim-lang/nightlies/nim/f7a8fc46c0012033917582eb740dc0343c093e35 |
17:40:35 | disruptek | well, that was exciting. |
17:44:23 | alexander92 | PMunch, can you give an example of how you call chronicles |
17:50:41 | PMunch | I just imported it and tried to log a notice |
17:51:19 | PMunch | Hmm, a bug in nimble? http://ix.io/1WAZ |
17:52:04 | nc-x[m] | PMunch: update nim |
17:52:19 | nc-x[m] | i think that issue is the one being discussed above |
17:52:39 | nc-x[m] | bcos of which the http changes were reverted on devel |
17:52:59 | nc-x[m] | so should work fine on latest commit |
17:56:46 | * | tribly quit (Remote host closed the connection) |
17:57:12 | * | tribly joined #nim |
17:59:37 | * | Vladar quit (Ping timeout: 245 seconds) |
18:02:51 | PMunch | Like a couple minutes ago? |
18:03:11 | alexander92 | https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/?WT.mc_id=social-twitter-marouill also released today |
18:03:34 | narimiran | ouch, battle for spotlight |
18:04:38 | disruptek | now i don't know what to do with packages i updated to the httpcore 1.0 interface but which won't run with devel since it was reverted. |
18:05:44 | dom96 | how are things going? |
18:05:53 | narimiran | disruptek: revert the changes in the packages? |
18:06:11 | dom96 | did we revert httpcore? |
18:06:14 | narimiran | dom96: nightlies are about to finish building a new v1.0 |
18:06:17 | narimiran | dom96: yep |
18:06:34 | dom96 | is that with the reverted httpcore? |
18:06:43 | Araq | yes |
18:06:44 | narimiran | yep, what else |
18:07:02 | dom96 | dunno, i'm surprised it's so fast |
18:07:09 | disruptek | i guess i can compile-time test for the interface. |
18:07:16 | dom96 | I'm going to eat, will be around in 30 or so minutes |
18:07:32 | narimiran | dom96: well, i cancelled all the other jobs, so it just takes ~50 minutes to build |
18:08:50 | * | Hideki_ joined #nim |
18:11:59 | PMunch | nc-x[m], same issue with nimble on latest devel |
18:12:34 | alexander92 | how do you build nimble |
18:13:30 | * | Hideki_ quit (Ping timeout: 265 seconds) |
18:14:20 | alexander92 | it seems to work for me |
18:14:24 | alexander92 | after ./koch nimble |
18:26:40 | PMunch | I did "choosenim update devel" |
18:26:53 | PMunch | Which builds Nimble however that does it |
18:29:05 | * | gangstacat quit (Ping timeout: 276 seconds) |
18:29:54 | PMunch | It's able to install properly as long as I manually update the packages_official.json file |
18:29:56 | * | exelotl joined #nim |
18:30:14 | * | Vladar joined #nim |
18:33:53 | Zevv | bwah, nim 1.0 breaks npeg on the js backend. Alas, noone uses that anyway; so be it |
18:34:33 | * | Ven`` joined #nim |
18:34:50 | rayman22201 | need to add the js backend to the CI (and so the combinatorial matrix of test coverage continues to explode :-P) |
18:35:18 | Zevv | I have 'nimble testall' which tests a normal build, a danger build, a 32 bit build, a windows build and a js build. |
18:35:20 | disruptek | i was hoping it use it, but one cannot do json at compile-time with a js backend, ironically, which means my use is denied. |
18:36:01 | Zevv | Not sure if node is available on the important-packages test, if so I can enable the js test by default. Makes sense, since with all the macro stuff I've met some issues over the last months |
18:36:02 | alexander92 | btw |
18:36:05 | alexander92 | narimiran i also agree |
18:36:21 | alexander92 | that we should have at least a very short "future" roadmap paragraph |
18:36:25 | alexander92 | in the blog article |
18:36:31 | alexander92 | i dont remember who said that |
18:36:52 | alexander92 | at least something like what are the biggest next steps |
18:37:03 | alexander92 | always good to have some perspective |
18:37:34 | lqdev[m] | shashlick: have you figured something out in regards to that link error? |
18:37:48 | shashlick | no buddy, not yet |
18:37:57 | shashlick | i was thinking it was because of the order of .o files in the link command |
18:38:21 | lqdev[m] | I was thinking the same, but I don't know if it's possible to change it |
18:38:53 | narimiran | alexander92: there will be an another v1.0 article where there will be a short passage about nim future |
18:39:16 | lqdev[m] | also, it would seem strange considering that Nim orders them in the same order as compiling files |
18:39:19 | disruptek | shashlick: isn't that the very problem you had with libarchive which you fixed and said, "i'm gonna forget this in 3 months" |
18:39:36 | lqdev[m] | and soundio.c is one of the first ones that's compiled |
18:40:33 | shashlick | lqdev - i tried command manually but it makes no difference |
18:40:41 | shashlick | @disruptek - it's not been 3 months yet 😄 |
18:41:03 | disruptek | ah, i'll remind you next month. 😉 |
18:41:03 | shashlick | @lqdev - nim will order that way, it has no idea on dependencies |
18:41:22 | lqdev[m] | well I meant in the order of compilation |
18:41:37 | lqdev[m] | afaict it compiles all .c files first, then all .nim files |
18:41:51 | alexander92 | narimiran, sounds good: two articles |
18:41:57 | lqdev[m] | s/.nim/.nim.c/ |
18:42:22 | shashlick | lqdev - you might be better off looking at my getHeader work in nimterop |
18:42:30 | shashlick | instead of manually compiling stuff |
18:42:39 | shashlick | meanwhile, you are calling cCompile before creating your config file |
18:42:45 | lqdev[m] | right, I'll check it out |
18:42:52 | lqdev[m] | oh crap |
18:42:56 | lqdev[m] | whoops |
18:43:03 | shashlick | well, maybe it makes no diff |
18:43:24 | * | gangstacat joined #nim |
18:44:09 | alexander92 | https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/ |
18:44:31 | alexander92 | that's a ok way to list perf improvements/measurements |
18:44:47 | rayman22201 | I love doing a stupid git command while not paying attention and loosing a bunch of work :/ |
18:44:48 | shashlick | @lqdev - see these examples - https://github.com/genotrance/nimarchive/tree/nimterop/nimarchive |
18:48:23 | * | gangstacat quit (Ping timeout: 252 seconds) |
18:48:49 | lqdev[m] | shashlick: where can I find documentation for getHeader? |
18:48:53 | Zevv | shashlick: what is your link problem? |
18:49:30 | lqdev[m] | rather my link problem |
18:49:59 | lqdev[m] | there are a ton of weird _imp_soundio* function references which can't be found when compiling on windows |
18:52:56 | Zevv | oh, can't really help you with that I'm afraid |
18:54:31 | lqdev[m] | this seems to be a weird bug with MinGW since it works fine on gcc |
18:54:33 | Zevv | oh it's a mingw poblem right |
18:54:38 | Zevv | I can try to reproduce then |
18:54:50 | Zevv | I can cross mingw on linux |
18:54:52 | Zevv | lemme see |
18:55:15 | Zevv | what is a minimal main program to test with? |
18:55:27 | Zevv | the audio playback example from the readme |
18:55:27 | Zevv | ? |
18:56:03 | lqdev[m] | try tests/taudio |
18:56:30 | lqdev[m] | `nim c --passL:-lole32 -r tests/taudio` |
18:56:40 | lqdev[m] | I still have to add that passL to the source code |
18:57:24 | dom96 | PMunch, what's the issue with Nimble? |
18:57:51 | Zevv | lqdev[m]: hm mingw crosscompile borks because of ccmd: cmd /c mkdir \tmp\rapid\src\rapid\lib\ogg_src |
18:58:06 | lqdev[m] | ah really? |
18:58:10 | lqdev[m] | what's the error? |
18:58:12 | shashlick | @lqdev - see the examples and also the source - there's documentation for the proc |
18:58:14 | shashlick | build.nim |
18:58:26 | lqdev[m] | oh and don't try to cross-compile from linux, nimterop doesn't support that |
18:58:39 | shashlick | https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L617 |
18:58:46 | dom96 | "our newly-created [Patreon account](https://www.patreon.com/araq)." shouldn't think be a nim-lang patreon? |
18:58:52 | lqdev[m] | you need to be on windows which is already an annoyance. kind of sad it can't be fixed easily |
18:59:27 | dom96 | narimiran: please link to our donate page instead https://nim-lang.org/donate.html |
19:00:07 | Araq | dom96, patreon seemed to prefer single persons, not sure |
19:00:39 | Zevv | lqdev[m]: the tooling is not really ment for crosscompiling; nimterop, ogg sources etc |
19:01:07 | dom96 | Araq, https://www.patreon.com/godotengine |
19:01:50 | lqdev[m] | Zevv: it doesn't matter whether it's ogg or not, any nimterop wrapper can't be cross-compiled |
19:01:56 | rayman22201 | @araq and @narimiran Going to be confusing for existing donors. Do we switch platforms or stay on the existing thing? |
19:02:01 | Zevv | aah any nimterop, that's different |
19:02:19 | dom96 | also, until you set up patreon properly I wouldn't advertise it |
19:02:20 | PMunch | dom96, it isn't able to download the official packages list: http://ix.io/1WAZ |
19:02:38 | dom96 | PMunch, that's because of the httpcore changes though, right? |
19:02:46 | shashlick | @Zevv - it is a nim limitation since once you set --os:windows, every when defined() is windows |
19:02:59 | disruptek | might be a new header corner case. |
19:03:06 | shashlick | so there's no way to run os specific code |
19:03:07 | Araq | dom96, define "properly" |
19:03:18 | shashlick | at compile time |
19:03:36 | Zevv | shashlick: I only set -d:mingw, but that probably results in the same. It is good enough for regular nim crosscompiling on linux, but something also is issuing windows shell commands |
19:03:46 | Zevv | so yes, indeed |
19:03:57 | shashlick | ya -d:mingw sets os = windows |
19:04:03 | disruptek | PMunch: what time is it where you are? 😉 |
19:04:33 | dom96 | Araq, the main text is markdown and isn't rendered properly. Also, some tiers would be good |
19:06:41 | disruptek | latest nimble is working for me. |
19:06:44 | dom96 | I would say a Nim-general patreon would be good as well though |
19:07:23 | Araq | disruptek, what's the problem ? |
19:07:43 | disruptek | PMunch is getting an error re: `location` header absence. |
19:07:51 | Araq | that's the httpcore regression |
19:07:53 | Araq | fixed |
19:08:01 | disruptek | working for me on head w/o httpcore commit. |
19:08:08 | Araq | so ... |
19:08:20 | disruptek | well, it's not necessarily guaranteed to be the source of the problem. |
19:08:52 | disruptek | (that's why i asked what time it is where he is) |
19:09:42 | * | treeform joined #nim |
19:10:22 | * | navin_ quit (Remote host closed the connection) |
19:11:51 | lqdev[m] | shashlick: I don't really want to use getHeader, it's annoying that it creates a shared library. I want a dependency-free executable because .dll/.so files are messy |
19:11:59 | * | exelotl quit (Ping timeout: 250 seconds) |
19:12:01 | treeform | 1.0 blog post when? I am waring out this page: https://nim-lang.org/blog.html |
19:12:24 | disruptek | so you're the one. |
19:12:44 | PMunch | dom96, I don't think so, they were rolled back before I updated nim |
19:13:07 | PMunch | disruptek, it's 9:12PM, how? |
19:13:07 | lqdev[m] | and it's also annoying that it has all of its settings changed through --define, since you can't specify a nim.cfg for a library |
19:13:12 | shashlick | @lqdev - getHeader supports shared and static |
19:13:22 | shashlick | it can also find system libs if applicable |
19:13:39 | shashlick | https://github.com/nimterop/nimterop/blob/v020/nimterop/build.nim#L645 |
19:13:41 | disruptek | so you updated 3.5hrs ago. |
19:14:14 | disruptek | (ie. update to head and build all) |
19:14:36 | disruptek | but, that's another good test case. one of the only ones we have, sadly. |
19:14:46 | dom96 | PMunch, are you sure? |
19:15:07 | treeform | Will there be a 1.0 party? |
19:15:09 | PMunch | Yes, I asked and people said it has been reverted so I updated Nim and I got the same error.. |
19:15:10 | disruptek | i'm sure his version predates the rollback. |
19:15:26 | disruptek | this is from his capture: `nimble v0.11.0 compiled at 2019-09-23 17:50:23` |
19:17:08 | PMunch | Okay, updating again now |
19:20:20 | Araq | PMunch, waiting for your ok |
19:21:37 | dom96 | treeform: probably at FOSDEM, yes :) |
19:21:42 | PMunch | Building C sources now |
19:21:44 | Zevv | treeform: yes, keep your champagne ready please |
19:22:09 | PMunch | Oooh, I have been waiting for a good reason to open one of my champagne bottles |
19:22:27 | Araq | building C sources? |
19:22:33 | Araq | oh well |
19:22:52 | dom96 | Araq, you should give us the tar.gz to test |
19:23:02 | disruptek | i dunno how you guys tolerate these machines. |
19:23:30 | PMunch | disruptek, my laptop? |
19:23:51 | Araq | http://nim-lang.org/download/nim-1.0.0.tar.xz here |
19:24:02 | * | Cadey runs choosenim update devel |
19:24:02 | * | FromGitter quit (Remote host closed the connection) |
19:24:27 | * | FromGitter joined #nim |
19:24:30 | disruptek | whatever it is you develop on. i couldn't stand slow builds. |
19:24:43 | Cadey | what does "slow" mean? |
19:24:46 | disruptek | full from-scratch nim build is 21s for me. |
19:24:58 | PMunch | It's normally pretty fast.. |
19:25:53 | PMunch | Oh the nimble build time is wrong.. |
19:25:59 | disruptek | maybe your network cable is disconnected. are you talking to us on a walkie-talkie? |
19:26:06 | dom96 | These filenames are interesting: c_code/1_2/@m..@slib@spackages@[email protected] |
19:26:08 | PMunch | The one I just compiled says: nimble v0.11.0 compiled at 2019-09-23 19:25:30 |
19:26:18 | PMunch | But the time here is 9:25PM |
19:26:22 | alexander92 | it probably uses GMT |
19:26:26 | dom96 | PMunch, it's GMT |
19:26:26 | disruptek | wow, two bugs in one. |
19:26:29 | * | navin joined #nim |
19:26:32 | alexander92 | it's dom96 time |
19:26:36 | alexander92 | the official time of nim |
19:26:37 | disruptek | lol |
19:26:42 | PMunch | Ah |
19:26:45 | dom96 | lol, actually it's not |
19:26:51 | Araq | disruptek, don't say "bug", it's freaking me out |
19:26:58 | dom96 | Since we're in British Summer Time :/ |
19:27:01 | disruptek | so anyway, you still have the problem, huh? |
19:27:02 | PMunch | But now it worked for some reason, so bug fixed I guess |
19:27:28 | PMunch | dom96, when do you switch back? |
19:27:37 | dom96 | no idea :) |
19:27:46 | alexander92 | i think summer time is scrapped |
19:27:50 | disruptek | Araq: sorry, do you have a notifier on the b-word? |
19:28:15 | alexander92 | araq, nim can't compile my pizza |
19:28:22 | PMunch | alexander92, the EU has said that countries should consider stopping with summer time |
19:28:25 | disruptek | lol |
19:28:44 | disruptek | i feel like i'm responsible to today's release snafu and i'm sorry about that. |
19:29:00 | disruptek | it's exactly what i didn't want to happen. |
19:29:14 | dom96 | tut tut https://gist.github.com/dom96/578f1119224144046c8c331df25f036e |
19:29:32 | dom96 | (Don't worry Araq that's not a serious issue) |
19:29:57 | * | Araq sighs |
19:30:04 | livcd | is it out yet ? |
19:30:09 | Araq | disruptek, the b-word is fine on non-release-days |
19:30:10 | livcd | are we there yet? |
19:30:50 | * | navin quit (Ping timeout: 246 seconds) |
19:30:59 | disruptek | i guess, since PMunch's, uh, thingy, was transient and unrelated. |
19:31:03 | dom96 | okay, so I'm out of ideas of what else to test with this tar.xz |
19:31:07 | dom96 | it seems to be working fine |
19:31:20 | alexander92 | great |
19:31:24 | alexander92 | thank you gus |
19:31:26 | alexander92 | guys |
19:31:34 | dom96 | I compiled Nim + nimble. Ran `nimble refresh`, installed a package, did a package search |
19:31:48 | Araq | test 'nimble run' |
19:32:41 | disruptek | actually, `nimble doc` doesn't work as expected. |
19:33:00 | disruptek | to put that differently, i couldn't figure out where i had to be and what arguments to give it. |
19:33:16 | disruptek | everything seems to yield Error: Specified file, . or ..nim, does not exist. |
19:33:19 | Araq | that's not a new problem |
19:33:22 | Araq | I think |
19:33:28 | disruptek | no, i'm pretty sure it's old. |
19:33:38 | dom96 | yeah, that's not a popular feature I don't think |
19:33:48 | disruptek | extremely unpopular on my machine. |
19:34:00 | livcd | the worst that can possibly happen is that Nim gets compared to V-lang in the comments |
19:34:20 | treeform | V-lang did get soo much hype though |
19:34:37 | livcd | rewrite istrolid in nim :) |
19:34:37 | treeform | the worse thing that can happen is that no cares |
19:34:40 | dom96 | we just need to generate some hype |
19:34:45 | disruptek | i dunno, i thought those threads were pretty entertaining. |
19:35:17 | livcd | today was .NET conference so I hope you can answer all those questions about nullable reference types |
19:35:48 | dom96 | anyway, I think I'm happy with that tarball |
19:36:20 | Zevv | dom96: how will you time the HN post? |
19:36:33 | dom96 | I probably won't |
19:36:39 | Zevv | how so? |
19:36:43 | dom96 | someone will likely submit it for us ;) |
19:36:49 | disruptek | it won't matter. |
19:36:51 | livcd | It's already too late |
19:36:52 | dom96 | I'm thinking about what to tweet |
19:36:57 | alexander92 | we planned on checking nullable references |
19:37:09 | livcd | americans are already awake and checked their RSS feeds |
19:37:12 | alexander92 | but still not well tested, there is a PR WIP |
19:37:16 | Cadey | eh |
19:37:19 | Zevv | True. Best HN time is morning coffee IMHO |
19:37:22 | Cadey | let people compare it to V |
19:37:24 | * | gangstacat joined #nim |
19:37:27 | Cadey | let people be wrong |
19:37:55 | disruptek | you may as well compare cave painting. |
19:37:56 | livcd | You should have asked Cadey when does she check her RSS feed |
19:38:11 | Cadey | i don't actually have an RSS feed reader :D |
19:38:29 | livcd | "social media" |
19:38:33 | Cadey | well technically there's that one slack channel we dump RSS feeds into at work |
19:38:36 | Cadey | :P |
19:39:02 | Zevv | Put |
19:39:11 | Zevv | 👑 in the subject when you post :) |
19:39:21 | Cadey | sure |
19:39:24 | treeform | Just say |
19:39:24 | Cadey | my blog can handle emoji |
19:39:28 | treeform | 👑 1.0 |
19:39:35 | Araq | nice |
19:40:28 | dom96 | narimiran: just as a reminder, I'll be tweeting, got an image idea :) |
19:40:40 | narimiran | great! |
19:42:53 | Zevv | Do we advertise 1.0 on the nim-lang.org front page as well? |
19:43:07 | narimiran | it's coming Zevv |
19:43:09 | Zevv | sweet |
19:43:36 | livcd | did you post somewhere already ?! :O |
19:43:51 | narimiran | patience, people |
19:43:51 | Zevv | Didn't hit enter yet |
19:44:07 | dom96 | Just a few dozen more minutes ;) |
19:44:17 | livcd | a few dozen minutes can be an hour |
19:44:18 | livcd | or two |
19:44:22 | rayman22201 | It's almost 1pm my time. Tsk tsk 😝 |
19:45:09 | treeform | in my mind its already released |
19:45:10 | * | FromGitter quit (Remote host closed the connection) |
19:45:17 | treeform | source is the onlything that matters |
19:45:29 | * | FromGitter joined #nim |
19:45:30 | disruptek | no mention of nim here: https://news.ycombinator.com/item?id=21036037 |
19:45:32 | treeform | And I already have Nim 1.0 |
19:45:32 | livcd | :D istrolid when ? |
19:45:44 | treeform | livcd, no comment |
19:46:13 | livcd | disruptek: i keep checking here : https://hn.algolia.com/?dateRange=last24h&page=0&prefix=true&query=nim&sort=byPopularity&type=story |
19:46:16 | alexander92 | rayman, wow, you're in .. india? |
19:46:43 | rayman22201 | Lol. No. PST. West coast of the US |
19:46:53 | treeform | alexander92, you are off by 12 hours :) |
19:46:54 | alexander92 | come on, hacker news is mainstream, let's post on some french forum |
19:46:56 | disruptek | just kinda remarkable given that article. the guy is a perfect candidate and yet... |
19:46:58 | alexander92 | oh .. pm |
19:47:00 | alexander92 | not am |
19:47:17 | Cadey | with devel i'm able to do http fetches |
19:47:19 | rayman22201 | Timezones are hard lol |
19:48:00 | alexander92 | we live in the future |
19:48:05 | rayman22201 | @disruptek: you could be the one to enlighten the guy |
19:48:07 | treeform | I always hard hard time with timezones, they were always buggy and confusing, until I wrote my own timezone library. Then then my eyes opened up and I now understand timezones. I have slaying one of my dragons. |
19:48:22 | alexander92 | yes, that's why i plan to write my os |
19:48:42 | alexander92 | (not ironically) |
19:48:56 | alexander92 | (but also, obviously probably wouldn't) |
19:49:12 | Cadey | anyone who claims to understand time zones is either crazy or deluded enough to believe they understand them |
19:50:00 | disruptek | timezones are easy, it's nimble's timestamp that only crazy people understand. |
19:50:05 | * | gangstacat quit (Ping timeout: 246 seconds) |
19:50:17 | livcd | treeform: are you still actually working on that game ? |
19:50:39 | alexander92 | timezone libs are hard indeed |
19:50:43 | alexander92 | respect |
19:50:48 | * | navin joined #nim |
19:50:51 | treeform | I also thinking about writing my own OS. My requirements is that it should be statically compiled into vm file and would run on a cloud provider. I guess I want an "library OS" or a Unikernel. |
19:51:25 | Cadey | i've been considering making an OS where all the programs are written in webassembly and compiled to machine code with a "trusted compiler" a-la IBM i |
19:51:25 | treeform | @livcd I am still working the current Istorlid it takes time to make sure everything runs. |
19:52:02 | * | gangstacat joined #nim |
19:52:05 | livcd | treeform: nice! is that your main source of income atm ? |
19:52:21 | treeform | @Cadey @alexander92 I don't think timezones are that hard. Font rendering or Orbital Mechanics are harder. |
19:52:50 | treeform | @livcd no way Istorlid does not make money. |
19:52:59 | Araq | treeform: nice, I am also looking at unikernels |
19:53:26 | livcd | treeform: sad panda face |
19:53:44 | treeform | Araq, nice, closest I got so far is Alpinelinux with only my own nim programs installed. |
19:53:57 | treeform | But I actually don't like the linux parts... |
19:54:06 | shashlick | @lqdev - any luck with getHeader? |
19:54:39 | Cadey | treeform: you played with seL4 much? |
19:54:42 | lqdev[m] | it's not quite what I'm looking for |
19:54:49 | Cadey | i've been wanting to build stuff on top of that |
19:55:18 | * | navin quit (Ping timeout: 245 seconds) |
19:55:19 | treeform | Cadey, I have not heard of seL4 before. |
19:55:28 | Cadey | https://sel4.systems/ |
19:55:39 | Cadey | it's quite a thing |
19:55:40 | shashlick | @lqdev - what's not meeting your needs? |
19:55:49 | Cadey | its build system leaves a lot to be desired though :( |
19:56:00 | Cadey | it needs haskell, python 2, python 3, cmake, gcc and clang |
19:56:09 | treeform | wow, its a zoo |
19:56:20 | disruptek | that's a neat piece of work, though. |
19:56:23 | * | gangstacat quit (Ping timeout: 246 seconds) |
19:56:56 | Cadey | i highly suggest checking out sel4 though |
19:57:02 | Cadey | it's a very interesting thing |
19:57:05 | disruptek | are there performance guarantees? i don't see anything. |
19:57:17 | Cadey | you have to read the whitepaper/manual for them |
19:57:22 | lqdev[m] | shashlick: I don't quite like how it manages configuration through defines because I can't easily embed my wrapper in a library. I want something that just works for the end user, a thing that can compile to a single independent executable on all platforms. |
19:57:24 | disruptek | okay, that's fine. |
19:58:15 | lqdev[m] | defines make it harder since you can't enforce a particular config for your library, since only specific nim.cfg files are loaded. |
20:02:04 | * | gangstacat joined #nim |
20:02:11 | lqdev[m] | more generally: I much prefer to have full control over what's done. |
20:02:12 | * | FromGitter quit (Remote host closed the connection) |
20:02:30 | * | FromGitter joined #nim |
20:02:56 | shashlick | i don't get it - that's exactly what i'm doing with nimarchive |
20:02:57 | * | navin joined #nim |
20:03:03 | disruptek | seL4 is fascinating, thanks for the mention. |
20:03:04 | shashlick | i'm setting the defines with the config.nims |
20:03:32 | Cadey | no problem disruptek |
20:03:35 | disruptek | i mean, the paper is wild. |
20:05:38 | lqdev[m] | shashlick: wait a sec, you can have per-package config.nims? |
20:05:39 | * | FromGitter quit (Remote host closed the connection) |
20:05:40 | Cadey | it's really out there |
20:05:50 | Cadey | lqdev[m]: from what i understand you can have _per-folder_ config.nims |
20:05:57 | * | FromGitter joined #nim |
20:05:59 | Cadey | as well as per-file filename.nims |
20:06:49 | lqdev[m] | Cadey: but that only works when you're compiling a file in the same folder as the config.nims, or the filename.nims's corresponding .nim file right? |
20:07:40 | Araq | right |
20:07:40 | * | FromGitter quit (Remote host closed the connection) |
20:07:51 | * | navin quit (Ping timeout: 264 seconds) |
20:07:54 | shashlick | you are right lqdev - config.nims, nim.cfg or filename.nims does not work if it is in a package's folder and you import that package |
20:07:58 | * | FromGitter joined #nim |
20:08:20 | disruptek | okay, everyone act natural. gitter is back. |
20:08:33 | shashlick | also nim doesn't allow you to create defines in the nim file, so it is a nuisance |
20:08:51 | shashlick | but this method allows nimterop to give the user control on how the library should be found, built and linked |
20:09:11 | * | gangstacat quit (Ping timeout: 276 seconds) |
20:09:14 | shashlick | ideally it allowed a library writer to provide a built-in nims file but doesn't look like it works |
20:09:26 | lqdev[m] | hmm, you're probably right |
20:09:29 | shashlick | its weird cause you'd want to do --threads:on and stuff |
20:09:40 | shashlick | in your library and not require your consumer to do it also |
20:09:51 | shashlick | @Araq ^^ any suggestions? |
20:09:52 | lqdev[m] | I don't think pulling a header from /usr/include or somewhere is that bad |
20:09:53 | * | FromGitter quit (Remote host closed the connection) |
20:10:10 | Cadey | what about flags in the .nimble file? |
20:10:11 | * | FromGitter joined #nim |
20:10:13 | shashlick | you can use -d:lzmaStd and it will find the header and lib |
20:10:13 | Cadey | do those carry over? |
20:10:37 | lqdev[m] | ah yeah I know that, I just produce an error when --threads is not on |
20:10:57 | Araq | shashlick: I conderider it a feature |
20:11:11 | Araq | firstly, figuring out the configuration is already hard enough. |
20:11:21 | Araq | secondly, you're supposed to use pragmas |
20:11:52 | shashlick | why wouldn't i use -d:xyz and when defined(xyz)? |
20:11:56 | shashlick | as a library writer |
20:12:05 | shashlick | and how would i use pragmas to replace that workflow |
20:12:08 | dom96 | https://nim-lang.org/blog/2019/09/23/version-100-released.html |
20:12:11 | * | Vladar quit (Remote host closed the connection) |
20:13:29 | Araq | shashlick: you decide for your users what should be done, don't give your users different build settings |
20:13:35 | acidx | congrats on 1.0! |
20:13:57 | Araq | just look at wxWidgets, you could build it with unicode, without, etc as a static lib as a dynamic lib |
20:14:03 | Araq | the result: building it is a mess |
20:14:49 | lqdev[m] | but what if my library requires threading? when using CMake/Meson it's as simple as specifying a threads dependency |
20:15:09 | shashlick | in my case, nimterop gives wrapper writers the ability to pick what they want for their wrapper, but if they make that wrapper into a library for someone else, that downstream consumer also has to pick |
20:15:10 | * | FromGitter quit (Remote host closed the connection) |
20:15:20 | dom96 | 👑 So in case my link wasn't loud enough: Nim v1.0.0 is officially here! 👑 |
20:15:22 | shashlick | i'm not arguing config.nims is the right way, just wondering what other options are available |
20:15:23 | Araq | then you do when not compileOption("threads"): {.error: "compile with --threads:on".} |
20:15:28 | * | FromGitter joined #nim |
20:15:45 | Araq | and --threads:on is a bad example as that should have been the default anyway |
20:15:52 | dom96 | Nice of the Gitter bridge to die right when I posted that message... :) |
20:15:59 | Araq | I tried to do that but got confusing appveyor results and a day only has 24 hours |
20:16:14 | lqdev[m] | Araq: that's what I do |
20:16:47 | shashlick | if there was a {.define.} pragma, would be cool |
20:16:55 | lqdev[m] | dom96: \o/ |
20:17:00 | treeform | Thank you everyone for Nim 1.0 |
20:17:49 | shashlick | congratulations for 1.0! brilliant commitment |
20:19:03 | Araq | thanks! |
20:19:44 | disruptek | congrats dudes. |
20:19:45 | Araq | https://forum.nim-lang.org/t/5213 |
20:22:14 | shashlick | nice blog Araq |
20:22:15 | * | FromGitter quit (Remote host closed the connection) |
20:22:16 | Zevv | Congrats to all! \o/ |
20:22:33 | * | FromGitter joined #nim |
20:24:39 | treeform | @Araq will you make youtube vids too? |
20:24:53 | Araq | yeah, tomorrow I'll release the first video |
20:24:57 | dom96 | treeform, you've submitted the url with a double slash *gasp* |
20:25:01 | dom96 | (to HN) |
20:25:59 | treeform | Sorry! |
20:26:12 | dom96 | meh, it's fine |
20:26:37 | dom96 | Araq, so to be honest I feel like we should at least add a link to the Nim changelog for this release to that announcement post |
20:26:46 | dom96 | Happy with that? |
20:26:46 | * | andrewrk joined #nim |
20:27:05 | andrewrk | I'm here for the 1.0.0 release party |
20:27:56 | dom96 | welcome andrewrk :) |
20:28:13 | disruptek | what did you bring for us to drink? |
20:28:35 | alexander92 | oh awesome |
20:28:38 | alexander92 | praise God |
20:28:40 | alexander92 | it's finally 1 |
20:29:17 | disruptek | i need something stiff; haven't seen a rocky roll-out like that in about 15 years. |
20:29:54 | Araq | disruptek: and it's all your fault :P |
20:29:55 | andrewrk | I brought emojis: 🍶 🍾 🍷 🍸 🍹 🍺 🍻 🥂 🥃 |
20:29:55 | alexander92 | pure water |
20:30:06 | andrewrk | and pancakes 🥞🥞🥞 |
20:30:10 | alexander92 | did you guys hit /r/programming as well |
20:30:11 | disruptek | i know, i take full responsibility. 😭 |
20:30:19 | alexander92 | he disrupts |
20:30:23 | alexander92 | he attack |
20:30:23 | FromGitter | <cabhishek> Nim 1.0, congrats everyone! This is fantastic. |
20:30:25 | andrewrk | it's inevitable, you can just sit back and let the internet do its thing |
20:30:31 | alexander92 | but most importantly he nim callback |
20:30:33 | alexander92 | <3 |
20:31:33 | andrewrk | I'm living vicariously right now |
20:31:47 | disruptek | nom 🥞🥞🍺🍺 |
20:32:03 | disruptek | nim 1.0 release party... FLAPJACKS AND FORTIES |
20:32:26 | narimiran | posted on r/programming and lobste.rs |
20:32:34 | alexander92 | 🥞🥞🥞 SIGSEGV |
20:34:13 | Araq | alexander92: don't say this word |
20:34:22 | lqdev[m] | 11 pancakes too many lol |
20:35:03 | shashlick | @lqdev - any suggestions for our problem? what's another way to tell getHeader what the caller wants without hardcoding it in the proc call |
20:35:23 | FromGitter | <deech> @Araq Congrats on the release! I wish you'd told me it was scheduled since I have been working pretty hard on https://github.com/nim-lang/Nim/pull/11341. You had said it was considered for 1.0. |
20:35:37 | disruptek | shashlick: if you have the sort of problem i think you have, env variable. |
20:36:07 | lqdev[m] | shashlick: that's a good question |
20:36:56 | shashlick | so considering @disruptek's suggestion - your soundio.nim will contain a static: setEnv("lzmaStatic") or whatever and i can check it in nimterop |
20:37:04 | shashlick | hopefully the env persists at compile time |
20:37:23 | lqdev[m] | that's a pretty good idea |
20:37:51 | * | dom96 adds links to changelogs to the article |
20:38:05 | dom96 | let's hope Jekyll doesn't suddenly freak out :) |
20:38:14 | narimiran | now, i don't want to hear words "bug", "regression", "sigsegv", "doesn't work" for at least 3 days. thank you in advance |
20:38:42 | disruptek | 3 days! |
20:39:09 | * | nsf quit (Quit: WeeChat 2.5) |
20:39:16 | rayman22201 | Lol. The teams deserves a small vacation. Congratulations 🎉 |
20:39:18 | Araq | deech: many things were considered for 1.0 |
20:39:52 | shashlick | @Araq - what do you think of @disruptek's suggestion to use env vars? so that i can pass state info into a package i'm importing |
20:40:04 | shashlick | any better nim way to do it? |
20:40:08 | disruptek | hey i don't want credit for that hack. |
20:40:08 | Araq | env vars are from hell |
20:40:17 | disruptek | lol |
20:40:25 | disruptek | now i really don't want credit. 😁 |
20:40:47 | andrewrk | shashlick, "soundio.nim" is this nim bindings to libsoundio? |
20:41:13 | Araq | hi andrewrk, welcome |
20:41:20 | FromGitter | <deech> @Araq I just had no idea a release was planned. Was there a blog post or forum announcement I missed? |
20:41:32 | shashlick | i thought using -d: is safe since it propagates into imports but you cannot set it in code |
20:41:33 | * | FromGitter quit (Remote host closed the connection) |
20:41:38 | shashlick | @andrewrk - yep |
20:41:51 | * | FromGitter joined #nim |
20:41:56 | treeform | @deech I just saw it pop on the discord server on github so I came here. |
20:42:00 | andrewrk | nice, ha funny coincidence, I'm the author of libsoundio :) |
20:42:07 | dom96 | shashlick, Nimble now passes -d:NimblePkgVersion=<ver> to Nim when compiling. Kind of an env var :P |
20:42:20 | * | rayman22201 is honored that the great andrewrk stopped by |
20:42:23 | treeform | @andrewrk really? thats cool |
20:42:25 | shashlick | noice! maybe you can help @lqdev with his link error |
20:42:32 | lqdev[m] | andrewrk: oh I just realized that! thank you for making such an awesome library, it's great :) |
20:42:36 | andrewrk | lol nice try I'm here for the 1.0.0 release party |
20:42:43 | andrewrk | j/k I'll help. what's the linker error? |
20:42:54 | disruptek | he wants free booze. only brought one of everything. |
20:43:14 | shashlick | or maybe i'll just continue to push @lqdev to use getHeader 😄 |
20:43:15 | disruptek | actually, that's not fair. he brought plenty of pancakes... |
20:43:16 | alexander92 | is it a tradition to call liblib |
20:43:18 | disruptek | for three of us. |
20:43:18 | alexander92 | the c libs |
20:43:40 | alexander92 | yeah, PMunch, you gotta get some pancakes back to andrewk on fosdem |
20:43:48 | lqdev[m] | andrewrk: it's a weird error specific to MinGW. when I compile under Windows, I get a bunch of undefined references to `__imp_soundio_*` functions |
20:44:17 | treeform | @shashlick why doesn't @lqdev want to use getHeader? Doesn't it solve all his problems? |
20:44:30 | lqdev[m] | it kind of does |
20:44:50 | andrewrk | lqdev[m], -lsoundio is supposed to solve those. unless this is one of those weird things where the DLL name mangling got messed up by mingw or something like that |
20:45:08 | PMunch | Huh, pancakes? |
20:45:18 | disruptek | flapjacks |
20:45:23 | lqdev[m] | I don't link soundio dynamically, I pull its source code and compile it alongside my executable |
20:45:42 | PMunch | Woo, Nim 1.0 is out?! |
20:45:43 | * | FromGitter quit (Remote host closed the connection) |
20:45:44 | alexander92 | i've heard great stuff about flapjacks .. but they look as small waffles in my country |
20:45:49 | lqdev[m] | treeform, shashlick: let me be honest here: I don't want to switch because my current wrapper works fine (most of the time haha) |
20:46:01 | * | FromGitter joined #nim |
20:46:26 | Araq | ok, since you all ask, "does v1 come with hidden features?", yes, it does |
20:46:49 | rayman22201 | Lol. Birthday surprise 🎂 |
20:47:00 | alexander92 | oh no, there is a secret rust interpreter |
20:47:02 | alexander92 | inside |
20:47:16 | andrewrk | lqdev[m], oh in this case you should try -DSOUNDIO_STATIC_LIBRARY |
20:47:28 | andrewrk | lqdev[m], because: https://github.com/andrewrk/libsoundio/blob/dc4f84339039ac518b6cd1c0e7683e88e25be470/soundio/soundio.h#L21-L33 |
20:47:39 | andrewrk | otherwise it's doing the dll name mangling |
20:47:42 | livcd | maybe there is a secret Zig interpreter |
20:47:45 | Araq | we got a pluggable GC that "Araq's GC" is using, it applies the lessons learned from the "New runtime" to Nim v1, gives us a shared memory GC, control over the pauses yadda yadda |
20:47:46 | * | FromGitter quit (Remote host closed the connection) |
20:47:47 | disruptek | there is a secret rust replacement inside. |
20:47:52 | PMunch | A rust back-end? |
20:47:58 | * | gangstacat joined #nim |
20:48:04 | disruptek | we call it, `nim`. |
20:48:04 | * | FromGitter joined #nim |
20:48:26 | andrewrk | if there's a secret zig interpreter in nim 1.0, I'll switch to nim for the zig compiler immediately, i'm tired of fixing all these bugs |
20:48:39 | disruptek | hehe |
20:48:48 | lqdev[m] | andrewrk: I'll try that |
20:48:50 | treeform | Araq, tell me more about the AraqGC? |
20:48:52 | dom96 | I'm sure Araq can sympathise :) |
20:48:55 | Araq | sorry, but Zig sucks. |
20:48:58 | rayman22201 | Lol. Then you have to fix all the Nim bugs |
20:49:32 | andrewrk | Araq, I'll let you have that today since it's Nim's 1.0 birthday |
20:49:55 | Araq | don't take it personal, everything sucks |
20:50:15 | shashlick | @treeform - getHeader uses -d:xxx to control how it works but it's not possible for a package to specify defines such that consumers can inherit it |
20:50:17 | disruptek | it'd be hard not to take it personal. |
20:50:37 | alexander92 | but is newruntime |
20:50:37 | shashlick | @lqdev - i'm moving to the getHeader method since the more complex libraries are not trivial to build by hand |
20:50:42 | alexander92 | being phased off? |
20:50:59 | disruptek | why would it? |
20:51:15 | treeform | bc "AraqGC" |
20:51:21 | alexander92 | well from the blog stuff about maybe not adding `owned` and the araqs' gc explanation |
20:51:25 | disruptek | it's a separate animal. |
20:51:28 | andrewrk | Araq, I'll take the bait, what's your biggest gripe? (besides not being at 1.0.0 yet obviously) |
20:51:31 | alexander92 | it sounds a bit like newruntime being an experiment |
20:51:49 | rayman22201 | Wow Araq, you really know how to be the life of the party. What subtle social skills you have Lol |
20:52:48 | livcd | alexander92: sounds like Araq could not finish reading all of Gordon's ramblings |
20:52:48 | * | treeform quit (Remote host closed the connection) |
20:52:56 | alexander92 | HAHAHAHAHAHHA |
20:53:17 | alexander92 | he's just a proglang tolstoy |
20:53:35 | alexander92 | but honestly, i like his posts, long posts are underrate |
20:53:36 | * | treeform joined #nim |
20:53:36 | dom96 | Araq: nice welcome you've given andrewrk |
20:53:51 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
20:54:09 | * | pbb joined #nim |
20:54:36 | andrewrk | I'm honestly just here to say sincere congrats and then peace off in like 1 hour |
20:55:31 | def- | Congrats on v1 |
20:56:11 | livcd | andrewrk: that sounds like industrial espionage |
20:56:28 | rayman22201 | @andrewk most of us really appreciate it. Thank you. |
20:57:28 | Araq | andrewrk: exceptions can be nice ;-) |
20:57:47 | alexander92 | we all know nim and zig will merge in 2021 and then trump will split nimzig for monopoly in ~2023 |
20:57:48 | * | FromGitter quit (Remote host closed the connection) |
20:58:06 | * | FromGitter joined #nim |
20:59:07 | * | ee7[m] joined #nim |
21:00:30 | rayman22201 | I still see newruntime as a viable replacement for Rust. I still have the zig debug sage allocator thing on my reading list though. |
21:00:56 | rayman22201 | I donate to both Lang's, diversification is important lol. 😛 |
21:01:06 | Araq | rayman22201: the benchmarks didn't work out |
21:01:37 | rayman22201 | For newruntime? |
21:01:51 | Araq | yeah |
21:01:54 | andrewrk | Araq, that's neat that you're looking into incremental recompilation. I'm interested in that as well. any plans to try to do incremental linking? |
21:02:16 | andrewrk | I guess on windows you ship with link.exe so you already have it, is that right? |
21:02:59 | Yardanico | time to celebrate v1.0 all night xD |
21:03:00 | * | FromGitter quit (Remote host closed the connection) |
21:03:17 | rayman22201 | :( when did that happen! @araq |
21:03:25 | * | FromGitter joined #nim |
21:03:36 | disruptek | sink sunk it |
21:04:20 | Araq | andrewrk: we ship mingw and linking is not our business |
21:05:07 | rayman22201 | That should have been a blog post or a forum post. Wth... Where is the communication? That was an important experiment with a lot of people waiting for answers... |
21:05:18 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:05:31 | Araq | I'm working on it but consider this |
21:05:45 | disruptek | it doesn't have to be the last result, just the first. |
21:05:50 | * | Ven`` joined #nim |
21:06:06 | * | Ven`` quit (Client Quit) |
21:06:13 | * | theelous3 quit (Read error: Connection reset by peer) |
21:06:36 | * | theelous3 joined #nim |
21:08:11 | rayman22201 | Working on it is one thing, but you obviously got a major result, that was not well communicated... |
21:12:13 | * | FromGitter quit (Remote host closed the connection) |
21:12:32 | * | FromGitter joined #nim |
21:12:44 | federico3 | Finally some positive feedback on HN |
21:12:44 | shashlick | @lqdev - looks like env vars it is, no other ideas floating around here |
21:12:59 | disruptek | shashlick: does it even work? |
21:13:12 | Araq | rayman22201: look, it's not cancelled |
21:13:23 | Araq | but it also wasn't ready for v1 |
21:13:27 | disruptek | ray had $50 riding on newruntime. |
21:13:51 | Araq | and "omg, it detects dangling refs at runtime only" make people nervous |
21:13:56 | dom96 | I for one am happy that newruntime is losing Araq's focus |
21:14:12 | federico3 | why? |
21:14:20 | dom96 | Because I like having a GC |
21:14:40 | ee7[m] | Congrats on 1.0! |
21:14:45 | livcd | narimiran: i gave you silver |
21:14:47 | Araq | thanks! |
21:14:57 | livcd | narimiran: no coins for gold :D |
21:16:55 | FromGitter | <Kiloneie> Congratz Araq and everyone else on 1.0 ! |
21:17:36 | * | andrewrk left #nim ("Leaving") |
21:17:59 | setenforce | Yes, congratulations on 1.0 :D |
21:18:06 | setenforce | It's a big achievement |
21:18:48 | alexander92 | Araq, do you think nim today would be different if you 1.0 in e.g. 2015 |
21:18:58 | FromGitter | <Kiloneie> I joined Nim just before 1.0 lol |
21:19:40 | Araq | alexander92: I would be different and that matters to me too |
21:19:50 | FromGitter | <ShieldHero> where's my non gc string and seq |
21:21:11 | Araq | ShieldHero: it's here, use --newruntime |
21:21:58 | Araq | alexander92: anyway, time to be happy. My nemesis of never shipping v1 is over |
21:22:00 | Araq | :D |
21:22:15 | alexander92 | yes |
21:22:27 | rayman22201 | dom96: wants a GC, but some of us do not 😝 |
21:22:28 | alexander92 | now you can start shipping new major versions every 2 weeks |
21:22:36 | alexander92 | browser style :P |
21:23:53 | FromGitter | <ShieldHero> i still don't fully grasp how to use the newruntime, more docs please |
21:24:27 | FromGitter | <ShieldHero> what does Nimsuggest do btw? |
21:25:55 | Yardanico | it's a tool for code completion and error checking for editors |
21:26:15 | Yardanico | most commonly used with VSCode + Nim extension |
21:26:55 | FromGitter | <ShieldHero> i'm using sublime text and the only completion i get is the one that the editor does by default.... |
21:27:08 | * | abm quit (Quit: Leaving) |
21:27:50 | dom96 | 230 people on nim-lang.org right now :O |
21:28:20 | Yardanico | inb4 site goes down :D |
21:28:38 | Yardanico | jk, nim website is powered by nim so it's fast!1 |
21:28:42 | narimiran | livcd: thanks for the silver! |
21:31:52 | dom96 | hah, it'll never go down |
21:31:53 | * | FromGitter quit (Remote host closed the connection) |
21:32:11 | * | FromGitter joined #nim |
21:32:40 | FromGitter | <kdheepak> Congrats on v1.0! |
21:32:53 | FromGitter | <kdheepak> Exciting times! |
21:33:19 | narimiran | shit, i forgot to put "it is transpiled" on my HN-bingo! (cc PMunch, dom96) |
21:33:32 | dom96 | narimiran: :D |
21:33:34 | Zevv | 1.0 -> sentimental versioning |
21:33:45 | disruptek | hehe |
21:34:30 | FromGitter | <mratsim> Aaah right I forgot transpiled on mine too |
21:34:32 | PMunch | narimiran, haha yeah that usually comes up |
21:34:43 | FromGitter | <mratsim> Congrats on v1 :). |
21:34:48 | PMunch | Most of the discussion seems pretty on-topic so far though :) |
21:35:04 | * | FromDiscord joined #nim |
21:35:07 | PMunch | Zevv, yeah I saw that, took me a second to understand what he meant :P |
21:35:10 | dom96 | Hope that works ^ |
21:35:25 | PMunch | Hi discord, long time no see! |
21:35:28 | Zevv | Not sure if it was a typo, but it does suit the occasion :) |
21:35:37 | FromDiscord | <Kiloneie> lol |
21:35:49 | FromDiscord | <Kiloneie> hei guys 1.0 here, also discord bridge xD |
21:35:50 | federico3 | narimiran: and the automated "rewrite it in rust!" |
21:35:59 | FromDiscord | <treeform> we did it guys |
21:36:07 | FromDiscord | <Kiloneie> who fixed it ? |
21:36:18 | FromDiscord | <treeform> a very beautiful person |
21:36:20 | narimiran | v1.0 fixed it :P |
21:36:25 | narimiran | it is magical |
21:37:59 | PMunch | Zevv, yeah I was thinking he meant semantic versioning :P |
21:38:04 | FromDiscord | <Shield> yay |
21:38:35 | FromGitter | <oprypin> great, so Gitter actually delivers the message but still reports error 504 |
21:39:34 | Yardanico | I guess since it's v1.0 I should really write a discord-irc bridge in Nim in 2-3 weeks :P I once started that project, but abandoned it |
21:39:58 | Yardanico | (2-3 meaning I'll just randomly write for an hour on some days, and on some days don't write any code at all) |
21:42:33 | dom96 | Kiloneie: it was I :) |
21:42:51 | dom96 | Yardanico, yep |
21:43:02 | FromDiscord | <Kiloneie> Good boy :P, have a treat. |
21:43:09 | * | stefantalpalaru joined #nim |
21:43:15 | FromDiscord | <Kiloneie> Anyone got 2-3 minutes for my hopefully last synopsis version of my intro video that must happen tomorrow(i really hoped to make it before 1.0, QQ...) |
21:43:47 | Araq | Kiloneie: I can help but I'm drunk |
21:44:03 | FromGitter | <danielecook> hahaha |
21:44:04 | FromDiscord | <Kiloneie> As you should be xD |
21:44:04 | FromGitter | <danielecook> congrats! |
21:44:28 | * | doesntgolf joined #nim |
21:45:22 | FromDiscord | <Kiloneie> Okay here is the link: https://justpaste.it/2tmzw |
21:45:22 | FromDiscord | <Kiloneie> Nothing fancy, i just didn't have the time or motivation past few weeks. |
21:45:50 | FromDiscord | <Kiloneie> I do hope that's dumbed down enough for normies(xD) |
21:45:58 | Yardanico | @Kiloneie oh, so it's aimed at the most beginner programmers? |
21:46:00 | Yardanico | nice |
21:46:43 | FromDiscord | <Kiloneie> Yeh, because there is literally nothing on youtube on anything but hei guys im making a game lets jump right into the middle of it |
21:46:49 | FromDiscord | <Kiloneie> that doesn't help anyone |
21:47:01 | Yardanico | well some videos aren't meant to help :P |
21:47:03 | FromDiscord | <Kiloneie> gotta start at the very beginning and go from there |
21:47:16 | Yardanico | I guess I should also recreate https://www.youtube.com/watch?v=rUJ7Bzgv3n0 now that it's 1.0 |
21:47:46 | * | go|dfish quit (Ping timeout: 244 seconds) |
21:47:49 | * | oprypin_ is now known as oprypin |
21:47:59 | * | Trustable quit (Remote host closed the connection) |
21:48:04 | FromDiscord | <Kiloneie> What the hell is that, it's like a universe or something |
21:48:22 | Yardanico | Gource is a visualizator for Git/HG/other source control programs |
21:48:46 | FromDiscord | <Kiloneie> Did you write it ? or just some random cool tool ? |
21:49:05 | Yardanico | No, it's not mine :) https://gource.io/ |
21:49:38 | * | narimiran quit (Ping timeout: 240 seconds) |
21:50:26 | * | solitudesf quit (Ping timeout: 240 seconds) |
21:50:32 | PMunch | Oh well, I'm off to bed! Again, congratulations to everyone on v1.0! |
21:50:32 | * | PMunch quit (Remote host closed the connection) |
21:50:52 | FromDiscord | <Kiloneie> gnight |
21:50:55 | Zevv | sweet dreams! |
21:50:59 | FromDiscord | <Kiloneie> that thing is sweet, imma watch it |
21:51:11 | Zevv | turn up the music while you're at it |
21:51:51 | FromDiscord | <Kiloneie> reminds me of how i witnesses Game Maker go from obscurity to being the top dog of 2D, changing drastically, from snail performance to legit big game one. |
21:51:58 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
21:52:05 | FromDiscord | <Kiloneie> starting 12-13 years ago |
21:52:57 | FromDiscord | <Kiloneie> we wished for more speed back then, now it's over ten fold of what it used to be(it used to be slow, pop a few particle effects and it died) |
21:53:28 | FromDiscord | <DeltaPHC> Oh, yeah. Back when Game Maker was first conceived, it was basically a one-person project designed for teaching game making |
21:54:33 | stefantalpalaru | I'm seeing 2 segfaults with "--verbosity:2". One with "./koch boot -d:release --verbosity:2" and the other with "PATH="./bin:${PATH}" nim c -d:release --verbosity:2 -o:bin/nimpretty nimpretty/nimpretty.nim". |
21:55:18 | Araq | stefantalpalaru: yay.. |
21:55:39 | Araq | Kiloneie: looks fine, much text, just produce the video already |
21:56:37 | * | treeform quit (Remote host closed the connection) |
21:58:24 | FromDiscord | <Kiloneie> @Araq Thanks, i will, i got all the time in the world now(till my savings run out), since i quit my job xD. Some jobs are just hell. |
21:59:15 | FromDiscord | <Kiloneie> Has to happen tomorrow, i do not want to see video date being 2 days after 1.0, 1 days max xD... |
21:59:48 | FromDiscord | <Skaruts> oh wow |
21:59:58 | FromDiscord | <Skaruts> congratulations guys |
22:00:07 | FromDiscord | <Skaruts> 🎆 |
22:00:44 | FromGitter | <ShieldHero> does the code written for newruntime work normally with gc or not? |
22:01:33 | * | go|dfish joined #nim |
22:10:33 | * | Hideki_ joined #nim |
22:15:02 | * | Hideki_ quit (Ping timeout: 245 seconds) |
22:19:51 | sealmove | ShieldHero: it works, compiler just ignores "owned" keyword |
22:20:23 | * | whaletechno joined #nim |
22:23:46 | FromGitter | <mratsim> @PMunch yes I replied to your chronicles issue |
22:23:55 | FromGitter | <mratsim> You are probably victim of the generic sandwich |
22:26:13 | Yardanico | guys what do you think about the colours? I just randomly chose green for nicknames + yellow for caption + dirs http://snappyimages.nextwavesrl.netdna-cdn.com/img/598ba6cebb6be007ce3d2e7e776b5ed6.png |
22:26:25 | Yardanico | (that's in 720p, I'll be shooting in fullhd for a video) |
22:27:27 | Yardanico | and yeah it'll be fast since there would be around 0.25secs per day |
22:27:50 | Yardanico | maybe I should make it a bit slower though, so the video is ~15-16min |
22:27:52 | FromDiscord | <Kiloneie> should be a color easily distinguishable from the others |
22:28:21 | FromDiscord | <Kiloneie> green might work idk |
22:28:49 | sealmove | what is this? fireworks? :D |
22:29:18 | Yardanico | kinda :D |
22:33:37 | FromDiscord | <Kiloneie> it's Nim's evolution over time |
22:33:41 | FromGitter | <mratsim> btw now that Nim is v1, all companies will jump on it and we will have plenty of jobs, so quitting was perfect timing @Kiloneie |
22:34:03 | FromDiscord | <Kiloneie> Well that was the plan |
22:34:14 | FromDiscord | <Kiloneie> i found out Nim a week before 3 week long company holidays |
22:34:24 | Yardanico | ok, good night everyone :) |
22:34:47 | FromDiscord | <Kiloneie> i planned everything out then, sadly i didn't make the video 2-3 weeks ago |
22:35:27 | FromDiscord | <Kiloneie> was running late, too many friend visits, and then back to job... hard to think coming home exhausted from physical labor |
22:35:43 | FromDiscord | <Kiloneie> i don't think there will be a Nim job where i live though |
22:36:00 | Yardanico | make a startup! :P |
22:36:18 | FromDiscord | <Kiloneie> What do you mean ? |
22:36:35 | FromDiscord | <Kiloneie> like, kickstarter for making my videos ? |
22:38:48 | FromDiscord | <Kiloneie> I am hoping that making my videos from day 1 after Nim 1.0(was planning to before it releases) that since i will be the first to do videos on Nim, i might just get a lot of people to watch my videos, and make a living off of it. That's the hope anyways |
22:40:28 | FromGitter | <bevo009> Woohoo congrats on 1.0! Awesome news |
22:43:52 | sealmove | ohhhhh |
22:43:59 | sealmove | version 1.0???? congrats!! |
22:44:00 | sealmove | :))) |
22:44:37 | * | snooptek quit (Remote host closed the connection) |
22:54:04 | FromDiscord | <Generic> it's a bit of a bitter feeling, with nim 1.0 being released just at while I was isolating and reporting a compiler bug 🙂 |
22:54:24 | FromDiscord | <Generic> it's a bit of a bitter feeling, with nim 1.0 being released just at while isolating and reporting a compiler bug 🙂 |
22:54:58 | FromDiscord | <Generic> still glad nonetheless |
22:55:10 | FromGitter | <ShieldHero> gotta love those day 0 patches |
22:55:46 | * | ephja joined #nim |
23:00:38 | Araq | Generic: it's banana software. matures at home |
23:04:19 | FromDiscord | <Generic> Nim insider builds coming soon |
23:10:36 | FromGitter | <mratsim> I think I have a hundred of compiler bugs open |
23:11:03 | FromDiscord | <treeform> Yardanico, in the very beginning of the original video there are three people working on everything Araq, Andreas Rumpf and @Rumpf ... Is there a feature to merge peoples alt commit accounts? |
23:12:23 | Araq | it's only fair that I count as 3 persons |
23:12:28 | Araq | I earned it. |
23:12:39 | FromGitter | <mratsim> there are 4 letters in Araq, who is the ghost? |
23:14:05 | sealmove | can you link "the video"? |
23:14:28 | FromDiscord | <treeform> It also paints of story of how 1 founder of the language destroyed the other 2 founders and forced them to leave. |
23:15:23 | FromDiscord | <treeform> sealmove, here is the old video: https://www.youtube.com/watch?v=rUJ7Bzgv3n0 |
23:16:21 | sealmove | nice music |
23:16:34 | FromGitter | <mratsim> I saw something.java at the beginning |
23:17:13 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/wgvF/DeepinScreenshot_select-area_20190924011702.png) |
23:19:09 | FromGitter | <mratsim> The audio sounds like something from Plague Inc composer |
23:19:40 | * | Hideki_ joined #nim |
23:20:22 | sealmove | Araq looks like Road Runner |
23:23:33 | * | doesntgolf quit (Read error: Connection reset by peer) |
23:24:46 | * | lritter quit (Ping timeout: 265 seconds) |
23:24:48 | FromGitter | <mratsim> Someone named Vincent created vincent.c and vincent.h files in the codebase |
23:24:57 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/Dfxj/DeepinScreenshot_select-area_20190924012417.png) |
23:25:22 | * | krux02_ joined #nim |
23:28:05 | * | krux02 quit (Ping timeout: 250 seconds) |
23:28:19 | FromGitter | <ShieldHero> i'd like more clarification about newruntime, it's not obvious when do things get destroyed, I assume that if the compiler isn't sure it leaves destruction to the end of the scoop? |
23:29:23 | * | lritter joined #nim |
23:30:28 | FromDiscord | <treeform> ShieldHero, I started writing newruntime for beginners but got confused myself. I am waiting for more docs to appear before I can understand it. GC is good enough for me right now. |
23:30:52 | FromGitter | <mratsim> always at scope end |
23:31:18 | FromGitter | <mratsim> unless a variable is sinked |
23:33:10 | Araq | no, always at the *proc* end |
23:33:36 | FromGitter | <ShieldHero> is there a way to explicitly destroy a variable early? like manually calling lastReadOf? or a way to extend a variable's life? |
23:34:00 | * | Hideki_ quit (Remote host closed the connection) |
23:34:16 | leorize[m] | if you want to extend the life of a variable, move it elsewhere |
23:34:36 | leorize[m] | use reset() for manual destroy |
23:36:18 | * | stefantalpalaru quit (Quit: stefantalpalaru) |
23:36:18 | * | Hideki_ joined #nim |
23:37:31 | Araq | so ... yeah. I have to sleep. There will be a 1.0.2, relax :-) |
23:37:31 | FromGitter | <ShieldHero> does the compiler catch an early reset() and avoid calling destroy later? |
23:37:48 | Araq | resets() disarms the destructor |
23:37:58 | Araq | it does nothing then. |
23:38:32 | leorize[m] | @ShieldHero: you're supposed to know when to not destroy in your destructor :p |
23:39:11 | FromGitter | <ShieldHero> nice, what can be 'owned' other than a ref? i assume ptr also benefits from it? |
23:39:37 | leorize[m] | no, ref only |
23:40:14 | leorize[m] | objects can be used to bring similar semantics to ptr if desired |
23:40:26 | * | Hideki_ quit (Ping timeout: 240 seconds) |
23:40:36 | sealmove | ptr is an unmanagable reference by definition |
23:40:53 | sealmove | unmanaged* |
23:41:36 | Araq | actually 'owned' does work with 'ptr' and has no attached runtime behaviour |
23:42:29 | FromGitter | <ShieldHero> yeah i think it would be good to know that it works on ptr, then you don't have to handle moving manually |
23:42:45 | Araq | and 'owned ptr' cannot be copied and has no destructor attached, could be useful but I never used it :-) |
23:42:55 | FromGitter | <ShieldHero> i assume unowned refs is the default behavior for refs? |
23:43:27 | Araq | yeah |
23:43:39 | sealmove | the opposite of rust in this respect |
23:43:58 | FromGitter | <awr1> congrats on 1.0! |
23:44:07 | Araq | thanks |
23:47:11 | rayman22201 | Araq has 1.0 + Oktoberfest, so he has a lot of celebrating to do :-P |
23:47:19 | FromGitter | <ShieldHero> i think it's not that complicated, you either explicitly help the compiler to optimize some copy/movements or let it do the work a bit inefficiently |
23:48:37 | FromGitter | <ShieldHero> does newruntime still require nimRtl for dlls? |
23:49:35 | leorize[m] | no, there aren't any gc to be bothered with |
23:50:14 | leorize[m] | although nimrtl is still useful in moving stdlib code to a dll for sharing b/w your dlls |
23:50:28 | FromGitter | <ShieldHero> it's time to ditch the gc then :D |
23:54:51 | Araq | Oktoberfest is far away and so expensive that you can't enjoy it :P |
23:56:11 | * | Hideki_ joined #nim |
23:56:42 | * | PrimHelios joined #nim |
23:56:57 | PrimHelios | grats to everyone for the 1.0 release! |
23:57:17 | FromGitter | <ShieldHero> i think a tutorial about variable lifetime will be very helpful |
23:57:29 | * | Hideki_ quit (Remote host closed the connection) |
23:59:11 | Araq | ShieldHero: we only got a spec so far |
23:59:18 | sealmove | I think newruntime API is very simple |