<< 27-04-2017 >>

00:06:34*deech joined #nim
00:07:49deechHi all, I was hacking up a simple factorial function using the bigint library but when I tried to evaluate the same function at compile time it didn't work. Is there any documentation on what parts of the language are off-limits at compile time?
00:09:04deechOTOH, versions of factorial that used int32,int64,float etc. worked fine both at compile and runtime.
00:10:40*mwbrown quit (Quit: Exiting)
00:11:25*yglukhov quit (Remote host closed the connection)
00:19:26*Nobabs27 joined #nim
00:22:12*Nobabs27 quit (Client Quit)
00:36:37*mwbrown joined #nim
00:44:01*gokr quit (Ping timeout: 252 seconds)
00:49:12*BennyElg quit (Ping timeout: 268 seconds)
00:49:32*BennyElg joined #nim
00:57:33FromGitter<Varriount> deech: There's some limited mentions of what's not allowed - casting, etc
00:58:29*BennyElg quit (Ping timeout: 240 seconds)
00:58:56*BennyElg joined #nim
01:13:20*chemist69 quit (Disconnected by services)
01:13:25*chemist69_ joined #nim
01:30:20FromGitter<Varriount> Hrm, I don't quite get the whole deal with React and immutability.
01:37:00*rauss joined #nim
01:51:06*ftsf joined #nim
01:52:43FromGitter<Varriount> zachcarter: CSS on play.nim-lang.org broke. :(
01:52:56zachcartertry clearing cache
01:55:08zachcarterI did a front end up date Varriount
01:55:13FromGitter<Varriount> Wow, I see.
01:55:25zachcarterwhat do you think?
01:55:48FromGitter<Varriount> zachcarter: Mostly great, however the height of the editor appears to be attached to the height of the output boxes
01:55:55zachcarterit is
01:56:12zachcarterbut the editor supports scrolling
01:56:32zachcarterI don’t really want to hardcode the editor height
01:56:53FromGitter<Varriount> I would expect the editor height to be close to that of the browser's viewport.
01:57:17FromGitter<Varriount> So that the compile button is always near the bottom of the viewport.
01:57:20zachcarterhrm I’m not sure if bulma has some way of doing that
01:57:31zachcarteroh I think I know
01:58:34zachcarterhrm I don’t know but I’ll figure it out
02:00:22FromGitter<Varriount> zachcarter: And if you want nitpicky suggestions, I feel like there's too much space between the logo and "playground"
02:00:40*BennyElg_ joined #nim
02:00:48zachcarterhmm okay I can try to adjust that too
02:00:53*BennyElg quit (Ping timeout: 240 seconds)
02:00:58FromGitter<Varriount> Perhaps "Playground" should be beside the logo, with a bar separator? Or the space could just be reduced.
02:01:52FromGitter<Varriount> ♕ Nim | Playground
02:02:05zachcarterI’ll try both and upload images
02:04:44*deech quit (Ping timeout: 255 seconds)
02:12:32FromGitter<Varriount> zachcarter: Is there any difference between bulma and bootstrap? I mean, they are both CSS frameworks?
02:12:47zachcarterbulma is flex grid based
02:12:49zachcarterbootstrap is not
02:13:36rausszachcarter: It's really coming along
02:13:41raussnice job!
02:13:42zachcarterthanks
02:14:08rausszachcarter: Did you add ctrl+enter?
02:14:13zachcarternot yet
02:14:19zachcarterbeen working on front end stuff mostly
02:14:27zachcartercss I guess
02:15:00raussI agree with Varriount that the editor height should be about the size of the window. And the log and output boxes should probably split that same height
02:15:07raussLemme know if you need any help with the CSS
02:15:30FromGitter<Varriount> I'm currently working through the React tutorial.
02:16:00zachcarterI don’t know how to get the editor to be full height
02:16:06zachcarterI’m applying height 100% everywhere lol
02:16:07zachcarternot working
02:17:19FromGitter<Varriount> zachcarter: Try '100vh'
02:18:06zachcarternope
02:21:03FromGitter<Varriount> rauss ^
02:21:38raussOh, kk
02:22:08raussDo you want an answer for bootstrap or vanilla CSS?
02:22:49zachcarterbulma
02:23:24raussDunno what bulma is, but you said it uses flex-grid. So you get to benefit from that
02:25:26zachcarterbulma.io
02:25:29raussLemme play around with the site through dev tools and tell you what you need to do
02:25:30zachcarterhttp://bulma.io
02:25:37zachcarterawesome than you
02:25:40zachcarterthank you*
02:30:35FromGitter<zetashift> I've used bulma and bootstrap; I preferred bulma because it was a lot simpler and not has hefty as bootstrap
02:31:11zachcarterbulma is nice so far, just can’t figure out how to make a full height element
02:31:14zachcarterthat isn’t a hero
02:33:40rausszachcarter: It's a bit of an invasive change, but you can make .container or body a flex grid, with flex-direction column
02:33:55zachcarterhrm
02:33:56raussand make that .content div take up most of the space
02:34:20raussThe .container I'm referring to is #ROOT
02:34:30zachcarterI think I have anotherh way
02:34:57zachcarterjust going to make it a hero
02:36:01FromGitter<Varriount> zachcarter: Setting "min-height: 100vh" on the parent of the boxes does something
02:36:24zachcarterI saw that too Varirount
02:37:22zachcarterI think I got it
02:37:23zachcarterone sec
02:43:03zachcarteryup got it
02:43:13zachcartergotta fix a lot of stuff though :/
02:46:05raussvh didn't exist back in my day =\
02:46:34FromGitter<Varriount> zachcarter: Don't forget to test on phone/mobile sizes too
02:54:03zachcarterwill do Varriount
02:59:53FromGitter<Varriount> zachcarter: By the way, if you have a donation site/account, I'd be more than happy to make a donation.
03:00:07FromGitter<Varriount> You're doing a lot of great work!
03:00:22zachcarter:D thank you! I don’t but I’ll consider setting up something maybe
03:00:40zachcarterI’m just very happy so far to have Nim at my disposal
03:07:45zachcarterhow’s it look now Varriount / rauss / zetashift ?
03:08:25*brson quit (Quit: leaving)
03:08:50rauss<3
03:09:13raussLooks great. Love the colors btw
03:09:28zachcarterthanks!
03:09:50raussYou should probably save the editor contents to localstorage every so often, or on every "compile". Or add an explicit "save" button
03:09:58raussthat'd be nice for people
03:10:10zachcarteryeah there’s so much we can do with this thing :D
03:10:12FromGitter<zetashift> zachcarter : link? I've missed about 75% if this conversation
03:10:13zachcartersharing snippets
03:10:18zachcarterhttps://play.nim-lang.org/
03:10:44zachcarterVarriount: I tried lining up the logo with Playground but it did NOT look good
03:13:36zachcarteralso - the ace editor doesn’t seem to work for mobile
03:13:38pydsignerJumping in now, I'd say that the dark grey on dark blue isn't the best necessarily.
03:13:42zachcarterat least not in my growser emulation
03:13:54pydsignerFrom my perspective anyways.
03:14:11zachcarterI could go with a different editor theme
03:14:36pydsignerI'm not talking about the editor theme
03:14:55FromGitter<zetashift> @zacharycarter currently looks like this for me: http://imgur.com/a/7kNDD
03:14:57zachcarterI know but I made the dark gray background because of the editor theme
03:15:19zachcarterzetashift: what browser?
03:15:39FromGitter<zetashift> firefox 52.0 windows10
03:15:57zachcarterhrm
03:16:13FromGitter<zetashift> cross browser compatibility is FUN isn't it hehe
03:16:22zachcarterhellll no :P
03:16:47zachcarterdef doesn’t work on safari atm
03:17:22FromGitter<zetashift> I get the same on Edge btw
03:17:31zachcarterokay
03:17:32FromGitter<zetashift> not that anyone I know would care about it but hey
03:17:36zachcarter:P
03:17:43zachcarterthx for checking
03:19:17zachcarterbrb
03:19:32*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:19:40pydsignerzachcarter: try #777981 for the primary bg maybe?
03:19:54pydsignerOh bother
03:20:05pydsignerThat's the primary website color, can't change that
03:20:06zachcarterpydsigner: I was trying to match the nim website bg color
03:20:12pydsignerYeah
03:21:01*zachcarter quit (Quit: zachcarter)
03:25:33*zachcarter joined #nim
03:27:10zachcarterhrm I get different results on windows ie edge
03:27:41pydsignerzachcarter: how much control over the editor theme do you have?
03:27:53zachcartermm I can probably pick from a bunch
03:27:55zachcarterlet me find them
03:28:12zachcarterhttps://ace.c9.io/build/kitchen-sink.html
03:28:13pydsignerBy that I mean, using the theme that's on the front page would be cool.
03:28:15zachcarterall the themes are there
03:28:25pydsignerOh this is C9 nice
03:29:46pydsignerHmm so. You can custom style C9
03:29:58pydsignerI wonder if you can custom style C9 Ace
03:30:12raussI think the background color is fine, it's just the dark grey boxes that need to change
03:30:14FromGitter<zetashift> Maybe related to my screen size then? http://imgur.com/a/KT5JY
03:30:20raussI also think the editor is fine
03:30:32raussmaybe make the boxes the color nim-lang.org uses for code blocks?
03:30:52pydsignerrauss: right, that's my suggestion
03:31:10raussHaha sorry, just skimming
03:31:24pydsigner@zetashift, I think I know what's happening there
03:32:15pydsignerWell then again....
03:32:36pydsigner@zetashift, try clearing your cache
03:32:43zachcarterI’m guessing it’s the wide screen format
03:33:24pydsigner@zetashift, you don't even have the <hr> that should be in there somewhere
03:33:44zachcartertry clearing your browser cache zetashift?
03:33:46rausszachcarter: #282a36 https://www.dropbox.com/s/1nauql74krl8mxc/2017-04-26-23%3A32%3A58.png?dl=0
03:34:13FromGitter<zetashift> on it!
03:34:16zachcarterthank you
03:35:07zachcarterrauss: that’s what mine looks like as well
03:35:31pydsignerzachcarter: he's trying to show you a color tweak
03:35:36zachcarteroh
03:35:44rausszachcarter: I changed the dark grey box backgrounds to #282a36, which is what nim-lang.org uses for code blocks
03:35:57zachcarterI see
03:36:17zachcarterI can do that
03:36:30pydsignerI think my preference would be to just use that color for the content blocks and just skip the wrappers
03:38:30FromGitter<zetashift> didn't work on firefox :worried: gonna try on edge now
03:38:39zachcartervery weird
03:38:46zachcarterI’ll try to emulate widescreen
03:39:48FromGitter<zetashift> even on Edge it stays the same blegh
03:40:12zachcarterstrange
03:43:03FromGitter<zetashift> but yea I don't see a <hr> tag in the body CSS
03:44:05zachcartershould be in the html
03:44:50zachcarteryou may have cached html
03:44:54zachcarterfrom cloudflare
03:47:45pydsignerThoughts? http://i.imgur.com/pyN94a6.png
03:48:29Calinouuse a font that's not too small for the code editor, it looks pretty small judging at the line height and line number font size
03:48:34*zachcarter quit (Quit: zachcarter)
03:48:53Calinou(note that other people may not see the page at the same physical size as you, because of different DPI)
03:49:10*yglukhov joined #nim
03:49:32pydsignerCalinou: I'd agree that the font size should be larger, I was just tweaking colors though
03:50:54Calinouright
03:53:05FromGitter<zetashift> Make the 'Compile' text same yellow as the playground, maybe?
03:53:43*yglukhov quit (Ping timeout: 255 seconds)
03:55:01pydsignerOn the buttons?
03:55:10pydsignerThey change to that color when you hover, it seems
03:55:43pydsignerMy biggest concern with this mockup is the legibility of that white on light blue tbh
04:09:06FromGitter<zetashift> yea I found that funky too but I can't come up with a better color
04:11:42FromGitter<TiberiumPY> https://play.nim-lang.org. It's broken on the phone thought
04:22:00FromGitter<Varriount> Ideally, for a mobile device on portrait mode, the result and compile logs should be on the bottom (or perhaps they should always be on the bottom?
04:45:34*BennyElg_ quit (Remote host closed the connection)
05:12:50*yglukhov joined #nim
05:17:22*yglukhov quit (Ping timeout: 252 seconds)
05:32:07*SusWombat quit (Remote host closed the connection)
05:32:33*gokr joined #nim
05:37:30*SusWombat joined #nim
05:46:22*Vladar joined #nim
06:08:55*rauss quit (Quit: WeeChat 1.7.1)
06:27:15*BennyElg joined #nim
06:32:51*BennyElg quit (Ping timeout: 260 seconds)
06:40:33SusWombatHey all
06:41:05FromGitter<TiberiumPY> Is it more preferred to use standard object rather than "ref object" for object which will be created many times?
06:43:07*willprice94 joined #nim
06:47:45*BennyElg joined #nim
06:48:22AraqtiberiumPy: depends on the size of the object and the usage
06:55:16*nsf joined #nim
07:06:02*Arrrr joined #nim
07:06:02*Arrrr quit (Changing host)
07:06:02*Arrrr joined #nim
07:07:14FromGitter<Varriount> @TiberiumPY You still there?
07:14:59*yglukhov joined #nim
07:18:42FromGitter<Varriount> So Araq, what are you working on at the moment?
07:20:41*yglukhov quit (Ping timeout: 260 seconds)
07:26:29gokrMorning folks
07:31:12*rokups joined #nim
07:37:42*yglukhov joined #nim
07:43:03FromGitter<TiberiumPY> @Varriount I'm here now
07:43:56FromGitter<TiberiumPY> I have a message object, which I create for every message passed to my bot from social network
07:44:14FromGitter<TiberiumPY> It contains a sub object to
07:44:17FromGitter<TiberiumPY> Too
07:44:37BennyElgnim playground looks nice
07:45:22*willprice94 quit (Ping timeout: 255 seconds)
07:56:12*willprice94 joined #nim
07:58:23euantorPlayground does indeed look nice, but getting this warning in the Firefox console: `The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or
07:58:23euantorin the transfer protocol.`
07:58:29euantorThat's an easy fix at least
07:59:52*chemist69_ quit (Ping timeout: 260 seconds)
08:02:07euantorI've submitted a PR that should fix that anyway
08:02:18*Trustable joined #nim
08:04:10*chemist69 joined #nim
08:08:58*chemist69 quit (Client Quit)
08:25:02*cspar__ joined #nim
08:28:01*cspar_ quit (Ping timeout: 240 seconds)
08:28:31*starmix_ joined #nim
08:29:42*starmix_ is now known as starmix
08:31:04*willprice joined #nim
08:31:49*hlt joined #nim
08:32:37*willprice94 quit (Ping timeout: 255 seconds)
08:32:46hltwhat does the proc type look like? say, i want to have a proc pointer that takes 2 ints and returns a bool as an argument, how do I express that?
08:34:44Araqtype Foo = proc (x, y: int): bool
08:37:01*yglukhov quit (Remote host closed the connection)
08:37:12hltgot it
08:37:31hltcan i inline this inside a function declaration?
08:38:12Araqproc takesCallback(callback: proc (x, y: int): bool)
08:38:36Araqproc returnsCallback(): (proc (x, y: int): bool)
08:39:06hltthanks
08:42:48*Arrrr quit (Ping timeout: 260 seconds)
08:45:25*chemist69 joined #nim
08:48:56dom96zachcarter: that does look nice :)
08:49:38dom96There is no need to emulate the Nim site too much though.
08:56:59FromGitter<Varriount> @TiberiumPY It might make sense to have a `ref seq[MessageObj] then.
08:57:51FromGitter<Varriount> Objects are either allocated on the stack, or as part of a reference type.
09:00:33FromGitter<TiberiumPY> But after I process the message I don't need it
09:01:35dom96seq[] is already a reference type
09:02:36FromGitter<andreaferretti> (https://files.gitter.im/nim-lang/Nim/azBI/Schermata-da-2017-04-27-11-06-27.png)
09:02:50FromGitter<andreaferretti> doesn't look very good on my wide screen
09:02:57FromGitter<TiberiumPY> Wait a sec
09:03:01FromGitter<andreaferretti> the editor window is extremely small
09:03:06FromGitter<TiberiumPY> I will post how it looks on my phone
09:03:24FromGitter<andreaferretti> Also, I would much prefer a lighter theme
09:03:37euantorI get that same look on Firefox on my screen too
09:03:46Araqsame for me, looks wrong
09:04:09Araqbut it's CSS, so *shrug*, I already know it never works ;-)
09:04:33FromGitter<Varriount> @dom96 `ref seq` doesn't have copying semantics
09:05:37dom96Varriount: And why does Tiberium need to avoid copying semantics?
09:06:10FromGitter<Varriount> @TiberiumPY If only one message is in existence, it probably doesn't matter wether it's an object or reference type.
09:06:29FromGitter<TiberiumPY> There
09:07:17FromGitter<TiberiumPY> http://i.imgur.com/tcM8ZTP.png
09:07:21FromGitter<TiberiumPY> It's his
09:07:42FromGitter<TiberiumPY> It is how playground looks on my phone
09:08:39FromGitter<andreaferretti> Defintely the title needs to be on top on itw own line
09:09:10FromGitter<andreaferretti> also, please, even you you prefer a dark theme don't make everything so black
09:09:35FromGitter<andreaferretti> look at all the white there is in the new nim site
09:12:18FromGitter<Varriount> @andreaferretti Perhaps you could submit a PR for multiple themes?
09:12:44FromGitter<andreaferretti> I really do not have time for that, sorry
09:12:59FromGitter<andreaferretti> there's nothing wrong with a dark theme
09:13:11FromGitter<andreaferretti> but it doesn't need to be so black
09:13:40FromGitter<andreaferretti> maybe some white here and there
09:13:44FromGitter<andreaferretti> some touch of color
09:15:59dom96I agree, and to be honest I wouldn't like to see every Nim-related website to copy the nim-lang.org colours.
09:25:04*krux02 joined #nim
09:25:50*yglukhov joined #nim
09:30:11FromGitter<Varriount> dom96: But, isn't this site going to be part of nim-lang.org?
09:32:31dom96Sure
09:38:00*Matthias247 joined #nim
09:42:39*Trustable quit (Remote host closed the connection)
09:49:39*gokr quit (Quit: Leaving.)
09:52:16*willprice quit (Ping timeout: 245 seconds)
09:56:18federico3how about having a consistent style across *.nim-lang.org except nim-lang.org itself?
09:57:47FromGitter<andreaferretti> ugh.. that would mean copying the forum style?
09:59:03*_dirt joined #nim
09:59:10*girvo joined #nim
09:59:12*_dirt left #nim ("Textual IRC Client: www.textualapp.com")
09:59:51girvoHey all. Is it possible to have a proc _remove_ a tag that it gets from a previous proc call? Sort of like how a try/except block can allow for {.raises: [].}
10:00:00girvoBy tag, I mean in the Effects system
10:01:08girvoI'm using to seperate safe and unsafe code within a codebase, but am unsure how to cross the boundary between them the way I would with exceptions. Worst case I'll go take a look at the code for try/except!
10:01:42federico3andreaferretti, not necessarily
10:03:05*willprice joined #nim
10:03:57Araqgirvo: unsafe code can call safe code, safe code must be able to call unsafe code. where is the gain?
10:04:45Araqyou can remove tags by proc type casting though
10:04:48FromGitter<Varriount> girvo: Wouldn't it be better to use exception tracking?
10:05:09Araq cast[proc () {.tags: [].}](hasTags)()
10:07:06girvoAraq: It's more about drawing a clear boundary between the two with the compilers help; even if it's not 100% enforcable. I'll give that a try, cheers!
10:10:40vivushow does 1 set a channel status on a IRC channel?
10:10:56girvoVarriount, yeah that's what we've been doing at the moment; was more seeing whether using tags instead would allow for a clearer semantic seperation between the safe/unsafe boundary and actual exceptions heh
10:11:47Araqyeah but that's my point. I never understood that "clear" boundary really. Since you need at least a notion of reallySafe that can call only safe code
10:11:51FromGitter<Varriount> vivus: Via chanserv, I believe
10:12:57dom96vivus: #freenode should be able to help with that
10:13:01FromGitter<Varriount> girvo: perhaps it would make more sense to have a procedure A that calls safe procedure B and unsafe procedure C?
10:14:14girvoVarriount: that's exactly my plan :)
10:14:58yglukhovAraq: do you know anything about the state of zahary branch?
10:15:46FromGitter<Varriount> girvo: By the way, if you have a blog, a post about development while using the effects system would be nice
10:16:41girvoI will :) I've been looking for a reason to play with it for a bit
10:16:43yglukhovAraq: fyi we're stuck with a month-old nim because of the regressions
10:17:02*vlad1777d joined #nim
10:18:00Araqyglukhov: there is a good chance we'll finally merge it tomorrow/Saturday
10:36:03FromGitter<Varriount> yglukhov: What do you use Nim for?
10:36:54yglukhovVarriount: a game that has not been fully released yet =)
10:40:15FromGitter<Varriount> Anyone have thoughts on the whole "immutable containers for application state" paradigm?
10:41:59Araqyes, it's stupid.
10:42:25Araq;-)
10:43:36*willprice quit (Ping timeout: 240 seconds)
10:50:17girvoVarriount, I use it successfully in Javascript regularly (React Native + Redux mostly)
10:52:23FromGitter<Varriount> girvo: It just seems rather wasteful to me (even if copies are shallow). Java's approach (using a marker attribute to invalidate objects in the hierarchy) seems so much more efficient.
10:53:10*vlad1777d quit (Quit: Leaving)
10:53:58girvoYeah you definitely trade off effeciency, but you do get really easy to reason about data flow, which is the main reason its useful in React etc.
10:54:44girvoSome reckon that it can be "more effecient" but that's pretty bogus, unless the language itself has optimisation for it built in that basically convert it to mutable under the hood
10:55:13*vlad1777d joined #nim
10:55:52Araqdunno, the point of React is to have a single source of truth, there is no "data flow" you need to reason about, you mutate your model, the UI updates accordingly
10:56:24Araqotherwise you might as well use Haskell, compile it to JS and call it a day.
10:57:35girvoAraq, that works well (esp. when one understands state/props properly) for smaller react apps/components, but eventually becomes difficult as the code-base grows. MobX is a great in-between; mutable data containers, but really cute features to cause re-renders only where needed via dependency tracking in your models itself
10:57:52girvoAnd yeah, which is why I like Purescript haha
10:58:11*zachcarter joined #nim
10:59:27zachcartermorning
11:02:38*Snircle joined #nim
11:11:17*Tiberium joined #nim
11:11:36*Tiberium quit (Max SendQ exceeded)
11:11:55*Tiberium joined #nim
11:13:17vivuscan I create SHA256 hashes with nim ?
11:14:38dom96yes, there is a nimble package for that
11:14:46dom96hey zachcarter!
11:14:52zachcarterhey dom96!
11:14:56zachcarterworking on some updates for the front end right now
11:14:57Araqit's also broken, don't use it before fixing it
11:15:25dom96zachcarter: great, be sure to read the IRC logs if you haven't already
11:15:29zachcarterwill do
11:16:21zachcarterokay so everyone hates the black theme
11:16:25zachcarteror dark theme
11:16:35zachcarterand I need to fix the title not being on top of the editor
11:16:40Tiberiumzachcarter, sadly new design is fully broken on mobile devices :( yes
11:17:02zachcarteryeah it’s not working in safari eitther :/ I’ll fix it all today
11:17:04dom96Tiberium: it's broken on desktop too
11:21:13krux02zachcarter: I noticed that you always use the single quote: ’, instead of the apastrophe: ' is this intentional, or is it your irc client?
11:21:26zachcartermust be my irc client
11:21:34krux02ok
11:23:05girvomacOS with "smart quotes" will also change 'em to real "quotes"
11:23:14girvoI don't know why I just quoted quotes then lol
11:24:04*Arrrr joined #nim
11:25:46krux02well I noticed, I have keys for all types of quotes ‚‘’„“”»«›‹
11:26:21krux02not that is matters though
11:28:29demi-i would really like a wrapper around xapian, as long as i don't have to write it; which also sums up my opinions on C++
11:28:41zachcarterare there any svgs of the nim logo with the text in a darker color?
11:28:51zachcarterthis is why I originally went with the dark theme as the only logo I could find has white text
11:28:55zachcarterand white on white doesn’t show so well :P
11:31:50euantorYou could combine the text from here https://github.com/nim-lang/assets/blob/master/Art/logo-monochrome-black.png with the crown https://github.com/nim-lang/assets/blob/master/Art/logo-crown.svg
11:32:12dom96https://github.com/nim-lang/website/blob/master/jekyll/assets/img/logo_bw.svg
11:32:26dom96The one euantor linked is old
11:32:32zachcarterthanks
11:32:54zachcarteroh the bw one still has white text haha
11:33:03dom96You can easily change that
11:33:09zachcarterokay
11:33:15dom96You could also do what the Nim website does and have a dark banner
11:33:21dom96and the rest of the page white
11:33:31zachcarteryeah I’ll probably just do that
11:33:34demi-github does that too, it isn't uncommon
11:35:19zachcarterbulma makes this difficult grrr
11:43:36hltis there an offline version of the vim reference? my internet is unstable and i'd like to look up things on the stdlib while offline
11:43:57hlt(not to mention the javascript on the stdlib index is hanging my browser for around 90 seconds)
11:46:00FromGitter<andreaferretti> you can generate them using this script https://github.com/wicast/nim-docset
11:46:14*couven92 joined #nim
11:46:51*willprice joined #nim
11:51:49*dddddd joined #nim
11:53:43hltandreaferretti: thanks
12:12:58*Arrrr quit (Quit: Leaving.)
12:19:37*devted joined #nim
12:20:42Tiberiumhmm, "Connection was closed before full request has been made" maybe it can be solved by closing all http connections held by this client?
12:20:51TiberiumI'll try that (I can't get rid of this error)
12:20:51zachcarterdom96: if you have a sec : mind clearing cloudflare cache?
12:21:59dom96zachcarter: done
12:22:04zachcarterthanks
12:22:14zachcarteralright playground should at least be functional again
12:25:23FromGitter<andreaferretti> better now, but I see a scrollbar on the nav
12:25:49zachcarterhrm okay
12:25:59FromGitter<andreaferretti> also for some reason the buttons are on the bottom
12:26:18zachcarterthe buttons have always been on the bottom :P
12:26:29zachcarterwhat browser are you using andreaferretti?
12:26:44FromGitter<andreaferretti> firefox on linux
12:26:52FromGitter<andreaferretti> yeah, but they are really on the bottom
12:26:57zachcarterhrm okay
12:26:58FromGitter<andreaferretti> no spacing whatsoever
12:27:35Tiberiumwhat's wrong with this code? "echo $round(72.73999999999999, 2)"
12:27:44Tiberiumit outputs 72.73999999999999
12:27:47Tiberium(round from math)
12:28:35FromGitter<andreaferretti> makes sense, if you think about it :-)
12:28:46FromGitter<andreaferretti> the rounding is 72.74
12:28:52*bjz joined #nim
12:28:59FromGitter<andreaferretti> and the closest floating point number that represents it is
12:29:04dom96zachcarter: why not use the logo I linked?
12:29:06FromGitter<andreaferretti> 1) 73999999999999
12:29:15dom96The yellow one is too bright
12:29:22zachcarterdom96 okay
12:29:31Tiberiumbut how to round this number?
12:29:38FromGitter<andreaferretti> if you want to use a fixed number of digits, you will need to get a string
12:29:54Tiberiumok
12:30:18*adeohluwa joined #nim
12:30:40FromGitter<andreaferretti> you can use format strings
12:30:46dom96andreaferretti: huh, it seems to me that it should output 72.74.
12:31:12dom96oh, it's because the $ does something else
12:31:12FromGitter<andreaferretti> I guess that this number cannot be represented exactly in floating points arithmetic
12:32:05dom96Perhaps we need a floatToStr proc (similar to the intToStr proc in strutils)
12:32:18FromGitter<andreaferretti> there are already format strings for that
12:33:05FromGitter<andreaferretti> also, https://nim-lang.org/docs/strutils.html#formatFloat,float,FloatFormatMode,range[],Char
12:33:26dom96oh cool
12:36:03Tiberiumnice, thanks for pointing it out
12:46:26TiberiumWhat's the default timeout of httpclient http requests?
12:48:14zachcarteralright one more cache reset should fix things
12:48:42dom96zachcarter: done
12:48:46zachcarterthanks
12:49:23dom96Maybe it would be better if I disabled cloudflare for now while you're developing?
12:49:38dom96Issues that I see now: "Playground" has a scroll bar
12:49:47dom96I dislike the hover colours on the buttons (sorry)
12:50:00dom96Doesn't your CSS framework give a good default for the buttons?
12:50:11FromGitter<TiberiumPY> That's how it looks for me now:
12:50:17FromGitter<TiberiumPY> (https://files.gitter.im/nim-lang/Nim/pkc4/image.png)
12:50:28dom96oh and the buttons could use moving down a bit, they're too close to the banner
12:50:41zachcarterdom96: that might help
12:51:03dom96TiberiumPY: Ctrl+Shift+F5
12:51:26dom96ok, changed to not use cloudflare
12:51:32zachcarterawesome thank you dom96
12:51:40dom96This might take longer to propagate though
12:51:57zachcarterall good
12:52:13FromGitter<Varriount> dom96: On nim-lang.org , shouldn't the tutorial portion be near the top?
12:52:16dom96ooh, I like how the colors change on success
12:52:32FromGitter<Varriount> Currently it's on the very bottom
12:52:45FromGitter<andreaferretti> I suggest
12:52:46FromGitter<andreaferretti> ===playground-logo {=== ⏎ ⏎ ```line-height: 1.5;``` ⏎ ⏎ } [https://gitter.im/nim-lang/Nim?at=5901e9a212d2409935a387ed]
12:52:49FromGitter<andreaferretti> ops
12:52:54FromGitter<andreaferretti> ```#playground-logo { ⏎ line-height: 1.5; ⏎ }``` [https://gitter.im/nim-lang/Nim?at=5901e9aacfec9192727ddb73]
12:53:01Tiberiumdom96, what can be the reason of "Connection was closed before full request has been made" ?
12:53:13dom96Varriount: Perhaps. People looking for the tutorial will hopefully go to the documentation tab anyway.
12:53:13Tiberiumi'm sending "long" http requests
12:53:17Tiberiumit's called "long polling"
12:53:29Tiberiumand after 20-30 minutes of good work it crashes
12:53:32zachcarterandreaferetti: I think adding overflow hidden to the parent container should fix it
12:53:47FromGitter<Varriount> Tiberium: You exceeded the long polling limit and the other side cut you off
12:54:02FromGitter<Varriount> Tiberium: Would this happen to be for AWS?
12:54:07TiberiumVarriount: oh, and how to fix that? it only happens with Nim.
12:54:24Tiberiumit's social network long polling
12:54:47FromGitter<Varriount> Tiberium: You might need to send a heartbeat (bits) down the connection to keep it alive.
12:54:52dom96zachcarter: also, I think you should just get rid of the "tile is-child box" divs
12:54:57FromGitter<Varriount> I'd see what other clients are doing
12:55:05zachcarterokay
12:55:36*vlad1777d quit (Ping timeout: 240 seconds)
12:55:41hltshould I abuse generic operators
12:55:42FromGitter<andreaferretti> also, I don't now how your css framework works, but I think the main content should have two rows, one below the other - the first one with the editor and results, and the second one, just below, with the buttons
12:55:54TiberiumVarriount: so it means that library I'm using in Python just handles this automatically?
12:56:13dom96zachcarter: all in all though, it's coming together and looking good :)
12:56:15FromGitter<Varriount> Tiberium: Probably.
12:56:22Tiberiumand how do I send those "bits", because this long polling documentation doesn't say anything about that
12:56:22zachcarterthanks :D
12:56:28TiberiumI'm using AsyncHttpClient
12:56:29FromGitter<andreaferretti> yeah, it has much improved!
12:56:31FromGitter<Varriount> Tiberium: Could you send me the library link?
12:56:39TiberiumVarriount: it's rather big - aiohttp
12:56:48Tiberiumhttps://github.com/aio-libs/aiohttp
12:56:50hlti've made this: proc `|`[T1, T2](a: T1, b: proc(x: T1): T2): T2 = return b(a)
12:57:01hltwhich acts like a shell pipe
12:57:27FromGitter<Varriount> Tiberium: But this is for a social network?
12:57:49Tiberiumin Python everyone uses 3-rd party packages, almost as in node.js
12:58:09Tiberiumstandart library is not good for http requests, especially async
12:58:34FromGitter<Varriount> I know. I use Python daily
12:59:10FromGitter<Varriount> Do you have a link to the Python code that was interfacing with this social network?
12:59:54euantorDoes the core httpclient send keepalives?
13:00:04TiberiumVarriount: yeah, but comments are in Russian - https://github.com/VKBots/VBot/blob/master/vbot.py#L215
13:00:06euantor(or does the core asyncnet/net send them)?
13:00:13euantorThat may be the problem if not
13:00:36FromGitter<Varriount> euantor: No. Python doesn't even do that by default. It's a protocol specific trait
13:00:37yglukhovAraq: can i constfold a nimnode tree in a macro?
13:00:56euantorah, I wonder if that's the problem then
13:01:02Tiberiummaybe as a workaround I can down default long polling timeout to 5 seconds (i'm using 20 right now)
13:01:16euantorIn .net I'd just set `KeepAlive` to true on the socket and it works
13:02:50TiberiumIn httpclient.nim there's only one "Keep-Alive": in generation of headers it adds "Connection: Keep-Alive\c\L" if there's no "Connection" header in headers
13:04:19FromGitter<Varriount> Tiberium: How many seconds until you get disconnected?
13:04:58Tiberiumbasically I'm handling timeouts properly: after a timeout, long polling server answers with new timestamp, and in next requests I need to use this new timestamp
13:05:08TiberiumIt works like 20-30 minutes, and then fails.
13:05:26Tiberiumbut default long polling timeout is 20 seconds
13:05:31dom96AFAIK long polling isn't part of the HTTP spec
13:05:37dom96So I'm not sure how this works.
13:05:47Tiberiumit's just a long http request
13:06:10dom96Is there a spec for their protocol somewhere?
13:06:15FromGitter<Varriount> https://github.com/VKBots/VBot/blob/master/vbot.py#L143
13:06:31FromGitter<Varriount> ^ What does that comment say?
13:06:38Tiberiumabout wait?
13:06:40Tiberiumrequest timeout
13:07:01Tiberium(so how many seconds long polling will wait before answering with no events)
13:07:26FromGitter<Varriount> That's being passed to the polling action parameters
13:07:37Tiberiumyes, social network also has an API
13:08:04Tiberiumbut you need to pass those parameters usually very rarely - every 24 hours
13:08:14TiberiumI mean to use those parameters
13:08:25FromGitter<Varriount> It will leave a connection open that long? You're sure?
13:08:46Tiberiumyes
13:08:48Tiberiumah
13:08:56FromGitter<Varriount> I thought maybe the Python version was just handling the timeouts
13:09:00TiberiumI mean you need to send request to API every 24 hours
13:09:08Tiberiumbut you need to send HTTP requests every 25 seconds
13:09:44FromGitter<Varriount> Is the Nim client doing that?
13:09:47Tiberiumah I found english docs on this social network long polling
13:09:47Tiberiumhttps://vk.com/dev/using_longpoll
13:09:57TiberiumVarriount: in nim client I'm sending new request every 20 seconds
13:10:04Tiberiumthis works for a while, and then fails
13:10:21FromGitter<Varriount> Huh.
13:10:25Tiberium(in bottom right of the page you can change the language)
13:11:31FromGitter<Varriount> I'm on a phone at the moment, but I would use a proxy program to monitor the HTTP data sent front both versions, and compare
13:11:48zachcartergoing to head to work
13:11:50zachcarterbut lmk what you think http://play.nim-lang.org/
13:12:09Tiberiumbut the strangest thing is that nim client works for a while
13:12:37TiberiumI would try another work-around: recreate http client instance if this error happens
13:12:40Tiberium*will
13:12:53euantorLooks good zachcarter, though the compile log is all on one line rather than each line being on its own
13:13:07zachcarterI’ll work on that
13:13:25dom96huh, the DNS doesn't resolve for me
13:13:30Tiberiumfor me too
13:13:36zachcarterI think it’s the cloudflare thing
13:13:38zachcarterit works in firefox for me
13:13:41Tiberium"GET https://play.nim-lang.org/ net::ERR_CONNECTION_REFUSED"
13:13:42zachcarterbut not in chrome
13:13:45zachcartertry http
13:13:52Tiberiumworks
13:14:55BennyElgAnyone know what's the ETA for the printed version of the Nim-in-action to be ready to ship?
13:15:00demi-i cannot reach it over https in safari and it takes some time to load over http
13:15:02dom96Better, but why did you move the buttons to the top?
13:15:15dom96BennyElg: A month or so
13:15:54zachcarterdom96: easiest way I could get them to not stick to the bottom of the page and cause scrolling
13:16:20FromGitter<andreaferretti> what css framework are you using?
13:16:26zachcarterbulma.io
13:17:00dom96You should switch to bulma's primary buttons
13:17:02*gokr joined #nim
13:17:05dom96button is-primary
13:17:21zachcarterokay
13:17:24BennyElgI'm currently trying to talk with my head of software enginnering college to enter this language in some course sylbus at least for practices.
13:17:32FromGitter<andreaferretti> I think you can just stack up two tiles then
13:17:43FromGitter<andreaferretti> to have the buttons below the main content
13:17:48BennyElgI'm a lecturer there in python so I'm hoping we could manage to do so with Nim soon.
13:17:51dom96yes, or perhaps two "columns" divs
13:17:59zachcarterokay I’ll give both those a shot
13:18:06zachcartergoing to hop in the car but I’ll check logs when Ig et to work
13:18:08*zachcarter quit (Quit: zachcarter)
13:18:15BennyElgwith the course of "Princepels of programming"
13:18:21dom96BennyElg: ooh, that would be awesome. Would you be interested in using the book for the course?
13:18:41BennyElgYa I already buy it ;) I'm waiting to get it
13:18:50BennyElgbought it *
13:19:34dom96BennyElg: I wish I could speed up the process but it's now in Manning's hands.
13:19:49dom96BennyElg: What college/uni are you with?
13:19:49BennyElgNo problem, I got the online copy for now.
13:19:52hltdoes nim have a hashmap implementation in the stdlib?
13:19:59dom96hlt: tables module
13:20:00*sz0 joined #nim
13:20:03BennyElgI started to create the lectures ppt
13:20:04BennyElgs
13:20:10hltthanks
13:20:17BennyElgSCE college of enginnering based in ISRAEL.
13:20:51dom96BennyElg: nice, let me know if there is anything I can do to help :)
13:20:57BennyElghttp://www.sce.ac.il/eng/
13:21:03BennyElgOf course ;) thanks.
13:21:15hltdom96: can i use this table without GC? if so, how?
13:21:48dom96hlt: You can allocate it on the stack, just don't use TableRef but Table
13:22:12hltokay
13:22:25FromGitter<Varriount> dom96: Parts of the table will have to be allocated on the stack
13:22:41FromGitter<Varriount> I mean, on the heap
13:22:57hlti see in the docs that it's calling toTable on something like {1: "one", 2: "two"}. what is this initial argument?
13:23:14FromGitter<Varriount> A sequence.
13:23:24dom96it's actually an array IIRC
13:23:29dom96An array of tuples
13:23:39dom96[(1, "one"), (2, "two")]
13:23:41euantorBennyElg: Some of those buildings look mighty impressive! I really like the design of the one in the slider at the top of the page with the street lights taken at evening/night
13:24:14hltso {1: "one", 2: "two"} is converted into an array of tuples? is this a languag3e feature?
13:24:19BennyElgYea, this campus is located in the city of "Beer Sheva"
13:24:33FromGitter<stisa> zachcarter: I think you are missing ``<meta name="viewport" content="width=device-width, initial-scale=1.0">`` in the header? It looks really tiny on my phone
13:24:36dom96euantor: indeed, wow.
13:24:43FromGitter<Varriount> hlt: Yes. It's just an alternate array literal
13:24:54hltokay
13:25:10euantorstisa I opened a PR for that earlier ;)
13:25:17hltthe docs only show a int -> string table, i am assuming i can create string -> string table just as well?
13:25:17FromGitter<Varriount> @rosado And conversely, just right on mine
13:25:27FromGitter<Varriount> Yes
13:25:30dom96The virtual tour is pretty nice
13:25:48hltokay, thanks
13:26:05euantorI was just about to go through the virtual tour dom96
13:26:18euantorBut it needs Flash
13:26:26euantorWHich I refuse to install on my system ;)
13:26:45dom96heh :)
13:26:52hlti'm trying to build a small example of a web framework
13:26:56hltas a PoC
13:27:09hltusing templates and whatnot
13:27:30FromGitter<stisa> euantor : oh good, didn't check the repo
13:30:17hltis there a way to create a "class method"? like in python
13:31:02dom96'method'
13:31:08hltin python you can create a method with a @classmethod decoration and you can call the method statically and it will supply the method with a newly created class instance
13:31:11euantorI added some other stuff like a meta description and `x-ua-compatible`
13:31:18FromGitter<andreaferretti> just create a function?
13:31:29FromGitter<andreaferretti> and store any necessary state in a var?
13:31:36euantorbut the PR now has conflicts, so I need to fix that
13:32:33hltandreaferretti: I want to do something like HttpResponse.OK(response) and it will return a newly created HttpResponse with code: 200 and resp: response (HttpResponse is an object)
13:32:44Tiberiumyou can do that with a proc I think
13:32:55Tiberiumbecause of UFCS
13:33:07hltbut afaik i cannot supply a type to a function?
13:33:12dom96You can create a proc that takes a 'typedesc' or something similar IIRC
13:33:28dom96typedesc[HttpResponse] maybe
13:33:29hltit would be pointless anyway, i already know what type to create
13:33:40hltdom96: oh maybe i can do something like that
13:34:03hlttypedesc = "type descriptor"?
13:34:04euantorYeah, typedesc[HttpResponse] will work
13:34:10dom96yeah
13:34:17hltokay, very nice
13:34:30FromGitter<andreaferretti> but really, just call it `ok` and put it in a httpresponse module or something
13:34:33hlti am very impressed with nim's meta programming capabilities so far
13:34:47FromGitter<andreaferretti> people can just call `ok(response)`
13:34:57FromGitter<andreaferretti> if ever the this is ambiguous
13:35:06FromGitter<andreaferretti> then `httpresponse.ok(response)`
13:35:10Tiberiumhlt, you're creating some http library??
13:35:14hltFromGitter: yeah it's ambiguous
13:35:14FromGitterhlt, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
13:35:26FromGitter<andreaferretti> you are just using types for namespacing, and modules are better suited for that
13:35:27hltTiberium: as a PoC
13:35:34Tiberiumhlt, ok, nice
13:35:44hltFromGitter: modules can have namespaces?
13:35:44FromGitterhlt, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
13:35:55FromGitter<andreaferretti> modules *are* namespaces
13:36:31hltso i do something like "include myFramework.HttpResponse" and then "HttpResponse.OK"?
13:36:41FromGitter<andreaferretti> nope
13:36:50hlthow so then?
13:36:56FromGitter<andreaferretti> you put your response functions in a module called - say - `httpresponse`
13:36:59*devted quit (Quit: Sleeping.)
13:37:04hltokay
13:37:10FromGitter<andreaferretti> then you just `import httpresponse` and have all these functions in scope
13:37:18Tiberiumand if you're using your framework outside of your framework, then you can use "import myFramework/httpresponse"
13:37:22FromGitter<andreaferretti> if this is ambiguous
13:37:23Tiberium(if it's installed via nimble)
13:37:32FromGitter<andreaferretti> (and it rarely is, because of overloading)
13:37:43FromGitter<andreaferretti> then you prefix them with the name of the module
13:37:46hltah it's /
13:37:56FromGitter<andreaferretti> like `httpresponse.ok(response)`
13:38:01hltokay
13:38:06hltit's case sensitive?
13:38:24hlti mean the modules
13:38:30dom96the first letter is
13:38:37FromGitter<andreaferretti> I think only the first letter, as everything else
13:38:43FromGitter<andreaferretti> but usually modules are lowercase
13:38:45FromGitter<Varriount> Which is odd, but works fairly well
13:38:55hltvery weird
13:39:02dom96I'm curious if the typedesc works though
13:39:07dom96Were you able to successfully use it?
13:39:16hlti see this is the "correct way" of doing it, but typedesc is also a valid option right?
13:39:23dom96if it works then sure
13:39:24hltdom96: gonna try now
13:39:32hltalso gonna try to implement a template for it
13:39:39dom96it would be a good way to enforce this prefix
13:39:50FromGitter<andreaferretti> I would use typedesc if you actually need to discriminate different types
13:40:03hltcan we have variadic templates? like a template that creates a function with arbitrary number of arguments
13:40:28FromGitter<andreaferretti> like `HttpResponse.ok(response)` and `Logger.ok(response)`
13:40:30dom96You would need to use a macro for that
13:40:32hltand get the arguments from template definition
13:40:35FromGitter<andreaferretti> or something
13:40:37hltdom96: oh
13:40:39hltokay then
13:40:48hlti still can't wrap my head around macros tho
13:40:55hltespecially the AST stuff
13:41:00hltuber metaprogramming
13:41:04FromGitter<andreaferretti> in any case, it is redundant if HttpResponse is the only choice that will ever be called
13:41:18dom96yeah, they are a bit advanced.
13:41:35*Vladar quit (Remote host closed the connection)
13:41:44hltalso what's the equalivent of #define in Nim?
13:41:44FromGitter<Varriount> Macros are just procedures that execute at compile time, and output a syntax tree
13:41:48hltcons
13:41:51hltt?
13:41:59dom96yeah, or template
13:42:30hlttemplates are like
13:42:31hltC macros
13:42:31hltas i see it
13:43:39FromGitter<andreaferretti> C macros are textual
13:43:43FromGitter<andreaferretti> templates are not
13:43:59FromGitter<andreaferretti> there is no risk to mess up because, say, you forgot a parethesis
13:44:21FromGitter<stisa> dom96 : I think it would be nice to have zah's work reports ( https://github.com/nim-lang/Nim/issues/5672 ) in the blog, if they become a monthly or so thing, what do you think?
13:52:07hlti get Table is not a concrete type when trying to use it in a object definition
13:54:07FromGitter<andreaferretti> it is parametric in its key and value
13:54:23FromGitter<andreaferretti> `Table[string, string]` is a concrete type
13:54:44hltah
13:55:05hltlike how java defines HashMap<String, String>
13:55:07hltgotcha
13:55:27dom96stisa: sure, I will feature them in BountySource updates which I will probably just cross-post to nim-lang.org
13:57:43hlterror| 'result' cannot be assigned to
13:57:45hlt?
13:57:52hltshould I post my code?
13:58:03Araqhlt: don't declare 'result'
13:58:16Araqit's implicitly declared for you to reflect the return value
13:58:46hltwhat do you mean? result is already a HttpResponse object you mean?
13:58:55hltdoes it automatically instantiated?
13:58:58hltis it*
13:59:23FromGitter<andreaferretti> yup
13:59:31Tiberiumhlt, it is instantiated, but with all nil values
13:59:41Tiberiumor just with empty, I don't remember
13:59:43hltdoes the same thing happen with GC off?
13:59:49Tiberiumyes
13:59:54Tiberiumah
13:59:55*vlad1777d joined #nim
13:59:58TiberiumI don't know :)
14:00:08*zachcarter joined #nim
14:00:46hltokay, it's now saying "error| undeclared identifier: 'result'"
14:01:04Tiberiumhlt, show your code
14:01:06hltit was declared but now not declared..?
14:01:15Tiberium"result" is available only inside of proc
14:01:33hlthttp://termbin.com/fw29
14:01:36hltyes
14:01:39hlti'm inside the proc
14:02:31Tiberiumhlt, you need new(result) probably
14:02:48hltjust that statement?
14:02:54hltor result = new(result)
14:03:07Tiberiumjust that statement
14:03:14hltokay then
14:03:20Tiberiumat the start of the proc
14:04:00euantorYou're missing the `=`
14:04:26euantorhttps://www.irccloud.com/pastebin/sDGQdmvD/
14:04:46Tiberiumah lol
14:04:48*zachcarter quit (Ping timeout: 260 seconds)
14:04:49Tiberiumdidn't notice it
14:05:12hltcrap
14:05:15hltdidn't notice
14:05:39hltabout 20 errors from nvim just went away with one char
14:05:45*devted joined #nim
14:05:53hltreally gotta improve the error messages guys
14:06:55euantorI would have expected a totally different error. Usually you would get an error about invalid indentation in that case
14:07:06hlti did get such an error
14:07:09FromGitter<stisa> hlt: I get an ``implementation of OK .... expected``
14:07:18hltbut i thought it was because something else
14:07:35hltstisa: i got that, euantor's error and like 20 others
14:07:57hltit compiles and runs fine now
14:13:21hlthow do i compile code to javascript?
14:13:54Tiberiumhlt, using "nim js file.nim"
14:13:58hltokay
14:14:01Tiberiumso "c" is actually a language
14:14:06hltnim's default output says nothing about it tho
14:14:08hltonly c
14:14:18*zachcarter joined #nim
14:14:24Tiberiumhlt, even more: there's hidden PHP :D
14:14:32hltseriously?
14:14:35Tiberiumyep
14:14:38Tiberium"nim php file.nim"
14:14:46Tiberiumand look in file.php in nimcache
14:15:12Tiberiumbut you will have to import many functions from PHP
14:15:19Tiberiumbecause you will not able to use "os" module
14:16:04hltdear god the js code generated from nim is so ugly
14:16:12FromGitter<stisa> also node.js with `nim js -d:nodejs` . Most of the commands are listed in `nim --advanced I think`
14:17:05Tiberiumhlt, because it's not generated, it's compiled from Nim :)
14:17:10Tiberiumwhy it should be looking good?
14:17:15Tiberiumit's not a thing like typescript
14:17:20Tiberiumit's entirely different language
14:17:23hltso it doesn't make eyes bleed
14:17:35Araqoh if you use the PHP backend, you have to pay me $1000 for every day you use it
14:17:47TiberiumAraq, dafuq?
14:17:51Araq:D
14:17:57demi-seems legit
14:18:07hltthe C++ is even worse
14:18:17hltthen again it's just transpiled
14:18:21hltso i don't expect much
14:18:23Araqhlt: use -d:release and then the code looks better
14:18:32Tiberium(because less code)
14:18:38Araqand no, it is not transpiled because there is no such thing :P
14:19:06hltAraq: yeah
14:19:29TiberiumC++ to asm - compilation; then why Nim to C++ is not compilation?
14:20:14hltHttpresponse_pzwTMH9aj9an79cF9cT4QFSggQ LOC1; beautiful
14:20:27hlti get why it's like this tho
14:20:37Tiberiumhlt, because of name mangling
14:20:43hltyes
14:20:46hlti know
14:21:05demi-not sure why you care about the "prettiness" of the C++ code, do you apply the same standards to how ASM looks like after you run it through your C compiler?
14:21:20demi-not like C++ was winning any awards for looking good in the first place
14:21:22hltwhen i'm handtuning
14:21:54demi-if you need to hand-tune, you can emit and embed C++/C/ASM in your nim code
14:23:13hltoh that's good
14:23:20hltC++ and C too? nice
14:23:41demi-please have a look at the nim language manual, it goes into detail about all of these things.
14:24:10AraqI never use C for handtuning, I tune the Nim code instead
14:24:23Araqa subset of Nim maps 1 to 1 to C anyway.
14:24:44demi-yeah, i'm trying to think of a case that would require such a thing and i think the vast majority of it would be nim runtime stuff
14:26:06hltdemi-: i can't really look at the manual because the javascript search functionality hangs my web browser for about 90 seconds everytime i visit it
14:26:48hlt(i'm trying nim on an android chroot, sue me)
14:27:13demi-hlt: https://nim-lang.org/docs/manual.html if you curl it you should be able to grep for most things.
14:27:18AraqTiberium: if you depend on the PHP codegen, add some tests for it please
14:27:21FromGitter<stisa> hlt you can build a pdf from latex with Koch I think
14:27:22hltokay, thanks
14:27:29hltFromGitter: oh?
14:27:30FromGitterhlt, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
14:27:34hltdammit
14:27:59TiberiumAraq, I don't, I just found info about secret PHP codegen. (I only tested simple things like importing sequtils and strutils, and converting user input to sequence of integers)
14:28:15*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:28:39AraqTiberium: because otherwise it'll bitrot and I'd like to remove it again
14:32:25TiberiumAraq, again? you did remove it in the past?
14:35:17Araqno I mean 'again' because it used to not exist
14:35:42TiberiumAraq, also looking at js tests I think some of the tests can be just copied?
14:36:42Araqsure or just patch the tester so that every test in 'JS' is also tested with php
14:37:12TiberiumAraq, some of JS tests are also bound to JS (using {.importc.} to import console, or emitting JS code)
14:39:27*BennyElg quit (Remote host closed the connection)
14:42:07Tiberium*cough* I was a bit optimistic
14:42:51yglukhovAraq: can i eval/constfold nodes inside a macro?
14:45:24*gokr quit (Ping timeout: 260 seconds)
14:46:34*girvo quit (Quit: leaving)
14:49:03*adeohluwa quit (Quit: Connection closed for inactivity)
14:51:01jrenner0001why is {.importc.} not called importjs when using JS?
15:00:21ftsfmaybe it should be called {.importffi.} or something
15:05:37demi-well we have importobjc as well
15:06:44Araqyglukhov: krux02 might be able to do that with a helper macro. I used to think it's impossible.
15:07:51*gokr joined #nim
15:11:27*gokr quit (Read error: Connection reset by peer)
15:14:42Araqjrenner0001: laziness but if we come up with better names, we need to keep in mind that the JS backend supports 'importcpp' too
15:15:40TiberiumAraq, how?
15:15:45Tiberiumnode.js magic?
15:16:24Araqno, it's "Import from JS, using this pattern"
15:24:44*PMunch joined #nim
15:27:27*Arrrr joined #nim
15:31:57*zachcarter quit (Quit: zachcarter)
15:40:26*nsf quit (Quit: WeeChat 1.7)
15:45:05*brson joined #nim
15:48:06Tiberiumhonestly, I love nim macros now, even if I'm not very experienced in Nim, I'm able to create something like this: https://github.com/VKBots/Nickel/blob/master/src/modules/example.nim
15:52:59*Tiberium quit (Read error: Connection reset by peer)
15:54:45*Tiberium joined #nim
15:56:29*zachcarter joined #nim
16:03:42Araqпожалуйста
16:04:10TiberiumAraq, wow :)
16:05:45AraqЯ люблю рисовать женщин
16:06:32FromGitter<Varriount> Araq: Do you actually know russian?
16:06:48Araq... and that's pretty much all I know -.-
16:06:58TiberiumAraq, oh, I am impressed
16:07:26Araqplus I had to lookup the case of женщин
16:08:17AraqXD
16:08:36AraqVarriount: I'm learning it.
16:09:28TiberiumAraq, now I am 110% sure that I need to use Nim
16:10:42Araqit's fun. different letters, sounds, words and grammar. the ultimate challenge
16:11:05*Jesin quit (Quit: Leaving)
16:14:28*Jesin joined #nim
16:17:04*Arrrr quit (Quit: Leaving.)
16:23:42*PMunch quit (Quit: leaving)
16:30:53FromGitter<Varriount> I just wish I didn't have to learn German to graduate.
16:31:07FromGitter<Varriount> I'd love to learn it without this pressure.
16:32:10*Vladar joined #nim
16:34:51chemist69Du schaffst das schon!
16:35:01euantorI had to learn German and French during high school, but can remember very little of either language
16:35:13euantorI struggle enough with English, never mind foreign languages
16:37:36TiberiumAnd in Russia in the most cases we learn English at school
16:37:44Tiberium(as I do)
16:40:38*krux02 quit (Remote host closed the connection)
16:41:01couven92just noticed that Nim has no entry at the bottom of http://json.org/
16:41:21couven92Shouldn't we try to get a link to Nim's JSON module there?
16:41:38def-couven92: sure, go ahead
16:41:47couven92(Anyone know who to call for that? :P )
16:42:40couven92i.e. who's resposible for the json.org page?
16:44:02FromGitter<Varriount> euantor: I get to learn it at University, while working a full time job. :D
16:44:19FromGitter<Varriount> I suspect it might be easier if I was able to use it in everyday life.
16:46:41euantorNice, sounds like fun. I didn't have to learn too much of it, I only learned German for 2 years and French for 4, with fairly basic exams. I did spend 2 weeks in germany and 2 weeks in France which really helped at the time
16:49:06yglukhovAraq: afair there was some way to hook onto thread setup/teardown events?
16:51:27Araqyglukhov: we removed setup hook again, it was impossible to use without logical races
16:51:36Araqteardown hook still exists
16:57:36hltis there a possibility of a nim-shell in the future?
16:58:03hltsince nim can compile down to js, i assume it would be able to make a repl for it
16:58:19hltit would be possible*
16:58:35Tiberiumhlt, why do you want to have it? there's "nim secret"
16:59:22Tiberiumhlt, but don't forget that nim is a compiled language :)
17:00:26hltnim secret?
17:00:28hltwhoa
17:00:30hltwhy is it a secret tho
17:00:43Tiberiumbecause you can't run every code
17:00:58Tiberiumtry, for example, "import os"
17:01:54hltwew
17:02:13hltit needs to use gettext
17:02:23hlti can't move the cursor and get history :/
17:02:31hlterm, realine* not gettext
17:02:34hlti got confused
17:03:49def-hlt: ./koch boot -d:release -d:useLinenoise
17:04:13euantornim secret is still a work in progress too as far as I know
17:04:59hltis there a way to do threaded compiling? like make -jX
17:05:05hltwith nim
17:05:23hltdef-: thanks
17:07:05Tiberiumbtw, what options from nim --advanced are turned "on" by default? is there a list of it?
17:07:25def-Tiberium: see config/nim.cfg
17:08:04Tiberiumdef-, I'm asking about things like "--implicitStatic:on|off"
17:10:06hltis there a text-replace funtion like C's #define X Y?
17:10:49def-hlt: we use templates for that and they operate on AST, not text level
17:11:04*adeohluwa joined #nim
17:11:20couven92hlt, you can of course also alias any type and proc if you want
17:11:33*tigerfinch joined #nim
17:11:50hltokay
17:12:03couven92that's also a lot safer than being able to do `#define if sthElse`
17:12:40tigerfinchHey! Does anyone here know who I can contact about signing up for the forum? I have not received the email to confirm it (signed up yesterday, checked spam etc.)
17:12:48*rauss joined #nim
17:13:28def-tigerfinch: dom96 was doing forum stuff I think
17:15:40FromGitter<Varriount> hlt: https://nim-lang.org/docs/filters.html
17:16:10tigerfinchdef-: thanks
17:16:29tigerfinchdom96: any thoughts?
17:17:13Tiberiumhlt, you want https://nim-lang.org/docs/filters.html#available-filters-replace-filter
17:17:22Tiberiumbut instead, use something more high-level :)
17:27:46dom96tigerfinch: what's your username?
17:28:04tigerfinchdom96: tigerchops
17:28:32dom96tigerfinch: I activated it for you
17:28:38tigerfinchdom96: thanks so much!
17:29:11tigerfinchdom96: can login now, thanks again!~
17:29:19dom96np
17:35:52Tiberiumdom96, also, I have a question - why "nimcache" is not prefixed with "_" like "_nimcache" ?
17:36:24Tiberiumah sorry
17:36:29TiberiumI mean ".nimcache"
17:36:31Tiberiumwith a dot
17:37:14yglukhovTiberium: you can override nimcache path with nim cmdline option
17:37:48Tiberiumyglukhov, just curious why it's not ".nimcache" by default :)
17:38:13Tiberiumyglukhov, thanks for info though
17:43:56jrenner0001.nimcache sounds nice, then I wouldn't accidentally add it to a fresh git repo
17:45:17dom96Tiberium: Ask Araq :)
17:50:44*BennyElg joined #nim
17:51:05jrenner0001just signed up monthly contribution for Nim at bountysource :)
17:51:53*rauss quit (Ping timeout: 240 seconds)
17:51:56*arnetheduck quit (Remote host closed the connection)
17:53:16*BennyElg_ joined #nim
17:53:16*BennyElg quit (Read error: Connection reset by peer)
17:54:10*rauss joined #nim
17:54:21dom96jrenner0001: awesome, thanks! :D
17:55:07*couven92 quit (Ping timeout: 255 seconds)
18:16:05FromGitter<TiberiumPY> zachcarter: http://i.imgur.com/oaO0IPi.jpg
18:16:30jrenner0001FromGitter: haha
18:16:30FromGitterjrenner0001, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
18:20:44FromGitter<stisa> @TiberiumPY I think this https://github.com/zacharycarter/nim-playground-frontend/pull/1 should fix it
18:21:36AraqTiberium: because I hate dirs starting with a dot. hiding directories never hides the implementation complexities. and more often than not I need to dig into a dot dir to fix something
18:22:26Araq.bashrc, .git/config, etc etc
18:22:55*yglukhov quit (Remote host closed the connection)
18:24:09jrenner0001for what it's worth python doesn't put it's cache behind a dot either
18:28:08*yglukhov joined #nim
18:28:10*yglukhov quit (Remote host closed the connection)
18:28:43*yglukhov joined #nim
18:30:00Tiberiumjrenner0001, but it does put it under __pycache__
18:33:14*yglukhov quit (Ping timeout: 260 seconds)
18:33:48jrenner0001right but 'ls' will still see __pycache__
18:34:04*SusWombat quit (Remote host closed the connection)
18:34:13*SusWombat joined #nim
18:34:33*libman joined #nim
18:34:39*libman quit (Changing host)
18:34:39*libman joined #nim
18:38:54*Snircle quit (Excess Flood)
18:41:35*nsf joined #nim
18:50:47zachcarterTiberiumPY: Working on that one
18:57:29dom96wow, so many RTs for your tweet ftsf :)
19:03:22Tiberiumeh, time to actually find out how to change nickname on gitter after I changed it on github. I'm no longer "py" but "n"
19:04:34FromGitter<TiberiumN> test
19:04:36Tiberiumyay
19:09:07*vivus quit (Quit: Leaving)
19:15:43jrenner0001what tweet is this
19:19:05dom96https://twitter.com/impbox/status/857500978131619840
19:19:17zachcarterTiberiumPY: shoudl be fixed now
19:20:44*BennyElg_ quit (Ping timeout: 260 seconds)
19:20:58Tiberiumzachcarter, yes, nice!
19:21:05zachcarterthanks :D
19:22:41*BennyElg joined #nim
19:26:15*yglukhov joined #nim
19:26:31*Ven joined #nim
19:26:42*BennyElg_ joined #nim
19:26:44dom96zachcarter: nice.
19:26:55*Ven is now known as Guest68828
19:27:00dom96Still some things that I would fix, but maybe I'm just too picky :)
19:27:18zachcarterdom96 lay em on me
19:27:39dom96the compile log should have a scroll bar (it grows to show all its output)
19:27:45zachcarterokay
19:28:05dom96I would align the compile log box to the ace editor :)
19:28:06*BennyElg quit (Ping timeout: 260 seconds)
19:28:15dom96it's slightly lower down
19:28:30zachcarterokay cool
19:28:30dom96The "compile" text is also out of alignment, should be moved to the right
19:28:41dom96and there is too much spacing above and below it
19:28:58zachcarterokay
19:29:09zachcarterI think i can manage all those
19:34:35*Vladar quit (Quit: Leaving)
19:36:36*captain-adequate quit (Ping timeout: 240 seconds)
19:39:03*adeohluwa quit (Quit: Connection closed for inactivity)
19:42:18*rokups quit (Quit: Connection closed for inactivity)
19:43:51Tiberiumehh, probably tomorrow will need to debug "Connection was closed before full request has been made" using gdb or something like that
19:43:56Tiberiumwill *try* to debug
19:51:29ldlework/spam dom96 and I are in a channel called #techgems which is all about appreciating technology to have a place to get away from continuous pessimism you can find in any other channel on this network. Come join us if that sounds pleasant.
19:57:51Tiberiumoh, it seems that gdb doesn't help much
19:58:13jrenner0001does the json module only convert from object to JSON? looks like I need to code the deserialization myself, right?
19:58:42Tiberiumjrenner0001, no, you can use it to parse JSON
19:59:02Tiberiumjrenner0001, but if you want to convert it to object, use nimyaml or (not recommended) marshal
19:59:04*rauss quit (Quit: WeeChat 1.7.1)
20:00:06jrenner0001right, I can parse the json, but it's not automatically the type I want
20:00:27jrenner0001let's say a typical Person object with age: int and name:string, I can just automatically get a Person from a string using the json module I assume
20:00:34jrenner0001*can't
20:00:54Tiberiumjrenner0001, you can via marshal, but it's not recommended :)
20:01:00Tiberiumbecause marshal internal format can change
20:01:04Tiberiumlook at "nimyaml" in nimble
20:01:17jrenner0001ok
20:01:44Araqthe new json module can do that too. right, dom96?
20:02:06Tiberiumwow
20:02:08dom96yes, on devel we have a new 'to' macro that can do this
20:02:10Tiberiumreally?
20:02:13TiberiumNEAT!
20:02:16dom96I implemented it recently
20:02:19jrenner0001hmm maybe I should try it
20:02:22dom96So you might run into bugs
20:02:58Tiberiumdom96, any suggestions how to debug my problem (I'll try to debug it tomorrow)? With "connection was closed before full request was made".
20:03:05Tiberiumah, nevermind, firstly I'll try proxy
20:03:24dom96https://github.com/nim-lang/Nim/blob/devel/lib/pure/json.nim#L1723
20:03:26Tiberiumto see there my http requests differ from python app...
20:03:31Tiberium*where
20:03:44dom96yes, best thing is to see what the python app sends
20:04:34jrenner0001oh, the version of nim I'm using already has that commit, how convient, now I'll try it
20:04:42Tiberiumdom96, does it support object variants? I mean "to" macro.
20:05:07dom96yep
20:05:34Tiberiumdom96, nice! because for now I have things like this: https://github.com/VKBots/Nickel/blob/master/src/vkbot.nim#L80
20:06:03*Tiberium quit (Remote host closed the connection)
20:09:13jrenner0001it worked for a simple object but failed for a more complicated one
20:10:04jrenner0001I'll enjoy it when it's stable
20:10:34dom96jrenner0001: please report that as a bug
20:11:56jrenner0001ok
20:17:26jrenner0001https://github.com/nim-lang/Nim/issues/5761
20:24:13FromGitter<TiberiumN> Oh, I used imgur for sharing screenshots, and now in my imgur profile I have "-25 points". Nice lol
20:28:37*couven92 joined #nim
20:34:24*yglukhov quit (Remote host closed the connection)
20:43:05*yglukhov joined #nim
20:49:15*yglukhov quit (Remote host closed the connection)
20:51:47*Guest68828 quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:52:30*yglukhov joined #nim
20:52:56*yglukhov quit (Read error: Connection reset by peer)
20:53:25*yglukhov joined #nim
20:57:03FromGitter<Varriount> Likely because Araq hates following Unixisms
20:57:48*yglukhov quit (Ping timeout: 260 seconds)
21:01:34*zachcarter quit (Ping timeout: 268 seconds)
21:05:48Araqhuh? I've already explained why.
21:06:30Araqbut yeah, if you want to create a good tool, avoiding Unixisms like the plague is a very good start.
21:11:19FromGitter<Varriount> Araq: We should probably stop using dike extensions too
21:11:24FromGitter<Varriount> *file
21:12:06Araqyeah, let's get rid of the type system for filenames. smart move.
21:14:32Araqhttps://www.dwheeler.com/essays/fixing-unix-linux-filenames.html
21:15:38*willprice quit (Quit: Leaving)
21:16:02FromGitter<ZDZero_twitter> so, uhm, hello. a proc that can throw an exception is considered to have a side effect? Or is that a bit too exceptional?
21:16:25FromGitter<ZDZero_twitter> (reaaaally new to Nim)
21:22:12Araqno, raising an exception is not a sideeffect
21:22:26couven92Hmm... I am considering to write a Windows package manager... I am a bit torn whether to do it in C# (my main language) or to do it in Nim... :P
21:23:00AraqNim. C# won't run well on Windows XP
21:23:09FromGitter<TiberiumN> Windows XP?
21:23:18couven92Araq, nice argument! :)
21:23:22Araqor reactOS (?)
21:23:51couven92But Araq, I think we could get .NET Core to run on XP... (although I haven't actually tried it...)
21:24:13*bjz joined #nim
21:24:16FromGitter<TiberiumN> Oh, yes, reactos
21:24:24FromGitter<TiberiumN> But it's hard to run on real hardware
21:24:33Araqok, so your package manager requires to mess with package management to be installed
21:24:40dom96couven92: any news on SChannel?
21:24:57Araqdom96: we don't want SChannel.
21:25:18dom96Araq: Why not?
21:25:30couven92dom96, working on it, but I have a hand-in tomorrow... so right now I am battling with JavaScript... :/
21:25:36Araqread the IRC logs, it doesn't work on Win XP
21:25:37dom96I do, so that already refutes your statement :P
21:26:23dom96So? Windows Vista+ already covers a vast majority.
21:26:23Araqcouven92: Nim can generate JS code :P
21:26:52Araqwin xp support is one of Nim's strengths and there are more Win XP users out there than there are Linux users.
21:26:54couven92Araq, I was actually thinking about sth lik karax! :D
21:27:15dom96Araq: When was the last time you tested Nim on Win XP?
21:27:26AraqI know you did recently.
21:27:37AraqI know Arrr does it.
21:27:42dom96That doesn't matter though.
21:27:55dom96I want to have dependency-free SSL on Windows Vista+
21:28:07dom96Win XP can use openssl.
21:28:13dom96What's the problem with that?
21:28:32Araqwe can get that by other means.
21:28:42Araqthis has all been discussed.
21:28:52Araqand I won't repeat it here.
21:28:54couven92Araq, by bundling OpenSSL in Nim?
21:28:56*captain-adequate joined #nim
21:29:02dom96It was never resolved.
21:29:19dom96And I do remember that conversation.
21:29:30Araqit was. I am the BDFL.
21:30:38dom96That doesn't give you authority over Nimble packages.
21:31:02Araqit gives me the final say when we cannot agree.
21:31:14Araqit also means discussions can end.
21:31:37dom96In all due respect, this is up to couven92 to decide.
21:32:06Araqit's up to us if it makes it into the core.
21:33:31dom96We aren't arguing about this.
21:33:35couven92yeah, I am doing it as a nimble package now... And it's taking it's time, because I haven't really used Nim much before (just on code-bases where I worked together with PMunch)
21:33:48dom96^^
21:34:54dom96I'm happy with a Nimble package.
21:34:56couven92So I am really learning a lot about Nim right now, and loving it BTW! So since I agree with dom96 on the dependency-stuff, I think this is a nice oppurtunity to do some good
21:35:28Araqhmm, couven92 aren't you the developer of the vccexe tool?
21:36:03couven92yeah, and you told me my code is awful to read, when I did my first PR last year! :D
21:36:06dom96couven92: Glad to hear it. I'm also glad that you haven't been discouraged from this project.
21:37:17Araqcouven92: aww, I thought you use Nim extensively with VCC already ;-)
21:37:25*yglukhov joined #nim
21:37:52couven92Araq, I do! :D Whenever PMunch pitches some project to me! :D
21:38:16couven92That's how I ended up in wxWidgets for example
21:39:19couven92PMunch and I also used Nim as a very simple 30-lines code generator tool for a big commercial project we worked on
21:39:34dom96Araq: Do you also have something against implementing Secure Transport?
21:40:29dom96(macOS' SSL implementation)
21:40:46couven92BTW, PMunch and I are thinking about doing a Nim-Talk or Workshop at our University. We haven't planned anything yet, but we agreed that it would be nice-to-have... So we'll probably start planning that soon, when we need distraction form our MSc.
21:41:24Araqdom96: I doubt it since I suspect Apple will make it requirement for its app store, if it hasn't done that already
21:41:40dom96Honestly, preventing hassle free SSL on Windows Vista+ for the sake of Windows XP is ridiculous.
21:42:08*yglukhov quit (Ping timeout: 260 seconds)
21:42:15Araqif there were no other means to get "hassle free", perhaps
21:42:48AraqI think it's more ridiculous we don't ship some .c files just because Linux packagers then wouldn't package Nim anymore
21:43:14Araq(as if Linux packaging would work in the first place)
21:43:22dom96It's not as if this will break Windows XP
21:43:31dom96We can provide a binary that works with openssl for Windows XP
21:43:53Araqthat's true but it requires 2x the testing effort
21:44:14Araqa Win XP testing machine would be nice
21:44:30*PMunch joined #nim
21:45:21dom96We should test Win XP anyway
21:45:29dom96if support for it is that important
21:45:44Araqagreed. any ideas how to do it?
21:47:59dom96We would need a dedicated server machine for this
21:48:01couven92Araq, I can have it arranged to obtain free computing power on a Windows XP machine on our University servers for Nim testing purposes if you like
21:49:23couven92I have a server that currently is idling in our server room and waits for a new OS and sth to do :P
21:50:11Araqcouven92: thanks, we can try that
21:50:17couven92and being a student I have Windows XP licenses I don't use (since I don't use WinXP for anything anymore)
21:50:53couven92ok, I can set it up tomorrow afternoon (after I have delivered the project I am currently working on)
21:51:17couven92So, that would be a standard Nim distribution with MinGW on Win XP, right?
21:51:42couven92Or shall I maybe also try it with VCC? :P
21:52:16dom96Might be better to focus on MinGW for XP
21:52:22dom96Unless MinGW has poor XP support
21:52:23couven92agreed
21:53:55couven92BTW, I just got invited to the JSON Yahoo group... I have started a new thread there to get Nim and the json module to be listed on http://json.org/ (at the bottom)
21:54:36dom96nice :)
21:54:44FromGitter<TiberiumN> Also nimyaml maybe?
21:55:01FromGitter<TiberiumN> Because on this site there's more than one library for a language
21:55:25*yglukhov joined #nim
21:55:51couven92@TiberiumN, I think nimyaml isn't for JSON, right?
21:56:20couven92on json.org (which is the documentation page for JSON) we should limit ourselves to the json module
21:56:29FromGitter<TiberiumN> It can serializ and deserialize it
21:58:10FromGitter<TiberiumN> But anyway, stdlib module needs to be there first
22:06:25AraqYaml is a superset of JSON
22:12:04*StarBrilliant quit (Ping timeout: 255 seconds)
22:13:52jrenner0001I did not know that
22:13:56jrenner0001http://stackoverflow.com/questions/1726802/what-is-the-difference-between-yaml-and-json-when-to-prefer-one-over-the-other
22:13:59*nsf quit (Quit: WeeChat 1.7)
22:14:04*jtremback_____ joined #nim
22:14:18*StarBrilliant joined #nim
22:14:54*jtremback____ quit (Ping timeout: 240 seconds)
22:14:54*RushPL quit (Remote host closed the connection)
22:14:55*Xe quit (Ping timeout: 240 seconds)
22:15:47*RushPL joined #nim
22:16:12*jackv quit (Ping timeout: 268 seconds)
22:17:07*benoliver999 quit (Ping timeout: 240 seconds)
22:17:07*kunev quit (Ping timeout: 240 seconds)
22:17:08*zielmicha_ quit (Ping timeout: 240 seconds)
22:17:30*benoliver999_ joined #nim
22:17:39*kunev joined #nim
22:18:33*benoliver999_ is now known as benoliver999
22:18:40*Xe` joined #nim
22:18:44*devted quit (Quit: Sleeping.)
22:18:44*niv quit (Ping timeout: 240 seconds)
22:21:19*jackv joined #nim
22:23:21*Matthias247 quit (Read error: Connection reset by peer)
22:27:16*zielmicha_ joined #nim
22:28:28*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:34:28*sz0 quit (Quit: Connection closed for inactivity)
22:41:55*zachcarter joined #nim
22:42:22*yglukhov quit (Remote host closed the connection)
22:59:39*cspar joined #nim
23:02:33*cspar__ quit (Ping timeout: 258 seconds)
23:08:17*jrenner0001 quit (Quit: WeeChat 1.4)
23:09:39*Xe` is now known as Xe
23:12:21zachcartercan anyone help me with css on : http://play.nim-lang.org/
23:12:27zachcarterI need to prevent the logs from resizing
23:12:38zachcarterif you type in :
23:12:39zachcarterfor i in 0..<100:
23:12:39zachcarter echo i
23:12:52zachcarterto the editor, and click compile - you’ll see what I mean
23:14:52pydsignerzachcarter: did you see my mod?
23:15:04zachcarterI did, but everyone hated the dark theme :/
23:15:15zachcarternot yours I mean, but mine haha
23:15:59PMunchoverflow:scroll?
23:16:06zachcarterI tried that PMunch
23:16:07zachcarterdoesn’t work
23:16:16pydsignerzachcarter: combine it with a max-height
23:16:25zachcarterI don’t want to hardcode a height :/
23:16:39couven92set it to 100%?
23:16:42zachcartertried that
23:16:53zachcarterI’m hoping someone can get it working in dev tools and then tell me what they did
23:17:04zachcarterbecause I’ve tried quite a bit
23:17:06couven92ah! :)
23:17:22PMunchAh, probably because it is 100%
23:17:22zachcarterit’s a challenge! haha
23:17:24PMunchHold on
23:17:49pydsignerDoesn't work
23:18:12pydsignerzachcarter: use flexbox
23:18:19pydsignerIt's made for this sort of thing
23:18:26zachcarterI am using flexbox to my knowledge
23:18:35zachcarterbut I am a flexbox noob pydsigner
23:18:43*couven92 is performing a drum roll is suspense of PMunch's ingenious CSS solution!
23:18:57pydsignerzachcarter: you're using bootstrap or something, right?
23:19:02zachcarterbulma.io
23:19:10zachcarterwhich is flexbox based
23:20:22pydsignerOh ok
23:20:59zachcarteralso if anyone can get the compile logs the right size in safari - bonus points :P
23:21:15PMunchhttp://jsfiddle.net/TUwej/2/
23:22:09zachcarterPMunch I’m not sure I can adapt this to bulma
23:22:22pydsignerzachcarter: figured it out
23:22:25zachcarter:D
23:22:34pydsignerset a min height along with overflow: scroll
23:22:44zachcarteron the pre?
23:23:58pydsignerYes.
23:24:10pydsignerIt can be 0 or whatever, it just has to be set
23:24:12zachcarterokay
23:24:26*krux02 joined #nim
23:25:07pydsignerbulma.io is interesting but I imagine it'd cause pain trying to do responsive
23:25:32zachcarterhrm it’s not working for me, I’ll keep trying
23:27:36pydsignerHmm yeah ok
23:27:52pydsignerYou want the min-height on the tile.is-child and the overflow on the pre
23:27:57zachcarterah okay
23:29:35zachcarterhrm not working either :/
23:29:46zachcarteroh I know why I think
23:29:57zachcarternope nevermind
23:31:06zachcarterokay
23:31:09zachcarterI got it working in dev tools
23:32:51zachcarterthank you pydsigner!
23:33:28pydsignernp :)
23:42:54*BennyElg_ quit (Read error: Connection reset by peer)
23:44:32*BennyElg joined #nim
23:44:59zachcarterokay http://play.nim-lang.org/ is updated please poke holes / critique
23:49:06*BennyElg quit (Ping timeout: 240 seconds)
23:50:58*cspar_ joined #nim
23:52:24*cspar quit (Ping timeout: 240 seconds)
23:52:50bozaloshtshzachcarter: how is stdin handled?
23:52:56zachcarterit’s not
23:53:52bozaloshtshwhenever I run stdin.readline() it takes a very long time
23:54:21zachcarteryeah the program is sitting waiting for input
23:54:27zachcarterand eventually the docker image times out
23:54:35bozaloshtshah
23:54:55zachcarterI didn’t really think about input
23:55:25zachcartermy next move is to get this off docker
23:55:30zachcarterand move it to something like lambda
23:55:43zachcarterbut I need to pay more attention to frag first
23:55:50zachcarterfrag is languishing in this things dust :P
23:56:44zachcarterbozaloshtsh: we should figure out whether the golang / rust web solutions offer input and if so mimic that
23:58:26zachcarterokay so golang simply exits as soon as the prompt comes up
23:58:34zachcarterhttps://play.golang.org/p/K85s6e-F7-
23:59:03zachcarternot sure how we’d do that….
23:59:52*BennyElg joined #nim