00:01:43 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:05:35 | * | Varriount|Remote joined #nim |
00:08:48 | * | jsudlow joined #nim |
00:14:21 | * | Trustable quit (Remote host closed the connection) |
00:15:22 | * | Jesin quit (Ping timeout: 240 seconds) |
00:24:35 | * | Demos__ joined #nim |
00:28:13 | * | Demos_ quit (Ping timeout: 256 seconds) |
00:28:43 | * | Varriount|Remote quit (Ping timeout: 246 seconds) |
00:31:23 | * | Jesin joined #nim |
00:32:43 | * | bpr quit (Quit: Page closed) |
00:37:51 | * | milosn quit (Ping timeout: 264 seconds) |
00:43:01 | * | milosn joined #nim |
00:43:41 | * | flaviu quit (Remote host closed the connection) |
00:46:42 | * | flaviu joined #nim |
01:37:28 | * | yglukhov_ joined #nim |
01:42:29 | * | yglukhov_ quit (Ping timeout: 272 seconds) |
01:48:58 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:51:13 | * | dts|pokeball joined #nim |
01:53:23 | * | Ven joined #nim |
02:09:11 | Araq | Varriount: http://nim-lang.org/download/docs-0.10.2.zip |
02:09:22 | Araq | still no git tag though |
02:14:17 | * | dts|pokeball is now known as dts |
02:15:21 | * | dts is now known as dts|pokeball |
02:17:19 | * | z1y joined #nim |
02:24:57 | * | BitPuffin joined #nim |
02:43:09 | * | ARCADIVS joined #nim |
02:56:14 | * | darkf joined #nim |
03:03:30 | * | loz joined #nim |
03:05:44 | * | z1y1 joined #nim |
03:06:53 | * | z1y quit (Ping timeout: 256 seconds) |
03:07:51 | gmpreussner__ | is there a guide on using gdb with nim? i'm having a hard time :| |
03:08:09 | gmpreussner__ | i'm compiling with: nim c -r --debugger:off --debuginfo --lineDir:on |
03:08:51 | gmpreussner__ | when i run a simple hello world program, gdb pauses inside system.nim and then bad things happen |
03:09:01 | flaviu | os? |
03:09:05 | gmpreussner__ | Arch |
03:09:13 | flaviu | hmm, dunno. Works for me |
03:09:31 | gmpreussner__ | do you run any custom parameters on the gdb command line? |
03:09:59 | flaviu | are you trying to run gdb nim c -r ....? |
03:10:13 | gmpreussner__ | no, for now just a simple hello world program i compiled |
03:10:21 | gmpreussner__ | debugging the compiler would be my next step |
03:11:12 | flaviu | It really does work for me |
03:11:18 | flaviu | perhaps you can post the gdb output? |
03:11:31 | * | kapil__ joined #nim |
03:11:33 | gmpreussner__ | yep one sec |
03:14:39 | gmpreussner__ | ugh, i can't copy the output. i'm running this through Kate, and the output window won't let me |
03:19:29 | gmpreussner__ | flaviu: sent you a pm |
03:20:06 | flaviu | gmpreussner__: Does that picture have personal information? I'd like to keep things in the logs. |
03:20:52 | gmpreussner__ | yeah, keep it private |
03:21:11 | gmpreussner__ | expires in 30 minutes anyway. we can discuss the details here |
03:21:16 | flaviu | well, I see you set a breakpoint. Isn't that intentional? |
03:21:38 | gmpreussner__ | i think my editor sets a breakpoint on startup |
03:22:04 | gmpreussner__ | but then it hits a segfault right away |
03:22:22 | gmpreussner__ | and when i skip to the next line, the program shuts down |
03:22:45 | flaviu | Yes, that's because you try to do `p setvbuf(stdout...)` |
03:23:07 | flaviu | type `c` instead of all that, and I'm sure it'd work |
03:24:17 | gmpreussner__ | hmmk... i need to find out where that comes from and if it can be disabled |
03:26:05 | * | nimnoob joined #nim |
03:26:19 | * | yglukhov_ joined #nim |
03:27:00 | * | brson quit (Quit: leaving) |
03:30:42 | * | yglukhov_ quit (Ping timeout: 245 seconds) |
03:34:09 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
03:35:35 | * | yglukhov_ joined #nim |
03:36:17 | * | nimnoob quit (Ping timeout: 240 seconds) |
03:40:09 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
03:47:30 | * | nimnoob joined #nim |
03:50:34 | * | loz quit (Ping timeout: 265 seconds) |
03:51:07 | * | Demon_Fox quit (Quit: Leaving) |
03:51:21 | * | Demon_Fox joined #nim |
04:06:28 | * | Demon_Fox quit (Quit: Leaving) |
04:06:59 | * | Demon_Fox joined #nim |
04:13:37 | * | nimnoob quit (Remote host closed the connection) |
04:39:50 | * | fowl quit (Read error: Connection reset by peer) |
04:40:17 | * | fowl joined #nim |
04:50:44 | * | Demon_Fox quit (Quit: Leaving) |
05:00:25 | * | rpag quit (Quit: Leaving) |
05:11:15 | * | fowl quit (Read error: Connection reset by peer) |
05:11:42 | * | fowl joined #nim |
05:16:24 | * | z1y1 left #nim (#nim) |
05:21:31 | * | kapil__ quit (Quit: Connection closed for inactivity) |
05:26:49 | * | gour joined #nim |
05:30:08 | * | BlaXpirit joined #nim |
05:48:16 | * | fowl quit (Read error: Connection reset by peer) |
05:48:44 | * | fowl joined #nim |
05:56:51 | * | z1y joined #nim |
06:24:58 | * | kapil__ joined #nim |
06:35:52 | * | Demon_Fox joined #nim |
06:49:18 | * | dyu joined #nim |
06:51:27 | * | BlaXpirit quit (Quit: Quit Konversation) |
07:03:32 | * | gmpreussner__ is now known as gmpreussner |
07:06:44 | * | rpag joined #nim |
07:27:07 | * | rpag quit (Ping timeout: 265 seconds) |
07:55:31 | * | BitPuffin quit (Ping timeout: 272 seconds) |
07:57:48 | * | minciue joined #nim |
08:00:19 | * | Jesin quit (Ping timeout: 252 seconds) |
08:00:20 | * | phI||Ip quit (Ping timeout: 252 seconds) |
08:02:22 | * | Jesin joined #nim |
08:02:30 | * | phI||Ip joined #nim |
08:05:54 | * | Demon_Fox quit (Quit: Leaving) |
08:19:04 | * | rpag joined #nim |
08:38:38 | * | rpag quit (Quit: Leaving) |
08:49:12 | * | [CBR]Unspoken quit (Quit: Leaving.) |
08:55:43 | * | [CBR]Unspoken joined #nim |
08:59:58 | * | bjz_ quit (Ping timeout: 244 seconds) |
09:20:35 | * | yglukhov_ joined #nim |
09:44:51 | * | wan_ joined #nim |
09:46:03 | wan_ | congrats on the new release! |
09:48:06 | * | gokr quit (Remote host closed the connection) |
09:48:27 | * | gokr_ joined #nim |
09:49:00 | wan_ | (can we get a tag on github?) |
09:50:47 | * | Demos__ quit (Ping timeout: 272 seconds) |
10:19:43 | def- | https://www.reddit.com/r/programming/comments/2qp8xb/nim_formerly_nimrod_0102_released/ |
10:19:48 | def- | https://news.ycombinator.com/item?id=8809215 |
10:20:08 | dv- | is there an example of overloading []? |
10:20:32 | def- | dv-: should work just as with any proc? |
10:20:34 | dv- | i have proc `[]`(g : Grid, x : Slice[int]) : int = g.grid[x.b * g.sx + x.a] |
10:20:51 | dv- | but when i do grid[1..2] i get grid.nim(35, 13) Error: index types do not match |
10:20:52 | def- | I think it should just take 1 argument |
10:21:07 | def- | ah, wait a moment |
10:22:17 | dv- | it works ok with `()` |
10:22:49 | def- | hm, I've never done it with a slice, only this: https://github.com/def-/nimrod-unsorted/blob/master/bitmap.nim#L38-L48 |
10:23:24 | dv- | oh you can have two arguments? |
10:23:51 | dv- | how do you call that? foo[a,b]? |
10:23:52 | def- | yes, and img[x,y] works |
10:23:56 | dv- | cool |
10:26:19 | dv- | hm |
10:26:21 | dv- | Error: illformed AST: grid[1, 2] |
10:27:20 | def- | strange, my file compiles |
10:27:26 | def- | and works |
10:27:39 | def- | also with slices |
10:27:59 | def- | can you post the full example somewhere? |
10:28:26 | def- | The new documentation design looks really nice |
10:29:49 | dyu | yea, new doc is def-nitely nice |
10:30:00 | dv- | https://gist.github.com/dvolk/31d87d4edb536aa330f7 |
10:31:44 | * | Ven joined #nim |
10:34:32 | def- | dv-: ok, it works if Grid is an object instead of tuple |
10:35:04 | def- | sounds like a bug |
10:39:41 | * | vbtt joined #nim |
10:42:24 | * | Matthias247 joined #nim |
10:43:07 | * | bjz joined #nim |
10:43:30 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:43:31 | Araq | argh. |
10:43:38 | vbtt | hello friends |
10:43:40 | Araq | how quick are you guys? |
10:43:50 | vbtt | congrats on the new release |
10:43:58 | vbtt | excited about 1.0 :D |
10:44:01 | Araq | I'm doing some smooth incremental release here ... |
10:44:29 | vbtt | the new site is kick-ass too |
10:44:50 | vbtt | the carousel circles on the right are a bit confusing, but anyway. |
10:45:45 | vbtt | the new manual styles are pretty. |
10:46:02 | vbtt | everything is looking shipshape |
10:47:12 | Araq | and the forum is async :-) |
10:47:27 | vbtt | wow sweet |
10:47:37 | vbtt | i still gotta check out the async stuff |
10:47:38 | * | bjz quit (Ping timeout: 244 seconds) |
10:48:03 | vbtt | would like to do a blog post about it if i can find time |
10:48:16 | * | noam joined #nim |
10:48:43 | dv- | def-: could be. thanks for the help |
10:48:54 | def- | Really happy with the new release, good job guys |
10:49:03 | Araq | well it's not complete |
10:49:17 | Araq | git tag is missing, merging devel into master, building the binaries etc ... |
10:49:27 | Araq | I'm working on it |
10:50:21 | Araq | I shouldn't have updated the website just yet ... |
10:50:40 | def- | Oh, oops. |
10:50:48 | * | wrl joined #nim |
10:51:05 | def- | I could remove the posts on r/programming and HN and resubmit later, if you want, Araq |
10:51:16 | def- | I assumed it's done since the news post was there |
10:51:31 | wan_ | it's already on the front page of HN |
10:51:47 | Araq | just add a note that we are introducing "release days" |
10:52:00 | Araq | so a release takes a day |
10:52:09 | Araq | ;-) |
10:53:23 | * | milosn quit (Remote host closed the connection) |
10:53:41 | Araq | did I update news.xml? cause I am quite sure I didn't |
10:54:00 | Araq | that would have been the official signal ... |
10:58:28 | vbtt | hmm so why does async not use kqueue on freebsd? |
10:59:12 | vbtt | the doc says it uses 'select' on 'other' |
10:59:32 | Araq | because nobody implemented it |
11:00:47 | vbtt | ah ok |
11:00:50 | * | jefus joined #nim |
11:01:23 | * | milosn joined #nim |
11:01:27 | vbtt | so the async stuff is officially complete and part of 1.0? |
11:01:34 | vbtt | (unlike the user defined type classes) |
11:02:15 | Araq | no, at least the docs are not complete |
11:02:29 | Araq | I'm sure it needs some polish |
11:02:45 | Araq | but it will be officially in 1.0, yes |
11:04:03 | vbtt | nice |
11:04:17 | vbtt | that's a compelling feature |
11:08:27 | * | minciue quit (Quit: minciue) |
11:10:57 | * | z1y quit (Ping timeout: 240 seconds) |
11:13:04 | vbtt | so if i understand the async stuff correctly - it doesn't use coroutines? |
11:13:32 | Araq | quite sure the implementation counts as coroutines |
11:14:45 | vbtt | who wrote the async stuff again? dom96? |
11:15:51 | Araq | yes |
11:20:26 | Araq | please test it: http://nim-lang.org/download/nim-0.10.2.zip |
11:23:44 | Araq | hrm ... I can never remember how tagging a release works ... |
11:24:45 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
11:25:13 | * | bjz joined #nim |
11:25:41 | dom96 | Araq: git tag -a v0.10.2 |
11:26:08 | dom96 | Araq: Hopefully this will teach you not to upload the website before having the binaries ready... |
11:26:14 | Araq | brb |
11:29:02 | dom96 | but hey, we're doing well on HN :) |
11:34:37 | * | minciue joined #nim |
11:36:08 | * | gokr joined #nim |
11:39:00 | * | Ven joined #nim |
11:40:30 | * | wan_ quit (Quit: WeeChat 1.0.1) |
12:00:12 | dom96 | flaviu: That looks like a bad bug... :( |
12:01:34 | dom96 | The nature of releases I guess. |
12:02:55 | flaviu | dom96: /r/nim is private |
12:03:25 | dom96 | oh thanks |
12:03:32 | dom96 | fixed |
12:03:32 | flaviu | You should make /r/nimrod private and add a redirect to /r/nim in the comment |
12:03:43 | dom96 | Nah, there are useful links there. |
12:03:44 | flaviu | no, don't do that |
12:03:46 | flaviu | yeah |
12:04:02 | dom96 | flaviu: Take a look at the real time view on analytis :D |
12:04:08 | flaviu | Can't you restrict posts to a certian list of people? |
12:04:33 | flaviu | dom96: Have you deployed my PR for GA on the docs? |
12:04:34 | dom96 | I just restricted it for everyone. |
12:04:42 | dom96 | flaviu: nope |
12:04:56 | dom96 | it's still not merged |
12:05:27 | flaviu | https://www.google.com/analytics/web/?hl=en#realtime/rt-overview/a48159761w79605192p82343045/ |
12:06:44 | flaviu | It could have been posted a little later on social media. Most the US is still asleep |
12:06:55 | * | gokr_ quit (Read error: Connection reset by peer) |
12:07:09 | dom96 | Nah. Timing is perfect. |
12:07:25 | dom96 | If the US was awake other stories would have overshadowed it |
12:08:22 | dom96 | Araq: I can add the google analytics to the docs if you want |
12:08:35 | dom96 | first pizza though |
12:09:27 | Araq | dom96: no wait |
12:12:21 | Araq | er ... did somebody add a tag already? |
12:12:50 | dom96 | You apparently did |
12:13:02 | dom96 | https://github.com/Araq/Nim/releases/tag/v0.10.2 |
12:13:43 | Araq | hrm git is a git |
12:13:50 | Araq | told me it didn't work |
12:13:54 | flaviu | Araq: You can delete a tag without any forks messing up |
12:14:05 | Araq | meh it's fine |
12:14:37 | dom96 | https://news.ycombinator.com/item?id=8809449 |
12:14:46 | dom96 | Could we do that? He has a good point I think. |
12:18:22 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:18:29 | Araq | I don't understand his point |
12:19:06 | flaviu | Araq: He wants a "portable" version of nim he can put on a flash drive |
12:19:40 | Araq | install it to your hd once. move it to flash and carry it around. |
12:20:46 | flaviu | Araq: That's not perfect for the reasons he outlines in his comment. |
12:20:47 | flaviu | Where is the download link for windows? I can't find it on the downloads page. |
12:21:51 | Araq | Varriount will build them later |
12:22:05 | * | Ven joined #nim |
12:22:13 | dom96 | I renamed our twitter to @nim_lang |
12:22:39 | Araq | flaviu: I don't see where he outlines these reasons |
12:23:20 | flaviu | Mostly that installers dump crap all over the filesystem and then 99% of the time are unable to find and clean it up on uninstallation. |
12:23:37 | Triplefox | I don't think there is a useful solution |
12:23:50 | Araq | the installer puts everything in the directory you tell it to use |
12:23:54 | * | Durz0 joined #nim |
12:24:05 | Triplefox | Every time i try a portable app it loses functionality because of lower integration |
12:24:15 | Araq | afterwards you can move the directory around as much as you want |
12:24:55 | flaviu | Araq: That's the way it should be, yet that's not the way it actually works. |
12:25:20 | Araq | why not? |
12:26:02 | flaviu | dunno, ask the installer companies. |
12:26:51 | Araq | the installer has nothing to do with it. we don't use the registry nor do we use mingw's installer |
12:27:31 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:27:47 | Triplefox | Does nim work if no environment variables are set |
12:27:56 | flaviu | lol, hacker news has banned me again. |
12:28:04 | flaviu | I have no idea why. |
12:29:06 | * | Ven joined #nim |
12:29:49 | Araq | Triplefox: we ship a start.bat that sets up the environment as required by mingw |
12:30:02 | Araq | nim itself doesn't require it |
12:30:24 | gokr | Great work guys |
12:30:37 | gokr | dom96: Underscore in twitter name? Is that common? |
12:30:56 | flaviu | Maybe I wasn't banned, I don't understand their system. |
12:31:32 | Triplefox | I'm pretty sure that environment is the main source of install pollution on win, but it doesn't seem avoidable if you want easy access from any shell |
12:31:43 | Triplefox | Speaking generally |
12:32:10 | Araq | I see no "install pollution" on windows anymore than I see it on e.g. Ubuntu |
12:32:13 | dom96 | gokr: @nimlang is taken |
12:32:18 | dom96 | gokr: Do you have any better suggestions? |
12:32:31 | Araq | and that's polite. |
12:32:46 | gokr | dom96: Nope :) |
12:32:49 | Araq | usually stuff on windows installs and works and on linux ... well ... |
12:33:11 | gokr | Just wondered. Wouldn't nim-lang be better though? |
12:33:25 | Triplefox | Many of the dev tools i encounter on win say "set your path and this env var" |
12:33:42 | Triplefox | Linux hides more if that through the package system |
12:33:45 | dom96 | gokr: not allowed dashes in twitter usernames |
12:33:53 | gokr | Ok |
12:34:16 | Araq | Triplefox: which requires admin rights ... since it touches /usr/bin ... no thanks |
12:34:52 | Triplefox | I guess that isn't the same as installer generated which the op was pointing at |
12:36:16 | Araq | how do I tell git that the URL changed? |
12:36:31 | Araq | git remote set-url ? |
12:37:23 | flaviu | Araq: git remote --help |
12:37:24 | flaviu | git remote set-url [--push] <name> <newurl> [<oldurl>] |
12:37:37 | Araq | well yes, I can read |
12:37:49 | Araq | but I'm afraid |
12:38:16 | flaviu | if you screw up, just clone again. |
12:38:36 | Araq | why does it need <name>? |
12:38:52 | profan | so you can have different remotes if you wish |
12:38:55 | flaviu | ... because you can have more than one remote? |
12:39:45 | dom96 | Araq: Remember git push origin master? |
12:39:49 | dom96 | Araq: origin is the remote name |
12:40:15 | Araq | so I better leave it as that |
12:44:06 | gokr | What a pity that the benchmark writeup didn't include some "comments" on Nim (since he didn't write that code). |
12:44:15 | gokr | Otherwise its a very good article. |
12:49:15 | def- | gokr: I guess you could write something about Nim and make a pull request. At least he merged all my code pull requests |
12:49:23 | def- | (not sure though) |
12:49:39 | * | BlaXpirit joined #nim |
12:49:45 | def- | I think the numbers and the source code speak for nim on their own |
12:52:56 | * | z1y joined #nim |
12:53:07 | * | vbtt joined #nim |
12:53:40 | vbtt | hi dom96, i have a question about the async stuff |
12:54:31 | dom96 | ask away |
12:54:46 | Araq | so I merged devel into master |
12:54:56 | Araq | now updating csources ... |
12:56:03 | gokr | Varriount: Do you need me to do something with the Linux slaves btw? |
12:56:05 | vbtt | dom96: i'm curious how the await macro works |
12:56:19 | dom96 | Araq: just merge devel into master in csources |
12:56:22 | vbtt | does it basically transform the rest of the function into a lambda callback? |
12:56:23 | dom96 | Maybe |
12:57:00 | vbtt | rather, a closure? |
12:57:24 | dom96 | vbtt: it gets transformed into a closure iterator |
12:57:29 | vbtt | ah ok |
12:57:35 | minciue | dom96: hi again |
12:58:25 | Araq | dom96: why? |
12:58:27 | vbtt | so one instance of await will wrap the rest of the function into a closure iterator. and two occurrences of await will generate two closure interators, one nested in the other? |
12:58:37 | dom96 | Araq: nah, nvm. |
13:00:27 | minciue | I was looking at https://github.com/fowlmouth/nake and wondering what place it has in the nim ecosystem |
13:00:40 | dom96 | minciue: hi |
13:00:49 | minciue | dom96, it seems to me like the build command in nimble & the nimble test command I was thinkinng of implementing might be better handled by nake |
13:00:58 | dom96 | vbtt: no. Await gets transformed into a yield. |
13:01:17 | vbtt | ah i see |
13:01:30 | vbtt | ok, it makes sense now. |
13:01:38 | dom96 | vbtt: You can get the macro to echo out the code that is generated |
13:01:40 | vbtt | it's like python 3's asyncio then? |
13:01:52 | vbtt | basically every yield point is explicit |
13:01:56 | dom96 | vbtt: There is a or something like that in asyncdispatch echo toStrLit(x) |
13:02:36 | minciue | I guess I’m wondering if it would eventually be ok for nimble to assume nake is already installed and generate a nakefile with some sensible defaults |
13:03:57 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:07:23 | * | BitPuffin joined #nim |
13:09:35 | * | Trustable joined #nim |
13:10:35 | gokr | 19 comments already |
13:13:56 | gokr | Triplefox: A comment spot on I think |
13:14:04 | gokr | (presuming you are chipsy :)) |
13:16:31 | * | z1y1 joined #nim |
13:18:12 | * | z1y quit (Ping timeout: 245 seconds) |
13:21:50 | * | z1y joined #nim |
13:22:26 | * | z1y1 quit (Ping timeout: 240 seconds) |
13:22:30 | dom96 | Araq: We need to change the twitter username on the website |
13:22:52 | minciue | woah, the new HTML documentation is so much nicer. congrats to whoever did this |
13:24:30 | * | nimnoob joined #nim |
13:24:31 | flaviu | minciue: boydgreenfield, https://github.com/Araq/Nim/pull/1764 |
13:26:08 | minciue | nicely done |
13:27:29 | Araq | so I was able to push csources master but merging master into devel fails with conflicts |
13:28:05 | Araq | can I remove the devel and bigbreak branches and re-introduce devel? |
13:29:15 | dom96 | You can probably just use -f with the csources repo (i.e. --force) |
13:29:21 | dom96 | and rebuild the repo completely. |
13:29:51 | * | nimnoob quit (Remote host closed the connection) |
13:30:46 | flaviu | yep, no one will be pulling from csources |
13:30:51 | flaviu | just cloning. |
13:32:24 | gokr | flaviu: Really? :) |
13:32:54 | dom96 | I shall do it |
13:33:09 | flaviu | Well, once you've bootstrapped the compiler, you don't need it any more. |
13:33:35 | flaviu | It's a marginal useage of the repo, no point in worrying about it. |
13:38:09 | gokr | dom96: The forum says "MrX replied 1 hour ago" although the "reply" is actually the initial post. So better would be "posted" in that case? |
13:38:23 | * | gokr in nitpicking mode |
13:38:29 | dom96 | gokr: sure. PRs welcome ;) |
13:38:32 | gokr | hehe |
13:39:07 | flaviu | You could replace the word "reply" with "posted" in all cases |
13:39:40 | dom96 | true |
13:47:19 | * | nimnoob joined #nim |
13:52:30 | * | minciue quit (Quit: minciue) |
13:57:46 | * | BlaXpirit quit (Quit: Quit Konversation) |
13:59:36 | * | BlaXpirit joined #nim |
14:02:08 | * | z1y quit (Remote host closed the connection) |
14:02:51 | * | rpag joined #nim |
14:06:02 | * | vbtt quit (Ping timeout: 244 seconds) |
14:10:03 | * | yglukhov_ quit (Read error: Connection reset by peer) |
14:10:43 | * | yglukhov_ joined #nim |
14:13:11 | * | z1y joined #nim |
14:17:20 | dom96 | Damn. These new docs are really sexy. |
14:18:15 | flaviu | Raleway is a really nice font |
14:18:25 | * | z1y quit (Ping timeout: 265 seconds) |
14:21:58 | dom96 | indeed |
14:22:14 | * | z1y joined #nim |
14:28:49 | * | Sphax joined #nim |
14:34:15 | * | z1y quit (Ping timeout: 244 seconds) |
14:38:33 | * | rpag quit (Quit: Leaving) |
14:40:13 | * | gokr quit (Ping timeout: 272 seconds) |
14:41:46 | * | gokr joined #nim |
14:43:00 | * | valberg joined #nim |
14:43:38 | valberg | Apparently nim-lang.org is blocked in Norwegian trains due to pornography: https://hushfile.it/54a1682a801c1#cI9mmhPM_K5MaXLh-MdvzJYhFqHvEIx9LMeMd_oz |
14:47:14 | dom96 | interesting |
14:47:41 | dom96 | valberg: Any chance you can report that? |
14:47:43 | * | saml joined #nim |
14:50:31 | dom96 | valberg: or at least get me an email address I can contact? |
14:51:46 | * | yglukhov__ joined #nim |
14:54:11 | flaviu | dom96: [email protected] |
14:54:24 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
14:54:55 | dom96 | flaviu: How did you get that? |
14:55:45 | flaviu | The train company is "NSB-KONSERNET", and from what I can decipher of the Norwegian, they have a helpdesk. |
14:55:56 | flaviu | "Servicedesk" |
14:56:04 | * | bjz quit (Ping timeout: 245 seconds) |
14:56:34 | flaviu | but valberg didn't post the page, so I can't figure out the url. I therefore googled NSB-KONSERNET and found a link that says "contact" on the first page I found |
14:57:00 | dom96 | There might be a different email for their internet blocking service desk though |
14:58:46 | * | z1y joined #nim |
14:59:16 | gokr | Someone did write about porn block on the hackernews thread too |
15:00:21 | dom96 | yeah. Hrm. |
15:00:27 | flaviu | It'd probably be best if we could figure out who provides these filter lists |
15:00:32 | dom96 | Was http://nim-lang.org a porn site a couple of years ago? |
15:02:09 | flaviu | Nope, looks like it's been completely unused since 2002 |
15:02:23 | dom96 | What about in 2002? |
15:02:52 | flaviu | Well, the website I'm checking only started logging since 2002 |
15:04:03 | * | gour quit (Remote host closed the connection) |
15:07:52 | * | gour joined #nim |
15:11:54 | gokr | But it might be a brilliant move to get Nim discovered - get a former porn site and host it there ;) |
15:14:02 | valberg | dom96, flaviu: sorry - had to get of the train - but yeah it's just nim-lang.org (more likely the ip address I think) |
15:14:25 | valberg | I can report that it is not blocked at Oslo Airport though :) |
15:14:45 | flaviu | valberg: I was referring to the "Servicedesk" link, if you can post that. |
15:14:54 | dom96 | In that case it's Digital Ocean's fault for giving us an IP previously used for pornography :P |
15:15:05 | flaviu | That makes sense |
15:15:14 | flaviu | can't you renew the IP? |
15:16:13 | * | minciue joined #nim |
15:16:19 | * | nimnoob_ joined #nim |
15:16:32 | dom96 | I don't think that's a good idea. |
15:16:38 | dom96 | Now that ~200 people are on the website concurrently |
15:16:42 | * | nimnoob quit (Read error: Connection reset by peer) |
15:17:35 | z1y | is nim an "upgrade" of Python? I read some text that gives me a sense that if I like python then Nim would be a next step... |
15:17:37 | valberg | flaviu: sorry - since it's not blocked here I can't get to that page again :( |
15:18:59 | dom96 | You can think of it that way. |
15:19:04 | dom96 | It is kind of like Python with static typing. |
15:19:21 | dom96 | If you like Python then you should definitely give it a try. |
15:21:32 | * | Sphax quit (Quit: ZZZZZzzzzz) |
15:22:50 | * | StefanSalewski joined #nim |
15:23:15 | StefanSalewski | Great work, the new release! |
15:23:20 | * | Sphax joined #nim |
15:24:30 | StefanSalewski | From the main page, IRC channel is still nimlang, which is invitation only? Yes, I know, pull request is easy, idlework. |
15:24:32 | * | darkf quit (Quit: Leaving) |
15:25:17 | StefanSalewski | Unfortunately for nimble I get again this old error: c2nim.nim(11, 33) Error: cannot open 'llstream' |
15:25:27 | dom96 | StefanSalewski: #nimlang redirects to here |
15:25:46 | dom96 | StefanSalewski: Why would you get that for nimble? Nimble doesn't use c2nim? |
15:26:04 | StefanSalewski | Not a problem for me, I can fix it, goran explained how to do it in his blog. |
15:26:29 | valberg | is Nim still a PITA to get working on Mac OSX? I tried once (can't remember which version of nimrod, but it was fairly recent) and it was really hard - that is I didn't get it working :( |
15:26:57 | z1y | dom96: no I dislike python. I'm interested in nim. I'm learning nim so that I don't need to talk about python. I also love to see some #pascal stuff in nim :) |
15:27:28 | StefanSalewski | I deleted .nimble dirrectory, installed nimble from git as described in manual, and then did "nimble install c2nim" |
15:27:37 | * | filippo joined #nim |
15:27:38 | dom96 | valberg: It shouldn't be that hard. |
15:27:49 | dom96 | valberg: Bootstrapping should be as easy as on other operating systems |
15:27:52 | * | filippo is now known as filcuc |
15:27:58 | filcuc | Hi all |
15:28:07 | dom96 | hi filcuc |
15:28:30 | filcuc | hey dom96 ;) |
15:28:33 | dom96 | StefanSalewski: Ahh, well that's a c2nim issue not a nimble issue. |
15:29:38 | dv- | nim i crashes when i do 1.0.low |
15:29:41 | dom96 | filcuc: saw my comment on github? |
15:29:58 | StefanSalewski | OK, I thought it was a general nimble problem. So it is only for c2nim package? |
15:30:00 | dom96 | dv-: unfortunately the interpreter isn't very stable, but please report it. |
15:30:19 | filcuc | dom96: yep already replied |
15:30:35 | dom96 | StefanSalewski: sure, it's trying to build it and it's failing. |
15:30:37 | dom96 | StefanSalewski: Try installing another package if you don't believe me ;) |
15:30:51 | valberg | dom96: I was basically trying to use the homebrew installer - the recipe for nimrod was maybe a bit off |
15:31:20 | dom96 | filcuc: That doesn't sound ideal. |
15:31:34 | dom96 | filcuc: You will need to update both repos manually... |
15:32:19 | dom96 | valberg: You'd be better off trying to follow the instructions on the website :) |
15:32:36 | filcuc | basically the nimble package point to a different repo, in which the .nimble file exists (that repo is just a copy of the one i shared in the forum) |
15:32:36 | filcuc | the reason is that i want to keep the development in the DOtherSide repo for both D and Nim, but given that the i cannot clone a subdirectory of a repo i just created a new one with the copy of the NimQml subdirectory |
15:32:48 | StefanSalewski | OK thanks, dom, I will fix it manually for now. And with the nimlang irc channel, I am kicked off with web access. I have to use #nim which is is listed on forum page. |
15:34:13 | filcuc | dom96: i know but for know this fit my development model. the other option is to use a git submodule. But this split isn't so bad and gives to the nimble users of my package a stable release |
15:34:36 | filcuc | dom96: so i can update at each releas |
15:34:39 | filcuc | e |
15:34:55 | StefanSalewski | Bye -- have to test my packages with new rerlease... (func keyword...) |
15:35:03 | * | StefanSalewski quit () |
15:35:15 | dom96 | filcuc: alright merged |
15:36:03 | dom96 | Also, i'd strongly encourage you to license it as something other than GPLv3 |
15:37:36 | filcuc | dom96: i cannot |
15:37:47 | dom96 | why? |
15:38:06 | filcuc | dom96: i've to study better the Qt license, but i think i cannot. |
15:38:12 | filcuc | i'm using the Qt private headers |
15:38:32 | dom96 | Why are you using those? |
15:39:00 | filcuc | becuse i need them :) basically for generating a dynamic QObject |
15:39:06 | filcuc | and using the QMetaObjectBuilder class |
15:39:33 | filcuc | for adding signals and slots dynamically |
15:40:04 | dom96 | They have a special exception in the GPL license that they use it seems. |
15:40:19 | dom96 | The problem with you using GPL for your wrapper is that I won't be able to use it in anything that isn't GPL |
15:40:33 | * | z1y quit (Ping timeout: 256 seconds) |
15:40:40 | filcuc | sadly i know it |
15:41:12 | filcuc | but until i don't have a clear view of the license i can use the GPLv3 seems the best option |
15:42:01 | filcuc | a nice one could be LGPL but i think it doesn't include the option for using the private headers |
15:42:24 | filcuc | i should talk to the go-qml guys |
15:42:33 | filcuc | that are basically doing the same |
15:43:07 | filcuc | (and they're also using the private headers) |
15:43:49 | filcuc | giving a look at https://github.com/go-qml/qml |
15:43:56 | filcuc | they're using a LGPLv3 |
15:46:40 | filcuc | for sure i'm going to relicense the bindings to the most open license |
15:47:49 | * | kniteli joined #nim |
15:48:06 | dom96 | filcuc: yes, please do talk to them. |
15:52:17 | gokr | filcuc: Great that you dug into this btw. |
15:53:16 | * | gokr quit (Quit: Leaving.) |
15:53:22 | filcuc | gokr: do you mean the license issues? |
16:01:06 | * | Demos joined #nim |
16:04:08 | filcuc | dom96: ok i contacted Gustavo Niemeyer hope to get an answer soon |
16:04:20 | dom96 | filcuc: cool |
16:04:45 | dom96 | filcuc: I'm curious: you've basically coded the same thing in both Nim and D. How do you think the two languages compare? :) |
16:06:03 | filcuc | dom96: i created a common C/C++ layer and than written the "otherside" in Nim and D..well i tell you the truth |
16:06:47 | filcuc | i started with D because i discovered it before |
16:07:10 | filcuc | but if i discovered nim before i would not have written the D part :D |
16:08:37 | * | dymk joined #nim |
16:09:00 | dymk | > "The following procs are now available at compile-time:" |
16:09:01 | dymk | > system.writeFile |
16:09:04 | dymk | Interesting! |
16:09:07 | filcuc | D has is more object oriented and has solid compile time features |
16:09:08 | filcuc | i mean typetraits and compile time execution |
16:09:08 | filcuc | nim is not inferior however right now there're no typetraits |
16:09:41 | dymk | As a D programmer, I would like to know some more about Nim's CTFE compares to D's |
16:09:41 | filcuc | and i'll add a better syntax with some macros (but write them is not trivial) |
16:11:31 | * | kapil__ quit (Quit: Connection closed for inactivity) |
16:11:48 | filcuc | for the object oriented thing nim miss some kind of super statement. I read today in the nim 0.10.2 release about the procCall but it's not documented |
16:11:54 | dom96 | filcuc: What kind of type traits do you mean? |
16:12:22 | dom96 | dymk: Does D have procedural macros? |
16:12:41 | filcuc | like having the types of a proc |
16:12:46 | filcuc | (i mean at compile time) |
16:12:57 | dymk | dom96: One can execute arbitrary D functions at compile time, is that comparable? |
16:13:20 | filcuc | dom96: no |
16:13:23 | Araq | dymk: no you can't. the limitations are comparable to Nim's. |
16:13:26 | filcuc | dymk: well not arbitrary |
16:13:51 | dymk | filcuc, yeah, perhaps I should use "weakly pure" to that |
16:14:06 | Araq | Nim uses a bytecode VM to run it at compiletime, D uses an AST based interpreter |
16:14:15 | dymk | Araq, Alright, thanks |
16:15:09 | dymk | Now I tried Nim a few months ago, and found that going through the tutorials was hard because I'd hit an ICE really often; does this 0.10.2 have a lot of internal compiler fixes? |
16:15:17 | * | dts|pokeball quit (Ping timeout: 240 seconds) |
16:15:42 | Demos | dymk, yes. ICE should be much more rare |
16:15:47 | dymk | great |
16:15:49 | Araq | dymk: we fixed as many bugs as we could |
16:15:57 | Araq | but please report these things |
16:16:13 | dymk | sure |
16:16:13 | Araq | though usually I already know the bug ;-) |
16:16:31 | Demos | ICE are fixed pretty fast in the devel branch |
16:17:02 | dymk | And then, because Nim compiles down to C code, I imagine I can get the compiler to build for, say, the m68k arch; has anyone been doing stuff like this with Nim? |
16:17:15 | filcuc | for my bindings right now i've to create a macro for extracting the types of a proc and returning an int vector. |
16:17:39 | filcuc | i've already write some parts but for example D has already them built-in |
16:17:43 | Araq | filcuc: types API for macros is planned. PRs welcome, it's not hard to do but nobody did it. |
16:18:04 | Araq | usually all that people can do is complain :P |
16:19:28 | filcuc | Araq: i know but i prefear to work on the bindings :) |
16:23:52 | dymk | The '$' operator, is that performing an allocation to convert its operand into a string? |
16:24:39 | Araq | dymk: yes. we'll eventually get rid of some of these via TR macros. but yes. |
16:24:52 | dymk | TR == term rewrite? |
16:25:22 | Araq | we're not in the "omg it allocates! burn it with fire" camp as our GC is not technology from the 70ies. |
16:25:29 | dymk | mm |
16:26:52 | dymk | But, is there a reason that you went with "convert to string by allocation" instead of just spitting the value out directly, using some method specific to the type (a-la how printf works)? |
16:27:46 | * | bjz joined #nim |
16:27:54 | dymk | Perhaps that doesn't make sense in the context of nim, though |
16:30:08 | Araq | you seem to think there is some alternative here. there isn't. |
16:30:43 | Araq | we can implement c++'s "small string optimization" if we want to though. |
16:32:28 | * | bjz quit (Ping timeout: 264 seconds) |
16:34:09 | EXetoC | input buffer? |
16:34:35 | dymk | Hm, yeah, I assumed you could do something like D's writeln (which is a variadic but preserves types) |
16:35:09 | * | [CBR]Unspoken quit (Ping timeout: 244 seconds) |
16:35:46 | dymk | I'm not familiar with how Nim does templates/generics though |
16:35:48 | EXetoC | what do you mean directly? we do have basic formatting, which also spits out a string |
16:36:15 | * | [CBR]Unspoken joined #nim |
16:36:42 | * | profan quit (Ping timeout: 244 seconds) |
16:37:47 | dymk | EXetoC, the function signature looks like: `writeln(ARGS...)(ARGS args)`, and can be called like `writeln("Thing: ", 1, false);`, so ARGS is a `tuple(string, int, bool)` |
16:38:22 | dymk | then some loop in writeln calls writeln_string, writeln_int, writeln_bool etc for each specific type |
16:39:24 | EXetoC | yes |
16:40:06 | dymk | but nothing analogous could be done in Nim to avoid the allocation all together? |
16:40:30 | dymk | I understand that the GC in nim is fast, but no code runs faster than any code |
16:41:20 | ldlework | no code runs faster than any code? |
16:42:18 | dymk | zero instructions will execute faster than one or more instructions |
16:42:38 | EXetoC | and it doesn't allocate? |
16:42:58 | flaviu | gc require more code than just malloc(), free() |
16:43:01 | EXetoC | what buffer does it use and how big is it? |
16:43:06 | * | filippo joined #nim |
16:43:25 | ldlework | dymk: ah okay, thanks for clarifying |
16:43:37 | * | filcuc quit (Ping timeout: 245 seconds) |
16:43:39 | dymk | EXetoC, honestly, writeln very well might, but as you can see it doesn't need to allocate |
16:44:22 | * | profan joined #nim |
16:44:27 | dymk | but I don't think that writeln allocates at this point in time, no |
16:44:35 | filippo | dom96: what is the correct whay to distribute a hybrid package like gtk3 or mine? |
16:44:50 | filippo | dom96: i mean one that depends on a C/C++ .so |
16:45:39 | EXetoC | dymk: what if a user-defined type is passed in? or a dynamically sized array |
16:47:15 | dymk | EXetoC, for dynamically sized array: it prints a literal "[", then each member (using writeln_{bool, int, etc}), then a literal ",", then finally a literal "]" |
16:47:46 | EXetoC | yes but you need a sufficiently large buffer so as to not have to allocate |
16:47:58 | dymk | why would you ever need a buffer? |
16:48:02 | dymk | you're printing to stdout |
16:48:48 | EXetoC | yes, and it needs to work with a buffer, does it not? |
16:50:09 | dymk | well, yes and no; the buffer is a statically allocated string (in the case of a user defined type, such as the type's name, like "MyStruct") |
16:50:47 | dymk | Else, it just behaves like printf: (if num == 0; printf("0"), if num == 1; printf("1"), etc) |
16:51:27 | dymk | writeln_bool might look like if arg == false; fprintf(stdout, "false"); else; fprintf(stdout, "true") |
16:51:28 | EXetoC | yes, but in many cases you can't determine the length of the buffer at compile-time because of dynamic arrays and such |
16:51:48 | dymk | Even in that case, you don't need to |
16:51:54 | dymk | (if you're printing to stdout) |
16:52:05 | dymk | (or any output buffer, really) |
16:53:39 | EXetoC | http://linux.die.net/man/2/write what else is there? |
16:54:34 | dymk | hm, lemme show with an example |
16:54:51 | dymk | write([1, 2, 3]) // write a dynamic array of ints |
16:55:17 | dymk | this, more or less, turns into (i'm ignoring the leading [, interm commas, and trailing ]) |
16:55:33 | dymk | foreach(element; arr) write(element) |
16:56:03 | dymk | or if we want to be explicit about the types here, write_int(element) |
16:56:35 | EXetoC | and it is going to end up in a buffer in one way or another |
16:57:05 | dymk | Only if you want it to write to a buffer, but stdout just consumes what you give it and then returns |
16:57:35 | * | Jaood joined #nim |
16:57:51 | dymk | or write(2); it doesn't care about what you do with the buffer afterwards, nor does it modify the buffer, so you can allocate all your most elemental strings in the .data section |
16:58:01 | EXetoC | the write system call expects a buffer. I don't know how else you would do it |
16:58:57 | dymk | It does, but you don't have to allocate the buffer; you can print all possible numbers, floating or not, using the characters in "e+-.0123456789" |
17:00:01 | dymk | so the number 123 is printed using some recursion if you so desire, resulting in calls write("1"); write("2"); write("3"), where those strings are located in .data, and don't require a dynamic memory allocation |
17:01:16 | EXetoC | but write eventually does this surely: write(stdout, buffer, bufferSize) |
17:02:02 | EXetoC | it could work, *when* the size of the input is statically known |
17:02:33 | dymk | No, you can write any arbitrary number or primitive datatype using statically allocated buffers |
17:02:35 | ldlework | This is an interesting conversation |
17:02:47 | dymk | ldlework, thank you :) i'm enjoying it |
17:02:51 | ldlework | dymk: will you be around? |
17:02:54 | EXetoC | dymk: yes, so still only in some cases |
17:02:56 | ldlework | I haven't seen you before |
17:03:05 | EXetoC | and then with a ton of write calls |
17:03:26 | * | novist joined #nim |
17:03:27 | EXetoC | potentially at least |
17:03:51 | dymk | EXetoC, No, you can print any datatype in all cases, and it does require more write calls, but write() *does* use an internal buffer, so it's not slow |
17:04:07 | dom96 | Interesting. The nim tutorial is now on the front page. |
17:04:15 | dom96 | (of HN) |
17:04:22 | dymk | dom96, congrats! |
17:04:34 | EXetoC | dymk: yes, but I don't think that system calls are cheap |
17:04:38 | dymk | ldlework, yeah, I'll point my bouncer here, I'll be around |
17:04:45 | ldlework | dymk: cool |
17:04:46 | EXetoC | but someone might want to do it this way |
17:04:51 | ldlework | dymk: What kind of software do you write? |
17:04:55 | ldlework | dom96: seriously?! |
17:05:07 | ldlework | holy shit |
17:05:11 | dom96 | ldlework: yeah, what is going on? |
17:05:14 | ldlework | everyone upvote! |
17:05:25 | ldlework | dom96: While I actually hate anyone that uses HackerNews seriously |
17:05:37 | ldlework | It is an incredibly valuable mindshare resource and we should take our presence there seriously |
17:07:20 | dom96 | Indeed. |
17:07:47 | dymk | EXetoC, System calls aren't cheap, but it's trivial to write a simple wrapper that buffers some number of chars before calling write/puts/fputs (I think that these methods buffer anyways, so speed might not be an issue then even) |
17:08:12 | dymk | and the buffer there is statically known, so throw it in .bss and you're golden |
17:09:00 | dymk | ldlework, I write a pretty wide range of things, right now i'm getting ready for an internship as a kernel dev |
17:09:06 | ldlework | dymk: oh wow |
17:09:16 | dymk | latest project is a Ruby on Rails site that i hope makes a splash in a niche of the internet |
17:09:21 | ldlework | dymk: what do you think about Docker? |
17:09:57 | dymk | I haven't used it; my virtualization is done by buying more ultra-cheap VMs :P |
17:10:21 | dymk | It seems like it could be useful though |
17:10:22 | novist | i saw this today http://nim-by-example.github.io/oop_macro/ and cant help but wonder why the heck there is macro workaround for getting syntax which seems it should be the default.. any ideas? |
17:10:34 | def- | Looks like there |
17:10:39 | def- | 's some interest in Nim now: https://news.ycombinator.com/item?id=8810131 |
17:11:19 | dymk | EXetoC, I hope I explained things well |
17:11:52 | def- | novist: I like the regular, non-OOP syntax more, because you can add methods to your objects elsewhere, not just all in one place |
17:12:07 | EXetoC | dymk: yep |
17:12:30 | novist | def- i guess you can still add them even if you use macro |
17:12:55 | EXetoC | I think something like write(buffer, x, y, z); would generally be good enough for people who actually care, but such an addition wouldn't hurt |
17:13:04 | novist | that last part weirds me out a lot because otherwise language seems to be very elegant and rational but this last bit is just weird |
17:13:11 | dom96 | novist: OOP is not for everyone :) |
17:13:28 | dom96 | The leaner the base language the better. |
17:13:34 | novist | sure, but nothing mandates one to use OOP right? |
17:13:45 | def- | novist: i think it's not a problem since a feature like this can easily be added as a macro, so it doesn't need to be in the language itself |
17:13:49 | novist | how is it writing more boilerplate code leaner? |
17:13:52 | dom96 | The fact that you can extend the language to include such syntax is the beauty of Nim |
17:14:17 | novist | that i totally agree with hehe |
17:14:24 | novist | actually i know no language that could do this |
17:15:57 | ldlework | I definitely feel like oop could be a legitimate stdlib library |
17:16:06 | ldlework | If we cleaned it up and expanded it a bit |
17:18:20 | EXetoC | dymk: one additional function call per generated character then? if a stringification proc for a user-defined type can't be inlined |
17:18:28 | EXetoC | but allocating is much slower in comparison |
17:21:11 | filippo | Idlework: regarding oop how can someone implement a sort of "super" keyworkd |
17:21:12 | dom96 | ldlework: sure, that can still be done. |
17:21:32 | dymk | EXetoC, yeah, it's the speed tradeoff between buffering a char and allocating; allocation will always be slower |
17:21:48 | dymk | the buffering function can most likely be inlined though, but i guess that's up to the compiler |
17:21:51 | dom96 | novist: We can in fact include this macro in the stdlib. Nobody has complained enough to make this happen yet though. |
17:22:03 | ldlework | filippo: I have no idea. |
17:22:25 | dom96 | novist: Araq is the one who ultimately decides these things so you have to convince him :) |
17:22:29 | dymk | does Nim have a templating library available? a-la erb or https://github.com/dymk/temple |
17:22:48 | novist | im thinking if that part of code worked in more traditional way it would help more for people who come from other languages like say python |
17:22:53 | novist | thats all ^_^ |
17:23:01 | EXetoC | super can't be a proc that does some reflection? |
17:23:01 | dom96 | dymk: nothing as advanced as that, you should write one :P |
17:23:08 | dymk | dom96, that's why I ask :P |
17:23:16 | dom96 | dymk: we have this though http://nim-lang.org/filters.html |
17:23:18 | dymk | it'd be a fun way to learn the language |
17:23:37 | novist | EXetoC actually thats how super works in python (except it constructs entire object) |
17:25:17 | EXetoC | what for? |
17:26:05 | EXetoC | you mean a proxy object? |
17:26:24 | * | brson joined #nim |
17:27:33 | dom96 | dymk: do it! Then create a Nimble package out of it! |
17:28:20 | novist | EXetoC im not sure of details now but behind scenes it does lots of magic there. but could be not needed at all in nim |
17:28:47 | novist | depends if nim supports multiple inheritance |
17:28:52 | EXetoC | dom96: does nimble not search descriptions? |
17:30:09 | * | Sphax quit (Quit: CYA!!) |
17:30:36 | dom96 | EXetoC: just tags and name I think |
17:32:49 | EXetoC | strfmt is insufficiently tagged |
17:34:17 | dom96 | fix it then |
17:34:21 | dom96 | :) |
17:35:25 | novist | oh how able is nim to interact with stuff written in c++? |
17:38:20 | * | gour_ joined #nim |
17:40:25 | * | ykm joined #nim |
17:41:52 | * | ykm left #nim (#nim) |
17:41:54 | * | gour quit (Ping timeout: 245 seconds) |
17:43:16 | * | Ven joined #nim |
17:44:26 | flaviu | novist: it compiles to c++ too |
17:45:26 | novist | yeah but what i want to know how much extra work is needed to make it call into c++ stuff. like say Qt library. its huge and complex. manually wrapping it would be hell. |
17:48:25 | dom96 | Apparently the nim website was automatically classified as porn by some bot |
17:48:58 | gmpreussner | seems legit |
17:49:14 | jsudlow | you havn't seen the nim girls? |
17:49:19 | gmpreussner | i use nim for intellectual masturbation all the time |
17:49:45 | * | BitPuffin quit (Ping timeout: 256 seconds) |
17:52:27 | * | BitPuffin joined #nim |
17:52:27 | ldlework | https://news.ycombinator.com/item?id=8810855 |
17:53:22 | gmpreussner | ldlework: i had the exact same experience this year |
17:53:31 | ldlework | gmpreussner: so say so |
17:53:34 | ldlework | :) |
17:55:51 | jsudlow | well said. I feel the same way. After reading some nim code, you find its very readable. You can start playing right away |
17:56:01 | * | shodan45 joined #nim |
17:56:03 | brson | the nim docs are looking nice. i upvoted |
17:57:06 | * | BitPuffin quit (Ping timeout: 250 seconds) |
17:58:00 | dom96 | :D |
17:58:03 | shodan45 | typo in the 0.10.2 news: epxressions |
17:58:03 | ldlework | hi nice to still see you around |
17:58:06 | * | ldlework huggles brson |
17:58:17 | ldlework | thanks shodan45 |
17:58:20 | brson | oh, heh. and congrats on the release! |
17:58:28 | * | tim_ joined #nim |
17:58:33 | * | brson upvotes harder |
17:58:50 | ldlework | ::upvoting intensifies:: |
17:59:01 | jsudlow | *upvotes |
17:59:09 | * | gokr joined #nim |
17:59:23 | EXetoC | dom96: it's that good, huh? |
17:59:45 | * | tim_ quit (Client Quit) |
17:59:53 | ldlework | awww yeah |
17:59:57 | * | ldlework nudges EXetoC in the ribs |
18:03:02 | * | filippo quit (Quit: Konversation terminated!) |
18:03:19 | dom96 | shodan45: fixed, thanks. |
18:08:15 | dom96 | ldlework: You should post that on reddit too! |
18:12:05 | EXetoC | dom96: I see, a classification and not a score |
18:25:37 | * | yglukhov__ quit (Ping timeout: 240 seconds) |
18:26:15 | * | dyu quit (Quit: Leaving) |
18:28:15 | * | Demos_ joined #nim |
18:28:56 | * | Varriount_ joined #nim |
18:29:08 | * | NimBot_ quit (Read error: Connection reset by peer) |
18:29:30 | * | NimBot_ joined #nim |
18:31:10 | * | Varriount quit (Ping timeout: 255 seconds) |
18:31:38 | * | Demos quit (Ping timeout: 255 seconds) |
18:31:56 | * | davidterry joined #nim |
18:32:21 | ldlework | dom96: posted |
18:33:03 | dom96 | ldlework: cool |
18:39:20 | ldlework | I think I'm going to stop telling people that Nim can be used without the GC |
18:39:34 | def- | ldlework: why? |
18:39:53 | ldlework | Because it is not a practical truth, only a technical one. |
18:41:34 | EXetoC | indeed it's not, at this point in time |
18:43:24 | ldlework | Sure but I think that the probability of a potential reality where the language is usable without GC diminishes over time, not gets more likely |
18:44:12 | EXetoC | I wonder when this area will be improved upon |
18:50:01 | * | davidterry quit (Remote host closed the connection) |
18:50:01 | shodan45 | hm, I hope so.... I'd like to try nim on microcontrollers (~8Mhz, ~8KB ram, etc.) |
18:51:21 | * | davidterry joined #nim |
18:51:43 | * | davidterry quit (Remote host closed the connection) |
18:51:54 | ldlework | EXetoC: I think "improved upon" means forking the stdlib, or coming up with a micro-stdlib that doesn't depend on the GC |
18:52:25 | ldlework | I can't identify any personalities in the community that I've met yet who are interested in that kind of work |
18:54:18 | Matthias247 | ldlework: but that's basically the same situation as with C/C++: If you want to go embedded you also will end up with another stdlib |
18:54:48 | ldlework | Matthias247: sure, I'm just pointing out that we do not have that stdlib and no one is remotely interested in producing it |
18:55:17 | ldlework | I'm not complaining I'm just justifying why I wont be parading around the gc-lessness anymore |
18:56:08 | dom96 | You're likely to need a custom stdlib for embedded stuff anyway |
18:56:18 | Matthias247 | I think it is fair to say the language can be used without GC, but it would probably be unfair to say it would be that helpful |
18:56:20 | dom96 | I've built a "kernel" in Nim, it works. |
18:56:33 | dom96 | I think it's better to advocate Nim's real-time GC. |
18:56:54 | def- | I really like this comment about Nim being pragmatic: https://pay.reddit.com/r/programming/comments/2qp8xb/nim_formerly_nimrod_0102_released/cn8icgw |
18:57:49 | * | davidterry joined #nim |
18:58:13 | dom96 | def-: agreed |
18:59:49 | ldlework | def-: I was just replying "Hear hear!"! |
19:00:48 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:01:36 | ldlework | Does anyone mind making me a mod of the reddit? |
19:01:45 | ldlework | I wouldn't mind helping out with that. |
19:02:00 | EXetoC | are such people not more willing to implement such things? Am I underestimating the amount of allocation-free interfaces that might be needed? |
19:02:18 | * | Ven joined #nim |
19:03:16 | Matthias247 | EXetoC: on safety related embedded systems you normally have 0 dynamic allocations |
19:03:23 | dom96 | ldlework: I pasted a link to the discussion about wikipedia on HN to #wikipedia-en |
19:03:39 | dom96 | er, that was meant for everybody sorry, unnecessary highlight. |
19:03:53 | EXetoC | dom96: does the kernel every allocate? |
19:04:12 | dom96 | EXetoC: Sure. |
19:04:16 | EXetoC | ldlework: I'm interested, but I have a ton of things in the pipeline |
19:04:26 | dom96 | EXetoC: Araq says that I should use GC in my kernel :P |
19:04:39 | EXetoC | but I need to figure out what to focus on most. I still have an unusable mongo interface though |
19:04:58 | dom96 | ldlework: Sure, I can make you a mod. |
19:04:58 | ldlework | EXetoC: I believe you |
19:05:39 | ldlework | dom96: alright |
19:05:57 | dom96 | done |
19:08:07 | EXetoC | dom96: yeah, might as well |
19:08:12 | EXetoC | that's a decent amount of comments on reddit for the release announcement |
19:08:55 | dom96 | EXetoC: hrm? |
19:09:32 | EXetoC | "Arrggh. Not ANOTHER NIM, dammit." that other nim is popular? |
19:09:38 | EXetoC | that? those? |
19:10:21 | EXetoC | *the :p |
19:11:02 | Trustable | Hi people, don't forget to update http://nim-lang.org/news.xml |
19:11:15 | EXetoC | do we have any videos or paragraphs that contribute to this 'porn' classification? |
19:11:52 | EXetoC | Trustable: maybe it should be automated |
19:19:03 | * | yglukhov__ joined #nim |
19:19:30 | * | bjz joined #nim |
19:19:35 | ldlework | EXetoC: I just downvoted it |
19:19:44 | ldlework | We do have a 'troll' on the reddit thread though |
19:19:56 | ldlework | Not really trolling per se, but being purely critical |
19:19:58 | ldlework | which is fine |
19:21:31 | dom96 | Can somebody help this guy? https://news.ycombinator.com/item?id=8811207 |
19:22:26 | def- | dom96: I just tried, but I'm not sure how that would work |
19:22:45 | dom96 | I'm not entirely sure what he wants to do. |
19:23:10 | Matthias247 | the answer would probably be "just use the ref types (GC)" ;) |
19:23:23 | EXetoC | dom96: smart pointers and COW? |
19:23:55 | def- | I think he wants to have an object, which you can copy. but after the copy both references point to the same data structure, until one decides to change it, then a copy is made |
19:24:03 | * | BitPuffin joined #nim |
19:24:53 | Matthias247 | yes. In C++ you can do that by overloading =, [], [] const, ... |
19:25:33 | EXetoC | and destructors would have to work at all times |
19:27:39 | * | Matthias247 quit (Read error: Connection reset by peer) |
19:27:55 | * | Matthias247 joined #nim |
19:29:19 | EXetoC | Matthias247: right. user-definable `=` is currently missing |
19:31:05 | Araq | Varriount_: we're waiting for your installers |
19:31:35 | Araq | dymk: you can do varargs in Nim quite like you can do them in D. |
19:32:50 | Matthias247 | I would probably go the other route and build an immutable array class. And rely on the GC for releasing the no-longer-used array versions |
19:32:50 | gmpreussner | how are private fields of an object supposed to be initialized? let's say i have an object Foo with a private field "bar: int". how does 'bar' get set in the constructor? |
19:33:15 | gmpreussner | i guess i need a special proc, like newFoo() |
19:33:29 | Araq | gmpreussner: that's what you should always provide |
19:33:38 | gmpreussner | ok |
19:33:45 | dom96 | Would you guys agree with my comment? https://news.ycombinator.com/item?id=8811210 |
19:34:03 | EXetoC | "So it does not work without the GC, it only "works": much like D" |
19:34:49 | dom96 | Araq: Could you help this guy? https://news.ycombinator.com/item?id=8811207 |
19:34:52 | * | nimnoob_ quit (Ping timeout: 240 seconds) |
19:38:26 | * | davidterry quit (Remote host closed the connection) |
19:39:02 | * | Jesin quit (Ping timeout: 245 seconds) |
19:39:08 | def- | dom96: wow, universities really like Julia |
19:39:37 | dom96 | indeed |
19:39:51 | def- | that list is crazy for a language that young: http://julialang.org/teaching/ |
19:40:05 | Araq | dom96: I replied |
19:41:34 | dom96 | Araq: thanks |
19:41:46 | dom96 | def-: I bet that the universities are sponsoring its development. |
19:42:22 | gmpreussner | i like that it doesn't have so many colons :) |
19:42:22 | EXetoC | but is D less pleasant to use even with libs that also work well without GC? |
19:43:12 | onionhammer | ooh nice |
19:43:18 | onionhammer | i definitely like the nim docs overhaul |
19:43:25 | onionhammer | (if only the rest of the site looked so clean! :)) |
19:44:14 | onionhammer | none of the source links seem to work http://nim-lang.org/sockets.html |
19:44:24 | dom96 | ouch https://news.ycombinator.com/item?id=8811378 |
19:44:44 | def- | dom96: I'll post a few links |
19:44:58 | EXetoC | how ignorant |
19:45:09 | * | ARCADIVS quit (Quit: ARCADIVS) |
19:45:39 | gmpreussner | Araq: http://docs.julialang.org/en/release-0.3/manual/arrays/ yum :) |
19:47:11 | onionhammer | lol what a troll |
19:47:19 | EXetoC | more indentation! |
19:47:26 | Matthias247 | afaik some Julia core developers are university employees |
19:48:23 | ldlework | I think we should try to get a wikipedia article again |
19:49:19 | EXetoC | so, which secondary sources do we use? |
19:50:04 | def- | EXetoC: there's a nice list, probably not noteworthy for Wikipedia: https://news.ycombinator.com/item?id=8811132 |
19:50:29 | * | BlaXpirit-UA joined #nim |
19:51:15 | EXetoC | just wait for 1.0 then. it'll be released soon |
19:51:41 | dom96 | ldlework: sure: https://en.wikipedia.org/wiki/Draft:Nimrod_%28programming_language%29 |
19:51:48 | dom96 | You can use that as a base. |
19:52:03 | ldlework | dom96: I guess waiting until 1.0 is fine |
19:52:08 | * | Jesin joined #nim |
19:53:22 | * | BitPuffin quit (Ping timeout: 240 seconds) |
19:53:25 | onionhammer | is there any documentation on the importcpp stuff yet? |
19:54:02 | * | loz1 joined #nim |
19:54:26 | dom96 | onionhammer: http://nim-lang.org/nimc.html#importcpp-pragma |
19:54:49 | onionhammer | thanks |
19:55:12 | onionhammer | oh |
19:55:16 | onionhammer | is that the new thing? |
19:55:33 | onionhammer | that looks like what already existed |
19:56:56 | onionhammer | "The compiler now supports mixed Objective C / C++ / C code generation: The modules that use importCpp" |
19:56:59 | dom96 | yeah, but now the compiler will generate cpp for modules that use it and .c for others |
19:57:41 | onionhammer | hmm... |
19:57:45 | Araq | Julia has a team of paid developers working on it, afaik |
19:57:59 | onionhammer | araq when you going to give idetools some love? |
19:58:02 | onionhammer | :0 |
19:58:28 | EXetoC | soon after 1.0 IIRC |
19:59:36 | onionhammer | dom96 automatically when I "import somecppmodule"? |
19:59:54 | Araq | onionhammer: yes |
19:59:57 | dom96 | Araq: Yep. That's what I'm writing on HN. |
20:00:03 | onionhammer | cool coool |
20:00:34 | * | yglukhov__ quit (Quit: Be back later ...) |
20:00:35 | onionhammer | what hint, at a minimum, does the module need to give to be compiled with cpp? |
20:00:44 | onionhammer | {.importcpp.} ? |
20:00:53 | Araq | yes |
20:01:07 | * | Demos_ quit (Read error: Connection reset by peer) |
20:01:15 | onionhammer | very good |
20:01:28 | * | Demos_ joined #nim |
20:02:04 | onionhammer | i'd like to double back down on nimlime, but im not sure how much more i can do for it until idetools CaaS is fixed |
20:02:13 | Araq | gmpreussner: worth copying the arrays from Julia? ;-) |
20:02:26 | ldlework | Why don't we just figure out a way to monetize the support of Nim? |
20:02:36 | ldlework | Is that conceptually unattainable? |
20:02:51 | shodan45 | that, or {.enableselfawareness.} :) |
20:02:59 | * | nimnoob_ joined #nim |
20:02:59 | * | yglukhov__ joined #nim |
20:04:01 | dom96 | ldlework: We should definitely discuss the best possible ways to do that. |
20:04:10 | * | BlaXpirit_UA joined #nim |
20:04:14 | dom96 | I can't really think of any... |
20:04:39 | ldlework | dom96: I am trying to encourage Araq to let me start to formulate a more substantial manifestation of secondary-project organization around Nim |
20:05:02 | ldlework | That would probably be one of the larger and more important agendas. |
20:05:17 | * | bjz quit (Ping timeout: 240 seconds) |
20:05:26 | dom96 | I'm not entirely sure what you mean. |
20:05:32 | dom96 | Elaborate please. |
20:05:50 | ldlework | Formal organization of the maintainence of the project that extends beyond pull-requests |
20:06:13 | gmpreussner | Araq: i don't like their syntax as much, but the general support for n-dimensional arrays is kinda like what we had discussed yesterday. all the rest of their features are in their function library, which we can also implement, of course. |
20:06:16 | * | yglukhov__ quit (Client Quit) |
20:06:32 | * | BlaXpirit quit (Ping timeout: 245 seconds) |
20:06:36 | ldlework | Organizing conferences, organizing and establishing copy for talks given at other conferences, maintainence of things unrelated to the code (like the website), financial venues, legal and so on |
20:06:39 | ldlework | dom96: ^ |
20:06:52 | Araq | ldlework: encourage me to let you start? :D |
20:06:58 | Araq | start right away |
20:07:01 | * | BlaXpirit-UA quit (Ping timeout: 255 seconds) |
20:07:03 | dom96 | ^^ |
20:07:17 | dom96 | I'm going to try and visit my local python gathering. |
20:07:24 | ldlework | Araq: Totally fair. I was going to end that comment with "He's not opposed or anything, its just still ill-defined" |
20:07:45 | dom96 | Tell everyone about Nim. |
20:07:55 | ldlework | I already have that one in full motion :) |
20:08:01 | * | nimnoob_ quit (Ping timeout: 256 seconds) |
20:08:11 | ldlework | I also wonder about using Nim to write Python extension |
20:09:14 | def- | ldlework: or just replace the need of having python + c/c++ |
20:09:36 | ldlework | def-: you're ignoring all the people who use Python, have huge momentum and ecology behind Python and so on |
20:09:56 | ldlework | We need to stop thinking in terms of immigration and more in terms of migration. |
20:10:30 | dom96 | We need to fix idetools |
20:10:37 | dom96 | and get them working in every ide/text editor plugin |
20:10:40 | dom96 | as well as Aporia |
20:10:49 | dom96 | because that is a killer feature |
20:10:51 | ldlework | I agree with your emphasis on that feature too |
20:11:13 | ldlework | I too noticed the perking of ears when that was mentioned in the threads |
20:11:38 | Araq | gmpreussner: well the problem is Julia targets scientific programming where you have large matrixes and so it can fix a lot of design decisions |
20:12:58 | Araq | for instance if it's a value type or a reference type or if storing the lengths at runtime is advisable |
20:14:18 | * | gour_ is now known as gour |
20:15:22 | dom96 | Also I have to make sure that jester is fast |
20:15:51 | def- | dom96: I'd like to help with that if you need any help |
20:15:56 | * | irrequietus joined #nim |
20:16:15 | def- | (it's on my todo list to investigate how to make it faster) |
20:16:46 | ldlework | def-: contribute to nim by making a Runtime templating lib |
20:16:52 | ldlework | contribute to jester* |
20:17:06 | dom96 | def-: Awesome! Definitely will want your help. You can start by benchmarking it if you wish. |
20:17:12 | def- | I prefer to optimize stuff |
20:17:24 | def- | dom96: using wrk or anything else? |
20:17:25 | ldlework | def-: hehe alright :) |
20:17:29 | dom96 | You're on Linux I presume? |
20:17:32 | dom96 | Yeah, wrk. |
20:17:33 | def- | Yes |
20:17:43 | dom96 | I'm on Windows so we can both benchmark and see what we find out :) |
20:18:28 | def- | dom96: master branch? |
20:19:42 | dom96 | yes |
20:19:44 | EXetoC | ldlework: as in, a better runtime templating lib? |
20:20:58 | ldlework | EXetoC: yeah |
20:21:11 | EXetoC | what are the limitations again? |
20:21:17 | ldlework | limitations? |
20:22:05 | EXetoC | ldlework: of the one defined in the compiler |
20:22:30 | flaviu | cloning [liquid](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers) would be an excellent choice for the templating lib |
20:22:32 | ldlework | That's a runtime templating language suitable for generating HTML in a ginormous web-project? |
20:23:00 | ldlework | flaviu: I prefer Jinja2 but they are similiar enough |
20:23:09 | ldlework | And liquid is probably easier to implement |
20:23:19 | flaviu | ldlework: The point of liquid is that it doesn't require eval() |
20:23:37 | flaviu | so its much less work, the compiler doesn't need to be ported to library |
20:23:54 | ldlework | flaviu: I don't believe that jinja2 actually does eval anymore |
20:24:00 | EXetoC | ldlework: you can compose templates |
20:24:13 | ldlework | EXetoC: well I'd hope so |
20:24:15 | EXetoC | but it's probably not as featureful as jinja2 for example |
20:24:48 | * | dts|pokeball joined #nim |
20:25:05 | BlaXpirit_UA | jinja2 is the best |
20:25:10 | BlaXpirit_UA | :| |
20:25:13 | flaviu | jinja2 is really good. |
20:25:13 | * | BlaXpirit_UA quit (Quit: Quit Konversation) |
20:25:15 | EXetoC | ldlework: there are 4 such libs added to nimble |
20:25:31 | * | BlaXpirit joined #nim |
20:25:44 | flaviu | Yet none of them are very good. |
20:26:17 | BlaXpirit | what is going to be done about nim nimrod tags on stackoverflow? |
20:26:31 | EXetoC | flaviu: just bad design in general? |
20:26:33 | flaviu | BlaXpirit: Someone should make a post in meta |
20:26:45 | BlaXpirit | i could... |
20:26:49 | EXetoC | one is string based. that's not good enough obviously :p |
20:26:52 | * | Demon_Fox joined #nim |
20:28:00 | BlaXpirit | lol there are only 18 questions!? |
20:28:11 | BlaXpirit | sadness |
20:28:36 | dom96 | I don't tend to frequent SO |
20:29:03 | BlaXpirit | welp, a meta post may not even be needed -_- |
20:29:40 | BlaXpirit | and some crazy guy added both tags to every question -_- |
20:30:14 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:30:22 | flaviu | EXetoC: nim-templates uses macros, I'm not comfortable relying on it and I don't like the syntax anyway; I don't understand Jade at all; emerald is a dsl, not templating language; moustachu uses macros. |
20:30:59 | Araq | hrm "wbhart" is the guy for whom I changed pointer deref from ^ to [] iirc. and the same guy now blames me to not listen to our users? |
20:31:30 | flaviu | Araq: you can't make everyone happy |
20:31:47 | BlaXpirit | well... actually... you can, by implementing configurable syntax xD |
20:31:58 | EXetoC | oh well. just reply and be done with it |
20:32:05 | flaviu | BlaXpirit: Configurable syntax would me me unhappy. |
20:32:06 | BlaXpirit | well... i didn't account for the fact that most people would be disgusted by that then |
20:32:21 | Araq | well I could be wrong, maybe I misremember |
20:32:22 | * | Ven joined #nim |
20:32:25 | def- | dom96: I don't understand what this should do?: echo("Jester is making jokes at http://localhost" & jes.settings.appName & ":" & $jes.settings.port) |
20:32:38 | def- | dom96: why should the appName be at that position? |
20:33:10 | dom96 | Because if you set appName then all requests must begin with it. |
20:33:23 | dom96 | oh. |
20:33:26 | dom96 | I see what you mean. |
20:33:30 | dom96 | That looks wrong indeed. |
20:33:32 | def- | then it should be after the port and a slash |
20:33:40 | dom96 | indeed |
20:33:43 | dom96 | I'll fix it. |
20:34:14 | Araq | dom96: can the compiler itself be a Nimble package? |
20:34:56 | dom96 | I suppose. |
20:35:13 | def- | dom96: and if you open a website without the appName prefixed the program crashes |
20:35:40 | dom96 | Araq: I wonder if we could have a separate repo for it which uses submodules |
20:37:37 | * | nimnoob_ joined #nim |
20:37:48 | Araq | flaviu: of course but still that's a special |
20:37:59 | Araq | guy |
20:38:10 | dom96 | def-: Seems appName is completely broken. |
20:38:18 | dom96 | def-: Nice find. |
20:47:26 | onionhammer | heh cool, this bluetooth keyboard works well with my phone ;) |
20:58:16 | * | perturbation joined #nim |
21:02:04 | * | Demon_Fox quit (Quit: Leaving) |
21:02:05 | * | eskatrem joined #nim |
21:02:24 | eskatrem | Hey, can I convert an integer into string in nim? |
21:02:55 | def- | eskatrem: var myString = $myInt |
21:03:15 | eskatrem | def-: thanks |
21:03:17 | * | superfunc joined #nim |
21:04:27 | gokr | Interesting - 79 people here now. |
21:06:11 | eskatrem | HN effect? (that's what brought me here) |
21:06:38 | gokr | Could be :) |
21:07:38 | gokr | eskatrem: Apart from other sources, you may find some of my articles useful: http://goran.krampe.se/category/nim |
21:09:10 | * | yglukhov__ joined #nim |
21:09:36 | eskatrem | gokr: thanks, I am just doing some project Euler with Nim for now, if I like it I will try to write a program that generates fractals |
21:10:06 | * | loz1 quit (Ping timeout: 258 seconds) |
21:11:33 | Araq | eskatrem: don't make it generate 3d fractals... otherwise my productivity will instantly drop to zero. ;-) |
21:11:50 | Araq | I can't stop watching these ... |
21:11:56 | flaviu | Looks like the social media peak is over, just 33 people on the site now. |
21:12:11 | eskatrem | Araq: naah, I dont know what those are, but I need nicve 2D fractals for something |
21:12:53 | eskatrem | I wanted to ask, is nim used for something practical? |
21:13:00 | gokr | hehe |
21:13:21 | gokr | We should make a list of nim programs out there. |
21:13:30 | gokr | eh, we probably already have one |
21:13:36 | dom96 | eskatrem: Nim forum is written in Nim. |
21:13:52 | eskatrem | "430 problems on Project Euler have been solved in Nim" |
21:14:11 | eskatrem | dom96: that means it's possible to write simple web apps with it? |
21:14:12 | dom96 | eskatrem: Many of Nim's tools are written in Nim too like Nimble (Nim's package manager) |
21:14:30 | dom96 | eskatrem: I like to think you can write complicated ones too :) |
21:14:38 | perturbation | anyone used the tesseract OCR program? It has a nice C api and I'm thinking about wrapping it as a nimble package... |
21:14:40 | perturbation | http://code.google.com/p/tesseract-ocr/ |
21:15:03 | eskatrem | dom96: yeah well, writing something complicated in a new language is a bad combination IMHO |
21:15:04 | gokr | eskatrem: The forum on the site is written fully in nim. Using async even. |
21:15:54 | dom96 | eskatrem: perhaps. |
21:20:06 | dts|pokeball | eskatrem, thats the best way to prove that a language can be useful though |
21:20:35 | eskatrem | dts|pokeball: I agree, I just speaking as someone who is just playing with it after having seen it on HN |
21:20:49 | eskatrem | *was just speaking |
21:30:57 | * | davidterry joined #nim |
21:30:58 | * | davidterry quit (Client Quit) |
21:33:22 | * | Varriount|Remote joined #nim |
21:34:52 | dts|pokeball | hey who had the ircd they wanted me to finish? |
21:36:19 | * | superfunc quit (Ping timeout: 265 seconds) |
21:37:43 | EXetoC | fowl? |
21:38:10 | EXetoC | I think. fowltek on github, if it's even there |
21:38:38 | dts|pokeball | i think its him too |
21:39:48 | dts|pokeball | the dark web: http://www.reddit.com/r/fairiesridingcorgis |
21:40:00 | * | rpag joined #nim |
21:40:05 | dts|pokeball | the darker web: http://www.reddit.com/r/corgisridingfairies |
21:40:26 | * | rpag quit (Remote host closed the connection) |
21:40:37 | * | Demos_ quit (Read error: Connection reset by peer) |
21:40:40 | dts|pokeball | ooops |
21:40:45 | dts|pokeball | wrong channel "} |
21:40:46 | dts|pokeball | :} |
21:40:58 | * | Demos_ joined #nim |
21:42:25 | ldlework | Julia's arrays do seem pretty nice |
21:50:02 | saml | https://github.com/nim-lang/Aporia how can I build this? |
21:50:09 | saml | babel is gone? |
21:50:57 | EXetoC | saml: babel -> nimble |
21:53:29 | dts|pokeball | i had trouble building aporia as well |
21:53:52 | saml | did you get it to compile? |
21:54:06 | Varriount|Remote | saml: Are you on windows? |
21:54:14 | saml | linux |
21:54:15 | saml | ubuntu |
21:54:35 | Varriount|Remote | Ok, then there's the chance that it might be possible. |
21:55:06 | * | vbtt joined #nim |
21:55:07 | saml | https://gist.github.com/saml/5d7b837e8181946fcb8c i get this |
21:55:34 | dts|pokeball | saml, yes |
21:55:38 | saml | compiled with `nim c aporia` |
21:56:04 | dts|pokeball | dont you compile with nimble build? |
21:56:18 | dom96 | interesting |
21:56:32 | saml | FAILURE: Only one .nimble file should be present in /home/sam/.nimble/pkgs/gtk2-1.0 |
21:56:37 | EXetoC | no syntax-defining macros eh? oh the primitiveness |
21:56:39 | saml | when i type `nimble build` |
21:57:22 | dom96 | saml: Execute: ls /home/sam/.nimble/pkgs/gtk2-1.0 |
21:57:56 | saml | maybe i didn't properly migrate to nimble from babel |
21:58:38 | dom96 | saml: perhaps. It's possible that Nimble screwed up. |
21:58:51 | dom96 | The automatic migration isn't perfect. |
21:59:01 | dom96 | Might be easier to just remove ~/.nimble |
21:59:03 | EXetoC | it fails like that if there's also a babel file |
21:59:25 | saml | build is successful |
21:59:34 | saml | nimble build builds aporia |
21:59:36 | saml | but just can't start |
22:00:18 | dts|pokeball | that was my issue |
22:00:24 | * | eskatrem quit (Remote host closed the connection) |
22:00:24 | dts|pokeball | some weird gtk linking issues |
22:00:26 | saml | and you didn't fix it yet? |
22:00:30 | dts|pokeball | nope |
22:00:36 | dts|pokeball | i gave up and went back to nano |
22:00:46 | perturbation | the vim plugin is pretty nice |
22:00:52 | dom96 | dts|pokeball: Why didn't you report it? |
22:01:00 | saml | can vim go to definition of a function? |
22:01:02 | gokr | I have Aporia running fine under Ubuntu, though I don't remember how I built it |
22:01:10 | dts|pokeball | dom96, i assumed it was a user error |
22:01:29 | dom96 | It shouldn't crash no matter what. |
22:01:32 | dom96 | All crashes are bugs. |
22:01:35 | dts|pokeball | it didnt crash |
22:01:46 | EXetoC | dts|pokeball: you can work well with multiple files using nano? |
22:01:58 | perturbation | saml: IIRC you can set it up with omnicomplete, but I personally don't use that feature |
22:01:59 | dom96 | dts|pokeball: oh, so you mean you couldn't build it? |
22:02:01 | dts|pokeball | EXetoC, i only have the focus to work on one file at a time |
22:02:09 | dts|pokeball | dom96, it built, but it couldnt start |
22:02:17 | saml | shouldn't there be lexer for nim for vim? |
22:02:18 | dom96 | Yeah, it crashed. |
22:02:21 | dom96 | That's a crash. |
22:02:31 | perturbation | C-x C-o with syntax completion and inline compiler editors is the main 'killer feature' for the vim plugin for me |
22:02:33 | dts|pokeball | oh, i was not aware that constitued a crash |
22:02:35 | dom96 | An uncaught exception *is* a crash. |
22:02:37 | EXetoC | saml: there's nimrod.vim |
22:02:38 | dts|pokeball | my bad |
22:02:40 | perturbation | *compile errors |
22:02:45 | dts|pokeball | dom96, ill replicate and report |
22:02:52 | EXetoC | saml: https://github.com/zah/nimrod.vim.git |
22:02:57 | dts|pokeball | wheres the aporia repo again? |
22:03:06 | saml | when i build aporia, there are so many warnings |
22:03:12 | dom96 | dts|pokeball: If it's the same issue as saml's then I am already trying to reproduce it. |
22:03:12 | Varriount|Remote | Araq, dom96: I'm currently working on generating the installers. |
22:03:17 | dom96 | Varriount|Remote: good |
22:03:24 | dts|pokeball | saml, what is your issue? |
22:03:39 | saml | https://gist.github.com/saml/5d7b837e8181946fcb8c this is my issue. crash |
22:03:41 | dom96 | Varriount|Remote: We're out of the spotlight by now though. Please automate this process. |
22:04:04 | dts|pokeball | definitly looks like my issue |
22:04:47 | dom96 | Works for me on Windows. |
22:05:01 | dom96 | Linux only perhaps. |
22:05:43 | dom96 | Dear god. That's a lot of warnings. |
22:05:59 | dts|pokeball | saml, you said your on ubuntu? |
22:06:00 | Varriount|Remote | dom96: Do you know if Nimble is being hosted on the website/server as an installer package? |
22:06:01 | EXetoC | dts|pokeball: I often feel the need to have at least one additional window whenever there's no semantic analysis |
22:06:06 | saml | dts|pokeball, yes |
22:06:16 | dom96 | Araq: aporia.nim(2276, 38) Warning: not GC-safe: 'false' [GcUnsafe] what? |
22:06:33 | dom96 | Varriount|Remote: It's not. |
22:06:34 | Araq | dom96: what? |
22:06:49 | Araq | that surely is a funny bug ... |
22:06:56 | dts|pokeball | EXetoC, i dont have the attention span for that. i do have the memory for when i need to reference another file though |
22:06:57 | dom96 | Araq: It also prints the same warning multiple times. |
22:06:58 | saml | dts|pokeball, try sudo apt-get install libgtksourceview2.0-dev before nimble build aporia |
22:06:59 | EXetoC | false positive, yeah? :p |
22:07:00 | dom96 | Araq: Most certainly. |
22:07:11 | saml | nope that doesn't solve. sorry |
22:07:13 | EXetoC | or maybe bools are more advanced than I first thought |
22:07:25 | dts|pokeball | saml, ok. ill try and build with you |
22:07:31 | Varriount|Remote | Araq: Is the installer going to have the option to include nimble or not? |
22:07:33 | dts|pokeball | wheres the aporia repo? |
22:07:43 | EXetoC | dts|pokeball: you people and your good memories! |
22:07:44 | saml | https://github.com/nim-lang/Aporia |
22:07:49 | dts|pokeball | ty |
22:08:41 | Araq | Varriount|Remote: it's not an option, just ship the .exe with it unconditionally |
22:09:18 | Varriount|Remote | Ok. dom96, do you have a 64 bit version of nimble on hand? |
22:09:33 | dom96 | Varriount|Remote: just ship 32bit |
22:10:16 | dom96 | saml: I'm going to launch a VM and test it on Ubuntu that way. |
22:10:17 | Varriount|Remote | dom96: Uh.. and what will happen when people who use a 64 bit compiler try to update nimble? |
22:10:39 | saml | DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS" i'm on |
22:10:46 | Varriount|Remote | Won't the dll's included with it not work, because the new binary will be 64 bit? |
22:10:49 | saml | dts|pokeball, what does cat /etc/lsb-release say? |
22:10:50 | dom96 | Varriount|Remote: Then they will get a 64bit version? |
22:10:59 | dom96 | Varriount|Remote: Yeah, probably. |
22:11:08 | dom96 | Varriount|Remote: Build a 64bit version then. I don't have the env for that. |
22:11:29 | dts|pokeball | saml, sec |
22:12:13 | dts|pokeball | saml, http://paste.ubuntu.com/9642639/ |
22:15:03 | dts|pokeball | ok, so just ran nimble build and it was successful |
22:15:24 | dts|pokeball | now to run, i just run ./aporia right? |
22:17:52 | dts|pokeball | odd |
22:17:58 | dts|pokeball | it just decided to work for me now |
22:19:19 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
22:20:59 | saml | https://gist.github.com/saml/5d7b837e8181946fcb8c |
22:21:56 | dom96 | https://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110 |
22:21:57 | saml | https://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110 it's complaining about this? |
22:22:00 | dom96 | Not sure why that would crash |
22:22:05 | dom96 | indeed |
22:22:13 | saml | maybe my computer. dts|pokeball congrats |
22:22:40 | dts|pokeball | saml, is your nim up to daqte |
22:22:42 | dts|pokeball | ? |
22:22:50 | saml | i'm using master |
22:22:59 | dts|pokeball | no |
22:23:00 | * | perturbation quit (Quit: Leaving) |
22:23:01 | dts|pokeball | you want devel |
22:23:10 | saml | oh |
22:23:52 | dom96 | at this point it doesn't matter |
22:23:52 | dts|pokeball | as it states in the readme, you want devel, because aporia depends on bug fixes that arent neccesarily in master yet |
22:23:55 | dom96 | devel and master are the same |
22:24:06 | dom96 | master gets updated when we have a release |
22:24:28 | dts|pokeball | i was not aware there was a release |
22:24:35 | dts|pokeball | apparently im behind then |
22:24:46 | saml | let me restart my computer |
22:25:07 | * | saml quit (Quit: Leaving) |
22:25:25 | dts|pokeball | jerk. he didnt have to leave irc while restarting@ |
22:25:27 | dts|pokeball | *! |
22:25:43 | * | Durz0 quit (Remote host closed the connection) |
22:25:53 | ekarlso- | what's wrong with Release(version: "foo", uri: "http://github.com/ekarlso/foo", `method`: "git") ? |
22:26:10 | dom96 | ekarlso-: are you getting an error? |
22:26:19 | ekarlso- | packages.nim(17, 19) Error: named expression expected |
22:26:25 | ekarlso- | that's the line |
22:26:39 | dom96 | probably the `method`` |
22:26:41 | dts|pokeball | later guys. gf is over |
22:26:47 | * | saml joined #nim |
22:26:50 | dom96 | I'm telling you: rename it. |
22:27:16 | ekarlso- | dom96: but what to call it :[ |
22:27:21 | ekarlso- | trying to mimick packages.json |
22:27:39 | dom96 | downMethod |
22:27:50 | dom96 | You don't have to match the JSON fields. |
22:28:00 | ekarlso- | why not ? :p |
22:28:36 | dom96 | because you get errors |
22:29:06 | ekarlso- | but doesn't nimble require "method"? |
22:30:21 | dom96 | it does. |
22:30:31 | ekarlso- | then how ? :d |
22:30:31 | dom96 | You should translate to JSON using the json module. |
22:30:41 | dom96 | You can't use the marshal module for this. |
22:30:53 | ekarlso- | how does one do that ? |
22:31:20 | Araq | ekarlso-: report it anyway, `method`: x should compile |
22:31:22 | * | dts|pokeball quit (Ping timeout: 258 seconds) |
22:31:45 | dom96 | import json; echo(%{"method": %"git"}) |
22:32:30 | dom96 | saml: I can reproduce it. |
22:32:32 | flaviu | .eval discard {`method` : 1} |
22:32:36 | Mimbus | flaviu: eval.nim(3, 9) Error: undeclared identifier: 'method' |
22:32:48 | flaviu | .eval let `method` = 0;discard {`method` : 1} |
22:32:49 | saml | dom96, what was the problem? |
22:32:52 | Mimbus | flaviu: <no output> |
22:32:59 | dom96 | saml: No idea yet. |
22:33:05 | saml | i didin't restart computer yet :P |
22:33:17 | EXetoC | .eval |
22:33:19 | saml | so i guess restart won't fix |
22:33:21 | Mimbus | EXetoC: <no output> |
22:34:02 | Araq | flaviu: that is not a tuple constructor though |
22:34:46 | flaviu | I see, I didn't notice the context. |
22:35:13 | ekarlso- | what is the discard thing ? |
22:35:25 | Araq | .eval discard (`method`: 1) |
22:35:28 | Mimbus | Araq: eval.nim(3, 17) Error: illformed AST: `method`: 1 |
22:35:41 | Araq | there we go ... lol |
22:36:22 | saml | is there theindex.html that contains all libraries? |
22:36:44 | saml | not sure what these are: listStoreNew TypeString |
22:37:03 | flaviu | ekarlso-: You can't just ignore the result of an expression, that's an error. |
22:37:14 | flaviu | .eval "foo" |
22:37:15 | EXetoC | saml: a proc call perhaps, with an alternative syntax |
22:37:17 | Mimbus | flaviu: eval.nim(3, 0) Error: value of type 'string' has to be discarded |
22:37:20 | flaviu | see? |
22:37:35 | EXetoC | .eval proc p(x: int) = discard; p(1); p 1 |
22:37:38 | Mimbus | EXetoC: eval.nim(5, 2) Error: invalid indentation |
22:37:42 | EXetoC | .eval proc p(x: int) = discard;p(1);p 1 |
22:37:44 | ekarlso- | Araq: Release(version: "foo", uri: "http://github.com/ekarlso/foo", `method`: "git") |
22:37:45 | Mimbus | EXetoC: <no output> |
22:37:50 | ekarlso- | ehm: https://github.com/Araq/Nim/issues/1791 |
22:37:52 | ekarlso- | reported |
22:38:24 | EXetoC | is that your best photo? |
22:38:36 | * | jefus_ joined #nim |
22:38:47 | fowl | lol |
22:39:19 | ekarlso- | what does a photo have to do with a bugreport ? :p |
22:39:38 | EXetoC | no idea |
22:39:54 | ldlework | haha, that is a funny photo tho |
22:39:54 | saml | SIGSEGV: Illegal storage access. (Try to compile with -d:useSysAssert -d:useGcAssert for details.); what do I need to compile with those options? |
22:39:56 | saml | nim itself? |
22:40:30 | ekarlso- | ldlework: that's how it goes when you go biking country side after farmers have been out with furtilizers :P |
22:40:34 | fowl | saml, did the compiler crash or did your program |
22:40:42 | saml | my program |
22:40:47 | saml | so my program |
22:40:47 | ldlework | ekarlso-: hehe |
22:40:59 | fowl | saml, recompile with -d:debug, you'll get a stack trace |
22:41:03 | saml | or libraries my program links to |
22:41:42 | Araq | remind me to check out what -d:debug is |
22:41:48 | dom96 | ekarlso-: That's a brilliant picture! |
22:41:54 | * | jefus quit (Ping timeout: 245 seconds) |
22:42:23 | Araq | ekarlso-: thanks for the bug report |
22:42:40 | ldlework | Araq: you're not sure what -d:debug does? |
22:42:48 | fowl | Araq, ? |
22:43:30 | fowl | is it changed to Debug or something? |
22:44:05 | ldlework | Araq: dom96 I'm going to be speaking with some of the Python project leaders soon |
22:44:14 | ldlework | Is there sorts of things you like to know about |
22:44:15 | Araq | I never use it, fowl |
22:44:22 | ldlework | Or things I should seek general advice regarding? |
22:44:26 | ldlework | Please give this some thought |
22:44:38 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:44:42 | dom96 | ldlework: Ask them about the best way to get funding. |
22:44:49 | dom96 | Perhaps. |
22:44:51 | Araq | I get stack traces when I leave out the -d:release |
22:44:59 | ekarlso- | Araq: suggestions on how to work around it ? :p |
22:45:11 | ldlework | dom96: I will definitely be asking about financial stability |
22:45:41 | Varriount|Remote | Araq: How... installed should babel be with regards to the Nim installer. |
22:45:56 | flaviu | Varriount|Remote: *Nimble |
22:45:58 | Araq | put it in bin/ |
22:46:15 | Araq | not sure I understood your question |
22:46:43 | Varriount|Remote | Araq: But that's not where the babel distribution on github places it. And I don't know if that will work with 'babel install babel' |
22:46:54 | * | ldlework shakes Varriount|Remote |
22:46:57 | Varriount|Remote | Sorry, 'nimble' |
22:47:00 | ldlework | lol |
22:47:16 | * | dts|pokeball joined #nim |
22:47:22 | Varriount|Remote | ldlework: I have had less than 5 hours of sleep, and had to clean out a kennel full of poop today. Again. |
22:47:52 | Varriount|Remote | My brain is not running at its best. |
22:48:03 | fowl | varr just put babel in with it and have it install itself (and keep the copy that came with the compiler out of $PATH) |
22:48:05 | ldlework | Varriount|Remote: here's to hoping you get to relax soon |
22:48:38 | Araq | Varriount|Remote: please consider to give us the installers now, and later new ones that include nimble |
22:48:46 | Varriount|Remote | Ok. Will do. |
22:48:53 | Araq | so that we something for the release day |
22:49:59 | * | BitPuffin joined #nim |
22:50:05 | saml | dom96, when i comment out https://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110-L2113 and recompile, it runs without crashing |
22:50:24 | dom96 | saml: Yes, but then the error list won't work. |
22:51:07 | saml | what's error list? |
22:51:24 | saml | var listStore = listStoreNew(5, TypeString, TypeString, TypeString, ...) this works as well. 5 instead of 6 |
22:51:35 | dom96 | saml: press ctrl + shift + b |
22:52:12 | Araq | dom96: saml's point is a good one. forgot some sentinel? |
22:52:19 | saml | so it has 5 columns: File, Line, Colum, Type, Description |
22:52:35 | saml | should there be 6 columns? |
22:53:16 | dom96 | Araq: Not according to the GTK docs: https://developer.gnome.org/gtk2/stable/GtkListStore.html#gtk-list-store-new |
22:53:55 | dom96 | saml: There is also color |
22:54:17 | * | BitPuffin quit (Ping timeout: 240 seconds) |
22:54:29 | Araq | dom96: then it's another varargs bug |
22:54:51 | dom96 | Araq: yay |
22:55:06 | saml | weird that it works for dts|pokeball |
22:55:22 | saml | what was keyboard shortcut for Go to Definition in aporia? |
22:55:39 | Araq | dom96: cast the consts to cint and it'll work |
22:55:49 | Araq | or make these consts cint instead |
22:58:44 | Araq | hrm wait a sec |
22:58:51 | Araq | these are GType's |
22:59:00 | Araq | no idea what this resolves to |
22:59:49 | saml | /home/sam/code/Nim/bin/nim idetools --path:/tmp/ --track:/home/sam/code/Aporia/aporia.nim,2081,8 --def /home/sam/code/Aporia/aporia.nim |
22:59:59 | saml | this is what aporia executes when I Go to definition |
23:00:05 | saml | is --path:/tmp/ wrong? |
23:01:36 | dom96 | Go to definition has been broken for a while unfortunately. |
23:01:44 | saml | oh i see |
23:01:55 | dom96 | Araq: It's Dl_183673(((int) 6), 64, 64, 64, 64, 64, 64); in the C code. |
23:02:53 | * | z1y joined #nim |
23:03:16 | Araq | dom96: that doesn't look too bad. hrm |
23:03:43 | Araq | but maybe it should be (long long)64 ? |
23:17:04 | * | zahary1 joined #nim |
23:21:03 | Varriount|Remote | Araq: What's the 32bit mingw download url again? |
23:26:19 | * | BlaXpirit quit (Quit: Quit Konversation) |
23:34:16 | Araq | http://nim-lang.org/download/mingw32.zip |
23:34:20 | Araq | http://nim-lang.org/download/mingw64.zip |
23:34:47 | Araq | but it bothers me that you have to ask, this is all automated |
23:35:04 | Araq | isn't it? |
23:39:21 | EXetoC | good style update for the documentation |
23:40:05 | Araq | yeah I'll add some special note for the guy who made it |
23:44:00 | Varriount|Remote | Araq: Here's the 32 bit installer |
23:44:04 | Varriount|Remote | https://drive.google.com/file/d/0B077nrrf63xtUWZYMjZySExKZkE/view?usp=sharing |
23:44:19 | Varriount|Remote | Araq: Well, sorta |
23:44:47 | Varriount|Remote | The ini file still needs a 'version' variable and a 'mingw' variable, provided by the invoker of niminst |
23:45:52 | EXetoC | but you forgot the sticky elements and the 3d transforms |
23:46:19 | * | Varriount|Remote slaps EXetoC with a 2.5 dimensional fish |
23:46:21 | Araq | Varriount|Remote: koch knows how to do that |
23:46:46 | Araq | well for the 32 bit version, that is |
23:47:23 | ldlework | So I just had a short discussion with a financial advisor from the PSF |
23:47:58 | ldlework | We're going to have lunch in SF the second week of January |
23:48:18 | ldlework | But basically he told me the very first thing we need to do is find a friendly lawyer |
23:48:32 | ldlework | And begin work on establishing a 501c3 |
23:48:51 | Araq | ldlework: what's a 501c3 ? |
23:48:53 | ldlework | And that in starting down that path |
23:48:58 | jsudlow | its a non for profit org |
23:49:06 | ldlework | I will have many more questions for him by the time we meet for lunch |
23:49:23 | Varriount|Remote | Araq: Wait, disregard that download link. I forgot the dlls |
23:49:27 | Araq | hi jsudlow welcome :-) |
23:49:46 | ldlework | http://en.wikipedia.org/wiki/501(c)_organization |
23:49:49 | Araq | Varriount|Remote: look at the koch.nim please it's likely you also forgot the debug version of the compiler etc. |
23:50:02 | Varriount|Remote | Araq: Nope, didn't forget that. |
23:50:24 | Araq | and automate it completely |
23:50:50 | jsudlow | Araq: thank you :) ldlework told me about nim and I have been messing with it. Its pretty cool. Not sure how everythign works but the speed is intense |
23:51:44 | ldlework | I unfortunately don't know any lawyers |
23:52:15 | ldlework | The only lawyer I have even a semblance of a relationship with is Marhsal from How I Met Your Mother and he's entirely fictional |
23:53:12 | jsudlow | are you trying to set up a company around nim? the 501c3's can be tricky bc they need to be audited every year so you need to have a competent accounting staff lined up too. |
23:53:19 | flaviu | ldlework: keep in mind that Araq is in germany. |
23:53:36 | ldlework | flaviu: I haven't forgetten. But I don't really know what to think about regarding that. |
23:54:28 | ldlework | Basically the guy from the PSF told me that we need a lawyer because there's no way mere mortals can penetrate the paperwork for a 501c3 |
23:54:38 | ldlework | (he has personally tried) |
23:54:54 | ldlework | Also |
23:55:08 | ldlework | He said that he noticed that we have started to go publically recently (he saw our HN activity) |
23:55:41 | ldlework | He told me that our absolute first priorty before thinking about how to hire developers and so on is to establish trademark and copyright authority over anything we might even potentially want to control someday |
23:55:49 | ldlework | "Own all of it. Yesterday." |
23:56:17 | ldlework | But that that depends on the establishment of a 501c3 |
23:56:28 | flaviu | Can't an individual own a trademark? |
23:56:54 | ldlework | flaviu: but then it is that individual that needs to fight all the courtcases and do the correspondence |
23:56:56 | Araq | ldlework: I know a couple of lawyers. |
23:57:06 | ldlework | correspondence that will be used as ownership evidence later |
23:57:18 | ldlework | and then the complication for when Nim actually does establish a corporation |
23:57:22 | ldlework | The corporation will want to own it |
23:57:31 | flaviu | ldlework: Can't the corporation buy it from the owner? |
23:57:32 | ldlework | And that doesn't establish copyright |
23:57:56 | ldlework | flaviu: Yes but all you're doing is complicating legal matters down the line in order to avoid touching the yaks |
23:58:03 | ldlework | Here I am. Willing to organize the Yak shaving. |
23:58:13 | flaviu | While lawyering up, CLAs are a good idea too. |
23:58:23 | ldlework | Let's not go to that place that we often go, in saying "isn't this least good solution good enough for now" |
23:58:45 | ldlework | flaviu: writing that down |
23:59:06 | flaviu | ldlework: The hard work is tracking down all previous contributors |
23:59:31 | ldlework | Yeah I have a feeling there's going to be a lot of hard work |