<< 30-01-2017 >>

00:15:40*Matthias247 quit (Read error: Connection reset by peer)
00:19:39*nsf quit (Quit: WeeChat 1.7)
00:47:21*onionhammer quit (Quit: WeeChat 1.0.1)
00:50:48*onionhammer joined #nim
01:07:09*gokr quit (Quit: Leaving.)
01:26:19*strikr joined #nim
01:29:11strikris it correct to interpret that nim-lang is case IN-sensitive ?
01:39:19strikrwhy does then the case of 'RootObj' matter ?
01:51:11strikr.
01:55:00*yglukhov joined #nim
01:59:30*yglukhov quit (Ping timeout: 256 seconds)
02:24:13*Snircle joined #nim
02:39:28*chemist69 quit (Ping timeout: 258 seconds)
02:42:10ftsf_strikr, it's not case insensitive
02:42:27ftsf_"it's complicated" ;)
02:43:20strikrokay
02:44:01ftsf_the case of the first character is important
02:44:04ftsf_the others are not
02:44:31ftsf_foo is different to Foo, but FOO is the same as Foo, and fOO is the same as foo, underscores are ignored
02:44:37ftsf_foo_bar is the same as fooBar
02:57:38*chemist69 joined #nim
03:06:52*kulelu88 quit (Quit: Leaving)
03:30:10*libman quit (Ping timeout: 256 seconds)
03:33:42*libman joined #nim
03:57:52*yglukhov joined #nim
03:59:52*libman quit (Ping timeout: 245 seconds)
04:02:33*yglukhov quit (Ping timeout: 252 seconds)
04:28:57*kier joined #nim
04:40:01*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
05:07:22*gangstaguy joined #nim
05:20:43*def-pri-pub quit (Quit: Lost terminal)
05:24:17*strikr quit (Ping timeout: 258 seconds)
05:24:54*dyson joined #nim
05:25:18*dyson is now known as Guest66674
05:27:23*Trioxin quit (Ping timeout: 264 seconds)
05:46:54*eizua joined #nim
05:56:25*Varriount|Mobile joined #nim
05:59:45*yglukhov joined #nim
06:03:12*Guest66674 quit (Ping timeout: 245 seconds)
06:03:32*Guest66674 joined #nim
06:04:09*yglukhov quit (Ping timeout: 258 seconds)
06:09:48*sz0 quit (Quit: Connection closed for inactivity)
06:13:44*chemist69 quit (Ping timeout: 255 seconds)
06:16:31*chemist69 joined #nim
06:29:54*Varriount|Phone joined #nim
06:34:09*Varriount|Mobile quit (Ping timeout: 276 seconds)
06:52:07*libman joined #nim
06:58:50*rokups joined #nim
07:06:35*nsf joined #nim
07:12:21*yglukhov joined #nim
07:12:36*ftsf_ quit (Remote host closed the connection)
07:15:54*gangstaguy quit (Quit: Connection closed for inactivity)
07:16:41*yglukhov quit (Ping timeout: 240 seconds)
07:22:26*Kingsquee joined #nim
07:31:48*filcuc joined #nim
07:33:11*jivank_ quit (Ping timeout: 240 seconds)
07:36:06*libman quit (Ping timeout: 240 seconds)
07:38:31*sz0 joined #nim
07:41:54*libman joined #nim
07:43:43*Varriount|Phone quit (Ping timeout: 240 seconds)
08:07:05*Vladar joined #nim
08:08:41*gokr joined #nim
08:13:10*yglukhov joined #nim
08:24:56*yglukhov quit (Remote host closed the connection)
08:29:45*adeohluwa joined #nim
08:41:24*yglukhov joined #nim
08:42:38*djellemah joined #nim
08:44:58*bjz joined #nim
08:51:12*yglukhov quit (Remote host closed the connection)
08:55:39*yglukhov joined #nim
08:56:54*Guest89004 joined #nim
08:58:26*libman quit (Ping timeout: 255 seconds)
09:10:00*couven92 joined #nim
09:11:24*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:16:41*bjz joined #nim
09:19:27*Kingsqueee joined #nim
09:20:36*Kingsquee quit (Read error: Connection reset by peer)
09:24:51*adeohluwa quit (Ping timeout: 248 seconds)
09:28:33*yglukhov quit (Remote host closed the connection)
09:41:52*adeohluwa joined #nim
09:50:49*yglukhov joined #nim
09:53:33*eizua quit (Quit: Leaving)
10:08:41*yglukhov quit (Remote host closed the connection)
10:10:30*yglukhov joined #nim
10:13:09*PMunch joined #nim
10:20:52*PMunch quit (Quit: leaving)
10:31:57*Guest89004 quit (Ping timeout: 252 seconds)
10:36:59*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:37:11*adeohluwa quit (Ping timeout: 240 seconds)
10:38:41*PMunch joined #nim
10:39:34*bjz joined #nim
10:48:50*yeeve quit (Remote host closed the connection)
10:49:48*sz0 quit (Quit: Connection closed for inactivity)
10:51:51*yeeve joined #nim
10:51:55*yglukhov quit (Remote host closed the connection)
10:55:16*Kingsqueee quit (Quit: https://i.imgur.com/qicT3GK.gif)
11:07:51*Arrrr joined #nim
11:08:47*yglukhov joined #nim
11:14:49*Guest89004 joined #nim
11:16:00*fredrik92 joined #nim
11:18:19*couven92 quit (Disconnected by services)
11:18:24*fredrik92 is now known as couven92
11:19:57*fredrik92 joined #nim
11:39:10*yglukhov quit (Remote host closed the connection)
11:40:00*yglukhov joined #nim
11:49:48*bjz_ joined #nim
11:52:39*bjz quit (Ping timeout: 276 seconds)
11:56:24*couven92 quit (Quit: Disconnecting)
12:02:24*Snircle joined #nim
12:02:54*arnetheduck joined #nim
12:20:44*Andris_zbx joined #nim
12:36:23*bjz_ quit (Ping timeout: 264 seconds)
12:38:10*bjz joined #nim
12:49:03*yglukhov quit (Remote host closed the connection)
12:51:10cheatfateendragor: what is the problem of https://github.com/nim-lang/Nim/blob/devel/lib/pure/ioselects/ioselectors_kqueue.nim#L103?
12:56:19cheatfateendragor: because i have made discard for a reason not to hide error from particular line of code
12:56:31*PMunch_ joined #nim
12:59:16*PMunch_ quit (Client Quit)
13:02:06*djellemah quit (Ping timeout: 252 seconds)
13:02:59*yglukhov joined #nim
13:03:28*fredrik92 is now known as couven92
13:04:08*yglukhov quit (Remote host closed the connection)
13:08:47*Jesin quit (Ping timeout: 264 seconds)
13:09:54*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
13:14:15FromGitter<endragor> @cheatfate @dom96 suggests that the error code should still be checked
13:15:36*yglukhov joined #nim
13:23:03*plrin joined #nim
13:23:07*plrin left #nim ("Leaving")
13:23:12*Jesin joined #nim
13:27:03*Arrrr quit (Read error: Connection reset by peer)
13:30:28*rupil joined #nim
13:31:46*djellemah joined #nim
13:39:25*Snircle joined #nim
14:06:26*yglukhov quit (Remote host closed the connection)
14:09:02*nsf quit (Quit: WeeChat 1.7)
14:14:08chemist69style question: a const that I only use in one proc, should I define it in that proc or globally?
14:18:50Araqchemist69: more often than not, it ends up being used in multiple procs
14:19:03Araqso IMO it's fine to define it globally
14:19:31chemist69yes, I have to say, it also *looks* better that way.
14:19:36chemist69thanks.
14:24:16*PMunch quit (Quit: leaving)
14:24:40*yglukhov joined #nim
14:29:07*Salewski joined #nim
14:32:51SalewskiFrom new libui: Widget* = ref object of RootRef # is this the same as "Widget* = ref object of RootObj" ?
14:35:16Araqyes
14:35:33Araqyou have asked this before :P
14:35:48Araqyou cannot inherit from a pointer, so Nim takes the underlying object type instead
14:36:07Araqwhich is useful because the object in 'Foo = ref object' has no name
14:36:46*vlad1777d joined #nim
14:38:12SalewskiOK, thanks.
14:39:27*Guest89004 quit (Ping timeout: 245 seconds)
14:41:43*literal quit (Ping timeout: 240 seconds)
14:42:55*yglukhov quit (Remote host closed the connection)
14:43:08*literal joined #nim
14:46:23*yglukhov joined #nim
14:51:06*APT69 joined #nim
14:51:24*yglukhov quit (Ping timeout: 276 seconds)
14:55:28*yglukhov joined #nim
14:57:21*Salewski left #nim (#nim)
15:05:49*xet7 joined #nim
15:19:17*devted joined #nim
15:31:44*xet7 quit (Quit: Leaving)
15:37:01*nsf joined #nim
15:51:31*yglukhov quit (Remote host closed the connection)
15:53:01*yglukhov joined #nim
15:54:49*yglukhov quit (Remote host closed the connection)
16:02:15*chemist69 quit (Ping timeout: 276 seconds)
16:06:21*chemist69 joined #nim
16:10:26*hendi_ joined #nim
16:13:39*PMunch joined #nim
16:14:28*pregressive joined #nim
16:15:15*hendi_ quit (Ping timeout: 276 seconds)
16:22:04*pregressive quit (Read error: Connection reset by peer)
16:22:31*pregressive joined #nim
16:24:41*hendi_ joined #nim
16:26:38*Trustable joined #nim
16:28:06FromGitter<Varriount> What's neat is that in Nim you can inherit from a reference type, but make the child type an object
16:32:09FromGitter<andreaferretti> @Varriount how would that work?
16:32:22FromGitter<andreaferretti> the reference is just ignored?
16:32:33FromGitter<andreaferretti> I mean, in memory what would be the layout?
16:32:41Araqthe fields are embedded
16:32:44*couven92 quit (Quit: Client disconnecting)
16:32:52Araqlike it's always done for inheritance
16:33:43FromGitter<Varriount> Oh hey, the irc bridge is fully functional again!
16:33:44FromGitter<andreaferretti> so, the derived type will have no reference, right?
16:34:05FromGitter<andreaferretti> I mean, I could inherit from a ref type but get an object on the stack
16:34:29FromGitter<krux02> @zacharycarter, yes that is a bad thing, I don't own glm, even though I basically overtook the maintenance of the project. As far as I know you can just delete that import statement
16:34:40*hendi_ quit (Ping timeout: 260 seconds)
16:34:52FromGitter<Varriount> @andreaferretti Yes
16:35:51FromGitter<andreaferretti> thank you
16:47:23FromGitter<barcharcraz> Oh that is neat. And safe. Slicing to s avoided because anyone taking the parent type is always by ref
16:48:12FromGitter<barcharcraz> Can you inherent from a regular non refundable type. I remember him used to slice, although it was arguably a bug (this was in like 0.9.x
16:48:24FromGitter<barcharcraz> *non ref
16:58:03*Xe quit (Ping timeout: 252 seconds)
17:00:38*filcuc quit (Read error: Connection reset by peer)
17:03:55*yglukhov joined #nim
17:03:58*yglukhov quit (Remote host closed the connection)
17:04:10*yglukhov joined #nim
17:04:27*yglukhov quit (Remote host closed the connection)
17:05:05*yglukhov joined #nim
17:06:08*yglukhov quit (Remote host closed the connection)
17:08:10*Xe joined #nim
17:08:23*APT69_ joined #nim
17:11:48*APT69 quit (Ping timeout: 276 seconds)
17:20:55*couven92 joined #nim
17:24:19*yglukhov joined #nim
17:25:55*yglukhov_ joined #nim
17:25:55*yglukhov quit (Read error: Connection reset by peer)
17:37:40*yglukhov_ quit (Remote host closed the connection)
17:40:49*yglukhov joined #nim
17:45:14*yglukhov quit (Ping timeout: 258 seconds)
17:45:21*BluntObject joined #nim
17:47:27dom96What's happening Nimians?
17:47:50Araqdom96: I fixed a memory manager bug that has been in Nim for at least 5 years
17:47:55FromGitter<Varriount> @barcharcraz You can inherit from object types - odd that what you mean?
17:48:07Araqworth a blog post...
17:48:17dom96Araq: awesome. Definitely
17:48:23dom96TL;DR?
17:48:23Araqthread local heaps produced a race condition
17:48:43dom96wow
17:48:45AraqTL;DR: even if you think it's save, double freeing is not.
17:49:00dom96Race conditions + memory manager sounds like a nightmare
17:49:11FromGitter<Varriount> Araq: Did I miss something?
17:49:13Araqwell it took the whole day to find...
17:49:18Xedouble free -> segfault, right?
17:49:38AraqXe: not if you think you're smart ... :-)
17:50:50FromGitter<timeyyy> Do you use nim in your day job?
17:50:57Araqyes
17:53:13FromGitter<Varriount> Araq: so how was the double free being caused?
17:53:25*Arrrr joined #nim
17:54:52subsetparktimeyyy: I do
17:55:30Araqvarriount: it was a conscious design decision because the OS's APIs suck
17:55:43*gokr quit (Ping timeout: 240 seconds)
17:55:49Araqthe claim to free the number of pages you give them, but actually they don't
17:56:04Araqinstead they might free the original block size
17:56:16BluntObjecthi all. I just spent the last five minutes learning about nim. I literaly just discovered this language less than 5 minutes ago
17:56:48dom96BluntObject: hello and welcome!
17:56:49Araqvarriount: I wasn't aware this can produce race conditions :-)
17:57:05Araqbut it's actually quite easy to see
17:57:14FromGitter<krux02> BluntObject: Welcome to the worlds best programming laguage that wille ever come into existence ;)
17:57:24Araqthread A: x= alloc(); dealloc(x); dealloc(x)
17:57:41Araqthread B: y = alloc(); # oops. could be freed by thread A
17:58:14BluntObjectthanks krux02. I am trying to get an understanding of how things work
17:58:37FromGitter<krux02> BluntObject: How much experience do you have in other programming languages?
17:58:39BluntObjectlinux install, windows install, compile commands arch linux install
17:58:43BluntObjectthat sort of thing
17:58:45*gokr joined #nim
17:59:46BluntObjectas far as experience, I have some C C++ VB, python but I struggle with programmin languages
17:59:58BluntObjectits a wall that I have always wanted to climb
18:00:43FromGitter<krux02> When you struggle with programming language, I don't want to discourage you, this is a very good language, but it is rough here and there, and not everything is beginners friendly documented
18:01:33FromGitter<Varriount> Here be pointers. :D
18:01:40FromGitter<krux02> When you understand programming and think C++ and VB do not offer you enough freedom and you generally want more control over everything, here you go, Nim is that language for you
18:03:10FromGitter<krux02> yes somewhat, but pointers only have a bad reputation, because C mixed pointers and arrays up and really made dealing with pointers messy
18:03:19FromGitter<Varriount> @krux02 I think you mean "Python and VB" - C++ gives you enough freedom.
18:03:27*huonw quit (Quit: bye)
18:03:27FromGitter<krux02> when pointers are just pointers, they are no danger at all
18:04:23*brson joined #nim
18:04:41FromGitter<krux02> Varriount, actually I mean what I wrote. Nim offers a lot more freedom and control over everything than all other languages that I used so far
18:05:02FromGitter<krux02> so when you hit the boundaries of Python and VB, come to Nim
18:05:44FromGitter<Varriount> BluntObject: Of course, that's not to say that Nim always requires advanced knowledge either.
18:05:48*jjido joined #nim
18:05:48FromGitter<krux02> I don't have personal experience in Python and VB, but I hit the boundaries of C++ and decided to look for something better
18:05:58FromGitter<krux02> sure
18:06:17FromGitter<krux02> Nim is actually easy to understand for the most part
18:07:01BluntObjectkrux02 yes, from what I have seen so far, it looks easy to understand
18:07:12FromGitter<krux02> that's good
18:07:29FromGitter<krux02> when you don't understand something, there are very friendly people here
18:07:39BluntObjectis it based on C? nim ?
18:08:14FromGitter<barcharcraz> it uses C as an intermediary language
18:08:18FromGitter<krux02> Not based on C, but everything you can express in C has an equivalent representation in Nim
18:08:33BluntObjectok understood
18:08:39FromGitter<krux02> When you come from C, you will not feel like anybody took the control away from you
18:08:40FromGitter<Varriount> I'd say it takes elements from Python, Pascal, and Lisp
18:09:32FromGitter<krux02> For me it only has Python syntax, but feels much more like c++
18:10:07FromGitter<krux02> c++ with modules and no headers and real metaprogramming
18:10:13FromGitter<krux02> everything I ever dreamed of
18:10:19BluntObjecthmmm
18:10:35BluntObjecti'm looking for ways that nim interfaces with the network
18:10:42BluntObjectlooking at documentation now
18:11:35FromGitter<Varriount> BluntObject: Are you looking for high level or low level?
18:13:11BluntObjecthmm thats a very good question. one that I should have had the answer too before asking my question
18:13:18FromGitter<Varriount> BluntObject: At the high level, we have the async framework, at the low level, we have the bare socket interface.
18:16:28*nsf quit (Quit: WeeChat 1.7)
18:17:00*Arrrr1 joined #nim
18:17:39*Arrrr1 quit (Client Quit)
18:18:41*Arrrr quit (Ping timeout: 255 seconds)
18:19:44BluntObjectoh i see, so there are network options? thats about what i needed to know
18:20:03BluntObjecthigh level or low level will depend on the project
18:24:55*APT69_ quit (Read error: Connection reset by peer)
18:25:53*smt joined #nim
18:27:58FromGitter<barcharcraz> I'm seeing a dependency on jobapi2.h in streams
18:28:05FromGitter<barcharcraz> is this intentional?
18:28:40FromGitter<barcharcraz> wait sorry, it's microsoft's fault not nim's
18:32:49dom96BluntObject: what brought you to Nim?
18:35:13*Arrrr joined #nim
18:36:08*Arrrr quit (Client Quit)
18:44:27*Andris_zbx quit (Remote host closed the connection)
18:48:01Araqyay, tests fail with my patch
18:52:20ehmryif I want to process a stream of message of unknown length, would chaining future like ``Future[(data: X, Future[...])]`` be wise or is there a better way?
18:55:38dom96we have no proper support for async streams yet I'm afraid
18:55:58dom96That would be a pretty clever solution actually :)
18:56:24dom96Will probably turn out very slow though
18:58:12FromGitter<krux02> I mean it also depends on what you want to do what you want to do besides processing that stream of message of unknown length
18:58:22FromGitter<krux02> when that really is the only thing you want, blocking is ok
18:59:34FromGitter<krux02> when you want to keep a window open, you can do polling (is there new data? if yes then process it. Is there a new window event? if yes process it. Is there new data? ...)
19:01:29ehmrythe message is not of unlimited length, its the stream
19:01:46ehmryof messages
19:02:14ehmrybut I don't think its possible or practical to make a recursive type
19:03:41euantordom96: Another of those odd threads with no first post: https://forum.nim-lang.org/t/2771
19:03:46ehmryas cool as it would be I should probably just register a stream handler and call it on each message
19:04:11dom96euantor: fixed
19:05:31euantorNice, thanks
19:09:58*krux02 joined #nim
19:10:25ehmryI'm rewritting some Javascript code into Nim and I'm learning both languages at the same time
19:10:38ehmryguess which one I like bette ;-)
19:20:32*yglukhov joined #nim
19:22:47krux02I dosn't take much to design a language better than javascript
19:27:58krux02ehmry: Bet introduction to javascript: https://www.destroyallsoftware.com/talks/wat
19:30:16krux02(I mean best)
19:32:45ehmryI find myself instrumenting code with stack traces because most of the functions have no names and in return I get these insane callback loops
19:33:46*Arrrr joined #nim
19:33:48*yglukhov quit (Remote host closed the connection)
19:36:14FromGitter<martinium> javascript seems like spaghetti to me
19:36:27FromGitter<martinium> so inelegant to my eyes
19:36:40FromGitter<martinium> @ehmry
19:36:41krux02na it's not that bad
19:36:56FromGitter<martinium> in the ES6 - ES7 era
19:36:59krux02I think when I read javascript it all depends on the writer
19:37:06FromGitter<martinium> yep
19:37:12FromGitter<martinium> its very dynamic in a bad way
19:37:14ehmryyea
19:37:19krux02when the writer uses good names, javascript is nice to read
19:37:19FromGitter<martinium> people do some crazy stuff
19:37:32krux02I miss types, but yea have to live with it
19:37:47FromGitter<martinium> js scares me for anything computation related
19:38:05krux02good writers also avoid the ugly parts of javascript
19:38:15*yglukhov joined #nim
19:38:18krux02but I don't write it because I don't want to write it
19:38:20FromGitter<martinium> the ugly parts are still good to know though
19:38:33krux02other people who care that something is javascript can do that
19:38:38krux02there are enough of them
19:38:43FromGitter<martinium> too many
19:38:50FromGitter<martinium> then js won’t scale
19:38:52FromGitter<martinium> lol
19:39:05FromGitter<martinium> keep hearing that problem about extremely large codebases
19:39:18krux02yes of course
19:39:35krux02when you do not have a proper type system, you have big problems refactoring the thing
19:39:36FromGitter<martinium> Nim and Crystal offer speed and high-level beautiful code. I really want these languages to become more mainstream
19:39:48FromGitter<martinium> I also prefer AOT compilation
19:39:53FromGitter<martinium> it helps avoid so many errors
19:40:05*Arrrr quit (Quit: Leaving.)
19:40:09krux02that really is a solved problem, but javascript programmers are resistent to learn about static typing
19:40:11FromGitter<martinium> runtime errors in certain circumstances can cost a person their job.
19:40:34FromGitter<martinium> then again I hope no one is using a dynamic non-statically typed language in such a situation
19:40:38krux02static typing doesn't prevent runtime errors
19:40:46FromGitter<martinium> it doesn't
19:41:06FromGitter<martinium> but it helps a person think about and structure their code a bit better
19:41:07FromGitter<martinium> as opposed to not having one
19:41:17*Arrrr joined #nim
19:42:30Araqof course it prevents runtime errors. a whole class of errors is transformed from runtime to compiletime.
19:42:59krux02I really like the concept of rust, that it even goes a lot deeper in static analysis, I just think it is ugly with all that &* etc in the code
19:43:14Araqever got an "illegal instruction" exception in C? assembler has it.
19:43:35Araqso there, even C improves the situation.
19:44:24krux02not nil as default also prevents the class of nil ptr exception
19:44:32krux02and there are lots
19:44:41Araqyes.
19:45:00krux02but I heared rust has very slow compilation time, so there is always a tradeof
19:45:49Araqthere is nothing inherent in Rust that leads to slow compile times, so it will improve tremendously. my prediction.
19:46:15FromGitter<martinium> rust is working on their compile times
19:46:19FromGitter<martinium> it will get faster with time
19:46:42FromGitter<martinium> Rust code isn’t the most elegant but language looks rock solid but still pretty low level
19:46:59FromGitter<martinium> it’s performant code that guarantees zero data races
19:47:08FromGitter<martinium> only language I know of with that assertion
19:47:18krux02I think what makes rust slow is this functional programming
19:47:22FromGitter<barcharcraz> yeah the compile time issues are just them generating messy IL
19:47:30*aedigix quit (Remote host closed the connection)
19:47:32*yglukhov quit (Remote host closed the connection)
19:47:33FromGitter<barcharcraz> but it's very ugly
19:47:41FromGitter<barcharcraz> and like there's random limitations everywhere
19:47:48FromGitter<martinium> Rust is still slower to code in than say something like Nim
19:47:49*yglukhov joined #nim
19:47:52*aedigix joined #nim
19:47:58FromGitter<barcharcraz> like not being able to implement a trait if you don't own the type or the trait
19:48:05FromGitter<barcharcraz> which makes some libraries very nasty
19:48:07krux02Rust has all the functional things that can be optimized to loops, and the compiler does it as far as I know, but it takes time to do so, but that is very half knowledge here so be caustios
19:48:09FromGitter<martinium> yeah it’s very restrictive
19:48:19FromGitter<barcharcraz> that's not why rust compiles slowly
19:48:33FromGitter<barcharcraz> it's a combination of messy IL and the compilation unit being the whole crate
19:48:46FromGitter<martinium> FP code is very fast so the FP features aren’t what make it slow
19:48:50FromGitter<martinium> IMO
19:49:07FromGitter<barcharcraz> yeah none of the fp features should make it slow
19:49:12FromGitter<barcharcraz> and it has loops and such
19:49:24FromGitter<barcharcraz> it's not like it's pure functional with linked lists and trees everywhere
19:49:37FromGitter<martinium> a jab at haskell there
19:49:37FromGitter<martinium> lol
19:49:39FromGitter<martinium> :)
19:49:51FromGitter<martinium> j/k but yeah I get what you mean
19:49:53cheatfateGuy why you are discussing rust in nim channel?
19:49:58FromGitter<barcharcraz> good point
19:50:00FromGitter<barcharcraz> nim is better
19:50:02FromGitter<barcharcraz> lets use nim
19:50:06krux02I am not talking about linked lists, I am talking about the things that are fast, but only at runtime, for the cost that they need to be optimized a lot during compilation
19:50:09cheatfateIF you need to discuss rust you can go to rust channel
19:50:33*yglukhov quit (Remote host closed the connection)
19:50:35*Arrrr quit (Quit: Leaving.)
19:50:48krux02wheatfate: why not?
19:51:02*yglukhov joined #nim
19:51:02krux02cheatfate, we are comparing here
19:51:06*Arrrr joined #nim
19:52:22cheatfatekrux02, because you comparing c to rust and rust to everything
19:52:26*Arrrr quit (Client Quit)
19:53:16cheatfatekrux02, do you really think, that this talk is needed in official #nim channel?
19:53:58krux02it has ended now anyway
19:54:14krux02and it wasn't like it was going on for ever or preventing other discussions
19:54:15FromGitter<martinium> anyways
19:54:32*Arrrr joined #nim
19:54:44FromGitter<martinium> Nim is more productive to code in is the finding of many people
19:55:04*yglukhov quit (Remote host closed the connection)
19:55:20krux02Another conclusion wouldn't be allowed in the Nim channel ;)
19:55:30FromGitter<martinium> there was a HN thread of a company that switched a far along project written in Rust to Nim and caught up to the point they were at with rust in a few short weeks taking advantage of all the goodies Nim has to offer
19:55:40Araqcheatfate: well it wasn't really offtopic and comparing Nim with other languages is fine here as long as it's not about Go... ;-)
19:55:58FromGitter<martinium> hahaha Go
19:56:08*Arrrr quit (Client Quit)
19:56:26krux02I am sorry, but I like Go, but I am ok to be the only one here.
19:56:32*Arrrr joined #nim
19:56:38FromGitter<martinium> @Araq when choosing to compile to C for backend was it a hard choice between C and compiling to native machine code directly?
19:57:15*yglukhov joined #nim
19:57:22FromGitter<martinium> any language can be good as long as it gets stuff done without letting you shoot yourself i the foot too badly. Looking at you C++ ;-)
19:57:28ehmrykrux02: I like Go too, or atleast I would teach someone Go before Python
19:57:36krux02a lot of programming languages compile to C or start their live with compiling to C
19:57:47ehmryI shudder to think of kids learning JS
19:58:18cheatfateAraq, if you reread whole talk, you will see 1 or 2 comparisons with nim, everything started with javascript, and crux02 entered to talk with phrase `i like rust`...
19:58:47ehmryNim might be a fun first programing language if you gave someone a DSL implemented in it
19:58:49dom96I think that for kids it's more about avoiding as many obstacles as possible. JS would be pretty good for that.
19:58:56Araqcheatfate: ok fine, but now it's over. let's leave it at that.
19:59:05*Arrrr quit (Client Quit)
19:59:08*cheatfate left #nim ("Leaving")
19:59:27*Arrrr joined #nim
19:59:27*Arrrr quit (Changing host)
19:59:27*Arrrr joined #nim
19:59:43FromGitter<martinium> I am a noob programmer and am simultaneously learning Nim and Crystal
19:59:47krux02dom96: JS for avoiding obstacles? Never heared that argument
19:59:49FromGitter<martinium> I have liked Nim a lot more than Python
20:00:05krux02I do like Nim a lot more than python
20:00:22Araqmartinium: no, it wasn't a hard decision, I knew a native backend would have been more work, at least if you want rudimentary optimizations
20:00:25FromGitter<martinium> on top of the performance which I care about a lot, the syntax is similar and very expressive.
20:00:30krux02currently it is my favorite programming language, despite the fact that there are things I don't like
20:00:41FromGitter<martinium> yeah no language is perfect
20:00:43dom96krux02: Any kid can play with it as long as they have a web browser
20:00:51FromGitter<martinium> but it allows you to be so productive
20:01:02FromGitter<martinium> certain things after you learn them feel so natural
20:01:02dom96The barrier to entry is super low
20:01:05krux02but the macros give me power to fix most of them somehow just for myself without requiring to change the language. It is just very flexible
20:01:09FromGitter<martinium> like the $ operator
20:01:49krux02dom96: I think it should be higher.
20:01:54ehmrypython was my first language but I had a lot of 'but why' questions that I hard to answer
20:01:58dom96krux02: why?
20:02:31FromGitter<martinium> @ehmry yes when I started to dabble in it as it is the most recommended first language I hate how they tell you to do and not to understand
20:02:45dom96I still remember the first time I found out about Python, it was via Frets on Fire (amazing game).
20:02:48FromGitter<martinium> I am the type that wants to know how things actually work to truly understand what I am doing
20:03:47FromGitter<martinium> will lead me to learn C eventually. But my dayjob prevents the time committment and Nim and Crystal are both a great compromise since they are so darn performant and the syntax beautiful
20:03:53krux02A lot of people get stuck on the first programming language they learn, therefore you should be very cautious about what you start to teach people about. They might end up using it for everything they do later on in their live. Giving everybody access to javascript is what got us in the world of Javascipt dominating the programming language world in the first place
20:03:59FromGitter<martinium> The one thing I think Nim really needs is a REPL
20:04:06FromGitter<martinium> REPL’s make a big difference
20:04:39FromGitter<martinium> Apple’s Swift has a REPL and it is also a AOT compiled language
20:04:58dom96interesting, any ideas how Swift's REPL is implemented?
20:05:09dom96I've wanted a REPL for Nim since I started using it
20:05:17ehmrythe other language that a lot of smart people sadly are taught first is R
20:05:33dom96krux02: I've learned how to program using VB.NET, am I still using it? no.
20:06:00Amun_Rathere's nrpl
20:06:02FromGitter<zacharycarter> @krux02 I'm struggling to get sprite rendering working with opengl and I spied your sandbox which looks really nice - any chance you have tips to get it working on osx?
20:06:02krux02you are not most people
20:06:03dom96krux02: The reason JS is popular isn't because it's easy to learn, it's because web browsers are incredibly popular and only support JS.
20:06:19ArrrrWe must build a wall to avoid any access to JS
20:06:49ehmryI've seen someone struggle for hours in R to later proclaim that they figured out the for loop, which is sad because R was designed to be functional
20:06:56euantorI also learned in VB.NET< but I am still using it
20:07:18euantorRegarding a REPL, it would be nice to have for Nim, but I wouldn't say it's critical
20:07:22ehmryarrrr: make software great again
20:07:45krux02We can't build a physical wallt but we can build a psychological wall in their heads by punching little kids wearing costumes with a big "JavaScript" written on them. Then they will be scared of by life :P
20:07:54krux02for live
20:07:56euantorHitting 1.0 is the thing I'm most excited for or anticipating
20:07:59ArrrrExcuse me sir, seems to me that you used before Java. May i ask you some questions?
20:08:43krux02btw isn't there a hidden repl built into the compiler?
20:10:18dom96there is but it sucks
20:10:18krux02dom96: do you know why the language pascal became popular in the first place?
20:11:22dom96meh, alright, teaching people a certain language does make it more popular.
20:11:29krux02it was introduced as a language to teach concepts about programming at universities. The result was a lot of people who know how to write in pascal therefore they did. It was not inteded to be used that way.
20:12:24krux02So when Nim can make it to the Universities, it will also become more popular.
20:12:24dom96I personally think it's more important to encourage kids to program than it is to worry about a poor language becoming popular.
20:13:04euantorI learned Ada at university, but I would hardly call it popular
20:13:27dom96I'm sure there were other reasons which made Pascal popular
20:13:29krux02yes give all kids a linux machine where all programming languages are as accessable as JavaScript on Windows
20:13:30dom96Adoption by Apple perhaps?
20:13:45AraqTurbo Pascal was a superior product.
20:13:55Araqmade it popular on early PCs
20:13:55*Jesin quit (Quit: Leaving)
20:13:55ehmrythere is some cool stuff going on in SPARK the formal Ada
20:13:58euantorTooling, packaging and documentation are all important to gain traction, and having packages readily available for most operating systems
20:14:28AraqTP came with an IDE and had insanely good compiletimes.
20:14:39euantorI quite liked the ideas behind Ada, but the documentation was difficult to find or outdated
20:15:47krux02I never learned ADA, is there anything that Ada has that is not in C++, Scala, Go or Nim that is worth metioning
20:16:13Araqkrux02: precise struct layout control down to the bits
20:16:24Araqand I don't mean C's bitfields.
20:16:54FromGitter<barcharcraz> ada has sane strings too
20:16:59krux02That's a good thing
20:17:01Araqmodular artihmetic types, fixed point math types
20:17:03ehmryits easier to formally verify from what I understand
20:17:09FromGitter<martinium> here is the thing
20:17:17FromGitter<martinium> with a REPL it allows experimentation
20:17:31*Jesin joined #nim
20:17:41dom96To be fair, experimenting with Aporia has largely replaced REPLs for me.
20:17:42FromGitter<martinium> especially for areas like big data and data science where the performance offered by nim and it’s high level syntax are a big plus
20:17:50dom96Which is why I find VS code so frustrating right now
20:17:56*hendi_ joined #nim
20:18:05*yglukhov quit (Remote host closed the connection)
20:18:11*zachcarter joined #nim
20:18:18FromGitter<martinium> the modern recent languages that Nim is a part of, most have a repl
20:18:22euantorAda also has ref types similar to Nim, rather than just pointers
20:18:23krux02I use emacs and I have quickrun configured
20:18:32*zachcarter left #nim (#nim)
20:18:38euantorThough they're called access types
20:18:40*zachcarter joined #nim
20:18:41krux02I just open a new file in /tmp/scratch.nim
20:18:44FromGitter<martinium> Kotlin on the JVM, Swift from Apple, Java 9 will have a repl
20:19:01FromGitter<martinium> Python and Ruby have big mindshare in part due to their easy access via repl
20:19:15FromGitter<martinium> so it aids in teaching
20:19:18dom96martinium: citation needed
20:19:29dom96:P
20:19:33FromGitter<martinium> :P
20:19:40*yglukhov joined #nim
20:19:47krux02Scala also has a repl. A lot that went ito java 8 and java 9 were first in scala
20:21:03*rupil quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20:21:13krux02I used the reple quite a lot in scala, but aporia is also great
20:21:47krux02just the ability, to not create a new file, but type and run some code
20:22:09zachcarter@krux02 I’m struggling to get opengl sandbox examples to run on osx - do you have any pointers? I’ve been trying to uncomment the platform specific gl functions but I’m stuck on glNamedBufferDataEXT
20:22:11FromGitter<martinium> I have yet to use aporia
20:22:22FromGitter<martinium> works pretty good
20:22:23FromGitter<martinium> I use Nimlime in ST3
20:22:29FromGitter<martinium> I’ll have to try Aporia
20:22:41AraqI want to try Nimline :-)
20:23:06*rupil joined #nim
20:23:11Araqbut cannot get to it. and I don't need a repl, I already know Nim :-)
20:23:59dom96I tried using a scratch.nim file in VS code
20:24:08dom96but finding it amongst the tabs is a pain
20:24:24dom96doesn't help that VS code keeps a different workspace for each project
20:24:38dom96I think I need to stop using it...
20:24:46dom96irritates me more than it should
20:25:08FromGitter<martinium> vscode seems nice
20:25:13FromGitter<martinium> until it isn't
20:25:19FromGitter<martinium> ST3 is faster anyways
20:25:24FromGitter<martinium> like much much faster
20:25:45dom96I'd have to buy that though :P
20:25:51FromGitter<martinium> Nimlime package does compilation checks or something to that effect
20:26:00FromGitter<martinium> uses nimsuggest
20:26:21FromGitter<martinium> etc @Araq @dom96 you should both try it today if you haven’t already
20:26:43dom96I'm pretty sure I have at some point
20:26:53FromGitter<martinium> I will say this
20:26:57dom96I've tried every editor at some point.
20:27:09AraqVS's workspace per directory is so annoying...
20:27:15FromGitter<martinium> we def should get a repl and use the Swift repl as the benchmark
20:27:33FromGitter<martinium> it would increase the audience
20:27:37dom96Araq: I guess me and you are similar after all :)
20:27:38FromGitter<martinium> on the way to 1.0
20:28:07dom96martinium: yeah! Let's do it, go on, create a REPL for us ;)
20:28:23ehmryacme is the best editor ever, but sadly it makes you use tabs rather than spaces, so no Nim
20:28:44Araqah one of these "you only need to copy from <insert project that has insanely more manpower behind it>" ideas
20:28:56Araq:P
20:29:09Araqwe got https. that has to do for v1. :p
20:29:20*ehmry puts "rewrite acme in nim" on his todo list
20:29:29FromGitter<martinium> @dom96 k gimme like 4 years to create it while I become a good programmer
20:29:31FromGitter<martinium> lol
20:29:47*chemist69 quit (Ping timeout: 264 seconds)
20:29:51dom96ehmry: what's special about it?
20:29:51FromGitter<martinium> repl must be hard to create I can imagine
20:30:34FromGitter<martinium> @Araq do you want more manpower for Nim development?
20:30:40Araqalways.
20:31:01FromGitter<martinium> you should make a post on HN reddit and twitter
20:31:10ehmryit best leverages the mouse for productivity of any editor I've used, and it has barely any features
20:31:22FromGitter<martinium> asking for any interested devs to contribute to this stable language headed to 1.0
20:31:31FromGitter<martinium> you’ll have lots of takers I bet
20:31:36FromGitter<martinium> especially once they use the language
20:31:45FromGitter<martinium> you know what I think I will start doing it for you
20:31:50FromGitter<martinium> and direct them here
20:32:16FromGitter<martinium> there are so many talented devs just looking for something worthwhile to do and this is one of those things
20:32:22*chemist69 joined #nim
20:32:38ehmryfeatures cause problems, thats why I wont use vim or emacs
20:32:54FromGitter<martinium> I use vim with syntax highlighting
20:33:04FromGitter<martinium> I am still noob with it though
20:33:11FromGitter<martinium> use st3 for almost everything else
20:33:22dom96I tried Vim for a month
20:33:38dom96You can guess what happened after that
20:33:42FromGitter<martinium> lol
20:33:51FromGitter<martinium> Gui editors are comfy
20:34:23FromGitter<martinium> @Araq do you develop using windows or linux mostly?
20:34:30FromGitter<martinium> I’m curious
20:34:40ehmryvim is a very special beast because it was designed by someone on a very high latency dial-in terminal
20:35:13FromGitter<martinium> doesn’t vim not ever lag with large files?
20:35:23Araqwindows and OSX.
20:35:24ArrrrHe uses Redox OS
20:35:31FromGitter<martinium> hahaha redox
20:35:37krux02vim is an evolution of a lot of tools used in the unix world
20:35:40Araqoh no, right, I use Baiku.
20:35:49Araqit's like Haiku but with a B.
20:36:04krux02vim does lag when you overload it with crappy plugins
20:36:09dom96I bet you misspelled it and are trying to save face :P
20:36:19krux02and less is still better at handling large files
20:36:29FromGitter<martinium> ST3 doesn’t lag
20:36:34FromGitter<martinium> ever
20:36:51dom96if I had a penny for the amount of times I had to open large files with my text editor I would have probably around 0 pennies
20:36:52FromGitter<martinium> but some people I’ve noticed are religious with regards to their Editors
20:37:04Araqdom96: and I would be rich :P
20:37:15Araqlog files, people are obsessed with them.
20:37:24euantorYep, log files do it for me
20:37:27dom96Araq: When do you deal with log files?
20:37:33dom96I'm your sys admin remember?
20:37:40Araqwhy use a database when you can instead have unstructured data that cannot be queried?
20:37:50dom96and even then, grep and tail is your friend
20:37:58Araqso much more fun...
20:37:59dom96oh, I see what you're doing
20:38:17euantorWell, the windows event viewer provides a GUI for windows event logs, but it's slower than anything I've ever used
20:38:31Araqdom96: I don't deal with logfiles *anymore* :P
20:39:41*Arrrr quit (Quit: Leaving.)
20:40:24*rupil quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
20:40:31*nsf joined #nim
20:41:06FromGitter<barcharcraz> I mean journalctl is like event viewer for linux
20:41:12FromGitter<barcharcraz> systemd ftw
20:41:51*rupil joined #nim
20:41:57*yglukhov quit (Remote host closed the connection)
20:42:41*rupil quit (Client Quit)
20:42:53krux02just testet journalctl was surprised to see this chat there
20:42:56FromGitter<barcharcraz> Araq: because people seem to really go out of their way to never learn anything about sql or databases
20:43:05FromGitter<barcharcraz> lol
20:44:04krux02there is a process that wants to send all messages to xfce4-notifyd but fails
20:46:25dom96Aporia's awesome scratch files feature is especially useful when developing macros
20:46:44FromGitter<barcharcraz> is it like a nim secret thing
20:46:49FromGitter<barcharcraz> or does it just compile and run the code
20:46:56dom96New Tab->dumpTree: someFunc(42)-> F5 -> Bam, I got the AST
20:47:05FromGitter<barcharcraz> dom96: have you tried out julia's Juno atom addon
20:47:09dom96nope
20:47:26FromGitter<barcharcraz> give it a try, it has some cool ideas w.r.t live editing
20:47:55FromGitter<barcharcraz> while editing a line you can press ctrl-enter and it will run up to that line and then overlay the current values on variables in the editor
20:48:00FromGitter<barcharcraz> including images and stuff
20:48:01*yglukhov joined #nim
20:48:01dom96maybe someday when I get the time to try out Julia
20:48:20FromGitter<barcharcraz> julia would be so great if not for the aweful module system
20:48:34FromGitter<barcharcraz> reminds me of nim actually
20:48:41FromGitter<barcharcraz> (the great parts not the module system)
20:49:22krux02julia would be all great, if it would not have it's own weird logic of layouting memory
20:49:47FromGitter<barcharcraz> you can tell it to respect C layout afaik
20:49:51FromGitter<martinium> Julia is cool but not fast enough
20:50:03FromGitter<barcharcraz> julia can be fast. the jit was hella slow on windows for a while tho
20:50:07FromGitter<martinium> although intel created a really impressive lib for parallelization in julia
20:50:09FromGitter<barcharcraz> I like the optional typing
20:50:11FromGitter<martinium> insane benchmarks
20:50:17*yglukhov quit (Remote host closed the connection)
20:50:29FromGitter<barcharcraz> but again, the module system causes me physical pain
20:50:34FromGitter<martinium> I thought only .net devs stil used windows
20:50:37dom96odd that their module system doesn't seem to be deterring so many people from using it already
20:50:41krux02maybe julia will replace matlab
20:50:51dom96then again, matlab is a nightmare
20:50:51*yglukhov joined #nim
20:50:52FromGitter<barcharcraz> I mean compared to matlab the module system is great
20:51:06FromGitter<martinium> julia is trying to replace matlab, R and python in the science data science fields
20:51:08dom96but why not use Python?
20:51:18FromGitter<martinium> python is SLOW
20:51:19FromGitter<barcharcraz> yeah
20:51:23FromGitter<martinium> SLOOOWWWWWW
20:51:34FromGitter<martinium> Julia attempts to solve the two language problem
20:51:39FromGitter<martinium> which ironically Nim solves as well
20:51:46FromGitter<barcharcraz> I found julia to be too much maintnence burdan for not enough gain
20:51:46FromGitter<martinium> Nim is also faster than julia
20:51:54FromGitter<barcharcraz> idk, really like the optional typing for math work
20:52:04dom96Sadly not enough data scientists are using Nim
20:52:05FromGitter<barcharcraz> and nim does not have quite the array manipulation tools that julia has
20:52:12AraqI remember replacing matplotlib with a program that used putPixel to draw the diagrams.
20:52:13FromGitter<barcharcraz> also a real repl
20:52:13FromGitter<martinium> that’s why I was mentioning earlier how Nim has HUGE opportunities to break into some of these areas
20:52:17FromGitter<barcharcraz> we need a real repl
20:52:29dom96But, I did submit a talk to the CERN developers meetup recently. Maybe i'll convince somebody at CERN to use it ;)
20:52:39FromGitter<martinium> if I was a more seasoned programmer I’d def contribute to creating one
20:52:43Xenim-lang.org is on ssl now?
20:52:46Xe\o/
20:52:56AraqXe: yup and it broke our installer
20:53:03FromGitter<martinium> there is nrpl in nimble but no idea how fast, slow it is
20:53:15FromGitter<barcharcraz> that could be good
20:53:17dom96martinium: I bet it just compiles the code.
20:53:19FromGitter<barcharcraz> can you do FFI?
20:53:27Araqoh yeah, thinking about it
20:53:28FromGitter<barcharcraz> because there /is/ nim secret
20:53:32FromGitter<martinium> @dom96 it does compile in bg
20:53:41dom96I still want ffi support for the Nim VM
20:53:46Araqwe have an LLVM backend now
20:53:48FromGitter<barcharcraz> I do too
20:53:48dom96then a REPL will be easy
20:53:54Araqwe can use that for the REPL.
20:54:03Araqcould help us.
20:54:05FromGitter<martinium> thats what swift uses
20:54:10FromGitter<martinium> llvm backend
20:54:23Araqyeah, so there, should be based on LLVM
20:54:25dom96or that
20:54:33FromGitter<martinium> @Araq try out the swift repl and you will see
20:54:35AraqNim VM + libffi is a deadend, trust me.
20:54:38FromGitter<barcharcraz> I mean I want to be able to call curl in my macros
20:54:41FromGitter<martinium> type swift in your osx terminal
20:54:42FromGitter<barcharcraz> but I'm a crazy person
20:54:55FromGitter<martinium> speaking of repl's
20:54:59Xemartinium: Araq uses windows
20:55:03FromGitter<martinium> have you guys ever used uTop?
20:55:07FromGitter<barcharcraz> I use windows too
20:55:10FromGitter<martinium> it’s an ocaml repl
20:55:19*yglukhov quit (Remote host closed the connection)
20:55:20FromGitter<martinium> Xe: they can always use VM's
20:55:22FromGitter<barcharcraz> I like winodws. things actually work
20:55:26FromGitter<barcharcraz> also for graphics things
20:55:31FromGitter<martinium> ubuntu works rocksolid
20:55:40FromGitter<martinium> unless you need commercial software like adobe
20:55:40FromGitter<martinium> lol
20:55:44*yglukhov joined #nim
20:55:48FromGitter<martinium> everything else it is covered except games
20:55:49Calinou<FromGitter> <martinium> python is SLOW
20:55:51FromGitter<barcharcraz> lol, I've had issues with graphics drivers, package bugs
20:55:52CalinouPyPy doesn't help in your case?
20:55:54FromGitter<barcharcraz> and more
20:56:04FromGitter<martinium> PyPy breaks sometimes
20:56:06FromGitter<barcharcraz> it works ... OK
20:56:06dom96martinium: cool, `swift` works
20:56:28FromGitter<martinium> @dom96 yeah its cool. I think nim should adopt that approach for a repl
20:56:50Xei personally don't like using a long-lived repl session because it's hard to keep a historical log
20:56:54FromGitter<martinium> default backend for Nim is C but it supports clang and gcc
20:57:14FromGitter<martinium> maybe the Nim repl can have an option to save all to .nim text file?
20:57:19Calinouthere should be more extensive benchmarks of backends btw :)
20:57:24Calinou(C vs C++)
20:57:30FromGitter<martinium> also syntax suggestions and highlighting like Utop for ocaml
20:57:50FromGitter<martinium> C++ is a nightmare unless you know the language very well
20:57:53FromGitter<barcharcraz> yeah nimsuggest needs a bit of work in the suggestion department
20:58:19FromGitter<martinium> stupid question nim suggest is written in Nim right?
20:58:24FromGitter<barcharcraz> yeah
20:58:31FromGitter<martinium> I will take a look and see how badly I get lost
20:58:35FromGitter<martinium> I hate being a novice
20:58:38FromGitter<barcharcraz> it actually uses the compiler as nim modules
20:58:40FromGitter<martinium> but have to start somewhere
20:58:41Xemartinium: just saving the output to a text file isn't enough, there starts to build up context and variables and values that way that just dumping everything to a text file can't do
20:59:15FromGitter<martinium> Xe: repl is really for experimentation though I wouldn’t want to do an entire project in it
20:59:21FromGitter<martinium> that would be kind of nuts
21:00:11FromGitter<martinium> as long as people use it to test ideas
21:00:19FromGitter<martinium> for immediate feedback
21:00:33Xethe compiler is pretty immediate
21:00:42FromGitter<martinium> yeah it is fast
21:00:53FromGitter<martinium> but we have a new gen of people used to repl's
21:01:05FromGitter<martinium> repl is needed
21:01:07FromGitter<martinium> isn’t*
21:01:11FromGitter<martinium> but it is a nice to have
21:01:30FromGitter<barcharcraz> I think repl is needed for scientific stuff
21:01:39FromGitter<martinium> that’s main group I want Nim to attract
21:01:43Xewe do have one though, it's just incomplete and you probably don't actually want a repl, you just think you do
21:01:53FromGitter<martinium> they’ll blow a load at Nim’s expressiveness and speed
21:02:02FromGitter<barcharcraz> I do want a repl, just not one confined to nimvm with no ffi
21:02:07*rokups quit (Quit: Connection closed for inactivity)
21:02:10FromGitter<martinium> most already use similar syntax via python and matlab etc
21:02:54FromGitter<martinium> pardon my ignorance but the FFI does what? allow use of C libs etc or you want additional language support for repl?
21:03:44FromGitter<martinium> foreign function interface C support built into language already. So would it be monumentally diff to add to a repl?
21:04:05XeFFI into C is builtin if you're not running on nimvm
21:04:21FromGitter<martinium> what is Nim vm
21:04:22*yglukhov quit (Remote host closed the connection)
21:04:27FromGitter<martinium> didn’t know of that
21:04:42FromGitter<martinium> thought we only had C and js backends
21:04:50Xethe virtual machine that macros, templates and interpreted nim code runs on top of
21:05:11FromGitter<martinium> which nim code is interpreted?
21:05:19Xenimscript
21:05:23FromGitter<martinium> right
21:05:31FromGitter<martinium> forgot about nimscript
21:06:22FromGitter<martinium> @dom96 what proc can I use to access environment variables? getEnv?
21:07:11dom96check `os` module docs
21:08:09FromGitter<martinium> k looking
21:09:14*yglukhov joined #nim
21:11:24FromGitter<martinium> it can’t find the key but my other program in Crystal does
21:11:35FromGitter<martinium> os docs say getEnv is the one
21:12:11FromGitter<martinium> there is not other syntax needed other than passing name of variable as a string?
21:12:29Xewhat other syntax would there be?
21:12:46FromGitter<martinium> just checking of there was something I am not thinking of
21:12:48FromGitter<martinium> :)
21:12:55FromGitter<martinium> some sugar etc
21:13:00FromGitter<Varriount> Well, you also have to turn around 3 times and flip a coin over your shoulder.
21:13:00*yglukhov quit (Remote host closed the connection)
21:13:14FromGitter<martinium> ok lets try that
21:13:16FromGitter<martinium> ;-)
21:13:55*yglukhov joined #nim
21:16:21FromGitter<martinium> got it to work
21:16:37FromGitter<martinium> had to reexport environment variable in my other terminal window
21:16:43FromGitter<martinium> getEnv ftw
21:23:43*yglukhov quit (Remote host closed the connection)
21:24:56*yglukhov joined #nim
21:30:42*hendi_ quit (Quit: hendi_)
21:32:43*yglukhov quit (Remote host closed the connection)
21:35:56*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:36:37*yglukhov joined #nim
21:46:52*yglukhov quit (Remote host closed the connection)
21:47:31FromGitter<martinium> it would be cool if I had a programming mentor
21:48:17*yglukhov joined #nim
21:50:12FromGitter<martinium> did all of you here self-teach?
21:51:08krux02I did self teach, but from time to time I asked a question here.
21:52:01*yglukhov quit (Remote host closed the connection)
21:55:35*yglukhov joined #nim
21:56:14demi-self-taught, i know quite a few other languages so this wasn't hard to pick up
21:56:29zachcarterself-taught
21:56:30*bjz joined #nim
21:56:49FromGitter<martinium> you guys go to college for cs or no?
21:56:54zachcarterhistory major
21:57:12zachcarternot that I’m a computer science / nim expert
21:57:49*chemist69 quit (Ping timeout: 255 seconds)
21:57:51*pafmaf quit (Quit: Free ZNC from FreeZNC.ru - Account expired)
21:58:48dom96self taught, currently studying for a BSc in CS
21:59:12FromGitter<barcharcraz> self taught then got a BSe in CS
21:59:39FromGitter<martinium> nice
21:59:58FromGitter<martinium> Finance major and everything I know about computing I’ve self-taught
22:00:18FromGitter<martinium> thinking of getting a BS in CS potentially
22:00:24FromGitter<martinium> but hate that it is so math heavy
22:00:42FromGitter<martinium> if there was a software dev major that would be more to the point
22:00:54dom96In my experience there is actually very little math
22:01:03dom96But I suppose it depends on the uni
22:01:16FromGitter<martinium> Uni usually makes you take calculus IV
22:01:20FromGitter<martinium> like really??
22:01:22FromGitter<martinium> lol
22:01:45FromGitter<martinium> not everyone is cut out for that level of math when you could be building actual computing skills
22:01:55FromGitter<martinium> best programmers are supposedly really good at math and theory
22:02:08FromGitter<martinium> then again some of the best programmers never went to college at all
22:03:03*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:03:19*yglukhov quit (Remote host closed the connection)
22:04:07*yglukhov joined #nim
22:05:55Araqreally? like whom?
22:06:32Araqwho are these best programmers who never went to college?
22:06:52*yglukhov quit (Remote host closed the connection)
22:07:09zachcarterfinally got a sprite rendered - http://imgur.com/a/bDkhS
22:07:20zachcarterusing modern opengl
22:08:12*jjido quit (Ping timeout: 240 seconds)
22:08:26*Matthias247 joined #nim
22:09:29dom96zachcarter: awesome :D
22:09:37*yglukhov joined #nim
22:09:40FromGitter<martinium> @Araq they went to college I retract that statement
22:10:02FromGitter<martinium> early CS guys studied math and physics since CS wasn’t a major yet
22:10:03FromGitter<martinium> lol
22:10:23zachcarterdom96: thanks :D Need to figure out why the matrices I’m passing to my shader are screwing things up, but it’s progress for sure
22:10:30FromGitter<martinium> I still think the real deep level knowledge you get with CS major
22:10:39FromGitter<martinium> too bad school here in US is an arm and leg
22:10:50dom96zachcarter: further than I've ever gotten with opengl :)
22:11:41zachcarterdom96: I was making my game with libgdx but it was too easy, I needed to struggle more haha
22:11:56dom96lol
22:12:00zachcarternim sdl and opengl is a struggle for sure
22:12:09zachcarterjust because of my inexperience
22:12:33FromGitter<martinium> @zacharycarter I bet when you get stuff working it feels so good
22:12:38FromGitter<martinium> very rewarding
22:13:10*chemist69 joined #nim
22:13:15zachcartermartinium: it does
22:13:51FromGitter<martinium> right now I am just making command line apps as I learn more and more
22:14:18FromGitter<martinium> but command lines apps can do a lot…
22:14:26FromGitter<martinium> its fun when they work correctly
22:14:34FromGitter<martinium> gets you hooked
22:15:48FromGitter<Varriount> zachcarter: I've used libgdx
22:16:16FromGitter<Varriount> Just about the only module that makes working in Java tolerable
22:16:24FromGitter<martinium> lol
22:16:27zachcarterVarriount: It’s a good library, it’s just I use the JVM all day at work, and I don’t necessarily want to write my game in Java
22:16:41FromGitter<martinium> I’ve looked at java and get put off by it’s verbosity
22:16:44zachcarterlibgdx is a little too high level for me, and I see very little point in rolling my own engine with something like lwjgl when libgdx exists
22:16:54FromGitter<martinium> like retarded amounts of syntax just to do the simplest things
22:16:57zachcartermartinium: there are other JVM languages
22:17:12FromGitter<martinium> yeah Kotlin looks good
22:17:13zachcarternot to push you towards the JVM or anything
22:17:27FromGitter<martinium> but Nim will allow you to work with embedded systems
22:17:40FromGitter<martinium> not too mention more productive.
22:17:51FromGitter<martinium> as the language catches on many more contributions await
22:17:57FromGitter<Varriount> And not require 1GB of memory for GUI apps
22:18:12zachcarter:D
22:18:12FromGitter<martinium> yeah thats insane
22:18:22zachcarterintellij is a swell IDE come on now
22:18:30FromGitter<martinium> jvm is written in C though
22:18:41FromGitter<martinium> jvm is impressive piece of tech
22:18:47FromGitter<martinium> intellij is bad ass
22:18:54FromGitter<martinium> someone should make a nim plugin
22:18:59FromGitter<martinium> i would if I knew how
22:19:00FromGitter<martinium> lol
22:19:10Xezachcarter: that doesn't mean i want to use it for a text editor
22:19:26zachcarterXe: I dont’ like using any IDE as a text editor
22:19:55zachcartervim or vs code or something like that is a nice go between
22:19:57*yglukhov quit (Remote host closed the connection)
22:20:01zachcarterI’m finding VS code to be pretty decent
22:20:21FromGitter<martinium> its good
22:20:26FromGitter<barcharcraz> I'm liking VS code
22:20:40FromGitter<barcharcraz> once nimsuggest matures a little it'll be awesome
22:20:41FromGitter<martinium> vscode is slower than ST3 but better than atom
22:20:42*yglukhov joined #nim
22:20:57FromGitter<martinium> but it beats ST3 cuz it’s free
22:24:36*vlad1777d quit (Quit: Leaving)
22:24:58CalinouI don't get people who hate on Java for the syntax but like Rust...
22:25:58Araqbecause they mean "stdlib design" when they say "syntax"
22:25:58*yglukhov quit (Remote host closed the connection)
22:26:34Araqthough the lack of 'auto' in Java is horrible
22:26:47FromGitter<barcharcraz> I thought they added it
22:26:50Araqmaybe they fixed it in Java 9?
22:27:40CalinouI don't think they added that to Java 9
22:27:50Calinoualso, people complain about "auto" being used everywhere in C++ already ;)
22:27:54Calinouit's known to make some codes unreadable
22:28:10Calinouusing it is ok, but you don't want to use it everywhere
22:28:26FromGitter<barcharcraz> idk I use it almost everywhere it does not fuck up code completion
22:29:00*yglukhov joined #nim
22:29:10FromGitter<barcharcraz> tbh only issue is when you don't realize the constness you are using
22:31:46*yglukhov quit (Remote host closed the connection)
22:33:25*yglukhov joined #nim
22:33:49*nsf quit (Quit: WeeChat 1.7)
22:44:24zachcarterhmm
22:44:42zachcarteranyone know how to create a dump from a process running on osx? I have a freeze with opengl and nim
22:45:04zachcarternot sure if it’s my code or if it’s something actually wrong
22:45:15*yglukhov quit (Remote host closed the connection)
22:46:52Araquse lldb
22:47:03Araqyou need to sign a contract first so that it is allowed to debug
22:47:18*yglukhov joined #nim
22:47:23zachcarteralright let me figure that out
22:47:27Araqthen you need to google every single command because lldb uses different commands from gdb
22:47:33zachcarterthis sounds fun
22:47:45zachcarterI think I’ve used lldb before
22:47:50*peted quit (Quit: WeeChat 1.4)
22:50:57*pregressive quit (Remote host closed the connection)
22:51:01Matthias247Araq: afaik type inference is now planned for Java. But for Java 10 or later
22:51:30*pregressive joined #nim
22:51:40Matthias247http://openjdk.java.net/jeps/286
22:51:50*yglukhov quit (Ping timeout: 255 seconds)
22:52:03zachcarterlots of Java 10 features were planned for Java 8
22:52:13zachcarterlike value types
22:52:31zachcarterextended generics
22:56:11*pregressive quit (Ping timeout: 264 seconds)
22:56:56Matthias247if all that comes with Java10 then they are up to C#4 ;)
22:57:29*Trustable quit (Remote host closed the connection)
23:02:36*couven92 quit (Read error: Connection reset by peer)
23:08:08*krux02 quit (Remote host closed the connection)
23:12:51*ftsf_ joined #nim
23:13:39*gangstacat quit (Quit: Ĝis)
23:16:54*gangstacat joined #nim
23:22:31*Guest66674 quit (Quit: Konversation terminated!)
23:35:15zachcarteralright I figured out how to debug my program with lldb
23:36:59zachcarternot sure how to debug this exception, getting an EXC_BAD_ACCESS
23:39:04*pregressive joined #nim
23:42:40Araqzachcarter: sorry I need to sleep now
23:42:52zachcarternp Araq have a good night
23:46:56*Vladar quit (Quit: Leaving)
23:49:09*dom96 quit (Excess Flood)
23:52:21*dom96 joined #nim
23:53:39*gokr still amazed that people find a REPL to be the coolest thing on earth. Think bigger. Think a full live coding environment. Think full reflection.
23:58:28*Matthias247 quit (Read error: Connection reset by peer)
23:58:44zachcarterhttps://gist.github.com/zacharycarter/d2b38e3846ac39e0ab52dd80e470b143 - example one I see nothing but it runs without issue, example 2 causes the app to hang and the window to turn totally white :/ also throws an EXC_BAD_ACCESS exception
23:58:53zachcarternot sure what I’m doing wrong with nim glm...