00:16:00 | * | xtagon quit (Quit: Leaving) |
00:29:22 | * | xenagi joined #nimrod |
00:29:46 | * | xtagon joined #nimrod |
00:36:31 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
00:41:32 | * | Icefoz joined #nimrod |
00:59:29 | * | Demos joined #nimrod |
00:59:56 | Demos | hey, it looks like os.splitFile returns a path with '/' separators on windows |
01:06:46 | Varriount | Demos: Should it not? |
01:07:14 | Demos | well windows does traditionally used \s |
01:07:21 | Demos | although few windows programs seem to care |
01:08:06 | Varriount | Demos: If you want to make path styles returned by the os functions consistant, be my guest. |
01:08:50 | Demos | yeah I may. Probably a constant in os, but I am not totally sure making it '\' is the "right thing to do" |
01:10:46 | Varriount | Demos: If I (or Araq) didn't care about performance, paths would probably be represented by types, not strings. |
01:11:32 | Demos | one could probably get path types to be quite fast |
01:12:02 | Varriount | One thing os.nim lacks is the possibility to create paths of kinds other than the native system type. |
01:12:42 | Varriount | This is the kind of thing that really needs to be drawn up in a plan of some sort. *shrug* |
01:13:31 | Varriount | Demos: Anyway, interfacing with windows api's is about to become nicer. |
01:14:56 | Varriount | Demos: https://github.com/Varriount/Nimrod/blob/209449202bb49e1375c963771ca9b50c1703a4aa/lib/windows/winlean.nim |
01:28:21 | Varriount | Demos: Ping |
01:28:29 | Demos | pong |
01:29:12 | Varriount | Demos: This probably sounds stupid, but can you explain what "WideCString* = ref array[0.. 1_000_000, TUtf16Char]" is, in the context of a type definition? |
01:30:12 | Demos | I /think/ it is a pointer to an array of 2 byte characters |
01:30:32 | Varriount | And how long is the array? |
01:30:52 | Demos | well you hope that all the memory up to the \0 is allocated :D |
01:31:22 | Demos | arrays in C are not bounds checked, this one is the same |
01:31:51 | Varriount | So, it's actual length is not necessarily 1000000? |
01:32:25 | * | OrionPK quit (Read error: Connection reset by peer) |
01:33:03 | Demos | yeah |
01:33:11 | Demos | I mean that is what it looks like |
01:33:30 | * | vendethiel quit (Ping timeout: 252 seconds) |
01:33:39 | * | vendethiel joined #nimrod |
01:34:10 | Demos | I mean one could say that all arrays in C are like 1..std::numeric_limits<size_t>::max() |
01:34:13 | Demos | well c++ :D |
01:34:31 | Varriount | Ah. I see. |
01:35:07 | Demos | yeah, having each cstring take up over a 2MB would be "A Bad Thing" |
01:36:23 | Varriount | What I really need right now is a something that tests every wrapped api call in windows.nim and friends. |
01:37:59 | Demos | just for functionality? |
01:38:25 | Demos | like to make sure you spelled the name correctly? |
01:38:41 | Varriount | Demos: That, and to make sure the parameters are correct |
01:39:35 | Varriount | You know if there's any way I can do that? Some special windows dev tool? |
01:42:32 | renesac | I have a hum |
01:42:51 | renesac | wrong channel, wrong time |
01:44:11 | * | DAddYE quit (Remote host closed the connection) |
01:44:51 | Demos | Varriount, I don't think so :( |
01:48:50 | * | brson quit (Ping timeout: 264 seconds) |
01:59:56 | * | nueva quit (Quit: Bye) |
02:03:59 | * | Demos quit (Ping timeout: 240 seconds) |
03:04:51 | * | Raynes quit (Max SendQ exceeded) |
03:05:08 | * | Raynes joined #nimrod |
03:05:56 | Varriount | Gah. |
03:09:28 | * | aruniiird joined #nimrod |
03:13:57 | * | Icefoz quit (Quit: leaving) |
03:19:44 | * | Demos joined #nimrod |
03:20:58 | * | aruniiird quit (Ping timeout: 245 seconds) |
03:32:43 | * | aruniiird joined #nimrod |
03:35:41 | * | DAddYE joined #nimrod |
04:35:35 | * | Demos quit (Ping timeout: 272 seconds) |
04:42:24 | xtagon | Varriount, what's the "Gah" for? |
04:43:19 | * | aruniiird quit (Ping timeout: 252 seconds) |
04:50:39 | * | xenagi quit (Quit: Leaving) |
04:56:15 | * | aruniiird joined #nimrod |
04:59:10 | renesac | https://github.com/ReneSac/ParticleBench/blob/master/N.nim <-- mostly finished, I think |
04:59:47 | * | renesac is now known as renesac|away |
05:07:58 | * | brson joined #nimrod |
05:19:38 | * | LordAndrew quit (Quit: Out.) |
05:24:56 | * | Demos joined #nimrod |
05:30:03 | * | Demos quit (Ping timeout: 272 seconds) |
05:32:16 | * | xtagon quit (Quit: Leaving) |
06:23:03 | * | BitPuffin quit (Ping timeout: 245 seconds) |
06:40:45 | * | DAddYE quit (Remote host closed the connection) |
06:41:11 | * | DAddYE joined #nimrod |
06:43:59 | * | aruniiird quit (Ping timeout: 252 seconds) |
06:44:51 | * | DAddYE_ joined #nimrod |
06:45:47 | * | DAddYE quit (Ping timeout: 272 seconds) |
06:46:48 | * | brson quit (Ping timeout: 245 seconds) |
06:47:21 | * | Mordecai joined #nimrod |
06:47:59 | * | psquid quit (Ping timeout: 240 seconds) |
06:57:12 | * | aruniiird joined #nimrod |
07:21:59 | * | brson joined #nimrod |
07:58:01 | * | psquid joined #nimrod |
07:58:29 | * | Mordecai quit (Ping timeout: 240 seconds) |
08:00:37 | * | aruniiird quit (Ping timeout: 248 seconds) |
08:10:08 | * | DAddYE_ quit (Remote host closed the connection) |
08:10:36 | * | DAddYE joined #nimrod |
08:12:48 | * | aruniiird joined #nimrod |
08:12:48 | * | DAddYE quit (Read error: Connection reset by peer) |
08:13:15 | * | DAddYE joined #nimrod |
08:14:32 | * | DAddYE quit (Remote host closed the connection) |
08:14:58 | * | DAddYE joined #nimrod |
08:18:33 | * | Mordecai joined #nimrod |
08:18:59 | * | psquid quit (Ping timeout: 240 seconds) |
08:19:31 | * | DAddYE quit (Ping timeout: 272 seconds) |
08:27:41 | * | DAddYE joined #nimrod |
08:27:52 | * | DAddYE quit (Remote host closed the connection) |
08:27:58 | * | DAddYE joined #nimrod |
08:47:32 | Araq | Varriount: paths as types are easily do-able without any overhead: Path = distinct string |
08:48:15 | Araq | but then people would complain the path constructor doesn't do any path validation and it goes downhill from there |
09:08:17 | * | faassen quit (Quit: Leaving.) |
09:13:45 | Araq | ping zielmicha-cloud_ |
09:30:16 | * | CarpNet joined #nimrod |
09:33:52 | * | delian66 joined #nimrod |
09:59:03 | * | DAddYE quit (Remote host closed the connection) |
09:59:30 | * | DAddYE joined #nimrod |
10:04:39 | * | DAddYE quit (Ping timeout: 272 seconds) |
10:50:02 | * | aruniiird quit (Ping timeout: 264 seconds) |
11:00:09 | * | DAddYE joined #nimrod |
11:05:25 | * | DAddYE quit (Ping timeout: 252 seconds) |
11:05:47 | mietek | dom96: hello to you too! |
11:05:51 | mietek | I am mostly lurking for now |
11:07:17 | * | aruniiird joined #nimrod |
11:12:37 | * | aruniiird quit (Ping timeout: 248 seconds) |
11:25:22 | * | aruniiird joined #nimrod |
11:35:45 | * | brson quit (Ping timeout: 272 seconds) |
11:43:33 | * | comex quit (Ping timeout: 252 seconds) |
11:43:50 | * | comex joined #nimrod |
11:54:01 | * | Mordecai is now known as PSquid |
11:54:26 | * | PSquid is now known as psquid |
12:08:51 | * | aruniiird quit (Ping timeout: 252 seconds) |
12:16:42 | * | BitPuffin joined #nimrod |
12:20:03 | * | Mordecai joined #nimrod |
12:20:09 | * | Mordecai quit (Changing host) |
12:20:09 | * | Mordecai joined #nimrod |
12:20:29 | * | psquid quit (Ping timeout: 240 seconds) |
12:26:55 | * | BitPuffin quit (Ping timeout: 260 seconds) |
12:40:25 | * | Mordecai quit (Ping timeout: 245 seconds) |
12:40:56 | * | Mordecai joined #nimrod |
12:41:25 | EXetoC | dom96: have you worked on that lambda macro as of lately? |
13:17:20 | * | aftersha_ joined #nimrod |
13:17:26 | * | aftersha_ quit (Client Quit) |
13:18:13 | * | isenmann quit (Quit: Leaving.) |
13:18:40 | * | psquid joined #nimrod |
13:20:35 | * | Mordecai quit (Ping timeout: 260 seconds) |
13:26:09 | * | aftersha_ joined #nimrod |
13:38:45 | * | wan joined #nimrod |
13:42:24 | * | nueva joined #nimrod |
13:43:29 | * | pe7ed27 quit (Ping timeout: 246 seconds) |
13:44:50 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
13:45:24 | * | [Pete_27] joined #nimrod |
13:45:46 | * | hitesh quit (Ping timeout: 265 seconds) |
13:47:57 | * | darkf quit (Quit: Leaving) |
13:49:08 | * | aftersha_ joined #nimrod |
13:52:36 | * | betawaffle joined #nimrod |
13:53:41 | * | [1]Endy joined #nimrod |
13:54:49 | * | Eruquen quit (Ping timeout: 272 seconds) |
14:00:47 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
14:01:02 | * | Eruquen joined #nimrod |
14:02:17 | * | io2 joined #nimrod |
14:02:18 | * | OrionPK joined #nimrod |
14:56:45 | EXetoC | there's cgi.URLencode, but nothing for percent-encoding non-ASCII chars, right? |
15:03:22 | EXetoC | only such chars that is, rather than reserved ones as well. I could just add a bool flag to that proc |
15:04:52 | * | [2]Endy joined #nimrod |
15:07:59 | * | [1]Endy quit (Ping timeout: 240 seconds) |
15:16:47 | * | delian66 quit (Ping timeout: 260 seconds) |
15:22:52 | * | Demos joined #nimrod |
15:25:03 | * | delian66 joined #nimrod |
15:31:05 | * | Demos quit (Ping timeout: 272 seconds) |
15:32:05 | * | psquid quit (Quit: work) |
15:34:05 | * | bbodi quit () |
15:35:57 | io2 | dom96: https://twitter.com/irrequietus/status/426739748791517185 :) |
15:36:13 | io2 | nice to see more blog posts about nimrod |
15:36:21 | * | renesac|away is now known as renesac |
15:45:33 | dom96 | EXetoC: An issue is blocking the macro. |
15:45:46 | * | dom96 hasn't checked if it was fixed already in a while though |
15:45:54 | dom96 | io2: indeed :) |
15:46:17 | EXetoC | ok. yeah I remember |
15:52:53 | * | mal`` quit (Ping timeout: 272 seconds) |
15:53:52 | renesac | where the length of an string or array is stored? I did a 'sizeof(some_string)' and it is only the size of a pointer |
15:54:50 | OrionPK | who's blog post is that on VocalBit? |
15:54:57 | OrionPK | whose |
15:55:03 | EXetoC | renesac: yes sizeof is a compile-time construct. use 'len' |
15:55:48 | EXetoC | hm, it should work on arrays imo, since the size is static, but strings are dynamic |
15:55:51 | renesac | no, I want to know where the field storing the string lenght is |
15:56:01 | EXetoC | ok |
15:56:04 | dom96 | OrionPK: vbtt |
15:56:44 | renesac | a implementation detail, but good to know if I go around designing data structures |
15:56:47 | renesac | in nimrod |
15:56:48 | Araq | renesac: it's at offset 0 iirc |
15:56:56 | * | mal`` joined #nimrod |
15:57:26 | Araq | yeah, look at system.TGenericSeq |
15:57:37 | Araq | system.nim, line 194 |
15:57:43 | renesac | hum, so I have just a pointer in one side, that points to a 4/8bytes size followed by the data? |
15:58:08 | Araq | nope, it's len, reserved and then followed by the data |
15:58:33 | Araq | btw system.len is inlined and doesn't produce a call |
15:59:44 | renesac | what is 'reserved'? |
15:59:51 | Araq | "capacity" |
16:00:28 | renesac | oh, right |
16:00:35 | EXetoC | is anyone interested in scraping the internets using Nimrod? I'm currently expanding the relevant interfaces, because they lack certain shortcuts |
16:00:58 | Araq | scraping? do you mean crawling? |
16:01:30 | renesac | is there any way to create a seq reserving X bytes beforehand? So I can append quickly lots of things to it? |
16:01:42 | Araq | newStringOfCap ? |
16:01:49 | renesac | hum |
16:02:12 | Araq | newSeq(x, lenght); setLen(x, 0); |
16:02:20 | EXetoC | Araq: no, data extraction. I think crawling is a little different in that the purpose is indexing |
16:02:21 | Araq | I think newSeqOfCap is still missing |
16:02:22 | renesac | humm |
16:03:08 | renesac | well, for the Particle Bench I implemented a "TPts" object |
16:03:39 | renesac | indexing in an array is probably marginally faster than appending in a seq |
16:03:42 | renesac | https://github.com/ReneSac/ParticleBench/blob/master/N.nim |
16:04:31 | Araq | type TPts = ref object ??? |
16:05:27 | renesac | I shouldn't use ref? |
16:05:31 | EXetoC | I've added a redirect history seq to the return value of httpclient.get, and I'd like to add it to getContent as well. the latter would then throw on {4,5}xx, just as it does now |
16:05:50 | renesac | I though as I was passing as parameter ref would be better, but I wasn't sure how nimrod works |
16:06:28 | Araq | nimrod passed things by pointer to procs whenever it pleases |
16:06:39 | renesac | hum |
16:06:51 | Araq | since parameters are immutable this doesn't cause much harm |
16:06:58 | * | BitPuffin joined #nimrod |
16:07:11 | Araq | in C++ terms a parameter is const&T |
16:07:12 | BitPuffin | oi araqie milarkie mate is the error fixed yet? |
16:07:37 | dom96 | We should submit vbtt's blog post to HN and upvote it to the top. Who's in? |
16:07:39 | renesac | I was afraid of not be able to modify the array contents if I passed as a simple object, but didn't test it |
16:07:41 | EXetoC | I also have a convenient interface for turning the body into a PXmlNode. where does that belong? in another module or outside the stdlib? |
16:07:52 | BitPuffin | dom96: is it on rädit? |
16:07:55 | dom96 | BitPuffin: yeah |
16:08:16 | Araq | renesac: well yes, pass via 'var T' if you want to modify it |
16:08:32 | BitPuffin | dom96: linkur so I can upvotur |
16:08:44 | dom96 | http://www.reddit.com/r/programming/comments/1w0dbt/exploring_type_classes_in_nimrod/ |
16:08:51 | BitPuffin | Araq: is the error thing the other day fixed? |
16:08:54 | BitPuffin | the one with ropes |
16:09:03 | EXetoC | I don't know if anyone is able to follow. I can't log in to the forum, so I guess I'll create a github wiki or something |
16:10:03 | Araq | BitPuffin: working on it |
16:11:49 | renesac | Araq: so it is better to create a simple object and pass as a 'var T' than to create a ref and pass normally? Only for clarity or they will behave differently? |
16:12:19 | Araq | 'var T' is sugar for 'ptr T', 'ref T' allocates on the GC'ed heap |
16:12:20 | EXetoC | I'm also working on something similar to http://www.crummy.com/software/BeautifulSoup/bs4/doc/ . it's directly related to xml navigation, so it does belong in xmltree, right? |
16:12:29 | BitPuffin | Araq: okay just wanted to check the status. It's no rush anyway since I'm raped by work from my internship |
16:12:33 | * | q66 quit (Changing host) |
16:12:33 | * | q66 joined #nimrod |
16:12:51 | renesac | right, well, it is a single allocation before the bench starts, but I will change it then |
16:13:30 | renesac | any other critic on the code? |
16:14:20 | Araq | {.unroll 3.} unfortunately does nothing |
16:14:36 | Araq | but you can easily write an unroll iterator |
16:15:38 | Araq | I already told dom96 to get rid of the 'bis' field entirely |
16:16:02 | Araq | and instead swap a[i] with a[a.high] to keep the array dense |
16:16:22 | Araq | this means you don't need any 'cleanupPtPool' either |
16:17:38 | Araq | line 94 with the TPt construction that is then copied into pts[pts.high] can also kill your performance |
16:17:56 | renesac | the array is dense, the cleanupPtPool just finds the new pts.low |
16:18:26 | Araq | how so? |
16:18:29 | Araq | if pts[i].life <= 0: |
16:18:30 | Araq | pts[i].bis = false |
16:18:47 | renesac | break |
16:18:57 | Araq | if not pts[i].bis: |
16:18:58 | Araq | continue |
16:19:25 | renesac | I was talking about hte cleanupPtPool |
16:19:36 | renesac | if Pts[i].bis: |
16:19:36 | renesac | pts.low = i # After 2*LifeTime, the pts.low should be at around (LifeTime in seconds)*PointsPerSec |
16:19:36 | renesac | break |
16:20:15 | renesac | well, maybe not... |
16:22:04 | Araq | formatFloat is known to be slow |
16:22:30 | renesac | it is only called 4 times after the main bench |
16:22:39 | Araq | ok |
16:23:00 | Araq | for i in 0 .. <curFrame: |
16:23:01 | Araq | stdout.write(formatFloat(1/frames[i], precision=6) & ",") # could kill us |
16:23:13 | renesac | oh, I forgot this |
16:23:22 | renesac | what do you suggest? |
16:24:23 | renesac | that is after the main benchmark, but could be counted by an external timer... |
16:24:56 | renesac | I was also worried by the call to mean with a slice of the frames[] array |
16:25:38 | renesac | do it makes a whole copy and then sends to mean? |
16:27:48 | Araq | yes |
16:27:55 | Araq | that's pretty bad indeed |
16:29:08 | Araq | I suggest a TR macro to deal with 'echo % formatFloat' |
16:29:54 | Araq | and we should patch mean and update |
16:30:03 | Araq | to take a start, end pair |
16:30:19 | renesac | as optional parameters? |
16:30:25 | renesac | yes, that would be handy |
16:30:30 | Araq | yeah |
16:30:40 | Araq | though we really need a slice builtin for arrays ... |
16:30:50 | dom96 | upvotes plz: https://news.ycombinator.com/item?id=7115711 |
16:32:10 | EXetoC | that's a useful extension to echo |
16:32:21 | renesac | about the TPt constructor I changed to: ' pts[pts.high] = TPt( ' directly, but didn't affect the speed (if only, made it marginally worse) |
16:32:54 | renesac | I would like a python like print instead/in addition to echo |
16:33:27 | renesac | with the possibilty to specify: ', endline=" " ' |
16:34:04 | EXetoC | except I'm not sure what it does |
16:34:05 | renesac | and that pretty prints whathever is given to it, or call the equivalent of 'repr()' when it don't knows the object |
16:35:21 | renesac | python's 3 print, I mean, that has those useful optional parameters |
16:36:46 | * | renesac is now known as renesac|away |
16:38:00 | EXetoC | anyone who rarely needs stringified floats to be in scientific notation, raise your hands :-p |
16:40:27 | discoloda | \o/ |
16:41:17 | discoloda | it made me think there was a bug with my c2nim change when i couldnt get it to properly 'read' floats |
16:42:02 | EXetoC | but I think a shortcut for decimal notation would be acceptable. it's currently verbose and you need to import |
16:44:47 | EXetoC | but then again you shouldn't import strutils in system, so maybe a shortcut in strutils |
16:44:48 | dom96 | perhaps we should get a compile-time printf? |
16:46:03 | * | delian66 quit (Ping timeout: 252 seconds) |
16:54:26 | EXetoC | sounds like a good idea |
16:55:07 | * | delian66 joined #nimrod |
16:59:29 | EXetoC | with a PEG grammar? |
17:01:50 | dom96 | I would just use a while loop + case |
17:03:32 | EXetoC | I guess it makes more sense |
17:06:47 | EXetoC | dom96: are you supposed to be able to instantiate Jester's 'get' in procs? |
17:08:09 | dom96 | EXetoC: hrm, that usage never entered my mind. |
17:08:26 | dom96 | does it work? |
17:09:25 | EXetoC | no. can't remember why exactly |
17:09:55 | * | Icefoz joined #nimrod |
17:10:06 | EXetoC | brb |
17:10:08 | * | Icefoz quit (Client Quit) |
17:30:16 | EXetoC | dom96: my use case was having a main proc |
17:32:42 | EXetoC | and not having any vars at the module level |
17:34:03 | EXetoC | *scope |
17:39:32 | * | winkelwagentje joined #nimrod |
17:39:41 | * | winkelwagentje left #nimrod (#nimrod) |
17:43:16 | * | bbodi joined #nimrod |
18:07:54 | bbodi | where can I find most recent version of the Nimrod manual? I need that one which contains informations about User-defined types |
18:12:17 | BitPuffin | http://build.nimrod-lang.org/docs/documentation.html |
18:12:20 | BitPuffin | bbodi: ^ |
18:13:06 | bbodi | oh, thanks a lot. Unfortunately i searched it through Google, and it found an older version of the manual. |
18:15:09 | OrionPK | good grief that image at the top needs to be optimized |
18:15:40 | OrionPK | 122 kb |
18:19:26 | EXetoC | BitPuffin: there's no direct link, right? "Documentation" points to the stdlib |
18:20:03 | * | DAddYE joined #nimrod |
18:20:11 | * | DAddYE quit (Remote host closed the connection) |
18:20:25 | * | DAddYE joined #nimrod |
18:26:06 | * | brson joined #nimrod |
18:27:57 | dom96 | EXetoC: Make an issue |
18:30:13 | BitPuffin | EXetoC: there is a direct link, but I think that was the most useful link, because he can find everything from there |
18:32:56 | dom96 | I think it may be nice to just get Nimbuild to give you a list of all the files in the docs, instead of it all looking exactly like the stuff on nimrod-lang.org |
18:34:59 | * | CarpNet quit (Quit: Leaving) |
18:35:48 | renesac|away | OrionPK, I managed to optimize the images on that page from 172KB to 143KB |
18:35:54 | * | renesac|away is now known as renesac |
18:36:15 | renesac | not much |
18:40:43 | renesac | the logo goes from 122KB to 98,6KB using optpng+pngout+deflopt |
18:41:50 | renesac | if I convert to a 32bit BMP and compress it with 7zip (xz) I get 66,8KB, as a testament on how shitty png compression is... |
18:43:18 | bbodi | In nimrod, hpw can I store general pointers, without types? |
18:44:23 | * | xtagon joined #nimrod |
18:44:58 | Araq | bbodi: system.pointer ? |
18:45:08 | bbodi | I check it, thanks |
18:45:49 | renesac | Araq, interested in the optimized images? |
18:46:07 | Araq | sure |
18:47:05 | renesac | ok, I will prepare a pull request against master |
18:49:00 | Araq | k |
18:49:09 | Araq | er. do we store the imagines on github? |
18:50:28 | renesac | https://github.com/Araq/Nimrod/tree/7778e79f24a1da4dccfeacc0e9936b171fd1eb74/web/assets/images |
18:58:40 | OrionPK | renesac the image itself is just bad i guess :p |
18:59:00 | OrionPK | renesac well it looks nice, but the gradient effect could be done w/ css probably |
19:00:03 | renesac | well I will upload my optimization for now |
19:02:30 | EXetoC | BitPuffin: I have no idea where it is then |
19:02:55 | EXetoC | dom96: I know the drill. just gotta focus on other stuff atm |
19:03:12 | EXetoC | such as web design. not fun |
19:06:23 | * | [2]Endy quit (Ping timeout: 260 seconds) |
19:06:56 | renesac | pull request made: https://github.com/Araq/Nimrod/pull/839 |
19:33:40 | * | zielmicha1 joined #nimrod |
19:33:54 | zielmicha1 | Araq: pong |
19:34:54 | Araq | zielmicha1: I did a code review for your PR |
19:36:09 | BitPuffin | EXetoC: I honestly don't know what you are talking about |
19:36:17 | BitPuffin | EXetoC: the manual is linked right there |
19:36:19 | BitPuffin | click on it |
19:36:26 | BitPuffin | and then you see the url in your browser |
19:37:59 | EXetoC | BitPuffin: no, here http://build.nimrod-lang.org/ |
19:40:59 | EXetoC | have I missed something or has no one bothered with this seemingly simple addition? |
19:41:10 | EXetoC | just curious. I know that everyone is busy |
19:41:13 | zielmicha-cloud_ | Araq: I've seen that and commented. I will fix the lines I haven't commented. [I think my other client stopped working...] |
19:51:29 | BitPuffin | EXetoC: ah yeah I think that it should link to the page I linked |
19:51:41 | BitPuffin | I've just been able to find it through pestering dom96 |
19:52:23 | EXetoC | ok. mirroring the original website seems like a simple approach |
20:00:35 | * | tdc joined #nimrod |
20:01:23 | Araq | zielmicha-cloud_: since startCmd shouldn't default to poEvalCommand, I can't see how it's insecure |
20:02:08 | zielmicha-cloud_ | if it won't it will be exact (?) alias for startProcess |
20:02:50 | Araq | hmm |
20:11:40 | * | icebattle joined #nimrod |
20:13:42 | reactormonk | Araq, should I merge the PR about the pngs? |
20:14:31 | Araq | reactormonk: if you think it's fine :P |
20:17:39 | * | icebattle quit (Quit: Leaving) |
20:23:33 | Varriount | Araq: Is nimrod supposed to support utf-8 identifiers? |
20:23:46 | Araq | Varriount: yes |
20:24:01 | Varriount | Araq: And what about utf-8 modules? |
20:24:55 | Varriount | Because I tested a test script last night, using a module named "naïve", and got a gcc error about invalid identifiers. |
20:25:16 | Araq | yeah I guess that's not supported :P |
20:28:04 | OrionPK | varriount, i just saw what you wrote |
20:28:12 | OrionPK | in ircfamiliar |
20:28:29 | OrionPK | oh identifiers |
20:28:32 | OrionPK | thought you meant just strings |
20:28:35 | OrionPK | carry on ;) |
20:29:02 | OrionPK | (btw, using crazy symbols like that in identifiers is evil) |
20:29:28 | Varriount | OrionPK: But not unheard of. |
20:29:34 | OrionPK | it should be prevented |
20:29:39 | OrionPK | by the compiler |
20:29:51 | * | soc joined #nimrod |
20:29:58 | soc | Araq: hey, are you there? |
20:29:58 | Araq | hi soc welcome |
20:30:08 | Araq | yes |
20:30:21 | Varriount | Besides, who are we, to deny those who write in chinese, korean, etc, the right to programs written using native tongues? |
20:30:28 | soc | Araq: I just saw on the GitHub page that you are based in Germany, is that right? |
20:30:43 | Araq | right |
20:31:12 | soc | I'm the organizer of the functional programming user group in Karlsruhe |
20:31:38 | soc | would you be interested in giving a talk about Nimrod some time in the future? |
20:32:43 | Araq | sure why not, but note that nimrod is not primarily a functional language |
20:33:57 | soc | sure, but I think the typeclass and meta-programming stuff is highly interesting, additionally to not needing a runtime and compiling to native code |
20:34:42 | soc | we have usually have quite diverse topics ranging from theorem provers to building garbage collectors, so i think Nimrod would fit right into it |
20:35:05 | soc | Araq: I can't really offer any compensation, though :-/ |
20:35:28 | soc | we are all volunteers only, and a small company which provides a room to meet |
20:36:09 | soc | Araq: here is the meetup site, if you want to have a look: http://www.meetup.com/The-Karlsruhe-Functional-Programmers-Meetup-Group/events/past/?scroll=true#past |
20:48:47 | * | brson quit (Ping timeout: 252 seconds) |
20:52:05 | OrionPK | chinese, korean, etc should program in merican |
20:52:31 | Varriount | Araq: For the updated os/link-procs pull request, do you want me to change "createSymlink" and "createHardLink" to "symlinkCreate" and "hardlinkCreate"? |
20:52:49 | Araq | Varriount: lol no |
20:53:06 | Araq | but we now have dirExists and fileExists |
20:54:40 | Varriount | Araq: It's just that, I've now realized that the windows api procedures are quite close in name to createSymlink and createHardlin |
20:54:51 | Varriount | *createHardlink |
20:55:45 | Varriount | In addition, if my proc generation macro is accepted into winlean, that means that there will also be a procedure in winlean named "createSymbolicLink" and "createHardLink" |
20:55:51 | * | icebattle joined #nimrod |
20:55:56 | Varriount | Hi icebattle |
20:56:19 | * | icebattle quit (Quit: leaving) |
20:58:14 | * | [1]Endy joined #nimrod |
20:58:21 | NimBot | Araq/Nimrod master 8bf32e4 René [+0 ±10 -0]: Optimized the size of PNG images. 172KB > 143KB... 2 more lines |
20:58:21 | NimBot | Araq/Nimrod master 3c3e59f Simon Hafner [+0 ±10 -0]: Merge pull request #839 from ReneSac/master... 2 more lines |
20:58:41 | reactormonk | Varriount, mind adding an example? |
20:59:11 | Varriount | reactormonk: An example.. to what? |
20:59:49 | * | icebattle joined #nimrod |
20:59:56 | Varriount | Hi again icebattle |
21:00:01 | icebattle | heya |
21:08:07 | * | icebattle quit (Quit: leaving) |
21:10:25 | * | bbodi quit (Ping timeout: 252 seconds) |
21:18:33 | * | brson joined #nimrod |
21:20:04 | * | icebattle joined #nimrod |
21:20:27 | icebattle | Sorry for bouncing in and out. irssi is playing games with me. |
21:22:58 | * | soc left #nimrod ("PONG :sendak.freenode.net") |
21:28:28 | * | [1]Endy quit (Ping timeout: 252 seconds) |
21:35:07 | * | ddl_smurf quit (Quit: ddl_smurf) |
21:40:44 | Araq | bbl |
21:51:38 | OrionPK | bbq |
21:51:50 | * | psquid joined #nimrod |
21:52:22 | * | shodan45 joined #nimrod |
21:58:51 | EXetoC | bbz |
21:59:55 | * | tdc quit (Ping timeout: 252 seconds) |
22:03:21 | * | zahary joined #nimrod |
22:06:00 | * | zahary quit (Client Quit) |
22:22:43 | EXetoC | BitPuffin: so how about that game? was ~christmas the initial deadline? :p |
22:24:15 | * | fowlmouth joined #nimrod |
22:24:43 | * | fowl quit (Ping timeout: 260 seconds) |
22:29:05 | * | LordAndrew joined #nimrod |
22:34:44 | * | vbtt joined #nimrod |
22:36:03 | * | fowlmouth is now known as fowl |
22:36:25 | vbtt | hello. question about distinct types. i created a dicting type from an object type. but i can't access the fields on the distinct type. |
22:37:14 | vbtt | type P = object x: int P2 = distinct P p = P2(x: 33) # so far it works |
22:37:26 | vbtt | echo p.x #fails |
22:38:22 | EXetoC | the manual doesn't mention anything like that. are you attempting that in the same module? |
22:38:34 | EXetoC | perhaps you must do p.P.x :p |
22:39:37 | vbtt | yes, the manual only uses int as examples. but I want to use an object as the parent for a dictinct type. |
22:40:08 | vbtt | EXetoC:yes p.P.x works.. |
22:40:21 | vbtt | is this accidental or intentional behavior? |
22:40:48 | vbtt | i.e. using the base class name as the field name? or is it just sugar for P(p).x ? |
22:40:50 | EXetoC | fowl just joined |
22:40:52 | EXetoC | fowl: got a clue? |
22:41:34 | vbtt | P(p).x could be inefficient, though no? if it creates a new object? |
22:45:00 | fowl | vbtt, thats the point of distinct type, to hide the data |
22:45:05 | EXetoC | my guess would be that the compiler would be able to do the right thing, but I suppose you could cast if you know that the overhead is significant |
22:45:19 | fowl | vbtt, p(p).x shouldnt create a copy |
22:45:41 | EXetoC | more about creating a distinct type imo, which doesn't have to imply that, but yeah |
22:46:54 | vbtt | fowl: got it. i just confirmed with an example that it doesn't create a copy :) |
22:47:09 | vbtt | fowl: perhaps it hides data, but the constructor still accepts the original field names. |
22:47:20 | vbtt | the constructor doesn't require P2(P(x:1)) |
22:47:36 | EXetoC | well, it depends on what you want to achieve, but if you want partial hiding, achieve that with procs |
22:48:08 | vbtt | but my issue is solved - i have an acceptable way to access the fields if i want. |
22:52:56 | * | z_elmicha1 joined #nimrod |
22:55:12 | * | z_elmicha_ joined #nimrod |
22:56:39 | * | brson_ joined #nimrod |
22:58:09 | * | z_elmic___ joined #nimrod |
22:58:11 | * | z_elmich__ joined #nimrod |
22:59:40 | * | brson quit (Ping timeout: 265 seconds) |
23:06:23 | * | brson_ quit (Quit: leaving) |
23:06:40 | * | brson joined #nimrod |
23:07:55 | * | nueva quit (Ping timeout: 245 seconds) |
23:13:57 | * | Icefoz joined #nimrod |
23:18:35 | BitPuffin | Araq: join dota now |
23:18:38 | BitPuffin | or at least chill in the vnug |
23:20:51 | EXetoC | no u |
23:22:52 | * | nueva joined #nimrod |
23:27:37 | * | nueva quit (Client Quit) |
23:34:59 | * | io2 quit (Ping timeout: 240 seconds) |
23:36:41 | * | brson quit (Quit: leaving) |
23:36:55 | * | brson joined #nimrod |
23:42:38 | * | darkf joined #nimrod |