00:00:39 | Araq | it doesn't matter you need to implement a new magic or perhaps re-use an existing magic that then in vm.nim exposes/sets n.comment where n: PNode in the compiler |
00:12:03 | * | shevy joined #nim |
00:12:19 | Varriount | alpaca: I like your nickname. |
00:12:37 | * | shevy left #nim ("I'll be back ... maybe") |
00:27:46 | * | perturbation quit (Quit: Leaving) |
00:31:16 | alpaca | Araq: yep, that wasnt too hard. |
00:31:37 | Araq | PR ready? |
00:32:05 | alpaca | nope. 3:31 am (msk), no pr at such time. |
00:33:16 | Araq | still impressive if you managed it in this short amount of time |
00:38:33 | * | NimBot joined #nim |
00:47:57 | alpaca | Araq: btw, what is a proper way for handling bootstraping for such case (compiler vs stdlib versions)? |
00:48:18 | * | yglukhov joined #nim |
00:48:21 | Varriount | onionhammer: Unfortunately, your ctrl+click binding prevents multiple selections in sublime text. |
00:50:50 | Araq | alpaca: usually it just works, you get a warning "unknown magic" but nothing worse happens |
00:52:36 | * | yglukhov quit (Ping timeout: 244 seconds) |
00:55:49 | Araq | or you can wrap it in a 'when not defined(booting)' section |
00:55:55 | Araq | good night |
01:43:41 | * | Demon_Fox quit (Quit: Leaving) |
01:48:34 | onionhammer | Varriount oh, change the mouse binding |
01:48:54 | onionhammer | maybe... alt click? |
01:48:56 | onionhammer | idk |
01:50:01 | onionhammer | Varriount i've told you before, i have no pride in my python code; my python experience = this project :P |
02:01:49 | onionhammer | anyway, what's wrong with static methods? |
02:14:12 | Varriount | onionhammer: Well, for one thing, it's a needless performance penalty. |
02:14:53 | onionhammer | Varriount usually its the other way around |
02:15:04 | onionhammer | static lookup vs dynamic |
02:15:08 | Varriount | onionhammer: But this is Python, an interpreted language. |
02:16:12 | Varriount | Also, static method doesn't mean static lookup (insofar as anything *is* static in Python) |
02:16:52 | Varriount | onionhammer: https://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methods |
02:17:14 | * | Varriount left #nim ("Leaving") |
02:17:20 | * | Varriount joined #nim |
02:19:05 | Varriount | onionhammer: alt+a would be a good hotkey. |
02:20:12 | onionhammer | it already has a hotkey |
02:20:16 | onionhammer | super+i |
02:20:37 | onionhammer | Varriount i realize that python is a dynamically typed language |
02:21:09 | onionhammer | you can choose a key + mousebutton though |
02:36:47 | * | MatrixBridge quit (Read error: Connection reset by peer) |
02:36:56 | * | MatrixBridge joined #nim |
03:01:48 | * | flaviu joined #nim |
03:02:08 | * | BitPuffin|osx quit (Ping timeout: 265 seconds) |
03:11:12 | * | NimBot joined #nim |
03:35:06 | * | darkf joined #nim |
04:20:03 | * | Demos quit (Quit: Leaving) |
04:23:15 | * | pregressive quit (Remote host closed the connection) |
04:23:30 | * | pregressive joined #nim |
04:24:00 | * | pregressive quit (Remote host closed the connection) |
04:24:24 | * | yglukhov joined #nim |
04:29:00 | * | yglukhov quit (Ping timeout: 272 seconds) |
04:30:36 | * | pregressive joined #nim |
04:31:00 | * | yglukhov joined #nim |
04:33:22 | * | NimBot joined #nim |
04:34:50 | * | yglukhov quit (Remote host closed the connection) |
04:37:24 | * | vendethiel joined #nim |
04:39:27 | * | pregressive quit (Remote host closed the connection) |
04:45:29 | * | NimBot joined #nim |
05:00:10 | * | vendethiel quit (Ping timeout: 240 seconds) |
06:11:57 | * | yglukhov joined #nim |
06:12:16 | * | yglukhov quit (Remote host closed the connection) |
06:12:51 | * | yglukhov joined #nim |
06:35:37 | * | elbow quit (Remote host closed the connection) |
06:47:30 | * | NimBot joined #nim |
06:51:54 | * | jszymanski joined #nim |
08:05:36 | * | coffepot joined #nim |
08:20:48 | * | strcmp1 quit (Ping timeout: 272 seconds) |
08:31:56 | * | Trustable joined #nim |
08:51:02 | * | dalarmmst quit (Remote host closed the connection) |
08:52:43 | * | dalarmmst joined #nim |
09:00:53 | * | yglukhov_ joined #nim |
09:03:11 | * | yglukhov quit (Ping timeout: 265 seconds) |
09:05:21 | * | vendethiel joined #nim |
09:42:16 | coffepot | is there an 'in place' case insensitive string comparison somewhere? I don't really want to use .toLower/.toUpper to create new strings if I can avoid it |
09:49:39 | * | dalarmmst quit (Remote host closed the connection) |
09:51:13 | Araq | coffepot: strutils.cmpIgnoreCase doesn't allocate |
09:51:24 | Araq | unicode has it too iirc |
09:52:41 | coffepot | cool, that was one i was looking at. Ideally I wanted a "sameStr" that's case insensitive but honestly I am guilty of micro optimising here :) cmpIgnoreCase it is |
09:52:52 | coffepot | thanks |
09:53:54 | coffepot | looking at the code for cmpIgnoreCase I needn't have worried about optimising lol |
09:55:44 | * | dalarmmst joined #nim |
09:58:18 | * | Demon_Fox joined #nim |
10:08:01 | * | minus quit (Ping timeout: 240 seconds) |
10:08:01 | * | reactormonk quit (Ping timeout: 240 seconds) |
10:10:18 | * | minus joined #nim |
10:23:18 | * | yglukhov joined #nim |
10:23:18 | * | yglukhov_ quit (Read error: Connection reset by peer) |
10:23:24 | * | yglukhov quit (Remote host closed the connection) |
10:24:01 | * | yglukhov joined #nim |
10:29:17 | * | xet7 quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
10:32:49 | * | reactormonk joined #nim |
10:44:11 | * | zahary1 quit (Ping timeout: 244 seconds) |
10:50:44 | * | hio joined #nim |
10:50:51 | hio | the truth is that Nim is a HOBBY langauge |
10:50:56 | hio | it will never compete with c# |
10:53:39 | bogen | so, the places nim is used on production systems in workplaces, those production systems are hobby systems? |
10:54:36 | hio | bogen: who uses nim in production? |
10:57:52 | bogen | there are several people on this forum that do. I use nim at work far more than I use it at home. I'm used nim quite a bit this year, most of that for work. |
10:59:12 | hio | bogen: doesnt your manager tell you to stop using a language that isn't company policy? |
10:59:25 | hio | other people wont be able to pick up your code easily |
11:00:24 | coffepot | the distinction between what you call a hobby language and "competing with c#" is simply "number of users". Languages are used in business when they best suit the task, where pros and cons are considered, not when they have enough users. |
11:02:10 | bogen | The only C# language I'd consider is Boo, but that is not very well maintaned. Nim has more momentum now than Boo as far as I can tell, and that is growing. |
11:02:27 | coffepot | whilst c# has been around for years and is pushed my MS, it doesn't make it more "right" or "better for business", it is simply more popular |
11:03:00 | bogen | I can find a lot more examples online on doing stuff in Nim than in Boo, plus Boo (and C# are deficient in many areas language wise) |
11:03:46 | bogen | PHP is poupular. Javascript is popular. Are they good languages? |
11:05:55 | coffepot | hio, I've noticed you have a somewhat contentious approach in here - the other day you came in and announced all languages without an IDE are rubbish, and when pointed to IDE support for Nim you stopped commenting. Are you looking for reasons not to pick up Nim because you're worried it's not going to "hit it big"? |
11:06:09 | bogen | hio, 14 years ago when I was using Linux in the workplace people said the same thing. Including co-workers. Now Linux is the mainstream in most places I work. |
11:06:41 | bogen | well, even going back much long than 14 years |
11:07:00 | hio | coffepot: yes i have exactly that fear |
11:07:29 | coffepot | that's completely fair enough, especially if you're thinking of pushing a case to use it at work |
11:08:14 | bogen | there is no pushing of C# where I work |
11:09:33 | coffepot | I'd argue that it really depends on your use case whether to commit to Nim in the workplace. I'm looking at using Nim at work but I had to make sure it did what I needed to do before hand (in my case I needed SQL server access, so I wrote an ODBC library which is very near release) |
11:10:44 | coffepot | What I would say though, is that if you look on the support page http://nim-lang.org/support.html Araq does take paid submissions for bug fixing or features, so to me the alleviated some of the concern I'd have if I needed to get something working and there was a bug in the language |
11:16:19 | bogen | I'm not really concerned about Nim not making it big. most mainstream languages are severely lacking in some major areas. Some of the viable alternatiaves (Rust, Go, D) have a lot of design baggage that will stifle them later on. (not they won't be useful for many people). For me Nim has what they all lack, decent meta programming support. D has some, but it does not scale, and is severely crippled compared to Nim. |
11:17:21 | coffepot | Nim is moving forward at a great pace and I think more or less does everything you need in a basic commercial setting. It had decent templating support for webapps, anything non-visual is a breeze and the Nim syntax and stdlib will take care of you. I'd say it is not up to C# in GUI support yet, but I've seen some projects that may help this |
11:17:43 | Araq | I'm only concerned about the number of open bugs, so I am beginning to change plans slightly |
11:20:07 | coffepot | tbh the only bugs I've encountered are with metaprogramming, and only when I've been doing something naive |
11:20:50 | coffepot | the basic language seems very solid |
11:22:12 | Araq | I think we'll focus on getting the breaking changes implemented and then declare the language stable but the implementation merely "solid" |
11:22:31 | coffepot | totally agree with you bogen - the big modern languages are all lacking in some way that I feel Nim has addressed really well, so it does seem to be the general purpose language of the future, at least for me. I've just started getting into metaprogramming and it's just amazing |
11:23:39 | coffepot | Araq, what are the general breaking changes coming up? |
11:24:45 | Araq | - closure iterators will be less wierd (we hope) |
11:24:57 | Araq | - immediate templates and macros need to be deprecated |
11:25:02 | coffepot | cool, not something I'm using explicitly :3 |
11:25:16 | Araq | - tables.mget will be tables.[] |
11:25:38 | coffepot | are you removing .mitems too? |
11:25:43 | hio | bogen: what design baggage does go have? |
11:25:47 | Araq | no |
11:26:19 | coffepot | fair enough, how are immediate templates gonna be done? I do use those quite a bit |
11:26:37 | Araq | - multi methods need more annotations but I'm not sure what exactly to do about these |
11:26:54 | bogen | Araq: in regards to immediate templates/macros being deprecated, does the associated functionality go away? (var/const/let/etc injection) |
11:27:13 | Araq | coffepot: a template that only takes 'untyped' params is "immediate"-like already |
11:27:53 | coffepot | what about if you take typed and stmt/expr, can you still make it immediate? |
11:28:30 | Araq | 'expr' is only an alias for 'typed' anyway and 'stmt' needs to go |
11:28:41 | Araq | er an alias for 'untyped' |
11:29:04 | Araq | well 'stmt' is an alias for 'typed' |
11:29:13 | Araq | which makes no sense really ... ;-) |
11:30:05 | coffepot | but we'll still be able to do the equivilent of template(things: stmt) to do blocks tho I assume |
11:30:24 | bogen | hio: I don't see go as every having decent compile time execution or function meta programming support. As far as design baggage, well, go is not really that revolutionarily. It is just a pascal/algol with a modern C/C# like syntax and some contemporay features but that is just my opinion based on my playing with Go for a while a few years ago. |
11:30:50 | coffepot | well pascal has generics *ducks* |
11:31:31 | bogen | :) |
11:32:59 | hio | ok but at least go compiles quickly |
11:33:38 | coffepot | but nim compiles faster, faster even than pascal AFAICT (which is pretty cool) |
11:34:29 | Araq | nah, pascal compiles MUCH faster |
11:34:40 | Araq | especially since they have working symbol files |
11:35:03 | coffepot | ah fair enough, I must admit I have bug small programs in nim. Yeah pascal is crazy fast |
11:35:06 | hio | for example i downloaded nim, tried to compile the hello world example and get this: unhandled exception: The system cannot find the file specified |
11:35:08 | coffepot | * but |
11:35:10 | hio | (on windows) |
11:35:20 | Araq | but fast compile times are not everything |
11:35:59 | Araq | hio: upcoming 0.11.4 will tell you in a more friendly way that it cannot find GCC |
11:36:25 | hio | ok |
11:37:52 | Araq | which the installer supports installing for you ... but I'm positive that eventually you will read something that we put onto your screen. |
11:39:59 | Araq | unfortunately most computers still lack a cudgel-like device we could program |
11:46:55 | hio | Araq: did you just call me a bitch? |
11:50:25 | * | Jesin quit (Ping timeout: 265 seconds) |
11:51:56 | * | bogen surmises hio has some very strange IRC client translation filters installed |
11:56:00 | coffepot | wat |
12:08:01 | yglukhov | Hi All. Does anyone know where Future type is defined? |
12:11:58 | def- | yglukhov: asyncdispatch module |
12:12:39 | yglukhov | Ah, there it is! |
12:12:45 | yglukhov | thanks =) |
12:29:04 | alpaca | is https://github.com/jhspetersson (owner of idea-nim repository) here? |
12:30:22 | * | dalarmmst quit (Remote host closed the connection) |
12:31:53 | * | dalarmmst joined #nim |
12:32:49 | Araq | hio: no, it was a mild form of RTFM |
12:35:22 | hio | Araq: the installer should tell me that a specific component is REQUIRED. |
12:36:16 | coffepot | the installer does include gcc, it's probably just your path needs pointing to it |
12:36:34 | Araq | the installer can also update your path ... |
12:37:15 | coffepot | i remember having to fiddle with the patch to point to gcc for some reason |
12:37:42 | Araq | well the installer assumes that a user specific PATH env var exists |
12:38:01 | Araq | which for reasons that completely escape me is not the case for every windows installation |
12:55:14 | * | hio quit (Quit: Page closed) |
12:57:06 | coffepot | does anyone have any thoughts on how this looks for accessing fields by name? https://gist.github.com/coffeepots/fdf1b85ee2148f7adfd1 |
12:57:35 | coffepot | general feedback welcome |
12:57:46 | coffepot | ah, forgot to mention: this is odbc interface so far |
13:01:52 | Araq | you can overload `.` to get foo.bar syntax instead of foo["bar"] |
13:02:17 | Araq | I'm not sure I like that feature though |
13:02:21 | coffepot | you mean so i could have qry.fields.strcol to access it direct? |
13:02:30 | Araq | yeah |
13:02:45 | coffepot | nice feature but yeah not sure if that'd be good for queries |
13:03:20 | coffepot | temping though |
13:03:24 | coffepot | tempting |
13:05:44 | coffepot | i think I'm gonna try doing both - ["str"] and overloading '.', see how it looks |
13:06:38 | coffepot | i suppose technically, it would be possible to check parameter names at compile time (when statements are const) :-o Though, I don't think I'll be doing that for now |
13:07:01 | coffepot | that would be pretty sweet though... |
13:07:49 | Araq | the unicode middot should be parsed as '.' perhaps |
13:07:58 | Araq | but people are against unicode |
13:08:43 | coffepot | currently this supports unicode by converting to widestring and back again for sql server, which doesn't support utf8 :/ |
13:09:05 | coffepot | however, it works when you have funky codepage conflicts so i guess there's that! |
13:09:46 | Araq | coffepot: OnO is working on an ORM |
13:09:57 | Araq | so things are statically checked |
13:10:54 | coffepot | nice, didn't know he was including that in his ORM. I think there'll still be a place for 'raw' db library wrappers though for DBs that aren't built with ORM in mind |
13:11:20 | coffepot | at least, from what OnO was saying a while back |
13:13:03 | * | strcmp1 joined #nim |
13:38:23 | * | FedeOmoto joined #nim |
13:39:17 | * | alpaca left #nim (#nim) |
13:40:15 | * | alpaca___ joined #nim |
13:40:42 | * | alpaca___ quit (Client Quit) |
13:41:10 | * | alpaca__ joined #nim |
13:43:18 | coffepot | If I have module A, B and C, and module A includes unit B, which includes unit C, should module A be able to access private symbols in module C? |
13:43:41 | coffepot | unit = module |
13:44:29 | Araq | for 'include', yes. for 'import', no. |
13:45:19 | coffepot | hmm I thought so, cheers |
13:48:30 | FedeOmoto | is there something similar to proc forward declaration but for types? |
13:48:55 | Araq | no, workaround is to use subtyping |
13:52:39 | FedeOmoto | thnx Araq! |
13:53:48 | FedeOmoto | and... any workaround for this?: |
13:54:02 | FedeOmoto | [fomoto@terminus compiler]$ cat a.nim && echo "----" && cat b.nim |
13:54:02 | FedeOmoto | import b |
13:54:02 | FedeOmoto | type A = object |
13:54:02 | FedeOmoto | a: B |
13:54:02 | FedeOmoto | ---- |
13:54:03 | FedeOmoto | import a |
13:54:05 | FedeOmoto | type B = object |
13:54:09 | FedeOmoto | a: A |
13:57:44 | Araq | as I said, you need to use subtyping |
13:58:00 | Araq | type A = object |
13:58:09 | Araq | a: RootRef |
13:58:23 | Araq | type B = object of RootObj |
13:58:27 | Araq | a: A |
13:58:43 | Araq | let a = A() |
13:59:12 | Araq | (ref B)(a.a) # convert to proper underlying type |
13:59:40 | Araq | btw your example requires an infinite amount of memory for a variable of type A (or B) |
14:03:31 | * | jszymanski left #nim ("bye") |
14:08:46 | * | saml joined #nim |
14:09:09 | * | MatrixBridge quit (Remote host closed the connection) |
14:09:28 | * | BitPuffin joined #nim |
14:14:02 | * | Demos joined #nim |
14:14:19 | * | Demos quit (Remote host closed the connection) |
14:14:47 | strcmp1 | where can i buy infinite sticks of ram? |
14:15:23 | coffepot | from the fractal ram reseller |
14:17:19 | * | xcombelle joined #nim |
14:17:33 | strcmp1 | what realm should i visit to meet him |
14:18:27 | coffepot | He's inbetween left and right, up and down, and forward and backwards |
14:20:31 | * | MatrixBridge joined #nim |
14:20:31 | * | MatrixBridge quit (Client Quit) |
14:20:44 | coffepot | wouldn't the above code work fine by using refs instead? |
14:20:48 | * | MatrixBridge joined #nim |
14:20:49 | * | MatrixBridge quit (Client Quit) |
14:21:06 | * | MatrixBridge joined #nim |
14:21:07 | * | MatrixBridge quit (Client Quit) |
14:21:24 | * | MatrixBridge joined #nim |
14:21:24 | * | MatrixBridge quit (Client Quit) |
14:21:37 | * | M-max joined #nim |
14:21:42 | * | MatrixBridge joined #nim |
14:21:42 | * | MatrixBridge quit (Client Quit) |
14:22:00 | * | MatrixBridge joined #nim |
14:22:00 | * | MatrixBridge quit (Client Quit) |
14:22:18 | * | MatrixBridge joined #nim |
14:22:18 | * | MatrixBridge quit (Client Quit) |
14:22:35 | * | MatrixBridge joined #nim |
14:22:36 | * | MatrixBridge quit (Client Quit) |
14:22:53 | * | MatrixBridge joined #nim |
14:22:54 | * | MatrixBridge quit (Client Quit) |
14:23:11 | * | MatrixBridge joined #nim |
14:23:13 | * | MatrixBridge quit (Client Quit) |
14:23:30 | * | MatrixBridge joined #nim |
14:23:31 | * | MatrixBridge quit (Client Quit) |
14:23:40 | FedeOmoto | Araq: that was a really bad example, sorry, my code is in fact something like this: |
14:23:41 | FedeOmoto | [fomoto@terminus compiler]$ cat a.nim && echo "---" && cat b.nim |
14:23:42 | FedeOmoto | import b |
14:23:42 | FedeOmoto | type A = ref object of RootObj |
14:23:42 | FedeOmoto | type SubA = ref object of A |
14:23:42 | FedeOmoto | field: B |
14:23:44 | FedeOmoto | --- |
14:23:46 | FedeOmoto | import a |
14:23:48 | * | MatrixBridge joined #nim |
14:23:48 | FedeOmoto | type B = ref object of A |
14:23:48 | * | MatrixBridge quit (Client Quit) |
14:24:06 | * | MatrixBridge joined #nim |
14:24:06 | * | MatrixBridge quit (Client Quit) |
14:24:08 | * | M-max quit (Remote host closed the connection) |
14:29:52 | * | MatrixBridge joined #nim |
14:30:55 | * | M-max joined #nim |
14:32:12 | * | M-max quit (Remote host closed the connection) |
14:32:12 | * | MatrixBridge quit (Remote host closed the connection) |
14:33:18 | * | elbow joined #nim |
14:38:15 | * | justicefries left #nim (#nim) |
14:45:45 | * | MatrixBridge joined #nim |
14:46:49 | * | M-max joined #nim |
15:33:58 | * | coffepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
15:35:03 | * | jszymanski joined #nim |
15:41:35 | * | M-max quit (Remote host closed the connection) |
15:41:35 | * | MatrixBridge quit (Remote host closed the connection) |
15:41:45 | * | lyro quit (Quit: WeeChat 1.1.1) |
15:43:40 | * | drewsrem joined #nim |
15:43:55 | drewsrem | notfowl, is entoody fixed? |
15:48:43 | * | jszymanski quit (Quit: computer sleeps...) |
15:49:21 | notfowl | drewsrem no idea |
15:57:03 | * | MatrixBridge joined #nim |
16:11:33 | * | elbow quit (Remote host closed the connection) |
16:20:14 | * | strcmp1 quit (Ping timeout: 272 seconds) |
16:23:27 | * | yglukhov_ joined #nim |
16:24:46 | * | strcmp1 joined #nim |
16:24:46 | * | yglukhov_ quit (Read error: Connection reset by peer) |
16:26:21 | * | yglukhov quit (Ping timeout: 252 seconds) |
16:33:03 | * | vbtt joined #nim |
16:33:58 | * | flaviu quit (Ping timeout: 244 seconds) |
16:36:13 | vbtt | hello |
16:40:46 | * | snowzone joined #nim |
16:48:14 | * | snowzone quit (Quit: WeeChat 1.2) |
17:05:28 | * | brson joined #nim |
17:09:07 | * | pregressive joined #nim |
17:12:43 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
17:15:51 | * | Cryptotoad joined #nim |
17:21:25 | * | Jehan_ joined #nim |
17:21:59 | saml | hi vbtt |
17:22:51 | Cryptotoad | any built in method to check if a pid is running or to execute a program and wait for completion? (Windows) |
17:27:23 | Jehan_ | Am I the only one or is the macros.nim totally broken for anyone else (head of devel branch)? |
17:28:58 | def- | Jehan_: doesn't compile for me either |
17:29:38 | Jehan_ | def-: It's this weird iterator definition: iterator children*(n: NimNode): NimNode {.inline.} = items |
17:31:07 | reactormonk | Jehan_, looks totally fine with me |
17:31:28 | Jehan_ | reactormonk: lib/core/macros.nim(727, 54) Error: value of type 'None' has to be discarded |
17:32:11 | Jehan_ | I've never seen an iterator where the body is just the name of another iterator and it doesn't seem to work. |
17:33:20 | def- | it's this commit: https://github.com/nim-lang/Nim/commit/04dc46b1aa76da615d175fecc9c6cc1bc5075f18 |
17:33:42 | Jehan_ | def-: Yup. |
17:34:07 | Jehan_ | I mean, it'd be nice if one could declare one iterator to be an alias for another, but it doesn't seem to be supported. |
17:37:00 | * | yglukhov joined #nim |
17:37:27 | notfowl | oh cool children is items now? |
17:38:33 | dom96 | ja |
17:38:46 | dom96 | Cryptotoad: don't think one exists |
17:38:56 | dom96 | You can do the latter |
17:39:08 | Cryptotoad | that would actually be preferable |
17:39:14 | Cryptotoad | is there a method like spawnl? |
17:39:16 | dom96 | shit, did I break code. |
17:39:17 | dom96 | Sorry |
17:42:34 | dom96 | fixed |
17:42:37 | dom96 | bbl |
17:43:34 | * | silven quit (Quit: No Ping reply in 180 seconds.) |
17:44:13 | * | jszymanski joined #nim |
17:45:59 | * | silven joined #nim |
17:48:29 | * | Sahnvour joined #nim |
17:50:12 | * | silven quit (Read error: Connection reset by peer) |
17:50:41 | * | silven joined #nim |
17:56:34 | * | elbow_jason joined #nim |
18:03:40 | * | darkf quit (Quit: Leaving) |
18:05:25 | * | silven quit (Quit: No Ping reply in 180 seconds.) |
18:06:51 | * | silven joined #nim |
18:11:42 | * | silven quit (Read error: Connection reset by peer) |
18:12:30 | * | silven joined #nim |
18:14:02 | * | Raimondi quit (Ping timeout: 250 seconds) |
18:18:01 | * | BitPuffin quit (Ping timeout: 246 seconds) |
18:26:16 | * | filcuc joined #nim |
18:29:00 | * | filcuc quit (Remote host closed the connection) |
18:44:02 | * | Jesin joined #nim |
18:50:25 | drewsrem | Is there a bigint in the stdlib I'm not seeing? |
18:50:40 | * | X67r joined #nim |
18:51:21 | dom96 | drewsrem: nope, there is a nimble package though |
18:51:23 | def- | drewsrem: nope: https://github.com/nim-lang/Nim/issues/2725 |
18:51:51 | FedeOmoto | drewsrem: you can use this one: http://fedeomoto.github.io/bignum/ |
18:52:27 | drewsrem | I guess if I'd want to make my own implementation, how'd you even pass a giant const? int-literals are always passed as an int even to templates/macros right? |
18:52:46 | drewsrem | FedeOmoto, ty |
18:53:24 | FedeOmoto | sorry, wrong url |
18:53:25 | drewsrem | mgm BigInt reads from a string |
18:53:37 | drewsrem | mhm* |
18:53:42 | FedeOmoto | this one: https://github.com/FedeOmoto/bignum |
18:54:14 | FedeOmoto | dre |
18:54:22 | dom96 | drewsrem: If you pass an int literal then that int literal will be static, so you should be able to assign it to a const for example |
18:56:50 | drewsrem | dom96, I meant that int literals always seem to be restricted to some valid range, so if you want to construct a new hypothetical infinitely sized bigint, you need to construct them out of a string it seems? |
18:57:16 | dom96 | drewsrem: oh, good point. Hrm. |
18:58:17 | drewsrem | dom96, I was also thinking about fixed-point types and same issue is here when you pass a float-literal it will be converted to a float first |
18:58:43 | dom96 | I think Araq wants bigint in the stdlib so he will introduce it as a type in the compiler. |
18:58:54 | dom96 | First we need a good bigint library though |
18:58:58 | dom96 | And it can use string for now |
18:59:20 | drewsrem | sure, I was just wondering if I was overlooking something |
18:59:46 | dom96 | In case you want to write your own, take a look at the existing ones first and consider making them better. |
19:00:06 | dom96 | Not sure what their status is, I think some are pretty much complete. |
19:00:12 | dom96 | def- knows more I'm sure |
19:02:29 | * | xificurC quit (Remote host closed the connection) |
19:02:42 | * | X67r_ joined #nim |
19:05:25 | * | X67r quit (Ping timeout: 265 seconds) |
19:09:53 | * | filcuc joined #nim |
19:18:15 | * | X67r_ quit (Quit: leaving) |
19:19:00 | * | Raimondi joined #nim |
19:20:50 | * | Jehan_ quit (Quit: Leaving) |
19:21:43 | * | Raimondi quit (Client Quit) |
19:22:03 | * | Raimondi joined #nim |
20:09:08 | * | BitPuffin|osx joined #nim |
20:13:42 | renesac | there is a wrapper for gmp, if you need high performance in your bigints |
20:15:56 | renesac | and yes, you normally use a string if you want to initialize a bignum using a big number |
20:16:03 | * | BitPuffin joined #nim |
20:16:11 | renesac | that isn't already a bignum |
20:26:33 | * | filcuc quit (Quit: Konversation terminated!) |
20:31:23 | * | jszymanski quit (Quit: computer sleeps...) |
20:38:12 | * | NimBot joined #nim |
20:42:23 | * | NimBot joined #nim |
20:43:56 | * | NimBot joined #nim |
20:48:26 | * | NimBot joined #nim |
20:48:42 | * | NimBot joined #nim |
20:48:56 | NimBot | nim-lang/Nim devel 202cc48 Dominik Picheta [+0 ±1 -0]: The async macro now supports transforming multiple async procs.... 10 more lines |
20:49:29 | * | Jesin quit (Quit: Leaving) |
20:57:50 | Sahnvour | is there some kind of `zip` proc/iterator/macro ? |
20:58:08 | Sahnvour | oh, just found it nvm. |
20:59:09 | * | xcombelle quit (Quit: Leaving) |
20:59:18 | * | Jesin joined #nim |
21:00:01 | alpaca__ | about bignum literals: there is no big deal to construct them from string literals at compile time so there will be only binary representation in objfile |
21:00:14 | * | Jesin quit (Remote host closed the connection) |
21:00:39 | * | Jesin joined #nim |
21:02:15 | * | Ven joined #nim |
21:02:26 | * | Ven quit (Max SendQ exceeded) |
21:03:54 | Sahnvour | why's zip returning a new seq and not an iterator ? wouldn't it be more versatile ? |
21:07:35 | * | NimBot joined #nim |
21:15:08 | * | Ven joined #nim |
21:15:41 | * | silven_ joined #nim |
21:15:51 | * | silven quit (Ping timeout: 260 seconds) |
21:19:50 | * | Gonzih quit (Ping timeout: 240 seconds) |
21:22:51 | * | Gonzih joined #nim |
21:24:09 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:50:07 | * | FedeOmoto quit (Quit: Leaving) |
21:56:28 | * | NimBot joined #nim |
22:02:17 | * | drewsrem quit (Quit: Leaving) |
22:25:21 | * | pregressive quit (Remote host closed the connection) |
22:40:45 | * | yglukhov quit (Remote host closed the connection) |
22:42:06 | * | yglukhov joined #nim |
22:46:29 | * | yglukhov quit (Ping timeout: 244 seconds) |
22:46:51 | * | Sahnvour quit (Read error: Connection reset by peer) |
23:03:39 | * | flaviu joined #nim |
23:05:40 | * | pregressive joined #nim |
23:26:35 | * | vendethiel quit (Quit: q+) |
23:45:32 | * | brson quit (Quit: leaving) |
23:59:15 | * | xet7 joined #nim |