00:00:41 | Araq_ | mraxilus: only the first number in the array needs the type conversion |
00:01:09 | FromGitter | <mraxilus> cool, thanks |
00:10:43 | FromGitter | <mraxilus> is there another way an now my numbers are misaligned |
00:10:50 | FromGitter | <mraxilus> as now* |
00:56:12 | * | libman left #nim (#nim) |
01:06:27 | ftsf | LindsayLojban, i am now |
01:13:19 | * | kulelu88 quit (Ping timeout: 256 seconds) |
01:15:01 | * | brson quit (Ping timeout: 256 seconds) |
01:19:29 | * | brson joined #nim |
02:02:06 | LindsayLojban | ftsf: Its okay, someone in here was having some trouble with opengl and I was just looking for people to help but they figured it out |
02:02:17 | ftsf | ahh, cool cool |
02:17:12 | * | bjz joined #nim |
02:21:00 | * | chrisheller quit (Ping timeout: 260 seconds) |
02:24:14 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
02:36:20 | * | Demon_Fox joined #nim |
02:40:44 | * | brson quit (Quit: leaving) |
02:47:57 | * | chrisheller joined #nim |
03:02:01 | * | pregressive joined #nim |
03:19:48 | * | aharlan joined #nim |
03:21:01 | * | pregressive quit (Remote host closed the connection) |
03:21:36 | * | pregressive joined #nim |
03:22:41 | * | aharlan left #nim ("I'm out.") |
03:22:48 | * | aharlan joined #nim |
03:23:10 | * | aharlan quit (Quit: I'm out.) |
03:26:29 | * | pregressive quit (Ping timeout: 256 seconds) |
04:01:07 | * | chrisheller quit (Remote host closed the connection) |
05:19:00 | * | gokr joined #nim |
05:24:10 | FromGitter | <girvo> Are there any plans for extending the `json` module to leverage `Option[T]` for accessing fields, etc.? |
05:50:54 | * | FuntDobra joined #nim |
05:51:21 | FuntDobra | hi all |
05:51:28 | FromGitter | <girvo> o/ |
05:58:05 | * | bjz quit (Ping timeout: 264 seconds) |
05:58:53 | * | bjz joined #nim |
05:59:12 | * | FuntDobra quit (Quit: leaving) |
06:02:35 | * | kyky-bot-nim joined #nim |
06:05:19 | * | fredrik92 joined #nim |
06:06:00 | * | FuntDobra joined #nim |
06:10:05 | * | gokr quit (Ping timeout: 264 seconds) |
06:11:01 | * | chrisheller joined #nim |
06:11:23 | * | derka quit (Ping timeout: 256 seconds) |
06:12:06 | * | nsf joined #nim |
06:13:19 | * | ARCADIVS joined #nim |
06:32:21 | * | desophos quit (Read error: Connection reset by peer) |
06:33:07 | * | derka joined #nim |
07:07:41 | * | yglukhov joined #nim |
07:08:46 | * | Arrrr joined #nim |
07:11:04 | FromGitter | <dom96> @girvo nope |
07:11:04 | * | kyky-bot-nim quit (Remote host closed the connection) |
07:12:01 | FromGitter | <dom96> I feel like ``Option[T]`` simply isn't idiomatic Nim. The only way to make it idiomatic is to get the whole stdlib to use it instead of ``nil``, which we could do, but should we? |
07:14:49 | Arrrr | depends on whether 'not nil' is finally implemented by default or not. |
07:17:22 | * | gokr joined #nim |
07:19:49 | * | Andris_zbx joined #nim |
07:20:40 | hohlerde | I think not nil fits better |
07:21:36 | FromGitter | <girvo> I think `not nil` fits well, but I'd personally prefer it to be the default for types, heh. `Option[T]` is good in that it makes it clearer to me whats going on, and I'm sort of used it coming from OCaml et. al. |
07:24:58 | flyx | once `not nil` is the default, nillable types will me much more visible. |
07:28:06 | * | Trustable joined #nim |
07:29:43 | FromGitter | <girvo> Yeah, that's the best outcome flyx |
07:30:54 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
07:32:34 | * | bjz joined #nim |
07:33:18 | flyx | girvo: depending on what to do with JSON, it may be possible to use one of the serialization libs instead. I always wonder why people read serialization data structures manually. |
07:33:44 | * | ARCADIVS quit (Quit: ARCADIVS) |
07:36:05 | * | ARCADIVS joined #nim |
07:37:34 | FromGitter | <dom96> flyx: because it's convenient when you only care about one or two fields out of tens or hundreds |
07:39:17 | flyx | dom96: fair enough |
07:40:07 | flyx | I just have seen too much code which loads the whole JSON manually into some type |
07:40:30 | flyx | (and much more that does it with XML) |
07:40:50 | FromGitter | <dom96> yes, in that case it would be useful to have something that reads it into a type for you. |
07:41:02 | FromGitter | <dom96> Wanna implement it and create a PR? ;) |
07:41:23 | flyx | dom96: we already have marshal, and I have NimYAML, which both do that, don't they? |
07:41:26 | * | Matthias247 joined #nim |
07:42:49 | flyx | I plan to support more customization in NimYAML, which would make it possible to ignore values of the input or fields of the type, and maybe finally support polymorphism |
07:43:30 | FromGitter | <dom96> Nope. I think we need a warning in marshal since this seems to be a common miconception. |
07:43:34 | FromGitter | <dom96> *misconception |
07:43:46 | FromGitter | <dom96> Marshal has nothing to do with json |
07:43:56 | FromGitter | <dom96> it just happens to use json as the format for serialising Nim's data types |
07:44:16 | FromGitter | <dom96> but if you try to deserialise a normal json object it can fail. |
07:44:27 | FromGitter | <dom96> because it might expect some extra information |
07:44:41 | * | gangstacat quit (Ping timeout: 252 seconds) |
07:44:51 | flyx | ah well. more important that I advance NimYAML then |
07:47:52 | LindsayLojban | You just have to remember that marshaling is an exact deserialization |
07:48:12 | LindsayLojban | That is, typed deserialization |
07:49:58 | * | gangstacat joined #nim |
07:55:48 | * | gangstacat quit (Ping timeout: 265 seconds) |
08:00:54 | euantor | Out of interest, why does marshal use a JSON like structure (without having looked at it or tried it)? |
08:01:14 | euantor | I would have expected some kind of binary output when serializing personally |
08:01:37 | * | kyky-bot-nim joined #nim |
08:02:36 | FromGitter | <BontaVlad> could be security related? Pickle in python has that problem |
08:03:25 | euantor | BontaVlad: Possibly. I just find that an interesting choice :) |
08:10:50 | flyx | BontaVlad: isn't the security problem with Pickle that it may call arbitrary code because of class constructors? Nim doesn't suffer that problem. |
08:14:43 | FromGitter | <BontaVlad> @flyx yeah, pickle allows arbitrary code execution |
08:15:59 | * | ARCADIVS quit (Quit: ARCADIVS) |
08:16:08 | der | hi guys! serious problem! |
08:16:24 | der | I use nim to run software on openwrt-based router |
08:16:38 | der | and after an update, I get "out of memory" error when launch this software |
08:16:59 | der | update to 0.15, but got it much earlier on git branch when it was unreleased |
08:17:54 | * | ARCADIVS joined #nim |
08:20:18 | FromGitter | <dom96> der: hrm, I guess something is using more memory than it used to? What does your software do and what does it use from the stdlib? |
08:20:48 | FromGitter | <dom96> euantor: pretty sure it was simply easier than coming up with a custom format. |
08:24:22 | der | FromGitter: sec, it mmaps huge memory, If I remember correctly. need time to get strace there |
08:24:22 | FromGitter | der, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim |
08:24:24 | kyky-bot-nim | nim-lang/Nim - Gitter |
08:24:37 | der | dom96: * |
08:25:24 | cheatfate | der, what kind of cpu architecture you are using? |
08:25:30 | der | cheatfate: mips |
08:26:41 | Araq_ | der: setupForeignThreadGC has a serious regression fixed on devel |
08:26:49 | Araq_ | do you use that proc? |
08:27:01 | euantor | dom96: fair enough |
08:27:24 | der | Araq_: not, at least directly |
08:27:53 | der | as far as I remember I do not need import anything to get this crash. in prog I use jester and template lib built with uclibc and ssl support |
08:27:53 | Araq_ | do you use threads? |
08:28:08 | der | no, I guess |
08:28:30 | Araq_ | dom96: did anything significant change for jester? |
08:28:53 | FromGitter | <dom96> nope |
08:29:39 | Araq_ | der: ah, I know. |
08:29:45 | Araq_ | try devel please. |
08:29:46 | der | http://dpaste.com/2M66ZQ9 |
08:29:47 | kyky-bot-nim | dpaste: 2M66ZQ9: stdin, by user |
08:29:50 | der | that's strace |
08:29:55 | der | OK, sec |
08:30:14 | Araq_ | it was some wrong constant passed to mmap |
08:30:19 | Araq_ | fixed in devel I think |
08:30:55 | der | well, fuck. dev-lang/nim-9999 ebuild disappeared |
08:31:20 | Araq_ | no, sorry, the PR is still pending |
08:31:23 | Araq_ | https://github.com/nim-lang/Nim/pull/4853 |
08:31:25 | kyky-bot-nim | Revert change to osalloc.nim from commit 8d7a45f. by GaveUp · Pull Request #4853 · nim-lang/Nim · GitHub |
08:31:40 | Araq_ | ^ that's your problem |
08:31:56 | der | OK, I will try to patch manually |
08:31:59 | der | current version |
08:33:40 | Araq_ | tell me it works and I shall merge this PR immediately. |
08:37:56 | der | Araq_: works, thank you |
08:38:43 | * | fredrik92 quit (Ping timeout: 256 seconds) |
08:39:24 | cheatfate | der, could you please just run simple nim file with `echo MAP_ANONYMOUS`? |
08:41:05 | der | cheatfate: test.nim(1, 6) Error: undeclared identifier: 'MAP_ANONYMOUS' |
08:41:23 | der | with normal compiler too (: |
08:41:36 | Araq_ | it's not exported |
08:41:44 | Araq_ | why would it? |
08:42:11 | cheatfate | Araq_, the problem is i can't find value of MAP_ANONYMOUS in linux headers |
08:42:29 | cheatfate | i have found that valgrind uses different values only for mipsel |
08:43:16 | Araq_ | {.emit: """printf("%d", MAP_ANONYMOUS"); """.} |
08:43:16 | * | fredrik92 joined #nim |
08:44:44 | cheatfate | der, could you please run Araq's code in your test.nim? remove mine variant |
08:45:49 | der | /home/user/router/nimcache/main.c:664:14: error: unknown type name 'MAP_ANONYMOUS' |
08:45:53 | der | cheatfate: Araq_ |
08:46:28 | Araq_ | jeezz, #include <mem/map.h> or whatever it's called |
08:47:21 | der | afk 30 minutes, sorry |
08:48:31 | cheatfate | Araq_, revert this PR |
08:48:40 | cheatfate | i mean you need to accept this PR |
08:48:49 | Araq_ | already did. |
08:48:52 | cheatfate | because MAP_ANONYMOUS = 0x20 on x86 |
08:48:54 | cheatfate | only |
08:49:04 | Araq_ | yup |
08:49:27 | Araq_ | so much for the "not generating C code is a feature" argument :-) |
08:50:15 | cheatfate | MAP_ANONYMOUS can be 0x10, 0x20, 0x800 |
08:51:08 | FromGitter | <dom96> Araq_: Perhaps you should answer this when you get a chance https://news.ycombinator.com/item?id=12623366 |
08:51:09 | kyky-bot-nim | That has been my experience too. That all the extra work and logic (cause the al... | Hacker News |
08:51:34 | FromGitter | <dom96> ^^ when did that bot show up? |
08:52:20 | cheatfate | dom96, this bot annoying :) |
08:52:45 | FromGitter | <dom96> oh cool, pcwalton replied to you. I was of course going to link to the discussion: https://news.ycombinator.com/item?id=12617582 |
08:52:46 | kyky-bot-nim | Rust is an awesome language. It has the power to replace C++ and Java as industr... | Hacker News |
08:52:57 | cheatfate | it must say something if we ask him |
09:01:08 | * | bjz quit (Ping timeout: 252 seconds) |
09:01:17 | * | bjz joined #nim |
09:15:12 | * | PMunch joined #nim |
09:17:49 | * | fredrik92 quit (Ping timeout: 256 seconds) |
09:23:13 | * | fredrik92 joined #nim |
09:28:59 | der | cheatfate: Araq_: it's 0x800 there |
09:29:13 | cheatfate | der, thank you |
09:31:56 | * | niv quit (Remote host closed the connection) |
09:32:31 | * | niv joined #nim |
09:33:33 | * | Demon_Fox quit (Quit: Leaving) |
09:59:41 | * | der quit (Quit: http://quassel-irc.org - ????????????? ??????. ?????.) |
10:02:06 | Arrrr | I doubt it can replace java |
10:09:49 | * | derlafff joined #nim |
10:20:53 | * | gokr quit (Ping timeout: 264 seconds) |
10:31:52 | * | elrood joined #nim |
10:50:36 | * | ehmry quit (Remote host closed the connection) |
10:50:36 | * | hohlerde quit (Read error: Connection reset by peer) |
10:50:37 | * | TheManiac quit (Read error: Connection reset by peer) |
11:01:54 | * | Snircle joined #nim |
11:03:26 | * | zielmicha[m] joined #nim |
11:04:08 | * | Arrrr quit (Quit: WeeChat 1.5) |
11:05:29 | * | ehmry joined #nim |
11:05:36 | * | TheManiac joined #nim |
11:05:36 | * | hohlerde joined #nim |
11:05:37 | * | M-Quora joined #nim |
11:11:18 | * | M-Quora quit (Ping timeout: 272 seconds) |
11:11:51 | flyx | it will most certainly not replace Java. nothing will replace Java for a loooooong time, and then something else running on the JVM will replace it. |
11:13:53 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
11:18:15 | * | hohlerde quit (Ping timeout: 272 seconds) |
11:18:59 | * | M-Quora joined #nim |
11:23:54 | * | BitPuffin joined #nim |
11:24:06 | * | hohlerde joined #nim |
11:29:49 | hohlerde | araq: nice blog post! |
11:36:03 | * | AckZ quit () |
11:41:51 | PMunch | Is there a good library for creating terminal applications in Nim? |
11:42:50 | PMunch | A simple way to define switches, which ones are mandatory, which are not. Types of switches, sub-commands etc. |
11:43:21 | FromGitter | <BontaVlad> https://github.com/docopt/docopt.nim ? |
11:43:25 | hohlerde | docopt |
11:43:28 | kyky-bot-nim | GitHub - docopt/docopt.nim: Command line arguments parser that will make you smile (port of docopt to Nim) |
11:43:28 | FromGitter | <BontaVlad> https://github.com/fowlmouth/nim-termbox |
11:43:28 | kyky-bot-nim | GitHub - fowlmouth/nim-termbox: Nimrod wrapper for Termbox and Newt |
11:44:55 | PMunch | Oh wow, docopt looks cool. Basically a parser for the docstring that actually creates the switches |
11:45:34 | PMunch | The termbox thing lacks examples and documentation.. |
11:47:13 | PMunch | Only thing better would be a native Nim DSL that did the same thing |
11:48:11 | FromGitter | <BontaVlad> @termbox you can use the examples in the termbox go implementation, the logic is more or less the same |
11:48:23 | * | enthus1ast joined #nim |
11:48:30 | GaveUp | PMunch: commandeer? |
11:51:11 | FromGitter | <BontaVlad> I have used http://click.pocoo.org/6/ with great pleasure when dealing with python CLI applications |
11:51:11 | kyky-bot-nim | Welcome to the Click Documentation — Click Documentation (6.0) |
11:53:42 | PMunch | GaveUp, link? |
11:54:13 | * | fredrik92 quit (Ping timeout: 256 seconds) |
11:55:08 | GaveUp | nimble has it, or google "commandeer nim" ... don't have a link handy |
11:56:53 | PMunch | Ooh, that also looks promising |
11:56:56 | * | fredrik92 joined #nim |
11:57:43 | GaveUp | i still prefer docopt, but commandeer worked well for a case where i didnt have the re lib available that docopt pulls in |
11:58:03 | PMunch | Yeah, docopt looks really nice |
11:58:28 | PMunch | I'll have to look into it |
11:58:33 | GaveUp | it's win is that it's pretty universal across languages |
11:59:26 | PMunch | But with commandeer you don't have to use args["<name>"] to get the values out again |
11:59:29 | PMunch | Which is nice |
12:01:09 | GaveUp | defining the help line isnt as straight forward, to me, though, and with the disconnect of it it can get out of sync. |
12:01:44 | PMunch | Yeah |
12:02:07 | PMunch | And with commandeer you can also define types |
12:02:15 | PMunch | So you don't have to do the whole parse thing |
12:03:36 | GaveUp | you could build a type and copy the variables there |
12:04:13 | PMunch | What do you mean? |
12:05:23 | GaveUp | use the docopt ouput to populate an opbject that you then use ... sure manual to parse, one time, but eh |
12:06:23 | PMunch | Yeah, but it would be nice if it handled types and spit out an error if the user input the wrong type. That way you wouldn't have to think about error messages for the user at all |
12:08:01 | GaveUp | i don't know if the docopt spec allows typing like that... don't know it well at all. if it does there's no reason it couldn't be added |
12:09:04 | PMunch | I bet it doesn't since it's originally for Python which doesn't really have types.. |
12:10:49 | * | M-Quora quit (Ping timeout: 272 seconds) |
12:11:06 | FromGitter | <BontaVlad> Python does have types. Python is strongly, dynamically typed. |
12:11:26 | enthus1ast | GaveUp, PMunch you'r talking about this right? https://github.com/fenekku/commandeer |
12:11:28 | kyky-bot-nim | GitHub - fenekku/commandeer: Take command of your command line in Nim |
12:12:07 | * | ARCADIVS quit (Quit: ARCADIVS) |
12:12:09 | PMunch | BontaVlad, well yes. It has types, but they aren't as apparent as in Nim. |
12:12:36 | PMunch | enthus1ast, we're talking about the different options. docopt and commandeer mainly |
12:15:54 | * | M-Quora joined #nim |
12:20:30 | * | brechtm_ joined #nim |
12:24:05 | * | brechtm quit (Ping timeout: 252 seconds) |
12:37:39 | PMunch | Hmm, in Nim value types default to their "null" value right? |
12:50:23 | * | PMunch quit (Quit: leaving) |
13:00:46 | * | brechtm_ quit (Remote host closed the connection) |
13:01:24 | * | brechtm joined #nim |
13:05:08 | FromGitter | <dom96> reference types do |
13:05:22 | FromGitter | <dom96> value types can never be null |
13:05:50 | ftsf | "`div` computes the integer division. This is roughly the same as floor(x/y)." hmm roughly is a strange word to use there =\ |
13:06:04 | ftsf | might be good to state how it differs |
13:06:49 | cheatfate | keyword `roughly` i think :) |
13:07:04 | ftsf | (-16 div 32) * 32 is 0 |
13:07:31 | ftsf | i'd expect -32 |
13:07:38 | ftsf | does that seem odd to you? |
13:08:16 | cheatfate | interesting why you expect `-32`... |
13:08:20 | FromGitter | <endragor> should be `trunc`, not `floor`, I guess |
13:08:29 | cheatfate | you might expect `-16` i think |
13:09:06 | cheatfate | endragor its not even `trunc` |
13:09:32 | ftsf | -16 / 32 = 0.5 |
13:09:40 | ftsf | floor(-16 / 32) should be -1 |
13:09:53 | cheatfate | ftsf, its integer division |
13:10:02 | ftsf | yes, i know |
13:10:14 | cheatfate | its because there `roughly` |
13:10:27 | cheatfate | -16 div 32 == 0 for integer division |
13:10:36 | cheatfate | 16 div 32 == 0 too |
13:10:41 | ftsf | ahh |
13:11:21 | ftsf | yes, hence my point about the "roughly" =p |
13:11:56 | cheatfate | as i said before `roughly` is a Key word :) |
13:12:00 | ftsf | floor(-16 / 32).int = -1 |
13:12:13 | ftsf | cheatfate, yes, but i think it should be clear how it's different |
13:12:19 | ftsf | or not say it at all |
13:12:43 | cheatfate | ftsf, its some kind of Araq's `joke` :) |
13:12:43 | * | dddddd joined #nim |
13:13:03 | ftsf | because otherwise silly people like me get confused when it's not the same =p |
13:13:51 | cheatfate | ftsf, there was example you have passed (1 div 2 == 0) |
13:14:06 | cheatfate | also you must note that return value is int |
13:30:01 | ftsf | \o/ http://static.impbox.net/vektor2089/tiled.mp4 nim based tile map editor for my game |
13:31:38 | FromGitter | <dom96> cool! |
13:31:50 | enthus1ast | kuhl |
13:32:06 | enthus1ast | ftsf have github page? |
13:32:11 | ftsf | enthus1ast, not yet |
13:32:43 | enthus1ast | i'm tired fighting with tiled all the time... |
13:33:06 | * | zielmicha[m] quit (Quit: node-irc says goodbye) |
13:33:23 | ftsf | aww |
13:33:31 | ftsf | this one is super basic atm |
13:33:36 | ftsf | but easy to add more stuff to it |
13:33:55 | enthus1ast | ftsf can it place tiles in relation to other tiles nearby? |
13:34:09 | ftsf | needed to figure out the `div` thing to get a tiling view of the map |
13:34:16 | ftsf | enthus1ast, nothing magic like that |
13:34:25 | enthus1ast | ok :) |
13:34:44 | ftsf | like the "terrain" in tiled? |
13:34:48 | enthus1ast | jep |
13:34:57 | ftsf | yeah that'd be a nice feature |
13:35:59 | ftsf | adding something like this would be neat: https://github.com/mxgmn/WaveFunctionCollapse |
13:36:01 | kyky-bot-nim | GitHub - mxgmn/WaveFunctionCollapse: Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics. |
13:37:20 | enthus1ast | when you release it i'll try to use it with my phaser.js games. |
13:38:02 | ftsf | looks like a cool framework |
13:38:32 | * | BitPuffin quit (Read error: Connection reset by peer) |
13:38:49 | FromGitter | <coffeepots> that wavefunctioncollapse is amazing! |
13:39:01 | ftsf | coffeepots, sure is! |
13:43:50 | FromGitter | <coffeepots> that would be amazing for procedural generation of tiles |
13:43:52 | federico3 | ftsf: very nice indeed! |
13:47:30 | enthus1ast | we should have something like phaser.js in nim. This would be amazing. |
13:48:22 | flyx | wow, this algorithm |
13:49:03 | FromGitter | <coffeepots> absolutely incredible it even works in 3d too |
13:50:35 | FromGitter | <coffeepots> doesn't even seem like a lot of code |
13:50:38 | ftsf | enthus1ast, i'm working a small game framework for nim which is nearly ready for use, but design based mostly off pico8, so all pixely stuff |
13:51:34 | ftsf | coffeepots, yes, a nim port shouldn't be too much work |
13:53:32 | federico3 | ftsf: we want it NOW ;D |
14:27:12 | * | kulelu88 joined #nim |
14:27:57 | * | pregressive joined #nim |
14:42:44 | * | desophos joined #nim |
14:46:46 | * | gokr joined #nim |
14:55:53 | * | jtremback__ quit (Remote host closed the connection) |
14:55:54 | * | euantor quit (Remote host closed the connection) |
14:59:16 | FromGitter | <dom96> What do you guys think Nim's "two word" pitch should be? https://news.ycombinator.com/item?id=12653007 |
14:59:17 | kyky-bot-nim | > What is the Nim two word pitch?Metaprogramming. The best metaprogramming any... | Hacker News |
15:01:44 | FromGitter | <BontaVlad> Fast and furious |
15:02:26 | FromGitter | <BontaVlad> Python on crack |
15:02:44 | FromGitter | <BontaVlad> Sexy C |
15:03:29 | * | fredrik92 quit (Ping timeout: 256 seconds) |
15:04:57 | * | onionhammer1 quit (Ping timeout: 276 seconds) |
15:06:36 | * | fredrik92 joined #nim |
15:06:51 | federico3 | literally 2 word? Python-like, C-fast |
15:09:11 | flyx | programming, motherfucker |
15:12:54 | * | Andris_zbx quit (Remote host closed the connection) |
15:12:59 | enthus1ast | code king |
15:14:22 | FromGitter | <dom96> Probably not literally :) |
15:14:58 | FromGitter | <dom96> 2 meta 2 python |
15:15:55 | enthus1ast | what is gitter btw? |
15:15:59 | enthus1ast | Irc transport? |
15:18:11 | FromGitter | <dom96> gitter.im |
15:23:50 | Araq_ | different, not difficult. |
15:24:07 | enthus1ast | i want to build something like this in nim (somewhat port my old code from python), i want to connect irc,xmpp,webchat (maybe over psyc) to a single chat realm. Atm its just an mediocre irc server with tcp/ws however. |
15:24:19 | * | Demon_Fox joined #nim |
15:25:17 | FromGitter | <dom96> enthus1ast: do it |
15:25:38 | federico3 | enthus1ast: bitlbee? |
15:27:09 | * | jtremback__ joined #nim |
15:29:23 | FromGitter | <coffeepots> Nim in two words: Productive & Powerful | Fun & Fast | Expressive & Practical | Efficient & Elegant |
15:30:28 | FromGitter | <dom96> I think the guy wants a killer feature as well though |
15:30:52 | FromGitter | <dom96> Something more concrete than "productive" |
15:31:01 | FromGitter | <dom96> although he does say that Go is "simple" so I dunno |
15:31:16 | FromGitter | <coffeepots> for me the killer features, aside from metaprogramming, is just how productive it can be. Many lines of code in other languages are just a few in nim |
15:32:06 | FromGitter | <coffeepots> I dunno, I find myself thinking less about how to do stuff in nim, and more about simply what I want to do, if that makes sense |
15:32:34 | * | fredrik92 quit (Read error: Connection reset by peer) |
15:32:50 | FromGitter | <coffeepots> 3 words: get shit done |
15:33:59 | FromGitter | <coffeepots> probably not what you want from a killer feature, but it's what I want from a language :D |
15:34:24 | FromGitter | <dom96> well, that's a bit of a paradox |
15:34:32 | FromGitter | <coffeepots> how about: metaprogramming, compiles-to-c |
15:34:35 | FromGitter | <dom96> The language may be productive, but the lack or libraries kind of ruins that |
15:34:48 | FromGitter | <dom96> I basically said "Metaprogramming" |
15:35:01 | FromGitter | <dom96> https://news.ycombinator.com/item?id=12650134 |
15:35:07 | kyky-bot-nim | I do agree with everything you said, but a) I'd still rather the giant than jupi... | Hacker News |
15:35:22 | FromGitter | <dom96> bbl |
15:37:43 | enthus1ast | federico3 i found http://about.psyc.eu/ interesting |
15:37:45 | kyky-bot-nim | (PSYC) Index |
15:43:57 | elrood | can we convince that bot to stay silent unless it's explicitly invoked? in its current form it's only so helpful and somewhat annoying |
15:44:28 | * | brson joined #nim |
15:46:38 | federico3 | enthus1ast: it's from 2001? Never heard of it, is it still alive? |
15:47:17 | enthus1ast | it seems that this is the backend software for a lot of high performance chatrooms |
15:47:36 | enthus1ast | better high traffic chats |
15:48:21 | Araq_ | you mean chats with more than 2% females? |
15:48:25 | * | euantor joined #nim |
15:48:59 | enthus1ast | how many females lurking here? :) |
15:56:14 | * | yglukhov quit (Ping timeout: 265 seconds) |
15:58:33 | GaveUp | hmmm... doesn't look like there's a way to specify the vendor string in nim.cfg for cross compilation? Same for switches (ie: -static)? |
16:03:24 | Araq_ | what's a "vendor string"? |
16:05:11 | GaveUp | crosstool-ng, for example names the toolchains arch-vendor-os-cc ... vendor is arbitrarily chosen during build |
16:05:36 | * | onionhammer1 joined #nim |
16:05:44 | * | enthus1ast quit (Ping timeout: 252 seconds) |
16:06:50 | GaveUp | useful when you need to keep around multiple toolchains for the same arch/os |
16:21:43 | * | nsf quit (Quit: WeeChat 1.5) |
16:36:37 | * | gokr quit (Ping timeout: 244 seconds) |
16:43:18 | * | brechtm_ joined #nim |
16:46:59 | * | brechtm quit (Ping timeout: 265 seconds) |
17:01:21 | * | huonw_ quit (Ping timeout: 240 seconds) |
17:06:37 | * | yglukhov joined #nim |
17:07:56 | * | huonw joined #nim |
17:08:43 | * | derka quit (Ping timeout: 256 seconds) |
17:18:00 | * | nsf joined #nim |
17:21:05 | * | derka joined #nim |
17:24:23 | * | dddddd quit (Ping timeout: 252 seconds) |
17:27:27 | * | dddddd joined #nim |
17:32:53 | * | derka quit (Ping timeout: 264 seconds) |
17:37:53 | * | derka joined #nim |
17:42:43 | dom96 | https://salt.bountysource.com/teams/nim/updates/6-new-nim-version |
17:42:49 | kyky-bot-nim | Salt - Bountysource |
17:43:02 | euantor | Just got the email :) |
17:46:08 | euantor | Regarding Hacktoberfest, are you going to add the hacktoberfest to some issues so that people can make the 4 PRs and get the reward? |
17:46:47 | dom96 | euantor: We have "Easy" issues, I don't think there is a need. |
17:47:21 | euantor | I believe that without that label you can't take part in hacktoberfest |
17:47:28 | euantor | At least, that's how I read the webpage |
17:47:54 | euantor | But I could be reading the page wrong ;) |
17:48:50 | euantor | Yep, looks like I'm wrong, sorry: "Pull requests can be to any public repo on GitHub, not just the ones we've highlighted." |
17:49:23 | dom96 | yeah, they can be to anything |
17:49:29 | dom96 | In fact, I think you could even cheat :P |
17:50:08 | dom96 | hmmm |
17:50:27 | dom96 | I wonder if they verify everyone one-by-one |
17:50:44 | dom96 | I guess they just make sure addresses are unique |
17:50:47 | * | brson quit (Ping timeout: 252 seconds) |
17:51:02 | dom96 | and that way you can't get more than one T-shirt |
17:59:07 | * | brson joined #nim |
18:13:40 | * | yglukhov quit (Remote host closed the connection) |
18:17:58 | * | nsf quit (Quit: WeeChat 1.5) |
18:31:57 | * | enthus1ast joined #nim |
18:32:41 | * | andrewo91 joined #nim |
18:32:54 | flyx | dom96: any news on whether the funds will actually be used for bounties on issues? |
18:33:20 | dom96 | good question |
18:33:48 | dom96 | Well, it is written pretty clearly on BountySource that it will be used for that |
18:34:35 | dom96 | We need to decide what we should put bounties on though |
18:35:04 | dom96 | Araq_: Thoughts? |
18:36:00 | dom96 | Freshly updated sponsors: http://nim-lang.org/sponsors.html |
18:36:53 | Araq_ | I can easily put bounties on bugs |
18:37:04 | Araq_ | will do it this weekend, please remind me |
18:38:49 | * | huonw quit (Ping timeout: 256 seconds) |
18:39:50 | dom96 | I think that bountysource has some form of voting functionality |
18:40:05 | dom96 | I think I said this already but it would be helpful if you guys voted on things you think should get bounties |
18:40:32 | dom96 | oh and actually we have issues with bounties on them already https://github.com/nim-lang/Nim/issues?q=is%3Aopen+is%3Aissue+label%3Abounty |
18:41:11 | * | huonw joined #nim |
18:41:46 | Araq_ | yeah, that didn't work too well, I'm afraid. |
18:44:07 | dom96 | yeah, unfortunately those issues are very vague |
18:45:03 | cheatfate | dom96, do you really think that filling documentation with examples cost $15? |
18:45:18 | dom96 | no? |
18:45:22 | dom96 | I didn't post the bounty |
18:45:52 | * | yglukhov joined #nim |
18:46:35 | Araq_ | fyi |
18:46:49 | Araq_ | cheatfate is unemployed right now |
18:46:58 | Araq_ | and can spend days and days on Nim |
18:47:08 | Araq_ | what? |
18:47:20 | Araq_ | lol typo |
18:47:41 | * | yglukhov quit (Remote host closed the connection) |
18:48:25 | cheatfate | Manual needs further improvements to become more detailed because some of the features only mentioned in manual but not explained... |
18:49:55 | cheatfate | Araq_, its not totally right |
18:51:21 | * | andrewo91 quit (Remote host closed the connection) |
18:53:16 | Araq_ | cheatfate: I meant dom96 ... |
18:53:42 | Araq_ | oh whatever, it's a bad joke nobody understands |
18:54:14 | Araq_ | I meant to cheatfate that dom96 obviously has lots of time to improve the documentation for $15 |
19:00:21 | * | derka quit (Ping timeout: 256 seconds) |
19:05:12 | * | pregressive quit (Remote host closed the connection) |
19:05:46 | * | pregressive joined #nim |
19:10:32 | * | pregressive quit (Ping timeout: 265 seconds) |
19:11:52 | * | UNIcodeX joined #nim |
19:12:24 | UNIcodeX | hello all. gcc is in my path on windows, but i get an error that it cannot find /nimcache/*.o files |
19:13:06 | * | brson quit (Quit: leaving) |
19:13:33 | Araq_ | UNIcodeX: hi. what command do you use to compile? |
19:13:48 | UNIcodeX | nim c -r hello.nim |
19:18:03 | Araq_ | where is this hello.nim file? maybe the compiler is not allowed to write into this directory |
19:19:26 | UNIcodeX | i'm running nim from within the directory of the file. |
19:19:30 | UNIcodeX | it's on my desktop in a folder |
19:19:33 | UNIcodeX | created by myself |
19:20:23 | Araq_ | on your desktop means the path has spaces in it and while that really should work |
19:20:28 | Araq_ | it might be your problem |
19:21:04 | Araq_ | gist the error message please |
19:25:01 | * | derka joined #nim |
19:25:20 | BlaXpirit | how to convert a number to an unsigned type of the same size? |
19:29:54 | UNIcodeX | https://gist.github.com/UNIcodeX/5dbb624940abed7b3c53c875e0ea746d |
19:29:59 | UNIcodeX | Araq_, ^ |
19:30:47 | Araq_ | UNIcodeX: error: size of array 'assert_numbits' is negative |
19:31:10 | Araq_ | you have the wrong version of GCC in your path, Nim and GCC disagree on whether it's a 32bit or 64bit machine |
19:31:33 | Araq_ | BlaXpirit: dunno, with a cascade of 'when's? |
19:31:43 | BlaXpirit | :( |
19:32:12 | Araq_ | 8 cases to consider, but you can put it in a template and reuse it :P |
19:32:46 | BlaXpirit | i was thinking more about sizeof, so 4 cases |
19:32:55 | Araq_ | you can also use a macro that constructs a string like "uint" & $sizeof(x) |
19:33:14 | Araq_ | and then turns this string into a symbol |
19:33:15 | * | andrewo91 joined #nim |
19:33:45 | UNIcodeX | Araq_, thanks. I told the installer to install gcc. do you know where it put it? |
19:34:02 | Araq_ | which gcc.exe |
19:34:21 | Araq_ | where gcc.exe |
19:34:30 | UNIcodeX | that just tells me which one is on the path. |
19:34:37 | Araq_ | aye |
19:35:38 | Araq_ | edit config/nim.cfg line 101 |
19:39:16 | * | yglukhov joined #nim |
19:39:50 | * | gangstacat joined #nim |
20:02:15 | * | xet7 quit (Quit: Leaving) |
20:02:55 | BlaXpirit | how can I repeat the same action for 10 different values (of different types, so array doesn't work)? |
20:06:01 | * | Kingsquee joined #nim |
20:07:17 | cheatfate | BlaXpirit, macro? |
20:07:36 | BlaXpirit | cheatfate, OK but within a unittest so i don't want to put a macro somewhere else |
20:07:40 | BlaXpirit | do templates work inline? |
20:11:23 | BlaXpirit | sigh, that didn't work out well, although it probably should have |
20:11:31 | BlaXpirit | Error: ambiguous call; both common.randomInt(rng: var RNG, interval: Slice[randomInt.T]) and common.randomInt(rng: var RNG, interval: Slice[randomInt.T]) match for: (TestRNG32, Slice[system.uint8]) |
20:15:08 | BlaXpirit | how to do computations with integer overflow doing wraparound instead of raising an exception? |
20:15:40 | BlaXpirit | {.overflowChecks: off.} for a proc, ok |
20:16:50 | BlaXpirit | wait, that didn't work |
20:19:29 | UNIcodeX | is there an IDE for Nim? |
20:20:07 | BlaXpirit | UNIcodeX, have you seen Aporia? |
20:20:58 | * | andrewo91 quit () |
20:22:16 | UNIcodeX | BlaXpirit, nice |
20:24:20 | UNIcodeX | python "hello world" program compiled with nuitka yields a total distribution size of 31 Megabytes, whereas Nim "hello world" using -d:release yields 55k!! |
20:24:22 | UNIcodeX | whaat! |
20:24:59 | UNIcodeX | Nim version runs 20x faster too |
20:25:10 | UNIcodeX | I'm sure i'm not telling y'all anything new, but that's awesome! |
20:25:46 | dom96 | BlaXpirit: might need to {.push.} that |
20:25:56 | BlaXpirit | dom96, thanks, did that |
20:26:03 | * | askatasuna quit (Ping timeout: 276 seconds) |
20:28:03 | * | askatasuna joined #nim |
20:35:18 | * | mjanssen left #nim (#nim) |
20:37:38 | * | Dankrad joined #nim |
20:42:37 | enthus1ast | UNIcodeX --opt:size and strip maybe even give smaller executable size |
20:45:11 | UNIcodeX | enthus1ast, nice! It was actually at 39K. I tried --opt:size and it took it down to 27K |
20:45:19 | UNIcodeX | just as fast on exec |
20:49:30 | * | nsf joined #nim |
20:49:39 | UNIcodeX | 18K on windows. the 27K was on Arch Linux |
20:50:08 | UNIcodeX | I'm impressed. I primarily use Python, but for things that need to be small and fast, Nim is where it's at |
20:53:49 | enthus1ast | i am .. i was a python head myself : ). But nim's replaceing it step by step. |
20:54:20 | UNIcodeX | enthus1ast, :) |
20:56:54 | * | Dankrad quit (Read error: Connection reset by peer) |
21:00:25 | enthus1ast | UNIcodeX have you tried to compile to javascript already? This was the moment i understand what nim could be. |
21:01:55 | UNIcodeX | no. not yet. actually... i didn't know it could do that. |
21:02:03 | UNIcodeX | so.... I could use this to make an android app? |
21:02:53 | * | gokr joined #nim |
21:08:04 | Araq_ | yup |
21:08:25 | Araq_ | "nake" has support for Android builds, but I never used it myself |
21:08:53 | UNIcodeX | nice! |
21:09:07 | * | irrequietus joined #nim |
21:15:00 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:17:31 | dom96 | yay, my book's third review is finished. |
21:22:39 | * | yglukhov quit (Remote host closed the connection) |
21:28:18 | * | yglukhov joined #nim |
21:29:19 | cheatfate | dom96, what does it mean third review? and who is reviewing your book? :) |
21:30:03 | dom96 | Volunteers mainly |
21:30:11 | dom96 | But people who are software engineers |
21:30:48 | dom96 | It means the 3rd review, there were 3 reviews planned in total, this was the 3rd and last one. |
21:32:47 | * | yglukhov quit (Ping timeout: 256 seconds) |
21:34:00 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
21:34:33 | * | Kingsquee joined #nim |
21:35:36 | cheatfate | and who looking for this volunteers? you or publisher? |
21:37:15 | dom96 | publisher |
21:37:25 | dom96 | The reviewers are anonymous to me |
21:37:36 | dom96 | so I can't scold them for giving me a bad review |
21:48:29 | * | bjz joined #nim |
21:50:51 | * | libman joined #nim |
21:53:24 | * | yglukhov joined #nim |
21:58:15 | * | yglukhov quit (Ping timeout: 265 seconds) |
21:59:54 | * | Dankrad joined #nim |
21:59:58 | * | Dankrad left #nim (#nim) |
21:59:59 | * | Dankrad joined #nim |
22:02:07 | * | gangstacat quit (Ping timeout: 265 seconds) |
22:03:05 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:03:24 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
22:05:41 | * | lyro quit (Ping timeout: 240 seconds) |
22:05:47 | * | gangstacat joined #nim |
22:06:03 | * | Dankrad1 joined #nim |
22:06:03 | * | Snircle joined #nim |
22:06:33 | * | lyro joined #nim |
22:07:55 | * | Dankrad quit (Ping timeout: 256 seconds) |
22:14:17 | * | lyro quit (Ping timeout: 264 seconds) |
22:14:37 | * | lyro joined #nim |
22:23:45 | * | bjz_ joined #nim |
22:25:21 | * | PMunch joined #nim |
22:28:19 | * | bjz_ quit (Ping timeout: 256 seconds) |
22:36:39 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
22:55:09 | * | yglukhov joined #nim |
22:56:03 | PMunch | Hmm, what are the/are there any limitations to what can get passed in to a macro? |
22:57:56 | FromGitter | <girvo> @flyx what serialization lib do you suggest? :) |
22:59:53 | * | yglukhov quit (Ping timeout: 252 seconds) |
23:05:54 | * | Trustable quit (Remote host closed the connection) |
23:06:54 | * | elrood quit (Quit: Leaving) |
23:15:14 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:21:11 | * | gurki quit (Ping timeout: 244 seconds) |
23:22:28 | * | libman also wants to know serialization lib alternatives to stdlib marshal. |
23:32:03 | * | yglukhov joined #nim |
23:36:44 | * | yglukhov quit (Ping timeout: 252 seconds) |
23:41:15 | PMunch | For example, is it possible to pass something like <this> to a macro? Without wrapping it in quotes? |
23:41:35 | PMunch | myMacro: |
23:41:45 | PMunch | <this> |
23:41:52 | PMunch | Like that ^ |
23:47:50 | joshbaptiste_ | dom96: currently creating the chat app from the book.. very insightful |