<< 24-01-2014 >>

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:56Demoshey, it looks like os.splitFile returns a path with '/' separators on windows
01:06:46VarriountDemos: Should it not?
01:07:14Demoswell windows does traditionally used \s
01:07:21Demosalthough few windows programs seem to care
01:08:06VarriountDemos: If you want to make path styles returned by the os functions consistant, be my guest.
01:08:50Demosyeah I may. Probably a constant in os, but I am not totally sure making it '\' is the "right thing to do"
01:10:46VarriountDemos: If I (or Araq) didn't care about performance, paths would probably be represented by types, not strings.
01:11:32Demosone could probably get path types to be quite fast
01:12:02VarriountOne thing os.nim lacks is the possibility to create paths of kinds other than the native system type.
01:12:42VarriountThis is the kind of thing that really needs to be drawn up in a plan of some sort. *shrug*
01:13:31VarriountDemos: Anyway, interfacing with windows api's is about to become nicer.
01:14:56VarriountDemos: https://github.com/Varriount/Nimrod/blob/209449202bb49e1375c963771ca9b50c1703a4aa/lib/windows/winlean.nim
01:28:21VarriountDemos: Ping
01:28:29Demospong
01:29:12VarriountDemos: 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:12DemosI /think/ it is a pointer to an array of 2 byte characters
01:30:32VarriountAnd how long is the array?
01:30:52Demoswell you hope that all the memory up to the \0 is allocated :D
01:31:22Demosarrays in C are not bounds checked, this one is the same
01:31:51VarriountSo, it's actual length is not necessarily 1000000?
01:32:25*OrionPK quit (Read error: Connection reset by peer)
01:33:03Demosyeah
01:33:11DemosI mean that is what it looks like
01:33:30*vendethiel quit (Ping timeout: 252 seconds)
01:33:39*vendethiel joined #nimrod
01:34:10DemosI mean one could say that all arrays in C are like 1..std::numeric_limits<size_t>::max()
01:34:13Demoswell c++ :D
01:34:31VarriountAh. I see.
01:35:07Demosyeah, having each cstring take up over a 2MB would be "A Bad Thing"
01:36:23VarriountWhat I really need right now is a something that tests every wrapped api call in windows.nim and friends.
01:37:59Demosjust for functionality?
01:38:25Demoslike to make sure you spelled the name correctly?
01:38:41VarriountDemos: That, and to make sure the parameters are correct
01:39:35VarriountYou know if there's any way I can do that? Some special windows dev tool?
01:42:32renesacI have a hum
01:42:51renesacwrong channel, wrong time
01:44:11*DAddYE quit (Remote host closed the connection)
01:44:51DemosVarriount, 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:56VarriountGah.
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:24xtagonVarriount, 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:10renesachttps://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:32AraqVarriount: paths as types are easily do-able without any overhead: Path = distinct string
08:48:15Araqbut 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:45Araqping 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:47mietekdom96: hello to you too!
11:05:51mietekI 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:25EXetoCdom96: 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:45EXetoCthere's cgi.URLencode, but nothing for percent-encoding non-ASCII chars, right?
15:03:22EXetoConly 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:57io2dom96: https://twitter.com/irrequietus/status/426739748791517185 :)
15:36:13io2nice to see more blog posts about nimrod
15:36:21*renesac|away is now known as renesac
15:45:33dom96EXetoC: An issue is blocking the macro.
15:45:46*dom96 hasn't checked if it was fixed already in a while though
15:45:54dom96io2: indeed :)
15:46:17EXetoCok. yeah I remember
15:52:53*mal`` quit (Ping timeout: 272 seconds)
15:53:52renesacwhere 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:50OrionPKwho's blog post is that on VocalBit?
15:54:57OrionPKwhose
15:55:03EXetoCrenesac: yes sizeof is a compile-time construct. use 'len'
15:55:48EXetoChm, it should work on arrays imo, since the size is static, but strings are dynamic
15:55:51renesacno, I want to know where the field storing the string lenght is
15:56:01EXetoCok
15:56:04dom96OrionPK: vbtt
15:56:44renesaca implementation detail, but good to know if I go around designing data structures
15:56:47renesacin nimrod
15:56:48Araqrenesac: it's at offset 0 iirc
15:56:56*mal`` joined #nimrod
15:57:26Araqyeah, look at system.TGenericSeq
15:57:37Araqsystem.nim, line 194
15:57:43renesachum, so I have just a pointer in one side, that points to a 4/8bytes size followed by the data?
15:58:08Araqnope, it's len, reserved and then followed by the data
15:58:33Araqbtw system.len is inlined and doesn't produce a call
15:59:44renesacwhat is 'reserved'?
15:59:51Araq"capacity"
16:00:28renesacoh, right
16:00:35EXetoCis anyone interested in scraping the internets using Nimrod? I'm currently expanding the relevant interfaces, because they lack certain shortcuts
16:00:58Araqscraping? do you mean crawling?
16:01:30renesacis there any way to create a seq reserving X bytes beforehand? So I can append quickly lots of things to it?
16:01:42AraqnewStringOfCap ?
16:01:49renesachum
16:02:12AraqnewSeq(x, lenght); setLen(x, 0);
16:02:20EXetoCAraq: no, data extraction. I think crawling is a little different in that the purpose is indexing
16:02:21AraqI think newSeqOfCap is still missing
16:02:22renesachumm
16:03:08renesacwell, for the Particle Bench I implemented a "TPts" object
16:03:39renesacindexing in an array is probably marginally faster than appending in a seq
16:03:42renesachttps://github.com/ReneSac/ParticleBench/blob/master/N.nim
16:04:31Araqtype TPts = ref object ???
16:05:27renesacI shouldn't use ref?
16:05:31EXetoCI'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:50renesacI though as I was passing as parameter ref would be better, but I wasn't sure how nimrod works
16:06:28Araqnimrod passed things by pointer to procs whenever it pleases
16:06:39renesachum
16:06:51Araqsince parameters are immutable this doesn't cause much harm
16:06:58*BitPuffin joined #nimrod
16:07:11Araqin C++ terms a parameter is const&T
16:07:12BitPuffinoi araqie milarkie mate is the error fixed yet?
16:07:37dom96We should submit vbtt's blog post to HN and upvote it to the top. Who's in?
16:07:39renesacI 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:41EXetoCI 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:52BitPuffindom96: is it on rädit?
16:07:55dom96BitPuffin: yeah
16:08:16Araqrenesac: well yes, pass via 'var T' if you want to modify it
16:08:32BitPuffindom96: linkur so I can upvotur
16:08:44dom96http://www.reddit.com/r/programming/comments/1w0dbt/exploring_type_classes_in_nimrod/
16:08:51BitPuffinAraq: is the error thing the other day fixed?
16:08:54BitPuffinthe one with ropes
16:09:03EXetoCI 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:03AraqBitPuffin: working on it
16:11:49renesacAraq: 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:19Araq'var T' is sugar for 'ptr T', 'ref T' allocates on the GC'ed heap
16:12:20EXetoCI'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:29BitPuffinAraq: 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:51renesacright, well, it is a single allocation before the bench starts, but I will change it then
16:13:30renesacany other critic on the code?
16:14:20Araq{.unroll 3.} unfortunately does nothing
16:14:36Araqbut you can easily write an unroll iterator
16:15:38AraqI already told dom96 to get rid of the 'bis' field entirely
16:16:02Araqand instead swap a[i] with a[a.high] to keep the array dense
16:16:22Araqthis means you don't need any 'cleanupPtPool' either
16:17:38Araqline 94 with the TPt construction that is then copied into pts[pts.high] can also kill your performance
16:17:56renesacthe array is dense, the cleanupPtPool just finds the new pts.low
16:18:26Araqhow so?
16:18:29Araq if pts[i].life <= 0:
16:18:30Araq pts[i].bis = false
16:18:47renesacbreak
16:18:57Araq if not pts[i].bis:
16:18:58Araq continue
16:19:25renesacI was talking about hte cleanupPtPool
16:19:36renesacif Pts[i].bis:
16:19:36renesac pts.low = i # After 2*LifeTime, the pts.low should be at around (LifeTime in seconds)*PointsPerSec
16:19:36renesac break
16:20:15renesacwell, maybe not...
16:22:04AraqformatFloat is known to be slow
16:22:30renesacit is only called 4 times after the main bench
16:22:39Araqok
16:23:00Araq for i in 0 .. <curFrame:
16:23:01Araq stdout.write(formatFloat(1/frames[i], precision=6) & ",") # could kill us
16:23:13renesacoh, I forgot this
16:23:22renesacwhat do you suggest?
16:24:23renesacthat is after the main benchmark, but could be counted by an external timer...
16:24:56renesacI was also worried by the call to mean with a slice of the frames[] array
16:25:38renesacdo it makes a whole copy and then sends to mean?
16:27:48Araqyes
16:27:55Araqthat's pretty bad indeed
16:29:08AraqI suggest a TR macro to deal with 'echo % formatFloat'
16:29:54Araqand we should patch mean and update
16:30:03Araqto take a start, end pair
16:30:19renesacas optional parameters?
16:30:25renesacyes, that would be handy
16:30:30Araqyeah
16:30:40Araqthough we really need a slice builtin for arrays ...
16:30:50dom96upvotes plz: https://news.ycombinator.com/item?id=7115711
16:32:10EXetoCthat's a useful extension to echo
16:32:21renesacabout 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:54renesacI would like a python like print instead/in addition to echo
16:33:27renesacwith the possibilty to specify: ', endline=" " '
16:34:04EXetoCexcept I'm not sure what it does
16:34:05renesacand that pretty prints whathever is given to it, or call the equivalent of 'repr()' when it don't knows the object
16:35:21renesacpython's 3 print, I mean, that has those useful optional parameters
16:36:46*renesac is now known as renesac|away
16:38:00EXetoCanyone who rarely needs stringified floats to be in scientific notation, raise your hands :-p
16:40:27discoloda\o/
16:41:17discolodait made me think there was a bug with my c2nim change when i couldnt get it to properly 'read' floats
16:42:02EXetoCbut I think a shortcut for decimal notation would be acceptable. it's currently verbose and you need to import
16:44:47EXetoCbut then again you shouldn't import strutils in system, so maybe a shortcut in strutils
16:44:48dom96perhaps we should get a compile-time printf?
16:46:03*delian66 quit (Ping timeout: 252 seconds)
16:54:26EXetoCsounds like a good idea
16:55:07*delian66 joined #nimrod
16:59:29EXetoCwith a PEG grammar?
17:01:50dom96I would just use a while loop + case
17:03:32EXetoCI guess it makes more sense
17:06:47EXetoCdom96: are you supposed to be able to instantiate Jester's 'get' in procs?
17:08:09dom96EXetoC: hrm, that usage never entered my mind.
17:08:26dom96does it work?
17:09:25EXetoCno. can't remember why exactly
17:09:55*Icefoz joined #nimrod
17:10:06EXetoCbrb
17:10:08*Icefoz quit (Client Quit)
17:30:16EXetoCdom96: my use case was having a main proc
17:32:42EXetoCand not having any vars at the module level
17:34:03EXetoC*scope
17:39:32*winkelwagentje joined #nimrod
17:39:41*winkelwagentje left #nimrod (#nimrod)
17:43:16*bbodi joined #nimrod
18:07:54bbodiwhere can I find most recent version of the Nimrod manual? I need that one which contains informations about User-defined types
18:12:17BitPuffinhttp://build.nimrod-lang.org/docs/documentation.html
18:12:20BitPuffinbbodi: ^
18:13:06bbodioh, thanks a lot. Unfortunately i searched it through Google, and it found an older version of the manual.
18:15:09OrionPKgood grief that image at the top needs to be optimized
18:15:40OrionPK122 kb
18:19:26EXetoCBitPuffin: 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:57dom96EXetoC: Make an issue
18:30:13BitPuffinEXetoC: there is a direct link, but I think that was the most useful link, because he can find everything from there
18:32:56dom96I 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:48renesac|awayOrionPK, 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:15renesacnot much
18:40:43renesacthe logo goes from 122KB to 98,6KB using optpng+pngout+deflopt
18:41:50renesacif 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:18bbodiIn nimrod, hpw can I store general pointers, without types?
18:44:23*xtagon joined #nimrod
18:44:58Araqbbodi: system.pointer ?
18:45:08bbodiI check it, thanks
18:45:49renesacAraq, interested in the optimized images?
18:46:07Araqsure
18:47:05renesacok, I will prepare a pull request against master
18:49:00Araqk
18:49:09Araqer. do we store the imagines on github?
18:50:28renesachttps://github.com/Araq/Nimrod/tree/7778e79f24a1da4dccfeacc0e9936b171fd1eb74/web/assets/images
18:58:40OrionPKrenesac the image itself is just bad i guess :p
18:59:00OrionPKrenesac well it looks nice, but the gradient effect could be done w/ css probably
19:00:03renesacwell I will upload my optimization for now
19:02:30EXetoCBitPuffin: I have no idea where it is then
19:02:55EXetoCdom96: I know the drill. just gotta focus on other stuff atm
19:03:12EXetoCsuch as web design. not fun
19:06:23*[2]Endy quit (Ping timeout: 260 seconds)
19:06:56renesacpull request made: https://github.com/Araq/Nimrod/pull/839
19:33:40*zielmicha1 joined #nimrod
19:33:54zielmicha1Araq: pong
19:34:54Araqzielmicha1: I did a code review for your PR
19:36:09BitPuffinEXetoC: I honestly don't know what you are talking about
19:36:17BitPuffinEXetoC: the manual is linked right there
19:36:19BitPuffinclick on it
19:36:26BitPuffinand then you see the url in your browser
19:37:59EXetoCBitPuffin: no, here http://build.nimrod-lang.org/
19:40:59EXetoChave I missed something or has no one bothered with this seemingly simple addition?
19:41:10EXetoCjust curious. I know that everyone is busy
19:41:13zielmicha-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:29BitPuffinEXetoC: ah yeah I think that it should link to the page I linked
19:51:41BitPuffinI've just been able to find it through pestering dom96
19:52:23EXetoCok. mirroring the original website seems like a simple approach
20:00:35*tdc joined #nimrod
20:01:23Araqzielmicha-cloud_: since startCmd shouldn't default to poEvalCommand, I can't see how it's insecure
20:02:08zielmicha-cloud_if it won't it will be exact (?) alias for startProcess
20:02:50Araqhmm
20:11:40*icebattle joined #nimrod
20:13:42reactormonkAraq, should I merge the PR about the pngs?
20:14:31Araqreactormonk: if you think it's fine :P
20:17:39*icebattle quit (Quit: Leaving)
20:23:33VarriountAraq: Is nimrod supposed to support utf-8 identifiers?
20:23:46AraqVarriount: yes
20:24:01VarriountAraq: And what about utf-8 modules?
20:24:55VarriountBecause I tested a test script last night, using a module named "naïve", and got a gcc error about invalid identifiers.
20:25:16Araqyeah I guess that's not supported :P
20:28:04OrionPKvarriount, i just saw what you wrote
20:28:12OrionPKin ircfamiliar
20:28:29OrionPKoh identifiers
20:28:32OrionPKthought you meant just strings
20:28:35OrionPKcarry on ;)
20:29:02OrionPK(btw, using crazy symbols like that in identifiers is evil)
20:29:28VarriountOrionPK: But not unheard of.
20:29:34OrionPKit should be prevented
20:29:39OrionPKby the compiler
20:29:51*soc joined #nimrod
20:29:58socAraq: hey, are you there?
20:29:58Araqhi soc welcome
20:30:08Araqyes
20:30:21VarriountBesides, who are we, to deny those who write in chinese, korean, etc, the right to programs written using native tongues?
20:30:28socAraq: I just saw on the GitHub page that you are based in Germany, is that right?
20:30:43Araqright
20:31:12socI'm the organizer of the functional programming user group in Karlsruhe
20:31:38socwould you be interested in giving a talk about Nimrod some time in the future?
20:32:43Araqsure why not, but note that nimrod is not primarily a functional language
20:33:57socsure, 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:42socwe 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:05socAraq: I can't really offer any compensation, though :-/
20:35:28socwe are all volunteers only, and a small company which provides a room to meet
20:36:09socAraq: 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:05OrionPKchinese, korean, etc should program in merican
20:52:31VarriountAraq: For the updated os/link-procs pull request, do you want me to change "createSymlink" and "createHardLink" to "symlinkCreate" and "hardlinkCreate"?
20:52:49AraqVarriount: lol no
20:53:06Araqbut we now have dirExists and fileExists
20:54:40VarriountAraq: It's just that, I've now realized that the windows api procedures are quite close in name to createSymlink and createHardlin
20:54:51Varriount*createHardlink
20:55:45VarriountIn 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:56VarriountHi icebattle
20:56:19*icebattle quit (Quit: leaving)
20:58:14*[1]Endy joined #nimrod
20:58:21NimBotAraq/Nimrod master 8bf32e4 René [+0 ±10 -0]: Optimized the size of PNG images. 172KB > 143KB... 2 more lines
20:58:21NimBotAraq/Nimrod master 3c3e59f Simon Hafner [+0 ±10 -0]: Merge pull request #839 from ReneSac/master... 2 more lines
20:58:41reactormonkVarriount, mind adding an example?
20:59:11Varriountreactormonk: An example.. to what?
20:59:49*icebattle joined #nimrod
20:59:56VarriountHi again icebattle
21:00:01icebattleheya
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:27icebattleSorry 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:44Araqbbl
21:51:38OrionPKbbq
21:51:50*psquid joined #nimrod
21:52:22*shodan45 joined #nimrod
21:58:51EXetoCbbz
21:59:55*tdc quit (Ping timeout: 252 seconds)
22:03:21*zahary joined #nimrod
22:06:00*zahary quit (Client Quit)
22:22:43EXetoCBitPuffin: 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:25vbtthello. 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:14vbtttype P = object x: int P2 = distinct P p = P2(x: 33) # so far it works
22:37:26vbttecho p.x #fails
22:38:22EXetoCthe manual doesn't mention anything like that. are you attempting that in the same module?
22:38:34EXetoCperhaps you must do p.P.x :p
22:39:37vbttyes, the manual only uses int as examples. but I want to use an object as the parent for a dictinct type.
22:40:08vbttEXetoC:yes p.P.x works..
22:40:21vbttis this accidental or intentional behavior?
22:40:48vbtti.e. using the base class name as the field name? or is it just sugar for P(p).x ?
22:40:50EXetoCfowl just joined
22:40:52EXetoCfowl: got a clue?
22:41:34vbttP(p).x could be inefficient, though no? if it creates a new object?
22:45:00fowlvbtt, thats the point of distinct type, to hide the data
22:45:05EXetoCmy 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:19fowlvbtt, p(p).x shouldnt create a copy
22:45:41EXetoCmore about creating a distinct type imo, which doesn't have to imply that, but yeah
22:46:54vbttfowl: got it. i just confirmed with an example that it doesn't create a copy :)
22:47:09vbttfowl: perhaps it hides data, but the constructor still accepts the original field names.
22:47:20vbttthe constructor doesn't require P2(P(x:1))
22:47:36EXetoCwell, it depends on what you want to achieve, but if you want partial hiding, achieve that with procs
22:48:08vbttbut 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:35BitPuffinAraq: join dota now
23:18:38BitPuffinor at least chill in the vnug
23:20:51EXetoCno 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