<< 14-06-2015 >>

00:01:21*Matthias247 joined #nim
00:06:50*pregressive quit (Ping timeout: 276 seconds)
00:07:23*pregressive joined #nim
00:20:57*boop is now known as boopisaway
00:25:29*Demon_Fox quit (Quit: Leaving)
00:30:46*brson quit (Quit: leaving)
00:31:56*Demon_Fox joined #nim
00:38:13*pregressive quit (Ping timeout: 264 seconds)
00:38:46*pregressive joined #nim
00:40:39taotetekAraq: ah duh - so I'll need to do an equivalent of a copyMem, but in a way that doesn't depend on copyMem
00:42:09*jd joined #nim
00:42:23Araq'add' for strings? character copying for loops?
00:42:33Araqa couple of things to choose from
00:43:11taotetekAraq: yup - just reading through the sysstr lib at the moment
00:44:06*pregressive quit (Ping timeout: 265 seconds)
00:44:39*pregressive joined #nim
00:46:37*elbow quit (Ping timeout: 250 seconds)
00:49:29*pregressive quit (Ping timeout: 256 seconds)
00:55:55*pregressive joined #nim
01:02:00*elbow joined #nim
01:02:43*Matthias247 quit (Quit: Matthias247)
01:07:13*flaviu joined #nim
01:08:59*pregressive quit (Remote host closed the connection)
01:23:15*jaco60 quit (Ping timeout: 265 seconds)
01:23:39*Jehan` quit (Quit: Leaving)
01:26:02vikaton> [ case () of { _ | x `mod` 3 == 0 && x `mod` 5 == 0 -> "FizzBuzz" | x `mod` 3 == 0 -> "Fizz" | x `mod` 5 == 0 -> "Buzz" | otherwise -> show x } | x <- [1..50]]
01:26:11vikatonlol
01:26:15vikatonembarassing :/
01:26:53flaviunot even Nim code.
01:26:54flaviutsk, tsk.
01:35:09*TEttinger joined #nim
01:45:20vikatonwouldnt be as embarassing if it was Nim code
01:55:33*pregressive joined #nim
01:58:46*anthony joined #nim
01:59:09*anthony is now known as Guest15891
02:03:27*Guest15891 quit (Client Quit)
02:09:28*pregressive quit ()
02:15:07*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:27:33*kumul quit (Quit: Leaving)
02:33:17*brson joined #nim
02:35:29*ehaliewicz joined #nim
02:40:43*brson quit (Quit: leaving)
02:40:50*brson joined #nim
02:41:15*Kingsquee quit (Read error: Connection reset by peer)
02:41:53*Kingsquee joined #nim
02:46:12*brson quit (Quit: leaving)
02:46:19*brson joined #nim
02:51:23*yglukhov joined #nim
02:55:38*yglukhov quit (Ping timeout: 246 seconds)
03:02:18*saml_ joined #nim
03:03:49*ob_ quit (Quit: Connection closed for inactivity)
03:10:00*enquora quit (Quit: enquora)
03:20:45*darkf joined #nim
03:26:59*Jesin quit (Quit: Leaving)
03:27:22*Jesin joined #nim
03:43:53*dddddd quit (Ping timeout: 265 seconds)
03:46:09*jd is now known as apense
03:50:59*apense is now known as apense_
03:52:05*bjz joined #nim
03:52:07*apense_ is now known as apense
03:56:03*woadwarrior joined #nim
03:57:02*apense left #nim ("Leaving")
03:58:12*apense joined #nim
03:59:44*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
04:04:24*saml_ quit (Quit: Leaving)
04:08:40*brson quit (Remote host closed the connection)
04:13:07*dtscode is now known as bulbasaur
04:17:07*arunah joined #nim
04:19:49*bulbasaur is now known as charmander
04:30:20*bjz joined #nim
04:37:34Xevikaton: is that ocaml or haskell?
04:37:57Xeah
04:38:00Xeahskell
04:38:02Xehaskell*
04:39:06*avsej quit (Remote host closed the connection)
04:55:12*avsej joined #nim
04:55:12*avsej quit (Changing host)
04:55:12*avsej joined #nim
05:00:14*woadwarrior quit (Quit: My Mac has gone to sleep. ZZZzzz…)
05:13:38*skyfex____ quit (Ping timeout: 276 seconds)
05:27:19*elbow_jason joined #nim
05:39:50*bjz quit (Read error: Connection reset by peer)
05:40:28*bjz joined #nim
05:44:49*ehaliewi` joined #nim
05:45:07*bjz quit (Read error: Connection reset by peer)
05:45:29*milosn quit (Ping timeout: 252 seconds)
05:45:44*bjz joined #nim
05:46:58*ehaliewicz quit (Ping timeout: 276 seconds)
05:53:18*milosn joined #nim
05:54:10*bjz quit (Read error: Connection reset by peer)
05:54:53*bjz joined #nim
06:18:27wbdoes the "type X = ref object" notation completely replace the "type X {.byref.} =" notation or do we need to do both as in "type X {.byref.} = ref object"?
06:19:29*cyraxjoe_ joined #nim
06:20:07*cyraxjoe quit (Ping timeout: 276 seconds)
06:20:23*bjz quit (Read error: Connection reset by peer)
06:21:08*bjz joined #nim
06:26:03fowlwb: byref and bycopy don't apply to ref/ptr/var
06:26:52wbI see. Thanks
06:27:36fowlByref means it will always pass the object type by reference (thats just by address in c, its not the same as a ref ty which is garbage collected
06:30:36*jszymanski joined #nim
06:54:59*xificurC quit (Quit: WeeChat 1.2)
06:57:39*xificurC joined #nim
07:14:19*johnsoft joined #nim
07:17:30*charmander is now known as agent_black
07:18:14*milosn_ joined #nim
07:18:20*milosn quit (Read error: Connection reset by peer)
07:18:59*milosn_ is now known as milosn
07:41:27*def- quit (Ping timeout: 256 seconds)
08:01:43*gmpreussner|work quit (Read error: Connection reset by peer)
08:03:31*HaCk3D quit (Ping timeout: 265 seconds)
08:04:38*kashyap_ joined #nim
08:05:49kashyap_Hi, could someone please point me to good examples that use nim's concurrency/parallelism features .... it could just be projects on git
08:14:40Araqkashyap_: well there are a couple of tests in tests/parallel, some of which resemble realworld code
08:18:08*Arrrr joined #nim
08:20:20Araqkashyap_: and then there is also the whole async stuff
08:21:56Araqand then there is still Nim's old || iterator which generates OpenMP
08:24:48*HaCk3D joined #nim
08:31:33kashyap_thanks Araq
08:32:28*synthmeat quit (Quit: The way to get started is to quit talking and begin doing.)
08:32:44*synthmeat joined #nim
08:34:38kashyap_For CSP style programming - do we use spawn/channel?
08:35:57Araqfor channels you should currently use TThread[T] instead
08:36:04*fractionuser joined #nim
08:36:05*fractionuser left #nim (#nim)
08:36:28kashyap_TThread?
08:36:54Araqthe old threading stuff
08:37:10kashyap_oh okay
08:37:32*yglukhov joined #nim
08:37:33Araqhttp://nim-lang.org/docs/threads.html
08:37:47Araqhttp://nim-lang.org/docs/channels.html
08:38:10kashyap_got it ... I'll go over
08:38:59kashyap_just an update ... I've started using nim for my job :) ... ofcourse my boss does not know about it .. he just sees the reports I create
08:39:22Araqah cool.
08:41:26*thepreacher joined #nim
08:46:03*Miko___ joined #nim
08:49:23*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:52:26*elbow_jason quit (Read error: No route to host)
08:53:21*elbow_jason joined #nim
08:54:55*bjz joined #nim
08:57:35*bjz quit (Client Quit)
09:00:01*Demon_Fox quit (Quit: Leaving)
09:01:15*def- joined #nim
09:05:52*rgv151 quit (Ping timeout: 276 seconds)
09:11:02*rgv151 joined #nim
09:14:13*thepreacher quit (Remote host closed the connection)
09:15:32*thepreacher joined #nim
09:17:13*wb quit (Ping timeout: 264 seconds)
09:20:22*thepreacher quit (Ping timeout: 255 seconds)
09:23:31*thepreacher joined #nim
09:25:07*Demon_Fox joined #nim
09:28:10*thepreacher quit (Ping timeout: 244 seconds)
09:34:41*bjz joined #nim
09:36:04*ehaliewi` quit (Ping timeout: 245 seconds)
09:42:39*agent_black is now known as dtscode
09:43:58*dtscode is now known as agent_dtscode
09:44:09HaCk3DAraq: hi, r u here?
09:44:28HaCk3Di have some questions on https://github.com/nim-lang/Nim/issues/2573
09:47:10*filcuc joined #nim
09:51:19*mramberg joined #nim
09:53:18*Matthias247 joined #nim
09:53:51*bjz quit (Ping timeout: 264 seconds)
09:54:32*milosn quit (Read error: Connection reset by peer)
09:58:59*milosn joined #nim
10:15:30*thepreacher joined #nim
10:16:06*gokr joined #nim
10:16:31*Demon_Fox quit (Quit: Leaving)
10:17:46*filcuc quit (Ping timeout: 244 seconds)
10:19:58*thepreacher quit (Ping timeout: 256 seconds)
10:25:27*filcuc joined #nim
10:54:09*boopisaway is now known as boop
11:02:08*wb joined #nim
11:03:25*filcuc quit (Ping timeout: 255 seconds)
11:08:54*thepreacher joined #nim
11:21:07*Trustable joined #nim
11:45:04*dalarmmst quit (Ping timeout: 272 seconds)
11:45:48*JinShil quit (Quit: Konversation terminated!)
11:49:30*jaco60 joined #nim
11:55:29AraqHaCk3D: pong
11:56:11*thepreacher quit (Remote host closed the connection)
11:59:54*thepreacher joined #nim
12:03:20taotetekanyone know how to detect if code is running in a macro or not?
12:04:05taotetekI thought if defined(NimrodVM) might do the trick but that doesn't appear to be working
12:05:53*BitPuffin|osx joined #nim
12:08:22dom96NimVM perhaps?
12:09:45taotetekdon't see NimVM defined anywhere in the Nim source
12:10:56taotetekI do see targetOS exported from /lib/systems/platforms.nim
12:11:12taotetekwith elif defined(nimrodVM): OsPlatform.nimVM
12:12:19taotetekdom96: I have a patch of lexbase that works in macros :) just need to figure out how to have it conditionally run only when in a macro and run the original logic when not
12:15:02*kumul joined #nim
12:15:29dom96nimrodVM should work then
12:15:42dom96unless the standard library code is wrong
12:15:43dom96heh
12:15:56taotetekyeah - giving it another shot just in case I missed something / did somethig wrong the first time I tried it.
12:17:13Araqer ... no. indeed the 'defined' cannot work
12:17:36pigmejhey everyone :)
12:17:43taotetekAraq: aha.
12:17:50Araqhrm I think you need to hack something with 'when compiles'
12:18:23Araqthough hrm ... tricky
12:18:32taotetekdoh :)
12:19:16Araqjust make it work at compile-time, I'll come up with a test that works
12:19:16*filcuc joined #nim
12:20:00taotetekAraq: ok - for now, I'll keep working on the code I'm writing against my fork
12:20:47taotetekAraq: when you have a test I can use for the conditional, I'll add that and send a PR back to nim-lang/Nim - sound good?
12:25:01*johnsoft quit (Ping timeout: 264 seconds)
12:25:43*johnsoft joined #nim
12:28:48ozraWhile using different code for the same thing is "dangerous", I do think BigInts could benefit a lot from `if-vm: use-native-solution elif-rt: use-GMP-solution`
12:28:53*gokr_ joined #nim
12:33:20*kumul quit (Quit: Leaving)
12:33:54*dddddd joined #nim
12:35:47Araqtaotetek: yup, sounds good.
12:36:06Araqin fact, I think I'll special case 'when defined(nimvm)' in the compiler
12:36:25vikatonXe, Haskell
12:37:15yglukhovHello Araq, I've been thinking about the unhandled exceptions problem. Whether it's a good thing to handle unhandled exceptions. And actually see no good reason to do it. Why do you want to handle them?
12:38:04taotetekAraq: sounds great
12:40:29Araqyglukhov: cause Nim can produce a good strack trace and JS can't
12:41:18yglukhovAraq, I think I know how to handle them, but this adds complexity in both logic and performance. Is it really worth it?
12:42:20yglukhovEvery time we throw an ecxeption we will have to check through all the stack of handlers to see if one of them catches them. And then again, we can not see through non-nim code.
12:43:16*Kingsquee quit (Quit: Konversation terminated!)
12:43:27yglukhovAnd a promitive workaround for user is just to place a try-catch at the top level, and he should be fine.
12:43:32yglukhov*primitive
12:43:42yglukhovsuper-easy, super-fast =)
12:44:16Araqhrm? so emit this top level try-catch
12:44:55*rgv151 quit (Ping timeout: 276 seconds)
12:45:08yglukhovYeah, just emit it. But the question is... what is top-level? main()? exportc functions?
12:45:22yglukhovYou may never know.
12:46:14yglukhovOnly the user of your code will know
12:46:50Araqah yeah well
12:47:02Araqactually you're in control of the generated code, so you could know
12:47:13Araqyou can put it into a 'main' function
12:47:24Araqbut fine, as I said C++ target has the same problem
12:48:39Araqyglukhov: saw my LL gist?
12:49:02Araqhttps://gist.github.com/Araq/7f1eaacb68a5c49f73bc
12:49:04Araqbbl
12:49:13yglukhovI saw you posted it, havent gone through it completely yet
12:52:27*gokr_ quit (Remote host closed the connection)
12:52:41*gokr_ joined #nim
12:52:54*rgv151 joined #nim
12:54:43*thepreacher quit (Remote host closed the connection)
13:27:48*thepreacher joined #nim
13:31:45pigmejreactormonk_: ping
13:41:56*Miko___ quit (Ping timeout: 276 seconds)
13:42:27*jszymanski quit (Ping timeout: 264 seconds)
13:44:07*jszymanski joined #nim
13:45:14*rgv151 quit (Ping timeout: 246 seconds)
13:46:38*enquora joined #nim
13:54:10*rgv151 joined #nim
14:01:22*Ven joined #nim
14:07:47*kumul joined #nim
14:13:14*thepreacher quit (Remote host closed the connection)
14:19:55*Miko___ joined #nim
14:21:54*TEttinger quit (Ping timeout: 265 seconds)
14:32:51*thepreacher joined #nim
14:33:16*darkf quit (Quit: Leaving)
14:35:29vikatonLol
14:35:41vikatonempty nim file == 9227 lines compiled
14:40:02dom96yeah, system.nim
14:40:15avsejis there echo equivalent without new line? I found write(stdout, ...) only
14:40:34dom96nope. stdout.write is the way to do it
14:41:41avsejok
14:54:13*S_Walker joined #nim
14:54:24*S_Walker left #nim (#nim)
14:54:28*S_Walker joined #nim
14:56:20*dalarmmst joined #nim
14:57:48*rgv151 quit (Ping timeout: 244 seconds)
15:00:56*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:01:46*thepreacher quit (Remote host closed the connection)
15:07:49*rgv151 joined #nim
15:07:55*thepreacher joined #nim
15:08:52*ehaliewi` joined #nim
15:13:17*ehaliewi` quit (Ping timeout: 250 seconds)
15:14:35*banister joined #nim
15:14:41*banister quit (Max SendQ exceeded)
15:15:20*dalarmmst quit (Ping timeout: 272 seconds)
15:18:23*Matthias247 quit (Read error: Connection reset by peer)
15:21:30*banister joined #nim
15:21:33*banister quit (Max SendQ exceeded)
15:22:12reactormonk_pigmej, pong
15:22:32*rgv151 quit (Quit: Leaving...)
15:23:02pigmejreactormonk_: hey
15:23:12pigmejHow we can now run nimsuggest from epc?
15:24:12reactormonk_pigmej, still the same?
15:24:24pigmejnothing changed I supposte?
15:24:25reactormonk_ah, you want PWD set?
15:24:26pigmejsuppose* ?
15:24:35pigmejyeah for now I just made some 'custom' script
15:24:39pigmejthat cd + exec
15:24:58pigmejbut well, it's ugly, BUT maybe it's ok to stay with it during this temporary situation I think ?
15:25:08reactormonk_nope
15:25:16reactormonk_because other people gotta use it too
15:25:33reactormonk_so how exactly does the compiler find the stdlib?
15:25:42reactormonk_via nim.cfg or something?
15:27:19pigmejNo idea at all
15:27:22BitRwell is cd + exec even enough? don't you need to be in the same directory as the source too?
15:27:35reactormonk_BitR, nah, that's handled by the file you pass
15:27:41pigmejBitR: cd does the trict
15:27:42pigmejtrick
15:27:50pigmejBitR: I replied you on github though :)
15:28:01pigmejreactormonk_: BitR is having the same issue that I once had
15:28:06reactormonk_BitR, you should pass the main project file though, otherwise it won't work
15:28:07BitRpigmej: same ;)
15:28:15pigmejbut I can't reproduce it now ;D
15:28:18reactormonk_pigmej, but script is ugly as fuck. Please at least do it in emacs.
15:28:34pigmejreactormonk_: I know that it's ugly and terrible
15:28:35BitRwell I can reproduce it with my Dockerfile every single time
15:28:49pigmejBitR: that's cool, could you create separate issue for it /
15:28:49pigmej?
15:28:59pigmejI had it like once in friday evening
15:29:02pigmejand now it's gone ;D
15:29:07BitRyeah sure, but isn't it still just the same issue?
15:29:11pigmejno
15:29:34BitRso issue 4 would be the nimsuggest binary path then
15:29:37pigmejit's other, it searches project file in current directory regardles it's full path
15:30:58*gokr_ quit (Ping timeout: 240 seconds)
15:31:23pigmejBitR: check with relative path it will work somehow...
15:31:40BitRpigmej: I have, as I wrote in the github issue
15:31:55reactormonk_pigmej, (defcustom nim-stdlib-path ...)
15:32:08pigmejreactormonk_: that's not a solution
15:32:13pigmejit's stdlib
15:32:25pigmejI mean, there are at least 2 issues
15:32:37pigmej#1 path to stdlib (which SHOULD be handled automaticaly tbh)
15:32:43reactormonk_pigmej, so what? If it's nil, nimsuggest can handle it.
15:32:45pigmej#2 path to project file, it sometimes fails)
15:32:51pigmejreactormonk_: ah ok
15:33:09pigmejBitR: weird,
15:33:25reactormonk_now I only need to find a piece of code which lets met test if nimsuggest can find stdlib - anyone got an idea?
15:33:28*reactormonk_ is now known as reactormonk
15:33:37pigmejBitR: what about bin/nimsuggest instead ?
15:33:47pigmejreactormonk: probably Araq knows ;P
15:33:51reactormonkpigmej, btw, restage against master
15:34:00BitRpigmej: then it can't find the stdlib
15:34:14pigmejBitR: huh ?
15:34:44pigmejBitR: bin/nimsuggest *should* work
15:34:49BitRError: unhandled exception: cannot open: lib/system/inclrtl.nim [IOError]
15:35:05pigmejee
15:35:05BitRyou just move the path problem to the stdlib then
15:35:12reactormonkah fuck it
15:35:17pigmejBitR: not quite
15:35:24pigmejcd nim
15:35:27pigmejls bin
15:35:31pigmejis there nim and nimsuggest ?
15:35:34BitRyep
15:35:34pigmejare*
15:35:45pigmejso bin/nimsuggest --stdin /tmp/test.nim
15:35:59pigmej*should* work, and it should not crash with lib/system things
15:36:05BitRError: unhandled exception: cannot open: test.nim [IOError]
15:36:19BitRwhen using bin/nimsuggest
15:36:24pigmejok, so it's now the same as original at least
15:37:01pigmejthat's weird
15:37:20reactormonkwtf... git's bugging me
15:38:27HaCk3Dguys, im working on this issue: https://github.com/nim-lang/Nim/issues/1985
15:38:27HaCk3DpcDir, pcFile are enums, but i cannot find them, could any1 help?
15:39:00reactormonkpigmej, there we go. let's go to master.
15:39:09BitRthe ones in lib/pure/os.nim?
15:39:13HaCk3D+
15:39:23ozraimo nim and nimsuggest should find out their 'real path' and look for lib explictly in "../lib". IF it's installed in unix style (which is not supported atm, but probably should be), if it is in /usr/local/bin, it should find lib in /usr/local/lib/nim/, if it's in /usr/opt/bin/ it should look in /usr/opt/lib/ .. and so on.
15:39:34fowlHaCk3D: PC is for pathcomponent, they're in is.nim
15:39:48HaCk3Doh, thnx a lot
15:39:58fowlThats an enum used with walkfiles
15:40:09ozraon windows I'm not sure about the idiomatic ways of pathing..
15:40:13fowlOs.Nim
15:40:19pigmejreactormonk: ok, but wait maybe I will first finish my epc branch?
15:40:20HaCk3Dim on archlinux
15:40:30reactormonkpigmej, just continue on master.
15:41:17reactormonkit works more than before, that's something
15:41:29pigmejwell yeah
15:41:51ozraright now it's possible ro use a freshly compiled nim from a dir, but it doesn't look at "../lib/", it may use another nim-versions lib instead - which is confusing to say the least
15:42:13HaCk3Dfowl: cant find it -_-
15:42:25BitRHaCk3D: it's in lib/pure/os.nim
15:42:51fowlHaCk3D: http://nim-lang.org/docs/os.html#PathComponent
15:43:00*ddl_smurf joined #nim
15:43:50reactormonkpigmej, hm. he more or less copy&pasted the code from python for the syntax hl
15:44:18HaCk3Doh, my fault, just forgot to uncheck "whole word" search in ST
15:44:28pigmejreactormonk: ?
15:44:31HaCk3Dcat os.nim | grep pc
15:44:34HaCk3Dhelped me
15:44:39HaCk3Dthnx u guys 2
15:44:46reactormonkpigmej, """ foo " """ doesn't wrok as it shoul
15:44:53BitRHaCk3D: You can also use grep pcDir . -R
15:45:02BitRit'll search recursively through the current dir
15:45:02pigmejyeah, same for indentation sometimes
15:45:03pigmejetc
15:46:00reactormonkpigmej, I'd actually be happy to offload some stuff like indentation to nimsuggest :-)
15:46:08reactormonkbecause we know more there.
15:46:13*Pisuke joined #nim
15:46:37pigmejyeah BUT I would prefer nimsuggest to return hints
15:46:46pigmejlike 'line 15 invalid indentation'
15:46:48pigmejor something
15:46:53HaCk3Dhow to use nim grep btw?
15:47:00HaCk3Dwhats it?
15:47:05reactormonkHaCk3D, exactly like normal grep
15:47:23HaCk3Don the source of nim, yeah?
15:47:31*MyMind quit (Ping timeout: 265 seconds)
15:47:33reactormonkpigmej, that too, but you could ask nimsuggest "what would be valid identation levels for the next line"
15:47:47BitRbtw are you guys aware that type procs aren't found by nimsuggest? will add an issue later if not :)
15:48:08reactormonkBitR, if it's not in the repo, it's not an issue.
15:48:44BitRfair
15:49:03*zaquest quit (Read error: Connection reset by peer)
15:49:42BitRcould just be an issue with the old nimsuggest in 0.11.2, as I haven't tested much on the devel on due to the path issues
15:50:08BitRanyways, will check later
15:50:08reactormonkpigmej, btw, do you know if it's possible to convert nim-call-epc into a sync call?
15:50:18pigmejno idea
15:50:30pigmejI have somewhere sync call version
15:50:34pigmejbut ... probably in office ;-)
15:51:56*thepreacher quit (Remote host closed the connection)
15:51:57*yglukhov quit (Quit: Be back later ...)
15:52:48reactormonkBitR, https://github.com/nim-lang/nimsuggest/issues/9 ?
15:52:54reactormonkpigmej, get unison
15:53:08*zaquest joined #nim
15:53:54pigmejreactormonk: vpn :)
15:54:07reactormonkpigmej, works
15:56:29*kumul quit (Ping timeout: 246 seconds)
15:58:56BitRreactormonk: can't tell from the code, but the problem I've seen is the inability to get proc suggestions from custom types defined in the same .nim file
15:59:20BitRsay you define a type and then further down in the nim file add a proc, where the first argument is of that type, then nimsuggest won't pick it up
15:59:24pigmejreactormonk: do we want to completion on '.' ?
16:00:27reactormonkpigmej, sure
16:00:40reactormonkBitR, hm.
16:01:02BitRI'll add it as an issue with full details later in case it's not the same issue
16:03:03reactormonkpigmej, https://github.com/nim-lang/nim-mode/pull/27
16:03:12reactormonkcould you test it?
16:03:40pigmejsure, I will just finish my cleanup :)
16:04:15reactormonkAraq, could you tell me how nim finds the stdlib?
16:04:26reactormonkAlso, how I could test if I have the stdlib within the compiler
16:05:19reactormonkah, options.libpath
16:06:22*thepreacher joined #nim
16:06:38*johnsoft quit (Ping timeout: 246 seconds)
16:07:04*johnsoft joined #nim
16:11:32reactormonkpigmej, from what I can read if you set lib:"/path/to/nim/lib" in nimsuggest.nim.cfg it should work
16:12:24pigmejreactormonk: isn't it done when nimble builds ?
16:12:32reactormonkpigmej, yes, but not afterwards
16:12:52*Miko_____ joined #nim
16:13:55reactormonkpigmej, Hint: used config file '/home/tass/dev/nim/nimsuggest/nimsuggest.nim.cfg' [Conf]
16:14:10reactormonkso nimble build needs to set lib there too
16:16:53*Miko___ quit (Ping timeout: 252 seconds)
16:17:21ozrareactormonk: pigmej - Sorry for repeating myself, but: Imo nim and nimsuggest _should_ find out their 'real path' and look for lib to use explictly in "../lib/". On the other hand _iff_ it's installed in unix style (which is not supported atm, but probably should be in unixy OSes): if it is in /usr/local/bin, it should find lib in /usr/local/lib/nim/, if it's in /usr/opt/bin/ it should look in /usr/opt/lib/nim/ .. and so on.
16:17:49reactormonkozra, and windows?
16:18:28pigmejozra: what when nimsuggest is installed from nimble?
16:18:46reactormonk... which is the default for now
16:18:54ozraAs I mentioned earlier, I don't know windows idiomatic pathing - there it should obviously follow that. Currently the first mentioned is the most important - looking in "../lib/" - since right now a nim can use completely wrong version libs..
16:19:42*thepreacher quit ()
16:19:43ozrapigmej: reactormonk: I was just considering what libs each binary should use, not how they end up where they are...
16:20:19reactormonkpigmej, I think the best way would be findExe("nim") and then find nim.nim.cfg and make sure the stdlib is annotated in there
16:20:58*kas joined #nim
16:21:23HaCk3Dhmm, some strange behavior here
16:21:48HaCk3Dreaddir from posix.nim
16:21:52HaCk3Dreturns a Dirent
16:22:00HaCk3Dwith a type (int8)
16:22:22HaCk3Dbut as for dir symlinks, and file symlinks its 10
16:22:57HaCk3D10 = pcLinkToFile
16:23:54reactormonkHaCk3D, nim just warps readdir here, nothing special
16:24:24*victoroak joined #nim
16:24:25reactormonkpigmej, I think for that one we gotta poke Araq if we can have config/nim.cfg for nimsuggest
16:24:41pigmejreactormonk: three is already cfg
16:24:44HaCk3Dreactormonk: i know, but why it returns a 10?
16:24:52HaCk3Dboth for a dir and file
16:25:08reactormonkHaCk3D, because a symlink is the same, no matter if it's a dir or a file
16:25:10pigmejreactormonk: https://github.com/nim-lang/nimsuggest/blob/master/nimsuggest.nim.cfg
16:25:27dom96reactormonk: Didn't you see my message on github?
16:25:36reactormonkpigmej, yes, but how do we get the correct stdlib in there? I don't think we want the nimble compiler, we want the correc tone
16:25:48reactormonkdom96, yes, but it'll break as soon as someone starts moving stuff around
16:26:06dom96reactormonk: and you think the compiler won't?
16:26:25reactormonkdom96, hm. How's the debian package structured?
16:26:42dom96I dunno.
16:26:47dom96You just need to cover the common cases.
16:27:03reactormonkdebian/ubuntu is a common case
16:27:12dom96Yes.
16:27:20dom96You need to cover it.
16:27:30dom96But moving the standard lib to god knows where is not a common case.
16:28:00reactormonkI'd prefer to just ask the nim compiler where the stdlib is via either config/nim.cfg or similar
16:28:01dom96in any case
16:28:03HaCk3DI can make a workaround for the dir symlinks, but should I?
16:28:05dom96i'm trying to fix it now
16:28:16HaCk3Dalready made*
16:28:28reactormonkHaCk3D, a symlink to a file is no different than a symlink to a dir.
16:28:52reactormonkdom96, oh right, it's done via symlinks. That's why the compiler follows symlinks to find the library path ;-)
16:29:10HaCk3Dhttps://github.com/nim-lang/Nim/issues/1985
16:29:39HaCk3Dwhy not to make it return right?
16:29:50HaCk3Das pcLinkToDir
16:30:04reactormonkHaCk3D, the correct way is to ignore the symlink and just resolve the target file
16:30:27reactormonknot sure what should happen with a loop though
16:31:31reactormonkHaCk3D, I'd take find as how it should work
16:31:51HaCk3Dif x.d_type == DT_LNK:
16:31:51HaCk3D if dirExists("./" & y): k = pcLinkToDir
16:31:51HaCk3D else: k = succ(k)
16:31:51HaCk3D yield (k, y)
16:32:00HaCk3Dive made this
16:32:06HaCk3Dbut is an awful
16:32:14HaCk3Dway
16:32:29reactormonkHaCk3D, man find - check the three options. I'd ignore -H and resolve passed symlinks anyway.
16:32:58reactormonkfor now a single optional boolean argument should do - make it by default NOT follow symlinks.
16:33:57reactormonkbasically symlinkTransparent = false # default
16:34:21HaCk3Dfor the walkDir?
16:34:24reactormonkyup
16:34:26HaCk3Dk
16:34:34HaCk3Dill try to do it later
16:34:35HaCk3Dthnx
16:34:42reactormonkhope that helped
16:35:04HaCk3Dbut, what for the type return?
16:35:15HaCk3Dshould i stay it as it is?
16:35:19HaCk3Dlet*
16:35:23reactormonkYup
16:35:27HaCk3Dk :D
16:35:52reactormonkmake sure it works on windows too, should be a bit easier there because they don't have symlinks to dirs IIRC
16:36:25HaCk3Dbtw, sry for my bad english
16:36:33HaCk3Di dont have a lot of experience
16:36:50reactormonkdom96, from what I see nimsuggest will need config/nim.cfg anyway for all the subpaths in stdlib?
16:37:01reactormonkHaCk3D, you get your point across, that's plenty
16:37:18HaCk3Doh, lol
16:37:23HaCk3Di dont understand :)
16:37:34dom96reactormonk: yes, we need to make sure it finds that too.
16:37:54reactormonkdom96, do you know how to specify the $lib mentioned in there?
16:38:06reactormonkHaCk3D, you can make yourself understood.
16:38:16dom96reactormonk: yes.
16:38:27fowlHaCk3D: you are speaking fine
16:38:36HaCk3Dfowl: thnx
16:38:36reactormonkfowl, fuck, I'm too fancy.
16:39:08HaCk3Dguys do u use an GUI irc?
16:39:23HaCk3Di wanna switch to the terminal one
16:39:31fowlI use Hexchat
16:39:32HaCk3Dbut cannot find any cute
16:39:38Arrrrweechat maybe
16:39:56HaCk3Da friend of mine uses it (weechat)
16:40:04reactormonkdom96, could you add some code that tests if the stdlib was found? For some better error messages.
16:40:09HaCk3Dhe says it not so good
16:40:24ArrrrCould be, for me is "good enough"
16:40:28*Jesin quit (Quit: Leaving)
16:40:31dom96reactormonk: It already says "Error: cannot open 'c:\users\dominik\.nimble\pkgs\lib\system.nim'"
16:41:27reactormonkdom96, good enough.
16:42:30*HaCk3D left #nim (#nim)
16:46:09pigmejreactormonk: ok I cleaned my stuff now a bit,
16:46:12pigmej(finally)
16:46:32reactormonkpigmej, perfect
16:48:26pigmejso.. another pull request I suppose, then I cleanup ac things and then merge against master ?
16:51:03reactormonksounds about right
16:52:57*fowl quit (Excess Flood)
16:54:06*HaCk3D joined #nim
16:54:20HaCk3Dbtw, last question
16:54:40HaCk3Dif I want to delete all symlinks to files, what should i do? :)
16:55:12*fowl joined #nim
16:56:31HaCk3Dfor kind, path in walkDir("."): if kind == pcLinkToFile: #delete
16:56:40HaCk3Dbut this woudnt work
16:56:45HaCk3Dcoz of type
16:56:57fowltype?
16:57:04HaCk3Dtype of file
16:57:07HaCk3Din kind
16:57:13HaCk3Dreturned from iter
16:57:37fowlyou can delete symlinks
16:57:47HaCk3DwalkDir returns pcLinkToFile both from symlink file and dir
16:58:12fowlarent you fixing that
16:58:18HaCk3Dive alredy fixed
16:58:21HaCk3Dbut monk said
16:58:27HaCk3Dthat i sout levae it
16:58:29HaCk3Dlol
16:59:01HaCk3Dshould leave*
16:59:23HaCk3Dk then, ill send pull reauest
16:59:33HaCk3Dand will see what Araq will say
17:00:32pigmejreactormonk: merge or rebase all in one?
17:00:47reactormonkpigmej, merge is usually clean enough
17:01:17reactormonkI rebase on pull, but if you're working on your feature branch, just merge it in
17:02:09pigmejhmm
17:02:24pigmejI probably finished (?) the epc branch
17:02:41pigmejthere are still some things missing but no more need for epc branch
17:03:32reactormonkyup
17:07:55pigmejhttps://github.com/nim-lang/nim-mode/pull/28
17:07:56pigmej:)
17:09:40pigmejbrb
17:22:14*ddl_smurf quit (Quit: ddl_smurf)
17:30:08HaCk3Dhow should i commit fix for #1985
17:30:16HaCk3Dadd a new branch?
17:30:53*Strikecarl joined #nim
17:32:21reactormonkHaCk3D, sure, business as usualy with PR.
17:32:53reactormonkHaCk3D, make a branch on your fork, push it to github (on your fork), make PR from github
17:37:23reactormonkAraq, https://github.com/nim-lang/Nim/pull/2851 needs more comment
17:39:06HaCk3Dreactormonk: k, thnx
17:43:18*banister joined #nim
17:43:21*banister quit (Max SendQ exceeded)
17:46:39*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:49:21*Ven joined #nim
17:50:13*johnsoft quit (Ping timeout: 264 seconds)
17:50:33*johnsoft joined #nim
17:52:00dom96reactormonk: update nimble, nimble uninstall compiler, nimble install nimsuggest
17:52:14dom96Nimsuggest should now work
17:53:32*gokr_ joined #nim
18:00:33*banister joined #nim
18:03:03*ehaliewi` joined #nim
18:04:04HaCk3Ddone
18:04:05HaCk3Dhttps://github.com/nim-lang/Nim/pull/2923
18:04:17BitRdom96: Tried a clean install of nim, nimble (inside Docker, so nothing installed before then) and I get the normal library not found error: cannot open: lib/nim/system/inclrtl.nim
18:04:27BitRdo you still need to move nimsuggest to the compiler's bin directory?
18:04:43dom96BitR: nope
18:04:45dom96Should work.
18:05:16*HaCk3D left #nim (#nim)
18:05:26BitReven after copying it next to the compiler I still get the lib error
18:05:37dom96Where is your nim compiler?
18:05:39BitRI'm supposed to use nim-lang/nim#devel right?
18:05:45BitRinside /nim/bin
18:05:45dom96yes
18:06:04dom96and then you've added /nim/bin to your PATH right?
18:06:22BitRyep
18:06:31*gokr_ quit (Remote host closed the connection)
18:06:46*gokr_ joined #nim
18:06:50dom96Can you compile things with Nim?
18:07:00BitRI can build my test file yes
18:07:11BitRbuilt nimble with "nim c" as well
18:07:37*kumul joined #nim
18:07:48dom96can you give me a paste of exactly what you've done?
18:07:50dom96and the output?
18:08:05BitRDo you have docker?
18:08:21reactormonkdom96, how do I update nimble? nimble install nimble?
18:08:37BitRI built it all with this Dockerfile: https://gist.github.com/BitR/1ab859b62fd79d1c40a4
18:08:45dom96reactormonk: nimble install nimble@#head (this won't work on Windows though)
18:09:16dom96BitR: On Windows currently.
18:09:20dom96So, nope.
18:09:36reactormonkdom96, nimble install compiler && nimble install nimsuggest => nimsuggest.nim(329, 5) Error: undeclared identifier: 'gPrefixDir'
18:10:25dom96reactormonk: why are you installing the dependency manually?
18:10:29dom96Nimble should do that for you.
18:10:35dom96But that shouldn't matter
18:10:45onionhammerhum
18:10:54reactormonkdom96, because I can't uninstall compiler, I hit install to get the newest dependency
18:11:08dom96reactormonk: Why?
18:11:21reactormonkdom96, because nimble tells me about dependencies
18:11:29dom96then uninstall the dependencies
18:11:33*filcuc_ joined #nim
18:11:41*filcuc quit (Read error: Connection reset by peer)
18:11:48reactormonkno cascade flag?
18:11:55*dalarmmst joined #nim
18:12:17dom96no
18:12:18*kashyap_ quit (Quit: Page closed)
18:12:28reactormonkdom96, http://pastie.org/10240150
18:12:32*HaCk3D joined #nim
18:12:59dom96BitR: Don't install it.
18:13:06onionhammerhum, cant koch boot on windows w/ latest csources/etc
18:13:16onionhammere:\development\github\nim\lib\pure\times.nim(445, 17)
18:13:27dom96and don't copy nimsuggest anywhere
18:14:07*kumool joined #nim
18:14:43dom96reactormonk: I dunno what happened there, but just remove c2nim, nimsuggest and the compiler packages manually
18:15:35reactormonkdom96, you sure you don't want an image of my .nimble and see what went wrong?
18:15:57dom96reactormonk: You can archive it and send it to me if you want.
18:16:30*HaCk3D quit (Read error: Connection reset by peer)
18:16:54BitRdom96: Ok, so without installing it I still get the lib problem. Nim is in /nim/bin, nimsuggest in /root/.nimble/bin/nimsuggest
18:17:31reactormonkdom96, http://reactormonk.org/nimble.tar.gz
18:17:37*kumul quit (Ping timeout: 240 seconds)
18:18:02*filcuc_ quit (Remote host closed the connection)
18:18:46reactormonkdom96, successfully installed.
18:18:51*HaCk3D joined #nim
18:19:10*filcuc joined #nim
18:19:39dom96reactormonk: It's hard for me to tell what happened. Have you removed c2nim manually?
18:19:57HaCk3Dreactormonk, whats wrong with the commit?
18:19:59reactormonkdom96, nah, I just rm-rf'd .nimble
18:20:07reactormonkHaCk3D, check the commits to be merged
18:20:13dom96reactormonk: I mean, before all this.
18:20:38dom96reactormonk: It's either that, or you executed nimble uninstall c2nim, but somehow nimble didn't remove it from its reverse dependencies db.
18:20:40HaCk3Dwtf
18:20:44HaCk3D33 commits
18:20:54HaCk3Dhow to fix it?
18:21:10reactormonksee comment
18:21:30dom96BitR: Can you try doing it outside of docker?
18:21:38BitRsure
18:21:49reactormonkdom96, got it? then I'll rm it
18:21:59HaCk3Dwhat does cherry-pick means?
18:22:15dom96reactormonk: yes, I got it.
18:22:28dom96Like I said though, it doesn't help much.
18:22:47reactormonkok
18:22:56reactormonkwant command history too?
18:23:12reactormonkhmm, not too much in there
18:23:28reactormonkHaCk3D, google it, git got lots of documentation
18:24:51dom96I would need a reproducible set of commands.
18:25:13dom96If you can show me that when you install c2nim, then uninstall it that Nimble still thinks that it is installed then I will know that it's a bug.
18:25:25dom96but anyway
18:25:28dom96does nimsuggest work?
18:26:09reactormonkError: unhandled exception: cannot open: lib/system/inclrtl.nim [IOError]
18:26:11reactormonknope
18:26:32reactormonkJust touch /tmp/test.nim
18:26:36reactormonknimsuggest /tmp/test.nim
18:27:06dom96looks like a linux-specific error to me
18:27:18dom96since it works for me on Windows
18:28:07*Arrrr quit (Ping timeout: 276 seconds)
18:30:11*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:30:27reactormonkApparently the fix doesn't work as well :-/
18:32:09reactormonkbtw, what's the splitPath.head? What does that one do differently on windows/linux?
18:33:17*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
18:33:23dom96shouldn't do anything different
18:35:17taotetekdom96: ended up getting stumped on making the calls I need from lexbase working in a macro, blah. hopefully figure it out eventually.
18:37:17reactormonkhm
18:38:57HaCk3Dnice, i think i got it out
18:39:12HaCk3Dive pulled master branch instead of devel
18:39:14HaCk3D-_-
18:39:56reactormonkHaCk3D, :-)
18:40:21reactormonkdom96, any documentation on how to create tests?
18:40:26HaCk3Dcan i build smth 4 android with nim?
18:40:49dom96reactormonk: tests for what?
18:42:11reactormonkdom96, the nim compiler
18:42:20reactormonkHaCk3D, as long as it runs c + glibc
18:42:25dom96don't think so
18:43:04dom96why did you reopen #6?
18:43:10reactormonkbecause it doesn't work.
18:43:15reactormonk... on my machine.
18:45:47reactormonkdom96, could you sneak in an "echo(gPrefixDir)" somewhere in windows?
18:46:46dom96what's your prefix dir?
18:46:53reactormonk/home/tass/dev/nim/nim
18:46:55*kas quit (Ping timeout: 255 seconds)
18:47:05reactormonkwhich is where my git repo for nim is.
18:47:10dom96that sounds correct
18:47:30dom96this seems like a different problem
18:47:57HaCk3Dhttps://github.com/nim-lang/Nim/pull/2925
18:48:02HaCk3Dfinally
18:48:24*afiskon joined #nim
18:48:58dom96HaCk3D: nice!
18:49:16afiskonHello. Could someone please explain me what is considered a nilable type in Nim? Onply ref's and pointers, or something else too?
18:49:30reactormonkafiskon, everything unless you annotate it with not nil
18:49:41dom96not everything.
18:49:46dom96Value types cannot be nil.
18:49:58dom96so yes, only refs and pointers.
18:50:19reactormonkHow about seqs?
18:50:38afiskonI know that strings could be nil too.
18:51:03reactormonkdom96, just checking, did it not work for you beforehand?
18:51:24dom96reactormonk: nimsuggest? it didn't
18:51:29reactormonkkk
18:51:31dom96I just reproduced this issue on Linux
18:52:29*kas joined #nim
18:52:59reactormonkcan confirm, it's correct path for nim.
18:53:06reactormonkApparently a different issue, yup.
18:54:26*yglukhov joined #nim
18:55:02HaCk3Donly Araq can pull?
18:55:04*Quickerz joined #nim
18:55:21HaCk3Ddom96, thnx btw :D
18:55:29HaCk3Dmy first pull reqest here
18:55:51dom96not just Araq
18:56:37*Quickerz quit (Client Quit)
18:57:14*Arrrr joined #nim
18:59:32pigmejreactormonk: so what are "our" next steps ?
19:00:36reactormonkpigmej, fix #6
19:00:46reactormonkI gotta go for a few hours though :-/
19:01:03reactormonkbut I can tell you that gPrefixDir gets set correctly
19:01:05pigmejreactormonk: have fun I suppose ;-)
19:01:59dom96i'm trying to fix it
19:02:03reactormonkok
19:02:46reactormonkpigmej, I think auto-indentation is slightly borked - there's a few issues about it
19:03:02*afiskon quit (Ping timeout: 276 seconds)
19:03:30*afiskon joined #nim
19:05:51*Matthias247 joined #nim
19:08:32BitRdom96: Alright, finally got it tested outside of docker, still get the same issue as inside docker
19:09:22BitRnimsuggest can't find the standard library
19:09:23dom96BitR: Thanks for testing. I just reproduced it too :)
19:09:30BitRcool beans
19:16:43HaCk3Dwhen my pull request can be added? aprox
19:18:07dom96HaCk3D: why so impatient?
19:18:17*ehaliewi` quit (Ping timeout: 240 seconds)
19:20:19HaCk3Ddom96, hah, sry
19:20:32HaCk3Djust wanna see it on the devel branch
19:20:37HaCk3Dk, will w8
19:21:26dom96BitR: try it now
19:25:22dom96HaCk3D: Merged :)
19:27:31HaCk3Dwooow :)
19:27:32HaCk3Dnice
19:27:33HaCk3Dthnx
19:28:32*landgraf quit (Ping timeout: 244 seconds)
19:29:59dom96bbl
19:30:06HaCk3Dhow can i help more?
19:30:21dom96https://github.com/nim-lang/Nim/issues
19:30:27dom96https://github.com/nim-lang/Nim/labels/Easy
19:30:33dom96bbl
19:31:49HaCk3Dwhy "kill nim i" isnt closed?
19:32:03HaCk3Di think repl should stay in nim
19:32:12HaCk3Dits pretty awsome
19:32:17HaCk3Dand useful
19:35:32fowlIts not that useful
19:35:39afiskonnoone dares to kill REPL!
19:36:52*eratron joined #nim
19:37:21BitRdom96: it runs!
19:37:35BitReven while installed from nimble, without moving it
19:41:16*eratron left #nim ("WeeChat 1.1.1")
19:56:10*afiskon quit (Quit: Leaving)
19:59:21vikatonim not quite sure how to use c2nim :/
19:59:28*Mat4 joined #nim
19:59:48vikatonfor instance, using c2nim on this: https://github.com/xurdm/Etherpad
20:00:35Mat4hello, have someone here tried functional programming in Nim ?
20:01:55*gokr_ quit (Read error: Connection reset by peer)
20:05:13HaCk3DMat4 yeah
20:05:25HaCk3Da lot of procs are in sequtils
20:05:37HaCk3Dmap/each are built-in
20:06:28*yglukhov quit (Quit: Be back later ...)
20:09:34dom96BitR: great :)
20:10:15dom96vikaton: read this? http://nim-lang.org/docs/c2nim.html
20:11:56Mat4I've found out recursions does not work for generic parameters
20:12:37Mat4if I declare some functions for each type instead it works
20:16:37Mat4as long as I name the functions different:
20:17:05Mat4proc berannAsmFill (bundle : tCodeBundle, slots : tBaseImm): tCodeBundle =
20:17:05Mat4 if slots > 0: result = berannAsmFill (bundle shr 4, slots - 1)
20:17:05Mat4 else: result = bundle shr 4
20:17:05Mat4
20:17:05Mat4>>proc berannAsmFill (bundle : tDataBundle, slots : tBaseImm): tDataBundle =
20:17:08Mat4 if slots > 0: result = berannAsmFill (bundle shr 4, slots - 1)
20:17:10Mat4 else: result = bundle shr 4
20:17:41Mat4<< redefinition of 'berannAsmFill'
20:18:34HaCk3Du can use new type such as
20:19:02HaCk3Dtype: Bundle
20:19:03HaCk3D tCodeBundle or tDataBundle
20:19:34HaCk3Dthis should work
20:20:31*Arrrr quit (Quit: WeeChat 1.2)
20:20:41HaCk3Dtype Bundle = (tCodeBundle or tDataBundle)
20:20:55HaCk3Dthis is correct i think
20:21:11HaCk3Dbb all
20:21:14*HaCk3D left #nim (#nim)
20:22:35Mat4thnaks, I try it
20:22:39Mat4 thanks
20:24:43Mat4anyhow; Is this a bug or a feature ?
20:26:13*BitPuffin|osx quit (Ping timeout: 264 seconds)
20:28:55Mat4HaCk3D's change lead to following error: type mismatch: got (tCodeBundle or tDataBundle) but expected 'tCodeBundle or tDataBundle'
20:29:07Mat4whatever this means
20:33:24AraqMat4: report it properly please
20:41:26Mat4sorry, where should report it again ?
20:44:56Araqhttps://github.com/nim-lang
20:46:28*jszymanski quit (Quit: computer sleeps...)
20:56:58*kas quit (Ping timeout: 255 seconds)
20:59:25*perturbation joined #nim
21:04:35*filcuc quit (Ping timeout: 265 seconds)
21:07:05ozraThis has come up some times now, the natural way for me to name files are the same as identifiers and urls - dashes: "the-magic-types.nim". This is not allowed by nim!?
21:08:05Heartmenderapparently not
21:08:29Heartmenderunderscores aren't that much of a shift IMO
21:08:55vikatonstill dont exaclt know how
21:09:00vikatonwe need a video tutorial
21:09:29ozraI'll add on my todo to PR...
21:17:12Mat4Araq: done
21:19:45Araqozra: I fixed the subInt64 regression but it still fails with:
21:19:56Araqtimes.nim(445, 17) Error: number 116444736000000000'i64 out of valid range
21:20:00Araqhow come?
21:21:06ozraI don't know - it's in parseRawInt. It counts up till it passes 32 bit, then it fails, even though it accumulates on a BiggestInt var.
21:21:41ozraIt's on 32bit machine, right? (So it's not a new/different thing)
21:22:19ozraAnd the var reports low/high to be 64 bit range.
21:22:26ozrawhen echo'ing...
21:23:06ozraso ruddy mysterious :-/
21:36:48Mat4interesting. I stumbled upon the same problem when programming in Vala last week. The GLib dependent 'ulong' type is declared with 64 bit depth but can only hold 32 bit values
21:37:10*victoroak quit (Ping timeout: 252 seconds)
21:38:17AraqVala is still a thing? interesting.
21:41:03Mat4Most of the GUI for Elementary OS is written in Vala as I know for example
21:41:24Mat4and there exist some projects which uses Vala as alternative for C#
21:42:02Mat4and Net (in my opinion the main reason for choosing this programming language)
21:42:15ozraKind of heavy basing it all off of GObjs though...
21:42:57ozraBut of c. that is the point of Vala, so...
21:51:59*fowl quit (Excess Flood)
21:53:42*fowl joined #nim
21:55:26*Kingsquee joined #nim
21:58:00*perturbation quit (Quit: Leaving)
22:06:05*Miko_____ quit (Ping timeout: 246 seconds)
22:07:09*askatasuna left #nim ("WeeChat 1.2")
22:09:08*Mat4 quit (Quit: Verlassend)
22:14:31Araqugh, this sucks
22:14:53Araqgetting it to work is not hard
22:15:36Araqbut we like that 0.11.2 can continue to build devel
22:16:09ozraAraq: Did you figure out the mystery?
22:16:24Araqsure
22:16:46*dsadsad joined #nim
22:17:04ozraneat - I hit a brick wall once I came to that spot where the var magically seemed something else :-/ What was it, if it's quick to explain?
22:17:27Araqthe compiler generates mulInt instead of mulInt64
22:17:38ozraAha, it was that trail.
22:17:46Araqand this is nasty to fix since system.nim now defines it wrongly
22:18:03Araqwrong for the old version of the compiler that is
22:18:11ozraScheisse :-/
22:18:18dom96Is it seriously that important?
22:18:31dom96We're still pre-1.0, worrying about this stuff is unproductive.
22:18:40ozraon 32bit plats..
22:18:51Araqdom96: I don't like to rebuild the C sources
22:19:04ozradom96: You're right.. Some bumps in the road are expected...
22:19:18Araq0.11.2 needs to be able to build 0.11.4.
22:19:24dsadsadreactormonk : so hows is it going with units of measures?
22:19:45dsadsadthe new f# version just got even more powerfull with it, you can now do stuff like: [<Measure>] type Jones = cm Hz^(1/2) / W
22:20:09Araqdsadsad: yup, I'm aware. F# kicks ass. :-)
22:20:23dsadsadindeed, somewhat of a pragmatic haskell
22:20:32dsadsador ocaml whatever
22:20:39dsadsadim really impressed with it
22:20:46AraqOcaml's influence is much greater
22:21:42dsadsadindeed, its nice to be able to use the .net or c# object stuff if you really need to
22:21:52dsadsadwhile being functional first
22:22:02*Trustable quit (Remote host closed the connection)
22:22:47dsadsadthe Type providers are crazy nice for type safe sql with 100% autogenerated types from existing SQL database
22:23:48Araqdsadsad: tell OnO about it ;-) he still thinks the database model should be generated from Nim's type definitions
22:23:57dsadsadlol
22:31:37dsadsadI think F# is probably going to increase in popularity with it going 100% open source as well as .net, plus with xamarin for native GUI look on android/ios/windows phone
22:31:58dsadsadi hope it can eat Scala's meal
22:40:45*brson joined #nim
22:42:03*Demos joined #nim
22:49:09*NimBot joined #nim
22:51:10*Jehan` joined #nim
22:52:20flaviuCan't the database model be generated from Nim's type definitions?
22:52:31flaviuI mean, it doesn't seem hard to implement...
22:54:37*Demos joined #nim
22:55:26Jehan`It should also be possible to generate both types and database schemas from a DSL.
22:55:56Jehan`I tend to think that plain old code generation as a metaprogramming technique is fairly undervalued.
22:55:57*boop is now known as boopisaway
22:56:19*boopisaway is now known as boop
22:56:44ozraJehan`: flaviu +1 on that
22:57:08flaviuozra: I said it was possible, not that I approve of it :)
22:57:38flaviuI've been using an ORM at work, and I still think that it would be better to just manually do the SQL.
22:57:50ozraI build db's + types like that in LS in iojs. works like a charm - so why not?
22:57:53Jehan`I suspect it may have lost its appeal because it's difficult to integrate with some IDE-based approaches.
22:58:48ozraflaviu: dsl'ish obj confs.. that is
23:01:15Araqozra: why not? because it doesn't work when you already have a database and lots of data for the model
23:02:08Jehan`In that case, I'd do it the opposite way? Extract the schema from the database and generate types from that?
23:02:17ozraAraq: Ah, that was another thing. I used these dsl defs as source for building both the types and the db...
23:02:59Araqalso data tends to live longer than applications so it's wiser to build applications around the data model rather than "generating" a shitty data model from the application's needs
23:03:01ozraJehan`: yeah. which ever exists first..
23:03:38AraqJehan`: yeah, that's what my personal ORM would do
23:04:05ozraAraq: that was the point of generating all from one uniform def: change of lang? No prob: re-generate.
23:05:05Araq"uniform def"? does that mean "create table + create index" instructions? if so, why not simply use SQL?
23:05:42Jehan`Araq: SQL representation may be lossy.
23:06:28ozrabecause they created data types too, and basic ui-setups. It sounds crazy. But holy shit it was efficient an simple to slap up new functionality for customers. Yihaa. Less testing, less repetition, less risk of errors.
23:08:12Jehan`Being able to generate code pretty easily with Nim plus some build tools is actually something I like about the language. The only annoyance is the indentation-based syntax, which can make things a bit more tedious at times than I like.
23:09:21flaviuJehan`: Nothing a good library can't fix :)
23:09:23ozraJehan`: what about the indent syn. - when generating code by strings?
23:09:38AraqJehan`: I liked to have #! braces or #! lisp parsing modes for that
23:10:08Jehan`flaviu: Well, I do have a small library for it, but sometimes it can still get a bit fiddly.
23:10:15Jehan`Araq: Heh. :)
23:10:29flaviuAraq: How about an out-of-tree preprocessor?
23:10:36ozraLooove options, hehe :)
23:10:46Jehan`I'd still like to be able to understand the generated code. :)
23:12:46Jehan`Raw AST dumps, aka Lisp syntax, isn't really my thing. :)
23:12:52*kumool quit (Ping timeout: 255 seconds)
23:16:47Araqyou can get used to it :P
23:17:21Araqthe generated C code was not indented properly for quite some time
23:17:34Araqwell it still isn't in some cases
23:21:44*renesac joined #nim
23:22:55*Matthias247 quit (Read error: Connection reset by peer)
23:28:23AraqJehan`: btw I *still* like to read a proposal from you of how to improve shared state and threading ;-)
23:29:11Jehan`Araq: Heh. Okay, I guess I won't get around doing an actual full write-up for it. :)
23:29:12vikatonAraq: did FP make u smarter ?
23:29:43Araqvikaton: IQ tests made me smarter
23:30:01vikatonis that a no
23:31:23vikatonAraq: sometimes I don't understand your deep answers and it demoralizes me :(
23:31:37Araqlol yeah, "deep" answers
23:33:16flaviuvikaton: Well, I was a plebeian coding in Java like everyone else. But then I discovered The Functional Programming and I've gotten at least 5x smarter.
23:34:24vikatonflaviu: w0w, thats cool
23:34:47vikatonAraq, all your answers have some sort of moral to them
23:34:55vikatondeep deep inside the,
23:34:57vikatonthem*
23:34:59*vikaton deeeeep
23:37:53Jehan`Oh, I love this quote; I hadn't known it: "Concurrent programs wait faster" -- Hoare
23:44:16*Jehan` quit (Quit: Leaving)
23:49:02*Jesin joined #nim
23:49:48*Demon_Fox joined #nim
23:57:28vikatonheh
23:57:52*brson quit (Quit: leaving)