<< 04-06-2015 >>

00:01:24*Kingsquee joined #nim
00:02:08*gsingh93 joined #nim
00:04:59*datanoise quit (Ping timeout: 244 seconds)
00:15:05*strcmp1 quit (Quit: Leaving)
00:19:01*strcmp1 joined #nim
00:19:27ozradom96: what can cause tracebacks - or to be more specific, what phrases can they end with in output? I'm trying to make the tester give "smarter outputs" by matching stdout for tracbacks/sigsegvs _when_ it encounters a exit-code mismatch. Works fine matching the start. But as said, what could be possible ending phrases except SIGSEGV...?
00:22:48ozradom96: No bother btw, I'll use a fail-proof tactic, just keep matching tracback lines, and then include one more.. should work.
00:30:38*datanoise joined #nim
00:31:57*boop is now known as boopisaway
00:39:34*jaco60 quit (Ping timeout: 256 seconds)
00:40:38*dddddd quit (Ping timeout: 244 seconds)
00:44:42*brson joined #nim
00:50:03*datanoise quit (Ping timeout: 252 seconds)
00:53:45*onionhammer quit (Read error: Connection reset by peer)
00:54:46*onionhammer joined #nim
00:59:03vikatonstill dont know what we are called
01:22:16*ErikBjare_ quit (Ping timeout: 250 seconds)
01:22:16*Guest46758 quit (Ping timeout: 250 seconds)
01:23:28*avsej joined #nim
01:23:49*ErikBjare_ joined #nim
01:23:52*avsej is now known as Guest68501
01:27:45dtscodenimbians vikaton
01:28:11vikatonorly
01:28:22dtscodeIn my make believe reality at least
01:29:27vikatonI always thought it was Nimmers
01:30:06dtscodeThat is a separate, more radical group of nims who don't like nimbus
01:30:32vikatono
01:32:00*datanoise joined #nim
01:36:52*datanoise quit (Ping timeout: 255 seconds)
01:40:41vikatonwill -nilChecks:)n check for nil or turn the segfaults into NilErrors?
01:40:43vikatonor both?
01:41:00vikaton-nilChecks:On*
01:42:07dtscodeI was like what is nilChecks smiley?
01:42:36*filwit quit (Quit: Leaving)
01:43:15vikatonlol
01:43:23vikatond0es any1 kn0w ?>
01:45:02ozraIt statically checks at comile time that your code can't possibly have a nullptr for that var
01:45:23dtscodeSomeone should write a lint for nim
01:45:41vikatonozra: I thought that was the 'not nil' annotation
01:46:06ozraaha sorry. a bit tired, sleep time :)
01:46:14vikatonnight
01:46:48ozravikaton: yes I don't remember the exatcs of those switches right now.. g'nigt!
01:50:53dtscodeDoes anyone know if there is any particular reason why theres no overload of split with a max split in the stdlib?
01:54:49Xeis there a way to do a foreach on every character in a string?
01:54:51vikatonI'm not sure
01:55:13*ozra quit (Ping timeout: 246 seconds)
01:55:20vikatonXe, yes
01:55:27vikatonbut It's not off the top of my head
01:55:51dtscodeXe: for the_char in the_string: ...
01:56:18vikatonXe, https://nim-by-example.github.io/variables/ ?
01:56:37vikatondtscode, does this look good so far? https://gist.github.com/Vikaton/126c07c00527cbcab545
01:56:45Xeah I see
01:56:48Xethanks
01:56:58vikatonit's for Nim's common criticism thingy
01:57:38dtscodeI guess so
01:57:46dtscodeI'm not very experienced with nim tbh
01:58:11vikatonneither am I
01:58:27*brson quit (Quit: leaving)
01:58:42dtscode> with compiling to C IR.
01:58:58dtscodeI would change that to "with compiling to C as an IR."
02:00:28vikatondtscode, but C is an intermediate language
02:00:41dtscodeNot traditionally
02:01:45vikatondtscode: Though not explicitly designed as an intermediate language, C's nature as an abstraction of assembly and its ubiquity as the de facto system language in Unix-like and other operating systems has made it a popular intermediate language: Eiffel, Sather, Esterel, some dialects of Lisp (Lush, Gambit), Haskell (Glasgow Haskell Compiler), Squeak's
02:01:45vikatonSmalltalk-subset Slang, Cython, Seed7, SystemTap, Vala, and others make use of C as an intermediate language
02:01:50vikaton- Wikipedia
02:03:55dtscodeEh... I guess so. Thats still a very small amount of languages
02:06:08*datanoise joined #nim
02:08:09*gsingh93 quit (Ping timeout: 252 seconds)
02:10:01TEttingerdtscode, heh. any list of languages is going to be a small amount
02:10:17TEttingerthere are thousands out there, do you want all of them that have feature X?
02:10:20Xehttps://gist.github.com/Xe/70bc08d7aff341b6d743#file-crack-nim
02:10:25Xeis there a better way to do this?
02:10:44dtscodeTEttinger: Not really. And I never said I want them to have that feature
02:10:56TEttinger?
02:11:15TEttingerno I mean do you want a fully researched list of languages that contain feature X
02:11:26TEttingerC++ compiled to C at first
02:11:29TEttingerit doesn't now
02:11:32TEttingerdoes it count?
02:11:44dtscodeNo. I never asked for one. I said they don't traditionally compile to C
02:11:49dtscodeAlso, C++ never compiled to C
02:11:58TEttingerwell, preprocessed
02:12:10dtscodeC with classes compiled to a C that looked a lot like C++ thanks to macros
02:12:31TEttingerhttps://en.wikipedia.org/wiki/Cfront
02:12:33TEttingerah
02:14:16notfowlXe
02:14:18vikatonuhhh
02:14:24notfowlBetter way to do what
02:14:30vikatonXe, I like your for loops there
02:14:38*yglukhov___ joined #nim
02:15:09Xenotfowl: see the gist I linked
02:15:46dtscodeHoly shit
02:15:48dtscodesuch loop
02:15:53vikatonXe, what does that decrypt?
02:17:42Xevikaton: 8 character alphanumeric passwords using posix crypt()
02:19:05Xeit was the result of a "shooting the shit" idea
02:19:09flaviuThere are definitely better ways to do that.
02:19:21*yglukhov___ quit (Ping timeout: 276 seconds)
02:20:38flaviuYou could probably translate https://docs.python.org/3.3/library/itertools.html#itertools.product to Nim
02:24:00TEttingerso your worst case, the password 'mmmmmmmm', would take 2821109907456 tries
02:24:54TEttinger2 trillion of something is too many
02:25:13TEttingererr, 2 quadrillion
02:25:30dtscodeWhat if its 2 quadrillion of good things?
02:25:52TEttingerok, trillion
02:25:54TEttingerthat is huge
02:26:05TEttingeryou can die from too much of anything
02:26:07TEttingerwater even
02:26:14TEttingerbroccoli
02:26:23dtscodeWhat if its a trillion cups of elixir of life?
02:26:39TEttingerlead poisoning from the pewter goblet
02:26:52dtscodeThe elixir of life keeps you alive
02:27:00XeTEttinger: :D
02:27:02TEttingerlead poisoning drives you insane
02:27:11dtscodeBut you're alive :D
02:27:29dtscodeAnd anyways, I'm already insane
02:29:02Xearen't we all mad here?
02:29:26dtscode^
02:30:19vikatonim not
02:30:20notfowlIts amazing that I use this terribly unsafe language and I still have all my fingers and toes
02:30:23vikatonim p happy rn
02:30:38notfowlam I just that good? Yes
02:31:46vikatonnotfowl: 1337
02:32:02vikatonI like living like on the edge
02:32:07ldleworknotfowl: which one
02:32:26notfowlNim ofc. The enemy of memory safety
02:32:31dtscodenotfowl: I like you better than that noob fowl who lost all of his toes
02:32:34TEttingerhttp://www.regardinghealth.com/oll/RHO/2010/12/Article.aspx?bmkEMC=64632 , it's fantastic that health really just hangs in the slightest balance of conflicting chemicals. if you have a clot in a vein, they can't treat it if you have too much vitamin K, which is otherwise innocuous
02:32:43notfowldtscode: :D
02:33:27TEttingermakes you wonder about computers too, how every time we write programs, they need to be perfect syntax-wise, and even then may not behave correctly
02:33:56vikatonnotfowl, do you know what -nilChecks:On does?
02:34:04Xenim is kinda annoying using tup to build
02:34:45notfowlvikaton: it does something that the programmer should be doing?
02:34:52vikatonOk
02:36:30vikatonI need Araq
02:37:50dtscodeHave you accepted araq as your lord and savior?
02:40:02notfowlvikaton: why
02:40:09notfowlType nim --help
02:40:18notfowlI didn't know that was a serious question
02:40:39Xethe nim command line parser is kind of annoying
02:41:19vikatonnotfowl, -nilChecks is a future addition, so I was wondering if you knew it
02:43:29Heartmenderi fail to see why the points that vikaton is asdressing in his gist are relevant
02:44:06vikatonHeartmender: how aren't they?
02:44:31Heartmendermemory safety is the problem of the user, not the compiler
02:45:33vikatonHeartmender: it's a common criticism, and humans make errors
02:45:41notfowlAye. Extra analysis means extra time spent compiling. I like that nim recompiles itself in 6-7 seconds. I build rust recently it took like 20 minutes
02:45:53vikatonBut when there is hand-written Nim code that contains errors like dereferencing a null pointer, there are ways to avoid this:
02:46:03vikaton^ that is address the user's fault
02:46:09notfowlRecompiles itself 3 times in 6-7 seconds*
02:46:32vikatonnotfowl, yes Rust is known for slow compilations
02:46:51vikatonbut the borrow checker and such do add time
02:47:22vikatonI cant seem to trigger a stack overflow as easily in Nim as is in Rust
02:48:19*Jesin quit (Quit: Leaving)
02:54:53*jox joined #nim
02:55:42*jox left #nim (#nim)
02:56:14*Symer joined #nim
02:56:26SymerHi, I have a question about Nim
02:56:43Symercould this happen in normal nim code? http://www.thegeekstuff.com/2013/06/buffer-overflow/
02:57:11dtscodeAfaik, yes, if you aren't being careful
02:57:50*rgv151 joined #nim
02:58:36Symerdtscode: will the program execute unexpected code or just exit?
02:58:51dtscodeThat I am not sure about
03:01:15*bonerangue joined #nim
03:07:21*bonerangue left #nim (#nim)
03:10:53*Symer quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
03:11:09*bonerangue joined #nim
03:11:19*bonerangue left #nim (#nim)
03:11:31*vikaton quit ()
03:16:08*BitPuffin|osx joined #nim
03:22:13*fioco joined #nim
03:22:22*dashed joined #nim
03:22:37fiocoHi.... dom96 thanks for suggesting a minecraft clone to me but that was way ahead of me
03:23:11*Jesin joined #nim
03:23:24fiocoI've decided to build a web, client side nim runner. So a server serves html iinlined nim and client executes in a sandbox
03:23:29*BitPuffin|osx quit (Ping timeout: 256 seconds)
03:34:38*darkf joined #nim
03:39:28dtscodeSo TIL nim c executable_name works the same as nim c file.nim
03:43:34*datanoise quit (Ping timeout: 258 seconds)
03:46:47*rgv151 left #nim ("Leaving...")
03:55:13*def- quit (Ping timeout: 256 seconds)
03:55:27*def- joined #nim
03:55:33*wan quit (Ping timeout: 265 seconds)
03:56:01*wan joined #nim
03:57:23*rgv151 joined #nim
03:57:35*datanoise joined #nim
03:58:52*gsingh93 joined #nim
04:00:18*fioco left #nim (#nim)
04:02:55*EastByte quit (Ping timeout: 252 seconds)
04:03:12*EastByte joined #nim
04:20:32*kokozedman joined #nim
04:29:24*pregressive joined #nim
04:29:33*kokozedman quit (Quit: Leaving)
04:29:40*gsingh93 quit (Ping timeout: 252 seconds)
05:07:27*pregressive quit (Remote host closed the connection)
05:29:28*ingsoc joined #nim
05:53:31*nande quit (Remote host closed the connection)
06:04:38*dashed quit (Quit: Connection closed for inactivity)
06:26:33*datanoise quit (Ping timeout: 272 seconds)
06:29:36*yglukhov___ joined #nim
06:32:54*yglukhov___ quit (Client Quit)
06:38:18*leonlee joined #nim
06:53:15*datanoise joined #nim
06:54:48*kumul quit (Quit: Leaving)
06:55:10*leon_lee joined #nim
06:55:30*leonlee quit (Read error: Connection reset by peer)
07:02:09*xificurC joined #nim
07:07:12*Ven joined #nim
07:08:41*gokr_ quit (Quit: IRC for Sailfish 0.9)
07:09:02*gokr_ joined #nim
07:11:01*datanoise quit (Ping timeout: 264 seconds)
07:16:54*Ven_ joined #nim
07:16:56*Ven quit (Read error: Connection reset by peer)
07:17:46*BlaXpirit joined #nim
07:26:32*ozra joined #nim
07:26:42*leon_lee quit (Quit: Leaving)
08:01:20*Guest87260 is now known as wuehlmaus
08:02:29*OnO joined #nim
08:05:59*coffeepot joined #nim
08:07:18*Ven_ quit (Read error: Connection reset by peer)
08:07:43*Trustable joined #nim
08:09:43*rgv151 quit (Quit: Leaving...)
08:14:26*kokozedman joined #nim
08:16:14*jubalh joined #nim
08:17:45kokozedmandom96, Araq: has there been some test or paper on the overhead involved with the asyncdispatch?
08:20:15*Trustable quit (Remote host closed the connection)
08:25:28*ozra quit (Ping timeout: 246 seconds)
08:27:16*johnsoft quit (Ping timeout: 255 seconds)
08:27:30*johnsoft joined #nim
08:28:26*yglukhov___ joined #nim
08:39:49*ozra joined #nim
09:09:08*Matthias247 joined #nim
09:13:38*Kingsquee quit (Quit: Konversation terminated!)
09:19:23wuehlmaustoday i used 'nim i'. it crashed when i tried math.pow(2,2). is 'nim i' obsolete?
09:19:32wuehlmausperhaps it could have a disclaimer
09:20:15wuehlmausof course a working REPL would be wonderful.
09:22:46*Ven joined #nim
09:25:30notfowlIsn't it disabled now
09:26:15wuehlmausit's not mentioned anymore when using --help
09:28:04notfowlIt doesn't have ffi so its not particularly useful
09:29:23notfowlA compile time switch could add pow at compile time
09:29:32wuehlmausyep. it is a bit like rusti
09:29:41wuehlmauswhich is abandoned
09:30:06wuehlmausi know for sure that a REPL for a compiled language is difficult
09:30:29wuehlmauspersonally i use hsandbox nim to try stuff
09:30:45notfowlWhat's that
09:30:55wuehlmausit's a sandbox for languages done in python
09:31:10notfowlA web compiler?
09:31:17wuehlmausno, not web, command line
09:35:29wuehlmaushttps://labix.org/hsandbox
09:36:54*dddddd joined #nim
09:43:43*jaco60 joined #nim
09:56:16*datanoise joined #nim
10:00:42*datanoise quit (Ping timeout: 244 seconds)
10:09:09*boopisaway is now known as boop
10:12:33*elbow quit (Ping timeout: 276 seconds)
10:20:33*johnsoft quit (Ping timeout: 256 seconds)
10:21:39*johnsoft joined #nim
10:25:48*elbow joined #nim
10:30:54*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
10:30:57*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:40:46*OnO joined #nim
10:44:10*johnsoft quit (Ping timeout: 272 seconds)
10:44:31*johnsoft joined #nim
10:45:09*vikaton joined #nim
10:48:36*darkf_ joined #nim
10:48:43*darkf_ quit (Changing host)
10:48:43*darkf_ joined #nim
10:52:08*darkf quit (Ping timeout: 256 seconds)
10:53:33*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:56:13*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
10:59:06*jochenvdv joined #nim
11:06:20*kashyap_ joined #nim
11:06:42kashyap_Hi, how do I connect to an HTTPS server in Nim....looks like httpclient does not support HTTPS
11:07:27r-kukashyap_: same way you do it in c++
11:07:30*SShrike joined #nim
11:07:49VarriountYou need to compile with ssl support, http://nim-lang.org/docs/httpclient.html#ssl-tls-support
11:08:10Varriountr-ku: That's not very helpful. :/
11:08:39r-kuyeah well i know.. i wanted to say on windows i use WinHttp API and anywhere else curl but you dropped better solution :)
11:08:40notfowlheh how to do it in c++? go to google and find some library to do it?
11:08:40kashyap_got it ... thanks Varriount
11:10:44kashyap_it worked :)
11:10:45*darkf_ is now known as darkf
11:14:08*SShrike quit (Quit: WeeChat 1.2)
11:29:40jaco60hi, is it possible to make cohabit stable and dev release of nim on the same host? On my box, seems that compiling with the dev one still use the stable lib
11:30:02Varriountjaco60: What OS?
11:30:07jaco60Linux
11:30:44VarriountHrm. You could have a script which alters the PATH environment variable, or unlinks/relinks to the appropriate Nim binary.
11:31:24jaco60which PATH ? I've already tried that ~/Téléchargements/Nim/bin/nim --lib:"/home/jaco/Téléchargements/Nim/lib/" c tests
11:31:24BlaXpiritI don't think there is a need for any of this
11:31:30VarriountI'm on Windows, and I just have two folders, each housing a Nim installation, and a command prompt for each to set up the appropriate environment variables.
11:31:55BlaXpiritI'm pretty sure Nim uses the correct lib location automatically
11:32:18BlaXpiritI have stable installed globally
11:32:19Varriountjaco60: The environment variable called PATH?
11:32:21BlaXpiritand dev added to PATH
11:32:23BlaXpiritworks great
11:32:30BlaXpiritwhen i need stable, i write /usr/bin/nim
11:32:34jaco60PATH is only for execs, not for libs
11:33:02jaco60the pb is not for the nim exec, but for the nim lib, it seems
11:33:11BlaXpiritnever had any such problems.
11:33:23BlaXpirit[:31:54] <BlaXpirit> I'm pretty sure Nim uses the correct lib location automatically
11:33:27jaco60hum///
11:33:37ozrajaco60: I was surprised by this one at first too.. I simply pass "--lib:wanted-lib-dir" to the compiler to specify..
11:34:03jaco60so why DBL_EPSILON is not accepted ?
11:34:14jaco60it is dans devel, tho
11:35:37ozrajaco60: And I've updated a PR to fix the tester regarding this as late as a few hours ago, so once it's accepted, tests will implicitly use the expected compiler + lib instead of path..
11:36:15jaco60ozra, ok... will wait, then :)
11:36:57*Ven joined #nim
11:37:44ozrajaco60: BlaXpirit: I'm not completely certain as to how the current lib-path resolution works - but in short: no it does not work as you'd expect. So for the case of general compilation, some new resolution method has to be though through and implemented..
11:39:15ozraI think it favours the lib in closest relation to the pathed nim binary, no matter which binary is used. The lib "closest" to the compiler used should be the appropriately prioritized it seems to me?
11:45:41*datanoise joined #nim
11:50:09*datanoise quit (Ping timeout: 240 seconds)
12:05:37*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:16:04*thotypous quit (Ping timeout: 244 seconds)
12:21:59*filwit joined #nim
12:27:06filwitsince Nim encourages composition over inheritance, and gives us a lot of tools (generics, concepts) to work with them well, it would be nice to have a 'auto composition' feature for types which avoided the runtime overhead of inheritance, but still compose types in a declarative fashion.
12:27:27filwitMeaning you could write something like: `type Foo = object from Bar`
12:28:24filwitand 'Foo' would be contain all the members of 'Bar', except the runtime typeinfo. So you couldn't do: `if foo of Bar: ...`
12:28:37filwit(where 'foo' is an instance of 'Foo')
12:29:20notfowlso say Foo is a concept, a contract of some behavior being fulfilled and use interfaces
12:30:06filwitis that it? i'm not sure I see your point
12:30:35notfowlwhat you suggest is possible with a small amount of fiddling with generics
12:31:05filwitokay I understand that..
12:31:16filwitbut i said "in a declarative syntax"
12:31:36*pregressive joined #nim
12:31:47filwitso it feels similar to object inheritance (indeed it's very similar, just slightly limited.. for those of us that don't use 'method')
12:33:07*JinShil joined #nim
12:36:09filwitplus, Any type could compose from any other type, regardless of whether or not it was {.inheritable.}/of-RootObj
12:36:09Varriountfilwit: So essentially copying the object structure, without creating the type link?
12:36:29filwityes
12:37:12filwitbut concepts and generic code would still work the same, just not runtime inheritance checking (cause it wouldn't contain a RootObj typeinfo reference)
12:37:38filwitand methods wouldn't be callable from a super-type, etc
12:39:24filwityou could even mix it will inheritance like or do multi-composition like: `type Foo = object of Bar from A, B, C`
12:39:52filwitgah, early for me, can't type..
12:40:14*OnO joined #nim
12:42:27notfowlfilwit, here most of the work is done already, what you describe is sugar https://bitbucket.org/fowlsoft/interfaces/wiki/Home
12:43:56*thotypous joined #nim
12:44:33filwitthat looks like the opposite of what i'm talking about.. isn't that code building a customized tuple of procs (an interface) ?
12:45:37notfowlyes
12:45:46filwityou're building a 'interface' (collection of function pointers) based off a Nim 'concept', that is not what I'm talking about at all
12:45:48notfowlpolymorphism is only useful when talking about behavior
12:45:55filwitwut?
12:46:12filwitokay, we're on different pages
12:46:13*jochenvdv quit (Quit: Page closed)
12:46:30notfowlfrom this its very to easy to add a type thats "Drawable and Syncable"
12:46:41Varriountnotfowl: filwit is talking about something different, I think...
12:47:10filwitnotfowl: and you'll be invoking it all via dynamic dispatch
12:47:17Varriountfilwit wants to be able to copy the structure of a type, without copying the type information as well.
12:47:30filwityes
12:47:37notfowleh i thought thats what you want
12:48:05filwitno, that's cool and useful, but not what i want
12:48:27notfowler its easy to copy the structure of a type
12:48:32notfowlyou just encapsulate it
12:48:36filwityes i know
12:48:53filwitbut then you have to delegate everything to that member
12:49:05filwitvs inheritance, where you don't
12:49:14notfowlmaybe you could just define converters?
12:49:43notfowlhow do you guess which functions should be available from the new type?
12:49:59*kokozedman quit (Quit: kokozedman)
12:50:38filwitno proc which accepted a 'Bar' would automatically accept a 'Foo' or anything.. only generic code would work
12:50:52notfowlfunctions arent attached so even if you could get a list of all functions that accept or return that type, which ones need to be forwarded or reinstantiated for this type
12:51:46filwitidk what you're talking about, the type would be it's own type, it's 'composition'
12:52:03notfowlsuch generic code would access fields, so you make a concept type full of "x.name is string"
12:56:21filwiti really don't know what you're talking about fowl, I'm completely lost as to what you're referring too. I'm just suggesting a nice way of making composition feel like inheritance, so we could have pseudo-inheritance that doesn't have runtime memory overhead but works with Nim's generics/concepts
12:59:24*banister joined #nim
13:00:51filwitsay you have a Sprite type and SomeSprite concept. You know you'll never be using a Sprite instance directly, but you'll have multiple types in your game which mimic a Sprite (eg, have position, rotation, image, etc).. and which SomeSprite can work with.. right now you'd either have to make each game type compose a sprite as a member (making it so all access to position, etc goes through that) or you can use inheritance which incurs
13:00:51filwitruntime typeinfo for each Sprite (when you'll never need it.. and may actually be a performance concern for some game types like Particles, etc)
13:05:32*JinShil quit (Quit: Konversation terminated!)
13:05:47*pregressive quit ()
13:06:18filwitand thinking about it, you could pass types composed from supers to procs which worked with supers.. the calls would just be sugar...
13:10:30filwitsince the composition would be inline, eg, all of 'Sprite' would be injected in order we know that the first "Sprite sized" chunk of memory in anything that's composed from it would be Sprite data
13:11:40filwitso any `proc whatever(s:Sprite)` would work with any a `type Ship = object from Sprite` too
13:16:04*TEttinger quit (Ping timeout: 256 seconds)
13:16:40*zahary joined #nim
13:22:30vikatonping Araq?
13:37:37*BlaXpirit_ joined #nim
13:37:37*BlaXpirit is now known as Guest52868
13:37:37*Guest52868 quit (Killed (sendak.freenode.net (Nickname regained by services)))
13:37:37*BlaXpirit_ is now known as BlaXpirit
13:37:43*Matthias247 quit (Read error: Connection reset by peer)
13:38:10*Ven joined #nim
13:39:24*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
13:41:43*Ven quit (Client Quit)
13:47:32*datanoise joined #nim
13:51:59filwitfor the sake of completeness (and future referral) I made a gist illustrating what I was talking about earlier: https://gist.github.com/PhilipWitte/31b32858e23604bd925e
13:52:33*datanoise quit (Ping timeout: 246 seconds)
13:54:15notfowl-_-
13:54:41*Ven joined #nim
13:56:55*Perelandric joined #nim
13:58:47*Perelandric quit (Client Quit)
13:59:57*pregressive joined #nim
14:00:46*kashyap_ quit (Ping timeout: 246 seconds)
14:05:07ffffflol filwit, proc move[T: Positionable](s:var T, v:Vector)
14:05:24fffffor even proc move](s:var Positionable, v:Vector)
14:05:36fffffinheritance is evil
14:06:51ffffftbh a lot of nightmare would be avoided in OOP if only 1 level of inheritance was enforced
14:07:01fffff(not talking about nim)
14:08:24*dtscodeJR joined #nim
14:09:58*datanoise joined #nim
14:09:59filwitfffff: the 'move' proc isn't the only thing about this idea.. it's also about composing a type's memory layout declaratively
14:10:11filwitbut i must do other things now
14:10:27fffffjust compose the concepts if you must
14:10:59fffffx is Movable, x is Drawable
14:11:03filwitno
14:11:11fffffok Javanim
14:11:14filwittye *memory* layout of the type, not the concept
14:11:22filwitjavanim?
14:11:28filwitwhat does that even mean?
14:12:19filwitanyways, i don't care. I need to do other things now.
14:12:42*dtscodeJR is now known as fioco
14:12:46*fioco left #nim (#nim)
14:13:04fffffuse inheritance, there no runtime cost
14:13:14fffffdont use methods
14:13:24filwitlol, yes there is...
14:13:32filwitdo a sizeof on your types to prove it
14:14:31filwitit's impossible to get runtime inheritance "is this of that" checks without runtime typeinfo per instance
14:14:55filwitthis is why we have to do "object of RootObj" to make a type inheritable
14:15:18*BitPuffin|osx joined #nim
14:15:35fffffthen dont use inheritance, make a simple macro
14:16:04fffffand use concepts for your procs
14:16:17filwitokay *sigh*.. i must leave now. I'll bbl
14:17:19*postulance joined #nim
14:19:41*Ven quit (Ping timeout: 256 seconds)
14:21:36vikatonis there a flag for bounds checking?
14:22:05ffffffilwit: o and sorry i didnt know there was a cost to inheritance, i always use 'of object' and i dont use inheritance, i dont see the point
14:22:06def-vikaton: --boundChecks:off
14:22:08def-or on
14:22:15flyxdoes the nim compiler or stdlib provide a feature to syntax-highlight nim code?
14:22:28*OnO joined #nim
14:22:31def-flyx: no, but there are a few syntax highlighting tools
14:22:36vikatondef-, does it have performance overhead in -d:release?
14:22:47def-vikaton: surely, but I haven't measured how much
14:23:13def-vikaton: you can check config/nim.cfg for what -d:release implies
14:23:41vikatonah
14:23:48vikatonthanks for reminding me
14:25:04*fffff quit (Quit: Page closed)
14:26:39vikatondef-, thoughts? https://gist.github.com/Vikaton/126c07c00527cbcab545
14:27:10vikatonI'm adding this onto Nim's common criticism
14:28:51*coopernu_ joined #nim
14:28:57*dddddd quit (Ping timeout: 246 seconds)
14:29:05*Ven joined #nim
14:30:32def-vikaton: looks ok, but i only took a quick look. It's a wiki, so I guess someone can edit it
14:31:44vikatondef-, anyone can edit this without permission? https://github.com/Araq/Nim/wiki/Common-Criticisms
14:34:41def-yes
14:34:50vikatono
14:35:10def-anyone with a github account
14:35:15def-At least that's how I understand it
14:35:21vikatonI still need to get this by Araq to make sure everything is on point
14:40:38dom96vikaton: That suggests that Nim is in fact terribly unsafe
14:40:39dom96which is untrue
14:40:45dom96add it to the unofficial FAQ
14:40:49dom96as a question "Is Nim unsafe?"
14:41:56vikatondom96, I look at it is that if you dont follow those guidelines/use tools that are available (like -nilChecks) then the unsafety is self inflicted
14:42:05vikatonbut usre I can move it to the FAQ
14:42:15*jubalh quit (Ping timeout: 265 seconds)
14:46:53*jubalh joined #nim
14:49:30vikatondom96, what was that line of code again that chnaged tabs to spaces @ dom96
14:49:47vikatonor was that def- who showed me?
14:50:37def-#! replace(sub = "\t", by = " ")
14:51:53vikatonah yes thank you def-
14:52:04notfowlI'm in favor of a new -d:safety that does what debug does without backtraces
14:52:15notfowlIs that right
14:53:06vikatonnotfowl, did you see that issie?
14:53:09vikatonissue*
14:53:48notfowlNil checks are something I'll never use though
14:54:53notfowl& what do sum types have to do with safety
14:55:27vikatonnotfowl, you could propose it in this thread https://github.com/Araq/Nim/issues/2809
14:56:29notfowlI didn't propose anything
14:56:46vikatonnotfowl, oh nvm then
14:56:54*yglukhov____ joined #nim
15:00:37*yglukhov___ quit (Ping timeout: 250 seconds)
15:01:56*yglukhov____ quit (Ping timeout: 272 seconds)
15:06:16*rgv151 joined #nim
15:10:40*darkf quit (Quit: Leaving)
15:22:06*gsingh93 joined #nim
15:25:49ozrafilwit, notfowl - regarding the composition. I assume you mean what I call 'mixins'. Parts to build a new "class", but without inheritance chains (mixing in those member procs, does not cause multiple inheritance like in C++). Golang (though I personally don't like it) has features for easily delegating composition procs, something which might be glanced at. Composition patterns are nice for common "partial functionalities" one often impl
15:26:01ozrawithout them needing any dynamic dispatching.
15:26:13*nande joined #nim
15:27:35ozraSay, "decorating" a "class" with an intrusive container (linked list style for instance)
15:28:09reactormonkAraq, can we just get it over with and move nim to nim-lang?
15:38:33ozrareactormonk: Does everything "follow over" from the existing repo, etc.?
15:39:30reactormonkozra, AFAIK
15:40:23ozrareactormonk: Cool, one would figure github's got such shit straight, can't be the first time it needs be done of course.
15:41:58*johnsoft quit (Ping timeout: 255 seconds)
15:43:13*jubalh quit (Quit: Leaving)
15:45:02dom96oh dear http://www.securitytracker.com/id/1032453
15:45:19*sepisoad joined #nim
15:46:34vikatontis not loading
15:47:52sepisoadwhat is boehmgc and how it affects the compiler?
15:48:05reactormonksepisoad, different GC.
15:48:26sepisoadreactormonk, lol, i know
15:48:38reactormonksepisoad, your question didn't imply it, but good :-)
15:48:42sepisoadbut what difference does it make
15:50:51coffeepotboemGC is thread global and IIRC stops threads to collect. Correct me if wrong though.
15:50:53reactormonkvikaton, loaded, PCRE Heap Overflow in Regex Processing Lets Users Execute Arbitrary Code
15:51:26vikatonOh
15:52:36vikatonreactormonk: do the stars stay?
15:52:40federico3maybe a "writing secure code" wiki page could help?
15:52:47vikatonnot that it matters, jw for personal use
15:53:01*johnsoft joined #nim
15:54:17reactormonkdom96, is nre or re using PCRE? Or both? Or neither?
15:54:33dom96both use pcre
15:54:35rgv151both
15:55:06reactormonkwell, fuck
15:59:04ozraHoly guacamole!
16:00:03*n0v left #nim ("Leaving...")
16:00:25dom96holy nimmers
16:00:36vikatondom96, nimbians >:(
16:00:54ozraBut then again.. You must accept RE's from outside of the app for it to happen. *unlikely* (unless you take re's unfiltered from a text input on a web page or something (*unlikely*)
16:01:11ozraComfortably Nimb
16:01:42*vendethiel quit (Ping timeout: 246 seconds)
16:02:14ozraIf it's in a highlighter etc. well then it's already something the use chosen to use on they're puter. Could as well have 'sudo apt-get install hdd-destroyer'...
16:02:27ozra(regarding the PCRE bug ofc.)
16:05:18ozraAnyone know why destructors aren't auomatically called for matching types, and need the `new` style tying? Just effort required, or are there any hindering road blocks?
16:06:00ozraAraq, dom96, reactormonk, anyone? ^
16:06:29dom96ozra: destructors are still experimental, i'm sure they will be improved over time.
16:07:27ozradom96: Aha, kind of a late addition then? Are there any fuzzy areas about them currently? Anywhere I can read up more (source ofcourse)..?
16:07:36*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:07:39*fioco joined #nim
16:07:49*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:07:51dom96ozra: Only source of info I know of is the manual.
16:08:10*Arrrr joined #nim
16:08:30fiocoDom96 hello
16:08:33fiocoI'm toad
16:08:41fiocoThanks for the minecraft idea
16:08:56fiocoI came up with something else and would like your opinion
16:09:07fiocoNim Web Applets
16:09:31ozradom96: Ok, thanks, using GC is convenient, but I imagine with good constructors, a combo of composed objs with ptrs internally, would get freed by outer objs GC destruction - thus reducing work for GC. Could be a good pattern in _sligthly more performance needy code_
16:09:41dom96fioco: how about you implement a web sockets library?
16:09:53fiocoWe don't have one?
16:10:28notfowlozra, at the data level for composition you want components. components can store data or behavior giving you a base object type that is a bag of components
16:10:33dom96fioco: don't think so
16:10:38*xificurC quit (Read error: Connection reset by peer)
16:10:48fiocoI'll do that then
16:10:50fiocoThanks
16:11:48notfowli've also seen systems where components only store data and all behavior is handled by single-purpose subsystems
16:11:49*coopernu_ quit ()
16:11:51fiocoWe have one
16:12:07fiocoNim-lang.org/docs/net.html
16:12:07ozranotfowl: Yes, this is what I'd called composition. There seems to be some different ideas around here for us what we call different concepts, might have to de-facto standardize phrases for nim perhaps :-) Anyway - I was concerned more with the construction/destruction by GC thingie in my statement..
16:12:28ozranotfowl: If I didn't misunderstand...
16:12:38dom96fioco: That's system sockets
16:12:39dom96fioco: https://en.wikipedia.org/wiki/WebSocket
16:14:21fiocoSo one that implements tcp/udp?
16:15:17*Jesin quit (Quit: Leaving)
16:15:19notfowlozra, people who are afraid of the gc usually havent tried to write a game in it and see how much crazy things they have to have going on at once for it to slow down
16:15:43fiocoOr tcp only, I guess
16:15:48fiocoI'll look at that
16:15:53*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:16:09dom96fioco: it's a protocol
16:16:21reactormonksepisoad, for the gc stuff, boehm GC seems to be linked from an outside lib, maybe you'll find stuff by googling
16:16:37fiocoYeah
16:16:40fiocoI get it now
16:16:42fiocoWill do
16:17:49sepisoadreactormonk, actually I'm looking for a way to get rid of thread local heap and share a ref variable between threads
16:19:16reactormonksepisoad, good old global mutable variable?
16:19:34sepisoadreactormonk, YES
16:19:57Xeyeah websocket support is kinda a blocker for some of my projects
16:20:39def-Xe, fioco: there is this already, but not sure how far it is: https://github.com/onionhammer/onion-nimrod/tree/master/websockets
16:23:08sepisoadreactormonk, what happened dude?
16:23:38reactormonksepisoad, nothing, I just never thought to implement such a thing so I wouldn't know how to
16:23:59sepisoadreactormonk, ok
16:24:16*Arrrr quit (Ping timeout: 272 seconds)
16:24:45*Ven joined #nim
16:26:28*xificurC joined #nim
16:27:17*NimBot joined #nim
16:33:07*Arrrr joined #nim
16:33:35ozranotfowl: I must admit that I am a little "afraid" of gc. Since I come from the C++ camp (though I have coded a lot for nodejs which ofc is GCed). Still think this is the better approach rather then the Rust Javaesque one.
16:34:28*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:35:06sepisoadis a sane to set --threadanalysis:off in order to share ref objects?
16:35:08*banister joined #nim
16:36:29sepisoadis it sane to set --threadanalysis:off in order to share ref objects?
16:36:50notfowlsepisoad, this runs but im pretty sure it would crash if you accessed a philosopher from a different thread http://rosettacode.org/wiki/Dining_philosophers#Nim
16:38:46sepisoadnotfowl, OK, OK, but i need to share a ref variable Yet nim would not let me do that unless i turn thread analysis off
16:39:47dom96sepisoad: Turning thread analysis off is not safe.
16:39:55sepisoadnotfowl, I tried every possible solution, none worked for me, at least I don't know a better way
16:39:56notfowlsepisoad, if you needed to do that you would store an array of (mutex,Philosopher) afaik
16:40:19sepisoadwhat if I use locks?
16:40:32notfowlthats what i mean
16:40:48dom96sepisoad: What are you trying to do? (Sorry, haven't kept up with the discussion)
16:41:19gokrozra: "Afraid" of gc? The Nim GC is basically a ref count, isn't that what most C++ code uses these days anyway?
16:41:34sepisoadi have a socket which is listening in a separate thread
16:41:46notfowlsepisoad, maybe you could use the mutex to have a philosopher whos waiting on a fork leer at another philosopher :p
16:41:53sepisoadi want to close the socket from main thread
16:42:12sepisoadthough i have to share the thread between these two threads
16:42:12dom96oh you're still trying to do that?
16:42:19sepisoadYESSSSSSSSSSSS
16:42:25dom96Didn't I already tell you what to do?
16:42:49sepisoadto be honest, i didn't get what you said :P
16:42:51dom96like I keep saying, you don't need threads.
16:43:09dom96async is already a form of parallelism.
16:43:33sepisoadafter all, don't you think this thread local GC is somewhat a barrier>?
16:44:24sepisoadyes, but when you await for recv() function the async func would block
16:44:52dom96no, it wouldn't
16:45:01notfowlsepisoad, there are allocShared, createShared functions, they give you pointers to global memory that you can manage yourself
16:45:02dom96await yields
16:46:24dom96You call asyncdispatcher.poll()
16:46:32dom96and it does its work until an 'await' happens
16:46:36dom96then it returns
16:46:51dom96then you can call poll on your UI stuff
16:47:08dom96then back to poll'ing asyncdispatcher again
16:47:09dom96and so on
16:48:45*yglukhov____ joined #nim
16:48:50sepisoad:( maybe a sample code would help me, sorry dom96 for bothering, but I am so much confused
16:48:51*Siecje joined #nim
16:48:59*filwit quit (Quit: Leaving)
16:49:16dom96sepisoad: can you give me a link to your code again?
16:49:28sepisoadyes
16:49:31sepisoadwait a min
16:50:52Arrrra nim?
16:51:40ozragokr: I'm not saying it's justified, I just have some 'performance brain damage' ;-) Do you refer to sharedptr etc.? Well, I've always used strict construction/deconstruction in the code bases I've worked with. I even implement destructso in javascript (manually called) of habit(!!) haha. Some habits... That said, I do see the benefits of GCing.
16:53:02gokrozra: It's of course always depending on domain etc. But being afraid of GC always makes me wonder which domain we are talking about. Most of us work in domains where its not a problem.
16:53:34*Jesin joined #nim
16:54:49ozragokr: In the project where I'm looking to use Nim (but I must come up with a good justification for the other lads..) it's not really a problem. The onlly things I've coded ever where it would have is when I coded real time audio effects. There it's basically impossible to let a GC in, only _hard_ realtime. But, that was some time ago. Not current :)
16:55:14gokrright.
16:56:31ozraThis is why Nim has gotten my focus in the quest for leaving C++. Rust is so stuck to formalistic memory adoration that the apps will be unsafe cause you have no dev time left to code tests or the app, haha.
16:56:34gokrIt seems to me the GC in Nim is a neat balance. Its non moving so easy with integrations, its thread local so doesn't disturb other threads, it handles cycles. It can be controlled.
16:57:12gokrExact. I love experimental languages, no doubt. But I think lots of people are hopping onto a wagon that's not really fitting.
16:57:16ozragokr: Yes, that was some of the things that attracted me to Nim also, that it's opt out _if_ needed.
16:57:45gokrI mean, if you have a hundred developers to throw at making a new super fast ultra parallell web browser - fine. But most of us need to get shit done in much less time and hurt.
16:59:00ozraExactly my thoughts - they've gotten "home blind", (how would you say that in english, haha), because _they've_ got the resources, and seem to forget to hard dead lines of reality.
16:59:12ozra*the hard*..
16:59:31gokrWhat Nim needs to really thrive on the thread local gc - is of course really neat mechanisms for doing inter thread communication etc. I haven't checked out that part of Nim - but going "shared nothing" is a good path IMHO. Erlang kinda shows that.
17:00:35ozragokr: Yes, I think the benefit for the GC far outweighs other factors. I have yet to play with the threading in Nim, I'm happy that it's there and is near the heart of the lang.
17:00:59gokrSo a bit of cool non blocking queues and other stuff - and the Nim thread model starts paying I think. And I do know Araq has stuff brewing in that department.
17:01:19gokrWe would need a bit of articles on it though.
17:01:42ozraSound cool :-) Yeah articles are always good :-)
17:01:46gokrCurrently we aren't doing multi threaded Nim at 3DICC - but we will later down the road when we tackle our server side.
17:01:47*pregressive quit (Remote host closed the connection)
17:01:52*Ven joined #nim
17:03:36ozragokr: Sounds good, one step at the time. I'm digging in to the compiler both to learn and to be able to justify that it won't be block if there's a bug, for justifying using this on the project. It is a bit of a chance, being pre 1.0 etc. But I believe the proj will benefit over a years time, compared to implementing in C++. So I really hope I can persuade :)
17:04:18ozragokr: Are there any specific showstoppers you've encountered in your project?
17:04:33gokrIt seems to me our version number is slightly misleading. I mean... I would consider it being a 0.9-ish version.
17:04:39gokrNo, no showstoppers at all.
17:04:46gokrBut we do have Araq :)
17:04:53ozragokr: True :)
17:05:05gokrBut... so far very solid for us.
17:05:53ozragokr: Well, I use semver and think it should be universal. There 0.9.0 means nothing other than "9th feature addition". Pre 1.0 it's no biggie imo.
17:06:35gokrWell, ok, I am not read up on semver - but still, it feels definitely like a usable tool.
17:07:04*brson joined #nim
17:07:12gokrAnd interfacing with C++ has been working superb so far for us (Urhonimo).
17:07:41ozragokr: It is just soo simple, and so self evident once you read it. Just 'the way it should be' sort of :) http://semver.org/ - read the summary, takes 30 secons, and that's about all there is to it :)
17:09:22gokrYeah, well, its basically what one would guess. But... it doesn't really say much about <1.0 does it?
17:09:25sepisoaddom96, sorry for being late
17:09:34sepisoadthis is the link to code: https://gist.github.com/sepisoad/e7d0b03a6451fe5aa975
17:10:05ozragokr: That is good to hear. We do have shitloads of C++ code. But the idea here is for a clean slate implementation, so I think manual porting with needed rewriting can be done for the parts that can / should be re-used. I'm gonna investigate a bit more. But it's leaning heavily towards Nim, as for me, but still, I'm gonna have to make a strong case for it. (That's why I'm tigthening up the tester, etc. that can show of some stable ground
17:10:58ozragokr: No, just follow the same pattern, but the rules are not 'hard' below 1.0. Once beyond 1.0, you follow them strictly.
17:25:04*cyraxjoe quit (Ping timeout: 272 seconds)
17:28:03dom96sepisoad: thank you
17:29:52*Varriount_ joined #nim
17:31:27*doxavore joined #nim
17:31:43*ingsoc quit (Quit: Leaving.)
17:32:52*Varriount quit (Ping timeout: 252 seconds)
17:41:13*cyraxjoe joined #nim
17:41:16*pregressive joined #nim
17:49:19*sepisoad quit (Ping timeout: 244 seconds)
17:59:46*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:03:57dom96had to get IUP DLLs from Sourceforge.
18:04:09dom96I truly hope they get their act together, there is too much important stuff on Sourceforge.
18:11:51reactormonkdom96, let's hope not for too long...
18:12:19*gokr_ quit (Ping timeout: 245 seconds)
18:15:58dom96argh
18:16:11dom96Pass this along to sepisoad in case i'm not here: https://gist.github.com/dom96/eba8781220ee2c015c1d
18:18:37vikatonhow do I do code in forums?
18:19:25notfowlvikaton: ```nim \n code \n ```
18:19:39vikatonoh nice
18:23:01dtscodedom96: Why not just start putting up mirrors on github?
18:23:17dom96dtscode: go on, do it.
18:23:27dtscode:c
18:23:46dtscodeI... err... have that meeting about that thing with that guy
18:24:02dtscodebut I totally would otherwise
18:25:05*fioco left #nim ("See")
18:25:22flyxin a method, how can I call the overridden base method?
18:25:54flyxcasting the object to the base class still dispatches to the overriding method
18:26:06Arrrruse proccall
18:26:21Arrrr+ casting to base
18:28:20flyxworks, thanks
18:36:49flyxbtw, is anyone in here attending gpn15?
18:37:43dtscodeI don't know what that is so probably not
18:38:03flyxhttps://entropia.de/GPN15 started today
18:51:35*sepisoad joined #nim
18:55:08*johnsoft quit (Ping timeout: 272 seconds)
18:57:12vikatonhey sepisoad , did you get my tweet
18:57:15*davidhq joined #nim
18:59:34sepisoadvikaton, no, i got this error
18:59:35sepisoadc:\nim\lib\pure\asyncdispatch.nim(1196, 8) Error: 'cb' is not GC-safe as it accesses 'nameIterVar' which is a global using GC'ed memory
19:01:09dom96sepisoad: with my code?
19:01:14dom96compile without --threads:on
19:01:25sepisoadyes, ok
19:02:29sepisoadWOW, it works?
19:02:50sepisoaddom96, thanks dude, really appreciate it
19:03:05dom96of course it works ;)
19:03:07dom96np
19:04:37*sepisoad_ joined #nim
19:05:17vikatonsepisoad_: is Nim still one of the worst for parallelism ? xD
19:05:42sepisoad_YES :P lol
19:05:46sepisoad_just kiddin
19:06:01sepisoad_man I love nim
19:06:27sepisoad_I have to learn more about asyncdispatch
19:06:36dtscode^
19:07:36dom96IUP is pretty cool actually.
19:07:40*johnsoft joined #nim
19:07:45jackvare there any good primers on asyncdispatch that I could read?
19:08:04*sepisoad quit (Ping timeout: 255 seconds)
19:08:41dtscodeI just read the module page then bug dom96 until he finally gives me help
19:09:19jackvso there's not much documentation outside the module page?
19:10:03dtscodeProbably not
19:11:18dom96I did write a pretty lengthy blog post about it a long time ago
19:11:21dom96never finished it though
19:11:46vikatonHow I start?
19:13:07dtscodeStart what?
19:14:30shevyI assume he means with nim
19:14:41dtscodeHes already started with nim though
19:16:01*jh32 quit (Ping timeout: 264 seconds)
19:23:27*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
19:23:59*Siecje quit (Ping timeout: 256 seconds)
19:24:10*Siecje joined #nim
19:26:45*rgv151 quit (Quit: Leaving...)
19:27:36*jh32 joined #nim
19:30:35vikatonNo I was talking about the blog
19:30:40vikatonHow I start: Nim
19:31:52*Matthias247 joined #nim
19:32:49*davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
19:37:19*Arrrr quit (Quit: WeeChat 1.2)
19:46:12*buttplug joined #nim
19:48:59*matkuki joined #nim
19:50:16shevyohhh dom96's blog
19:50:23shevyhe started it
19:50:26shevybut he never finished it
19:50:39shevyPart II: How to finish a blog post
19:50:59Xethat's def-'s post
19:52:16Xenimsuggest doesn't compile on 0.11.2
19:52:18*Senketsu quit (Quit: Leaving)
19:58:56*davidhq joined #nim
19:59:36dtscodeA lot of stuff doesn't compile it seems
20:01:26*gsingh93 quit (Ping timeout: 276 seconds)
20:04:32*vendethiel joined #nim
20:09:55*dddddd joined #nim
20:10:39*Siecje1 joined #nim
20:11:18vikatonI gave a presentation on Nim in my AP Java class
20:11:51flaviuAP Java? ;)
20:12:07vikatonYup
20:12:30vikatonit was post AP exam and we had to pick something and make a project out of it
20:12:33vikatonI did Nim
20:12:57*Siecje quit (Ping timeout: 244 seconds)
20:13:38*matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 38.0.5/20150525141253])
20:16:34*filcuc joined #nim
20:20:42vikatonwill Aporia ever support multiple themes?
20:26:40*fizzbooze joined #nim
20:32:18dom96vikaton: it already does?
20:33:45vikatonoh whoops
20:34:15*davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:34:22*Trustable joined #nim
20:37:57*Ven joined #nim
20:42:25vikatonhow can I have multiple #! replace comments?
20:50:58*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:52:07BitRI've updated the nimsuggest vim completion and can now deliver completions in about .05 seconds after changing to a threaded setting
20:57:42BitROh and nimsuggest doesn't seem to compile in the devel branch, but the tagged version v0.11.2 works quite well
20:59:00dom96hrm, perhaps it's time I test it.
21:00:52*Ven joined #nim
21:03:06*shevy left #nim ("I'll be back ... maybe")
21:03:38*matkuki joined #nim
21:10:14*BlaXpirit quit (Quit: Quit Konversation)
21:10:19matkukiWhat mechanism does 'Dynlib pragma for import' use to parse the string? pegs, re, ...? Can you point me to the code?
21:13:42matkukidef-, dom96: Can anyone help, please?
21:14:40*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:15:24dom96matkuki: I'm not sure, but I think it's just some simple parser.
21:15:38dom96matkuki: Why do you need this info?
21:16:39*doxavore quit (Quit: I said good day, sir.)
21:18:00matkukiI'm updating the python library.
21:18:01matkukiIn the current version, you have to manually list every library name individually (python27.dll, python26.dll, ...), use loadLib and check the result.
21:18:24BitRmatkuki: Guess you're looking for
21:18:26BitRcompiler/pragmas.nim
21:18:31matkukiI want to upgrade this to what 'Dynlib pragma for import' does.
21:19:16matkukiBitR: I'm looking at that module but can't pinpoint the code that does this.
21:20:09BitRWell, there's getLib that seems to take in the name of the library to load
21:20:28matkukidom96: Thougt I would just use the same code as that pragma uses.
21:20:37federico3a tutorial on writing kernel modules in Nim would be nice
21:21:04matkukiI'll make the simple parser if I don't find it, no preblem.
21:22:02*datanoise quit (Ping timeout: 276 seconds)
21:23:17dom96matkuki: options.libCandidates is the code that parses it I think
21:24:29matkukidom96: Thank you.
21:24:49matkukiBitR: Thanks for helping.
21:25:06flaviu*is* it possible to write kernel modules in Nim?
21:25:16dom96flaviu: of course
21:25:26flaviuwithout manual memory mangement?
21:26:22*yglukhov____ quit (Quit: Be back later ...)
21:29:40*jubalh joined #nim
21:31:31*datanoise joined #nim
21:35:56*Siecje1 quit (Read error: Connection reset by peer)
21:37:07*Siecje joined #nim
21:50:01*johnsoft quit (Ping timeout: 264 seconds)
21:50:46*jubalh quit (Quit: Leaving)
21:56:24*johnsoft joined #nim
22:00:57*filcuc quit (Ping timeout: 250 seconds)
22:04:07*matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 38.0.5/20150525141253])
22:04:38*filcuc joined #nim
22:08:51*sepisoad__ joined #nim
22:12:25*sepisoad_ quit (Ping timeout: 264 seconds)
22:24:46*xificurC quit (Remote host closed the connection)
22:25:23*xificurC joined #nim
22:27:57dom96PSA: Nimsuggest is now in this repo: https://github.com/nim-lang/nimsuggest
22:31:33*sepisoad__ quit (Ping timeout: 256 seconds)
22:31:36*vendethiel quit (Ping timeout: 272 seconds)
22:33:11*phI||Ip quit (Ping timeout: 245 seconds)
22:33:11*r-ku quit (Ping timeout: 245 seconds)
22:34:59*r-ku joined #nim
22:35:35*phI||Ip joined #nim
22:36:09*Trustable quit (Read error: Connection reset by peer)
22:38:27*Matthias247 quit (Read error: Connection reset by peer)
22:40:11jaco60dom96, should i miss something... How to compile nimsuggest ?
22:41:49dom96jaco60: nimble install nimsuggest
22:42:37jaco60nimsuggest.nim(12, 68) Error: cannot open 'sexp'
22:44:26dom96you need a newer version of nim
22:45:13jaco60i have the release one... it works only with dev branch ?
22:45:40dom96yeah
22:46:35jaco60ok, will wait an update of the nim Arch package...
22:49:01*filcuc quit (Quit: Konversation terminated!)
23:01:29*Siecje quit (Ping timeout: 276 seconds)
23:02:25*Siecje joined #nim
23:03:14*Kingsquee joined #nim
23:22:31*Siecje1 joined #nim
23:23:37*Siecje quit (Ping timeout: 264 seconds)
23:27:21flaviujaco60: you'll be waiting a while
23:29:05*pregressive quit (Remote host closed the connection)
23:39:29*TEttinger joined #nim
23:42:06*fizzbooze quit (Ping timeout: 252 seconds)
23:44:20jaco60flaviu, or i will deinstall the arch package and install manually the dev branch...
23:49:57*datanoise quit (Ping timeout: 244 seconds)
23:52:16flaviuI'm pretty sure the AUR has nim-git too.
23:52:52jaco60flaviu, yep, you're right
23:53:43*datanoise joined #nim