<< 01-01-2015 >>

00:09:18dom96Happy new year everybody in the UK :)
00:11:50ldleworkBlaXpirit: there are non-zero benefits to putting all the types in a single file
00:12:04BlaXpirit...
00:12:06ldleworkBlaXpirit: nothing substantial to make me like it
00:12:15ldleworkbut it is kind of nice to see all the types at once..
00:12:42ldleworkBlaXpirit: I mean other than defeating the recursive types thing :P
00:16:21BlaXpiritdom96, do you think a list of valid licenses for nimble could be useful?
00:16:42dom96BlaXpirit: yeah
00:16:48BlaXpiritI don't see any library licensed under zlib/libpng and I'm not entirely sure what to write in license: ""
00:17:15BlaXpiritdom96, i'm not suggesting that I make it :p but i could look into it
00:18:04BlaXpiritthis is cool: http://spdx.org/licenses/
00:18:58*Varriount|Remote quit (Ping timeout: 246 seconds)
00:19:19*z1y joined #nim
00:19:30BlaXpiritbut some packages already are different from it
00:20:06BlaXpiritI'm mentioning that site because Rust apparently limits licenses to this list in its package/whatever manager
00:20:47BlaXpiritwhat use is that thing in .json if you can't categorize by license etc
00:25:30ldleworkputting all the types in one file means everything is public too :(
00:26:05BlaXpiritldlework, who cares
00:26:15ldlework...
00:36:00*JStoker quit (*.net *.split)
00:36:28*JStoker joined #nim
00:42:49*Demon_Fox joined #nim
00:43:53BlaXpiritI don't understand how to import packages if they are not in the current directory. I've tried literally adding to PATH but it didn't help
00:44:16Araq--path ?
00:44:35BlaXpiritaaand it worked immediately. thank you.
00:44:55jsudlow\0/
00:45:05BlaXpiritit's so hard for me to find info without stackoverflow first result instant answer :p
00:46:59def-BlaXpirit: post all your questions to stackoverflow to help future learners of Nim?
00:47:44BlaXpiriti dunno
00:49:46*skyfex quit (Quit: (null))
00:50:40*gokr joined #nim
00:52:19*BlaXpirit quit (Quit: Quit Konversation)
00:54:20*gokr_ quit (Ping timeout: 250 seconds)
00:56:22*z1y quit (Ping timeout: 255 seconds)
01:00:53*gsingh93 quit (Quit: Connection closed for inactivity)
01:02:40*skyfex joined #nim
01:06:57*Jesin quit (Quit: Leaving)
01:16:00*BitPuffin quit (Ping timeout: 250 seconds)
01:18:29ldleworkIt would be neat if you could store int slices as consts
01:19:13Araqplanned feature
01:19:18ldleworkneat
01:19:23Araqnot even hard to do
01:19:45*Jesin joined #nim
01:22:12*Varriount|Remote joined #nim
01:31:24Varriount|RemoteThere, force builds are finally fixed...
01:35:47Demon_FoxJust wondering, because it is annoying
01:35:54Demon_FoxHow come nim does not use automake tools?
01:36:08*gokr quit (Remote host closed the connection)
01:36:16Demon_Foxautobuild, my bad
01:36:21*gokr joined #nim
01:40:49Varriount|RemoteDemon_Fox: Uh... what?
01:42:01Varriount|RemoteDemon_Fox: Do you mean continuous integration? Or something that rebuilds files on modification? Or do you mean http://wiki.secondlife.com/wiki/Autobuild ?
01:44:03Demon_FoxI mean like a makefile
01:44:27Varriount|RemoteDemon_Fox: We don't need one?
01:45:46Varriount|RemoteDemon_Fox: If you want to build Nim from source, you just checkout the source code repo, then checkout the csources repo, and then run one of the script files to bootstrap Nim.
01:46:03Varriount|RemoteThen you compile koch, and bootstrap again.
01:49:25Varriount|RemoteDemon_Fox: Nim doesn't have any dependencies, other than a working C/C++ compiler
01:50:54Demon_FoxI get it now
01:51:07Demon_FoxIt was to keep the dependencies low
01:53:57ldleworkIs there a way to echo the type of a name?
01:54:30def-ldlework: yes
01:55:14def-.eval import typetraits; name(type(12))
01:55:17Mimbusdef-: eval.nim(4, 5) Error: invalid indentation
01:55:22Demon_FoxBy the way
01:55:22def-.eval import typetraits;name(type(12))
01:55:25Mimbusdef-: eval.nim(4, 0) Error: value of type 'string' has to be discarded
01:55:31def-.eval import typetraits;echo name(type(12))
01:55:35Mimbusdef-: 0.004321813583374023sec: int
01:55:41Demon_FoxHow many more mile stones do we need to cross to get to the next version?
01:55:47ldleworkbleh this sucks
01:55:56ldleworkI have a type
01:56:00ldleworkwith a field of type A
01:56:07ldleworkwhich I set to a subclass
01:56:09ldleworktype B
01:56:17ldleworkand my methods are getting sent an A
01:56:20ldleworkwhich I have to cast to B
01:56:34ldleworkI don't like this, but this is probably inherent to statically typed languages?
01:56:36def-you're using method instead of proc?
01:56:40ldleworkyes
01:56:45ldleworkoh wait
01:57:04ldleworkyeah it still get's send the base type
01:57:13def-I'd like to see the code
01:57:16Varriount|Remoteldlework: Care to give us an example?
01:57:25ldleworklet me explain better first
01:57:35ldleworkI have a type Foo, which has a field bar of type Bar
01:57:44ldleworkI create a foo, but give it a SubBar
01:57:52ldleworkWhen I call Foo.doSomething
01:58:06ldleworkand it does self.bar
01:58:09ldleworkit gets a Bar
01:58:20Varriount|Remoteldlework: Is 'Bar' a reference type, or a value type?
01:58:36ldleworkwell, all the types are value types, but all fields are ref types
01:58:46EXetoCthe type of a name or the name of a type? :p
01:59:06ldleworkall types are declared as '= object'
01:59:09ldleworkall fields are ref T
01:59:47ldleworkerr
01:59:51ldlework'= object of RootObj'
01:59:54ldleworksorry
02:00:16ldleworklet me try to come up with a minimal example
02:00:17Varriount|Remoteldlework: Hm, I don't suppose you could post a code sample?
02:01:07Varriount|Remoteldlework: You just need to be careful that, somewhere along the line, your SubBar isn't being implicitly downcast such that the extra data is being cut off.
02:01:55ldleworkI mean, the field is defined as the base type, so that's probably likely isn't it?
02:09:30ldleworkVarriount|Remote: https://gist.github.com/8d4fd16e63c00dce744e
02:09:37ldleworkif you run this, this is the issue I'm running into
02:09:49ldleworkIf you try to cast, by commenting the current echos, and uncommenting the others
02:09:54ldleworkyou get a different error
02:10:13ldleworksorry
02:10:16ldleworkI typed proc instead of method
02:10:21ldleworkhttps://gist.github.com/c712c5228e214fe6c6b1
02:10:23ldleworksame error though
02:12:05def-that looks expected to me
02:12:28def-why don't you just do "bar: ref Bar" and "baz: ref Baz"?
02:12:35ldleworkshould it know that
02:12:39ldleworkf.bar is a Bar and not a Child?
02:12:58def-I don't think the compiler can assume that, you could just set f.bar to any other Child subtype
02:13:06ldleworkI see
02:13:13ldleworkfuck
02:13:23ldleworkits so hard to divorce myself from duck type assumptions
02:13:29ldleworklike, it is legitimately hard
02:13:39def-but you could have a printer method for Child, Bar and Baz
02:13:56def-then you can call the printer and since it's a method the correct one gets called automatically
02:14:00ldleworkthe problem is that since it interprets it as a child
02:14:08ldleworkit Bar has no clue about Baz, ec
02:14:24ldleworkit sees Baz as a child
02:14:30ldleworkand therefore would print the wrong thing
02:14:42def-no, should work, let me try
02:14:51Varriount|Remoteldlework: This is what I thought you were trying to explain: https://gist.github.com/Varriount/3d473d742e88b78009b0
02:15:17def-Yeah, I would have done it exactly as Varriount|Remote did
02:15:26*gokr quit (Remote host closed the connection)
02:15:34Varriount|RemoteAnd that works.
02:15:48ldleworkthey are not doing the same thing def-
02:16:05Varriount|RemoteActually, I was surprised that the pointer dereference didn't mess method dispatch up.
02:16:19ldleworkthey're not the same thing tho
02:16:57ldleworkin mine, the problem is that when calling a method on the child, all parent fields are interpreted as the base type as shown in the definition
02:17:04ldleworkbut I understand why it does that now, thanks
02:17:33ldleworkoh
02:17:41ldleworkmy problem is even more annoying
02:18:34Varriount|Remoteldlework: Your code confuses me. >_<
02:18:39def-ldlework: here's how your code works: https://gist.github.com/def-/e9fb834da751f1eac9e8
02:19:03flaviusorry about the Mimbus number nonsense, it's a temporary change to show how long compilation takes.
02:19:13ldleworkdef-: I understand, it can only call the lowest common interface
02:19:15def-flaviu: np, first time I tried mimbus out
02:20:03def-flaviu: an online compiler would be nice too, is anyone working on that?
02:20:20Varriount|Remoteldlework, def-: You don't even have to have the methods take references, as long as you dereference the field inside the method call.
02:20:22def-people love to try out a language interactively without installing anything
02:20:38def-Varriount|Remote: yeah, true
02:20:53flaviudef-: Looks like ideone supports it, although their interface isn't too glamorous.
02:20:55Varriount|Remotedef-: The hard thing about that would be abuse... It's easy to curtail bad behavior on an irc channel
02:21:04Varriount|RemoteMuch less so on a website.
02:21:20flaviuVarriount|Remote: Nah, it's a solved problem
02:21:28Varriount|Remoteflaviu: Oh?
02:21:30def-I'm more thinking about something that you can use to make fun Nim tutorials
02:21:39flaviulinux containers for sandboxing and a bit of rate limiting.
02:21:51def-flaviu: what about infinite loops in the compiler?
02:21:58Varriount|Remotedef-: I know, lets compile the compiler to javascript.
02:22:14flaviudef-: Like rust's rust-by-example?
02:22:15def-Varriount|Remote: yes, that would be interesting
02:22:18def-flaviu: exactly
02:22:25flaviudef-: Look at this:
02:22:26flaviu.eval while true; discard
02:22:28Mimbusflaviu: eval.nim(4, 8) Error: ':' expected
02:22:39Varriount|Remotedef-: I don't actually know if that would work though...
02:22:45flaviu.eval while true:; discard
02:23:01Varriount|Remote?
02:23:20Varriount|Remote.eval echo("I'm still here")
02:23:26flaviuIt'll time out in a minute, I couldn't easily make it shorter.
02:23:42def-yeah, stuff like this, coming from many ip addresses at the same time
02:23:48Mimbusflaviu: <no output>
02:23:51MimbusVarriount|Remote: 0.004374027252197266sec: I'm still here
02:23:59Varriount|Remoteflaviu: What about remotely stopping a job?
02:24:09def-Maybe I'm just used to this stuff from the gaming community, but I expect a lot of abuse
02:24:15flaviuremotely stopping a job?
02:24:44Varriount|Remoteflaviu: Stopping the currently executing eval
02:24:56flaviuVarriount|Remote: reading from stdout is blocking
02:25:20Varriount|Remoteflaviu: Not with threads...?
02:25:26flaviudef-: I keep abuse in mind at all times. There are solutions available for it all though.
02:25:29Varriount|RemoteOr if you use non-blocking IO
02:25:49ldleworkOkay this is my actual type relationships: https://gist.github.com/e674661ee967548d0c5c
02:26:00ldleworkYou can see how the base classes might be implemented in a library
02:26:07ldleworkand you're implementing all the concrete stuff
02:26:08flaviuVarriount|Remote: Here is the code: def-: I keep abuse in mind at all times. There are solutions available for it all though.
02:26:12flaviuoops
02:26:13ldleworkyou're going to have to cast all over the place
02:26:17flaviuVarriount|Remote: https://gist.github.com/8251221aa23dde7385ba
02:27:51flaviudef-: see http://www.ucw.cz/moe/isolate.1.html
02:28:12Varriount|Remoteldlework: That looks like a problem with method dispatch..
02:28:46ldleworkVarriount|Remote: I think it is because parent is defined as BaseParent
02:28:52Varriount|Remoteldlework: You might consider using dispatch tables as well, although that also requires casts...
02:29:20ldleworkand the compiler can't upgrade any reference to .parent to a Parent
02:29:35ldleworkso any use of .parent gives you a BaseParent that has no a or b fields
02:29:38ldleworkthis sucks
02:29:46ldleworkfor me
02:29:50ldleworkbecause its how I model stuff
02:29:51Varriount|RemoteOh wait. Isn't it not doing what you expect because echo() doesn't look at the actual type info?
02:30:03ldleworkno
02:30:13ldleworkits because the parent field is declared as BaseParent
02:30:13Varriount|Remoteecho does static dispatch, not dynamic dispatch.
02:30:48ldleworkthat isn't the reason
02:30:58ldleworkhttps://gist.github.com/70f748b19eed5bafa32c
02:31:00ldleworksame error
02:31:20ldleworkits because the compiler does not upgrade any use of .parent
02:31:26ldleworkto a Parent type from a BaseParent type
02:31:27fowlmouthldlework, because it cant
02:31:41ldleworkright I think I understand that
02:32:22Varriount|RemoteOh, yes, I see now.
02:32:24ldleworkfowlmouth: in this situation, BaseParent is my Scene class, Parent is an actual Scene subclass in my game, and A and B are two different entities in the scene
02:33:02ldleworkIt seems you just cannot use the pattern where you organize a few things that talk to each other under a parent type, or at least in the ways I've tried
02:33:20ldleworkwhen using inheritance
02:33:21Varriount|RemoteHm... Would C++ be able to do any better?
02:33:26ldleworkI have no idea
02:33:46ldleworkI don't want to change Nim, but in Python this would work perfectly
02:33:59ldleworkSo I have to evolve my own design sensibilities
02:34:01Varriount|Remoteldlework: You could always interface with python...
02:34:02ldleworkbut that is so painful
02:35:23ldleworkWhat I wish
02:35:33ldleworkis that I could redefine parent on the sub class maybe?
02:35:45ldleworkso instead of casting everywhere
02:36:06ldleworkI just inform the compiler, "so yeah, all .parent fields on this subclass are actually Parent not BaseParent"
02:37:12fowlmouthldlework, parent:Parent doesnt work?
02:37:20ldleworkhuh?
02:37:36ldleworklet val = self.parent.b.b_val
02:37:39ldleworkis the line
02:38:53ldleworkfowlmouth: in the subclass? no
02:38:56ldleworkit says redefinition
02:39:20ldleworklet val = (ref Parent)(self.parent).b.b_val
02:39:23ldleworkfixes it
02:39:24ldleworkbut ew
02:40:15ldleworkI wonder if I defined my BaseChild.parent to be a typeclass..?
02:40:33ldleworkhmm no
02:41:27*brson_ quit (Quit: leaving)
02:45:31ldleworkI guess this is what event systems are for
02:45:46ldleworkso instead of calling methods directly on other stuff I send it a message
02:46:00*ldlework cries a little and goes off to drink
02:46:04ldleworkhappy new year everyone
02:46:38*z1y joined #nim
02:51:35fowlmouthldlework, i got it working
02:51:43ldleworkwhatwhat
02:52:41fowlmouthhttps://gist.github.com/fowlmouth/74f52167f0e71ae81a42
02:53:31ldleworkheh
02:53:37ldleworkI don't exactly see what you changed
02:54:13Varriount|Remoteldlework: Hm, I don't remember nim having (type)(value) casting syntax... or is that conversion syntax?
02:54:34ldleworkno idea what the difference between casting and conversion is
02:54:47fowlmouthVarriount|Remote, thats conversion
02:54:57def-conversion is type safe, casting is just interpreting the bits as a new type (totally unsafe)
02:55:00fowlmouthldlework, conversion does a runtime type check
02:55:08fowlmouthin your case
02:55:15ldleworkfowlmouth: it looks like you solved it for the old version
02:55:18fowlmouthif its int(0.1) obv there is no runtime type check
02:55:26ldleworkthe problem lies in Foo having a base class
02:55:26Varriount|Remotefowlmouth: What did you change?
02:55:34ldleworkVarriount|Remote: he solved the old version
02:55:37ldleworkwith no BaseParent
02:55:45ldleworkdunno if the solution applies to that as well
02:56:37ldleworkfowlmouth: https://gist.github.com/anonymous/e674661ee967548d0c5c
02:57:15ldleworkin this case the .parent field points/is declared to be a reference to the BaseParent
02:57:21ldleworkit is Parent that gets the a/b fields
02:57:42fowlmouthyou understand why that doesnt work right
02:58:00ldleworkfowlmouth: yeah I just explained it
02:58:07ldleworkthe parent field is defined as BaseParent
02:58:18ldleworkso when you are in a ChildA or ChildB and you do .parent
02:58:25ldleworkthat is a BaseParent and has no .a or .b
02:58:38ldleworkso from ChildA you can never reach ChildB, unless you convert .parent to a Parent
02:58:50jsudlowhappy new year germany!
02:59:36ldleworkso in our game subsystems
02:59:45ldleworkwe're going to need to figure out a different way for them to communicate
02:59:56fowlmouthldlework, ok that example is easy to fix
03:00:07ldleworkfowlmouth: with a conversion?
03:00:18ldlework(ref Parent)(self.parent).b ?
03:00:19fowlmouthldlework, you change line 8 to parent: ref Parent like i suggested 30 minutes ago
03:00:40ldleworkfowlmouth: uh
03:00:49ldleworkyes in this trivial example they are all defined together
03:01:01ldleworkI said earlier imagine the base classes are in a library
03:01:05ldleworkand you are implementing the subclasses
03:01:10fowlmouthldlework, oh christ
03:01:26fowlmouthyou're still on about the module limits
03:01:40ldleworkare you serious?
03:01:45ldleworkhow is this about module limits?
03:01:52fowlmouthsince that is the test case why dont you take the .a/.b fields out
03:02:02ldleworkdude
03:02:13ldleworkis this language supposed to have no libraries I don't get your point at all
03:02:36fowlmouthldlework, well your design needs work if you want to do it this way
03:02:41ldleworkis your answer to vendorize libs?
03:02:46ldleworkfowlmouth: I've already admitted that
03:02:54jpoirieris there any difference between cast[bool](100) and bool(100)?
03:03:00ldleworkI mentioned in python this would have worked fine
03:03:06ldleworkand that I have to change the way I think about things
03:03:21*darkf_ joined #nim
03:04:31Varriount|Remotejpoirier: In the end, no.
03:05:10Varriount|Remotejpoirier: However, bool(100) will check that the type can actually be sensibly converted to a bool, whereas cast[bool](100) won't.
03:05:35Varriount|RemoteActually, wait, yes, the two will differ. The cast will work, the conversion will error.
03:05:37*skyfex quit (Quit: (null))
03:06:45Varriount|Remoteldlework: Have you looked at entity and component architectures?
03:06:53ldleworkVarriount|Remote: very much so
03:07:09ldleworkI am sort of implementing that without a generalized database implementation
03:07:17jpoirierVarriount|Remote: k, thanks
03:07:48ldleworkwhere multiple game systems use game structures directly instead of having logic wrapped up in game structurs and having them talk to each other
03:07:58*darkf_ is now known as darkf
03:08:06ldleworkI think I just need to externalize the state out of the systems themselves
03:11:54Varriount|Remoteldlework: If it helps, think about this as a challenge.
03:12:23Varriount|RemoteAnd yes, I do understand the frustration that a duck-shaped hole leaves. :<
03:13:19Varriount|RemoteYou just have to... let it go. http://www.youtube.com/watch?v=moSFlvxnbgk
03:13:52jsudlowbeat it ldlework https://www.youtube.com/watch?v=Ym0hZG-zNOk
03:14:10EXetoCsomething wrong with duck shapes?
03:27:16flaviu.eval bool(100)
03:27:19Mimbusflaviu: eval.nim(3, 4) Error: value of type 'bool' has to be discarded
03:27:26flaviu.eval echo bool(100)
03:27:29Mimbusflaviu: eval.nim(3, 9) Error: conversion from int literal(100) to bool is invalid
03:27:35flaviu.eval cast[bool](100)
03:27:38Mimbusflaviu: eval.nim(3, 0) Error: value of type 'bool' has to be discarded
03:27:38flaviu.eval echo cast[bool](100)
03:27:41Mimbusflaviu: 0.004118919372558594sec: true
03:30:47Varriount|Remote.eval echo(cast[string](cast[int]("Hello world")))
03:30:50MimbusVarriount|Remote: 0.004240989685058594sec: Hello world
03:31:03Varriount|RemoteInteresting.
03:31:16Varriount|Remote.eval echo(cast[string](cast[int]("Hello world"[2])))
03:31:19MimbusVarriount|Remote: 0.006471157073974609sec: SIGSEGV: Illegal storage access. (Attempt to read from nil?)
03:31:41Varriount|Remote.eval echo(cast[char](cast[int]("Hello world"[2])))
03:31:45MimbusVarriount|Remote: 0.004175901412963867sec: l
03:33:11Varriount|RemoteHm. I should probably get started on installer generation...
03:33:42Varriount|RemoteYou know, someday we should really abandon inno and nsis, and just make our own installer.
03:34:17Varriount|RemoteIt might be NIH, but dependancies really suck, and nsis scripting is... weird.
03:34:21EXetoCwhy so little precision?
03:35:04Varriount|RemoteEXetoC: ?
03:35:33EXetoCjk. cya
03:36:15flaviuEXetoC: Because it's just temporary
03:36:20flaviuso I don't really care about polish
03:41:45ldleworkjsudlow: updated and pushed
03:41:52ldleworkI'm off to a party
03:41:54ldleworko/
03:42:10jsudlowldlework: aweomse I"ll review it enjoy the party happy new year
03:43:16Triplefoxcube drawing performance tests...still using glBegin and displaylists https://vine.co/v/OwFDpVb1itp
03:43:56*vbtt joined #nim
03:47:42Triplefoxgoing to move on to the buffers and shaders approach now so that i can drive up the counts for dynamic cubes...
03:49:13flaviuTriplefox: The encoding on that video is pretty bad
03:50:05Triplefoxit's a cell phone camera held up to the display...the vine aesthetic
03:50:19flaviuoh.
03:50:25*flaviu left #nim (#nim)
03:50:54*flaviu joined #nim
03:50:56flaviuoops
03:50:59Triplefoxon some material it works well, this time it was kind of blah
03:52:43Triplefoxi'm happy with how nim interacts with a c-style api, anyway...it's not perfectly seamless but i don't feel like i'm losing anything
03:54:13*Varriount|Remote quit (Ping timeout: 246 seconds)
03:57:51*Demos joined #nim
03:58:06*saml_ joined #nim
04:03:58*BitPuffin joined #nim
04:04:28*vbtt quit (Ping timeout: 255 seconds)
04:12:52*brson joined #nim
04:39:46def-Hm, this doesn't look updated: http://nim-lang.org/trmacros.html
04:45:14*kapil__ joined #nim
04:47:30*MyMind joined #nim
04:52:04*Sembei quit (Ping timeout: 264 seconds)
04:52:37*ARCADIVS joined #nim
05:05:27*BitPuffin quit (Ping timeout: 244 seconds)
05:16:59*vbtt joined #nim
05:35:43*z1y quit (Quit: Leaving.)
05:51:18*saml_ quit (Remote host closed the connection)
06:04:05*dts|pokeball joined #nim
06:13:17*vbtt quit (Ping timeout: 240 seconds)
06:20:08*BillsPC joined #nim
06:27:53*BillsPC quit (Remote host closed the connection)
06:29:28*BillsPC joined #nim
06:39:26*vbtt joined #nim
06:59:58*vbtt quit (Ping timeout: 255 seconds)
07:14:35*gour joined #nim
07:56:47*Demos quit (Ping timeout: 244 seconds)
08:02:04*BitPuffin joined #nim
08:06:55*BitPuffin quit (Ping timeout: 256 seconds)
08:07:25*vbtt joined #nim
08:22:05*nullmove joined #nim
08:24:24*darkf_ joined #nim
08:24:27*darkf_ quit (Changing host)
08:24:28*darkf_ joined #nim
08:25:43*darkf quit (Ping timeout: 244 seconds)
08:31:19*vbtt quit (Ping timeout: 255 seconds)
08:33:52*Demon_Fox quit (Quit: Leaving)
08:36:53*darkf_ is now known as darkf
08:43:45*brson quit (Quit: leaving)
08:55:37*nullmove quit (Ping timeout: 255 seconds)
08:56:26*nullmove joined #nim
09:15:06*BlaXpirit joined #nim
09:23:12*gour quit (Remote host closed the connection)
09:53:42*tgkokk joined #nim
10:00:01BlaXpiritthis is not really important, but i wonder what is the best way to make an alias for a function
10:00:21BlaXpirite.g. setCharacterSize `characterSize=`
10:01:03dts|pokeballlet foo = someFunc # BlaXpirit ?
10:01:13BlaXpiritdts|pokeball, i don't think that's how it works
10:01:30dts|pokeballwell considering ive done that before...
10:02:03BlaXpiritdts|pokeball, first of all, there can be multiple versions/methods
10:02:20dts|pokeball.eval proc foo()=echo 1;let bar = foo;bar()
10:02:24Mimbusdts|pokeball: 0.007239818572998047sec: 1
10:02:43BlaXpiritbut it seems to work somehow wtf
10:02:54dts|pokeballbecause as i tried to tell you, that is how it works...
10:03:01dts|pokeballfunctions are first class like in python
10:03:28BlaXpiritproc foo()=echo 1;proc foo(a:int)=echo a;let bar=foo;bar()
10:03:33BlaXpirit.eval proc foo()=echo 1;proc foo(a:int)=echo a;let bar=foo;bar()
10:03:36MimbusBlaXpirit: eval.nim(5, 4) Error: invalid type: 'None'
10:03:40BlaXpiritokay
10:03:56BlaXpirit.eval proc foo()=echo 1;proc foo(a:int)=echo a;let bar=foo;bar(5)
10:03:59MimbusBlaXpirit: eval.nim(5, 4) Error: invalid type: 'None'
10:04:05BlaXpiritso there, dts|pokeball
10:04:29dts|pokeballhmmmm
10:04:30BlaXpirit.eval proc foo(a:int)=echo a;let bar=foo;bar(5)
10:04:33MimbusBlaXpirit: 0.004065036773681641sec: 5
10:04:47dts|pokeballdoes nim have bind?
10:04:59BlaXpiritconsidering "bind" is a keyword, probably :p
10:05:14dts|pokeballprobably not the same bind im thinking of
10:05:16BlaXpiritbut i think it's a completely different thing
10:05:22dts|pokeballim thinking of c++'s bind
10:05:42dts|pokeballhold on, whats the type of proc?
10:05:46BlaXpiritoh man, livescript is so amazing in that regard
10:06:02BlaXpiritfunc _, 1, _ # bind 2 argument
10:13:01novistwhy echo $cpuTime() results in "coro.nim(66, 5) Error: type mismatch: got (proc (varargs[expr]){.gcsafe, locks: 0.}, float)"? I would expect it to print float value converted to string. No clue whats going on here..
10:13:35BlaXpiritnovist, which module?
10:13:58*gour joined #nim
10:14:04novistcpuTime() comes from times module if you mean that
10:14:10BlaXpiritgawd it's impossiblt to google such things
10:14:56novisti noticed quite some compiler errors are rather cryptic. its not immediately clear what error means
10:15:20BlaXpiritnovist, ok, something is wrong for sure
10:15:28dv-why the $? just do echo cpuTime()
10:15:48dv-or echo($cpuTime())
10:16:08novisthmm yeah w/o $ it works. second one doesnt work still, tried
10:16:15novistbut with $ it should still work no?
10:16:21BlaXpirityes
10:16:24BlaXpiritwhat's up with $
10:16:25dv-the second works for me
10:17:00*tgkokk quit (Ping timeout: 244 seconds)
10:17:02novisterr actually indeed it does. guess i got confused by all the random things i try to get it working hehe
10:17:22BlaXpirit.eval var t0: float = cpuTime();echo $t0
10:17:25MimbusBlaXpirit: eval.nim(3, 16) Error: undeclared identifier: 'cpuTime'
10:17:34novistbtw same error happens if i do var t = cpuTime(); echo $t
10:17:36BlaXpirit.eval import times;var t0: float = cpuTime();echo $t0
10:17:36ekarlso-dom96: around ?
10:17:39MimbusBlaXpirit: eval.nim(5, 5) Error: type mismatch: got (proc (varargs[expr]){.locks: 0.}, float)
10:17:42novistMimbus import times
10:18:13dv-when you do echo $cpuTime() it seems to think you're passing the cpuTime proc to echo instead of cpuTime()'s return value?
10:18:34novistthats how it looks yes
10:18:46dv-it's weird like that sometimes
10:19:21BlaXpiritguys
10:19:28BlaXpiritvar t0: float
10:19:41BlaXpiriti'm doing echo $t0
10:19:49BlaXpiritit's definitely something horribly bad
10:20:21dts|pokeballbecause i think its trying to convert the function itself to a string, not the return value
10:20:23dts|pokeballMimbus doesnt have anything imported
10:20:25dts|pokeball.eval proc foo: int = result = 42;echo $foo()
10:20:28Mimbusdts|pokeball: eval.nim(4, 5) Error: type mismatch: got (proc (varargs[expr]){.locks: 0.}, int)
10:20:29novistso didnt i just score in another compiler bug..? two bugs in two days. ill get smug if i get one more hoho
10:20:46novistweird thing is that t0 is actually float
10:20:57novistand echo t0 would work just fine
10:21:03BlaXpirit.eval var t: float;echo $t0
10:21:06MimbusBlaXpirit: eval.nim(4, 6) Error: undeclared identifier: 't0'
10:21:07novistbut $ makes it misbehave, but echo() fixes it
10:21:08BlaXpirit.eval var t: float;echo $t
10:21:11MimbusBlaXpirit: eval.nim(4, 5) Error: type mismatch: got (proc (varargs[expr]){.locks: 0.}, float)
10:21:17BlaXpiritthere, minimal example
10:21:18dts|pokeballsee, as i said, $ has higher precedence, so $some_proc() shouldnt work
10:21:24BlaXpiritbut it's probably just lack of parentheses
10:21:35BlaXpiritdts|pokeball, do you not see what i wrote
10:21:36nullmoveyeah echo($t0) works
10:21:57*tgkokk` joined #nim
10:22:13novisterr.. are you guys sayng in echo $t operator $ acts on echo?
10:22:13*tgkokk` is now known as tgkokk
10:22:20dts|pokeballno
10:22:30BlaXpiritok the error is obvious now
10:22:33BlaXpiritecho $ t
10:22:34novistthen whats happening? i dont get it
10:22:37BlaXpiritno binary operator
10:22:38BlaXpirityay
10:23:31dts|pokeball.eval var t: float = 1.0;echo $t
10:23:33Mimbusdts|pokeball: eval.nim(4, 5) Error: type mismatch: got (proc (varargs[expr]){.locks: 0.}, float)
10:23:36novistproc (varargs[expr]){.gcsafe, locks: 0.} looks much like definition of echo bw
10:23:43BlaXpiritdts|pokeball, that's what i wrote a few minutes ago -_-
10:23:52dts|pokeballBlaXpirit, no its not
10:24:04novistwait a moment, Mimbus is fucking bot? and i was talking to him. omg..
10:24:07BlaXpirit1.0 instead of 0.0 value
10:24:20dts|pokeballyou never wrote 0.0
10:24:28BlaXpiritbut it's implied
10:24:39dts|pokeballimplied isnt always neccesarry a good thing
10:24:46dts|pokeballit can cause bugs
10:25:03dts|pokeballand you arent neccesary always guaranteed it to be implied
10:25:17BlaXpirityes, you are
10:25:23dts|pokeballno
10:25:36BlaXpirit{.push noInit.} or what
10:25:41dts|pokeballim pretty sure if its decided to be taken out, it will be taken out
10:25:50BlaXpiritit will not be taken out
10:25:56dts|pokeballsays who?
10:26:03dts|pokeballits a terrible feature
10:26:21BlaXpiritno
10:26:25dts|pokeballyes
10:26:53BlaXpiritin any case, if someone missed, this whole thing was not a bug
10:27:02BlaXpirit[:22:34] <BlaXpirit> echo $ t
10:27:19novistcould you explain what actually happens here? why $ ruins things?
10:27:32BlaXpiritno binary $ operator defined
10:28:05*gour quit (Remote host closed the connection)
10:28:14novistthere is operator $ that works on float. i dont get it why it breaks right here but works with ()
10:28:32BlaXpirit`$`(echo, t)
10:28:34novistunless its works much like * would in a * b
10:28:35BlaXpiritdon't you get it
10:28:40BlaXpirityes, exactly
10:29:03novistright.. thats totally not what one would expect. i see now
10:29:23BlaXpiritthere are languages where this no-parentheses things works much better
10:29:39BlaXpiritmain problem here is arbitrary operators
10:29:59BlaXpiritsignificant whitespace could help though
10:30:51*nullmove quit (Ping timeout: 256 seconds)
10:31:00BlaXpiritwelp, even #! strongSpaces doesn't help in this case
10:31:02BlaXpirittoo bad
10:31:09novistecho is simple proc too?
10:31:38novistin other langs stuff with no parentheses usually is keyword
10:31:58BlaXpirityou can call any procedure like tha
10:32:05BlaXpirit(limitations apply)
10:33:21novistthat kind of freedom is pretty cool. bites in the ass sometimes though
10:33:43novisti read on wiki of 2014 GSOC. did anyone take wrapping Qt?
10:33:58BlaXpiritsomeone wrapped QML
10:33:59BlaXpirit...
10:34:11BlaXpiriti couldn't care less about it
10:34:18novistim not sure what that means. saw on forum and thought to myself "wtf is this shit?" :D
10:34:29BlaXpiritbut looks like i will have to, because large parts of Qt are basically abandoned
10:34:30dts|pokeballhmmm good catch BlaXpirit
10:34:53novistmaybe it could be automated by reusing some other projects
10:35:12BlaXpiritnovist, i've gone quite far in autogenerating source code
10:35:20BlaXpiritbut that's not what baffles me
10:35:39novistwhat is it then?
10:35:47BlaXpiritthe whole proprocessing/macro thing
10:35:56BlaXpiritextensive usage of advanced c++ features
10:36:00*irrequietus joined #nim
10:36:14BlaXpiritqt is one of the hardest libraries to wrap
10:36:16BlaXpiritfor sure
10:36:17novistQ_OBJECT/signals/slots?
10:36:21BlaXpirityeah
10:36:24BlaXpiritit's all a big hack
10:36:58novistyeah.. that may warrant a custom nim compiler additions just to emit these
10:37:13dts|pokeballflaviu, tomorrow when i push v1 i will have your .give thing, except modified
10:38:16novistanyhow once there is anything to test consider you have a tester. i would gladly attempt to migrate my one app to nim. its in python now. and not exactly tiny so should be good testcase
10:38:43*jefus__ joined #nim
10:42:54*jefus_ quit (Ping timeout: 265 seconds)
10:43:00novistdts|pokeball btw now testing my coroutines thing with onlySafeCode = false - it still is not correct. printed k value gets confused and after a bit app crashes. there may be more to it than shallowCopy() problem
10:43:46novisthttps://paste2box.com/6/#/FZnWGQ/WoNIrbUckq1IrhXr3EtIN_37c244H8rgHHW3Vu2ORNE/SgugPXVV.py with output https://paste2box.com/6/#/FJnWGQ/VXyNs93fPr5i8qX-Lj7tL_MMHgVg6ZZMu_Gy3EIVMDE/STqlcjYq.txt
10:44:14novistnotice "a1 7" printed lots, out of place
10:47:43*gour joined #nim
11:04:24*Matthias247 joined #nim
11:09:40*Varriount|Mobile joined #nim
11:13:42Varriount|Mobile.eval proc foo (s: string {.byCopy.}): string = return repr(s);var s = "Hello";echo(repr(s), " ", foo(s))
11:13:44MimbusVarriount|Mobile: eval.nim(3, 22) Error: ')' expected
11:14:42Varriount|Mobile.eval proc foo(s: string {.byCopy.}): string = return repr(s);var s = "Hello";echo(repr(s), " ", foo(s))
11:14:44MimbusVarriount|Mobile: eval.nim(3, 21) Error: ')' expected
11:15:41BlaXpiritwell this is weird
11:15:59Varriount|Mobile.eval proc foo (s: {.byCopy.} string): string = return repr(s);var s = "Hello";echo(repr(s), " ", foo(s))
11:16:02MimbusVarriount|Mobile: eval.nim(3, 15) Error: expression expected, but found '{.'
11:16:43BlaXpiritcheck this out though
11:16:47BlaXpirit.eval proc test(a: var int) = echo a;proc test(a: int) = echo a;test 5
11:16:50MimbusBlaXpirit: eval.nim(5, 0) Error: ambiguous call; both eval.test(a: var int) and eval.test(a: int) match for: (int literal(5))
11:16:52BlaXpirit.eval proc test(a: var int) = echo a;test 5
11:16:55MimbusBlaXpirit: eval.nim(4, 5) Error: for a 'var' type a variable needs to be passed
11:17:26BlaXpiritlooks quite nasty to me
11:17:35BlaXpiritprevents me from doing awesome things
11:19:15BlaXpiritno, this is seriously a huge problem for me
11:19:24BlaXpiriti just realized :(
11:19:40Varriount|MobileBlaXpirit: You could try fixing it in the compiler.
11:19:47dv-var n = 5; test n?
11:20:04BlaXpiritdv-, i get it but i want both a var-version and a non-var version
11:20:14Varriount|MobileIt's probably a 3 line fix. The challenge is finding the right 3 lines
11:20:28BlaXpiriti'm definitely not going for it
11:20:36Varriount|Mobile:<
11:20:44BlaXpiritif i wanna release a library, i'm not gonna go telling people "edit your compiler to run it"
11:21:01BlaXpiritin any case, i wrote an issue on github
11:21:04*fractalb joined #nim
11:21:24Varriount|MobileAnyway, I could have sworn there was a way to add pragmas to arguments
11:23:52Varriount|Mobile.eval type valString {.byCopy.} = string;proc foo(s: valString): string = return repr(s);var s = "Hello";echo(repr(s), " ", foo(s))
11:23:55MimbusVarriount|Mobile: 0.004104852676391602sec: 0x7fcbb136e050"Hello" 0x7fcbb136e050"Hello"
11:24:48BlaXpirithey, by the way, maybe you guys have any ideas to make that one a template or something
11:25:09Varriount|Mobile(Varriount|Mobile) .eval type valString {.byCopy.} = string;proc foo(a: valString): string = return repr(a);var s = "Hello";echo(repr(s), " ", foo(s))
11:25:12BlaXpiritmaybe then non-var would work or somethin
11:25:22Varriount|MobileBlaXpirit: Huh?
11:25:41Varriount|Mobile.eval type valString {.byCopy.} = string;proc foo(a: valString): string = return repr(a);var s = "Hello";echo(repr(s), " ", foo(s))
11:25:44MimbusVarriount|Mobile: 0.003957986831665039sec: 0x7f97c9c3b050"Hello" 0x7f97c9c3b050"Hello"
11:26:01BlaXpiritVarriount|Mobile, I'm looking for any workarounds to have 2 versions of functions
11:26:07ekarlso-hmmm
11:26:10BlaXpirit1 with var, 1 with non-var argument
11:26:35dom96ekarlso-: sup?
11:26:59Varriount|Mobile.eval type valString {.byCopy.} = object of string;proc foo(a: valString): string = return repr(a);var s = "Hello";echo(repr(s), " ", foo(s))
11:27:02MimbusVarriount|Mobile: eval.nim(3, 35) Error: inheritance only works with non-final objects
11:27:27*vbtt joined #nim
11:27:33BlaXpiritor maybe... how can I guarantee that an argument gets passed to a function by reference
11:27:37ekarlso-your json example the other day
11:28:06*fractalb quit (Quit: Page closed)
11:28:07ekarlso-%{"method": %"git"} < how can I use smth like that in building up the json from a seq of stuff ?
11:28:09BlaXpirit(like var, but without using var, because i don't need to modify the argument)
11:28:10ekarlso-lemme post the code..
11:28:41ekarlso-http://pastebin.com/XP9pxik3 < dom96
11:28:49ekarlso-I wanna make a response out of the pkgs
11:31:05Varriount|Mobile(Varriount|Mobile) .eval type valString {.byCopy.} = object;proc foo(a: valString): string = return addr(a).toString;var s: object;echo(addr(s), " ", foo(s))
11:31:23Varriount|Mobile.eval type valString {.byCopy.} = object;proc foo(a: valString): string = return addr(a).toString;var s: object;echo(addr(s), " ", foo(s))
11:31:26MimbusVarriount|Mobile: eval.nim(4, 47) Error: undeclared identifier: 'toString'
11:31:37*vbtt quit (Ping timeout: 240 seconds)
11:32:18Varriount|Mobile.eval type valString {.byCopy.} = object;proc foo(a: valString): pointer = return addr(a);var s: object;echo(addr(s), " ", foo(s))
11:32:21MimbusVarriount|Mobile: eval.nim(4, 41) Error: expression has no address
11:33:48Varriount|Mobile(Varriount|Mobile) .eval type valString {.byCopy.} = object;proc foo(a: valString): pointer = return repr(a);var s: object;echo(addr(s), " ", foo(s))
11:34:02Varriount|Mobile.eval type valString {.byCopy.} = object;proc foo(a: valString): pointer = return repr(a);var s: object;echo(addr(s), " ", foo(s))
11:34:05MimbusVarriount|Mobile: eval.nim(4, 45) Error: type mismatch: got (string) but expected 'pointer'
11:34:23dom96ekarlso-: var jArr = newJArray(); jArr.add(%{"method": %"git", ...})
11:34:46ekarlso-ah
11:35:35Varriount|Mobile.eval type valString {.byCopy.} = object;proc foo(a: valString): string = return repr(a);var s: object;echo(addr(s), " ", foo(s))
11:35:38MimbusVarriount|Mobile: Error: internal error: GetUniqueType
11:36:00ekarlso-dom96: -,,-
11:36:13Varriount|Mobile.eval type valString {.byCopy.} = object; a: int;proc foo(a: valString): string = return repr(a);var s: object;echo(addr(s), " ", foo(s))
11:36:16MimbusVarriount|Mobile: Error: internal error: GetUniqueType
11:36:27Varriount|MobileI give up
11:37:18ekarlso-dom96: what does the %{} mean ?
11:37:45dom96ekarlso-: It constructs JSON
11:38:03dom96it creates a JObject node out of that
11:38:36*Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
11:38:42*jux quit (Ping timeout: 250 seconds)
11:50:23*tgkokk quit (Read error: Connection reset by peer)
11:59:23ekarlso-dom96: how u do the "resp" method then ?
11:59:39ekarlso-resp jsArr, "application/json" ?
11:59:43dom96resp $jsArr
12:03:06ekarlso-resp jsArr, "application/json" ?
12:03:09ekarlso-ehm, wrong place
12:03:15ekarlso- resp $pkg_array, "application/json"
12:03:23ekarlso-I did that and now wrong nr of args on that line :
12:05:50Araqresp($jsArr) ?
12:06:22AraqVarriount_: there are no pragmas for parameters (yet)
12:06:34ekarlso-ah k
12:07:37ekarlso-hmm, %{"name": pkg.name} not possible ?
12:07:50def-%pkg.name maybe
12:09:05ekarlso-ya def- :P
12:09:16Araqekarlso-: dunno what happened to the JSON macro. it's definitely possible in theory
12:09:36ekarlso-but what the, now it's saying my resp line is on wrong indentation
12:20:27novistekarlso- wrong indentation error can happen if you mess up line before
12:25:10ekarlso-http://pastebin.com/bNMSTZaM < novist
12:25:14ekarlso-I dont see the wrongfulness there
12:25:40BlaXpiritAraq, tell me about that workaround please
12:27:27AraqBlaXpirit: proc foo(x: (var int){lvalue})
12:27:32Araqproc foo(x: int)
12:27:40novistekarlso- i see some empty lines contain 5 spaces while indentation is 4 spaces. maybe thats the culprit?
12:28:00novistor maybe its just copying from pastebin
12:28:25BlaXpiritthank you
12:29:18*flaviu left #nim (#nim)
12:29:29*flaviu joined #nim
12:29:43BlaXpiritAraq, doesn't seem to compile though :o (0.10.1)
12:29:51ekarlso-I dont get this thing...
12:30:08ekarlso-doesn't have a meaning to it :|
12:30:13BlaXpiritAraq, sorry, it works
12:31:07BlaXpirit.eval proc foo (s: (string){byCopy}): string = return repr(s);var s = "Hello";echo(repr(s), " ", foo(s))
12:31:10MimbusBlaXpirit: eval.nim(3, 22) Error: illformed AST: byCopy
12:32:02BlaXpiritVarriount_, is this what you were looking for?
12:32:07*Ven joined #nim
12:32:19ekarlso-Araq: u get it why ? :(
12:32:58novistekarlso- maybe you forgot return statement on ln 41?
12:33:16ekarlso-novist: ehhh, should u need a return ?
12:33:25ekarlso-vs resp
12:33:50novistwell you resp is obviously a call, but what is then string next to it? must put it somewhere i guess
12:33:56novistidk how web lib works, im very new to nim too
12:34:08novistbut that statement does not quite make sense to me
12:34:33novistoh resp($pkg_array, "application/json") worked
12:35:21ekarlso-dang, u right!
12:35:25*Ven quit (Client Quit)
12:37:24BlaXpiritwow
12:37:37BlaXpiritso i've just been fighting the weirdest SIGSEGV i've ever seen
12:37:48BlaXpiritremoving one part of the code fixed it
12:37:59BlaXpiritremoving other unrelated part of code fixed it
12:38:06BlaXpiritremoving import unicode fixed it
12:38:08BlaXpiritT_T
12:39:24*ARCADIVS quit (Quit: ARCADIVS)
12:40:05def-BlaXpirit: what was the result?
12:40:13BlaXpiritdef-, what do you mean?
12:40:26def-did you find out why it segfaulted like that?
12:40:28BlaXpiritno
12:40:37BlaXpiritimport unicode still consistently crashes it
12:40:56BlaXpiritwell it's probably something i'm doing wrong, i have a bunch of ptrs
12:41:11BlaXpiriti bet it's just a coincidence. not importing unicode aligned the memory differently
12:43:03*gokr_ joined #nim
12:44:33AraqBlaXpirit: yup, if you don't have memory safety, spooky action from a distance is the result
12:47:25*gokr_ quit (Ping timeout: 256 seconds)
13:03:33*BitPuffin joined #nim
13:05:14def-https://www.reddit.com/r/programming/comments/2r06ej/what_is_special_about_nim/
13:05:17def-https://news.ycombinator.com/item?id=8822816
13:10:42EXetoCBlaXpirit: wanna try to use aur/nim-git?
13:10:48BlaXpiritEXetoC, sure
13:11:39dom96def-: Upvoted.
13:12:00dom96For everybody else who wants to upvote go to https://news.ycombinator.com/newest and upvote from there.
13:12:17dom96HN won't like it if lots of people upvote by going directly to the link
13:18:49*nullmove joined #nim
13:18:58BlaXpiritcool cool
13:19:32*vbtt joined #nim
13:21:18flaviudom96: Asking people to vote might not be looked kindly upon by hacker news and reddit.
13:22:14EXetoCmaybe just say "here's a new article" then
13:22:56flaviuyep, it's best not to mention votes at all.
13:25:10*vbtt quit (Ping timeout: 255 seconds)
13:27:17*yeye123 joined #nim
13:35:37*Ven joined #nim
13:43:41*Trustable joined #nim
13:45:03novistwhat kind of grammar is specified there? http://nim-lang.org/manual.html#grammar
13:45:34novistim trying to put simple intellij plugin and it requires bnf grammar. im totally clueless about grammars and parsing though :|
13:48:48def-Woo, top post on HN!
13:50:27ekarlso-dom96: what does it mean when jester goes 502 on a POST route ?
13:50:44dom96ekarlso-: no 'resp'?
13:51:31ekarlso-dom96: http://pastebin.com/55TnFmdk
13:51:34ekarlso-there's a resp there :/
13:52:06ekarlso-<html xmlns="Jester">http://www.w3.org/1999/xhtml"><head><title>Jester</a> route exception</title></head><body><h1>An error has occured in one of your routes.</h1><p><b>Detail: </b>input(1, 0) Error: { expected</p></body></html></td></tr><tr><td><a id="13:52:24" href="#13:52:24" class="time">13:52:24</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M13:52:24" class="msg">oh, there you go.</td></tr><tr><td><a id="13:52:29" href="#13:52:29" class="time">13:52:29</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M13:52:29" class="msg">That's the reason.</td></tr><tr><td><a id="13:52:32" href="#13:52:32" class="time">13:52:32</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M13:52:32" class="msg">Your route crashed.</td></tr><tr><td><a id="13:52:43" href="#13:52:43" class="time">13:52:43</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:52:43" class="msg">ye, but why ? :/</td></tr><tr><td><a id="13:53:23" href="#13:53:23" class="time">13:53:23</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:53:23" class="msg">the json i'm sending is valid..</td></tr><tr><td><a id="13:55:05" href="#13:55:05" class="time">13:55:05</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:55:05" class="msg">dom96: ?</td></tr><tr><td><a id="13:55:16" href="#13:55:16" class="time">13:55:16</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M13:55:16" class="msg">def-, great post :)</td></tr><tr><td><a id="13:55:28" href="#13:55:28" class="time">13:55:28</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M13:55:28" class="msg">ekarlso-: echo(@"payload")</td></tr><tr><td><a id="13:55:31" href="#13:55:31" class="time">13:55:31</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M13:55:31" class="msg">nullmove: thanks!</td></tr><tr><td><a id="13:55:33" href="#13:55:33" class="time">13:55:33</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M13:55:33" class="msg">and see if it is valid</td></tr><tr><td><a id="13:56:18" href="#13:56:18" class="time">13:56:18</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:56:18" class="msg">whaaa</td></tr><tr><td><a id="13:56:21" href="#13:56:21" class="time">13:56:21</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:56:21" class="msg">it's all blank :/</td></tr><tr><td><a id="13:57:25" href="#13:57:25" class="time">13:57:25</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:57:25" class="msg">what does payload refer to ?</td></tr><tr><td><a id="13:58:11" href="#13:58:11" class="time">13:58:11</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M13:58:11" class="msg">obviously not..</td></tr><tr class="join"><td><a id="13:59:09" href="#13:59:09" class="time">13:59:09</a></td><td class="nick">*</td><td id="M13:59:09" class="msg">lipoxin joined #nim</td></tr><tr><td><a id="14:01:08" href="#14:01:08" class="time">14:01:08</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:01:08" class="msg">dom96: any clues ?</td></tr><tr class="quit"><td><a id="14:01:48" href="#14:01:48" class="time">14:01:48</a></td><td class="nick">*</td><td id="M14:01:48" class="msg">lipoxin quit (Client Quit)</td></tr><tr><td><a id="14:02:38" href="#14:02:38" class="time">14:02:38</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M14:02:38" class="msg">novist: I'll explain the details later. it's not EBNF and cannot be.</td></tr><tr><td><a id="14:02:46" href="#14:02:46" class="time">14:02:46</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M14:02:46" class="msg">gotta go, see you later</td></tr><tr><td><a id="14:02:59" href="#14:02:59" class="time">14:02:59</a></td><td class="nick"><span style="color: #ffb86c">novist</span></td><td id="M14:02:59" class="msg">okie..</td></tr><tr><td><a id="14:03:33" href="#14:03:33" class="time">14:03:33</a></td><td class="nick"><span style="color: #ffb86c">novist</span></td><td id="M14:03:33" class="msg">hopefully there will be a reasonable way to make intellij understand it</td></tr><tr><td><a id="14:04:16" href="#14:04:16" class="time">14:04:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:04:16" class="msg">ekarlso-: How are you POST-ing to it?</td></tr><tr><td><a id="14:04:36" href="#14:04:36" class="time">14:04:36</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:04:36" class="msg">dom96: postman in chrome...</td></tr><tr><td><a id="14:05:13" href="#14:05:13" class="time">14:05:13</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:05:13" class="msg">doesn't exactly give any useful info on why it failed...</td></tr><tr><td><a id="14:05:15" href="#14:05:15" class="time">14:05:15</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:05:15" class="msg">just that it failed :|</td></tr><tr><td><a id="14:06:08" href="#14:06:08" class="time">14:06:08</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:06:08" class="msg">ekarlso-: Try echo($request.formData) and echo($request.params)</td></tr><tr><td><a id="14:08:12" href="#14:08:12" class="time">14:08:12</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:08:12" class="msg">nothing there either dom96 ...</td></tr><tr><td><a id="14:08:17" href="#14:08:17" class="time">14:08:17</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:08:17" class="msg">it's all empty</td></tr><tr><td><a id="14:09:50" href="#14:09:50" class="time">14:09:50</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:09:50" class="msg">dom96: {:} they are l ike that</td></tr><tr><td><a id="14:11:02" href="#14:11:02" class="time">14:11:02</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:11:02" class="msg">hm</td></tr><tr><td><a id="14:11:06" href="#14:11:06" class="time">14:11:06</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:11:06" class="msg">dom96: why would it be empty ?</td></tr><tr><td><a id="14:11:27" href="#14:11:27" class="time">14:11:27</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:11:27" class="msg">Try using a <form> like here: <a href="https://github.com/dom96/jester/blob/master/tests/alltest.nim#L66">https://github.com/dom96/jester/blob/master/tests/alltest.nim#L66</a></td></tr><tr><td><a id="14:11:42" href="#14:11:42" class="time">14:11:42</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:11:42" class="msg">but why the crap would u use a form vs json?</td></tr><tr><td><a id="14:14:45" href="#14:14:45" class="time">14:14:45</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:14:45" class="msg">meh, i'll give up for now ...</td></tr><tr><td><a id="14:18:38" href="#14:18:38" class="time">14:18:38</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:18:38" class="msg">libraries still seems to lack stuff like delete / put etc</td></tr><tr><td><a id="14:18:44" href="#14:18:44" class="time">14:18:44</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:18:44" class="msg">i'll try when it works:P</td></tr><tr><td><a id="14:19:16" href="#14:19:16" class="time">14:19:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:19:16" class="msg">It's likely that you're POSTing wrong.</td></tr><tr><td><a id="14:19:29" href="#14:19:29" class="time">14:19:29</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:19:29" class="msg">Not that jester doesn't work.</td></tr><tr><td><a id="14:19:56" href="#14:19:56" class="time">14:19:56</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:19:56" class="msg">i'm trying to post some json..</td></tr><tr><td><a id="14:19:58" href="#14:19:58" class="time">14:19:58</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:19:58" class="msg">nothing wrong in that</td></tr><tr class="join"><td><a id="14:21:25" href="#14:21:25" class="time">14:21:25</a></td><td class="nick">*</td><td id="M14:21:25" class="msg">wmealing joined #nim</td></tr><tr class="join"><td><a id="14:22:03" href="#14:22:03" class="time">14:22:03</a></td><td class="nick">*</td><td id="M14:22:03" class="msg">skyfex joined #nim</td></tr><tr><td><a id="14:22:19" href="#14:22:19" class="time">14:22:19</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:22:19" class="msg">ekarlso-: Try: curl -d 'payload={"repository":{"url":"<a href="http://github.com/username/reponame"}}'">http://github.com/username/reponame"}}'</a> <a href="http://localhost:5000">http://localhost:5000</a></td></tr><tr><td><a id="14:23:35" href="#14:23:35" class="time">14:23:35</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:23:35" class="msg">eh, wy the payload= ?</td></tr><tr><td><a id="14:23:44" href="#14:23:44" class="time">14:23:44</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:23:44" class="msg">Because that's required</td></tr><tr><td><a id="14:23:49" href="#14:23:49" class="time">14:23:49</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:23:49" class="msg">nimble seems to be.. the package tool, what is the generally accepted.. make-like tool ?</td></tr><tr><td><a id="14:23:52" href="#14:23:52" class="time">14:23:52</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:23:52" class="msg">Because you can have multiple params</td></tr><tr><td><a id="14:24:54" href="#14:24:54" class="time">14:24:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:24:54" class="msg">wmealing: There is nake (<a href="https://github.com/fowlmouth/nake).">https://github.com/fowlmouth/nake).</a> There isn't really a need for make-like tools for Nim though because the compiler resolves all module dependencies.</td></tr><tr><td><a id="14:24:59" href="#14:24:59" class="time">14:24:59</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:24:59" class="msg">dom96: so</td></tr><tr><td><a id="14:25:07" href="#14:25:07" class="time">14:25:07</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:25:07" class="msg">wmealing: What do you want to use a make-like tool for?</td></tr><tr><td><a id="14:25:13" href="#14:25:13" class="time">14:25:13</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:25:13" class="msg">you're not posting a json dict but a form or ?</td></tr><tr class="join"><td><a id="14:25:14" href="#14:25:14" class="time">14:25:14</a></td><td class="nick">*</td><td id="M14:25:14" class="msg">rpag joined #nim</td></tr><tr><td><a id="14:25:29" href="#14:25:29" class="time">14:25:29</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:25:29" class="msg">curl -H "Content-Type: application/json" -d "{}" should be valid too ...</td></tr><tr><td><a id="14:25:31" href="#14:25:31" class="time">14:25:31</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:25:31" class="msg">dom96: building complex things..</td></tr><tr><td><a id="14:25:34" href="#14:25:34" class="time">14:25:34</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:25:34" class="msg">ekarlso-: You're posting a string, what you do with that string is up to your app.</td></tr><tr class="quit"><td><a id="14:25:37" href="#14:25:37" class="time">14:25:37</a></td><td class="nick">*</td><td id="M14:25:37" class="msg">rpag quit (Remote host closed the connection)</td></tr><tr><td><a id="14:25:41" href="#14:25:41" class="time">14:25:41</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:25:41" class="msg">if 'nim' binary does all i need, then.. thats ok</td></tr><tr><td><a id="14:25:54" href="#14:25:54" class="time">14:25:54</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:25:54" class="msg">i see things like "nim c -r src/nimble install"</td></tr><tr><td><a id="14:26:15" href="#14:26:15" class="time">14:26:15</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:26:15" class="msg">ekarlso-: oh. You might be right. echo(request.body)</td></tr><tr><td><a id="14:26:49" href="#14:26:49" class="time">14:26:49</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:26:49" class="msg">wmealing: What complex things?</td></tr><tr><td><a id="14:26:56" href="#14:26:56" class="time">14:26:56</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:26:56" class="msg">i dont know, i'm not writing it yet.</td></tr><tr><td><a id="14:27:08" href="#14:27:08" class="time">14:27:08</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:27:08" class="msg">dom96: yeah it's there..</td></tr><tr><td><a id="14:27:23" href="#14:27:23" class="time">14:27:23</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:27:23" class="msg">i must be making no sense.</td></tr><tr><td><a id="14:27:40" href="#14:27:40" class="time">14:27:40</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:27:40" class="msg">yay</td></tr><tr><td><a id="14:27:46" href="#14:27:46" class="time">14:27:46</a></td><td class="nick"><span style="color: #ff79c6">wmealing</span></td><td id="M14:27:46" class="msg">sorry to bother.</td></tr><tr class="part"><td><a id="14:27:47" href="#14:27:47" class="time">14:27:47</a></td><td class="nick">*</td><td id="M14:27:47" class="msg">wmealing left #nim (#nim)</td></tr><tr><td><a id="14:27:50" href="#14:27:50" class="time">14:27:50</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:27:50" class="msg">ekarlso-: sorry, didn't get what you meant the first time.</td></tr><tr><td><a id="14:27:51" href="#14:27:51" class="time">14:27:51</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:27:51" class="msg">so parseJson($request.body) then</td></tr><tr><td><a id="14:28:01" href="#14:28:01" class="time">14:28:01</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:28:01" class="msg">yes</td></tr><tr><td><a id="14:28:22" href="#14:28:22" class="time">14:28:22</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:28:22" class="msg">no wmealing!</td></tr><tr><td><a id="14:29:06" href="#14:29:06" class="time">14:29:06</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:29:06" class="msg">dom96: that was way better :P</td></tr><tr><td><a id="14:29:38" href="#14:29:38" class="time">14:29:38</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:29:38" class="msg">Everything should generally be somewhere in the request object.</td></tr><tr><td><a id="14:29:51" href="#14:29:51" class="time">14:29:51</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:29:51" class="msg"><a href="https://github.com/dom96/jester#request-object">https://github.com/dom96/jester#request-object</a></td></tr><tr><td><a id="14:30:27" href="#14:30:27" class="time">14:30:27</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:30:27" class="msg">def-: nice. Already at the top :)</td></tr><tr><td><a id="14:35:45" href="#14:35:45" class="time">14:35:45</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:35:45" class="msg">dom96: any idea why Jester could have a 200 ms delay on each request?</td></tr><tr class="join"><td><a id="14:35:48" href="#14:35:48" class="time">14:35:48</a></td><td class="nick">*</td><td id="M14:35:48" class="msg">tgkokk joined #nim</td></tr><tr><td><a id="14:36:48" href="#14:36:48" class="time">14:36:48</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:36:48" class="msg">def-: blocking IO somewhere? When does it happen?</td></tr><tr class="quit"><td><a id="14:36:48" href="#14:36:48" class="time">14:36:48</a></td><td class="nick">*</td><td id="M14:36:48" class="msg">Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)</td></tr><tr><td><a id="14:36:56" href="#14:36:56" class="time">14:36:56</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:36:56" class="msg">def-: With a simple hello world?</td></tr><tr><td><a id="14:36:59" href="#14:36:59" class="time">14:36:59</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:36:59" class="msg">dom96: yes</td></tr><tr><td><a id="14:37:09" href="#14:37:09" class="time">14:37:09</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:37:09" class="msg">someone is asking by mail, i can't reproduce</td></tr><tr><td><a id="14:37:21" href="#14:37:21" class="time">14:37:21</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:37:21" class="msg">by mail?</td></tr><tr><td><a id="14:37:24" href="#14:37:24" class="time">14:37:24</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:37:24" class="msg">email*</td></tr><tr><td><a id="14:37:35" href="#14:37:35" class="time">14:37:35</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:37:35" class="msg">oh because you gave your email on your blog post</td></tr><tr><td><a id="14:37:43" href="#14:37:43" class="time">14:37:43</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:37:43" class="msg">windows only maybe?</td></tr><tr><td><a id="14:37:50" href="#14:37:50" class="time">14:37:50</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:37:50" class="msg">Can you CC me the email?</td></tr><tr><td><a id="14:37:55" href="#14:37:55" class="time">14:37:55</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:37:55" class="msg">sure</td></tr><tr><td><a id="14:37:56" href="#14:37:56" class="time">14:37:56</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:37:56" class="msg">dom[at]picheta.me</td></tr><tr><td><a id="14:38:31" href="#14:38:31" class="time">14:38:31</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M14:38:31" class="msg">sent</td></tr><tr><td><a id="14:41:33" href="#14:41:33" class="time">14:41:33</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:41:33" class="msg">thx</td></tr><tr><td><a id="14:43:38" href="#14:43:38" class="time">14:43:38</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M14:43:38" class="msg">replied, cc'd you too.</td></tr><tr class="join"><td><a id="14:55:56" href="#14:55:56" class="time">14:55:56</a></td><td class="nick">*</td><td id="M14:55:56" class="msg">wrl joined #nim</td></tr><tr><td><a id="14:59:42" href="#14:59:42" class="time">14:59:42</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M14:59:42" class="msg">dom96: when u gonna add delet / Put / patch ?</td></tr><tr><td><a id="15:00:43" href="#15:00:43" class="time">15:00:43</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M15:00:43" class="msg">dunno</td></tr><tr><td><a id="15:00:46" href="#15:00:46" class="time">15:00:46</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M15:00:46" class="msg">It's not really necessary</td></tr><tr><td><a id="15:01:35" href="#15:01:35" class="time">15:01:35</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:01:35" class="msg">hey, so here's a question. i write real-time audio software, and the primary constraint is that, in one particular thread (the real-time audio thread), the execution must be deterministic and must not block. is this a constraint to which i could adhere when writing in nim?</td></tr><tr><td><a id="15:01:45" href="#15:01:45" class="time">15:01:45</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:01:45" class="msg">i am particularly leery of garbage collection</td></tr><tr class="join"><td><a id="15:04:23" href="#15:04:23" class="time">15:04:23</a></td><td class="nick">*</td><td id="M15:04:23" class="msg">vbtt joined #nim</td></tr><tr><td><a id="15:05:29" href="#15:05:29" class="time">15:05:29</a></td><td class="nick"><span style="color: #ffb86c">novist</span></td><td id="M15:05:29" class="msg">wrl there is --gc:none for disabling it so if it gives you trouble it can be disabled</td></tr><tr><td><a id="15:06:11" href="#15:06:11" class="time">15:06:11</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:06:11" class="msg">novist: will that prevent me from using much of the stdlib?</td></tr><tr><td><a id="15:06:30" href="#15:06:30" class="time">15:06:30</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M15:06:30" class="msg">wrl: yes, strings and seqs for example</td></tr><tr><td><a id="15:06:52" href="#15:06:52" class="time">15:06:52</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:06:52" class="msg">hm hm hm.</td></tr><tr><td><a id="15:06:52" href="#15:06:52" class="time">15:06:52</a></td><td class="nick"><span style="color: #ffb86c">novist</span></td><td id="M15:06:52" class="msg">that i dont know. you also might want to see realtime support section here <a href="http://nim-lang.org/gc.html">http://nim-lang.org/gc.html</a></td></tr><tr><td><a id="15:07:47" href="#15:07:47" class="time">15:07:47</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:07:47" class="msg">if i compile with --gc:none, does that mean i can omit NimMain() calls as well?</td></tr><tr class="join"><td><a id="15:08:08" href="#15:08:08" class="time">15:08:08</a></td><td class="nick">*</td><td id="M15:08:08" class="msg">FreezerburnV joined #nim</td></tr><tr class="quit"><td><a id="15:10:01" href="#15:10:01" class="time">15:10:01</a></td><td class="nick">*</td><td id="M15:10:01" class="msg">vbtt quit (Ping timeout: 255 seconds)</td></tr><tr><td><a id="15:10:39" href="#15:10:39" class="time">15:10:39</a></td><td class="nick"><span style="color: #ffb86c">novist</span></td><td id="M15:10:39" class="msg">i would suggest putting minimal possible testcase and seeing if it gives you trouble. disabling gc should probably be last thing you want to do</td></tr><tr><td><a id="15:11:14" href="#15:11:14" class="time">15:11:14</a></td><td class="nick"><span style="color: #bd93f9">wrl</span></td><td id="M15:11:14" class="msg">word, ok.</td></tr><tr><td><a id="15:11:26" href="#15:11:26" class="time">15:11:26</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M15:11:26" class="msg">The GC should adhere to your constraints.</td></tr><tr><td><a id="15:11:40" href="#15:11:40" class="time">15:11:40</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M15:11:40" class="msg">You can also disable it and run it whenever you wish.</td></tr><tr class="join"><td><a id="15:25:29" href="#15:25:29" class="time">15:25:29</a></td><td class="nick">*</td><td id="M15:25:29" class="msg">akyte joined #nim</td></tr><tr><td><a id="15:26:47" href="#15:26:47" class="time">15:26:47</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M15:26:47" class="msg">So about nim's current garbage collector. From my readings it looks to only be slack-based. What if I don't know how long my collections should go?</td></tr><tr><td><a id="15:27:03" href="#15:27:03" class="time">15:27:03</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M15:27:03" class="msg">Why not tax-and-spend?</td></tr><tr><td><a id="15:28:39" href="#15:28:39" class="time">15:28:39</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M15:28:39" class="msg">what about the real-time GC?</td></tr><tr class="join"><td><a id="15:28:44" href="#15:28:44" class="time">15:28:44</a></td><td class="nick">*</td><td id="M15:28:44" class="msg">gokr_ joined #nim</td></tr><tr><td><a id="15:30:05" href="#15:30:05" class="time">15:30:05</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M15:30:05" class="msg">The soft real-time GC was the one I was talking about</td></tr><tr><td><a id="15:31:24" href="#15:31:24" class="time">15:31:24</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M15:31:24" class="msg">Although it looks like you only use the tracing GC as a cycle collector.</td></tr><tr class="quit"><td><a id="15:31:29" href="#15:31:29" class="time">15:31:29</a></td><td class="nick">*</td><td id="M15:31:29" class="msg">darkf quit (Quit: Leaving)</td></tr><tr class="join"><td><a id="15:32:14" href="#15:32:14" class="time">15:32:14</a></td><td class="nick">*</td><td id="M15:32:14" class="msg">Ven joined #nim</td></tr><tr class="quit"><td><a id="15:37:29" href="#15:37:29" class="time">15:37:29</a></td><td class="nick">*</td><td id="M15:37:29" class="msg">tgkokk quit (Quit: Textual IRC Client: www.textualapp.com)</td></tr><tr class="join"><td><a id="15:39:56" href="#15:39:56" class="time">15:39:56</a></td><td class="nick">*</td><td id="M15:39:56" class="msg">saml_ joined #nim</td></tr><tr><td><a id="15:43:34" href="#15:43:34" class="time">15:43:34</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M15:43:34" class="msg">dom96: u mean it's not necassary with PUT / PATCH / DELETE for REST apis f ex ?</td></tr><tr><td><a id="15:44:52" href="#15:44:52" class="time">15:44:52</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M15:44:52" class="msg">it's not necessary because you can POST to /packages/delete or /packages/upload</td></tr><tr class="join"><td><a id="15:46:34" href="#15:46:34" class="time">15:46:34</a></td><td class="nick">*</td><td id="M15:46:34" class="msg">gokr joined #nim</td></tr><tr class="quit"><td><a id="15:49:19" href="#15:49:19" class="time">15:49:19</a></td><td class="nick">*</td><td id="M15:49:19" class="msg">gokr_ quit (Ping timeout: 256 seconds)</td></tr><tr class="join"><td><a id="15:49:34" href="#15:49:34" class="time">15:49:34</a></td><td class="nick">*</td><td id="M15:49:34" class="msg">loz joined #nim</td></tr><tr class="join"><td><a id="15:54:22" href="#15:54:22" class="time">15:54:22</a></td><td class="nick">*</td><td id="M15:54:22" class="msg">gokr1 joined #nim</td></tr><tr><td><a id="15:54:59" href="#15:54:59" class="time">15:54:59</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M15:54:59" class="msg">Ah, api design arguments *drinks coffee*</td></tr><tr><td><a id="16:01:04" href="#16:01:04" class="time">16:01:04</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M16:01:04" class="msg">wrl: the GC is *per thread*. threads that don't allocate don't invoke their GCs</td></tr><tr class="quit"><td><a id="16:01:32" href="#16:01:32" class="time">16:01:32</a></td><td class="nick">*</td><td id="M16:01:32" class="msg">kapil__ quit (Quit: Connection closed for inactivity)</td></tr><tr><td><a id="16:01:43" href="#16:01:43" class="time">16:01:43</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M16:01:43" class="msg">and threads which do have full control via the realtime extensions, the .acyclic pragma etc</td></tr><tr><td><a id="16:02:48" href="#16:02:48" class="time">16:02:48</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M16:02:48" class="msg">--gc:none deactivates the GC on a global level and is really your very last option</td></tr><tr><td><a id="16:03:11" href="#16:03:11" class="time">16:03:11</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M16:03:11" class="msg">and many argue the language becomes unusable with it. I beg to differ, but that's another discussion.</td></tr><tr><td><a id="16:03:22" href="#16:03:22" class="time">16:03:22</a></td><td class="nick"><span style="color: #bd93f9">Araq</span></td><td id="M16:03:22" class="msg">see you later</td></tr><tr class="quit"><td><a id="16:05:17" href="#16:05:17" class="time">16:05:17</a></td><td class="nick">*</td><td id="M16:05:17" class="msg">gour quit (Remote host closed the connection)</td></tr><tr class="join"><td><a id="16:08:31" href="#16:08:31" class="time">16:08:31</a></td><td class="nick">*</td><td id="M16:08:31" class="msg">gour joined #nim</td></tr><tr><td><a id="16:08:51" href="#16:08:51" class="time">16:08:51</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M16:08:51" class="msg">If I were to use gc:none, how would I manually manage memory?</td></tr><tr><td><a id="16:10:43" href="#16:10:43" class="time">16:10:43</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M16:10:43" class="msg">akyte: with alloc, createU, alloc0, create, realloc, resize, dealloc, free etc</td></tr><tr class="join"><td><a id="16:19:33" href="#16:19:33" class="time">16:19:33</a></td><td class="nick">*</td><td id="M16:19:33" class="msg">ethycol joined #nim</td></tr><tr class="quit"><td><a id="16:21:10" href="#16:21:10" class="time">16:21:10</a></td><td class="nick">*</td><td id="M16:21:10" class="msg">Matthias247 quit (Read error: Connection reset by peer)</td></tr><tr class="join"><td><a id="16:21:15" href="#16:21:15" class="time">16:21:15</a></td><td class="nick">*</td><td id="M16:21:15" class="msg">VinceAddons joined #nim</td></tr><tr><td><a id="16:21:32" href="#16:21:32" class="time">16:21:32</a></td><td class="nick"><span style="color: #ff5555">akyte</span></td><td id="M16:21:32" class="msg">I imagine I could use memmap through the ffi for demand paging?</td></tr><tr class="join"><td><a id="16:22:57" href="#16:22:57" class="time">16:22:57</a></td><td class="nick">*</td><td id="M16:22:57" class="msg">Matthias247 joined #nim</td></tr><tr><td><a id="16:23:25" href="#16:23:25" class="time">16:23:25</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M16:23:25" class="msg">sure, why not</td></tr><tr class="join"><td><a id="16:28:51" href="#16:28:51" class="time">16:28:51</a></td><td class="nick">*</td><td id="M16:28:51" class="msg">tane joined #nim</td></tr><tr><td><a id="16:33:40" href="#16:33:40" class="time">16:33:40</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M16:33:40" class="msg">uh, that' seems weird dom96 vs rest principals...</td></tr><tr class="quit"><td><a id="16:44:42" href="#16:44:42" class="time">16:44:42</a></td><td class="nick">*</td><td id="M16:44:42" class="msg">kniteli quit (Remote host closed the connection)</td></tr><tr class="join"><td><a id="16:45:37" href="#16:45:37" class="time">16:45:37</a></td><td class="nick">*</td><td id="M16:45:37" class="msg">StefanSalewski joined #nim</td></tr><tr><td><a id="16:48:12" href="#16:48:12" class="time">16:48:12</a></td><td class="nick"><span style="color: #ff79c6">StefanSalewski</span></td><td id="M16:48:12" class="msg">Hello. I wonder if something like "import libmodule(enable_deprectaed = true)" is already supported? Have not seen it in the manual.</td></tr><tr><td><a id="16:48:20" href="#16:48:20" class="time">16:48:20</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M16:48:20" class="msg">how in json can I get the actual value vs JsonNode ?</td></tr><tr><td><a id="16:48:47" href="#16:48:47" class="time">16:48:47</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M16:48:47" class="msg">I do like i.name = js["foo"] where name is string but it borks</td></tr><tr><td><a id="16:49:59" href="#16:49:59" class="time">16:49:59</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M16:49:59" class="msg">StefanSalewski: per-module deprecation notices?</td></tr><tr><td><a id="16:51:06" href="#16:51:06" class="time">16:51:06</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M16:51:06" class="msg">right, you can chose to error on uses of deprecated symbols, right? but I don't know of a way to achieve this</td></tr><tr><td><a id="16:52:05" href="#16:52:05" class="time">16:52:05</a></td><td class="nick"><span style="color: #ff79c6">StefanSalewski</span></td><td id="M16:52:05" class="msg">EXetoC: That was an example. General parameters for imported modules, which we can query by when statement in that module. deprecated enabling is one use case.</td></tr><tr><td><a id="16:53:53" href="#16:53:53" class="time">16:53:53</a></td><td class="nick"><span style="color: #ff79c6">StefanSalewski</span></td><td id="M16:53:53" class="msg">I really think I have seen something like that years ago, maybe in Oberon or Modula variants.. I think that would be really useful.</td></tr><tr class="quit"><td><a id="16:55:40" href="#16:55:40" class="time">16:55:40</a></td><td class="nick">*</td><td id="M16:55:40" class="msg">yeye123 quit (Quit: Leaving)</td></tr><tr><td><a id="16:58:07" href="#16:58:07" class="time">16:58:07</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M16:58:07" class="msg">EXetoC, damn, i forgot that i started building nim. it built successfully</td></tr><tr><td><a id="16:59:29" href="#16:59:29" class="time">16:59:29</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M16:59:29" class="msg">EXetoC, works well. thank you.</td></tr><tr><td><a id="17:00:08" href="#17:00:08" class="time">17:00:08</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M17:00:08" class="msg">EXetoC, but why didn't you continue from the old package??</td></tr><tr class="join"><td><a id="17:00:48" href="#17:00:48" class="time">17:00:48</a></td><td class="nick">*</td><td id="M17:00:48" class="msg">tgkokk joined #nim</td></tr><tr><td><a id="17:02:27" href="#17:02:27" class="time">17:02:27</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:02:27" class="msg">ekarlso-: depends on the type of the JsonNode</td></tr><tr><td><a id="17:02:48" href="#17:02:48" class="time">17:02:48</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:02:48" class="msg"><a href="http://nim-lang.org/json.html#JsonNodeObj">http://nim-lang.org/json.html#JsonNodeObj</a></td></tr><tr><td><a id="17:04:43" href="#17:04:43" class="time">17:04:43</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M17:04:43" class="msg">Is RawFlowVar renamed to FlowVarBase?</td></tr><tr class="join"><td><a id="17:07:06" href="#17:07:06" class="time">17:07:06</a></td><td class="nick">*</td><td id="M17:07:06" class="msg">jefus_ joined #nim</td></tr><tr><td><a id="17:07:14" href="#17:07:14" class="time">17:07:14</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:07:14" class="msg">hmms</td></tr><tr><td><a id="17:07:17" href="#17:07:17" class="time">17:07:17</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:07:17" class="msg">can't I do proc pkg_to_jobject(pkg: Package): JObject = ?</td></tr><tr><td><a id="17:08:36" href="#17:08:36" class="time">17:08:36</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M17:08:36" class="msg">"Nim on Nails"</td></tr><tr><td><a id="17:09:47" href="#17:09:47" class="time">17:09:47</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M17:09:47" class="msg">nim 10.2 isn't on homebrew ?</td></tr><tr class="quit"><td><a id="17:10:55" href="#17:10:55" class="time">17:10:55</a></td><td class="nick">*</td><td id="M17:10:55" class="msg">jefus__ quit (Ping timeout: 256 seconds)</td></tr><tr><td><a id="17:14:16" href="#17:14:16" class="time">17:14:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:14:16" class="msg">ekarlso-: no. You need to use JsonNode.</td></tr><tr><td><a id="17:16:45" href="#17:16:45" class="time">17:16:45</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:16:45" class="msg">dom96: I do that now, but packages.nim(50, 41) Error: type mismatch: got (proc (Package): JsonNode{.gcsafe, locks: 0.}, Package)</td></tr><tr><td><a id="17:17:23" href="#17:17:23" class="time">17:17:23</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:17:23" class="msg">how are you calling it?</td></tr><tr><td><a id="17:17:37" href="#17:17:37" class="time">17:17:37</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:17:37" class="msg">pkg_to_jobject $pkg</td></tr><tr><td><a id="17:18:09" href="#17:18:09" class="time">17:18:09</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:18:09" class="msg">hmmm, what is the diff in proc $foo vs proc($foo) ?</td></tr><tr class="quit"><td><a id="17:19:30" href="#17:19:30" class="time">17:19:30</a></td><td class="nick">*</td><td id="M17:19:30" class="msg">StefanSalewski quit ()</td></tr><tr class="join"><td><a id="17:19:58" href="#17:19:58" class="time">17:19:58</a></td><td class="nick">*</td><td id="M17:19:58" class="msg">rpag joined #nim</td></tr><tr class="quit"><td><a id="17:20:07" href="#17:20:07" class="time">17:20:07</a></td><td class="nick">*</td><td id="M17:20:07" class="msg">rpag quit (Remote host closed the connection)</td></tr><tr><td><a id="17:21:00" href="#17:21:00" class="time">17:21:00</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:21:00" class="msg">I'm not sure what's happening but just use the parens.</td></tr><tr><td><a id="17:24:11" href="#17:24:11" class="time">17:24:11</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M17:24:11" class="msg">BlaXpirit: ok</td></tr><tr class="join"><td><a id="17:24:19" href="#17:24:19" class="time">17:24:19</a></td><td class="nick">*</td><td id="M17:24:19" class="msg">atticusalien joined #nim</td></tr><tr><td><a id="17:24:30" href="#17:24:30" class="time">17:24:30</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M17:24:30" class="msg">continue how? a name change seemed like a good idea, and it'll only happen once</td></tr><tr class="nick"><td><a id="17:27:30" href="#17:27:30" class="time">17:27:30</a></td><td class="nick">*</td><td id="M17:27:30" class="msg">akyte is now known as someguy</td></tr><tr class="quit"><td><a id="17:29:23" href="#17:29:23" class="time">17:29:23</a></td><td class="nick">*</td><td id="M17:29:23" class="msg">atticusalien quit (Read error: Connection reset by peer)</td></tr><tr><td><a id="17:30:05" href="#17:30:05" class="time">17:30:05</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M17:30:05" class="msg">Hm, wouldn't it be nice to have the documentations of all nim libraries up somewhere online?</td></tr><tr class="join"><td><a id="17:33:36" href="#17:33:36" class="time">17:33:36</a></td><td class="nick">*</td><td id="M17:33:36" class="msg">fungos joined #nim</td></tr><tr class="join"><td><a id="17:34:03" href="#17:34:03" class="time">17:34:03</a></td><td class="nick">*</td><td id="M17:34:03" class="msg">MrOrdinaire joined #nim</td></tr><tr class="quit"><td><a id="17:34:17" href="#17:34:17" class="time">17:34:17</a></td><td class="nick">*</td><td id="M17:34:17" class="msg">fungos quit (Remote host closed the connection)</td></tr><tr><td><a id="17:35:12" href="#17:35:12" class="time">17:35:12</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:35:12" class="msg">def-: it would be. ekarlso- should make his packages website do that :)</td></tr><tr><td><a id="17:37:14" href="#17:37:14" class="time">17:37:14</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M17:37:14" class="msg">where is that website?</td></tr><tr><td><a id="17:37:38" href="#17:37:38" class="time">17:37:38</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:37:38" class="msg">he's just started work on it</td></tr><tr><td><a id="17:39:43" href="#17:39:43" class="time">17:39:43</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M17:39:43" class="msg">shouldn't this work? <a href="https://gist.github.com/anonymous/36184715bab25a701588">https://gist.github.com/anonymous/36184715bab25a701588</a></td></tr><tr><td><a id="17:40:38" href="#17:40:38" class="time">17:40:38</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M17:40:38" class="msg">dom96: ok, then I can remove that from my todo list already</td></tr><tr><td><a id="17:41:38" href="#17:41:38" class="time">17:41:38</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:41:38" class="msg">dom96: it would be awesome if u could add DELETE / PUT / PATCH</td></tr><tr class="join"><td><a id="17:42:51" href="#17:42:51" class="time">17:42:51</a></td><td class="nick">*</td><td id="M17:42:51" class="msg">Shoozza joined #nim</td></tr><tr><td><a id="17:42:55" href="#17:42:55" class="time">17:42:55</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M17:42:55" class="msg">just make an official feature request</td></tr><tr><td><a id="17:43:29" href="#17:43:29" class="time">17:43:29</a></td><td class="nick"><span style="color: #bd93f9">onionhammer</span></td><td id="M17:43:29" class="msg">happy new year ;)</td></tr><tr><td><a id="17:44:15" href="#17:44:15" class="time">17:44:15</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:44:15" class="msg">ekarlso-: But why?</td></tr><tr class="quit"><td><a id="17:45:14" href="#17:45:14" class="time">17:45:14</a></td><td class="nick">*</td><td id="M17:45:14" class="msg">tgkokk quit (Ping timeout: 245 seconds)</td></tr><tr><td><a id="17:45:30" href="#17:45:30" class="time">17:45:30</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:45:30" class="msg">dom96: because REST apps etc use that ...</td></tr><tr><td><a id="17:45:40" href="#17:45:40" class="time">17:45:40</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M17:45:40" class="msg">and for a "web" ish library it's typical to have :P</td></tr><tr class="nick"><td><a id="17:46:10" href="#17:46:10" class="time">17:46:10</a></td><td class="nick">*</td><td id="M17:46:10" class="msg">someguy is now known as akyte</td></tr><tr><td><a id="17:46:57" href="#17:46:57" class="time">17:46:57</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:46:57" class="msg">Why does it have to be REST?</td></tr><tr class="quit"><td><a id="17:47:17" href="#17:47:17" class="time">17:47:17</a></td><td class="nick">*</td><td id="M17:47:17" class="msg">jsudlow quit (Remote host closed the connection)</td></tr><tr><td><a id="17:47:30" href="#17:47:30" class="time">17:47:30</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:47:30" class="msg">I will add it, but it might take some time.</td></tr><tr><td><a id="17:47:38" href="#17:47:38" class="time">17:47:38</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:47:38" class="msg">You may wanna make the API non-REST for now.</td></tr><tr class="join"><td><a id="17:50:44" href="#17:50:44" class="time">17:50:44</a></td><td class="nick">*</td><td id="M17:50:44" class="msg">jsudlow joined #nim</td></tr><tr><td><a id="17:52:39" href="#17:52:39" class="time">17:52:39</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:52:39" class="msg">or you can have a go at implementing DELETE/PUT/PATCH yourself :)</td></tr><tr><td><a id="17:53:24" href="#17:53:24" class="time">17:53:24</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M17:53:24" class="msg">nullmove: what results are you getting?</td></tr><tr><td><a id="17:58:06" href="#17:58:06" class="time">17:58:06</a></td><td class="nick"><span style="color: #ff79c6">MrOrdinaire</span></td><td id="M17:58:06" class="msg">does anyone have plans to put Nim on <a href="http://benchmarksgame.alioth.debian.org/?">http://benchmarksgame.alioth.debian.org/?</a></td></tr><tr><td><a id="17:58:39" href="#17:58:39" class="time">17:58:39</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M17:58:39" class="msg">dom96, on ubuntu with 0.10.2, each threads are running one after another</td></tr><tr><td><a id="17:59:12" href="#17:59:12" class="time">17:59:12</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M17:59:12" class="msg">so, sleepsort 5 8 7 outputs 5, 8, 7 in the same order</td></tr><tr><td><a id="17:59:27" href="#17:59:27" class="time">17:59:27</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M17:59:27" class="msg">on windows though it worked as expected</td></tr><tr><td><a id="18:00:27" href="#18:00:27" class="time">18:00:27</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M18:00:27" class="msg"> </td></tr><tr><td><a id="18:01:01" href="#18:01:01" class="time">18:01:01</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M18:01:01" class="msg">dom96: I just figured since u are the one maintaining the web lib :P</td></tr><tr><td><a id="18:01:25" href="#18:01:25" class="time">18:01:25</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M18:01:25" class="msg">ekarlso-: I maintain many things :P</td></tr><tr><td><a id="18:01:27" href="#18:01:27" class="time">18:01:27</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M18:01:27" class="msg">so, if a objects field is not initialized or so</td></tr><tr><td><a id="18:01:33" href="#18:01:33" class="time">18:01:33</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M18:01:33" class="msg">how can one check that ?</td></tr><tr><td><a id="18:04:19" href="#18:04:19" class="time">18:04:19</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M18:04:19" class="msg">ekarlso-: If it's 0, then it may or may not be initialized</td></tr><tr><td><a id="18:04:36" href="#18:04:36" class="time">18:04:36</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M18:04:36" class="msg">if it's != 0, then it's initialized.</td></tr><tr class="quit"><td><a id="18:06:03" href="#18:06:03" class="time">18:06:03</a></td><td class="nick">*</td><td id="M18:06:03" class="msg">flaviu quit (Read error: Connection reset by peer)</td></tr><tr class="quit"><td><a id="18:06:03" href="#18:06:03" class="time">18:06:03</a></td><td class="nick">*</td><td id="M18:06:03" class="msg">Mimbus quit (Read error: Connection reset by peer)</td></tr><tr class="join"><td><a id="18:06:48" href="#18:06:48" class="time">18:06:48</a></td><td class="nick">*</td><td id="M18:06:48" class="msg">Mimbus joined #nim</td></tr><tr class="quit"><td><a id="18:07:20" href="#18:07:20" class="time">18:07:20</a></td><td class="nick">*</td><td id="M18:07:20" class="msg">FreezerburnV quit (Quit: FreezerburnV)</td></tr><tr class="join"><td><a id="18:08:26" href="#18:08:26" class="time">18:08:26</a></td><td class="nick">*</td><td id="M18:08:26" class="msg">flaviu joined #nim</td></tr><tr class="quit"><td><a id="18:10:41" href="#18:10:41" class="time">18:10:41</a></td><td class="nick">*</td><td id="M18:10:41" class="msg">MrOrdinaire quit ()</td></tr><tr><td><a id="18:12:18" href="#18:12:18" class="time">18:12:18</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:12:18" class="msg">how do I debug nim programs?</td></tr><tr><td><a id="18:13:55" href="#18:13:55" class="time">18:13:55</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M18:13:55" class="msg">MyMind: gdb works, although some identifiers are mangled</td></tr><tr><td><a id="18:14:09" href="#18:14:09" class="time">18:14:09</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M18:14:09" class="msg">--embedSrc --linedir:on --debugInfo</td></tr><tr><td><a id="18:14:32" href="#18:14:32" class="time">18:14:32</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M18:14:32" class="msg">well, `--embedSrc` doesn't do anything useful in this case</td></tr><tr><td><a id="18:14:33" href="#18:14:33" class="time">18:14:33</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:14:33" class="msg">ah</td></tr><tr><td><a id="18:18:26" href="#18:18:26" class="time">18:18:26</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:18:26" class="msg">lldb works as well?</td></tr><tr><td><a id="18:18:48" href="#18:18:48" class="time">18:18:48</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:18:48" class="msg">osx doesn't come with gdb anymore</td></tr><tr><td><a id="18:19:50" href="#18:19:50" class="time">18:19:50</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:19:50" class="msg">it looks like</td></tr><tr><td><a id="18:19:52" href="#18:19:52" class="time">18:19:52</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:19:52" class="msg">nvm</td></tr><tr><td><a id="18:19:54" href="#18:19:54" class="time">18:19:54</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M18:19:54" class="msg">:D</td></tr><tr class="join"><td><a id="18:20:03" href="#18:20:03" class="time">18:20:03</a></td><td class="nick">*</td><td id="M18:20:03" class="msg">Demos joined #nim</td></tr><tr class="quit"><td><a id="18:20:04" href="#18:20:04" class="time">18:20:04</a></td><td class="nick">*</td><td id="M18:20:04" class="msg">gokr1 quit (Quit: Leaving.)</td></tr><tr><td><a id="18:20:13" href="#18:20:13" class="time">18:20:13</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M18:20:13" class="msg">nullmove: bug report then please</td></tr><tr><td><a id="18:20:27" href="#18:20:27" class="time">18:20:27</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M18:20:27" class="msg">EXetoC, there is a comment under nimrod-random</td></tr><tr><td><a id="18:21:10" href="#18:21:10" class="time">18:21:10</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M18:21:10" class="msg">waoejg</td></tr><tr><td><a id="18:21:12" href="#18:21:12" class="time">18:21:12</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M18:21:12" class="msg">i mean</td></tr><tr><td><a id="18:21:19" href="#18:21:19" class="time">18:21:19</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M18:21:19" class="msg">EXetoC, there is a comment under nimrod-git</td></tr><tr class="join"><td><a id="18:28:04" href="#18:28:04" class="time">18:28:04</a></td><td class="nick">*</td><td id="M18:28:04" class="msg">cir0x joined #nim</td></tr><tr class="join"><td><a id="18:30:48" href="#18:30:48" class="time">18:30:48</a></td><td class="nick">*</td><td id="M18:30:48" class="msg">cir0x1 joined #nim</td></tr><tr class="join"><td><a id="18:31:43" href="#18:31:43" class="time">18:31:43</a></td><td class="nick">*</td><td id="M18:31:43" class="msg">gokr1 joined #nim</td></tr><tr class="join"><td><a id="18:31:45" href="#18:31:45" class="time">18:31:45</a></td><td class="nick">*</td><td id="M18:31:45" class="msg">fold joined #nim</td></tr><tr class="quit"><td><a id="18:33:44" href="#18:33:44" class="time">18:33:44</a></td><td class="nick">*</td><td id="M18:33:44" class="msg">cir0x quit (Ping timeout: 264 seconds)</td></tr><tr class="quit"><td><a id="18:38:40" href="#18:38:40" class="time">18:38:40</a></td><td class="nick">*</td><td id="M18:38:40" class="msg">cir0x1 quit (Quit: Leaving.)</td></tr><tr class="join"><td><a id="18:39:49" href="#18:39:49" class="time">18:39:49</a></td><td class="nick">*</td><td id="M18:39:49" class="msg">cir0x joined #nim</td></tr><tr class="join"><td><a id="18:43:03" href="#18:43:03" class="time">18:43:03</a></td><td class="nick">*</td><td id="M18:43:03" class="msg">repax joined #nim</td></tr><tr class="quit"><td><a id="18:57:06" href="#18:57:06" class="time">18:57:06</a></td><td class="nick">*</td><td id="M18:57:06" class="msg">saml_ quit (Quit: Leaving)</td></tr><tr class="quit"><td><a id="18:58:03" href="#18:58:03" class="time">18:58:03</a></td><td class="nick">*</td><td id="M18:58:03" class="msg">Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)</td></tr><tr class="join"><td><a id="19:00:22" href="#19:00:22" class="time">19:00:22</a></td><td class="nick">*</td><td id="M19:00:22" class="msg">alexruf joined #nim</td></tr><tr class="join"><td><a id="19:01:29" href="#19:01:29" class="time">19:01:29</a></td><td class="nick">*</td><td id="M19:01:29" class="msg">Ven joined #nim</td></tr><tr><td><a id="19:03:26" href="#19:03:26" class="time">19:03:26</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:03:26" class="msg">Hi, just wanted to ask is somebody knows if there is a Mac homebrew formula for nim 0.10.2. Just found an old one for nimrod.</td></tr><tr><td><a id="19:06:42" href="#19:06:42" class="time">19:06:42</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:06:42" class="msg">alexruf, I recommend that you use the current devel branch version instead</td></tr><tr><td><a id="19:07:00" href="#19:07:00" class="time">19:07:00</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:07:00" class="msg">alexruf, from github</td></tr><tr><td><a id="19:07:47" href="#19:07:47" class="time">19:07:47</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:07:47" class="msg">development branch because it's changing mich stuff at the moment ?</td></tr><tr><td><a id="19:08:26" href="#19:08:26" class="time">19:08:26</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:08:26" class="msg">no, I have not had any problems with things changing too much under devel</td></tr><tr><td><a id="19:08:45" href="#19:08:45" class="time">19:08:45</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:08:45" class="msg">I just like to keep up with the latest</td></tr><tr><td><a id="19:09:40" href="#19:09:40" class="time">19:09:40</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:09:40" class="msg">homebrew is generally a mess imho, lagging behind all projects</td></tr><tr><td><a id="19:09:42" href="#19:09:42" class="time">19:09:42</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:09:42" class="msg">thats fine, just want to use homebrew for installation on my mac because its easier to keept things up to date</td></tr><tr><td><a id="19:10:27" href="#19:10:27" class="time">19:10:27</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:10:27" class="msg">hmm depends. most formulas are up to date</td></tr><tr class="join"><td><a id="19:10:49" href="#19:10:49" class="time">19:10:49</a></td><td class="nick">*</td><td id="M19:10:49" class="msg">adelq joined #nim</td></tr><tr><td><a id="19:11:03" href="#19:11:03" class="time">19:11:03</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:11:03" class="msg">perhaps so. It was a while ago since I last used it</td></tr><tr class="join"><td><a id="19:12:17" href="#19:12:17" class="time">19:12:17</a></td><td class="nick">*</td><td id="M19:12:17" class="msg">superfunc joined #nim</td></tr><tr><td><a id="19:12:57" href="#19:12:57" class="time">19:12:57</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:12:57" class="msg">i guess the maintainer of the nimrod formula didn't recognice that it was renamed to nim</td></tr><tr class="join"><td><a id="19:14:41" href="#19:14:41" class="time">19:14:41</a></td><td class="nick">*</td><td id="M19:14:41" class="msg">Forty-3 joined #nim</td></tr><tr><td><a id="19:15:04" href="#19:15:04" class="time">19:15:04</a></td><td class="nick"><span style="color: #f1fa8c">adelq</span></td><td id="M19:15:04" class="msg">Happy New Year everyone!</td></tr><tr><td><a id="19:15:09" href="#19:15:09" class="time">19:15:09</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:15:09" class="msg">I like to use tabs for indentation; is it possible to create a macro which converts tabs to spaces before compilation?</td></tr><tr class="join"><td><a id="19:15:13" href="#19:15:13" class="time">19:15:13</a></td><td class="nick">*</td><td id="M19:15:13" class="msg">Varriount|Mobile joined #nim</td></tr><tr><td><a id="19:15:19" href="#19:15:19" class="time">19:15:19</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:15:19" class="msg">Meep:-)</td></tr><tr><td><a id="19:15:57" href="#19:15:57" class="time">19:15:57</a></td><td class="nick"><span style="color: #ff79c6">gokr1</span></td><td id="M19:15:57" class="msg">alexruf: <a href="http://forum.nimrod-lang.org/t/675">http://forum.nimrod-lang.org/t/675</a></td></tr><tr><td><a id="19:17:00" href="#19:17:00" class="time">19:17:00</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:17:00" class="msg">Forty-3, configure your editor to insert spaces for tabs</td></tr><tr><td><a id="19:17:21" href="#19:17:21" class="time">19:17:21</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M19:17:21" class="msg">gokr1: thanks alot</td></tr><tr><td><a id="19:17:24" href="#19:17:24" class="time">19:17:24</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:17:24" class="msg">I do not want to do that as it would pollute existing codebases</td></tr><tr><td><a id="19:17:36" href="#19:17:36" class="time">19:17:36</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:17:36" class="msg">flaviu, do you maybe know how to diagnose segmentation fault?</td></tr><tr><td><a id="19:18:34" href="#19:18:34" class="time">19:18:34</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:18:34" class="msg">BlaXpirit: -fsanitize</td></tr><tr><td><a id="19:18:40" href="#19:18:40" class="time">19:18:40</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:18:40" class="msg">also, try running it in gdb</td></tr><tr><td><a id="19:18:50" href="#19:18:50" class="time">19:18:50</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:18:50" class="msg">there you can run `bt` and get a stack trace</td></tr><tr><td><a id="19:19:13" href="#19:19:13" class="time">19:19:13</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:19:13" class="msg">flaviu, is there a typo in that flag?</td></tr><tr><td><a id="19:19:32" href="#19:19:32" class="time">19:19:32</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:19:32" class="msg">no, but it's incomplete and also meant for clang</td></tr><tr><td><a id="19:19:39" href="#19:19:39" class="time">19:19:39</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:19:39" class="msg">--passC:-fsanitize=address</td></tr><tr><td><a id="19:19:43" href="#19:19:43" class="time">19:19:43</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:19:43" class="msg">oh.</td></tr><tr><td><a id="19:19:45" href="#19:19:45" class="time">19:19:45</a></td><td class="nick"><span style="color: #f1fa8c">adelq</span></td><td id="M19:19:45" class="msg">I'm trying to write tests for my library, but the import isn't working as expected - I'm getting the following error trace: <a href="http://pastebin.com/jr9TK47Q">http://pastebin.com/jr9TK47Q</a></td></tr><tr class="quit"><td><a id="19:19:46" href="#19:19:46" class="time">19:19:46</a></td><td class="nick">*</td><td id="M19:19:46" class="msg">dts|pokeball quit (Ping timeout: 250 seconds)</td></tr><tr><td><a id="19:19:47" href="#19:19:47" class="time">19:19:47</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:19:47" class="msg">if you set up your compiler as clang only</td></tr><tr><td><a id="19:19:52" href="#19:19:52" class="time">19:19:52</a></td><td class="nick"><span style="color: #f1fa8c">jh32</span></td><td id="M19:19:52" class="msg">happy new year</td></tr><tr><td><a id="19:19:59" href="#19:19:59" class="time">19:19:59</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:19:59" class="msg">is it possible to have an implicit conversion of tabs to spaces?</td></tr><tr><td><a id="19:20:14" href="#19:20:14" class="time">19:20:14</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:20:14" class="msg">Forty-3, the tab character is forbidden</td></tr><tr><td><a id="19:20:17" href="#19:20:17" class="time">19:20:17</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:20:17" class="msg">I know</td></tr><tr><td><a id="19:20:25" href="#19:20:25" class="time">19:20:25</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:20:25" class="msg">which is wh I want to replace it with spaces</td></tr><tr><td><a id="19:20:31" href="#19:20:31" class="time">19:20:31</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:20:31" class="msg">Forty-3: Try patching the parser</td></tr><tr><td><a id="19:20:54" href="#19:20:54" class="time">19:20:54</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:20:54" class="msg">flaviu: that means having to re-merge every time I want to update</td></tr><tr><td><a id="19:21:11" href="#19:21:11" class="time">19:21:11</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:21:11" class="msg">it's not really that much work though</td></tr><tr><td><a id="19:21:23" href="#19:21:23" class="time">19:21:23</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:21:23" class="msg">create a personal preprocessor</td></tr><tr><td><a id="19:21:29" href="#19:21:29" class="time">19:21:29</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:21:29" class="msg">The grammer is pretty stable, so conflicts shouldn't happen much</td></tr><tr><td><a id="19:21:29" href="#19:21:29" class="time">19:21:29</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:21:29" class="msg">Forty-3, an option is, obviously, to run it through something before compilation</td></tr><tr><td><a id="19:21:36" href="#19:21:36" class="time">19:21:36</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:21:36" class="msg">basicallt what repax said</td></tr><tr><td><a id="19:21:50" href="#19:21:50" class="time">19:21:50</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:21:50" class="msg">BlaXpirit: yes, but I was wondering if I could do it in nim</td></tr><tr><td><a id="19:21:54" href="#19:21:54" class="time">19:21:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:21:54" class="msg">Forty-3: Can't you configure your editor to only use spaces for Nim files?</td></tr><tr><td><a id="19:24:35" href="#19:24:35" class="time">19:24:35</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:24:35" class="msg">Forty-3: <a href="https://gist.github.com/flaviut/c8760418076826d82613">https://gist.github.com/flaviut/c8760418076826d82613</a></td></tr><tr><td><a id="19:24:54" href="#19:24:54" class="time">19:24:54</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:24:54" class="msg">I haven't actually tested it, but it should work</td></tr><tr><td><a id="19:24:57" href="#19:24:57" class="time">19:24:57</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:24:57" class="msg">flaviu: thanks</td></tr><tr><td><a id="19:25:40" href="#19:25:40" class="time">19:25:40</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:25:40" class="msg">Forty-3: You can use a source filter to convert tabs to spaces...</td></tr><tr><td><a id="19:25:43" href="#19:25:43" class="time">19:25:43</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:25:43" class="msg">flaviu, so I ran it in GDB and saw name of the proc where SIGSEGV happened</td></tr><tr><td><a id="19:25:48" href="#19:25:48" class="time">19:25:48</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:25:48" class="msg">(i'm interfacing C code btw)</td></tr><tr><td><a id="19:25:59" href="#19:25:59" class="time">19:25:59</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:25:59" class="msg">but I'm afraid the cause is somewhere else</td></tr><tr><td><a id="19:26:07" href="#19:26:07" class="time">19:26:07</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:26:07" class="msg">Varriount: what do you mean by that?</td></tr><tr><td><a id="19:26:16" href="#19:26:16" class="time">19:26:16</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:26:16" class="msg">because the code runs fine multiple times until i do a completely unrelated action</td></tr><tr><td><a id="19:26:20" href="#19:26:20" class="time">19:26:20</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:26:20" class="msg">BlaXpirit: Was it a null pointer, or was it a use-after-free?</td></tr><tr><td><a id="19:26:47" href="#19:26:47" class="time">19:26:47</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:26:47" class="msg">flaviu, I don't know</td></tr><tr><td><a id="19:27:14" href="#19:27:14" class="time">19:27:14</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:27:14" class="msg">-fsanitize=address can help you track down use-after-free problems</td></tr><tr><td><a id="19:27:17" href="#19:27:17" class="time">19:27:17</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:27:17" class="msg">Forty-3: Add '#! replace("\t", " ")' to the top of your file</td></tr><tr class="join"><td><a id="19:27:23" href="#19:27:23" class="time">19:27:23</a></td><td class="nick">*</td><td id="M19:27:23" class="msg">tgkokk joined #nim</td></tr><tr class="quit"><td><a id="19:27:29" href="#19:27:29" class="time">19:27:29</a></td><td class="nick">*</td><td id="M19:27:29" class="msg">Forty-3 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)</td></tr><tr><td><a id="19:27:32" href="#19:27:32" class="time">19:27:32</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:27:32" class="msg">Varriount|Mobile, :o</td></tr><tr class="join"><td><a id="19:27:53" href="#19:27:53" class="time">19:27:53</a></td><td class="nick">*</td><td id="M19:27:53" class="msg">Forty-3 joined #nim</td></tr><tr><td><a id="19:27:59" href="#19:27:59" class="time">19:27:59</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:27:59" class="msg">stupid terminal >.></td></tr><tr><td><a id="19:28:16" href="#19:28:16" class="time">19:28:16</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:28:16" class="msg">Forty-3: Add '#! replace("\t", " ")' to the top of your file</td></tr><tr><td><a id="19:28:23" href="#19:28:23" class="time">19:28:23</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:28:23" class="msg">Varriount: thanks, that works :D</td></tr><tr><td><a id="19:29:29" href="#19:29:29" class="time">19:29:29</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:29:29" class="msg">Forty-3: Just don't let hard-core nimsters see you use that, else an angry honey badger will be shipped to you</td></tr><tr><td><a id="19:29:36" href="#19:29:36" class="time">19:29:36</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M19:29:36" class="msg">>.></td></tr><tr><td><a id="19:30:41" href="#19:30:41" class="time">19:30:41</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:30:41" class="msg">Varriount|Mobile: cool, didn't know source code filters were that flexible.</td></tr><tr><td><a id="19:30:54" href="#19:30:54" class="time">19:30:54</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:30:54" class="msg">Also, it replaces all tabstops in the module, not just ones used for indentation</td></tr><tr><td><a id="19:32:06" href="#19:32:06" class="time">19:32:06</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:32:06" class="msg">dom96: Have you seen the new HN article for Nim?</td></tr><tr><td><a id="19:32:16" href="#19:32:16" class="time">19:32:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:32:16" class="msg">Varriount|Mobile: yeah</td></tr><tr><td><a id="19:32:52" href="#19:32:52" class="time">19:32:52</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:32:52" class="msg">Will 2015 be the year of Nim? :O</td></tr><tr><td><a id="19:33:00" href="#19:33:00" class="time">19:33:00</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:33:00" class="msg">Someone actually posted a comment questioning why Wikipedia wouldn't allow Nim an article.</td></tr><tr><td><a id="19:33:32" href="#19:33:32" class="time">19:33:32</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:33:32" class="msg">It brought a tear to my eye</td></tr><tr><td><a id="19:34:15" href="#19:34:15" class="time">19:34:15</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:34:15" class="msg">Happy new year everyone</td></tr><tr><td><a id="19:35:09" href="#19:35:09" class="time">19:35:09</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:35:09" class="msg">Varriount|Mobile: I'm really tempted to write an article about this.</td></tr><tr><td><a id="19:35:40" href="#19:35:40" class="time">19:35:40</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:35:40" class="msg">dom96: Doooo eeeet</td></tr><tr><td><a id="19:35:48" href="#19:35:48" class="time">19:35:48</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:35:48" class="msg">"On Wikipedia and its shitty notability rules"</td></tr><tr><td><a id="19:35:56" href="#19:35:56" class="time">19:35:56</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:35:56" class="msg">flaviu, I see SIGSEGV: Illegal storage access. removing the code called out by gdb makes the problem appear in the next line of code. also, removing unrelated parts of code fixes problems in other places.</td></tr><tr><td><a id="19:36:17" href="#19:36:17" class="time">19:36:17</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:36:17" class="msg">dom96: Don't.</td></tr><tr><td><a id="19:36:24" href="#19:36:24" class="time">19:36:24</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:36:24" class="msg">flaviu: why?</td></tr><tr><td><a id="19:36:25" href="#19:36:25" class="time">19:36:25</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:36:25" class="msg">any directions with clang? google gives nothing, as usual</td></tr><tr><td><a id="19:36:27" href="#19:36:27" class="time">19:36:27</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:36:27" class="msg">That's rude and makes you, not wikipedia look bad.</td></tr><tr><td><a id="19:36:34" href="#19:36:34" class="time">19:36:34</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:36:34" class="msg">BlaXpirit: Sounds like memory corruption</td></tr><tr><td><a id="19:36:54" href="#19:36:54" class="time">19:36:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:36:54" class="msg">flaviu: I would probably use a nicer title.</td></tr><tr><td><a id="19:36:56" href="#19:36:56" class="time">19:36:56</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:36:56" class="msg">It is silly, because I've seen some really obscure languages there, like idris</td></tr><tr><td><a id="19:37:04" href="#19:37:04" class="time">19:37:04</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:37:04" class="msg">superfunc: indeed</td></tr><tr><td><a id="19:37:19" href="#19:37:19" class="time">19:37:19</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:37:19" class="msg">so... why don't you recreate the page?</td></tr><tr><td><a id="19:37:29" href="#19:37:29" class="time">19:37:29</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:37:29" class="msg">Our community is equally active and just as large, I know because I'm doing dependent type research now lol</td></tr><tr><td><a id="19:37:34" href="#19:37:34" class="time">19:37:34</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:37:34" class="msg">superfunc: of course WP doesn't consider that a valid argument <a href="https://en.wikipedia.org/wiki/Wikipedia:Other_stuff_exists">https://en.wikipedia.org/wiki/Wikipedia:Other_stuff_exists</a></td></tr><tr><td><a id="19:37:54" href="#19:37:54" class="time">19:37:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:37:54" class="msg">BlaXpirit: Because it'll get rejected again</td></tr><tr><td><a id="19:38:03" href="#19:38:03" class="time">19:38:03</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:38:03" class="msg">BlaXpirit: Because they'll get tired of reremoving it and just lock the page.</td></tr><tr><td><a id="19:38:15" href="#19:38:15" class="time">19:38:15</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:38:15" class="msg">We have no reliable non-primary sources.</td></tr><tr><td><a id="19:38:19" href="#19:38:19" class="time">19:38:19</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:38:19" class="msg">If we can get an article written about nim somewhere outside the blogosphere, that might do it</td></tr><tr><td><a id="19:38:28" href="#19:38:28" class="time">19:38:28</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:38:28" class="msg">And then any further arguments as to why it should be kept become even harder</td></tr><tr><td><a id="19:38:37" href="#19:38:37" class="time">19:38:37</a></td><td class="nick"><span style="color: #6272a4">repax</span></td><td id="M19:38:37" class="msg">drdobbs?</td></tr><tr><td><a id="19:38:45" href="#19:38:45" class="time">19:38:45</a></td><td class="nick"><span style="color: #ff5555">Varriount|Mobile</span></td><td id="M19:38:45" class="msg">dom96: Although I note that page says that it isn't a Wikipedia policy</td></tr><tr><td><a id="19:38:47" href="#19:38:47" class="time">19:38:47</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:38:47" class="msg">Just closed their doors</td></tr><tr class="quit"><td><a id="19:38:59" href="#19:38:59" class="time">19:38:59</a></td><td class="nick">*</td><td id="M19:38:59" class="msg">adelq quit (Quit: Page closed)</td></tr><tr><td><a id="19:39:01" href="#19:39:01" class="time">19:39:01</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:39:01" class="msg">repax: That was written by Araq so it's primary.</td></tr><tr><td><a id="19:39:15" href="#19:39:15" class="time">19:39:15</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:39:15" class="msg">BlaXpirit: Looks like --cc:clang might work</td></tr><tr><td><a id="19:39:16" href="#19:39:16" class="time">19:39:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:39:16" class="msg">Even though I doubt Dr Dobbs would publish false content.</td></tr><tr class="quit"><td><a id="19:39:27" href="#19:39:27" class="time">19:39:27</a></td><td class="nick">*</td><td id="M19:39:27" class="msg">tgkokk quit (Ping timeout: 245 seconds)</td></tr><tr><td><a id="19:40:24" href="#19:40:24" class="time">19:40:24</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:40:24" class="msg">flaviu, now it fails immediately... which is nice, i suppose :p</td></tr><tr class="quit"><td><a id="19:40:28" href="#19:40:28" class="time">19:40:28</a></td><td class="nick">*</td><td id="M19:40:28" class="msg">cir0x quit (Quit: Leaving.)</td></tr><tr><td><a id="19:40:41" href="#19:40:41" class="time">19:40:41</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:40:41" class="msg">BlaXpirit: Can you elaborate on the failure?</td></tr><tr><td><a id="19:40:54" href="#19:40:54" class="time">19:40:54</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:40:54" class="msg">"Error: execution of an external program failed; rerun with --parallelBuild:1 to see the error message"</td></tr><tr><td><a id="19:40:56" href="#19:40:56" class="time">19:40:56</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:40:56" class="msg">Best chance would be to talk to people who wrote prominent articles on D</td></tr><tr><td><a id="19:41:05" href="#19:41:05" class="time">19:41:05</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:41:05" class="msg">BlaXpirit: do that, see what happens</td></tr><tr><td><a id="19:41:16" href="#19:41:16" class="time">19:41:16</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:41:16" class="msg">I think there was one in wired, or something equivalent</td></tr><tr><td><a id="19:41:18" href="#19:41:18" class="time">19:41:18</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:41:18" class="msg">oh sh: clang: command not found xD</td></tr><tr class="join"><td><a id="19:41:33" href="#19:41:33" class="time">19:41:33</a></td><td class="nick">*</td><td id="M19:41:33" class="msg">aaaa joined #nim</td></tr><tr><td><a id="19:41:45" href="#19:41:45" class="time">19:41:45</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:41:45" class="msg">superfunc: perhaps we should email wired asking them to do a piece on Nim</td></tr><tr><td><a id="19:42:22" href="#19:42:22" class="time">19:42:22</a></td><td class="nick"><span style="color: #ffb86c">superfunc</span></td><td id="M19:42:22" class="msg">I'd be happy to send some emails out tonight</td></tr><tr><td><a id="19:42:57" href="#19:42:57" class="time">19:42:57</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M19:42:57" class="msg">do it</td></tr><tr><td><a id="19:43:12" href="#19:43:12" class="time">19:43:12</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:43:12" class="msg">:o it fails in exactly the same way with clang</td></tr><tr><td><a id="19:43:29" href="#19:43:29" class="time">19:43:29</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:43:29" class="msg">BlaXpirit: Yes, that's why you need to try some fsanitize flags</td></tr><tr class="quit"><td><a id="19:43:36" href="#19:43:36" class="time">19:43:36</a></td><td class="nick">*</td><td id="M19:43:36" class="msg">gokr1 quit (Quit: Leaving.)</td></tr><tr><td><a id="19:44:17" href="#19:44:17" class="time">19:44:17</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:44:17" class="msg">ok NOW it doesn't run and gives a ton of messages.</td></tr><tr><td><a id="19:45:07" href="#19:45:07" class="time">19:45:07</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:45:07" class="msg">full terminal buffer of messages</td></tr><tr><td><a id="19:45:49" href="#19:45:49" class="time">19:45:49</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:45:49" class="msg">almost all "undefined refence" «__asan_report_store8» and others</td></tr><tr><td><a id="19:46:10" href="#19:46:10" class="time">19:46:10</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:46:10" class="msg">try another fsanitize flag, it looks like that one requires runtime support</td></tr><tr><td><a id="19:46:32" href="#19:46:32" class="time">19:46:32</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:46:32" class="msg">I can't figure out how to get that on arch linux without spending hours compiling clang.</td></tr><tr><td><a id="19:52:36" href="#19:52:36" class="time">19:52:36</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:52:36" class="msg">all the flags i try give me some random __asan __ubsan stuff</td></tr><tr class="join"><td><a id="19:53:12" href="#19:53:12" class="time">19:53:12</a></td><td class="nick">*</td><td id="M19:53:12" class="msg">tani joined #nim</td></tr><tr><td><a id="19:53:26" href="#19:53:26" class="time">19:53:26</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:53:26" class="msg">try installing llvm-libs, I dunno</td></tr><tr><td><a id="19:53:45" href="#19:53:45" class="time">19:53:45</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:53:45" class="msg">present</td></tr><tr><td><a id="19:55:29" href="#19:55:29" class="time">19:55:29</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M19:55:29" class="msg">I don't know where the problem is, sorry.</td></tr><tr><td><a id="19:56:26" href="#19:56:26" class="time">19:56:26</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:56:26" class="msg">ok, thank you</td></tr><tr class="quit"><td><a id="19:57:02" href="#19:57:02" class="time">19:57:02</a></td><td class="nick">*</td><td id="M19:57:02" class="msg">tane quit (Ping timeout: 250 seconds)</td></tr><tr><td><a id="19:58:54" href="#19:58:54" class="time">19:58:54</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:58:54" class="msg">daaamn</td></tr><tr><td><a id="19:58:58" href="#19:58:58" class="time">19:58:58</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:58:58" class="msg">what if i have the wrong bool</td></tr><tr><td><a id="19:59:12" href="#19:59:12" class="time">19:59:12</a></td><td class="nick"><span style="color: #f1fa8c">BlaXpirit</span></td><td id="M19:59:12" class="msg">nah</td></tr><tr class="quit"><td><a id="20:00:04" href="#20:00:04" class="time">20:00:04</a></td><td class="nick">*</td><td id="M20:00:04" class="msg">nullmove quit (Quit: Leaving)</td></tr><tr class="join"><td><a id="20:00:45" href="#20:00:45" class="time">20:00:45</a></td><td class="nick">*</td><td id="M20:00:45" class="msg">soler_ joined #nim</td></tr><tr class="quit"><td><a id="20:00:48" href="#20:00:48" class="time">20:00:48</a></td><td class="nick">*</td><td id="M20:00:48" class="msg">Jesin quit (Quit: Leaving)</td></tr><tr class="quit"><td><a id="20:01:24" href="#20:01:24" class="time">20:01:24</a></td><td class="nick">*</td><td id="M20:01:24" class="msg">Varriount|Mobile quit (Read error: Connection reset by peer)</td></tr><tr class="join"><td><a id="20:01:40" href="#20:01:40" class="time">20:01:40</a></td><td class="nick">*</td><td id="M20:01:40" class="msg">Varriount|Mobile joined #nim</td></tr><tr class="quit"><td><a id="20:02:12" href="#20:02:12" class="time">20:02:12</a></td><td class="nick">*</td><td id="M20:02:12" class="msg">soler_ quit (Client Quit)</td></tr><tr class="join"><td><a id="20:02:38" href="#20:02:38" class="time">20:02:38</a></td><td class="nick">*</td><td id="M20:02:38" class="msg">BlaXpirit_ joined #nim</td></tr><tr class="quit"><td><a id="20:02:38" href="#20:02:38" class="time">20:02:38</a></td><td class="nick">*</td><td id="M20:02:38" class="msg">Varriount|Mobile quit (Read error: Connection reset by peer)</td></tr><tr class="join"><td><a id="20:02:46" href="#20:02:46" class="time">20:02:46</a></td><td class="nick">*</td><td id="M20:02:46" class="msg">Var|Mobile joined #nim</td></tr><tr class="join"><td><a id="20:03:37" href="#20:03:37" class="time">20:03:37</a></td><td class="nick">*</td><td id="M20:03:37" class="msg">tgkokk joined #nim</td></tr><tr class="nick"><td><a id="20:04:36" href="#20:04:36" class="time">20:04:36</a></td><td class="nick">*</td><td id="M20:04:36" class="msg">tani is now known as tane</td></tr><tr><td><a id="20:04:48" href="#20:04:48" class="time">20:04:48</a></td><td class="nick"><span style="color: #bd93f9">reactormonk</span></td><td id="M20:04:48" class="msg">def-, nice post</td></tr><tr class="join"><td><a id="20:04:57" href="#20:04:57" class="time">20:04:57</a></td><td class="nick">*</td><td id="M20:04:57" class="msg">Jesin joined #nim</td></tr><tr class="quit"><td><a id="20:05:59" href="#20:05:59" class="time">20:05:59</a></td><td class="nick">*</td><td id="M20:05:59" class="msg">BlaXpirit quit (Ping timeout: 265 seconds)</td></tr><tr><td><a id="20:06:04" href="#20:06:04" class="time">20:06:04</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M20:06:04" class="msg">reactormonk: thanks!</td></tr><tr class="join"><td><a id="20:07:46" href="#20:07:46" class="time">20:07:46</a></td><td class="nick">*</td><td id="M20:07:46" class="msg">gsingh93 joined #nim</td></tr><tr><td><a id="20:08:32" href="#20:08:32" class="time">20:08:32</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:08:32" class="msg">so i'm pretty sure it was typedef int sfBool;</td></tr><tr><td><a id="20:09:30" href="#20:09:30" class="time">20:09:30</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:09:30" class="msg">yeah, for sure</td></tr><tr class="join"><td><a id="20:10:05" href="#20:10:05" class="time">20:10:05</a></td><td class="nick">*</td><td id="M20:10:05" class="msg">dts|pokeball joined #nim</td></tr><tr><td><a id="20:10:37" href="#20:10:37" class="time">20:10:37</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:10:37" class="msg">this other guy whom I don't wanna ping too much used bool instead of cint, but only in places where it's "safe", and I didn't notice that in other places it is not allowed</td></tr><tr class="join"><td><a id="20:10:52" href="#20:10:52" class="time">20:10:52</a></td><td class="nick">*</td><td id="M20:10:52" class="msg">willwillson joined #nim</td></tr><tr class="join"><td><a id="20:13:37" href="#20:13:37" class="time">20:13:37</a></td><td class="nick">*</td><td id="M20:13:37" class="msg">nullmove joined #nim</td></tr><tr class="quit"><td><a id="20:14:18" href="#20:14:18" class="time">20:14:18</a></td><td class="nick">*</td><td id="M20:14:18" class="msg">BillsPC quit (Remote host closed the connection)</td></tr><tr class="join"><td><a id="20:15:41" href="#20:15:41" class="time">20:15:41</a></td><td class="nick">*</td><td id="M20:15:41" class="msg">don_alfredo joined #nim</td></tr><tr class="join"><td><a id="20:16:24" href="#20:16:24" class="time">20:16:24</a></td><td class="nick">*</td><td id="M20:16:24" class="msg">brson joined #nim</td></tr><tr><td><a id="20:16:35" href="#20:16:35" class="time">20:16:35</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:16:35" class="msg">I am confused as to what <a href="https://github.com/Araq/Nim/issues/557">https://github.com/Araq/Nim/issues/557</a> does</td></tr><tr><td><a id="20:17:19" href="#20:17:19" class="time">20:17:19</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:17:19" class="msg">Forty-3, anonymous function</td></tr><tr><td><a id="20:17:39" href="#20:17:39" class="time">20:17:39</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:17:39" class="msg">.eval type Bool32 = distinct cint;converter toBool(x: Bool32): bool = return x != 0;var a = Bool32(1);if a: echo 'ok'</td></tr><tr><td><a id="20:17:43" href="#20:17:43" class="time">20:17:43</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:17:43" class="msg">BlaXpirit_: eval.nim(4, 45) Error: type mismatch: got (Bool32, int literal(0))</td></tr><tr class="quit"><td><a id="20:17:43" href="#20:17:43" class="time">20:17:43</a></td><td class="nick">*</td><td id="M20:17:43" class="msg">Mimbus quit (Excess Flood)</td></tr><tr><td><a id="20:17:44" href="#20:17:44" class="time">20:17:44</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:17:44" class="msg">when I do something like var x = (proc() = echo("hello!")) x() it compiles fine</td></tr><tr class="join"><td><a id="20:17:49" href="#20:17:49" class="time">20:17:49</a></td><td class="nick">*</td><td id="M20:17:49" class="msg">Mimbus joined #nim</td></tr><tr><td><a id="20:17:56" href="#20:17:56" class="time">20:17:56</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:17:56" class="msg">Greetings Nimsters. I've been reading the tutorial and could not find a way of invoking a varargs proc with, say, a seq or an array – all examples out there were calling such procs with an explicit list of params like (1, 2, 3)</td></tr><tr><td><a id="20:17:59" href="#20:17:59" class="time">20:17:59</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:17:59" class="msg">but when I try to do type(x), the compiler errors</td></tr><tr><td><a id="20:18:24" href="#20:18:24" class="time">20:18:24</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:18:24" class="msg">.eval type Bool32 = distinct cint;converter toBool(x: Bool32): bool = return cint(x) != 0;var a = Bool32(1);if a: echo 'ok'</td></tr><tr><td><a id="20:18:27" href="#20:18:27" class="time">20:18:27</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:18:27" class="msg">BlaXpirit_: eval.nim(6, 13) Error: missing final ' for character literal</td></tr><tr><td><a id="20:18:32" href="#20:18:32" class="time">20:18:32</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:18:32" class="msg">.eval type Bool32 = distinct cint;converter toBool(x: Bool32): bool = return cint(x) != 0;var a = Bool32(1);if a: echo "ok"</td></tr><tr><td><a id="20:18:36" href="#20:18:36" class="time">20:18:36</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:18:36" class="msg">BlaXpirit_: 0.00407099723815918sec: ok</td></tr><tr><td><a id="20:18:40" href="#20:18:40" class="time">20:18:40</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:18:40" class="msg">woooot</td></tr><tr><td><a id="20:18:58" href="#20:18:58" class="time">20:18:58</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:18:58" class="msg">don_alfredo: I don't think you can specify a seq or array for a varargs type.</td></tr><tr><td><a id="20:19:09" href="#20:19:09" class="time">20:19:09</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:19:09" class="msg">don_alfredo: Perhaps openarray is what you're looking for?</td></tr><tr><td><a id="20:19:58" href="#20:19:58" class="time">20:19:58</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:19:58" class="msg">dom96: perhaps, though the tutorial mentions it super briefly</td></tr><tr><td><a id="20:20:34" href="#20:20:34" class="time">20:20:34</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:20:34" class="msg">flaviu, do you still need the timing thing on?</td></tr><tr><td><a id="20:20:52" href="#20:20:52" class="time">20:20:52</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:20:52" class="msg">dom96: what I am looking for is an equivalent of this Python: some_func(args*)</td></tr><tr><td><a id="20:21:03" href="#20:21:03" class="time">20:21:03</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:21:03" class="msg">also: what exactly does proc() do?</td></tr><tr><td><a id="20:21:08" href="#20:21:08" class="time">20:21:08</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:21:08" class="msg">don_alfredo: Try replacing 'varargs' with 'openarray'.</td></tr><tr><td><a id="20:21:40" href="#20:21:40" class="time">20:21:40</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:21:40" class="msg">dom96: okay, I'll try, thx</td></tr><tr><td><a id="20:21:47" href="#20:21:47" class="time">20:21:47</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:21:47" class="msg">Forty-3, it looks llike it creates an instance of a procedure</td></tr><tr><td><a id="20:21:52" href="#20:21:52" class="time">20:21:52</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:21:52" class="msg">like int()</td></tr><tr><td><a id="20:22:44" href="#20:22:44" class="time">20:22:44</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:22:44" class="msg">what does it return, though?</td></tr><tr><td><a id="20:22:49" href="#20:22:49" class="time">20:22:49</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:22:49" class="msg">don_alfredo: That said, this works for me: <a href="https://gist.github.com/dom96/1c2832e4b1f060503868">https://gist.github.com/dom96/1c2832e4b1f060503868</a></td></tr><tr><td><a id="20:22:54" href="#20:22:54" class="time">20:22:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:22:54" class="msg">don_alfredo: Isn't that what you want?</td></tr><tr><td><a id="20:23:00" href="#20:23:00" class="time">20:23:00</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:23:00" class="msg">nimrod errors when I try to do echo(type(proc()))</td></tr><tr><td><a id="20:23:20" href="#20:23:20" class="time">20:23:20</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:23:20" class="msg">Forty-3, what is that supposed to be anyway</td></tr><tr><td><a id="20:23:28" href="#20:23:28" class="time">20:23:28</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:23:28" class="msg">Forty-3, proc is definition of a procedure!!</td></tr><tr><td><a id="20:23:36" href="#20:23:36" class="time">20:23:36</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:23:36" class="msg">the type should end up in the error message though</td></tr><tr><td><a id="20:23:40" href="#20:23:40" class="time">20:23:40</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:23:40" class="msg">then why does it have ()?</td></tr><tr><td><a id="20:23:44" href="#20:23:44" class="time">20:23:44</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:23:44" class="msg">dom96: ha! this is rather cool</td></tr><tr><td><a id="20:23:47" href="#20:23:47" class="time">20:23:47</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:23:47" class="msg">because it's proc expression</td></tr><tr><td><a id="20:24:06" href="#20:24:06" class="time">20:24:06</a></td><td class="nick"><span style="color: #bd93f9">don_alfredo</span></td><td id="M20:24:06" class="msg">dom96: I didn't expect the compiler to be this smart</td></tr><tr><td><a id="20:24:37" href="#20:24:37" class="time">20:24:37</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:24:37" class="msg">don_alfredo: hehe :)</td></tr><tr><td><a id="20:24:45" href="#20:24:45" class="time">20:24:45</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:24:45" class="msg">don_alfredo: In the case of openarray the last line won't work.</td></tr><tr><td><a id="20:24:55" href="#20:24:55" class="time">20:24:55</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:24:55" class="msg">what makes it different from a proc w/o parens?</td></tr><tr><td><a id="20:25:12" href="#20:25:12" class="time">20:25:12</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:25:12" class="msg">proc x() = echo "hello"</td></tr><tr><td><a id="20:25:16" href="#20:25:16" class="time">20:25:16</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:25:16" class="msg">do you understand this?</td></tr><tr><td><a id="20:25:32" href="#20:25:32" class="time">20:25:32</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:25:32" class="msg">BlaXpirit_: which comment? (on nimrod-git)</td></tr><tr><td><a id="20:25:40" href="#20:25:40" class="time">20:25:40</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:25:40" class="msg">or for</td></tr><tr><td><a id="20:25:44" href="#20:25:44" class="time">20:25:44</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:25:44" class="msg">the most recent one :o</td></tr><tr><td><a id="20:25:58" href="#20:25:58" class="time">20:25:58</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:25:58" class="msg">well u wrote 2 after it</td></tr><tr><td><a id="20:26:07" href="#20:26:07" class="time">20:26:07</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:26:07" class="msg">by demizer</td></tr><tr><td><a id="20:26:41" href="#20:26:41" class="time">20:26:41</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:26:41" class="msg">.eval (proc() = echo "hello")()</td></tr><tr><td><a id="20:26:44" href="#20:26:44" class="time">20:26:44</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:26:44" class="msg">BlaXpirit_: 0.004066944122314453sec: hello</td></tr><tr><td><a id="20:26:49" href="#20:26:49" class="time">20:26:49</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:26:49" class="msg">kewl</td></tr><tr><td><a id="20:26:54" href="#20:26:54" class="time">20:26:54</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:26:54" class="msg">BlaXpirit_: so proc x() = dostuff() is equivlant to var x = (proc() = dostuff())?</td></tr><tr><td><a id="20:27:00" href="#20:27:00" class="time">20:27:00</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:27:00" class="msg">Forty-3, almost</td></tr><tr><td><a id="20:27:05" href="#20:27:05" class="time">20:27:05</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:27:05" class="msg">i'm not sure actually</td></tr><tr><td><a id="20:27:24" href="#20:27:24" class="time">20:27:24</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:27:24" class="msg">first of all, it's probably enforced to be closure function and whatnot</td></tr><tr><td><a id="20:27:35" href="#20:27:35" class="time">20:27:35</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:27:35" class="msg">oh</td></tr><tr><td><a id="20:27:45" href="#20:27:45" class="time">20:27:45</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:27:45" class="msg">BlaXpirit_, remember you were asking about the best way to alias a function last night?</td></tr><tr><td><a id="20:28:01" href="#20:28:01" class="time">20:28:01</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:28:01" class="msg">dom96, how do I install old nimrod compilers?</td></tr><tr><td><a id="20:28:01" href="#20:28:01" class="time">20:28:01</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:28:01" class="msg">dts|pokeball, you told me this, but it didn't work for multimethods</td></tr><tr><td><a id="20:28:03" href="#20:28:03" class="time">20:28:03</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:28:03" class="msg">so?</td></tr><tr><td><a id="20:28:11" href="#20:28:11" class="time">20:28:11</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:28:11" class="msg">BlaXpirit_, i may have just figured it out</td></tr><tr><td><a id="20:28:28" href="#20:28:28" class="time">20:28:28</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:28:28" class="msg">i've already decided against having aliases</td></tr><tr class="join"><td><a id="20:28:28" href="#20:28:28" class="time">20:28:28</a></td><td class="nick">*</td><td id="M20:28:28" class="msg">vbtt joined #nim</td></tr><tr><td><a id="20:28:32" href="#20:28:32" class="time">20:28:32</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:28:32" class="msg">but if it's good, i may reconsider</td></tr><tr><td><a id="20:28:44" href="#20:28:44" class="time">20:28:44</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:28:44" class="msg">ahh square brackets?</td></tr><tr><td><a id="20:28:44" href="#20:28:44" class="time">20:28:44</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:28:44" class="msg">nullmove: have you tried cloning from git and checking out an old tag/branch?</td></tr><tr><td><a id="20:29:40" href="#20:29:40" class="time">20:29:40</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:29:40" class="msg">^^</td></tr><tr><td><a id="20:29:43" href="#20:29:43" class="time">20:29:43</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:29:43" class="msg">Forty-3, but how do I bootstrap it?</td></tr><tr class="join"><td><a id="20:29:53" href="#20:29:53" class="time">20:29:53</a></td><td class="nick">*</td><td id="M20:29:53" class="msg">yglukhov__ joined #nim</td></tr><tr><td><a id="20:29:55" href="#20:29:55" class="time">20:29:55</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:29:55" class="msg">.eval proc foo()=echo 1;proc foo(bar: int)=echo bar;let baz: proc(int)=foo;baz(3)</td></tr><tr><td><a id="20:29:57" href="#20:29:57" class="time">20:29:57</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:29:57" class="msg">oh yeah, that may be problematic.</td></tr><tr><td><a id="20:29:58" href="#20:29:58" class="time">20:29:58</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:29:58" class="msg">dts|pokeball: eval.nim(5, 14) Error: ':' expected</td></tr><tr><td><a id="20:30:03" href="#20:30:03" class="time">20:30:03</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:03" class="msg"><a href="http://nim-lang.org/download.html#installation-from-github">http://nim-lang.org/download.html#installation-from-github</a></td></tr><tr><td><a id="20:30:05" href="#20:30:05" class="time">20:30:05</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:30:05" class="msg">hrmm</td></tr><tr><td><a id="20:30:07" href="#20:30:07" class="time">20:30:07</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:30:07" class="msg">oops</td></tr><tr><td><a id="20:30:18" href="#20:30:18" class="time">20:30:18</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:30:18" class="msg">.eval proc foo()=echo 1;proc foo(bar: int)=echo bar;let baz: proc(int) = foo;baz(3)</td></tr><tr><td><a id="20:30:21" href="#20:30:21" class="time">20:30:21</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M20:30:21" class="msg">dts|pokeball: eval.nim(5, 14) Error: ':' expected</td></tr><tr><td><a id="20:30:22" href="#20:30:22" class="time">20:30:22</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:30:22" class="msg">Because the old C sources are not available.</td></tr><tr><td><a id="20:30:27" href="#20:30:27" class="time">20:30:27</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:27" class="msg">except you would replace master with whatever you wanted</td></tr><tr><td><a id="20:30:32" href="#20:30:32" class="time">20:30:32</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:32" class="msg">well</td></tr><tr><td><a id="20:30:41" href="#20:30:41" class="time">20:30:41</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:41" class="msg">you'd do what it said</td></tr><tr><td><a id="20:30:46" href="#20:30:46" class="time">20:30:46</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:46" class="msg">and then check out an old tag</td></tr><tr><td><a id="20:30:49" href="#20:30:49" class="time">20:30:49</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:30:49" class="msg">nullmove: Why do you want an older Nimrod compiler?</td></tr><tr><td><a id="20:30:52" href="#20:30:52" class="time">20:30:52</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:30:52" class="msg">before compiling</td></tr><tr class="join"><td><a id="20:31:00" href="#20:31:00" class="time">20:31:00</a></td><td class="nick">*</td><td id="M20:31:00" class="msg">vbtt_ joined #nim</td></tr><tr><td><a id="20:31:01" href="#20:31:01" class="time">20:31:01</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:31:01" class="msg">Forty-3, but old csources are no longer available</td></tr><tr><td><a id="20:31:08" href="#20:31:08" class="time">20:31:08</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:31:08" class="msg">they're on git</td></tr><tr><td><a id="20:31:16" href="#20:31:16" class="time">20:31:16</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:31:16" class="msg">Forty-3: Not the old ones.</td></tr><tr><td><a id="20:31:26" href="#20:31:26" class="time">20:31:26</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M20:31:26" class="msg">ah, well I don't know then</td></tr><tr><td><a id="20:31:26" href="#20:31:26" class="time">20:31:26</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:31:26" class="msg">only the ones that compile 0.10.2</td></tr><tr><td><a id="20:31:38" href="#20:31:38" class="time">20:31:38</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:31:38" class="msg">dom96, need to revive some old stuffs</td></tr><tr><td><a id="20:31:56" href="#20:31:56" class="time">20:31:56</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:31:56" class="msg">nullmove: Which version do you need?</td></tr><tr><td><a id="20:32:24" href="#20:32:24" class="time">20:32:24</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:32:24" class="msg">0.9.6 would be fine</td></tr><tr class="quit"><td><a id="20:32:40" href="#20:32:40" class="time">20:32:40</a></td><td class="nick">*</td><td id="M20:32:40" class="msg">vbtt quit (Ping timeout: 255 seconds)</td></tr><tr><td><a id="20:32:54" href="#20:32:54" class="time">20:32:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:32:54" class="msg">nullmove: <a href="http://nim-lang.org/download/nimrod_0.9.6.zip">http://nim-lang.org/download/nimrod_0.9.6.zip</a></td></tr><tr><td><a id="20:33:35" href="#20:33:35" class="time">20:33:35</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:33:35" class="msg">dom96, it's the csources?</td></tr><tr><td><a id="20:35:05" href="#20:35:05" class="time">20:35:05</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:35:05" class="msg">nullmove, the install instructions on the site are for 0.9.6 csources</td></tr><tr class="quit"><td><a id="20:35:56" href="#20:35:56" class="time">20:35:56</a></td><td class="nick">*</td><td id="M20:35:56" class="msg">gour quit (Remote host closed the connection)</td></tr><tr><td><a id="20:35:58" href="#20:35:58" class="time">20:35:58</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:35:58" class="msg">nullmove: It's everything.</td></tr><tr><td><a id="20:36:06" href="#20:36:06" class="time">20:36:06</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:36:06" class="msg">dts|pokeball, yes but the csources for 0.9.6 are no longer in github</td></tr><tr><td><a id="20:37:07" href="#20:37:07" class="time">20:37:07</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:37:07" class="msg">nullmove, i know. but they are on the site...</td></tr><tr class="quit"><td><a id="20:37:17" href="#20:37:17" class="time">20:37:17</a></td><td class="nick">*</td><td id="M20:37:17" class="msg">vbtt_ quit (Ping timeout: 240 seconds)</td></tr><tr class="join"><td><a id="20:37:22" href="#20:37:22" class="time">20:37:22</a></td><td class="nick">*</td><td id="M20:37:22" class="msg">founders_ joined #nim</td></tr><tr><td><a id="20:38:07" href="#20:38:07" class="time">20:38:07</a></td><td class="nick"><span style="color: #bd93f9">founders_</span></td><td id="M20:38:07" class="msg">hi guys, Nim seems like a very nice language, congtatulations. :) Would love to see proper RAII and can GC be disabled altogether? (I work with hard-realtime systems)</td></tr><tr class="nick"><td><a id="20:39:11" href="#20:39:11" class="time">20:39:11</a></td><td class="nick">*</td><td id="M20:39:11" class="msg">founders_ is now known as RushPL</td></tr><tr><td><a id="20:39:15" href="#20:39:15" class="time">20:39:15</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:39:15" class="msg">hello RushPL :)</td></tr><tr><td><a id="20:39:25" href="#20:39:25" class="time">20:39:25</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:39:25" class="msg">The gc can be disabled via --gc:none</td></tr><tr><td><a id="20:39:33" href="#20:39:33" class="time">20:39:33</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:39:33" class="msg">founders_, as i have had to learn the hard way, you gotta read the docs first before asking here ;) that being said, yes you can disable gc (as dom96 just said)</td></tr><tr><td><a id="20:39:53" href="#20:39:53" class="time">20:39:53</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:39:53" class="msg">can nim have raii?</td></tr><tr><td><a id="20:40:21" href="#20:40:21" class="time">20:40:21</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:40:21" class="msg">dts|pokeball: If you're just curious if the language is for you then you don't have to.</td></tr><tr><td><a id="20:40:37" href="#20:40:37" class="time">20:40:37</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:40:37" class="msg">dom96, oh :( so its still just me</td></tr><tr><td><a id="20:40:41" href="#20:40:41" class="time">20:40:41</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:40:41" class="msg">thanks dom96, dts|pokeball: for example in D you can disable GC as well but none of the standard libs will work - is it the case here as well?</td></tr><tr><td><a id="20:40:43" href="#20:40:43" class="time">20:40:43</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M20:40:43" class="msg">thanks, dom96</td></tr><tr><td><a id="20:40:44" href="#20:40:44" class="time">20:40:44</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:40:44" class="msg">RushPL: Have you tried the GC's real-time mode yet?</td></tr><tr><td><a id="20:40:48" href="#20:40:48" class="time">20:40:48</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M20:40:48" class="msg">dts|pokeball: nope</td></tr><tr><td><a id="20:41:02" href="#20:41:02" class="time">20:41:02</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:41:02" class="msg">RushPL: It would be interesting to see what you think of it.</td></tr><tr><td><a id="20:41:14" href="#20:41:14" class="time">20:41:14</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:41:14" class="msg">flaviu, ?</td></tr><tr><td><a id="20:41:29" href="#20:41:29" class="time">20:41:29</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M20:41:29" class="msg">dts|pokeball: my response to your question a while ago</td></tr><tr><td><a id="20:41:33" href="#20:41:33" class="time">20:41:33</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:41:33" class="msg">ah</td></tr><tr><td><a id="20:41:40" href="#20:41:40" class="time">20:41:40</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M20:41:40" class="msg">is the bot done?</td></tr><tr><td><a id="20:41:56" href="#20:41:56" class="time">20:41:56</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:41:56" class="msg">dom96: not yet, I learnt of nim 2 hours ago so I just started</td></tr><tr><td><a id="20:42:17" href="#20:42:17" class="time">20:42:17</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:42:17" class="msg">RushPL: Please do check it out, it might fit your needs: <a href="http://nim-lang.org/gc.html">http://nim-lang.org/gc.html</a></td></tr><tr><td><a id="20:42:32" href="#20:42:32" class="time">20:42:32</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:42:32" class="msg">thank you</td></tr><tr><td><a id="20:42:49" href="#20:42:49" class="time">20:42:49</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:42:49" class="msg">dts|pokeball, so what were you saying?</td></tr><tr><td><a id="20:42:57" href="#20:42:57" class="time">20:42:57</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:42:57" class="msg">flaviu, almost. i just want to get this fucking sandbox working before v1</td></tr><tr class="join"><td><a id="20:43:04" href="#20:43:04" class="time">20:43:04</a></td><td class="nick">*</td><td id="M20:43:04" class="msg">FreezerburnV joined #nim</td></tr><tr class="quit"><td><a id="20:43:06" href="#20:43:06" class="time">20:43:06</a></td><td class="nick">*</td><td id="M20:43:06" class="msg">Mimbus quit (Read error: Connection reset by peer)</td></tr><tr><td><a id="20:43:09" href="#20:43:09" class="time">20:43:09</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:43:09" class="msg">imma check out a new release though</td></tr><tr class="join"><td><a id="20:43:12" href="#20:43:12" class="time">20:43:12</a></td><td class="nick">*</td><td id="M20:43:12" class="msg">Mimbus joined #nim</td></tr><tr><td><a id="20:43:17" href="#20:43:17" class="time">20:43:17</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:43:17" class="msg">BlaXpirit_, ignore me. i spoke too soon</td></tr><tr><td><a id="20:43:20" href="#20:43:20" class="time">20:43:20</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:43:20" class="msg">ok</td></tr><tr><td><a id="20:43:34" href="#20:43:34" class="time">20:43:34</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M20:43:34" class="msg">the csources thing</td></tr><tr><td><a id="20:43:39" href="#20:43:39" class="time">20:43:39</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:43:39" class="msg">i thought i would be able to declare the signature of the proc as the type and assign the function that way</td></tr><tr><td><a id="20:43:39" href="#20:43:39" class="time">20:43:39</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M20:43:39" class="msg">is that generated daily or smth?</td></tr><tr><td><a id="20:44:03" href="#20:44:03" class="time">20:44:03</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M20:44:03" class="msg">ekarlso-: it's regenerated whenever it stops working</td></tr><tr><td><a id="20:44:16" href="#20:44:16" class="time">20:44:16</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M20:44:16" class="msg">most compiler changes are minor enough that it can still bootstrap</td></tr><tr><td><a id="20:44:34" href="#20:44:34" class="time">20:44:34</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:44:34" class="msg">what exactly are the csources?</td></tr><tr><td><a id="20:45:59" href="#20:45:59" class="time">20:45:59</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:45:59" class="msg">are there namespaces in Nim?</td></tr><tr><td><a id="20:46:06" href="#20:46:06" class="time">20:46:06</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:46:06" class="msg">so I can have Color.Black etc</td></tr><tr><td><a id="20:46:08" href="#20:46:08" class="time">20:46:08</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:46:08" class="msg">dom96: I am concerned of GC's binary size. For example if I am targetting microcontrollers that have only 16KBs of flash memory, wasting 4KBs for GC is too much.</td></tr><tr><td><a id="20:46:10" href="#20:46:10" class="time">20:46:10</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:46:10" class="msg">the sources used for bootstrapping, as the compiler is written in the target language</td></tr><tr><td><a id="20:47:00" href="#20:47:00" class="time">20:47:00</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:47:00" class="msg">perhaps LTO would cut out GC if it is not used, not sure how is it set up</td></tr><tr><td><a id="20:47:04" href="#20:47:04" class="time">20:47:04</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:47:04" class="msg">BlaXpirit_, uhh you can do types and/or wrap it in a module</td></tr><tr><td><a id="20:47:15" href="#20:47:15" class="time">20:47:15</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:47:15" class="msg">module is not cool</td></tr><tr><td><a id="20:47:19" href="#20:47:19" class="time">20:47:19</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:47:19" class="msg">what do you mean by "types"?</td></tr><tr><td><a id="20:47:39" href="#20:47:39" class="time">20:47:39</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M20:47:39" class="msg">RushPL: Unfortunately when you disable the GC you won't really be able to use much of the stdlib.</td></tr><tr><td><a id="20:47:40" href="#20:47:40" class="time">20:47:40</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:47:40" class="msg">RushPL: why not just --gc:none then?</td></tr><tr><td><a id="20:47:46" href="#20:47:46" class="time">20:47:46</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:47:46" class="msg">BlaXpirit_, enums rather</td></tr><tr><td><a id="20:48:05" href="#20:48:05" class="time">20:48:05</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:48:05" class="msg">Color is an object</td></tr><tr><td><a id="20:48:10" href="#20:48:10" class="time">20:48:10</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:48:10" class="msg">what can I do with an enum then?</td></tr><tr><td><a id="20:48:23" href="#20:48:23" class="time">20:48:23</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M20:48:23" class="msg">EXetoC: I barely started with nim so I am just considering possibilities, perhaps it's fine</td></tr><tr><td><a id="20:48:48" href="#20:48:48" class="time">20:48:48</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:48:48" class="msg">im probably not the best person to answer, but here it goes</td></tr><tr><td><a id="20:49:16" href="#20:49:16" class="time">20:49:16</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M20:49:16" class="msg">it would be cool, but barely useful</td></tr><tr class="quit"><td><a id="20:49:19" href="#20:49:19" class="time">20:49:19</a></td><td class="nick">*</td><td id="M20:49:19" class="msg">tgkokk quit (Ping timeout: 255 seconds)</td></tr><tr><td><a id="20:49:52" href="#20:49:52" class="time">20:49:52</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:49:52" class="msg">you have an object that takes the value of an enum, and then you can do TheEnumType.Value</td></tr><tr class="join"><td><a id="20:50:08" href="#20:50:08" class="time">20:50:08</a></td><td class="nick">*</td><td id="M20:50:08" class="msg">tgkokk joined #nim</td></tr><tr class="join"><td><a id="20:50:50" href="#20:50:50" class="time">20:50:50</a></td><td class="nick">*</td><td id="M20:50:50" class="msg">Sphax joined #nim</td></tr><tr class="quit"><td><a id="20:51:28" href="#20:51:28" class="time">20:51:28</a></td><td class="nick">*</td><td id="M20:51:28" class="msg">don_alfredo quit (Quit: Page closed)</td></tr><tr><td><a id="20:52:39" href="#20:52:39" class="time">20:52:39</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M20:52:39" class="msg">dts|pokeball, I have this, by the way: <a href="https://bpaste.net/show/ef3982c68eeb">https://bpaste.net/show/ef3982c68eeb</a></td></tr><tr class="quit"><td><a id="20:53:37" href="#20:53:37" class="time">20:53:37</a></td><td class="nick">*</td><td id="M20:53:37" class="msg">Sphax quit (Client Quit)</td></tr><tr class="quit"><td><a id="20:53:59" href="#20:53:59" class="time">20:53:59</a></td><td class="nick">*</td><td id="M20:53:59" class="msg">yglukhov__ quit (Quit: Be back later ...)</td></tr><tr><td><a id="20:55:21" href="#20:55:21" class="time">20:55:21</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M20:55:21" class="msg">hmmm, yeah lie i said im probably not the best person to answer</td></tr><tr class="join"><td><a id="20:55:28" href="#20:55:28" class="time">20:55:28</a></td><td class="nick">*</td><td id="M20:55:28" class="msg">Sphax joined #nim</td></tr><tr class="quit"><td><a id="20:55:28" href="#20:55:28" class="time">20:55:28</a></td><td class="nick">*</td><td id="M20:55:28" class="msg">Sphax quit (Client Quit)</td></tr><tr><td><a id="21:01:56" href="#21:01:56" class="time">21:01:56</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:01:56" class="msg">how do I make something an ordinal?</td></tr><tr><td><a id="21:02:25" href="#21:02:25" class="time">21:02:25</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:02:25" class="msg">is it enough to define an ord(:type)?</td></tr><tr><td><a id="21:04:52" href="#21:04:52" class="time">21:04:52</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:04:52" class="msg">Ordinals are the predefined integers and enums without holes: <a href="http://nim-lang.org/manual.html#ordinal-types">http://nim-lang.org/manual.html#ordinal-types</a></td></tr><tr><td><a id="21:05:05" href="#21:05:05" class="time">21:05:05</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:05:05" class="msg">so you can define your own enum and it's an ordinal automatically</td></tr><tr><td><a id="21:06:01" href="#21:06:01" class="time">21:06:01</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:06:01" class="msg">You can make your own user defined Ord type class if you really want it: <a href="http://nim-lang.org/manual.html#user-defined-type-classes">http://nim-lang.org/manual.html#user-defined-type-classes</a></td></tr><tr><td><a id="21:06:05" href="#21:06:05" class="time">21:06:05</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:06:05" class="msg">what if I have an object composed of two enums</td></tr><tr><td><a id="21:06:39" href="#21:06:39" class="time">21:06:39</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:06:39" class="msg">Forty-3: not going to work with the built-in ordinals, i think</td></tr><tr><td><a id="21:07:54" href="#21:07:54" class="time">21:07:54</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:07:54" class="msg">maybe is a silly question but if nim can compile to js that means I can write node apps with nim?</td></tr><tr class="quit"><td><a id="21:08:55" href="#21:08:55" class="time">21:08:55</a></td><td class="nick">*</td><td id="M21:08:55" class="msg">repax quit (Quit: repax)</td></tr><tr><td><a id="21:09:11" href="#21:09:11" class="time">21:09:11</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:09:11" class="msg">MyMind: i think so, try nim js -d:nodejs hello.nim</td></tr><tr><td><a id="21:10:04" href="#21:10:04" class="time">21:10:04</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:10:04" class="msg">def-: what does the 'is' operator do?</td></tr><tr><td><a id="21:10:46" href="#21:10:46" class="time">21:10:46</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:10:46" class="msg">MyMind: then you can run node nimcache/hello.js</td></tr><tr><td><a id="21:11:08" href="#21:11:08" class="time">21:11:08</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:11:08" class="msg">undeclared readLine says</td></tr><tr><td><a id="21:11:37" href="#21:11:37" class="time">21:11:37</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:11:37" class="msg">Yeah, not everything implemented for the js backend</td></tr><tr><td><a id="21:12:43" href="#21:12:43" class="time">21:12:43</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:12:43" class="msg">what is implemented ?</td></tr><tr><td><a id="21:14:18" href="#21:14:18" class="time">21:14:18</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:14:18" class="msg">I just started reading docs and I'm astonished</td></tr><tr><td><a id="21:14:20" href="#21:14:20" class="time">21:14:20</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:14:20" class="msg">I don't know</td></tr><tr><td><a id="21:14:28" href="#21:14:28" class="time">21:14:28</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:14:28" class="msg">it's really awesome</td></tr><tr><td><a id="21:15:08" href="#21:15:08" class="time">21:15:08</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:15:08" class="msg">MyMind: We mostly focused on getting it working in the browser.</td></tr><tr class="quit"><td><a id="21:15:23" href="#21:15:23" class="time">21:15:23</a></td><td class="nick">*</td><td id="M21:15:23" class="msg">nullmove quit (Ping timeout: 272 seconds)</td></tr><tr><td><a id="21:15:26" href="#21:15:26" class="time">21:15:26</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:15:26" class="msg">MyMind: Here is a script that's in production <a href="https://github.com/Araq/Nim/blob/devel/web/nimblepkglist.nim">https://github.com/Araq/Nim/blob/devel/web/nimblepkglist.nim</a></td></tr><tr><td><a id="21:15:35" href="#21:15:35" class="time">21:15:35</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:15:35" class="msg">yeah I guess readline has no much sense</td></tr><tr><td><a id="21:15:45" href="#21:15:45" class="time">21:15:45</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:15:45" class="msg">indeed</td></tr><tr><td><a id="21:16:30" href="#21:16:30" class="time">21:16:30</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:16:30" class="msg">def-: I am confused by the examples you gave. Do you have some code which uses these types?</td></tr><tr class="join"><td><a id="21:17:31" href="#21:17:31" class="time">21:17:31</a></td><td class="nick">*</td><td id="M21:17:31" class="msg">BillsPC joined #nim</td></tr><tr class="join"><td><a id="21:17:37" href="#21:17:37" class="time">21:17:37</a></td><td class="nick">*</td><td id="M21:17:37" class="msg">yglukhov__ joined #nim</td></tr><tr><td><a id="21:17:57" href="#21:17:57" class="time">21:17:57</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:17:57" class="msg">Forty-3: i gave examples?</td></tr><tr><td><a id="21:18:05" href="#21:18:05" class="time">21:18:05</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:18:05" class="msg"><a href="http://nim-lang.org/manual.html#user-defined-type-classes">http://nim-lang.org/manual.html#user-defined-type-classes</a></td></tr><tr><td><a id="21:18:18" href="#21:18:18" class="time">21:18:18</a></td><td class="nick"><span style="color: #ff5555">Shoozza</span></td><td id="M21:18:18" class="msg">Anyone who got nim to work with MSYS2? I'm getting _wfopen ld errors</td></tr><tr><td><a id="21:19:19" href="#21:19:19" class="time">21:19:19</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:19:19" class="msg">Forty-3: only this one: <a href="https://github.com/def-/nim-unsorted/blob/master/typeclass.nim">https://github.com/def-/nim-unsorted/blob/master/typeclass.nim</a></td></tr><tr><td><a id="21:20:13" href="#21:20:13" class="time">21:20:13</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:20:13" class="msg">Forty-3: to make your object a Comparable in the example from the manual, all you need to do is implement proc `<`(x,y: MyObject): bool = ...</td></tr><tr><td><a id="21:20:20" href="#21:20:20" class="time">21:20:20</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:20:20" class="msg">what editor/IDE you use for Nim?</td></tr><tr><td><a id="21:20:42" href="#21:20:42" class="time">21:20:42</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:20:42" class="msg">MyMind: there is support for many: <a href="https://github.com/Araq/Nim/wiki/Editor-Support">https://github.com/Araq/Nim/wiki/Editor-Support</a></td></tr><tr><td><a id="21:20:44" href="#21:20:44" class="time">21:20:44</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:20:44" class="msg">so comparable is like an interface</td></tr><tr><td><a id="21:20:56" href="#21:20:56" class="time">21:20:56</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:20:56" class="msg">Shoozza: Msys2?</td></tr><tr><td><a id="21:20:57" href="#21:20:57" class="time">21:20:57</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:20:57" class="msg">Hello</td></tr><tr><td><a id="21:21:16" href="#21:21:16" class="time">21:21:16</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:21:16" class="msg">where you garuntee that you have implemented x < y</td></tr><tr><td><a id="21:21:26" href="#21:21:26" class="time">21:21:26</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M21:21:26" class="msg">I'm trying with nimlime</td></tr><tr><td><a id="21:21:27" href="#21:21:27" class="time">21:21:27</a></td><td class="nick"><span style="color: #ff5555">Shoozza</span></td><td id="M21:21:27" class="msg">valberg, <a href="http://sourceforge.net/projects/msys2/">http://sourceforge.net/projects/msys2/</a></td></tr><tr><td><a id="21:21:44" href="#21:21:44" class="time">21:21:44</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:21:44" class="msg">I read the article "what's special about Nim", and I thought that generally term rewriting macros were considered bad practice because of how hard they are to verify as correct?</td></tr><tr><td><a id="21:22:12" href="#21:22:12" class="time">21:22:12</a></td><td class="nick"><span style="color: #ff5555">Shoozza</span></td><td id="M21:22:12" class="msg">* Var|Mobile</td></tr><tr><td><a id="21:22:17" href="#21:22:17" class="time">21:22:17</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:22:17" class="msg">I forget where/whom I heard that from, but it was in some sort of list about the more "experimental" features of the language</td></tr><tr class="quit"><td><a id="21:22:17" href="#21:22:17" class="time">21:22:17</a></td><td class="nick">*</td><td id="M21:22:17" class="msg">FreezerburnV quit (Quit: FreezerburnV)</td></tr><tr><td><a id="21:22:27" href="#21:22:27" class="time">21:22:27</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:22:27" class="msg">dymk: Well, they should generally only be used when needed</td></tr><tr><td><a id="21:22:28" href="#21:22:28" class="time">21:22:28</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:22:28" class="msg">dymk: but library authors are especially smart, so they can use them ;)</td></tr><tr><td><a id="21:23:14" href="#21:23:14" class="time">21:23:14</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:23:14" class="msg">And then the examples given in the language for optimizing boolean logic, surely the underlying C compiler can perform those exact transformations</td></tr><tr><td><a id="21:23:17" href="#21:23:17" class="time">21:23:17</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:23:17" class="msg">def-: do you have an example of imperative types?</td></tr><tr><td><a id="21:23:39" href="#21:23:39" class="time">21:23:39</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:23:39" class="msg">I have template defDraw(name: expr). how can I make it work the same but accept unexisting identifiers as its argument?</td></tr><tr class="quit"><td><a id="21:23:51" href="#21:23:51" class="time">21:23:51</a></td><td class="nick">*</td><td id="M21:23:51" class="msg">irrequietus quit ()</td></tr><tr><td><a id="21:23:52" href="#21:23:52" class="time">21:23:52</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:23:52" class="msg">flaviu, ive checked out a new release of moe. what was i supposed to run now?</td></tr><tr><td><a id="21:24:04" href="#21:24:04" class="time">21:24:04</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M21:24:04" class="msg">dymk: yes, but that's missing the point; he's simply using trivial code to demonstrate the capabilities of the language</td></tr><tr><td><a id="21:24:05" href="#21:24:05" class="time">21:24:05</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:24:05" class="msg">Shoozza: I think Demos uses Msys2... I myself use Mingw-w64 and regular Msys</td></tr><tr><td><a id="21:24:13" href="#21:24:13" class="time">21:24:13</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:24:13" class="msg">Forty-3, alright, that makes sense</td></tr><tr><td><a id="21:24:24" href="#21:24:24" class="time">21:24:24</a></td><td class="nick"><span style="color: #6272a4">Demos</span></td><td id="M21:24:24" class="msg">I use msys2, or just the microsoft stack</td></tr><tr><td><a id="21:24:30" href="#21:24:30" class="time">21:24:30</a></td><td class="nick"><span style="color: #6272a4">Demos</span></td><td id="M21:24:30" class="msg">like MSVC and such</td></tr><tr><td><a id="21:24:54" href="#21:24:54" class="time">21:24:54</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:24:54" class="msg">dts|pokeball: make it a setuid executable that is owned by root</td></tr><tr><td><a id="21:25:08" href="#21:25:08" class="time">21:25:08</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:25:08" class="msg">dymk: these term rewriting templates may be more interesting: <a href="https://github.com/def-/nim-bigints/blob/master/src/bigints.nim">https://github.com/def-/nim-bigints/blob/master/src/bigints.nim</a></td></tr><tr><td><a id="21:25:34" href="#21:25:34" class="time">21:25:34</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:25:34" class="msg">wait, i'm stupid, nevermind</td></tr><tr><td><a id="21:25:41" href="#21:25:41" class="time">21:25:41</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:25:41" class="msg">dymk: i use them to prevent allocations with bigints whenever possible</td></tr><tr><td><a id="21:25:52" href="#21:25:52" class="time">21:25:52</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:25:52" class="msg">chmod ug+s run/bin/isolate; chown root run/bin/isolate; chgrp root run/bin/isolate</td></tr><tr><td><a id="21:25:53" href="#21:25:53" class="time">21:25:53</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:25:53" class="msg">?</td></tr><tr><td><a id="21:26:17" href="#21:26:17" class="time">21:26:17</a></td><td class="nick"><span style="color: #ff5555">Shoozza</span></td><td id="M21:26:17" class="msg">Var|Mobile, did you have to change something in the cfg file to make it use mingw-w64-gcc?</td></tr><tr><td><a id="21:26:25" href="#21:26:25" class="time">21:26:25</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:26:25" class="msg">dts|pokeball: I guess</td></tr><tr><td><a id="21:26:25" href="#21:26:25" class="time">21:26:25</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:26:25" class="msg">Forty-3: Not sure, I think the "for value in c: type(value) is T" is imperative?</td></tr><tr><td><a id="21:27:21" href="#21:27:21" class="time">21:27:21</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:27:21" class="msg">def-, now that is really cool, thanks for the link</td></tr><tr class="join"><td><a id="21:27:32" href="#21:27:32" class="time">21:27:32</a></td><td class="nick">*</td><td id="M21:27:32" class="msg">no_name joined #nim</td></tr><tr class="quit"><td><a id="21:27:40" href="#21:27:40" class="time">21:27:40</a></td><td class="nick">*</td><td id="M21:27:40" class="msg">tane quit (Quit: Verlassend)</td></tr><tr class="join"><td><a id="21:27:45" href="#21:27:45" class="time">21:27:45</a></td><td class="nick">*</td><td id="M21:27:45" class="msg">nullmove joined #nim</td></tr><tr><td><a id="21:28:06" href="#21:28:06" class="time">21:28:06</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:28:06" class="msg">dymk: I totally forgot that I wrote those, should update my post^^</td></tr><tr><td><a id="21:28:15" href="#21:28:15" class="time">21:28:15</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:28:15" class="msg">Shoozza: As opposed to what? I make sure that I only have one compiler in my path environment at any one time</td></tr><tr><td><a id="21:28:29" href="#21:28:29" class="time">21:28:29</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:28:29" class="msg">hey all, newbie nim user here, trying to get started on a 64bit win8.1 box, installed the nim installer and hello world is failing to compile out of the box</td></tr><tr><td><a id="21:28:57" href="#21:28:57" class="time">21:28:57</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:28:57" class="msg">no_name: What errors are you getting?</td></tr><tr><td><a id="21:29:39" href="#21:29:39" class="time">21:29:39</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:29:39" class="msg">C:\Nim\lib/nimbase.h:385:13: error: size of array 'assert_numbits' is negative</td></tr><tr><td><a id="21:30:47" href="#21:30:47" class="time">21:30:47</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:30:47" class="msg">google says my compiler is 32-bit? <a href="http://forum.nimrod-lang.org/t/602">http://forum.nimrod-lang.org/t/602</a> but I'm using the built-in compiler that was loaded with the installer</td></tr><tr><td><a id="21:31:09" href="#21:31:09" class="time">21:31:09</a></td><td class="nick"><span style="color: #ff5555">Shoozza</span></td><td id="M21:31:09" class="msg">Var|Mobile, thanks i changed my path and it uses Mingw-w64's compiler instead the one from MSYS2 and it compiles now ;)</td></tr><tr><td><a id="21:31:18" href="#21:31:18" class="time">21:31:18</a></td><td class="nick"><span style="color: #bd93f9">Var|Mobile</span></td><td id="M21:31:18" class="msg">no_name: Gah, I thought we had uploaded the new installer</td></tr><tr><td><a id="21:31:51" href="#21:31:51" class="time">21:31:51</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:31:51" class="msg">thats partly why I came here to let you know. with the recent blog posts, you're likely to get a bunch of folks like me</td></tr><tr class="quit"><td><a id="21:32:01" href="#21:32:01" class="time">21:32:01</a></td><td class="nick">*</td><td id="M21:32:01" class="msg">alexruf quit (Ping timeout: 265 seconds)</td></tr><tr><td><a id="21:32:20" href="#21:32:20" class="time">21:32:20</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:32:20" class="msg">do I just need to tweak an environment path?</td></tr><tr class="join"><td><a id="21:32:47" href="#21:32:47" class="time">21:32:47</a></td><td class="nick">*</td><td id="M21:32:47" class="msg">alexruf joined #nim</td></tr><tr><td><a id="21:32:58" href="#21:32:58" class="time">21:32:58</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:32:58" class="msg">Is the compiler a good source of idomatic Nim code?</td></tr><tr><td><a id="21:33:06" href="#21:33:06" class="time">21:33:06</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:33:06" class="msg">or should I treat it like Rust's compiler?</td></tr><tr><td><a id="21:33:54" href="#21:33:54" class="time">21:33:54</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:33:54" class="msg">I hope it's not considered idomatic...</td></tr><tr><td><a id="21:34:46" href="#21:34:46" class="time">21:34:46</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:34:46" class="msg">oh man there are too man programming languages popping up. to hard to choose one.</td></tr><tr><td><a id="21:35:05" href="#21:35:05" class="time">21:35:05</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:35:05" class="msg">alexruf, don't worry, i've checked out them all</td></tr><tr><td><a id="21:35:12" href="#21:35:12" class="time">21:35:12</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:35:12" class="msg">and this one is my final choice</td></tr><tr class="join"><td><a id="21:35:17" href="#21:35:17" class="time">21:35:17</a></td><td class="nick">*</td><td id="M21:35:17" class="msg">vbtt joined #nim</td></tr><tr><td><a id="21:35:35" href="#21:35:35" class="time">21:35:35</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:35:35" class="msg">great, will there be an article about your research ?</td></tr><tr><td><a id="21:35:40" href="#21:35:40" class="time">21:35:40</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:35:40" class="msg">no</td></tr><tr><td><a id="21:35:48" href="#21:35:48" class="time">21:35:48</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:35:48" class="msg">what am i supposed to write there</td></tr><tr><td><a id="21:35:54" href="#21:35:54" class="time">21:35:54</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:35:54" class="msg">this one sux, this other one is 2hard4me</td></tr><tr><td><a id="21:36:19" href="#21:36:19" class="time">21:36:19</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:36:19" class="msg">there are probably existing rants about every language anyway</td></tr><tr><td><a id="21:36:20" href="#21:36:20" class="time">21:36:20</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:36:20" class="msg">dymk: The compiler was translated from Pascal at one point in time so perhaps not. Take a look at Nimble instead.</td></tr><tr class="join"><td><a id="21:36:21" href="#21:36:21" class="time">21:36:21</a></td><td class="nick">*</td><td id="M21:36:21" class="msg">Mat4 joined #nim</td></tr><tr><td><a id="21:36:26" href="#21:36:26" class="time">21:36:26</a></td><td class="nick"><span style="color: #ff5555">Mat4</span></td><td id="M21:36:26" class="msg">hi all</td></tr><tr><td><a id="21:36:34" href="#21:36:34" class="time">21:36:34</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:36:34" class="msg">dom96, thanks, noted</td></tr><tr><td><a id="21:36:36" href="#21:36:36" class="time">21:36:36</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:36:36" class="msg">whats your favourite at the moment? i am strugling between go, rust and nim</td></tr><tr><td><a id="21:37:02" href="#21:37:02" class="time">21:37:02</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:37:02" class="msg">alexruf, i've already told you.</td></tr><tr><td><a id="21:37:13" href="#21:37:13" class="time">21:37:13</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:37:13" class="msg">alexruf, you didn't ask me, but out of the "non-mainstream" languages that I know, I program in D a lot</td></tr><tr><td><a id="21:37:23" href="#21:37:23" class="time">21:37:23</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:37:23" class="msg">I didn't actually read any tutorial on Go, I saw how bad it is in one glance</td></tr><tr><td><a id="21:37:29" href="#21:37:29" class="time">21:37:29</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:37:29" class="msg">but right now i'm evaluating nim because i don't like the stagnation in the community</td></tr><tr><td><a id="21:37:41" href="#21:37:41" class="time">21:37:41</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:37:41" class="msg">Rust is indeed 2hard4me and its advantages don't outweigh its verbosity</td></tr><tr><td><a id="21:37:44" href="#21:37:44" class="time">21:37:44</a></td><td class="nick"><span style="color: #ff5555">wan</span></td><td id="M21:37:44" class="msg">alexruf: spend a week with each, then make a decision</td></tr><tr><td><a id="21:38:17" href="#21:38:17" class="time">21:38:17</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:38:17" class="msg">wow, we're so close to 100 users in here!</td></tr><tr><td><a id="21:38:22" href="#21:38:22" class="time">21:38:22</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:38:22" class="msg">BlaXpirit_, i don't think rust is that bad, once you get past the verbosity</td></tr><tr><td><a id="21:38:31" href="#21:38:31" class="time">21:38:31</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:38:31" class="msg">I didn't say it's bad</td></tr><tr><td><a id="21:38:34" href="#21:38:34" class="time">21:38:34</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:38:34" class="msg">jup Go was too limited for me... lack of generics and stuff like thos</td></tr><tr><td><a id="21:38:36" href="#21:38:36" class="time">21:38:36</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:38:36" class="msg">this</td></tr><tr><td><a id="21:38:41" href="#21:38:41" class="time">21:38:41</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:38:41" class="msg">it's the heavyweight nature of the compiler that gives me the heebie jeebies</td></tr><tr><td><a id="21:38:56" href="#21:38:56" class="time">21:38:56</a></td><td class="nick"><span style="color: #ff5555">wan</span></td><td id="M21:38:56" class="msg">dom96: if we keep having one article every two days on HN, it should grow exponentially from there</td></tr><tr><td><a id="21:39:03" href="#21:39:03" class="time">21:39:03</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:39:03" class="msg">dom96: that excuse doesn't work on my favorite file: <a href="https://github.com/Araq/Nim/blob/devel/compiler/vm.nim">https://github.com/Araq/Nim/blob/devel/compiler/vm.nim</a></td></tr><tr><td><a id="21:39:05" href="#21:39:05" class="time">21:39:05</a></td><td class="nick"><span style="color: #ff5555">Mat4</span></td><td id="M21:39:05" class="msg">Go is somewhat more readable than C in my opinion (that's an advantage)</td></tr><tr><td><a id="21:39:27" href="#21:39:27" class="time">21:39:27</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:39:27" class="msg">wan: Let's post onionhammer article next :)</td></tr><tr><td><a id="21:39:32" href="#21:39:32" class="time">21:39:32</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:39:32" class="msg">we're not comparing to C</td></tr><tr><td><a id="21:39:37" href="#21:39:37" class="time">21:39:37</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:39:37" class="msg">C is the new assembler</td></tr><tr class="join"><td><a id="21:40:04" href="#21:40:04" class="time">21:40:04</a></td><td class="nick">*</td><td id="M21:40:04" class="msg">filcuc joined #nim</td></tr><tr><td><a id="21:40:10" href="#21:40:10" class="time">21:40:10</a></td><td class="nick"><span style="color: #ff5555">Mat4</span></td><td id="M21:40:10" class="msg">assembler sounds good</td></tr><tr class="join"><td><a id="21:40:11" href="#21:40:11" class="time">21:40:11</a></td><td class="nick">*</td><td id="M21:40:11" class="msg">Nimbus joined #nim</td></tr><tr><td><a id="21:40:16" href="#21:40:16" class="time">21:40:16</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:40:16" class="msg">eval echo 1</td></tr><tr><td><a id="21:40:16" href="#21:40:16" class="time">21:40:16</a></td><td class="nick"><span style="color: #ff5555">Nimbus</span></td><td id="M21:40:16" class="msg">dts|pokeball: Must be started as root</td></tr><tr><td><a id="21:40:17" href="#21:40:17" class="time">21:40:17</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:40:17" class="msg">pft javascript is the new assembler, obviously ;)</td></tr><tr><td><a id="21:40:20" href="#21:40:20" class="time">21:40:20</a></td><td class="nick"><span style="color: #ff5555">filcuc</span></td><td id="M21:40:20" class="msg">hi all</td></tr><tr><td><a id="21:40:21" href="#21:40:21" class="time">21:40:21</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:40:21" class="msg">fml</td></tr><tr><td><a id="21:40:25" href="#21:40:25" class="time">21:40:25</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:40:25" class="msg">(...as new as a 43 year old language can be)</td></tr><tr><td><a id="21:40:35" href="#21:40:35" class="time">21:40:35</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:40:35" class="msg">hi filcuc</td></tr><tr><td><a id="21:40:46" href="#21:40:46" class="time">21:40:46</a></td><td class="nick"><span style="color: #ff5555">Mat4</span></td><td id="M21:40:46" class="msg">hello filcuc</td></tr><tr class="quit"><td><a id="21:40:52" href="#21:40:52" class="time">21:40:52</a></td><td class="nick">*</td><td id="M21:40:52" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr class="join"><td><a id="21:41:09" href="#21:41:09" class="time">21:41:09</a></td><td class="nick">*</td><td id="M21:41:09" class="msg">Nimbus joined #nim</td></tr><tr class="quit"><td><a id="21:41:19" href="#21:41:19" class="time">21:41:19</a></td><td class="nick">*</td><td id="M21:41:19" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr><td><a id="21:41:33" href="#21:41:33" class="time">21:41:33</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:41:33" class="msg">NIMROD IS AMAZING OMFG</td></tr><tr><td><a id="21:41:38" href="#21:41:38" class="time">21:41:38</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:41:38" class="msg">Var|Mobile: so should I re-download the installer, or is there a simple work-around?</td></tr><tr><td><a id="21:41:39" href="#21:41:39" class="time">21:41:39</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:41:39" class="msg">the simplicity of ffi</td></tr><tr><td><a id="21:41:40" href="#21:41:40" class="time">21:41:40</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:41:40" class="msg">omg</td></tr><tr><td><a id="21:41:44" href="#21:41:44" class="time">21:41:44</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:41:44" class="msg">it's so good</td></tr><tr><td><a id="21:41:45" href="#21:41:45" class="time">21:41:45</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:41:45" class="msg">Besides having to write 3 lines of error handling for every logic line, C is pretty nice</td></tr><tr class="join"><td><a id="21:41:46" href="#21:41:46" class="time">21:41:46</a></td><td class="nick">*</td><td id="M21:41:46" class="msg">Nimbus joined #nim</td></tr><tr><td><a id="21:41:47" href="#21:41:47" class="time">21:41:47</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:41:47" class="msg">the main point is that it's not all about the language... the community is an very important factor.</td></tr><tr><td><a id="21:41:53" href="#21:41:53" class="time">21:41:53</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:41:53" class="msg">yeah, the ffi stuff is really awesome IMHO</td></tr><tr><td><a id="21:42:11" href="#21:42:11" class="time">21:42:11</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:42:11" class="msg">alexruf, preach brutha</td></tr><tr><td><a id="21:42:13" href="#21:42:13" class="time">21:42:13</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:42:13" class="msg">once I get going, I'm seriously considering contributing to libraries and whatnot</td></tr><tr><td><a id="21:42:17" href="#21:42:17" class="time">21:42:17</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:42:17" class="msg">2 days of binge coding, and i finally get it all</td></tr><tr class="quit"><td><a id="21:42:18" href="#21:42:18" class="time">21:42:18</a></td><td class="nick">*</td><td id="M21:42:18" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr><td><a id="21:42:31" href="#21:42:31" class="time">21:42:31</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:42:31" class="msg">BlaXpirit_: There's another sort of coding?</td></tr><tr><td><a id="21:42:31" href="#21:42:31" class="time">21:42:31</a></td><td class="nick"><span style="color: #ff5555">Mat4</span></td><td id="M21:42:31" class="msg">BlaXpirit_: C is for sure way more limited than any assembler language I know (however assembler languages tend not to be platform independent in some degree)</td></tr><tr><td><a id="21:42:37" href="#21:42:37" class="time">21:42:37</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:42:37" class="msg">no_name: awesome</td></tr><tr><td><a id="21:42:42" href="#21:42:42" class="time">21:42:42</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:42:42" class="msg">bye bye, C and C++. hello, Nim</td></tr><tr class="join"><td><a id="21:42:42" href="#21:42:42" class="time">21:42:42</a></td><td class="nick">*</td><td id="M21:42:42" class="msg">Nimbus joined #nim</td></tr><tr><td><a id="21:42:43" href="#21:42:43" class="time">21:42:43</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:42:43" class="msg">how u mean dom96 with docs on the packages site ?</td></tr><tr><td><a id="21:43:10" href="#21:43:10" class="time">21:43:10</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:43:10" class="msg">ekarlso-: Clone each Nimble package, execute nim doc2 on each file, make those files accessible via your website.</td></tr><tr><td><a id="21:43:30" href="#21:43:30" class="time">21:43:30</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M21:43:30" class="msg">I'm a python guy who has been messing with haskell and Go over the last to years. Nim appears to solve a lot of the pain points I've had with those other two</td></tr><tr><td><a id="21:43:31" href="#21:43:31" class="time">21:43:31</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M21:43:31" class="msg">BlaXpirit_: yay</td></tr><tr><td><a id="21:44:10" href="#21:44:10" class="time">21:44:10</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:44:10" class="msg">dom96: o["description"] = %pkg.description < when trying to assing from a string that is 0</td></tr><tr><td><a id="21:44:24" href="#21:44:24" class="time">21:44:24</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:44:24" class="msg">how do i add command line options to a .nim.cfg file again?</td></tr><tr><td><a id="21:44:32" href="#21:44:32" class="time">21:44:32</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:44:32" class="msg">is it just option: value?</td></tr><tr><td><a id="21:44:51" href="#21:44:51" class="time">21:44:51</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:44:51" class="msg">--opt:val</td></tr><tr><td><a id="21:44:53" href="#21:44:53" class="time">21:44:53</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:44:53" class="msg">or</td></tr><tr><td><a id="21:44:55" href="#21:44:55" class="time">21:44:55</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:44:55" class="msg">opt = val</td></tr><tr><td><a id="21:45:01" href="#21:45:01" class="time">21:45:01</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:45:01" class="msg">how does the development of nim work? who make the decitions where the development does?</td></tr><tr><td><a id="21:45:05" href="#21:45:05" class="time">21:45:05</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:45:05" class="msg">ekarlso-: i'm not sure what you mean?</td></tr><tr><td><a id="21:45:11" href="#21:45:11" class="time">21:45:11</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:45:11" class="msg">--opt:val in a .cfg file dom96 ?</td></tr><tr><td><a id="21:45:17" href="#21:45:17" class="time">21:45:17</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:45:17" class="msg">yeah</td></tr><tr><td><a id="21:45:26" href="#21:45:26" class="time">21:45:26</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:45:26" class="msg">huh. ty</td></tr><tr><td><a id="21:45:28" href="#21:45:28" class="time">21:45:28</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:45:28" class="msg">alexruf: Araq does</td></tr><tr><td><a id="21:45:29" href="#21:45:29" class="time">21:45:29</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:45:29" class="msg">alexruf: Our BDFL, Araq.</td></tr><tr class="quit"><td><a id="21:45:43" href="#21:45:43" class="time">21:45:43</a></td><td class="nick">*</td><td id="M21:45:43" class="msg">vbtt quit (Ping timeout: 244 seconds)</td></tr><tr><td><a id="21:45:54" href="#21:45:54" class="time">21:45:54</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:45:54" class="msg">so it's kinda one man show?</td></tr><tr><td><a id="21:46:05" href="#21:46:05" class="time">21:46:05</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:46:05" class="msg">dom96: I try to do o["description"] = pkg.description but then on that line it goes: o["description"] = %pkg.description if pkg.description else ""</td></tr><tr><td><a id="21:46:06" href="#21:46:06" class="time">21:46:06</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:46:06" class="msg">Mostly.</td></tr><tr><td><a id="21:46:11" href="#21:46:11" class="time">21:46:11</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:46:11" class="msg">ehm SIGSEGV: Illegal storage access. (Try to compile with -d:useSysAssert -d:useGcAssert for details.)</td></tr><tr><td><a id="21:46:27" href="#21:46:27" class="time">21:46:27</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:46:27" class="msg">the linus torvalds of nim?</td></tr><tr><td><a id="21:46:30" href="#21:46:30" class="time">21:46:30</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:46:30" class="msg">ekarlso-: o or pkg is nil?</td></tr><tr><td><a id="21:46:48" href="#21:46:48" class="time">21:46:48</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:46:48" class="msg">dom96: hmm, how to work around it ?</td></tr><tr><td><a id="21:47:10" href="#21:47:10" class="time">21:47:10</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:47:10" class="msg">alexruf: It's not exactly a one man show. There is a hefty amount of contributors by now.</td></tr><tr><td><a id="21:47:11" href="#21:47:11" class="time">21:47:11</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:47:11" class="msg">Other people contribute to libraries and such, but Araq is the one who does most the compiler changes.</td></tr><tr><td><a id="21:47:47" href="#21:47:47" class="time">21:47:47</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:47:47" class="msg">Also, Araq does discuss design decisions with everyone and takes everybody's input.</td></tr><tr><td><a id="21:47:49" href="#21:47:49" class="time">21:47:49</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:47:49" class="msg">alexruf, essentially. he kind of doles out responsibilities to key people, like dom and Varriount_</td></tr><tr><td><a id="21:47:59" href="#21:47:59" class="time">21:47:59</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:47:59" class="msg">hmm don't know if i like that. nothing agains Araq... but what if he makes the wrong decisions?</td></tr><tr><td><a id="21:48:12" href="#21:48:12" class="time">21:48:12</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:48:12" class="msg">whose to say its the wrong one?</td></tr><tr><td><a id="21:48:13" href="#21:48:13" class="time">21:48:13</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:48:13" class="msg">alexruf: It's open source. Fork it.</td></tr><tr><td><a id="21:48:32" href="#21:48:32" class="time">21:48:32</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:48:32" class="msg">forking ist not the answer</td></tr><tr><td><a id="21:48:34" href="#21:48:34" class="time">21:48:34</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:48:34" class="msg">hmm, dom96 what's the way to set json null or so in nim ?</td></tr><tr><td><a id="21:48:43" href="#21:48:43" class="time">21:48:43</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M21:48:43" class="msg">alexruf: I've seen Araq implement decisions which he personally doesn't prefer</td></tr><tr><td><a id="21:48:54" href="#21:48:54" class="time">21:48:54</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:48:54" class="msg">hmm, dom96 what's the way to set json null or so in nim ?</td></tr><tr><td><a id="21:48:58" href="#21:48:58" class="time">21:48:58</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:48:58" class="msg">ehm, wrong win</td></tr><tr><td><a id="21:49:15" href="#21:49:15" class="time">21:49:15</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:49:15" class="msg">and just because you dont like the thing alexruf doesnt mean he made the wrong choice</td></tr><tr><td><a id="21:49:54" href="#21:49:54" class="time">21:49:54</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:49:54" class="msg">ekarlso-: <a href="http://nim-lang.org/json.html#newJNull,">http://nim-lang.org/json.html#newJNull,</a></td></tr><tr><td><a id="21:50:07" href="#21:50:07" class="time">21:50:07</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:50:07" class="msg">alexruf: Somebody needs to make the decisions.</td></tr><tr><td><a id="21:50:08" href="#21:50:08" class="time">21:50:08</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:50:08" class="msg">dts|pokeball: yes but i think if a OS project grows, it's always good to involve the community in key decisions</td></tr><tr><td><a id="21:50:23" href="#21:50:23" class="time">21:50:23</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:50:23" class="msg">alexruf: Like I said, the community is involved.</td></tr><tr><td><a id="21:51:04" href="#21:51:04" class="time">21:51:04</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:51:04" class="msg">thats good to hear... would be bad if nim someday end in an situation like python 2 vs. 3</td></tr><tr><td><a id="21:51:18" href="#21:51:18" class="time">21:51:18</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:51:18" class="msg">python 2 vs 3 needed to happen</td></tr><tr><td><a id="21:52:18" href="#21:52:18" class="time">21:52:18</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:52:18" class="msg">and anyways, python is OS as well</td></tr><tr><td><a id="21:52:23" href="#21:52:23" class="time">21:52:23</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:52:23" class="msg">same as perl...</td></tr><tr><td><a id="21:52:30" href="#21:52:30" class="time">21:52:30</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:52:30" class="msg">new versions never seemed to happen ?</td></tr><tr><td><a id="21:53:12" href="#21:53:12" class="time">21:53:12</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:53:12" class="msg">yes but the 2 vs. 3 discussion splitts the python community</td></tr><tr><td><a id="21:53:47" href="#21:53:47" class="time">21:53:47</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:53:47" class="msg">youre going to have that with literally almost anything</td></tr><tr><td><a id="21:53:58" href="#21:53:58" class="time">21:53:58</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:53:58" class="msg">alexruf: Such breaking changes are far more serious for interpreted languages than compiled ones though.</td></tr><tr class="join"><td><a id="21:54:11" href="#21:54:11" class="time">21:54:11</a></td><td class="nick">*</td><td id="M21:54:11" class="msg">sjiitr joined #nim</td></tr><tr><td><a id="21:54:15" href="#21:54:15" class="time">21:54:15</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M21:54:15" class="msg">##c is split on c11 and c99</td></tr><tr><td><a id="21:54:22" href="#21:54:22" class="time">21:54:22</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M21:54:22" class="msg">If something like that were to happen to Nim then the problems wouldn't be as severe.</td></tr><tr><td><a id="21:55:17" href="#21:55:17" class="time">21:55:17</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:55:17" class="msg">hmm, what's the optimal way to loop over a seq and execute a function for each element ?</td></tr><tr><td><a id="21:55:26" href="#21:55:26" class="time">21:55:26</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:55:26" class="msg">Why would it be more serious for an interpreted language?</td></tr><tr><td><a id="21:55:26" href="#21:55:26" class="time">21:55:26</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:55:26" class="msg">I was thinking something like a py list compreh but</td></tr><tr class="join"><td><a id="21:56:14" href="#21:56:14" class="time">21:56:14</a></td><td class="nick">*</td><td id="M21:56:14" class="msg">Varriount|Remote joined #nim</td></tr><tr class="quit"><td><a id="21:56:15" href="#21:56:15" class="time">21:56:15</a></td><td class="nick">*</td><td id="M21:56:15" class="msg">gokr quit (Remote host closed the connection)</td></tr><tr><td><a id="21:56:20" href="#21:56:20" class="time">21:56:20</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:56:20" class="msg">since breaking language changes have impact on the ecosystem arround the language it would also have the same impact to compiled langues</td></tr><tr><td><a id="21:56:34" href="#21:56:34" class="time">21:56:34</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M21:56:34" class="msg">someone with macro skilz should write on it next</td></tr><tr><td><a id="21:56:45" href="#21:56:45" class="time">21:56:45</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M21:56:45" class="msg">maybe something like this: <a href="https://danielkeep.github.io/quick-intro-to-macros.html">https://danielkeep.github.io/quick-intro-to-macros.html</a></td></tr><tr><td><a id="21:57:00" href="#21:57:00" class="time">21:57:00</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:57:00" class="msg">Is the implicit "result" variable something people use commonly? It seems like something that'd generally make execution flow hard to follow</td></tr><tr class="join"><td><a id="21:57:14" href="#21:57:14" class="time">21:57:14</a></td><td class="nick">*</td><td id="M21:57:14" class="msg">Boscop_ joined #nim</td></tr><tr><td><a id="21:57:16" href="#21:57:16" class="time">21:57:16</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M21:57:16" class="msg">dymk: Actually, yes it's used commonly</td></tr><tr class="quit"><td><a id="21:57:20" href="#21:57:20" class="time">21:57:20</a></td><td class="nick">*</td><td id="M21:57:20" class="msg">superfunc quit (Quit: Connection closed for inactivity)</td></tr><tr><td><a id="21:57:28" href="#21:57:28" class="time">21:57:28</a></td><td class="nick"><span style="color: #f1fa8c">alexruf</span></td><td id="M21:57:28" class="msg">dom96: and like somebody already sayed "if you don't like it- fork"</td></tr><tr><td><a id="21:57:33" href="#21:57:33" class="time">21:57:33</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:57:33" class="msg">interesting</td></tr><tr><td><a id="21:57:35" href="#21:57:35" class="time">21:57:35</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M21:57:35" class="msg">dymk: And no, it doesn't tend to make things harder to follow</td></tr><tr><td><a id="21:58:35" href="#21:58:35" class="time">21:58:35</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M21:58:35" class="msg">dymk: It's convenient, especially for procedures which construct their results. `return` is only used when it's control-flow properties are needed.</td></tr><tr class="join"><td><a id="21:58:50" href="#21:58:50" class="time">21:58:50</a></td><td class="nick">*</td><td id="M21:58:50" class="msg">vbtt joined #nim</td></tr><tr><td><a id="21:58:56" href="#21:58:56" class="time">21:58:56</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:58:56" class="msg">`result` is like an imperative fold.</td></tr><tr><td><a id="21:58:58" href="#21:58:58" class="time">21:58:58</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:58:58" class="msg">What's the value of "result" upon its first access?</td></tr><tr class="quit"><td><a id="21:59:23" href="#21:59:23" class="time">21:59:23</a></td><td class="nick">*</td><td id="M21:59:23" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr><td><a id="21:59:28" href="#21:59:28" class="time">21:59:28</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M21:59:28" class="msg">0</td></tr><tr><td><a id="21:59:33" href="#21:59:33" class="time">21:59:33</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:59:33" class="msg">whatever the default intialization for that type is</td></tr><tr><td><a id="21:59:37" href="#21:59:37" class="time">21:59:37</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M21:59:37" class="msg">Hmm, I was wondering about the pkg thing dom96</td></tr><tr class="join"><td><a id="21:59:37" href="#21:59:37" class="time">21:59:37</a></td><td class="nick">*</td><td id="M21:59:37" class="msg">jez0990_ joined #nim</td></tr><tr class="join"><td><a id="21:59:40" href="#21:59:40" class="time">21:59:40</a></td><td class="nick">*</td><td id="M21:59:40" class="msg">MightyJoe joined #nim</td></tr><tr><td><a id="21:59:49" href="#21:59:49" class="time">21:59:49</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M21:59:49" class="msg">flaviu, ah alright</td></tr><tr><td><a id="21:59:54" href="#21:59:54" class="time">21:59:54</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M21:59:54" class="msg">Which tends to be nil or 0</td></tr><tr><td><a id="22:00:00" href="#22:00:00" class="time">22:00:00</a></td><td class="nick"><span style="color: #bd93f9">Triplefox</span></td><td id="M22:00:00" class="msg">I didn't even know there was a named "result"</td></tr><tr><td><a id="22:00:09" href="#22:00:09" class="time">22:00:09</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:00:09" class="msg">Triplefox: The more you know!</td></tr><tr class="quit"><td><a id="22:00:11" href="#22:00:11" class="time">22:00:11</a></td><td class="nick">*</td><td id="M22:00:11" class="msg">Boscop quit (Ping timeout: 244 seconds)</td></tr><tr class="join"><td><a id="22:00:20" href="#22:00:20" class="time">22:00:20</a></td><td class="nick">*</td><td id="M22:00:20" class="msg">Nimbus joined #nim</td></tr><tr><td><a id="22:00:33" href="#22:00:33" class="time">22:00:33</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:00:33" class="msg">current setup uses packages.json uses a URL towards where it is</td></tr><tr><td><a id="22:00:34" href="#22:00:34" class="time">22:00:34</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:00:34" class="msg">aaand we crossed 100 active users :)</td></tr><tr><td><a id="22:00:45" href="#22:00:45" class="time">22:00:45</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:00:45" class="msg">nullmove: wooh</td></tr><tr><td><a id="22:00:51" href="#22:00:51" class="time">22:00:51</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:00:51" class="msg">flaviu: Can Mimbus be pm'd with commands?</td></tr><tr><td><a id="22:01:05" href="#22:01:05" class="time">22:01:05</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:01:05" class="msg">but I was wondering if change the url maybe to like a "releases" maybe or smth</td></tr><tr><td><a id="22:01:14" href="#22:01:14" class="time">22:01:14</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:01:14" class="msg">Varriount|Remote: Nope</td></tr><tr><td><a id="22:01:14" href="#22:01:14" class="time">22:01:14</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:01:14" class="msg">so that u could say publish a release tarball or smth?</td></tr><tr><td><a id="22:01:16" href="#22:01:16" class="time">22:01:16</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:01:16" class="msg">.eval echo "Hello Everyone"</td></tr><tr><td><a id="22:01:19" href="#22:01:19" class="time">22:01:19</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:01:19" class="msg">but ask dts|pokeball</td></tr><tr><td><a id="22:01:19" href="#22:01:19" class="time">22:01:19</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M22:01:19" class="msg">Varriount|Remote: Hello Everyone</td></tr><tr><td><a id="22:01:41" href="#22:01:41" class="time">22:01:41</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:01:41" class="msg">Varriount|Remote: Try going in #nim-offtopic if you want to chat with mimbus without spamming</td></tr><tr><td><a id="22:01:41" href="#22:01:41" class="time">22:01:41</a></td><td class="nick"><span style="color: #ff5555">MyMind</span></td><td id="M22:01:41" class="msg">is getting closer to Julia ... 110 vs 101</td></tr><tr><td><a id="22:02:05" href="#22:02:05" class="time">22:02:05</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:02:05" class="msg">we even beat #volt's 9!</td></tr><tr><td><a id="22:03:29" href="#22:03:29" class="time">22:03:29</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M22:03:29" class="msg">Varriount|Remote, uh he should</td></tr><tr class="join"><td><a id="22:03:36" href="#22:03:36" class="time">22:03:36</a></td><td class="nick">*</td><td id="M22:03:36" class="msg">qwebirc559939 joined #nim</td></tr><tr><td><a id="22:03:37" href="#22:03:37" class="time">22:03:37</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M22:03:37" class="msg">ive never tested it though</td></tr><tr class="join"><td><a id="22:03:48" href="#22:03:48" class="time">22:03:48</a></td><td class="nick">*</td><td id="M22:03:48" class="msg">willwillson_ joined #nim</td></tr><tr class="quit"><td><a id="22:04:12" href="#22:04:12" class="time">22:04:12</a></td><td class="nick">*</td><td id="M22:04:12" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr><td><a id="22:04:25" href="#22:04:25" class="time">22:04:25</a></td><td class="nick"><span style="color: #bd93f9">qwebirc559939</span></td><td id="M22:04:25" class="msg">Hm</td></tr><tr class="quit"><td><a id="22:04:29" href="#22:04:29" class="time">22:04:29</a></td><td class="nick">*</td><td id="M22:04:29" class="msg">Varriount|Remote quit (Disconnected by services)</td></tr><tr class="join"><td><a id="22:04:36" href="#22:04:36" class="time">22:04:36</a></td><td class="nick">*</td><td id="M22:04:36" class="msg">Boscop__ joined #nim</td></tr><tr class="nick"><td><a id="22:04:38" href="#22:04:38" class="time">22:04:38</a></td><td class="nick">*</td><td id="M22:04:38" class="msg">qwebirc559939 is now known as Varriount|Remote</td></tr><tr class="join"><td><a id="22:04:43" href="#22:04:43" class="time">22:04:43</a></td><td class="nick">*</td><td id="M22:04:43" class="msg">Nimbus joined #nim</td></tr><tr><td><a id="22:04:45" href="#22:04:45" class="time">22:04:45</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:04:45" class="msg">hello qwebirc559939</td></tr><tr><td><a id="22:04:58" href="#22:04:58" class="time">22:04:58</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:04:58" class="msg">dom96: It's meee!!</td></tr><tr><td><a id="22:05:18" href="#22:05:18" class="time">22:05:18</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:05:18" class="msg">oh it's varriount</td></tr><tr><td><a id="22:05:20" href="#22:05:20" class="time">22:05:20</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:05:20" class="msg">lol</td></tr><tr><td><a id="22:05:36" href="#22:05:36" class="time">22:05:36</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:05:36" class="msg">dom96: That's all I get? An 'Oh'?</td></tr><tr class="quit"><td><a id="22:05:53" href="#22:05:53" class="time">22:05:53</a></td><td class="nick">*</td><td id="M22:05:53" class="msg">Var|Mobile quit (Ping timeout: 256 seconds)</td></tr><tr class="quit"><td><a id="22:05:54" href="#22:05:54" class="time">22:05:54</a></td><td class="nick">*</td><td id="M22:05:54" class="msg">jez0990 quit (Ping timeout: 256 seconds)</td></tr><tr class="quit"><td><a id="22:05:54" href="#22:05:54" class="time">22:05:54</a></td><td class="nick">*</td><td id="M22:05:54" class="msg">cyraxjoe quit (Ping timeout: 256 seconds)</td></tr><tr class="quit"><td><a id="22:05:55" href="#22:05:55" class="time">22:05:55</a></td><td class="nick">*</td><td id="M22:05:55" class="msg">willwillson quit (Ping timeout: 264 seconds)</td></tr><tr class="join"><td><a id="22:05:55" href="#22:05:55" class="time">22:05:55</a></td><td class="nick">*</td><td id="M22:05:55" class="msg">FreezerburnV joined #nim</td></tr><tr><td><a id="22:05:55" href="#22:05:55" class="time">22:05:55</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:05:55" class="msg">I feel unloved. ;p</td></tr><tr><td><a id="22:06:10" href="#22:06:10" class="time">22:06:10</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M22:06:10" class="msg">you should</td></tr><tr><td><a id="22:06:14" href="#22:06:14" class="time">22:06:14</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:06:14" class="msg">yaaaaayyy it's varriount</td></tr><tr><td><a id="22:06:39" href="#22:06:39" class="time">22:06:39</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:06:39" class="msg">hrms.. so I installed mingw-64, and I'm having troubles getting nim to play nice</td></tr><tr class="quit"><td><a id="22:07:02" href="#22:07:02" class="time">22:07:02</a></td><td class="nick">*</td><td id="M22:07:02" class="msg">Boscop_ quit (Ping timeout: 250 seconds)</td></tr><tr><td><a id="22:07:04" href="#22:07:04" class="time">22:07:04</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:07:04" class="msg">I think my previous problem was I have a bunch of 32-bin mingw's in my PATH due to haskell being installed on this box</td></tr><tr><td><a id="22:07:18" href="#22:07:18" class="time">22:07:18</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:07:18" class="msg">Varriount|Remote: I love you</td></tr><tr><td><a id="22:07:25" href="#22:07:25" class="time">22:07:25</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:07:25" class="msg">dom96: Aww.</td></tr><tr><td><a id="22:07:45" href="#22:07:45" class="time">22:07:45</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:07:45" class="msg">.give Varriount|Remote a hug</td></tr><tr><td><a id="22:07:47" href="#22:07:47" class="time">22:07:47</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M22:07:47" class="msg">Varriount|Remote: eval.nim(3, 0) Error: undeclared identifier: 'a'</td></tr><tr><td><a id="22:07:56" href="#22:07:56" class="time">22:07:56</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:07:56" class="msg">.give Varriount|Remote echo("a hug")</td></tr><tr><td><a id="22:07:59" href="#22:07:59" class="time">22:07:59</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M22:07:59" class="msg">Varriount|Remote: a hug</td></tr><tr class="join"><td><a id="22:08:16" href="#22:08:16" class="time">22:08:16</a></td><td class="nick">*</td><td id="M22:08:16" class="msg">Boscop joined #nim</td></tr><tr class="quit"><td><a id="22:08:16" href="#22:08:16" class="time">22:08:16</a></td><td class="nick">*</td><td id="M22:08:16" class="msg">Boscop quit (Changing host)</td></tr><tr class="join"><td><a id="22:08:16" href="#22:08:16" class="time">22:08:16</a></td><td class="nick">*</td><td id="M22:08:16" class="msg">Boscop joined #nim</td></tr><tr><td><a id="22:08:22" href="#22:08:22" class="time">22:08:22</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:08:22" class="msg">no_name: Here's what I generally do: I have two batch files, one that sets up a 32-bit environment, and one that sets up a 64-bit environment</td></tr><tr><td><a id="22:09:04" href="#22:09:04" class="time">22:09:04</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:09:04" class="msg">Varriount|Remote: I've been modifying start.bat to do just that</td></tr><tr class="quit"><td><a id="22:09:08" href="#22:09:08" class="time">22:09:08</a></td><td class="nick">*</td><td id="M22:09:08" class="msg">tgkokk quit (Ping timeout: 264 seconds)</td></tr><tr><td><a id="22:09:33" href="#22:09:33" class="time">22:09:33</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:09:33" class="msg">Varriount|Remote: now gcc in the 64-bit mingw is telling me gcc.exe: error: CreateProcess: No such file or directory</td></tr><tr><td><a id="22:09:49" href="#22:09:49" class="time">22:09:49</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:09:49" class="msg">O_o</td></tr><tr><td><a id="22:10:14" href="#22:10:14" class="time">22:10:14</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:10:14" class="msg">no_name: That's odd...</td></tr><tr><td><a id="22:10:25" href="#22:10:25" class="time">22:10:25</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:10:25" class="msg">I only get that if I copy/paste the gcc commandline that failed at verbosity:4 from nim c, nim c just says "Error: unhandled exception: The system cannot find the file specified"</td></tr><tr class="quit"><td><a id="22:10:50" href="#22:10:50" class="time">22:10:50</a></td><td class="nick">*</td><td id="M22:10:50" class="msg">Boscop__ quit (Ping timeout: 244 seconds)</td></tr><tr><td><a id="22:11:13" href="#22:11:13" class="time">22:11:13</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:11:13" class="msg">not sure if I selected the right mingw-64 variant in the installer</td></tr><tr class="join"><td><a id="22:11:21" href="#22:11:21" class="time">22:11:21</a></td><td class="nick">*</td><td id="M22:11:21" class="msg">tgkokk joined #nim</td></tr><tr><td><a id="22:11:29" href="#22:11:29" class="time">22:11:29</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:11:29" class="msg">no_name: Which installer? The Nim installer?</td></tr><tr><td><a id="22:11:38" href="#22:11:38" class="time">22:11:38</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:11:38" class="msg">I picked x86_64-4.9.2-posix-seh-rt_v3-rev1</td></tr><tr><td><a id="22:11:51" href="#22:11:51" class="time">22:11:51</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:11:51" class="msg">Varriount|Remote: no the ming64 installer</td></tr><tr><td><a id="22:12:01" href="#22:12:01" class="time">22:12:01</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:12:01" class="msg">no_name: If you need interactive help, we could use teamviewer</td></tr><tr><td><a id="22:12:10" href="#22:12:10" class="time">22:12:10</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:12:10" class="msg">ok</td></tr><tr class="quit"><td><a id="22:13:37" href="#22:13:37" class="time">22:13:37</a></td><td class="nick">*</td><td id="M22:13:37" class="msg">vbtt quit (Ping timeout: 244 seconds)</td></tr><tr class="quit"><td><a id="22:15:28" href="#22:15:28" class="time">22:15:28</a></td><td class="nick">*</td><td id="M22:15:28" class="msg">Nimbus quit (Remote host closed the connection)</td></tr><tr class="join"><td><a id="22:16:03" href="#22:16:03" class="time">22:16:03</a></td><td class="nick">*</td><td id="M22:16:03" class="msg">Nimbus joined #nim</td></tr><tr class="quit"><td><a id="22:21:18" href="#22:21:18" class="time">22:21:18</a></td><td class="nick">*</td><td id="M22:21:18" class="msg">FreezerburnV quit (Quit: FreezerburnV)</td></tr><tr><td><a id="22:23:40" href="#22:23:40" class="time">22:23:40</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:23:40" class="msg">Does nim have a compile time evan?</td></tr><tr><td><a id="22:23:42" href="#22:23:42" class="time">22:23:42</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:23:42" class="msg">*eval</td></tr><tr><td><a id="22:24:02" href="#22:24:02" class="time">22:24:02</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:24:02" class="msg">e.g. const x = eval("1 + 2")</td></tr><tr><td><a id="22:24:11" href="#22:24:11" class="time">22:24:11</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:24:11" class="msg">a-la D's mixin</td></tr><tr><td><a id="22:25:00" href="#22:25:00" class="time">22:25:00</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:25:00" class="msg">will Nim have support for /* */ for docs ?</td></tr><tr><td><a id="22:25:20" href="#22:25:20" class="time">22:25:20</a></td><td class="nick"><span style="color: #8be9fd">dts|pokeball</span></td><td id="M22:25:20" class="msg">dymk, no clue, but you can kind of do what i do with nimbus i guess</td></tr><tr><td><a id="22:25:59" href="#22:25:59" class="time">22:25:59</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:25:59" class="msg">dts|pokeball, I ask because it's basically required to port <a href="https://github.com/dymk/temple">https://github.com/dymk/temple</a> to nim</td></tr><tr><td><a id="22:26:18" href="#22:26:18" class="time">22:26:18</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:26:18" class="msg">ekarlso-: No.</td></tr><tr><td><a id="22:26:27" href="#22:26:27" class="time">22:26:27</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:26:27" class="msg">Varriount|Remote: why not ? :/</td></tr><tr><td><a id="22:26:37" href="#22:26:37" class="time">22:26:37</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:26:37" class="msg">perhaps I could get away with writing the generated template to a file, as nim has those compile-time file I/O stuff</td></tr><tr><td><a id="22:26:52" href="#22:26:52" class="time">22:26:52</a></td><td class="nick"><span style="color: #bd93f9">no_name</span></td><td id="M22:26:52" class="msg">ekarlso-: because it's not interpretted</td></tr><tr><td><a id="22:27:00" href="#22:27:00" class="time">22:27:00</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:27:00" class="msg">kk</td></tr><tr><td><a id="22:27:05" href="#22:27:05" class="time">22:27:05</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:27:05" class="msg">ekarlso-: Mainly because we already have doc-comments (##), and those kind of comments complicate parsing.</td></tr><tr><td><a id="22:27:16" href="#22:27:16" class="time">22:27:16</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:27:16" class="msg">rust</td></tr><tr><td><a id="22:27:20" href="#22:27:20" class="time">22:27:20</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:27:20" class="msg">does have it but -,,-</td></tr><tr><td><a id="22:28:21" href="#22:28:21" class="time">22:28:21</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:28:21" class="msg">dymk, not familiar with D but you can use parseStmt and parseExpr from macros module to construct the AST of valid nim statement/expression for further use</td></tr><tr><td><a id="22:28:34" href="#22:28:34" class="time">22:28:34</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:28:34" class="msg">nullmove, that's perfect</td></tr><tr><td><a id="22:29:11" href="#22:29:11" class="time">22:29:11</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M22:29:11" class="msg">Varriount|Remote: and the proposed changes on github? I don't know if they are also for doc comments</td></tr><tr><td><a id="22:29:57" href="#22:29:57" class="time">22:29:57</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M22:29:57" class="msg"><a href="https://github.com/Araq/Nim/issues/1535">https://github.com/Araq/Nim/issues/1535</a></td></tr><tr class="quit"><td><a id="22:32:22" href="#22:32:22" class="time">22:32:22</a></td><td class="nick">*</td><td id="M22:32:22" class="msg">tgkokk quit (Ping timeout: 245 seconds)</td></tr><tr><td><a id="22:32:25" href="#22:32:25" class="time">22:32:25</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:32:25" class="msg">i have a few notes for the tutorial</td></tr><tr><td><a id="22:32:44" href="#22:32:44" class="time">22:32:44</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:32:44" class="msg">It throws *so much* new syntax at you, along with a bunch of built-in datatypes that nim supports</td></tr><tr><td><a id="22:33:11" href="#22:33:11" class="time">22:33:11</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:33:11" class="msg">i'd suggest introducing the datatypes that'd be more familiar to new users, such as objects and enums, and going over value vs reference passing</td></tr><tr><td><a id="22:33:56" href="#22:33:56" class="time">22:33:56</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:33:56" class="msg">then later on introducing sets, sequences, subtype ranges, etc</td></tr><tr><td><a id="22:34:25" href="#22:34:25" class="time">22:34:25</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:34:25" class="msg">dymk: Well, technically speaking, it's more like 'value vs reference assignment'</td></tr><tr><td><a id="22:34:50" href="#22:34:50" class="time">22:34:50</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:34:50" class="msg">Varriount|Remote, how do you mean?</td></tr><tr><td><a id="22:35:03" href="#22:35:03" class="time">22:35:03</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:35:03" class="msg">Since, unless you use the `byCopy` pragma, all procedure arguments greater than x bytes are passed via pointer</td></tr><tr><td><a id="22:35:08" href="#22:35:08" class="time">22:35:08</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M22:35:08" class="msg">this <a href="http://nim-by-example.github.io/">http://nim-by-example.github.io/</a> needs to go in the topic, which no one reads, but still :p</td></tr><tr><td><a id="22:35:21" href="#22:35:21" class="time">22:35:21</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M22:35:21" class="msg">hehe</td></tr><tr><td><a id="22:35:40" href="#22:35:40" class="time">22:35:40</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:35:40" class="msg">Varriount|Remote, hm, is it easy to tell for any variable what's being passed by ref and what's being passed by value?</td></tr><tr><td><a id="22:35:57" href="#22:35:57" class="time">22:35:57</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M22:35:57" class="msg">heh</td></tr><tr><td><a id="22:35:59" href="#22:35:59" class="time">22:35:59</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:35:59" class="msg">like what if I want to use some large struct passed in as an argument as a temporary variable later</td></tr><tr><td><a id="22:36:24" href="#22:36:24" class="time">22:36:24</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:36:24" class="msg">but it was actually passed via ref, and thus is modifying the data in a higher stack frame</td></tr><tr><td><a id="22:37:23" href="#22:37:23" class="time">22:37:23</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:37:23" class="msg">dymk: Ref tyes are passed via ref. Object types whose size is greater than that of a pointer are passed via ref. `Var` parameters are passed via ref. Everything else is passed via value.</td></tr><tr class="quit"><td><a id="22:37:30" href="#22:37:30" class="time">22:37:30</a></td><td class="nick">*</td><td id="M22:37:30" class="msg">alexruf quit (Quit: Textual IRC Client: www.textualapp.com)</td></tr><tr><td><a id="22:37:32" href="#22:37:32" class="time">22:37:32</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:37:32" class="msg">nimble -y install -d:useSysAssert -d:useGcAssert < isn't it like that ?</td></tr><tr><td><a id="22:37:45" href="#22:37:45" class="time">22:37:45</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:37:45" class="msg">dymk: Keep in mind that arguments can't be modified unless they are var types</td></tr><tr><td><a id="22:38:01" href="#22:38:01" class="time">22:38:01</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:38:01" class="msg">So objects can be passed via ref or value, depending on the arch they're compiled on?</td></tr><tr><td><a id="22:38:08" href="#22:38:08" class="time">22:38:08</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M22:38:08" class="msg">is there a better way to initialize base_deck in this example: <a href="http://ur1.ca/jamu2">http://ur1.ca/jamu2</a></td></tr><tr><td><a id="22:38:54" href="#22:38:54" class="time">22:38:54</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M22:38:54" class="msg">dymk: yes</td></tr><tr class="join"><td><a id="22:38:54" href="#22:38:54" class="time">22:38:54</a></td><td class="nick">*</td><td id="M22:38:54" class="msg">jefus__ joined #nim</td></tr><tr><td><a id="22:39:14" href="#22:39:14" class="time">22:39:14</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:39:14" class="msg">hm</td></tr><tr class="join"><td><a id="22:39:30" href="#22:39:30" class="time">22:39:30</a></td><td class="nick">*</td><td id="M22:39:30" class="msg">vbtt joined #nim</td></tr><tr><td><a id="22:39:43" href="#22:39:43" class="time">22:39:43</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:39:43" class="msg">dom96: is there a good way to ensure that all keys are passed ?</td></tr><tr><td><a id="22:40:04" href="#22:40:04" class="time">22:40:04</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:40:04" class="msg">ekarlso-: keys?</td></tr><tr><td><a id="22:40:19" href="#22:40:19" class="time">22:40:19</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:40:19" class="msg">I guess that's not an issue if arguments can't be changed</td></tr><tr><td><a id="22:40:20" href="#22:40:20" class="time">22:40:20</a></td><td class="nick"><span style="color: #6272a4">EXetoC</span></td><td id="M22:40:20" class="msg">dymk: which does reduce the mental overhead somewhat</td></tr><tr><td><a id="22:40:37" href="#22:40:37" class="time">22:40:37</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:40:37" class="msg">dom96: like {"name": "foo"} u want to check that "name" is there and is string</td></tr><tr><td><a id="22:40:40" href="#22:40:40" class="time">22:40:40</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:40:40" class="msg">Forty-3: You could use sequence comprehensions to simplify the new_deck procedure.</td></tr><tr><td><a id="22:41:01" href="#22:41:01" class="time">22:41:01</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:41:01" class="msg">ekarlso-: Please look at the documentation: <a href="http://nim-lang.org/json.html">http://nim-lang.org/json.html</a></td></tr><tr><td><a id="22:41:07" href="#22:41:07" class="time">22:41:07</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:41:07" class="msg">ekarlso-: It's got all the functions you need.</td></tr><tr><td><a id="22:41:13" href="#22:41:13" class="time">22:41:13</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:41:13" class="msg">ekarlso-: What you want in this case is hasKey.</td></tr><tr><td><a id="22:41:36" href="#22:41:36" class="time">22:41:36</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:41:36" class="msg">Forty-3: <a href="http://nim-lang.org/future.html">http://nim-lang.org/future.html</a></td></tr><tr><td><a id="22:41:58" href="#22:41:58" class="time">22:41:58</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:41:58" class="msg">Forty-3: `Card = object of TObject` is not a good idea. If you place that inside a seq[TObject], you'll get the fields chopped off. You probably want to use `Card = object` instead</td></tr><tr class="quit"><td><a id="22:42:17" href="#22:42:17" class="time">22:42:17</a></td><td class="nick">*</td><td id="M22:42:17" class="msg">jefus_ quit (Ping timeout: 240 seconds)</td></tr><tr><td><a id="22:42:26" href="#22:42:26" class="time">22:42:26</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:42:26" class="msg">Or maybe `Card = ref object of TObject`, although you don't really need allocation here.</td></tr><tr><td><a id="22:42:34" href="#22:42:34" class="time">22:42:34</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M22:42:34" class="msg">flaviu: I saw that in the tutorial >.></td></tr><tr><td><a id="22:42:51" href="#22:42:51" class="time">22:42:51</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M22:42:51" class="msg">what's the blessed way to spawn processes in nim? is there some convenience library with async goodies?</td></tr><tr class="quit"><td><a id="22:43:35" href="#22:43:35" class="time">22:43:35</a></td><td class="nick">*</td><td id="M22:43:35" class="msg">vbtt quit (Ping timeout: 244 seconds)</td></tr><tr><td><a id="22:43:43" href="#22:43:43" class="time">22:43:43</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:43:43" class="msg">RushPL: The osproc module</td></tr><tr><td><a id="22:44:01" href="#22:44:01" class="time">22:44:01</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:44:01" class="msg">dom96: does jester support static file serving ?</td></tr><tr><td><a id="22:44:12" href="#22:44:12" class="time">22:44:12</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:44:12" class="msg">ekarlso-: yes</td></tr><tr><td><a id="22:44:15" href="#22:44:15" class="time">22:44:15</a></td><td class="nick"><span style="color: #ff5555">RushPL</span></td><td id="M22:44:15" class="msg">cheers, all right I see the doc <a href="http://nim-lang.org/osproc.html">http://nim-lang.org/osproc.html</a></td></tr><tr><td><a id="22:44:21" href="#22:44:21" class="time">22:44:21</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:44:21" class="msg">ekarlso-: look at jesters readme</td></tr><tr><td><a id="22:44:29" href="#22:44:29" class="time">22:44:29</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M22:44:29" class="msg">Varriount: thanks, that looks like what I'm looking for</td></tr><tr><td><a id="22:44:44" href="#22:44:44" class="time">22:44:44</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:44:44" class="msg">Varriount|Remote, the manual mentions of type RawFlowVar but I can't find it in threadpool</td></tr><tr><td><a id="22:45:03" href="#22:45:03" class="time">22:45:03</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:45:03" class="msg">did it got renamed to FlowVarBase?</td></tr><tr><td><a id="22:45:04" href="#22:45:04" class="time">22:45:04</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:45:04" class="msg">flaviu: I don't think that will happen.</td></tr><tr><td><a id="22:45:16" href="#22:45:16" class="time">22:45:16</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:45:16" class="msg">nullmove: Um, what is your statement in reference to?</td></tr><tr><td><a id="22:45:59" href="#22:45:59" class="time">22:45:59</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:45:59" class="msg">in the first example here: <a href="http://nim-lang.org/manual.html#spawn-statement">http://nim-lang.org/manual.html#spawn-statement</a></td></tr><tr><td><a id="22:46:05" href="#22:46:05" class="time">22:46:05</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:46:05" class="msg">.give dom96 type T = object of TObject; a: int;let x: TObject = T( a : 2 );echo x.a</td></tr><tr><td><a id="22:46:08" href="#22:46:08" class="time">22:46:08</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M22:46:08" class="msg">dom96: eval.nim(6, 6) Error: undeclared identifier: 'a'</td></tr><tr><td><a id="22:46:12" href="#22:46:12" class="time">22:46:12</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:46:12" class="msg">sorry second example</td></tr><tr><td><a id="22:46:30" href="#22:46:30" class="time">22:46:30</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:46:30" class="msg">var responses = newSeq[RawFlowVar](3)</td></tr><tr><td><a id="22:46:38" href="#22:46:38" class="time">22:46:38</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:46:38" class="msg">.give dom96 type T = object of TObject; asd: int;let x: TObject = T( asd : 2 );echo T(x).asd</td></tr><tr><td><a id="22:46:38" href="#22:46:38" class="time">22:46:38</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:46:38" class="msg">what is RawFlowVar?</td></tr><tr><td><a id="22:46:41" href="#22:46:41" class="time">22:46:41</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M22:46:41" class="msg">dom96: 0</td></tr><tr><td><a id="22:46:51" href="#22:46:51" class="time">22:46:51</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:46:51" class="msg">dom96: looks like it just did happen</td></tr><tr><td><a id="22:47:01" href="#22:47:01" class="time">22:47:01</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:47:01" class="msg">nullmove: Let me look in threadpool.nim</td></tr><tr><td><a id="22:47:03" href="#22:47:03" class="time">22:47:03</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:47:03" class="msg">Forty-3: Thanks, the tutorial is wrong in this case then.</td></tr><tr><td><a id="22:47:34" href="#22:47:34" class="time">22:47:34</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M22:47:34" class="msg"><a href="http://nim-lang.org/tut2.html">http://nim-lang.org/tut2.html</a> is what I was looking at</td></tr><tr><td><a id="22:47:39" href="#22:47:39" class="time">22:47:39</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:47:39" class="msg">nullmove: Does 'FlowVar' work?</td></tr><tr><td><a id="22:47:53" href="#22:47:53" class="time">22:47:53</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:47:53" class="msg">flaviu: I'd say that it might be a bug then</td></tr><tr><td><a id="22:48:01" href="#22:48:01" class="time">22:48:01</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:48:01" class="msg">dom96: It's not</td></tr><tr><td><a id="22:48:11" href="#22:48:11" class="time">22:48:11</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:48:11" class="msg">how would that be a bug?</td></tr><tr><td><a id="22:48:36" href="#22:48:36" class="time">22:48:36</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:48:36" class="msg">nimble -y install -d:useSysAssert -d:useGcAssert < isn't it like that ?</td></tr><tr><td><a id="22:48:45" href="#22:48:45" class="time">22:48:45</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M22:48:45" class="msg">ekarlso-: what are you trying to do?</td></tr><tr><td><a id="22:48:53" href="#22:48:53" class="time">22:48:53</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:48:53" class="msg">You're telling the compiler to make room for n bytes, and then you're telling it to assign n+8 bytes. It's obviously your fault.</td></tr><tr><td><a id="22:49:13" href="#22:49:13" class="time">22:49:13</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M22:49:13" class="msg">def-: I get some error in between that tells me to turn on that..</td></tr><tr><td><a id="22:49:17" href="#22:49:17" class="time">22:49:17</a></td><td class="nick"><span style="color: #f1fa8c">dom96</span></td><td id="M22:49:17" class="msg">flaviu: I get an invalid conversion error at runtime</td></tr><tr><td><a id="22:49:31" href="#22:49:31" class="time">22:49:31</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M22:49:31" class="msg">ekarlso-: sorry, i didn't follow. what are you trying to do?</td></tr><tr><td><a id="22:50:30" href="#22:50:30" class="time">22:50:30</a></td><td class="nick"><span style="color: #bd93f9">dymk</span></td><td id="M22:50:30" class="msg">are the "traced" references the docs refer to only traced in that they're on the GC heap, and GC tracked?</td></tr><tr><td><a id="22:51:13" href="#22:51:13" class="time">22:51:13</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:51:13" class="msg">dom96: Looks like I should update mimbus's compiler then</td></tr><tr><td><a id="22:51:41" href="#22:51:41" class="time">22:51:41</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M22:51:41" class="msg">"mimbus" is such a tease</td></tr><tr><td><a id="22:51:44" href="#22:51:44" class="time">22:51:44</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M22:51:44" class="msg">like...</td></tr><tr><td><a id="22:51:57" href="#22:51:57" class="time">22:51:57</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M22:51:57" class="msg">"nimbus" "nim..." but no, you have to name it "mimbus"</td></tr><tr><td><a id="22:52:07" href="#22:52:07" class="time">22:52:07</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:52:07" class="msg">although it gives me a random value with -d:release</td></tr><tr class="part"><td><a id="22:52:16" href="#22:52:16" class="time">22:52:16</a></td><td class="nick">*</td><td id="M22:52:16" class="msg">Mat4 left #nim (#nim)</td></tr><tr><td><a id="22:52:20" href="#22:52:20" class="time">22:52:20</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:52:20" class="msg">BlaXpirit_: Yep, dts|pokeball is the one making Nimbus</td></tr><tr><td><a id="22:52:30" href="#22:52:30" class="time">22:52:30</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:52:30" class="msg">I don't want conflicts with names</td></tr><tr><td><a id="22:52:38" href="#22:52:38" class="time">22:52:38</a></td><td class="nick"><span style="color: #ff5555">BlaXpirit_</span></td><td id="M22:52:38" class="msg">aha............</td></tr><tr><td><a id="22:55:34" href="#22:55:34" class="time">22:55:34</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:55:34" class="msg">flaviu: What is Mimbus vs. Nimbus ?</td></tr><tr><td><a id="22:56:10" href="#22:56:10" class="time">22:56:10</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M22:56:10" class="msg">Nimbus is the bot that dts|pokeball is creating, Mimbus is the fork that I'm administering temporary.</td></tr><tr><td><a id="22:56:33" href="#22:56:33" class="time">22:56:33</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:56:33" class="msg">dymk: Yes.</td></tr><tr><td><a id="22:57:03" href="#22:57:03" class="time">22:57:03</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M22:57:03" class="msg">Brb, getting foods</td></tr><tr><td><a id="22:57:22" href="#22:57:22" class="time">22:57:22</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:57:22" class="msg">Varriount|Remote, it might but I don't it's relevant</td></tr><tr><td><a id="22:58:30" href="#22:58:30" class="time">22:58:30</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:58:30" class="msg">RawFlowVar produces Error: undeclared identifier so it's no longer there</td></tr><tr><td><a id="22:59:27" href="#22:59:27" class="time">22:59:27</a></td><td class="nick"><span style="color: #50fa7b">nullmove</span></td><td id="M22:59:27" class="msg">it's probably renamed to FlowVarBase now</td></tr><tr class="quit"><td><a id="22:59:48" href="#22:59:48" class="time">22:59:48</a></td><td class="nick">*</td><td id="M22:59:48" class="msg">Matthias247 quit (Read error: Connection reset by peer)</td></tr><tr class="quit"><td><a id="23:01:13" href="#23:01:13" class="time">23:01:13</a></td><td class="nick">*</td><td id="M23:01:13" class="msg">filcuc quit (Quit: Konversation terminated!)</td></tr><tr><td><a id="23:01:54" href="#23:01:54" class="time">23:01:54</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:01:54" class="msg">ok, so I updated the code I was working on, but not it fails with "deck.nim(23, 52) Error: constant expression expected": <a href="http://ur1.ca/jan60">http://ur1.ca/jan60</a></td></tr><tr><td><a id="23:02:00" href="#23:02:00" class="time">23:02:00</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:02:00" class="msg">*now</td></tr><tr class="join"><td><a id="23:04:27" href="#23:04:27" class="time">23:04:27</a></td><td class="nick">*</td><td id="M23:04:27" class="msg">vbtt joined #nim</td></tr><tr><td><a id="23:04:55" href="#23:04:55" class="time">23:04:55</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:04:55" class="msg">Just so you all know, the style guide for Nim is located at <a href="https://github.com/Araq/Nim/wiki/NEP-1-:-Style-Guide-for-Nimrod-Code">https://github.com/Araq/Nim/wiki/NEP-1-:-Style-Guide-for-Nimrod-Code</a></td></tr><tr class="action"><td><a id="23:06:56" href="#23:06:56" class="time">23:06:56</a></td><td class="nick">*</td><td id="M23:06:56" class="msg">Forty-3 has no style</td></tr><tr><td><a id="23:07:04" href="#23:07:04" class="time">23:07:04</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:07:04" class="msg">:<</td></tr><tr class="action"><td><a id="23:07:18" href="#23:07:18" class="time">23:07:18</a></td><td class="nick">*</td><td id="M23:07:18" class="msg">Forty-3 also never has to work with others on code</td></tr><tr><td><a id="23:07:30" href="#23:07:30" class="time">23:07:30</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:07:30" class="msg">which may be a contributing factor</td></tr><tr class="join"><td><a id="23:07:40" href="#23:07:40" class="time">23:07:40</a></td><td class="nick">*</td><td id="M23:07:40" class="msg">uyppp joined #nim</td></tr><tr class="quit"><td><a id="23:07:42" href="#23:07:42" class="time">23:07:42</a></td><td class="nick">*</td><td id="M23:07:42" class="msg">nullmove quit (Ping timeout: 250 seconds)</td></tr><tr><td><a id="23:07:51" href="#23:07:51" class="time">23:07:51</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:07:51" class="msg">Hello uyppp</td></tr><tr><td><a id="23:08:01" href="#23:08:01" class="time">23:08:01</a></td><td class="nick"><span style="color: #ff5555">uyppp</span></td><td id="M23:08:01" class="msg">hey</td></tr><tr class="quit"><td><a id="23:08:54" href="#23:08:54" class="time">23:08:54</a></td><td class="nick">*</td><td id="M23:08:54" class="msg">vbtt quit (Ping timeout: 244 seconds)</td></tr><tr><td><a id="23:09:33" href="#23:09:33" class="time">23:09:33</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:09:33" class="msg"> /topic</td></tr><tr><td><a id="23:10:26" href="#23:10:26" class="time">23:10:26</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M23:10:26" class="msg">so, bootstrap, foundation or angular material ?</td></tr><tr><td><a id="23:10:34" href="#23:10:34" class="time">23:10:34</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:10:34" class="msg">ekarlso-: Huh?</td></tr><tr><td><a id="23:10:46" href="#23:10:46" class="time">23:10:46</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M23:10:46" class="msg">for nim packages site..</td></tr><tr><td><a id="23:11:28" href="#23:11:28" class="time">23:11:28</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:11:28" class="msg">?</td></tr><tr><td><a id="23:11:44" href="#23:11:44" class="time">23:11:44</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:11:44" class="msg">so does anyone know why <a href="http://ur1.ca/jan60">http://ur1.ca/jan60</a> fails to compile?</td></tr><tr><td><a id="23:12:38" href="#23:12:38" class="time">23:12:38</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:12:38" class="msg">Forty-3, did the compiler crash or do you have an error</td></tr><tr><td><a id="23:13:28" href="#23:13:28" class="time">23:13:28</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:13:28" class="msg">eck.nim(23, 52) Error: constant expression expected</td></tr><tr><td><a id="23:13:35" href="#23:13:35" class="time">23:13:35</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:13:35" class="msg">Forty-3: Looking into it..</td></tr><tr><td><a id="23:14:01" href="#23:14:01" class="time">23:14:01</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M23:14:01" class="msg">what js preprocessor does people use ?</td></tr><tr><td><a id="23:15:08" href="#23:15:08" class="time">23:15:08</a></td><td class="nick"><span style="color: #ff5555">ekarlso-</span></td><td id="M23:15:08" class="msg">ehm, nvm</td></tr><tr><td><a id="23:15:18" href="#23:15:18" class="time">23:15:18</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:15:18" class="msg">Forty-3: you can use "let" instead of "const"</td></tr><tr><td><a id="23:16:01" href="#23:16:01" class="time">23:16:01</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:16:01" class="msg">def-: does that also force compile time evaluation?</td></tr><tr><td><a id="23:16:20" href="#23:16:20" class="time">23:16:20</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:16:20" class="msg">I think list comprehensions don't work at compile time, maybe I can fix it</td></tr><tr><td><a id="23:17:16" href="#23:17:16" class="time">23:17:16</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:17:16" class="msg">hm, that was the main reason I was using them</td></tr><tr><td><a id="23:17:25" href="#23:17:25" class="time">23:17:25</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:17:25" class="msg">def-: Yeah, the C compiler throws an error when I move the list comprehension into a procedure.</td></tr><tr class="quit"><td><a id="23:18:06" href="#23:18:06" class="time">23:18:06</a></td><td class="nick">*</td><td id="M23:18:06" class="msg">BlaXpirit_ quit (Quit: Quit Konversation)</td></tr><tr><td><a id="23:18:09" href="#23:18:09" class="time">23:18:09</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:18:09" class="msg">is there a way to see intermediate code after macros/templates are evaluated but before the code is compiled to c?</td></tr><tr><td><a id="23:18:42" href="#23:18:42" class="time">23:18:42</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:18:42" class="msg">Forty-3: Not really. macros and templates aren't expanded in a single pass, they are expanded and run as they are encountered.</td></tr><tr><td><a id="23:19:03" href="#23:19:03" class="time">23:19:03</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:19:03" class="msg">Forty-3: Though, thinking about it, you might be able to use something from the macros modules</td></tr><tr><td><a id="23:19:11" href="#23:19:11" class="time">23:19:11</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:19:11" class="msg">Forty-3, at the end of my macros i usually put when defined(debug): echo(repr(result))</td></tr><tr><td><a id="23:19:35" href="#23:19:35" class="time">23:19:35</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:19:35" class="msg">that way when you compile with -d:debug it prints the generated code at compile time</td></tr><tr><td><a id="23:21:43" href="#23:21:43" class="time">23:21:43</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:21:43" class="msg">Forty-3: echo(repr(getAst(expression))) should do it at runtime</td></tr><tr><td><a id="23:22:12" href="#23:22:12" class="time">23:22:12</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:22:12" class="msg">You'll need to import the macros module though.</td></tr><tr><td><a id="23:22:47" href="#23:22:47" class="time">23:22:47</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:22:47" class="msg">"deck.nim(25, 19) Error: 'lc[Card(suit: s, value: v) | (s <- CardSuits, v <- CardValues), Card]' is no macro or template"</td></tr><tr><td><a id="23:23:20" href="#23:23:20" class="time">23:23:20</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M23:23:20" class="msg">ekarlso-: something simple seems to be typical</td></tr><tr><td><a id="23:23:31" href="#23:23:31" class="time">23:23:31</a></td><td class="nick"><span style="color: #f1fa8c">flaviu</span></td><td id="M23:23:31" class="msg">the docs use <a href="http://cobyism.com/gridism/">http://cobyism.com/gridism/</a></td></tr><tr><td><a id="23:24:06" href="#23:24:06" class="time">23:24:06</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:24:06" class="msg">fowlmouth: that's pretty cool</td></tr><tr><td><a id="23:24:32" href="#23:24:32" class="time">23:24:32</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:24:32" class="msg">That's... odd.</td></tr><tr><td><a id="23:25:24" href="#23:25:24" class="time">23:25:24</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:25:24" class="msg">Forty-3: Frankly, I think the original way is just as good. the list comprehension mechanism is in the future module for a reason.</td></tr><tr><td><a id="23:25:57" href="#23:25:57" class="time">23:25:57</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:25:57" class="msg">Varriount: it just seems weird to define a function and use it exactly once</td></tr><tr><td><a id="23:26:18" href="#23:26:18" class="time">23:26:18</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:26:18" class="msg">like it should be in a static block or something</td></tr><tr><td><a id="23:26:28" href="#23:26:28" class="time">23:26:28</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:26:28" class="msg">make it a compile time proc?</td></tr><tr><td><a id="23:26:30" href="#23:26:30" class="time">23:26:30</a></td><td class="nick"><span style="color: #50fa7b">Varriount|Remote</span></td><td id="M23:26:30" class="msg">Forty-3: *shrug*</td></tr><tr class="join"><td><a id="23:26:45" href="#23:26:45" class="time">23:26:45</a></td><td class="nick">*</td><td id="M23:26:45" class="msg">Demos_ joined #nim</td></tr><tr class="quit"><td><a id="23:28:02" href="#23:28:02" class="time">23:28:02</a></td><td class="nick">*</td><td id="M23:28:02" class="msg">yglukhov__ quit (Quit: Be back later ...)</td></tr><tr class="quit"><td><a id="23:29:58" href="#23:29:58" class="time">23:29:58</a></td><td class="nick">*</td><td id="M23:29:58" class="msg">Demos quit (Ping timeout: 255 seconds)</td></tr><tr><td><a id="23:31:24" href="#23:31:24" class="time">23:31:24</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:31:24" class="msg">Am I right in thinking that there's no real way to do dynamic field binding in Nim</td></tr><tr><td><a id="23:31:28" href="#23:31:28" class="time">23:31:28</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:31:28" class="msg">What I mean by that is</td></tr><tr><td><a id="23:31:43" href="#23:31:43" class="time">23:31:43</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:31:43" class="msg">Being able to handle when some field on some struct is assigned to, having some handler that gets run</td></tr><tr><td><a id="23:31:54" href="#23:31:54" class="time">23:31:54</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:31:54" class="msg">because `=` is not overridable?</td></tr><tr class="join"><td><a id="23:32:05" href="#23:32:05" class="time">23:32:05</a></td><td class="nick">*</td><td id="M23:32:05" class="msg">yglukhov__ joined #nim</td></tr><tr><td><a id="23:32:56" href="#23:32:56" class="time">23:32:56</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:32:56" class="msg">ldlework, the trick is to define accessors</td></tr><tr><td><a id="23:33:05" href="#23:33:05" class="time">23:33:05</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:33:05" class="msg">oh interesting</td></tr><tr><td><a id="23:33:24" href="#23:33:24" class="time">23:33:24</a></td><td class="nick"><span style="color: #ff79c6">jpoirier</span></td><td id="M23:33:24" class="msg">Is there any documentation (or code) about starting the compiler as a service (--server.type:TYPE)?</td></tr><tr><td><a id="23:33:25" href="#23:33:25" class="time">23:33:25</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:33:25" class="msg">ldlework, 'foo' is not a field on Bar, its a property</td></tr><tr><td><a id="23:33:57" href="#23:33:57" class="time">23:33:57</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:33:57" class="msg">ldlework, so you define `foo` and `foo=` for Bar to retrieve that info</td></tr><tr><td><a id="23:34:06" href="#23:34:06" class="time">23:34:06</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:34:06" class="msg">fowlmouth: that's cool thanks</td></tr><tr><td><a id="23:35:05" href="#23:35:05" class="time">23:35:05</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:35:05" class="msg">ldlework, you might be able to use that for your issue from yesterday, call the parent field `p`, have parent(somechild) do the type conversion to Parent</td></tr><tr><td><a id="23:35:51" href="#23:35:51" class="time">23:35:51</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:35:51" class="msg">fowlmouth: perhaps. I just dropped the base class an implemented the parent field on the leaf types directly</td></tr><tr><td><a id="23:35:54" href="#23:35:54" class="time">23:35:54</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:35:54" class="msg">sort of how you suggested</td></tr><tr class="quit"><td><a id="23:36:22" href="#23:36:22" class="time">23:36:22</a></td><td class="nick">*</td><td id="M23:36:22" class="msg">yglukhov__ quit (Ping timeout: 240 seconds)</td></tr><tr><td><a id="23:36:23" href="#23:36:23" class="time">23:36:23</a></td><td class="nick"><span style="color: #ff79c6">ldlework</span></td><td id="M23:36:23" class="msg">(we were not actually using the inheritance for anything at that point so why fight the type system for no reason)</td></tr><tr><td><a id="23:37:06" href="#23:37:06" class="time">23:37:06</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:37:06" class="msg">ok cool</td></tr><tr><td><a id="23:39:37" href="#23:39:37" class="time">23:39:37</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:39:37" class="msg">Can't figure out how to make list comprehensions work when assigning consts. procsvar don't seem to work with consts</td></tr><tr><td><a id="23:39:43" href="#23:39:43" class="time">23:39:43</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:39:43" class="msg">.eval const foo = proc bar(): int = 8</td></tr><tr><td><a id="23:39:46" href="#23:39:46" class="time">23:39:46</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M23:39:46" class="msg">def-: eval.nim(3, 12) Error: internal error: cannot generate VM code for proc</td></tr><tr><td><a id="23:39:55" href="#23:39:55" class="time">23:39:55</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:39:55" class="msg">.eval const foo = proc: int = 8</td></tr><tr><td><a id="23:39:58" href="#23:39:58" class="time">23:39:58</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M23:39:58" class="msg">def-: eval.nim(3, 12) Error: constant expression expected</td></tr><tr><td><a id="23:40:54" href="#23:40:54" class="time">23:40:54</a></td><td class="nick"><span style="color: #ff79c6">Forty-3</span></td><td id="M23:40:54" class="msg">how do I run something once at run time?</td></tr><tr class="join"><td><a id="23:41:38" href="#23:41:38" class="time">23:41:38</a></td><td class="nick">*</td><td id="M23:41:38" class="msg">tinAndi joined #nim</td></tr><tr><td><a id="23:42:10" href="#23:42:10" class="time">23:42:10</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:42:10" class="msg">def-, it needs to output code directly like a template that has a bunch of statements and ends with an expression</td></tr><tr><td><a id="23:42:28" href="#23:42:28" class="time">23:42:28</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:42:28" class="msg">and then it may work</td></tr><tr><td><a id="23:42:34" href="#23:42:34" class="time">23:42:34</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:42:34" class="msg">.eval const x = @[1,2,3]</td></tr><tr><td><a id="23:42:37" href="#23:42:37" class="time">23:42:37</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M23:42:37" class="msg">fowlmouth: <no output></td></tr><tr><td><a id="23:42:50" href="#23:42:50" class="time">23:42:50</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:42:50" class="msg">.eval const x = @[1,2,3]; x[0].echo</td></tr><tr><td><a id="23:42:53" href="#23:42:53" class="time">23:42:53</a></td><td class="nick"><span style="color: #bd93f9">Mimbus</span></td><td id="M23:42:53" class="msg">fowlmouth: eval.nim(4, 2) Error: invalid indentation</td></tr><tr><td><a id="23:45:34" href="#23:45:34" class="time">23:45:34</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:45:34" class="msg">fowlmouth: I don't get how. You can try and make foo a const here: <a href="https://gist.github.com/def-/6b2723d799165ad0e429">https://gist.github.com/def-/6b2723d799165ad0e429</a></td></tr><tr><td><a id="23:45:59" href="#23:45:59" class="time">23:45:59</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:45:59" class="msg">fowlmouth: and you can only change the stuff after "const foo = "</td></tr><tr class="join"><td><a id="23:53:29" href="#23:53:29" class="time">23:53:29</a></td><td class="nick">*</td><td id="M23:53:29" class="msg">MrBlaise joined #nim</td></tr><tr><td><a id="23:53:53" href="#23:53:53" class="time">23:53:53</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:53:53" class="msg">def-, something like this, but im not sure a macro can generate a template <a href="https://gist.github.com/fowlmouth/09102ee53a95ebd2ec9a">https://gist.github.com/fowlmouth/09102ee53a95ebd2ec9a</a></td></tr><tr><td><a id="23:54:16" href="#23:54:16" class="time">23:54:16</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:54:16" class="msg">fowlmouth: especially not before the "const foo = "</td></tr><tr><td><a id="23:54:28" href="#23:54:28" class="time">23:54:28</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:54:28" class="msg">Or can I insert a global proc somehow?</td></tr><tr><td><a id="23:55:16" href="#23:55:16" class="time">23:55:16</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:55:16" class="msg">def-, maybe (template ....)() works</td></tr><tr><td><a id="23:55:46" href="#23:55:46" class="time">23:55:46</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:55:46" class="msg">there is a way to do this i forget how</td></tr><tr><td><a id="23:56:19" href="#23:56:19" class="time">23:56:19</a></td><td class="nick"><span style="color: #ff79c6">def-</span></td><td id="M23:56:19" class="msg">nope, anonymous template doesn't work</td></tr><tr><td><a id="23:57:07" href="#23:57:07" class="time">23:57:07</a></td><td class="nick"><span style="color: #bd93f9">fowlmouth</span></td><td id="M23:57:07" class="msg">bbl</td></tr><tr class="quit"><td><a id="23:58:46" href="#23:58:46" class="time">23:58:46</a></td><td class="nick">*</td><td id="M23:58:46" class="msg">loz quit (Ping timeout: 255 seconds)</td></tr></table></body></html>