00:07:21 | Araq | filwit: you can compile aporia with -d:noSingleInstance to be able to run multiple aporia instances |
00:08:33 | filwit | Araq: i don't think that's the problem.. more likely the error message is just wrong. The problem is nimsuggest does shutdown correctly when aporia crashes unexpectedly. |
00:09:25 | filwit | Araq: the solution is the properly handle the exception. and until then we can just manually kill the nimsuggest process, then reopening aporia works fine |
00:09:56 | * | brson quit (Ping timeout: 246 seconds) |
00:10:22 | dom96 | filwit: You didn't change 'singleInstancePort' in the config by any chance did you? |
00:10:32 | * | reem quit (Remote host closed the connection) |
00:10:34 | * | brson joined #nim |
00:10:44 | dom96 | it would be odd if nimsuggest kept the port that Aporia created open |
00:11:02 | filwit | dom96: nope. only style changes in my PR (except for changing the mimetype to Nim) |
00:11:30 | * | awesomo4000 left #nim (#nim) |
00:11:31 | dom96 | filwit: no, check /your/ config. |
00:11:36 | dom96 | Edit -> Raw Preferences |
00:11:44 | * | awesomo4000 joined #nim |
00:11:44 | filwit | k, one sec |
00:12:19 | filwit | singleInstance = true |
00:12:22 | * | reem joined #nim |
00:12:30 | dom96 | singleInstancePort? |
00:12:52 | filwit | singleInstancePort = 55679 |
00:13:03 | dom96 | in that case I don't get it |
00:13:17 | * | pafmaf joined #nim |
00:13:44 | flaviu | Why not write ~/.aporia/nimsuggest_pid? |
00:14:12 | flaviu | That way you can kill a stray nimsuggest on startup. |
00:14:12 | dom96 | flaviu: because I can't tell the running instance to open files that way |
00:14:32 | dom96 | oh |
00:14:42 | filwit | well the key is the error message.. it says "an instance of aporia is already running" so whatever is triggering that is what needs to be fixed I guess... though to be honest Aporia should just not crash to begin with (have better exception handling) so that nimsuggest isn't left open in the background |
00:14:54 | dom96 | because suggest is still experimental... |
00:14:58 | Araq | dom96, filwit I can confirm nimsuggest doesn't work at all here. it doesn't even start nimsuggest.exe |
00:15:15 | filwit | dom96: well i know that, I'm not complaining.. i'm just saying that's the way forward |
00:15:21 | * | BlaXpirit quit (Quit: Quit Konversation) |
00:16:11 | dom96 | Araq: debug output? |
00:16:16 | filwit | Araq: thanks for the confirmation.. though my Aporia definitely starts nimsuggest (i can see the process open in my taskmanager) |
00:16:44 | dom96 | filwit: I was talking to flaviu |
00:17:09 | filwit | i see, okay |
00:17:47 | flaviu | dom96: There are always going to be bugs. Might as well keep them in mind when thinking about UI issues. |
00:18:12 | Araq | dom96: there is none |
00:18:31 | dom96 | Araq: you forgot to enable suggest? |
00:18:48 | Araq | no, but let me look at my nim.cfg |
00:19:21 | dom96 | didn't compile in debug mode? |
00:19:26 | filwit | Varriount: ps, they pulled my colors into Aporia.. you should test them out at some point :) I added about 15 of them (all my favorites from StudiosStyles.com + Gokr's blog + Github colors) |
00:19:51 | filwit | + Nim website colors |
00:21:00 | * | reem quit (Remote host closed the connection) |
00:21:46 | * | reem joined #nim |
00:22:11 | * | awesomo4000 quit (Quit: awesomo4000) |
00:23:11 | * | davidterry joined #nim |
00:24:08 | * | reem quit (Remote host closed the connection) |
00:25:22 | * | TEttinger joined #nim |
00:27:45 | * | davidterry quit (Ping timeout: 252 seconds) |
00:27:58 | dom96 | filwit: Araq: Works for me on Windows. |
00:28:17 | * | davidterry joined #nim |
00:28:34 | filwit | dom96: hmm... okay i'll try again in a sec, but first please pull this fix: https://github.com/nim-lang/Aporia/pull/74 |
00:30:12 | dom96 | filwit: oncept? |
00:30:39 | filwit | dom96: no, all keywords now are case-sensitive.. so they don't need the whole (c|C) start |
00:31:22 | * | reem joined #nim |
00:31:23 | filwit | dom96: check the line again, it's: c_?(o|O)_?(n|N)_?(c|C)_?(e|E)_?(p|P)_?(t|T) |
00:31:30 | * | reem quit (Remote host closed the connection) |
00:31:50 | dom96 | filwit: oh, missed the C. |
00:32:03 | * | reem joined #nim |
00:32:18 | filwit | yeah i added that on Araq's request (will replace 'generic' in the future apparently) |
00:33:05 | filwit | note that all keywords/types are now correctly semi-case-sensitive, only accept a single '_', and cannot have trailing underscores |
00:33:41 | * | reem quit (Remote host closed the connection) |
00:34:30 | * | brson quit (Quit: leaving) |
00:34:36 | filwit | dom96: also, if you ever hack on this in the future, pay attention to the order in which all the <context> blocks appear. It will break things if you reorder them. |
00:34:47 | * | dashed joined #nim |
00:35:37 | Araq | filwit: don't write that here, add a comment in the XML |
00:35:49 | filwit | dom96: mainly, the "type-decl" context must appear before the "keywords" context |
00:35:55 | filwit | Araq: good point, will do |
00:36:10 | Araq | filwit: btw did you merge master into new-suggest? |
00:36:18 | filwit | dom96: please hold off on that PR until I add the comments |
00:36:21 | Araq | cause that's what I did and why it fails |
00:36:43 | dom96 | indeed |
00:36:45 | * | brson joined #nim |
00:36:46 | dom96 | just did the same |
00:36:48 | filwit | Araq: no I didn't, but I will.. should I then make another PR against new-suggest |
00:36:53 | filwit | ? |
00:37:23 | filwit | i was thinking you would do the other way around (merge new-suggest into master when ready) |
00:37:35 | dom96 | I have no idea what breaks it |
00:37:45 | filwit | i'll take a look |
00:37:56 | filwit | let me add comments to that PR fist |
00:38:42 | * | TEttinger quit (Ping timeout: 246 seconds) |
00:38:50 | * | reem joined #nim |
00:40:55 | * | TEttinger joined #nim |
00:54:20 | filwit | dom96: i added the order comments to the PR, please review and pull when you can. |
00:55:02 | Araq | filwit: I make suggest work on new-suggest |
00:55:17 | filwit | Araq: how did you fix it? |
00:55:27 | Araq | renamed Nimrod to Nim |
00:55:56 | filwit | you mean the Nim.exe or something you changed in Aporia? |
00:56:21 | filwit | i don't even have a "nimrod" on my machine anymore, so maybe that's why it instantly fails for me |
00:56:40 | Araq | I changed it everywhere in aporia |
00:58:20 | filwit | okay, well this probably ties into the merge conflicts with new-suggest and my code changes then (i changed the mimetype and .lang file from nimrod -> nim, and had to change one place in aporia.nim to make that work) |
00:59:06 | filwit | first, please pull the latest PR i made, then push your changes to new-suggest so I can pull them and attempt to merge with master |
00:59:46 | Araq | well too late, I already pushed it to new-suggest |
00:59:54 | * | brson quit (Quit: leaving) |
01:10:23 | filwit | no worries, that's a different branch anyways. |
01:15:52 | filwit | dom96, Araq: i'll play around with merging new-suggest and master tonight, but I can't make another PR till you guys merge the existing one.. I'm guess you both are heading to bed soon, so I'll probably just talk to you tomorrow about it. |
01:23:02 | Araq | yeah, good night |
01:25:31 | * | brson joined #nim |
01:41:28 | * | pregressive quit (Remote host closed the connection) |
01:42:57 | * | fizzbooze quit (Ping timeout: 250 seconds) |
01:54:46 | * | darkf joined #nim |
02:00:27 | * | pafmaf quit (Quit: This computer has gone to sleep) |
02:02:20 | * | Jessin joined #nim |
02:03:47 | * | Jesin quit (Read error: Connection reset by peer) |
02:05:34 | * | Jehan_ quit (Quit: Leaving) |
02:07:01 | * | Jessin quit (Ping timeout: 264 seconds) |
02:07:53 | * | BitPuffin quit (Ping timeout: 256 seconds) |
02:16:56 | * | davidterry quit (Remote host closed the connection) |
02:21:46 | * | Jessin joined #nim |
02:23:21 | * | reem quit (Remote host closed the connection) |
02:26:51 | * | fizzbooze joined #nim |
02:29:01 | * | reem joined #nim |
02:39:06 | * | randomwalk joined #nim |
02:55:40 | * | brson quit (Quit: leaving) |
02:58:23 | * | chemist69_ joined #nim |
03:01:23 | * | chemist69 quit (Ping timeout: 250 seconds) |
03:13:26 | * | reem quit (Remote host closed the connection) |
03:14:08 | * | dashed quit (Quit: Connection closed for inactivity) |
03:37:28 | * | reem joined #nim |
03:44:03 | * | filwit quit (Quit: Leaving) |
04:03:23 | * | randomwalk quit (Quit: Page closed) |
04:20:16 | Shoozza | http://eev.ee/blog/2015/02/28/sylph-the-programming-language-i-want/ |
04:33:28 | * | grumbly joined #nim |
04:33:55 | * | grumbly quit (Client Quit) |
04:34:15 | * | gibson joined #nim |
04:34:51 | gibson | Is anyone successfully using the emerald module? It breaks for me using nim from master or devel branches. |
04:35:11 | gibson | Complains of an unexpected 'defer' keyword |
04:51:52 | * | reem quit (Remote host closed the connection) |
04:57:33 | * | randomwalk joined #nim |
04:58:33 | randomwalk | Hi, is there a windows binary download somewhere for c2nim? I'm trying to figure out how to translate a C struct. |
05:00:35 | * | pregressive joined #nim |
05:02:25 | * | gibson quit (Ping timeout: 246 seconds) |
05:04:47 | * | reem joined #nim |
05:05:10 | randomwalk | Ok, I'll try building with MinGW... |
05:12:46 | * | akiradeveloper joined #nim |
05:13:15 | randomwalk | Well, that worked. :) It's so nice when stuff just works. Thx Araq |
05:13:20 | akiradeveloper | is it possible to create a seq that contains non-uniformly typed objects? |
05:13:45 | akiradeveloper | In you know Java, like List[Object] |
05:17:24 | * | davidterry joined #nim |
05:21:49 | * | davidterry quit (Ping timeout: 252 seconds) |
05:22:12 | cazov | the docs seem to indicate sequences can't be heterogeneous since they're intended(?) to be growable arrays. http://nim-lang.org/manual.html#array-and-sequence-types . the way java handles that is that all objects are like refs descended from the Object class so maybe you could do something similar? i'm not super familiar with the language yet, though, so i'm probably missing something |
05:25:51 | akiradeveloper | sounds correct |
05:26:46 | akiradeveloper | MessagePack's array is heterogeneous so it can't be converted to Nim seq without some restriction |
05:32:29 | * | pregressive quit (Remote host closed the connection) |
05:38:34 | * | pregressive joined #nim |
05:40:28 | randomwalk | Anyone familiar with the libcurl module? I used c2nim to translate the getinmemory.c example: http://pastebin.com/hV2QhTbb |
05:40:39 | randomwalk | however I'm getting a compiler error: |
05:41:12 | randomwalk | Error: type mismatch: got (pointer) but expected 'cstring' |
05:41:28 | randomwalk | for the line: mem.memory = realloc(mem.memory, mem.size + realsize + 1) |
05:42:20 | randomwalk | The example just issues a GET request and reads it into heap memory, nothing fancy. |
05:42:58 | randomwalk | That's all I'm trying to do as well. (Otherwise libcurl just prints it to stdout.) |
05:44:45 | randomwalk | The wrapper libcurl.nim says: Twrite_callback* = proc (buffer: cstring, size: int, nitems: int, outstream: pointer): int{.cdecl.} |
05:45:30 | randomwalk | Whereas c2nim says: proc WriteMemoryCallback*(contents: pointer; size: csize; nmemb: csize; userp: pointer): csize = ... |
05:46:06 | randomwalk | and if I change that first parameter type from pointer to cstring I still get the same error |
05:46:50 | randomwalk | Ideas? Excessive thx thx thx guru/sifu/sensei |
05:51:35 | * | elbow_jason quit (Quit: Leaving) |
06:08:36 | * | NimBot joined #nim |
06:15:50 | * | fizzbooze quit (Ping timeout: 272 seconds) |
06:16:15 | * | fizzbooze joined #nim |
06:18:18 | * | akiradeveloper quit (Quit: Page closed) |
06:28:26 | * | pregressive quit (Remote host closed the connection) |
06:35:03 | * | reem quit (Remote host closed the connection) |
06:36:19 | * | reem joined #nim |
06:58:29 | * | bjz joined #nim |
07:10:16 | * | Demos quit (Read error: Connection reset by peer) |
07:20:46 | * | fizzbooze quit (Ping timeout: 250 seconds) |
07:22:18 | * | nulpunkt left #nim (#nim) |
07:37:11 | * | dumdum joined #nim |
07:42:45 | * | Jehan_ joined #nim |
07:45:44 | * | chemist69_ quit (Quit: WeeChat 1.1.1) |
07:45:54 | * | chemist69 joined #nim |
08:03:34 | * | davidterry joined #nim |
08:05:00 | * | reem quit (Remote host closed the connection) |
08:08:05 | * | davidterry quit (Ping timeout: 246 seconds) |
08:09:07 | * | reem joined #nim |
08:10:44 | * | Jehan_ quit (Quit: Leaving) |
08:18:12 | * | Trustable joined #nim |
08:23:29 | * | zahary joined #nim |
08:25:50 | * | reem quit (Remote host closed the connection) |
08:27:28 | * | reem joined #nim |
08:43:44 | * | reem quit (Remote host closed the connection) |
08:43:49 | * | pafmaf joined #nim |
08:47:29 | * | reem joined #nim |
08:49:32 | * | pafmaf quit (Quit: This computer has gone to sleep) |
08:53:51 | * | sillesta joined #nim |
08:55:59 | * | kniteli quit (Quit: Leaving) |
08:56:14 | * | randomwalk quit (Quit: Page closed) |
09:04:58 | * | banister joined #nim |
09:12:19 | * | dumdum quit (Ping timeout: 256 seconds) |
09:14:26 | * | tumult joined #nim |
09:17:46 | * | reem quit (Remote host closed the connection) |
09:19:14 | * | reem joined #nim |
09:19:23 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:25:24 | * | dumdum joined #nim |
09:29:21 | * | pregressive joined #nim |
09:30:01 | * | BlaXpirit joined #nim |
09:32:12 | * | banister joined #nim |
09:33:29 | * | pregressive quit (Ping timeout: 246 seconds) |
09:35:46 | * | banister quit (Client Quit) |
09:58:06 | * | reem quit (Remote host closed the connection) |
09:58:43 | * | reem joined #nim |
09:59:26 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
09:59:45 | * | bjz joined #nim |
10:08:40 | * | pafmaf joined #nim |
10:13:22 | * | pafmaf quit (Client Quit) |
10:16:37 | * | banister joined #nim |
10:16:43 | * | banister quit (Max SendQ exceeded) |
10:18:43 | * | pafmaf joined #nim |
10:23:14 | * | akiradeveloper joined #nim |
10:23:55 | akiradeveloper | I am looking for a type like my Iterable in stdlib https://rawgit.com/akiradeveloper/msgpack-nim/master/msgpack.html#Iterable I don't like to define this by myself. |
10:28:23 | * | reem quit (Remote host closed the connection) |
10:29:15 | * | reem joined #nim |
10:29:36 | * | epichero quit (Remote host closed the connection) |
10:40:09 | * | dumdum quit (Ping timeout: 256 seconds) |
10:41:32 | * | reem quit (Remote host closed the connection) |
10:42:41 | * | akiradeveloper quit (Remote host closed the connection) |
10:45:27 | * | reem joined #nim |
10:49:21 | * | pafmaf quit (Quit: This computer has gone to sleep) |
10:58:51 | * | reem quit (Remote host closed the connection) |
11:04:48 | * | Tennis joined #nim |
11:04:48 | * | Tennis quit (Changing host) |
11:04:48 | * | Tennis joined #nim |
11:18:38 | * | dumdum joined #nim |
11:28:58 | tmku | hey, I'm having trouble installing one particular package, libtcod-nim (https://github.com/Vladar4/libtcod-nim) |
11:29:17 | tmku | it installs a-ok through nimble, but when I want to actually import it, I get Error: cannot open 'libtcod-nim |
11:30:04 | * | akiradeveloper joined #nim |
11:32:55 | dumdum | tmku: try: `import libtcod` |
11:34:23 | tmku | dumdum: it worked! |
11:34:44 | tmku | so I guess the 'srcDir' param in .nimble file dictates the actual import name? |
11:35:29 | Araq | no, "import" works with *module* names |
11:36:27 | dumdum | srcDir contains libtcod.nim which is what gets 'imported' |
11:37:28 | tmku | ah, I see. Thanks. |
11:42:21 | * | akiradeveloper quit (Remote host closed the connection) |
11:43:27 | * | akiradeveloper joined #nim |
12:07:34 | * | akiradeveloper quit (Remote host closed the connection) |
12:12:46 | * | BlaXpirit quit (Quit: Quit Konversation) |
12:13:05 | * | BlaXpirit joined #nim |
12:13:14 | * | BlaXpirit quit (Client Quit) |
12:13:28 | * | BlaXpirit joined #nim |
12:19:39 | * | 5EXAAMQHM joined #nim |
12:25:01 | * | 5EXAAMQHM quit (Ping timeout: 264 seconds) |
12:37:50 | * | johnsoft quit (Read error: Connection reset by peer) |
12:38:58 | * | banister joined #nim |
12:39:02 | * | banister quit (Max SendQ exceeded) |
12:42:13 | * | akiradeveloper joined #nim |
12:43:07 | * | kashyap_ joined #nim |
12:43:34 | kashyap_ | Hi, how often is the windows installer updated? Does it contain the latest from master? |
12:44:15 | * | dumdum quit (Ping timeout: 256 seconds) |
12:45:39 | * | BlaXpirit quit (Read error: Connection reset by peer) |
12:45:42 | federico3 | hm - it just came to my mind that Nim could be a killer language for smartphones |
12:46:22 | * | BlaXpirit joined #nim |
12:48:55 | Araq | kashyap_: not often, it's still the 10.2 release |
12:49:18 | * | akiradeveloper quit () |
12:49:19 | kashyap_ | oh okay |
12:50:06 | Araq | Varriount is working on making the autobuild build releases but he's busy so any help would be really appreciated |
12:53:34 | * | johnsoft joined #nim |
13:01:26 | kashyap_ | Araq for starters, perhaps, we can make sure that one can download the latest master zip file from the download page |
13:01:54 | kashyap_ | Please do let me know if I can help with that ... |
13:02:15 | Araq | latest "devel" is much more useful |
13:02:26 | kashyap_ | sure |
13:05:57 | kashyap_ | btw, there is an update with my kernel project - I moved from the idea of building xv6 from ground up in Nim to replacing C files in the working kernel with Nim - this way I always have a working kernel - right now I have an xv6 that has one C file replaced with Nim that boots:) |
13:10:55 | Araq | er .... I guess that's good? :-) |
13:13:05 | * | a5i joined #nim |
13:16:26 | kashyap_ | yes :) |
13:19:54 | Araq | kashyap_: do you use our "tagged" pointers? |
13:20:37 | kashyap_ | not yet - but I intend to - for segregating kernel/user right |
13:20:59 | Araq | right, I'm very interested in how these work out for kernel dev |
13:21:20 | kashyap_ | in the first pass, I'll try to translate from the existing C code with very little modification |
13:21:58 | Araq | last time I checked Linux's sources have pointer annotations like these too |
13:23:07 | kashyap_ | hmm ... the address ranges for user and kernel are different in Linux ... I did not know about annotations though .. it's not something the compiler checks for right |
13:23:44 | kashyap_ | I have not looked at linux source in a while actually |
13:24:14 | kashyap_ | gotta go for now |
13:28:31 | * | kashyap_ quit (Ping timeout: 246 seconds) |
13:28:51 | tumult | Araq: congratulations on your new job at 3DICC and the commercial backing for Nim, as well as the progress on the improved c2nim! Exciting times for Nim :) |
13:30:17 | Araq | tumult: thanks. looks like I'll speak at OSCON 2015 about Nim. |
13:34:02 | tumult | Wow great! Secondary congratulation are in order then. Fingers crossed for The GCoC too, I had a look at the nim projects for it and they are all really well chosen. I think 2015 will definitely be a good year for you guys :) |
13:49:29 | * | zahary1 joined #nim |
13:49:38 | * | zahary quit (Ping timeout: 246 seconds) |
13:50:19 | Araq | yeah, surely looks like a good year. I'm wondering if I'll ever have holidays though |
13:51:13 | zahary1 | how long until they announce the selected projects for GSoC btw? |
13:51:33 | def- | zahary1: 5 hours |
13:51:52 | * | johnsoft quit (Ping timeout: 240 seconds) |
13:52:00 | zahary1 | oh :) |
13:52:32 | * | johnsoft joined #nim |
13:55:29 | dom96 | exciting! |
13:55:48 | * | BitPuffin joined #nim |
13:56:06 | def- | nimcache only works when compiling the same binary repeatedly? |
13:56:10 | * | BitPuffin quit (Remote host closed the connection) |
13:56:34 | def- | as soon as you compile another binary, everything is regenerated, even with --deadcodeelim:off |
13:57:31 | Araq | no, it's worse. sometimes it's wrongly cached |
13:57:46 | Araq | when you switch between 'nim cpp' and 'nim c' |
13:58:20 | dom96 | def-: what's the performance of Jester with your asynchttpserver optimisations? |
13:59:33 | * | reem joined #nim |
14:00:01 | def- | dom96: oh right, i didn't look at jester at all yet |
14:00:41 | dom96 | it creates a Request object too IIRC |
14:00:46 | dom96 | That's probably its major slowdown. |
14:00:56 | * | melvanis quit (Quit: Page closed) |
14:02:22 | def- | dom96: from 5700 to 7300 requests/second |
14:02:34 | dom96 | ahh |
14:02:53 | def- | master branch, right? |
14:02:57 | def- | not new-async? |
14:02:58 | dom96 | yeah |
14:03:46 | Araq | def-: "deterministic C code generation" will help with that. on our roadmap. |
14:04:30 | * | reem quit (Ping timeout: 272 seconds) |
14:10:26 | * | BitPuffin joined #nim |
14:11:48 | Araq | Maxdamantus: I'll merge your PR if you also implement 'tuple(int, int)' (nkPureTupleTy). Deal? ;-) |
14:16:43 | * | Pisuke joined #nim |
14:18:00 | * | MyMind quit (Ping timeout: 264 seconds) |
14:19:49 | * | mpthrapp_ joined #nim |
14:44:45 | * | aidanh quit (Ping timeout: 265 seconds) |
14:45:52 | * | aidanh joined #nim |
14:46:05 | * | BlaXpirit_ joined #nim |
14:48:50 | * | BlaXpirit quit (Ping timeout: 250 seconds) |
14:51:23 | * | awesomo4000 joined #nim |
15:05:47 | * | saml joined #nim |
15:09:05 | * | mpthrapp_ quit (Ping timeout: 246 seconds) |
15:11:46 | * | mpthrapp_ joined #nim |
15:15:55 | * | darkf quit (Quit: Leaving) |
15:38:01 | * | NimBot joined #nim |
15:50:08 | * | jfchevrette joined #nim |
15:50:54 | * | sillesta quit (Remote host closed the connection) |
15:55:33 | * | jholland joined #nim |
15:58:55 | * | a5i quit (Quit: Connection closed for inactivity) |
16:13:09 | * | TEttinger quit (Ping timeout: 245 seconds) |
16:17:25 | * | superfunc joined #nim |
16:17:26 | * | chemist69 quit (Quit: WeeChat 1.1.1) |
16:17:44 | * | chemist69 joined #nim |
16:19:50 | * | dumdum joined #nim |
16:27:00 | * | dtscode quit (Ping timeout: 272 seconds) |
16:31:11 | * | dtscode joined #nim |
16:35:11 | * | brson joined #nim |
16:51:19 | * | gmpreussner|work joined #nim |
16:54:02 | fowl | curry macro using getType(), doesnt compile though :/ https://gist.github.com/fowlmouth/9b9010397ad5fe4b9872 |
17:05:31 | * | Jessin quit (Quit: Leaving) |
17:07:30 | * | a5i joined #nim |
17:07:52 | * | gsingh93 joined #nim |
17:10:13 | * | superfunc quit (Quit: Lost terminal) |
17:13:55 | * | tumult quit (Ping timeout: 246 seconds) |
17:15:22 | * | Jesin joined #nim |
17:15:47 | fowl | i dont know why it doesnt compile |
17:20:59 | * | whitenoise_ joined #nim |
17:25:17 | * | whitenoise_ left #nim (#nim) |
17:37:54 | * | batok joined #nim |
17:43:06 | * | nickles joined #nim |
17:44:27 | nickles | Is there any "shortcut" array assignment, like e.g. ary: array[4, string] = ""? |
17:44:37 | * | Tennis quit (Quit: Leaving) |
17:51:51 | fowl | let arr = ["hello", "there"] |
17:53:48 | BlaXpirit_ | for seq there is http://nim-lang.org/sequtils.html#newSeqWith.t,int,expr |
17:59:39 | * | quasinoxen joined #nim |
18:03:54 | * | Demos joined #nim |
18:04:34 | * | Jehan_ joined #nim |
18:09:35 | * | batok quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:13:01 | * | Angry joined #nim |
18:16:09 | dom96 | def-: 44 minutes :O |
18:17:22 | * | silven quit (Quit: No Ping reply in 180 seconds.) |
18:18:48 | * | silven joined #nim |
18:18:51 | nickles | @fowl: I'd like to initialize the whole array to one value... |
18:21:36 | * | panzone joined #nim |
18:22:26 | * | batok joined #nim |
18:26:00 | def- | nickles: i don't think we have something like that in the stdlib, but it's reasonably easy to write yourself |
18:26:45 | def- | https://gist.github.com/def-/713852c50f2e217ea166 |
18:29:50 | * | fizzbooze joined #nim |
18:32:20 | nickles | @def: Thanks, but it would be nice to have it as a language feature, especially as all input would be known... |
18:34:41 | def- | i don't see why the language needs any feature for this |
18:35:55 | * | BlaXpirit joined #nim |
18:40:02 | BlaXpirit | get hyped |
18:44:01 | nickles | @def: I didn't say "need", but "it would be nice". The possibility to initialize values like this would allow for easier initialization, even more so as static[T] still seems to be under development. |
18:46:50 | fowl | curry() works now https://gist.github.com/fowlmouth/9b9010397ad5fe4b9872 |
18:48:20 | def- | fowl: awesome. now we're missing a {.lazy.} macro and the functional programmers will all come |
18:48:42 | def- | Haskell programmers* |
18:49:11 | * | fizzbooze quit (Ping timeout: 256 seconds) |
18:50:02 | fowl | all this does is possibly create a closure |
18:52:38 | BlaXpirit | March 2, 2015, 7 p.m. UTC. |
18:52:58 | * | Matthias247 joined #nim |
18:53:01 | BlaXpirit | where is it |
18:54:16 | BlaXpirit | now it says Accepted Orgs Announced On: March 02 at 19:00 UTC |
18:54:40 | BlaXpirit | oh right... it's 5 minutes yet |
18:55:28 | Araq | fowl: you can only access the type, not take it over to some generated AST |
18:55:49 | Araq | at least that really shouldn't be possible since it's unsound |
18:56:02 | fowl | Araq, i'm changing it back to ast |
18:56:21 | Araq | yeah and this way you make the compiler check your generated types |
18:57:17 | fowl | yea |
18:59:00 | def- | "[Nim Programming Language] Your organization application has been rejected." |
18:59:30 | Araq | damn |
18:59:41 | * | batok quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:59:50 | Araq | where is our voucher? |
19:00:09 | def- | Only 137 organizations accepted compared to 190 last year, it seems |
19:00:26 | Araq | but this time we had a voucher |
19:00:33 | BlaXpirit | D: |
19:00:58 | dom96 | well damn |
19:01:52 | * | aleron joined #nim |
19:02:19 | dom96 | def-: Is there a rejection meeting? |
19:02:31 | def- | yes, on Friday on IRC |
19:02:43 | dom96 | can you attend? |
19:02:47 | def- | for the first 50 orgs queuing up |
19:02:50 | def- | I guess so |
19:03:23 | Araq | did Julia get accepted? |
19:03:24 | def- | They didn't accept many programming languages at all this year, it seems. |
19:03:25 | def- | No |
19:03:29 | def- | Mozilla also didn't get accepted |
19:03:33 | dom96 | As long as you queue up with the bot then you'll be fine. |
19:03:39 | dom96 | I managed to be the first in the queue last year. |
19:03:43 | dom96 | interesting |
19:03:45 | * | kniteli joined #nim |
19:03:47 | def- | i can only find 3 languages that were accepted: Haskell, Ruby, Scala |
19:04:56 | def- | Hm, no. a few more too. |
19:04:56 | * | shalabh joined #nim |
19:05:01 | dom96 | that's odd |
19:05:09 | fowl | google must hate science |
19:05:13 | fowl | or summer |
19:05:14 | dom96 | Would think that Mozilla would get in. |
19:05:31 | def- | Python and Clojure also made it in |
19:06:10 | Araq | dom96: Mozilla's proposal was not that polished, IMHO |
19:06:28 | shalabh | this sucks |
19:06:29 | * | elbow joined #nim |
19:06:29 | * | elbow quit (Client Quit) |
19:06:30 | Araq | hi shalabh. you didn't help. ;-) |
19:06:31 | * | elbow_ joined #nim |
19:06:34 | shalabh | sorry guys |
19:06:35 | onionhammer | lol |
19:06:52 | shalabh | do they have any reasons in the rejection notice? |
19:07:00 | def- | shalabh: not yet, will ask on friday |
19:07:21 | Araq | we'll only get some random remark about "the competition was better" |
19:07:26 | shalabh | ok |
19:07:27 | fowl | lol |
19:07:59 | shalabh | Python is no surprise. We use a lot of it. |
19:08:03 | * | gsingh93 quit (Quit: WeeChat 1.1.1) |
19:08:08 | shalabh | It's much bigger than Nim. So is clojure. |
19:08:25 | awesomo4000 | is there a python2nim program |
19:08:27 | def- | shalabh: so are the other 3 programming languages that were accepted: Haskell, Ruby, Scala |
19:09:02 | a5i | Wait accepted into what? |
19:09:07 | onionhammer | google soc |
19:09:16 | shalabh | I was looking for rust but couldn't find it in the approved list. Maybe it's under Mozilla but couldn't find it either. |
19:09:24 | reactormonk | shalabh, I've once been talking to a google recruiter and he told me Java is still bigger than python |
19:09:26 | shalabh | a5i:GSOC 2015 |
19:09:44 | shalabh | reactormonk: probably true. |
19:10:06 | a5i | There are certain languages u can code over there? |
19:10:18 | reactormonk | a5i, java, c++, python. |
19:10:25 | onionhammer | Go |
19:10:27 | onionhammer | ;P |
19:10:30 | reactormonk | shalabh, Java is just not my kind of language :-) |
19:10:30 | a5i | what about Ruby? |
19:10:35 | reactormonk | a5i, nope. |
19:10:38 | a5i | D: |
19:10:44 | a5i | I thought it was approved.. |
19:10:45 | shalabh | maybe there's a lot emerging languages that apply and they can't accept them all. |
19:10:48 | * | aleron quit (Quit: leaving) |
19:10:53 | shalabh | reactormonk:mine neither |
19:11:07 | shalabh | ruby is in |
19:11:08 | def- | shalabh: or any of them. Julia and D were rejected as well |
19:11:13 | shalabh | ruby-on-rails too |
19:11:18 | a5i | reactormonk: Ruby is, and rails |
19:11:37 | a5i | Was Rust approved? |
19:11:41 | def- | no |
19:11:47 | a5i | awe :( |
19:11:54 | def- | But I think Rust didn't really try |
19:12:15 | a5i | Probably because they would break code on a good idea if it were used |
19:12:46 | fowl | people who play with rust get tetanus |
19:12:57 | * | gsingh93 joined #nim |
19:12:59 | a5i | I really like Rust |
19:13:08 | def- | Well, at least I can work on the gsoc ideas that I made from my personal todo list again :P |
19:13:21 | shalabh | mozilla might be special "Rust/Servo usually do GSoC under the banner of Mozilla, so the deadline doesn't really apply." from https://www.reddit.com/r/rust/comments/2vy5n3/rust_in_gsoc_2015 |
19:13:28 | a5i | Why would they get tetanus :/ |
19:13:46 | fowl | a5i, only if they aren't careful |
19:14:07 | dom96 | It isn't even fair that Github got accepted... https://github.com/github/gsoc |
19:14:46 | shalabh | github is very relevant to open source dev these days |
19:14:57 | Demos | but is github open source? |
19:15:15 | * | dumdum quit (Ping timeout: 256 seconds) |
19:15:17 | dom96 | github has enough money to fund these things themselves |
19:15:26 | shalabh | some github projects are |
19:16:12 | shalabh | https://wiki.mozilla.org/Community:SummerOfCode15 |
19:16:37 | shalabh | looks like mozilla has some special status |
19:16:51 | shalabh | maybe they're invited, or something. given their weight. |
19:17:49 | shalabh | but if D and Julia didn't get in, oh well. |
19:17:51 | Jehan_ | I suspect that critical mass of a project is a major factor. |
19:18:29 | Araq | Jehan_: der Teufel scheißt immer auf den größten Haufen ;-) |
19:19:05 | Jehan_ | I remember reading last year that Mercurial had to piggy-back their GSOC project on Python's application because they didn't get in, either, and they're a well-established, widely used piece of software. |
19:19:14 | shalabh | interesting |
19:20:01 | * | panzone quit (Quit: Leaving...) |
19:21:22 | shalabh | but they accepted julia last year, hmm. |
19:21:38 | def- | shalabh: number of accepted oranizations went down from 190 to 137 |
19:21:50 | dom96 | Have you guys seen the ideas page for haskell? https://ghc.haskell.org/trac/summer-of-code/report/1 |
19:22:01 | dom96 | Isn't that literally an issue tracker? |
19:22:50 | * | kblake joined #nim |
19:23:25 | shalabh | def-:yes I noticed. |
19:23:34 | * | aleron joined #nim |
19:24:23 | Maxdamantus | Araq: I guess I could do that. |
19:24:29 | aleron | Are proc arguments always const in the body of the proc? |
19:26:01 | Jehan_ | aleron: Do you mean that you cannot assign to them? That's always the case (except for `var` arguments, but they have other semantics, anyway). |
19:26:48 | Jehan_ | If you want to assign to a procedure argument, you can use: proc foo(x: int) = var x = x; … |
19:26:55 | * | nickles quit (Quit: Page closed) |
19:27:05 | aleron | yes, cannot assign. Right after I encountered the error I found the relevant section of the Nim for C Programmers page |
19:27:25 | aleron | I'm trying to modify an array passed in as an argument fwiw |
19:27:34 | def- | then you should just pass it as var |
19:27:44 | Jehan_ | In that case, you want to use a `var` parameter. |
19:28:06 | * | batok joined #nim |
19:28:14 | Jehan_ | non-var parameters are basically treated as immutable objects (modulo aliasing). |
19:28:15 | aleron | ahh |
19:29:01 | * | dumdum joined #nim |
19:29:45 | aleron | That worked. Much appreciated. |
19:30:12 | aleron | I didn't see anything on this topic in the nim-lang tut1 or nim-by-example.github.io |
19:30:14 | * | fizzbooze joined #nim |
19:30:22 | aleron | So I was really confused |
19:31:31 | dumdum | If I have SDL2 WindowPtr, RendererPtr, SurfacePtr objs, how would one write a varargs cleanup function: proc cleanup(win, renderer, surface) which dispatches to destroy of each in Nim |
19:31:37 | * | Maxdamantus wonders if it would've made more sense to have the `tuple[]` and `tuple()` syntax the other way around—so [] is for anonymous ones. |
19:32:07 | dumdum | I am learning SDL through this tut: http://www.willusher.io/sdl2%20tutorials/2014/08/01/postscript-1-easy-cleanup/ |
19:33:15 | Araq | aleron: we know the tutorial still miss lots of stuff. PRs are always welcome |
19:33:50 | Araq | Maxdamantus: why? |
19:34:37 | Maxdamantus | Araq: because the (..) part resembles proc parameter lists. |
19:35:15 | Araq | Maxdamantus: the way I see it: named tuples were a mistake and it's good the unnamed get the nicer syntax now |
19:35:40 | Maxdamantus | Okay, that kind of works too. |
19:36:09 | Jehan_ | New feature? |
19:36:39 | Araq | Jehan_: not really. but we have no syntax for type((1, 2)) |
19:36:39 | Maxdamantus | Would it actually be a problem to write it without the `tuple` keyword? |
19:36:52 | Maxdamantus | Moreso than the current expression syntax for tuples. |
19:36:55 | Maxdamantus | echo () |
19:38:37 | Maxdamantus | I think it would be less problematic than that. |
19:39:01 | Araq | Jehan_: tuple[] requires names and this bites us for these reasons: https://github.com/Araq/Nim/issues/2176 where people came up with proc asKeyVal[T](x: T): auto = cast[seq[tuple[key: char, val: int]]](x) |
19:39:22 | Araq | since the stdlib is not consistent in its tuple field naming |
19:39:52 | * | batok quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
19:40:01 | Araq | I tried to "fix" that by ignoring tuple names in the type equality relation but that caused more trouble |
19:41:09 | Araq | Maxdamantus: hrm that could work |
19:41:34 | Araq | so type((1, 2, 'x') == (int, int, char) |
19:41:46 | Maxdamantus | Yes. |
19:41:58 | Maxdamantus | missed a bracket |
19:42:02 | Araq | yes |
19:51:29 | * | johnsoft quit (Ping timeout: 250 seconds) |
19:52:25 | * | johnsoft joined #nim |
19:53:48 | * | reem joined #nim |
19:55:10 | shalabh | sorry about gsoc guys, but lets try again next year. |
19:55:24 | shalabh | on the plus side we now have some well defined projects for anyone who wants to work for free |
19:55:29 | shalabh | ttyl |
19:55:36 | * | shalabh quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
19:59:10 | * | shodan45 joined #nim |
20:02:48 | * | mpthrapp_ quit (Remote host closed the connection) |
20:03:09 | * | mpthrapp_ joined #nim |
20:07:55 | * | BitPuffin quit (Ping timeout: 255 seconds) |
20:08:56 | * | fizzbooze quit (Ping timeout: 256 seconds) |
20:17:44 | aleron | Is there a way, when iterating over a string with for, to get the index of the current character? |
20:18:08 | aleron | other than a counter |
20:18:27 | Jehan_ | for i, ch in str: ... |
20:18:55 | Jehan_ | If a for loop has two variables, then it will implicitly use the pairs() iterator. |
20:19:07 | Jehan_ | Which for strings returns (index, character) for each iteration. |
20:19:12 | aleron | I see. Thank you |
20:23:49 | * | Angry quit (Ping timeout: 264 seconds) |
20:27:23 | flaviu | Have you seen http://lihaoyi.github.io/Ammonite/#Ammonite-Ops ? |
20:27:32 | * | BitPuffin joined #nim |
20:28:09 | flaviu | The api design is ... interesting. |
20:28:21 | flaviu | Something like that might have a place in Nim. |
20:28:29 | Jehan_ | flaviu: Yeah, I have. |
20:29:02 | * | aleron quit (Quit: leaving) |
20:30:56 | Jehan_ | Scala is still one of my favorite languages. If only it weren't tied to the JVM ecosystem … :) |
20:33:29 | gokr | Personally I haven't looked closer at Scala - given similar reasons - but I know several Smalltalkers like it. |
20:33:41 | gokr | it would be interesting to hear you compare it with Nim. |
20:33:50 | gokr | And sorry guys for GSoC. |
20:35:13 | Jehan_ | gokr: I'm not sure they are really comparable. Scala and Nim aim to fill different niches and make very different design choices. |
20:35:27 | * | Maxdamantus wonders if it would be bad to rename the current `tuple` type syntax to `struct`, then just make tuples anonymous and remove compatibility between the two. |
20:35:38 | Jehan_ | You could write one up, but it'd be like comparing apple juice and beer. :) |
20:35:43 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:35:54 | gokr | I skimmed the list of the approved orgs, no "niche languages" that I could see. Only "known" ones like Ruby, Clojure, Scala and Python. |
20:36:03 | Maxdamantus | and probably just disallow empty structs to disambiguate the `()` expression. |
20:36:04 | gokr | Jehan_: Yeah, I know. |
20:36:22 | * | fizzbooze joined #nim |
20:37:30 | Jehan_ | gokr: That said, somewhat relevant for Nim, I do miss some of the nicer OO features that Scala has in Nim. But I also understand why Araq chose to go a different way (or at least I think I do). |
20:38:31 | Jehan_ | I've always been a multi-paradigm person. Rather than wanting OO or functional or logic or imperative programming, my answer generally boils down to "all of the above, please". :) |
20:38:35 | * | reem quit (Remote host closed the connection) |
20:39:34 | Jehan_ | The thing that has always been fascinated me about Smalltalk (and which carries over to Scala to some extent) is the extremely nice integration of object-oriented programming and higher order functions in the language. |
20:39:50 | gokr | yeah |
20:39:51 | Maxdamantus | but then there'd probably be too much overlap between object/struct. |
20:40:15 | gokr | Maxdamantus: I think Araq has some thoughts in that area too, although I am unsure. |
20:41:01 | reactormonk | Jehan_, nim doesn't really have the inheritance stuff, which can get ugly. But with the unified call syntax, you can get close enough |
20:41:32 | Jehan_ | reactormonk: Well, methods and "object of" do get you inheritance, but that's not really what I primarily want. |
20:41:54 | reactormonk | Jehan_, I tend to treat objects as pure data holders usually, so nim is just fine |
20:42:15 | Jehan_ | For me, it's secondary to being able to encapsulate data and associated behavior logically. |
20:42:21 | gokr | I think I know what you mean - the fact that Smalltalk was designed with blocks from the beginning - through all control structures - makes a very strong "whole". |
20:42:42 | Jehan_ | Note that I don't always want it, but I do like having the option. |
20:42:44 | reactormonk | I usually don't encapusalte too much - pretty sure someone wants to hack my code at some point. |
20:42:49 | Jehan_ | gokr: Yeah. |
20:43:04 | gokr | reactormonk: That's slightly funny way to put it "treat objects as pure data holders". Then you are not doing OO, sorry. |
20:43:25 | fowl | data>objects |
20:43:28 | reactormonk | gokr, there's at least ten different definitions of OO |
20:43:47 | gokr | Well, very very few of them claim that objects are "pure data holders", I can assure you. |
20:43:58 | reactormonk | but there's a few ;-) |
20:44:04 | Jehan_ | reactormonk: There are also at least ten different definitions of functional programming. :) |
20:44:18 | reactormonk | Jehan_, most of them talk about immutable data structures. |
20:44:29 | Maxdamantus | but only one correct one. |
20:44:31 | Jehan_ | Human-made languages, alas, tend to be less precise than programming languages. |
20:44:34 | gokr | But ok, I am a hard core Smalltalker - so I tend to disagree with *everyone* about what OO is - not just you ;) |
20:44:41 | * | reem joined #nim |
20:44:56 | reactormonk | gokr, oh yeah. I'd never claim Java or C++ to be OO |
20:45:23 | Jehan_ | reactormonk: You can identify core elements of OO like that, too (and it's not like immutability is a particularly strict requirement). |
20:45:32 | Jehan_ | For functional programming, that is. |
20:45:34 | reactormonk | Jehan_, hm. right. |
20:45:39 | reactormonk | first-class functions then. |
20:45:40 | Maxdamantus | I think I saw some weird use of the term "functional" in the nim manual. |
20:45:46 | reactormonk | Maxdamantus, fix it then |
20:45:54 | * | batok joined #nim |
20:46:03 | Maxdamantus | FP isn't necessarily about first-class functions. |
20:46:15 | reactormonk | how can you go FP without first-class functions? |
20:46:19 | Maxdamantus | That's generally related to HOP. |
20:46:25 | gokr | But looking at Nim I think most of the basic mechanisms are there for reasonable OO. Especially since Araq fixed the super calls :) |
20:46:32 | * | kblake left #nim (#nim) |
20:46:40 | Maxdamantus | reactormonk: using the S and K combinators. |
20:46:55 | reactormonk | Maxdamantus, I'm not familiar with that terminology. |
20:46:56 | Maxdamantus | er, no, those still use first-class functions. |
20:47:02 | gokr | And since we (3DICC) are die hard Smalltalkers - we sure intend to do a fair bit of OO in Nim :) |
20:47:24 | * | bpr joined #nim |
20:47:24 | awesomo4000 | what’s OO |
20:47:32 | Maxdamantus | You don't need first-class functions for FP. You just need to avoid side effects of calling functions. |
20:47:41 | gokr | "object orientation" |
20:48:12 | awesomo4000 | what’s that mean |
20:48:43 | gokr | awesomo4000: http://en.wikipedia.org/wiki/Object-oriented_programming |
20:48:53 | bpr | By my definition of FP, you need first class functions. If you really think the name FUNCTIONal means something, then yes, passing fns as arguments, returningthem, that makes an FP. Not immutability. |
20:49:09 | Maxdamantus | bpr: no, that's higher-order progarmming. |
20:49:24 | Maxdamantus | bpr: functional programming refers to functions relating to the concept of "function" in mathematics. |
20:49:41 | Maxdamantus | bpr: which is something that transforms values, nothing else. |
20:50:06 | bpr | <Maxdamantus> You don't really get to tell me what my definition of FP is, do you? :-) |
20:50:25 | Maxdamantus | I get to tell you that your use of the term FP is wrong. |
20:50:44 | Jehan_ | Interesting discussion on the fossil ML about making it more scalable and addressing Ben Pollack's issues. |
20:50:47 | bpr | You can tell me that, but why should I believe you are correct? |
20:50:48 | Jehan_ | Oops, wrong window. |
20:50:52 | Maxdamantus | If I used the term "elephant" to refer to a monkey, you can point that out too. |
20:50:53 | awesomo4000 | FP is a marketing term. It’s nebulous, like “cloud”. Pick the features you find useful. |
20:51:17 | reactormonk | awesomo4000, except haskell. Haskell is FP. ;-) |
20:51:37 | Maxdamantus | http://commons.wikimedia.org/wiki/File:Function_machine2.svg |
20:51:53 | bpr | Haskell is one FPL. OCaml another. Scheme a third. |
20:52:07 | Maxdamantus | bpr: nevertheless, there is a term that denotes exactly what you're describing: higher-order programming. |
20:52:19 | awesomo4000 | Haskell is an example of a FP. Even then, you can use imperative programming in Haskell. |
20:52:46 | Maxdamantus | bpr: which is usually implicit in FP, but it's very common/useful outside of it and there's no actual dependency on it in FP. |
20:52:52 | awesomo4000 | passing functions around … that’s useful. i like map. i like reduce. i like folds. |
20:53:08 | Jehan_ | I find it interesting how pattern matching is considered an FP concept by many even though it had its origins in Prolog. |
20:53:22 | * | zsatz joined #nim |
20:54:39 | gokr | Jehan_: Yeah, IMHO the canonical functional language is Lisp. |
20:54:55 | Jehan_ | gokr: Not sure if there's a "canonical" one. |
20:55:20 | gokr | Well, I may use the word wrongly given I am not a native english speaker - but its the one I think of - when people say functional. |
20:55:28 | zsatz | Total beginner question here. Got the zip, puts the contents in ~/bin/nim-0.10.2/, ran the build and it said "SUCCESS," added ~/bin/nim-0.10.2/bin to my path, but I get "Error: cannot 'importc' variable at compile time" when I try to run "nim i". Is this a common? |
20:55:37 | Maxdamantus | I don't think Lisp is particularly encouraging of FP. |
20:55:40 | gokr | And it surely (?) predates all other mentioned. |
20:56:19 | Maxdamantus | afaik, definitions are usually a form of mutation. |
20:56:20 | Jehan_ | gokr: Yeah, but historical precedent does not necessarily relate to how good an example something is. |
20:56:26 | gokr | true |
20:56:43 | Jehan_ | I'd argue that it's often the later versions that are better (because of trial and error). |
20:57:13 | fowl | zsatz, yes nim i is limited |
20:57:15 | Jehan_ | Maxdamantus: Well, setq alone was pretty commonplace in the original LISP. |
20:57:26 | gokr | For a modern reference I guess Haskell is the one I would think of then :) |
20:57:45 | zsatz | fowl: OK. Thanks. |
20:58:02 | bpr | <Jehan_> If purity is your deciding factor of how functional a language is, thenSML and OCaml are out too. |
20:58:09 | Jehan_ | zsatz: "nim i" has only a limited VM available and cannot access some low-level functionality (because that would require compiling to C rather than interpreting it via the internal VM). |
20:58:23 | Jehan_ | bpr: It isn't for me. |
20:58:45 | zsatz | Jehan_: OK, that makes sense. Thanks for the insight. |
20:58:57 | bpr | Not sure I understand. SML is not for you, or the definition of FPL as being "pure"? |
20:58:58 | reactormonk | zsatz, usually a better idea to go for nim -r c test.nim |
20:59:11 | Maxdamantus | SML isn't pure. |
20:59:20 | Maxdamantus | it has variable assignment. |
20:59:24 | awesomo4000 | nothing that can do “print” is pure. |
20:59:28 | Jehan_ | I was just saying that LISP doesn't score highly for this particular criterion, but had also pointed out earlier that I don't necessarily consider immutability to be a defining characteristic of FP. |
20:59:34 | bpr | Of course it's not pure. Who ever said that? |
20:59:45 | Maxdamantus | Ah, nvm. |
20:59:52 | reactormonk | but but but I need my virgins pure |
21:00:19 | onionhammer | Araq that websocketmem prog seems to behave better on windows, at least memory wise, but still slowly creeping up. I'll let it run longer |
21:00:32 | onionhammer | still working on getting a smaller subset to reproduce this thoug |
21:00:39 | bpr | <jehan_> Ack! Anyways, Nim is an FPL to me despite it's many impurities. |
21:01:04 | awesomo4000 | i find it interesting that the boundary of purity is cpu instructions and memory reads and writes. |
21:01:24 | Jehan_ | Purity is more of a philosophical concept, anyway. |
21:01:29 | awesomo4000 | those are both side effects, right ? |
21:01:44 | bpr | Exceptions are also impure. |
21:02:03 | Jehan_ | After all, any Turing-complete "purely functional" language can completely emulate an imperative language with all the side effects in the world. |
21:02:04 | Maxdamantus | Depends how you model them. |
21:02:43 | Maxdamantus | Exceptions can be pure. |
21:03:09 | Maxdamantus | It would usually require things like enforcement of evaluation order. |
21:04:08 | bpr | <jehan_> I suppose that's true, but how do you write an efficient purely functional union find? It's the 'efficient' part that takes you out of the philosophical equivalent. |
21:05:24 | gokr | Jehan_: Sidenote (can't resist) - do you use Fossil? |
21:05:54 | Jehan_ | bpr: You can always emulate mutable operations with an overhead of at most O(log(n)). |
21:06:39 | Jehan_ | Of course, in practice, the constant factor is rather large, but that makes it hard to say something is inefficient in any precise sense of the term. |
21:07:05 | Jehan_ | gokr: I'm a VCS junkie. If there's an (open source) VCS, I've probably used it at some point in my life. |
21:07:17 | gokr | Jehan_: Hehe, I used to be that too. |
21:07:22 | Jehan_ | And yes, that includes PRCS and tla. |
21:07:28 | gokr | You haven't used Monticello though :) |
21:07:39 | gokr | tla, hehe, masochistic. |
21:07:52 | Jehan_ | gokr: True, though I know enough about it to be dangerous if you let me near it. |
21:08:01 | gokr | I really liked Darcs. |
21:08:14 | bpr | BTW, sorry about the GSOC results. I bet the feedback will be as useful as the feedback from last year. You know, there's A+ and not A+ :-( |
21:08:21 | Jehan_ | gokr: At the time, tla was one of the best options around. |
21:08:42 | gokr | yeah, I remember tla - though I can't say I "used" it - mostly played. |
21:08:46 | Jehan_ | Remember, that was before Git/Mercurial/etc. and while Darcs had really, really bad performance issues. |
21:08:52 | gokr | yup |
21:09:22 | batok | I am looking for examples using relational databases. Is there anything available ? |
21:09:24 | Jehan_ | gokr: I used it for both thesis work and personal projects at the time. |
21:09:38 | reactormonk | batok, do_* stuff? |
21:09:46 | Jehan_ | gokr: To this day, I wish that Canonical hadn't all but abandoned Bzr, too. |
21:10:12 | reactormonk | Jehan_, gotta join the great git unification now |
21:10:16 | gokr | Yeah, I know one company that stuck to Bzr, not sure if they still do. A Perl place. |
21:10:45 | Jehan_ | reactormonk: Interestingly enough, Git is the VCS I'm using the least at the moment. |
21:11:14 | batok | reactormonk this is my first day using nim. I don't know what you mean by do_* ( sorry ) |
21:11:21 | * | gokr moving SCM discus to nim-offtopic... |
21:11:23 | reactormonk | batok, do_sqlite |
21:11:31 | reactormonk | e.g. |
21:11:45 | Jehan_ | There's nim-offtopic? |
21:12:16 | reactormonk | batok, http://nim-lang.org/db_sqlite.html |
21:12:27 | batok | tks reactormonk |
21:15:19 | * | Menche joined #nim |
21:15:46 | * | zsatz quit (Ping timeout: 246 seconds) |
21:28:54 | * | Jesin quit (Remote host closed the connection) |
21:34:37 | * | reem quit (Remote host closed the connection) |
21:36:08 | * | awesomo4000 quit (Quit: awesomo4000) |
21:38:14 | * | reem joined #nim |
21:38:57 | * | Jesin joined #nim |
21:39:57 | * | batok quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
21:45:36 | * | awesomo4000 joined #nim |
21:52:47 | * | dumdum quit (Ping timeout: 256 seconds) |
21:52:49 | * | Menche quit (Quit: Leaving) |
21:55:27 | * | Menche joined #nim |
21:55:33 | * | jfchevrette quit (Quit: Textual IRC Client: www.textualapp.com) |
21:57:15 | * | mpthrapp_ quit (Remote host closed the connection) |
21:59:49 | * | BlaXpirit quit (Quit: Quit Konversation) |
22:02:59 | ldlework | Did Nim get into gsoc? |
22:03:02 | def- | no |
22:03:17 | * | reem quit (Remote host closed the connection) |
22:04:24 | gokr | def-: Sorry man. |
22:04:47 | * | bpr quit (Quit: Page closed) |
22:13:36 | * | sillesta joined #nim |
22:26:59 | * | batok joined #nim |
22:28:54 | * | lloydde joined #nim |
22:29:00 | * | reem joined #nim |
22:29:31 | lloydde | I'm new to nim, I compiled from source and then try to run the tests but they fail on: |
22:29:51 | lloydde | /home/user/Nim/tests/testament/tester.nim(15, 21) Error: cannot open 'compiler/nodejs' |
22:30:06 | lloydde | do I need to install the package manager and get that package or something? |
22:31:30 | Araq | lloydde: you need a compiler/ dir next to tests/ |
22:33:15 | * | Mandar joined #nim |
22:33:26 | lloydde | $ ls -l compiler/ tests/ | grep -B 1 total |
22:33:26 | lloydde | compiler/: |
22:33:26 | lloydde | total 11442 |
22:33:28 | lloydde | -- |
22:33:30 | lloydde | tests/: |
22:33:32 | lloydde | total 110 |
22:35:29 | Araq | tester.nim.cfg contains: |
22:35:31 | Araq | path = "$nim" # For compiler/nodejs |
22:40:34 | * | batok quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
22:44:10 | * | reem quit (Remote host closed the connection) |
22:54:52 | lloydde | sorry I don't follow. I tried exporting various values for nim in bash. I tried editing ~/bin/nim/config/nim.cfg adding a line path="$lib/compiler". I'm at a loss. |
23:01:01 | * | gsingh93 quit (Ping timeout: 264 seconds) |
23:01:53 | * | dumdum joined #nim |
23:02:37 | Araq | so where do you have your tests/ directory? |
23:05:26 | reactormonk | lloydde, how did you compile from source? via the git repo? |
23:22:47 | * | Pisuke quit (Quit: WeeChat 1.2-dev) |
23:25:50 | * | sillesta quit (Ping timeout: 252 seconds) |
23:26:19 | * | gsingh93 joined #nim |
23:29:58 | lloydde | Araq , reactormonk clean ubuntu 14.04 vm https://gist.github.com/lloydde/727f0470605eb2016bf8 |
23:30:38 | Araq | lloydde: don't do ./koch install /home/user/bin |
23:31:08 | Araq | why do people install this thing? I'll never get it. |
23:31:35 | lloydde | "koch install [dir] may then be used to install Nim, or you can simply add it to your PATH." |
23:31:53 | dom96 | Araq: Any ideas if we could make this safer? https://github.com/Araq/Nim/pull/2244/files#diff-e7d29941cb2ca6bf4e0f5c627239bc7bR545 |
23:31:57 | * | dumdum quit (Ping timeout: 256 seconds) |
23:31:57 | * | untitaker quit (Ping timeout: 245 seconds) |
23:33:59 | gokr | lloydde: We should probably... add a comment that its MUCH better to not install :) Just add bin/nim to your path |
23:34:58 | lloydde | I'm submit the doc pull when I get this working. The text at https://github.com/nim-lang/csources is also stale and I'll send a pull for that. |
23:35:21 | gokr | lloydde: Btw, see my article... |
23:35:25 | Maxdamantus | adding it as a symlink to an existing directory in the path seems to work well. |
23:35:50 | gokr | lloydde: http://goran.krampe.se/category/nim/ (especially the one called "Bootstrapping Nim(rod)" |
23:36:06 | gokr | Maxdamantus: yeah, I do that. |
23:36:21 | gokr | Maxdamantus: Then its easy to switch around between devel and master etc |
23:36:34 | lloydde | thnx gokr |
23:37:00 | Araq | Maxdamantus: no it doesn't work well. |
23:37:12 | Araq | it fails randomly for various people and OSes |
23:37:27 | Araq | I already updated the page |
23:37:31 | Araq | it now says |
23:37:36 | Araq | "koch install [dir] may then be used to install Nim, but lots of things don't work then so don't do that. Add it to your PATH instead." |
23:37:51 | gokr | Araq: Maxdamantus meant symlinking works well. |
23:38:07 | Araq | gokr: yes. it doesn't. |
23:38:07 | gokr | Not the install. |
23:38:21 | Araq | I know, but symlinking really doesn't work well |
23:38:23 | * | untitaker joined #nim |
23:38:31 | gokr | Only symlinking in the nim compiler? |
23:38:49 | gokr | That's what I do. |
23:38:58 | Araq | too many people reported problems with symlinking to say "it works well" |
23:39:14 | Araq | it might work well for *you* ;-) |
23:39:23 | gokr | But "koch install" does much more. |
23:39:41 | Araq | "koch install" is worse :P |
23:39:47 | Maxdamantus | Well, I was right in it seeming to work well. |
23:39:50 | gokr | Ok, oh well. |
23:40:04 | gokr | Works fine for me so far though :) |
23:40:35 | gokr | But then you might want to be even more detailed in that text. |
23:40:53 | dom96 | Araq: please also review 2244, it adds some things to strtabs. |
23:40:56 | Araq | we used to suggest symlinking btw. we don't anymore |
23:41:20 | Araq | dom96: later ok? |
23:41:30 | gokr | Change to: "Add it to you PATH instead, and don't just symlink - it has been reported to sometimes cause issues." |
23:42:09 | Araq | I think it's fine to simply not say anything about it |
23:42:24 | Jehan_ | An alternative is to create a shell script that does: exec /path/to/nim "$@" |
23:42:28 | Jehan_ | For what that's worth. |
23:42:41 | Araq | if it works for you, great, but it's not officially recommended |
23:43:22 | Araq | alternatively we could figure out how to set '$nim' properly |
23:43:30 | Araq | but I guess I already know |
23:43:47 | dom96 | Araq: fine |
23:43:56 | * | sillesta joined #nim |
23:43:57 | Araq | compiler/ needs to move to lib/ |
23:44:27 | flaviu | I've never not symlinked nim. |
23:44:39 | * | reem joined #nim |
23:45:57 | * | shodan45 quit (Quit: Konversation terminated!) |
23:46:26 | flaviu | Maybe symlinking only fails on windows? |
23:46:53 | Araq | flaviu: no, it used to fail on macs |
23:47:13 | Araq | and on BSDs iirc |
23:47:55 | * | flaviu quit (Remote host closed the connection) |
23:48:09 | * | flaviu joined #nim |
23:48:33 | Jehan_ | Yeah, but that was because of a bug. |
23:49:28 | * | batok joined #nim |
23:49:28 | * | reem quit (Ping timeout: 265 seconds) |
23:49:29 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:49:31 | * | dapz joined #nim |
23:49:53 | Jehan_ | Didn't run realpath() on the result. |
23:50:41 | Araq | oh really? ok |
23:51:59 | Jehan_ | Been running a symlinked nim on OS X since forever. |
23:52:07 | Jehan_ | Well, ever since that bug got fixed. |
23:52:21 | * | awesomo4000 quit (Quit: awesomo4000) |
23:52:56 | * | awesomo4000 joined #nim |
23:53:18 | flaviu | Nice to hear it was just a bug. |
23:53:40 | * | dapz quit (Client Quit) |
23:55:45 | Jehan_ | changeset: [public] 2113 |
23:55:45 | Jehan_ | id: 9a9a3c46a8aee82803d9a4bfd12c571d0baac449 |
23:55:45 | Jehan_ | author: Dominik Picheta <[email protected]> |
23:55:45 | Jehan_ | date: Sat, 22 Jun 2013 00:15:07 +0100 (20 months ago) |
23:55:45 | Jehan_ | Symlinks are now expanded in os.getAppFilename on Mac OS X. |
23:55:45 | Jehan_ | M lib/pure/os.nim |
23:55:47 | * | Demon_Fox joined #nim |
23:56:42 | Araq | but it might still be wrong for BSD :P |
23:58:50 | Jehan_ | Oh, sure. |
23:59:04 | Jehan_ | But I'm not firing up a VM right now to find out. :) |
23:59:18 | Jehan_ | Anyhow, good night! |
23:59:20 | * | Jehan_ quit (Quit: Leaving) |
23:59:28 | dom96 | oh look it's my name |