<< 01-12-2017 >>

00:07:41*vlad1777d joined #nim
00:15:24*MJCaley quit (Quit: MJCaley)
00:20:49vlad1777dHello. DO nim compile all code each time from scratch, or does it use some algoritms not to compile already compiled sources (like make does) ?
00:21:28*libman left #nim (#nim)
00:21:30dom96the latter: it caches C source code
00:23:58*couven92 quit (Quit: Client Disconnecting)
00:26:59*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:29:55*Ven`` joined #nim
00:30:17*MJCaley joined #nim
00:34:39vlad1777dthanks )
00:40:55*yglukhov quit (Remote host closed the connection)
00:42:30*yglukhov joined #nim
00:42:59*astronavt joined #nim
00:43:53*vlad1777d quit (Remote host closed the connection)
00:43:54*yglukhov quit (Read error: Connection reset by peer)
00:45:05*vlad1777d joined #nim
00:47:50*astronavt quit (Ping timeout: 255 seconds)
00:52:42*yglukhov joined #nim
00:56:11*yglukhov quit (Remote host closed the connection)
00:56:33Araqvlad1777d: quite some effort went into making the caching efficient. the build is also parallel by default
00:56:45Araqbuild times are fine.
00:57:01vlad1777dAraq, thanks =)
00:57:50*yglukhov joined #nim
01:02:23*yglukhov quit (Ping timeout: 248 seconds)
01:03:35*yglukhov joined #nim
01:04:52*skrylar joined #nim
01:05:10*yglukhov quit (Read error: Connection reset by peer)
01:05:37*yglukhov joined #nim
01:07:43*yglukhov quit (Read error: Connection reset by peer)
01:08:00*yglukhov joined #nim
01:12:11*yglukhov quit (Ping timeout: 240 seconds)
01:12:29*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:16:37*Ven`` joined #nim
01:21:35*skrylar quit (Ping timeout: 248 seconds)
01:22:11*Jesin joined #nim
01:23:44*vlad1777d quit (Remote host closed the connection)
01:23:52*sz0 joined #nim
01:25:00*vlad1777d joined #nim
01:29:33FromGitter<Quelklef> What, exactly, is `-1.#IND`?
01:29:53AraqNAN
01:29:54FromGitter<Quelklef> Essentially `DNE`? Seems to be output from out of range values of `math.arccos`
01:29:57FromGitter<Quelklef> hmmmm
01:30:38AraqNim devel should write 'NaN'
01:30:59FromGitter<RedBeard0531> What is the best way to set up an environment to use an editable git checkout of the stdlib? Is there a choosenim mode similar to `nimble develop PKG`? (I've been cheating and just editing the files in ~/.choosenim directly, but I can't make a PR like that)
01:31:01Araq-1.#IND is MS speak which we translate into English
01:31:04FromGitter<Quelklef> iirc im on stable (0.17.2)
01:31:24FromGitter<Quelklef> MS speak?
01:31:49AraqMicrosoft's bullshit term nobody knows about
01:32:03FromGitter<Quelklef> lol yeah
01:32:09FromGitter<Quelklef> seems like an odd way to repr nan
01:32:26Araqcould also be -Inf, not sure, use devel
01:32:44FromGitter<Quelklef> eek that sounds scary
01:32:50FromGitter<Quelklef> prolly a good idea if im gonna be on gitter, tho
01:32:58FromGitter<Quelklef> inb4 current code breaks
01:36:08*skrylar joined #nim
01:40:51*skrylar quit (Ping timeout: 240 seconds)
01:41:41*rbrt quit (Quit: Oíche mhaith)
01:43:44*astronavt joined #nim
01:48:11*astronavt quit (Ping timeout: 240 seconds)
01:56:55*endragor joined #nim
01:57:57*endragor quit (Remote host closed the connection)
01:58:45*endragor joined #nim
02:06:22*chemist69 quit (Ping timeout: 264 seconds)
02:07:17*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:12:58*shodan45_ joined #nim
02:15:15*acidx_ joined #nim
02:16:56*rosshadden joined #nim
02:16:58FromGitter<Quelklef> oh no i tried to get devel running via cygwin and
02:17:11FromGitter<Quelklef> ```Error: unknown operating system: cygwin_nt-10.0``````
02:18:09*wishi_ joined #nim
02:19:57*chemist69 joined #nim
02:20:12*Cthalupa- joined #nim
02:20:18*Amrykid2 joined #nim
02:21:12*shodan45 quit (Ping timeout: 248 seconds)
02:22:45*ryanhowe quit (*.net *.split)
02:22:45*rauss quit (*.net *.split)
02:22:47*acidx quit (*.net *.split)
02:22:47*onionhammer quit (*.net *.split)
02:22:48*wishi quit (*.net *.split)
02:22:49*Cthalupa quit (*.net *.split)
02:22:49*Amrykid quit (*.net *.split)
02:27:46*onionhammer joined #nim
02:27:46*ryanhowe joined #nim
02:44:29*astronavt joined #nim
02:45:14*vlad1777d quit (Ping timeout: 268 seconds)
02:49:14*astronavt quit (Ping timeout: 258 seconds)
03:02:03*chemist69 quit (Ping timeout: 250 seconds)
03:06:02*dddddd quit (Remote host closed the connection)
03:11:02*MJCaley quit (Quit: MJCaley)
03:16:00*chemist69 joined #nim
03:25:04*Ven`` joined #nim
03:40:37*marenz_ joined #nim
03:44:19*marenz__ quit (Ping timeout: 252 seconds)
03:44:27*Ven`` quit (Ping timeout: 240 seconds)
03:45:17*astronavt joined #nim
03:50:47*astronavt quit (Ping timeout: 276 seconds)
03:58:27*marenz_ quit (Ping timeout: 240 seconds)
04:14:57*skrylar joined #nim
04:35:30*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:43:47*leorize joined #nim
04:46:15*astronavt joined #nim
04:50:42*astronavt quit (Ping timeout: 246 seconds)
05:11:51*leorize quit (Read error: Connection reset by peer)
05:15:07*nim_newb joined #nim
05:16:00nim_newb@Quelklef you can compile devel with mingw
05:16:23nim_newbDownload msys2 and install the compilers in it
05:17:20FromGitter<Varriount> @Quelklef Which part of the file threw that error?
05:17:24nim_newbHere are some install instructions for installing mingw
05:17:26nim_newbhttps://github.com/orlp/dev-on-windows/wiki/Installing-GCC--&-MSYS2
05:17:54nim_newb@Varriount I guess he tried to run build.sh in the cygwin console
05:18:03nim_newbto compile nim from devel
05:19:50nim_newb@Quelklef After installing mingw compile nim from devel using the instructions in the repo's readme. On windows you need to run *.bat files (not *.sh)
05:20:03nim_newbCygwin in probably not supported though I am not sure
05:20:14FromGitter<Varriount> I'm fairly sure Cygwin is supported.
05:20:23FromGitter<Varriount> I know people have used it in the past.
05:24:34*nim_newb quit (Ping timeout: 260 seconds)
05:42:28*cspar joined #nim
05:47:00*astronavt joined #nim
05:51:36*astronavt quit (Ping timeout: 246 seconds)
05:57:47*Jesin quit (Quit: Leaving)
06:05:09TangerHey guys, I'm wondering if there exists a nim-lang equivalent to python's SSLWantReadError exception?
06:05:34TangerSo an error raised when a non-blocking ssl socketing tries to read or write, but data still needs to be sent
06:05:51*JappleAck joined #nim
06:25:38*leorize joined #nim
06:31:48*shodan45_ quit (Remote host closed the connection)
06:37:00*nsf joined #nim
06:38:05*skoude joined #nim
06:39:24skoudejust learning nim, if I use http client to get some json from my server the encoding is not correct if I echo the returned data.. ANy idea, how can I define character encoding in there?
06:44:24*shodan45 joined #nim
06:47:45*astronavt joined #nim
06:51:35*JappleAck quit (Quit: Leaving)
06:52:25*astronavt quit (Ping timeout: 252 seconds)
07:00:17*leorize quit (Read error: Connection reset by peer)
07:01:27Tanger@skoude https://nim-lang.org/docs/encodings.html That could help you figure out what the issue is
07:01:44TangerSo you can play around with encoding/decoding
07:01:57TangerOtherwise, is your server sending the correct encoding headers?
07:18:16FromGitter<alehander42> hm, new question Araq:
07:18:45FromGitter<alehander42> in codegenDecl for js, should we have some ability to pass the original name of the function ? I guess not as its not important for codegen
07:18:55FromGitter<alehander42> yeah nvm
07:19:58FromGitter<alehander42> then another question, do we have a way to test suite output with some kind of regex ?
07:20:44*gokr joined #nim
07:36:13*PMunch joined #nim
07:48:31*astronavt joined #nim
07:49:54*BitPuffin|osx joined #nim
07:53:13*astronavt quit (Ping timeout: 258 seconds)
08:00:19*jjido joined #nim
08:01:57*Ven`` joined #nim
08:16:39*vlad1777d joined #nim
08:23:35*skrylar quit (Ping timeout: 250 seconds)
08:28:02*Ven` joined #nim
08:28:02*Ven`` quit (Read error: Connection reset by peer)
08:30:55*sz0 quit (Quit: Connection closed for inactivity)
08:31:26*Ven` quit (Client Quit)
08:31:57*jjido quit (Ping timeout: 240 seconds)
08:38:35*cspar quit (Ping timeout: 268 seconds)
08:43:06*cspar joined #nim
08:49:15*astronavt joined #nim
08:53:58*astronavt quit (Ping timeout: 252 seconds)
08:57:12*gangstacat quit (Quit: Ĝis!)
08:57:18*Ven`` joined #nim
09:04:01*BitPuffin|osx quit (Ping timeout: 248 seconds)
09:04:02*JappleAck joined #nim
09:08:00Araqalehander42: we have PEGs support in the tester to test for patterns in the produced code
09:31:19*salewski joined #nim
09:31:56salewskivar c: array[-4, int] # seems to compile. Makes it sense?
09:34:52salewskiAnd when we have two different ref types r1 and r2, and we write var x: r1 | r2 coredump results.
09:35:19salewskiWell, I was nearly sure that it would not work.
09:35:29*JappleAck quit (Ping timeout: 248 seconds)
09:38:18Araqno, it doesn't make sense
09:38:52salewskiOK, thanks.
09:39:38*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:43:46salewskiWill create an issue for that. Bye.
09:44:58FromGitter<dom96> > What is the best way to set up an environment to use an editable git checkout of the stdlib? Is there a choosenim mode similar to `nimble develop PKG`? (I've been cheating and just editing the files in ~/.choosenim directly, but I can't make a PR like that)
09:45:23FromGitter<dom96> You can clone the Nim repo yourself and then do `choosenim ~/nim` where `~/nim` is the path to the Nim repo.
09:45:27FromGitter<dom96> You have to build it yourself though
09:45:37*vlad1777d quit (Ping timeout: 248 seconds)
09:45:41FromGitter<dom96> @RedBeard0531 ^
09:47:33FromGitter<dom96> Would be nice to support a ``develop`` command for choosenim too though.
09:47:51gokrdom96: So... choosenim doesn't fly for me on Windows, at least not latest release. Blocked on https://github.com/dom96/choosenim/issues/35
09:48:58*salewski quit (Quit: WeeChat 1.9.1)
09:50:02*astronavt joined #nim
09:50:04FromGitter<dom96> :\
09:50:41FromGitter<tim-st> Another thing I was wondering: Are exceptions cheap in nimlang? in Python and Java they're often used, should I avoid them if possible?
09:52:21*JappleAck joined #nim
09:52:31gokrI tried the older version and that ran fine. But I guess I got a 32 bit Nim then.
09:54:01FromGitter<alehander42> Araq: can you give me an example test file that uses this peg support ? is it a part of the discard output dsl ?
09:54:25FromGitter<dom96> @tim-st that depends on the backend you use AFAIK. The C++ backend uses C++'s native exceptions and is thus very efficient, the C backend not so much.
09:54:56FromGitter<tim-st> @dom96 Thanks!
09:55:02*astronavt quit (Ping timeout: 255 seconds)
09:55:17FromGitter<dom96> Tanger: there is just an SSLError IIRC
09:57:27Araqtests\tmissingvolatile.nim
09:57:35Araqtests\ccgbugs\tmissingvolatile.nim
10:04:50*skrylar joined #nim
10:06:42FromGitter<alehander42> ok, great, I updated the PR with the fixes & new tests
10:07:13FromGitter<alehander42> ugh just a sec
10:08:06FromGitter<alehander42> yeah, now the tests should be fine
10:12:06*dddddd joined #nim
10:22:07*yglukhov joined #nim
10:27:05gokrAraq: https://pasteboard.co/GWb6yqr.png
10:27:44gokrAraq: Some problem with the space in "Program Files" path yaddayadda (spaces in paths will never stop to haunt us).
10:28:34cremShould have used PROGRA~1!
10:32:44*floppydh joined #nim
10:32:57skrylarwhy is this still an issue
10:33:17skrylari mean i get why its an issue for shells, but..
10:34:29FromGitter<tim-st> compiling doesn't work too, from this path...
10:34:53FromGitter<tim-st> at least compiling c files like when using zip from nimble
10:36:19FromGitter<tim-st> I get: "Error: execution of an external program failed:" although I have both nim x64 and mingw x64
10:37:35*Ven`` joined #nim
10:40:34FromGitter<tim-st> Oh, I think it used the gcc from my haskell install will check that again^^
10:42:20*Ven`` quit (Client Quit)
10:43:44FromGitter<mratsim> @tim-st Even with the C backend, it doesn't seem like you pay for exceptions if your code doesn't raise them. At least in my benchmarks (in the numerical/scientific computating domain)
10:45:22FromGitter<mratsim> Furthermore you can use the likely/unlikely hints to tell the compiler that some branches are exceptional and reduce branching cost by a lot.
10:46:03FromGitter<tim-st> @mratsim Thanks, that's good to know for future optimizations.
10:48:00FromGitter<mratsim> What kind of code are you working on?
10:48:47dom96Reminder: Ludum Dare 40 starting in less than 24 hours. The keynote is brilliant https://ldjam.com/events/ludum-dare/40/$49884/welcome-to-ludum-dare-40
10:49:07ftsf=) gonna participate dom96?
10:49:16dom96ftsf: yep!
10:49:19ftsfawesome!
10:49:40dom96ftsf: btw Nico doesn't compile on devel, but I guess you're happy to use 0.17.2?
10:49:50dom96actually, are you even participating? :)
10:49:52ftsfmmm i haven't tested devel lately
10:49:55ftsfyeah I will be =)
10:50:13ftsfi'll test with devel shortly, just fixing some issues with js build
10:50:21dom96cool. I think it's just a case of changing all `0..EnumType.high` to `0..EnumType.high.int`
10:50:29ftsfahh k, easy
10:50:35FromGitter<tim-st> @mratsim I'm working on a nlp system. At the moment I have to integrate ZIM format support after that epub format.
10:50:36FromGitter<mratsim> Advent of Code 2017 is this weekend as well iirc.
10:50:46dom96because Nim is no more strict with that :)
10:51:01*astronavt joined #nim
10:51:06ftsffigure i'll add in some doc comments and generate docs too
10:51:11ftsfabout time
10:51:16FromGitter<mratsim> Zim like Zim wiki?
10:51:21FromGitter<tim-st> yes
10:51:53FromGitter<mratsim> I didn't add RNN support to Arraymancer yet mmmmh.
10:51:54dom96some tips with newer Nim: we've got a new module called lenientops and a way to more easily create array literals without having to write `.int8` or whatever after each literal
10:52:39dom96lenientops introduces operators that should mean you don't have to convert integer types for `+`/`-` etc.
10:52:44dom96So should definitely help for LD :)
10:52:52ftsfahh handy
10:53:25ftsfI did something similar with Nico, everything takes Pint which can be automatically converted
10:53:26dom96and here is the `mapLiterals` macro: https://github.com/nim-lang/Nim/blob/844e123061631d4cc5bc4300301d1865eda5a337/lib/pure/collections/sequtils.nim#L721
10:53:41dom96ahh cool
10:53:54ftsfhandy!
10:54:31ftsfi've started doing arduino stuff lately, anyone tried that using Nim?
10:54:52dom96I've got an Arduino kit gathering dust, I've been meaning to do that :)
10:54:53ftsfI figure the libraries might be an issue.
10:55:40dom96ftsf: how's Vektor 2089 coming along btw?
10:55:42FromGitter<mratsim> @tim-st if you need stuff in Arraymancer to help you on NLP don't hesitate. I plan to add SVD and Tf-idf so we can at least do Latent Semantic Analysis but I wanted to focus on Computer Vision first.
10:55:45*astronavt quit (Ping timeout: 246 seconds)
10:56:07ftsfdom96, hmm i've been a bit quiet with it lately, too many projects. Was doing some work in Unity, but damn I hate it!
10:56:15ftsffeels nice to be back in Nim land
10:56:19dom96ftsf: :)
10:56:27dom96Glad to hear that!
10:58:00ftsfbut i'm writing in too many different languages atm, so it's very confusing
10:58:45*Ven`` joined #nim
11:04:35FromGitter<tim-st> @mratsim Your project sounds very interesting, will definetly have a look at this, where this could help solving problems!
11:11:20skrylari know what tf-idf does but isn't that kinda basic
11:11:25skrylaror does it require fancy tensors now
11:11:28*cspar quit (Ping timeout: 276 seconds)
11:12:47*yglukhov quit (Remote host closed the connection)
11:23:02Araqgokr, thanks for reporting. fixed
11:23:23Araqwow a finish.nim bug, haven't see these in a while
11:24:26Araqworkaround: don't make it find 'curl', it will use bin/nimgrab instead which doesn't have a space
11:25:21*Ven`` quit (Ping timeout: 248 seconds)
11:30:35*claudiuinberlin joined #nim
11:33:04*PMunch_ joined #nim
11:34:05*PMunch quit (Ping timeout: 240 seconds)
11:34:13*Vladar joined #nim
11:44:50*arnetheduck joined #nim
11:45:06*MJCaley joined #nim
11:51:22FromGitter<tim-st> I now reinstalled nim 0.17.2 x64 and also the mingw by finish.exe (both to C:\nim-0.17.2) tried nim -v and gcc -v both work, but building zip library fails with "collect2.exe: error: ld returned 1 exit status"
11:51:46FromGitter<tim-st> Is "gcc version 6.3.0 (x86_64-win32-seh-rev1, Built by MinGW-W64 project)" the correct gcc version for use with nim x64?
11:51:47*astronavt joined #nim
11:52:39Araqzip is not supported on Windows
11:52:50Araqiirc
11:53:03Araqrequires some headers that gcc lacks
11:53:38FromGitter<tim-st> thats some really important lib... :(
11:55:00*MJCaley quit (Quit: MJCaley)
11:56:03*PMunch_ is now known as PMunch
11:56:29Araqhttps://github.com/nim-lang/zip do you use that?
11:56:36FromGitter<tim-st> yes
11:56:59*astronavt quit (Ping timeout: 276 seconds)
11:57:17FromGitter<tim-st> or atleast nimble install zip
11:57:27Araq#include <zlib.h>
11:57:35Araqlook if gcc has it please
11:57:56FromGitter<tim-st> sry I'm not a c programmer don't know where this should locate
11:58:32Araq--define:useLibzipSrc
11:58:40Araqpass that to your build
11:59:31FromGitter<tim-st> If I pass it to the command line, same error
11:59:59Araqcan you build other Nim programs?
12:00:12FromGitter<tim-st> sure, everything worked, unless zip
12:00:29Araqshow me the full error please
12:02:59FromGitter<tim-st> ``````
12:03:20FromGitter<tim-st> dunno how to format
12:03:57FromGitter<tim-st> just insert?
12:04:11Araqgist it
12:05:30FromGitter<tim-st> hope that's ok: https://pastebin.com/rD6t6Vfu
12:07:34Araq--passL:"-lz" # try that
12:08:36FromGitter<tim-st> c:\Projekt>nim c -r zim.nim --passL:"-lz" # yields same error
12:10:10Araqthat's not how the command line works
12:10:29FromGitter<tim-st> than how does it work?
12:10:35Araqnim c -r --passL:"-lz" zim.nim
12:11:35FromGitter<tim-st> works, thanks!
12:20:16FromGitter<alehander42> Araq: fixing my tests to use ccodecheck was a bit confusing until I realized I should escape `\d` to work
12:20:25FromGitter<alehander42> maybe we should document the tester dsl a bit somewhere
12:20:53Araqit is documented
12:21:13FromGitter<alehander42> where ?
12:21:15Araqbut I don't know where I don't read our docs, I know everything
12:21:24FromGitter<alehander42> haha nice
12:26:50*marenz_ joined #nim
12:29:00*xkapastel quit (Quit: Connection closed for inactivity)
12:32:30*Snircle joined #nim
12:34:38gokrAraq: Trying to build a little thing on Win10 - using libui and your wrapper etc. But... it fails on finding commctrl.h
12:35:05gokrAraq: Perhaps it's a 32 bit header, have you used libui in 64 bits?
12:36:42Araqnot sure, I had to test 8 different combinations
12:36:54Araqmsvc, gcc, 32 vs 64 builds, debug vs release
12:37:44gokrI find commctrl.h deep down in mingw, but... it looks like some kind of 32 bit directory
12:52:35*astronavt joined #nim
12:56:37*fvs joined #nim
12:57:12*astronavt quit (Ping timeout: 246 seconds)
12:58:32fvshi, are these any nim headers/bindings for liblzma (xz)? Thought I'd ask before ...
13:04:54*sagax joined #nim
13:05:04sagaxhi all!
13:06:45sagaxis the language used in production?
13:10:30PMunchsagax, yes
13:11:35sagaxcool!
13:12:03PMunchsagax, example: https://yglukhov.github.io/Making-ReelValley-Overview/
13:12:20PMunchThat's the biggest released project in pure Nim I know about
13:14:25PMunchIt is also used for tooling by Beamdog (the developer behind Baldurs Gate and Neverwinter Nights)
13:16:56sagaxthanks, nim very interesting for me
13:18:15cremIsn't nim compiler written in pure nim? Or RealValley is bigger than nim compiler?
13:18:33*skoude quit (Ping timeout: 246 seconds)
13:19:50*noonien joined #nim
13:20:55FromGitter<mratsim> @skrylar yes TfIdf is super basic, it's just a fancy name for counting occurrences and Frequency of words or n-grams. You still need to convert that to (sparse?) tensor dimensions say a 100 x 50000 tensors if you have 100 sentences with 50000 words vocabulary
13:21:51skrylarmratsim: why would you need a huge tensor if its just the frequency in one chunk vs total frequency
13:22:02skrylarwouldn't that be a simple bayesian update and some elementary statistics
13:23:13*vivus joined #nim
13:23:24FromGitter<mratsim> The count is useful as well, then you usually do a SVD after to capture variance.
13:24:10FromGitter<mratsim> Normally you use sparse Tensors to avoid memory explosion.
13:25:20dom96crem: saying the Nim compiler is in production isn't as exciting :)
13:25:49dom96Although there are many projects in production. Depends how you define "in production" of course, but for example: Nimble, NimForum, choosenim, NimBot etc
13:27:13cremWhen I looked into haskell, they said they had their language was used for serious projects, like haskell compiler or web server for haskell.org.
13:27:41skrylarthere is an oddity in that people who use productive systems don't like to tell people about it
13:28:00skrylarnobody hides using shitty things like C++ but the delphi users don't like to talk about it
13:28:12FromGitter<mratsim> I know that Haskell is used/was used in Credit Suisse and CERN, I attended a Haskell Meetup at CERN when I was living in Geneva.
13:28:49cremAs for nim, I think it's perfect for a lone programmer, but I'm not so sure for teams.
13:29:47skrylari could go on an entire rant about that mentality
13:29:50dom96Nim is developed by a team, seems to be working well so far.
13:30:51skrylarNaughty Dog found they had multiple versions of loop macros. Big whoop. You get copy/paste code all the time in C/C++ and they hold it against the coders not the language. But when you start letting the lisp in, people blame the language. It's a vigilance issue, which is a people issue, not the tool's.
13:31:11cremTeam of Araq? :) And also maybe you. But I never tried, so that's my guess.
13:31:18skrylarnim has unhygenic macros so everyone is going to moan
13:31:43FromGitter<mratsim> If people manage to work on JS and CSS in teams any language which is not J/K/brainfuck can be used ;).
13:32:04skrylarfun fact: you can make herald rules in phabricator to issue blocking reviews on any code that does weird shit like 'macro's :)
13:32:09dom96crem: Do all these people not count? https://github.com/nim-lang/Nim/graphs/contributors
13:32:33cremThey have pretty flat graphs. :)
13:32:45skrylardom96, i'm fairly certain he means where you have ex. a ten coder team, not a repo with two gatekeepers
13:32:57*couven92 joined #nim
13:33:32FromGitter<mratsim> Excel also has unhygienic macros :p. (And also unhygienic versioning.... And that's worse)
13:33:51Araqhuh? macros are bad again?
13:34:01skrylarAraq, no but people whine that languages with them are bad
13:34:05FromGitter<mratsim> No they are not.
13:34:11skrylarif only because its easier to recognize macros than copypaste code
13:34:35skrylarcopypaste code is also bad but unless you hook up phash to your AST (and nobody does) you don't really "see" it
13:35:28FromGitter<mratsim> Boilerplate BuilderFactoryFactoryVisitor is much worse than macros ....
13:35:50skrylarmratsim: but you can end up with multiple copies of the same thing, which is bad
13:35:56skrylarwhich is why i call it a vigilance issue
13:37:19skrylarI will admit that there are some silly bits we could use linters for, but .. bleh
13:37:35skrylarlike the md5 module uses cstrings, but the sha1 module ("secure" hash, lols) uses strings
13:37:42Araq.async produces pretty horrible asm code, I'm sure
13:37:59Araqbut I don't blame the macro system for that
13:38:19gokrdom96: I am restructuring spry to be "nimble compliant". May ask for some advice
13:38:38dom96sure
13:38:49gokrdom96: Among other things, it seems perhaps I should split it into "spryvm" (a separate nimble package) and "spry" (the binaries)
13:38:56skrylarAraq, nobody did. clem just said nim didn't "seem good for teams" and since there's no reason for it *other* than macros, to which there is already lisp literature on people macro bashing with semi-valid reasons, that's why
13:39:08skrylaradmittedly the shared library situation is also weird
13:39:10gokrdom96: But I gotta run, back in 40 or so
13:39:19skrylarbut shared libs are broken as hell in FPC and Delphi as well, so
13:39:51Araq"other" than macros? they enable everything of Nim's infrastructure
13:40:14skrylarAraq, stop misreading everything
13:40:21Araqarraymancer, karax, ormin, jester, ...
13:40:51Araqit's like saying "there is no reason to use Ada other than the strict type system that makes it used for embedded tiny devices"
13:41:04skrylardidn't say anything even close to that
13:41:22skrylarnone of the features that aren't macros have any reason they would be bad "in a team of coders"
13:41:53skrylarmacros only do because people don't actually coordinate and just write them on their own and programs end up with 12 versions of (loop)
13:42:00Araqsorry, I thought crem did, but I misunderstood
13:42:10skrylarhe didn't say why nim was unsuitable
13:42:56skrylarbut in every case i've seen an unhygenic macro system in a language, i've seen that claim tossed around
13:43:26AraqNim's macro system is hygienic unless you opt-in to make it unhygenic
13:43:29*gokr quit (Ping timeout: 248 seconds)
13:43:37skrylarstill counts
13:43:48skrylarpeople are only happy when you duct tape them to their own faces
13:44:09Araqwhat's wrong with 12 versions of "loop" anyway? every C++ game engine implement its own vectors
13:44:23skrylarthose loops were in the same program
13:44:32skrylarbecause 12 different developers made their own within the same codebase
13:44:52Araqso? the different C++ engines cannot be used together, seems worse
13:45:03FromGitter<mratsim> Well basically people wants the language to enforce discipline that the lead dev ought to enforce.
13:45:08skrylarits understandable that you have 12 versions of String because imported libraries have their own
13:45:28skrylarit's silly when notepad has 12 versions of String because AraqString and SkrylarString are in separate parts of the same nim file
13:45:53Araqsilly maybe, but hardly uncommon for languages which have no macro system.
13:46:02skrylari said that too :b
13:46:14*skrylar points at the 'but its harder to recognize copy/paste code so people dont blame it'
13:46:19AraqI bet in any real large C app there are multiple hash table implementations
13:46:31Araqnot too mention linked lists
13:46:45skrylarit would be interesting to see if one could use perceptual hashes on ASTs to spot copypasta though
13:46:56skrylaror candidates for lifting in to procs
13:47:28Araqevery software system is a reflection of the organization.
13:47:48FromGitter<mratsim> I think Skrylar point is that due to macros people will have a negative a priori for collaboration.
13:47:59skrylaras i mentioned, if you use phabricator you can set rules like "if i see 'macro' in a nim file, require 2 reviewers to sign off"
13:48:19skrylarIt's harder to do the same for people copying and pasting random code like they would otherwise
13:48:31Araqwell I dunno.
13:48:52AraqI have never heard the argument "macros are bad because 12 different loop macros were written"
13:49:08Araqit's a downright bizzare way of thinking.
13:49:15skrylaragain its not that they existed, its that every developer had their own
13:49:33skrylarwhich meant that, in the same program, a new developer had to learn 12 loops which could have just been 1 loop
13:49:49skrylarthere was no 'good' reason for the 12, like 'we inherited them from the OS'
13:49:57FromGitter<alehander42> skrylar: I actually worked on a concept of a tool that detects similar python ast-s candidate for DRY-ing, that kind of stuff can be done for macros etc (there was a nice paper by ira baxter for ast clone search)
13:50:06Araqreally? as opposed to 12 different string splits?
13:50:28skrylaralehandler42: would just do it on all the code :)
13:50:48Araqstring splits are bad because strutils has more than one and I have to learn them all...
13:51:08skrylarAraq, do the splits serve a functional purpose
13:51:12FromGitter<alehander42> skrylar: ofc, just saying it's very doable :D
13:51:25skrylaralehandler42: sure. but i don't kknow how phash actually works ^^;
13:53:20skrylaralthough i guess the same logic behind paragraph vectors would also work for ast's
13:53:23*astronavt joined #nim
13:58:02*astronavt quit (Ping timeout: 255 seconds)
14:03:11*dddddd quit (Ping timeout: 240 seconds)
14:04:22Araqwell here you go, Nim is better than Python and C for large scale developments because it enforces sane file names: https://forum.nim-lang.org/t/1541
14:05:42*dddddd joined #nim
14:06:56FromGitter<mratsim> Relevant: https://news.ycombinator.com/item?id=2451722 Expressiveness of Lisp makes it hard for adoption (vs this is a social issue and not a language issue).
14:08:00*endragor quit (Remote host closed the connection)
14:10:09*nsf quit (Quit: WeeChat 1.9.1)
14:10:35Araqthat's just somebody's opinion.
14:10:57Araqin my opinion Lisp fails because of its hostile syntax and dynamisms
14:11:34Araqand it's not even failing all that much, Clojure is quite successful
14:11:42*endragor joined #nim
14:13:20skrylarmratsim: the lack of compilers makes lisp a dead option :P
14:13:33skrylari mean i would have just stayed with that or smalltalk if i could still get tiny fast binaries
14:14:15*chemist69 quit (Ping timeout: 258 seconds)
14:14:34PMunchMmmmm, Clojure
14:14:38*chemist69 joined #nim
14:15:51*endragor quit (Ping timeout: 240 seconds)
14:16:53FromGitter<mratsim> The real paradox is using Electron-based text editors to build tiny and fast binaries ;).
14:18:12FromGitter<mratsim> I don't know lisp or clojure, I can't get my head around the syntax, I'd rather learn Rust :P
14:19:08skrylarwell i don't do that
14:19:14FromGitter<mratsim> (or in-depth Haskell category theory)
14:19:15skrylari use RMS' operating system :)
14:20:09skrylarnot that araq needs it, or probably most anyone here, but "the craft of text editing" is amusingly mostly reverse engineered from emacs with some tips on how others did it
14:20:37vivusdoes cheatfate still come on IRC?
14:21:08Araqvivus, no. why?
14:25:50vivusAraq: wanted to use 1 of his libs and pester him with questions :P
14:32:59*arnetheduck quit (Ping timeout: 276 seconds)
14:33:27*d10n-work joined #nim
14:38:12subsetparkskrylar, there are some very nice compiled lisps
14:38:52enthus1astsubsetpark: this one? https://upload.wikimedia.org/wikipedia/commons/5/53/Symbolics3640_Modified.JPG
14:39:41subsetparknot exactly...
14:41:37*floppydh quit (Quit: WeeChat 1.9.1)
14:43:51*couven92 quit (Quit: Client disconnecting)
14:51:47*xet7 joined #nim
14:54:01*astronavt joined #nim
14:54:27*gokr joined #nim
14:56:09avsejis it possible to start process and read from its streams asynchronously?
14:57:02dom96avsej: using this package it should be https://github.com/cheatfate/asynctools
14:58:39*astronavt quit (Ping timeout: 246 seconds)
15:00:22avsejthanks
15:01:36*Jesin joined #nim
15:02:56*skrylar quit (Quit: Leaving)
15:05:01*nhywyll joined #nim
15:05:26*couven92 joined #nim
15:06:09*PMunch quit (Quit: Leaving)
15:06:21FromGitter<alehander42> Ok, now my js async PR https://github.com/nim-lang/Nim/pull/6841 uses only macros(and I tried to use macro helpers for more readable code) ⏎ now, is there more stuff needed in this PR? and where should we include asyncjs ?
15:12:31FromGitter<zetashift> How do I use parseInt on a char instead of a string?
15:12:50miranzetashift - advent of code?
15:13:19FromGitter<zetashift> yea
15:13:21miranzetashift - int(char) - int('0')
15:13:23dom96Convert to string and then parseInt?
15:13:47mirani'm glad to hear i'm not the only one solving AoC in nim
15:13:57FromGitter<alehander42> c.ord - '0'.ord
15:14:26enthus1astalehander42 this is so cool can't wait to try it!
15:14:40FromGitter<zetashift> yea at first i converted to string but it's in a loop so I thought that would be really inefficient
15:14:43dom96Since Ludum Dare hasn't started perhaps I should have a go at it :)
15:14:52FromGitter<zetashift> why do I do the - int('0')?
15:15:37FromGitter<alehander42> enthus1ast: yeah, I am using it in a fork of mine since a long time and it's been pricesless for my nim->js code
15:16:41miranzetashift: because it doesn't work as in python, where you could do only int(char)
15:16:44FromGitter<alehander42> zetashift: int(c) returns the ascii code
15:17:07miranyou could also do int('a'), iirc
15:19:02FromGitter<zetashift> ah alright
15:20:04*nsf joined #nim
15:21:34*miran quit (Quit: Page closed)
15:21:54*Ven`` joined #nim
15:23:28FromGitter<zetashift> sweet
15:23:30FromGitter<zetashift> I got it
15:23:43FromGitter<zetashift> Part 1 that is
15:25:27FromGitter<zetashift> Part 2 was easier than I thought
15:31:32FromGitter<zetashift> @miran1 just saw your solution on reddit, nice! It's cleaner than mine
15:39:40*nhywyll is now known as natrys
15:48:00*vivus quit (Quit: Leaving)
15:48:14*natrys quit (Quit: natrys)
15:48:22dom96where is miran1's post?
15:48:31*nhywyll joined #nim
15:49:26cremSo, currently every time I do {.base.} I also have to add {.gcsafe.}, otherwise I'll get warning?
15:49:42*nhywyll quit (Client Quit)
15:50:00dom96Anyway, here is my solution. A little overcomplicated but I'm keeping it :) https://github.com/dom96/adventofcode/blob/master/day1.nim
15:50:31*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:50:32*natrys joined #nim
15:51:25dom96oh, didn't notice the part 2
15:54:24FromGitter<zetashift> That was my first solution too, making a circular type but I kinda got stuck on how to implement it
15:54:51*astronavt joined #nim
15:58:13dom96yeah, took me some fiddling to figure out the index calculation
15:58:19gokrAraq: Sorry Araq, you guys ended up in our group - so we will just have to knock you out. Ehrm.
15:58:37dom96gokr: wut?
15:58:51gokrWorld Cup lottery for groups.
15:59:16gokrGermany, Sweden, South Korea and Mexico in one group. Hum.
15:59:33FromGitter<alehander42> I like to practice code golf on aoc, so I am vert proud of writing the first two puzzles in a nim oneliner :D
15:59:35FromGitter<alehander42> https://gist.github.com/alehander42/e2a48d2516938c65694c6544218a5db0
15:59:40*astronavt quit (Ping timeout: 258 seconds)
16:00:31*miran joined #nim
16:01:00FromGitter<zetashift> thats amazing lol
16:01:24dom96wow
16:02:01Araqgokr, for some reason I doubt it
16:02:10FromGitter<alehander42> ger swe mexico holy shit
16:02:25subsetparkThat's great
16:02:32gokrAraq: Hehe, I was ... you know... kidding. Like laughing in the pending doom.
16:02:52miran"where is miran1's post?" -> https://www.reddit.com/r/adventofcode/comments/7gsrc2/2017_day_1_solutions/dqli00o/
16:02:56dom96This is really cool. This person will use Nim as well: https://www.reddit.com/r/adventofcode/comments/7gu2ze/2017_25_more_languages_polyglot_aoc2017_a/
16:03:00AraqI know. but even if you do, I don't mind
16:03:19Araqwe've won enough things in recent times
16:03:55FromGitter<alehander42> russia saudi arabia egypt uruguay , this is group of death indeed
16:04:03dom96heh, I knew my intuition was right about 'mod'
16:04:27dom96Gotta upvote that Nim past Rust :D
16:04:46miranyeah, upvote nim for visibility
16:05:08mirani'm sure there will be new nim users, after couple of ellegant nim solutions in following days
16:07:11miranalehander42: if you like functional style and significat whitespace - take a look at F#
16:07:39mirani was experimenting with it before i discovered nim
16:07:58*Ven`` joined #nim
16:08:05AraqF# --- does it have a macro system these days?
16:08:18Araqwhen I looked at it, it didn't
16:09:28miranAraq: i have no idea, didn't go that far with F# (well, i don't use macros in nim either, not experienced enoguh yet)
16:09:30FromGitter<alehander42> miran: I am trying to improve some functional style patterns in Nim too (but F# is on my list indeed, I've worked more with Haskell, Clojure from the functional ones)
16:10:02*Ven`` quit (Client Quit)
16:10:15miranalehander42: i tried F# after only working in python and i fell in love. such an underrated language, imho
16:11:00Araqit's from the company who did evil ten years ago, not from the cool companies who are evil today
16:11:48miranit's from the same cool/evil company who gave us vscode, which majority of nimmers use, from what can i tell
16:12:47miranAraq: who are today's evil companies?
16:13:42*vivus joined #nim
16:14:27FromGitter<mratsim> GAFA: Google Amazon Facebook Apple: you can probably add Uber at the top and Netflix at the bottom now ;).
16:15:00miranA NU FAG
16:15:14*federico3 left #nim ("WeeChat 1.9")
16:15:28*Ven`` joined #nim
16:15:59FromGitter<mratsim> @alehander42 lovely solutions, reminds me of Project Euler code :p.
16:17:07*Ven`` quit (Client Quit)
16:20:16FromGitter<alehander42> @mratsim I can't forgive myself that one of my variables is >1 letter long
16:20:48FromGitter<mratsim> ....
16:27:17subsetparkaw man, is Netflix evil too now?
16:28:09FromGitter<zacharycarter> Netflix is evil for using Java
16:28:30FromGitter<krux02> Netflix is evil, but not for using Java
16:28:42FromGitter<zacharycarter> and then convincing people at my company that we should use more Java and Netflix projects
16:29:38FromGitter<zacharycarter> :P j/k of course
16:29:43*gokr quit (Ping timeout: 268 seconds)
16:29:51FromGitter<zacharycarter> I just really don't like Java
16:31:48FromGitter<alehander42> now imagine how evil are Google with Go
16:32:51*cspar joined #nim
16:34:03FromGitter<Varriount> Eh, at least Go doesn't have 20 layers of abstraction.
16:35:52*sz0 joined #nim
16:35:56FromGitter<zacharycarter> +1
16:37:04FromGitter<alehander42> meh, that's more on java users and ecosystem, not the language
16:37:51FromGitter<zacharycarter> OOP lends itself well to over abstraction, and Java makes it difficult to not write OOP code
16:38:39FromGitter<alehander42> then why java is so famous for this 'over-abstraction' thing when there are many mainstream oop langs?
16:40:43FromGitter<zacharycarter> I think OOP languages are fine, I think Java takes OOP to the extreme and makes it difficult to write any other style of code other than OO code
16:41:22FromGitter<zacharycarter> and there are better OOP languages out there IMO, even on the JVM
16:41:33FromGitter<Veladus> Yeah for sure
16:42:13FromGitter<barcharcraz> C++ has the over abstraction problem as well, maybe more
16:42:26FromGitter<barcharcraz> At least for many libraries
16:42:41FromGitter<barcharcraz> CGAL comes to mind
16:43:51FromGitter<barcharcraz> Trying to make algorithms generic over data structures and not just over different sized types
16:45:04FromGitter<alehander42> I agree, my theory is that people learned to write saner OOP and Java was the first very mainstream oop lang, so it got more of the "worse oop"
16:45:20FromGitter<barcharcraz> Yeah
16:45:27FromGitter<alehander42> notice, "very mainstream kinda oop", smalltalkers
16:45:44FromGitter<barcharcraz> Cuz like c# is almost identical to java
16:45:57FromGitter<barcharcraz> And has nicer oop traditions
16:50:29FromGitter<barcharcraz> Idk my problem with oop is that it obscures the abi of your code
16:51:14FromGitter<Veladus> but do you realy need to worry about your abi, isn't your api more important?
16:53:13FromGitter<barcharcraz> If you want to write code that can be called from other languages then yes
16:53:36FromGitter<barcharcraz> Also if you ever want to allow for shared libs
16:53:59*cspar quit (Ping timeout: 255 seconds)
16:54:10FromGitter<Veladus> Okay, thats a point
16:55:36FromGitter<barcharcraz> Speaking of which, someone should write a macro to take a nim module and generate C headers for it
16:55:47*astronavt joined #nim
16:56:04FromGitter<barcharcraz> And maybe a stand-alone nim header with importc instead of the implementation
16:57:16FromGitter<barcharcraz> Also a —dynlibOverride:*
16:57:25FromGitter<barcharcraz> That was a star
16:57:31FromGitter<barcharcraz> Before it was an emoji
17:00:11*astronavt quit (Ping timeout: 240 seconds)
17:05:37FromGitter<barcharcraz> Oh! Is there a way to get distrotiols to generate a system layout in a different prefix? Or do we just have to chroot
17:05:52FromGitter<barcharcraz> Or fakechroot
17:14:42mirandom96: you tweeted about AoC?
17:15:29miransearh with whitespaces (advent of code language:Nim) might yield more results, both now and in the future
17:20:17natryshi miran, fancy seeing you here
17:20:29natrysI kept up with you for a bit in the warming up thread
17:20:39miranhey natrys
17:21:50natryscouldn't wake up this morning in time for AoC, maybe tomorrow
17:25:46*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
17:27:16mirannatrys: i thought today i might have a good chance to get on the leaderboard, but i was too clumsy
17:27:31miranprobably because of waking up before 6 am
17:29:05miranseeing you here means you'll use nim for this year, or you would be multilingual just as in warm up?
17:31:32FromGitter<dom96> miran: I tried that, it doesn't pick up my repo. So it's a trade-off :)
17:32:04miranheh, this way it doesn't pick mine :D :D
17:32:35miranadvent language:Nim
17:32:48miranthis shows us both :)
17:34:38natrysmiran: tbh being multilingual doesn't feel fun, it's mostly all about looking up API and stuffs which is painful
17:34:52natryswill probably stick with Perl6 and Nim
17:56:31*astronavt joined #nim
18:01:13*astronavt quit (Ping timeout: 252 seconds)
18:12:41*Sentreen quit (Ping timeout: 258 seconds)
18:12:53*claudiuinberlin joined #nim
18:15:27*marenz_ quit (Ping timeout: 248 seconds)
18:15:37FromGitter<RedBeard0531> Is there a way to make `assert` kill the process immediately rather than throw an exception? It is making async programs harder to debug because they catch all exceptions until someone picks up the Future. Sometimes the assertion is about something that causes the consumer to hang forever, so there is never any output.
18:17:30*rbrt joined #nim
18:25:31*Sentreen joined #nim
18:26:20*georgeg[m] joined #nim
18:27:18georgeg[m]I tried to {.borrow.} from miran's and doms solutions, but it doesn't compile: https://gist.github.com/konqoro/13eb052f664250ef94c6c566192bf7cd
18:27:29*MonsterAbyss is now known as Abyss
18:28:00*Abyss is now known as Guest90897
18:28:11*Guest90897 is now known as MosterAbyss
18:36:49*salewski joined #nim
18:38:05salewskiHave you ever tried using procs with more than one generic parameter?
18:38:17salewskiI did not get it working, see https://forum.nim-lang.org/t/3389
18:40:29mirangeorgeg[m]: i get "error: 'result' is a pointer; did you mean to use '->'?" - i have no experience with pointers, so i cannot help you, sorry
18:41:14enthus1astoh man useing nim with shared objects is burnouting.....
18:43:50*skoude joined #nim
18:45:02georgeg[m]miran: yes looks like a bug in codegen
18:49:08*arecaceae quit (Remote host closed the connection)
18:49:27*arecaceae joined #nim
18:57:17*astronavt joined #nim
19:00:48salewskiOh, maybe it will work, seems I used different range types for box and tree, sorry...
19:02:14*astronavt quit (Ping timeout: 255 seconds)
19:02:24*natrys quit (Ping timeout: 248 seconds)
19:06:16georgeg[m]I usually start with concrete types then try generics
19:06:53georgeg[m]but your code is full of T, M, N so maybe it wasn't feasible
19:06:58*kunev quit (Ping timeout: 268 seconds)
19:09:39*kunev joined #nim
19:14:34*vivus quit (Quit: Leaving)
19:15:28salewskiI got search() proc to compile when using static[int] for dimension of bounding box. Great.
19:16:13salewski(With static[Natural] it seems not to work, but that is no real problem...)
19:22:12*natrys joined #nim
19:31:14*fvs left #nim ("ERC (IRC client for Emacs 25.3.1)")
19:32:02*natrys quit (Quit: natrys)
19:36:40*jjido joined #nim
19:58:05*astronavt joined #nim
20:01:35*skoude quit (Ping timeout: 248 seconds)
20:02:46*astronavt quit (Ping timeout: 252 seconds)
20:07:59*jjido quit (Read error: No route to host)
20:08:10*JStoker quit (Ping timeout: 264 seconds)
20:08:22*natrys joined #nim
20:10:41*JStoker joined #nim
20:12:36*skoude joined #nim
20:14:39FromGitter<barcharcraz> is it possible to use the same file as both a config.nims and a project.nimble file?
20:14:56*nsf quit (Quit: WeeChat 1.9.1)
20:15:47cremIs it possible for nimlime to specify directory for building? I press Ctrl+B to build current file (to check syntax) and it generates binary file nearby.
20:16:21dom96barcharcraz: why do you want both?
20:16:35FromGitter<barcharcraz> because I don't want to require nimble
20:17:11FromGitter<barcharcraz> and I want the command line options to be picked up when testing various tools
20:27:43*gokr joined #nim
20:47:30*JappleAck quit (Quit: Leaving)
20:49:06*acidx_ is now known as acidx
20:49:56*acidx is now known as Guest96151
20:52:05*cspar joined #nim
20:52:23*xkapastel joined #nim
20:52:47*Jesin quit (Quit: Leaving)
20:54:24salewskiI don't get it to compile when I uncomment the commented lines in search() proc:
20:54:28salewskihttp://ssalewski.de/tmp/rtree.nim
20:54:45salewskiMay closures not work with generics?
20:54:53*miran quit (Ping timeout: 268 seconds)
20:55:14salewskirtree.nim(21, 3) Error: cannot instantiate: 'H'
20:56:09salewskiThat error message does not really help. And nim check gives many errors...
20:58:02*Guest96151 is now known as acidx
20:58:47*astronavt joined #nim
20:59:24*couven92 quit (Quit: Client disconnecting)
21:03:28*vlad1777d joined #nim
21:03:44*astronavt quit (Ping timeout: 255 seconds)
21:09:00*endragor joined #nim
21:13:37*endragor quit (Ping timeout: 248 seconds)
21:44:17*rbrt quit (Quit: Oíche mhaith)
21:47:45*jjido joined #nim
21:59:34*astronavt joined #nim
22:04:56*astronavt quit (Ping timeout: 255 seconds)
22:10:20*gangstacat joined #nim
22:10:40*jjido quit (Read error: No route to host)
22:11:03*jjido joined #nim
22:14:41*skoude quit (Ping timeout: 240 seconds)
22:19:57*skoude joined #nim
22:20:21*gokr quit (Ping timeout: 260 seconds)
22:24:11*skoude quit (Ping timeout: 240 seconds)
22:28:01*couven92 joined #nim
22:29:39FromGitter<nitely> salewski: I think this is what you want: https://play.nim-lang.org/?gist=3f24206235dfd31f65091bbb5ce46c4d
22:30:01*natrys quit (Quit: natrys)
22:30:02FromGitter<nitely> but I think it hits this error: https://github.com/nim-lang/Nim/issues/6522
22:31:06FromGitter<nitely> unsure though
22:37:51*Ven`` joined #nim
22:37:51*Trustable joined #nim
22:43:31salewskinitely thanks. I have fixed some errors myself already.
22:44:21salewskiUnfortunately now I get a seg fault when compiling. I have to ask Araq, because I think it should not happen.
22:50:24Araqlol generics and closures are everywhere
22:50:35Araqwhat's still somewhat unstable is static[T]
22:51:16salewskihttps://github.com/nim-lang/Nim/issues/6859
22:51:51salewskiYes this is really hard work for the compiler.
22:55:56salewskiLeaf[M, D, RT, LT](n) seems to work.
22:56:40salewskiMaybe the problem is, that Node creates an array with only 3 generic parameters?
22:57:03salewskiI can see no other differences between Leaf and Node.
23:00:37salewskiMaybe I should use object variants instead of inheritance for Leaf and Node,
23:00:41*astronavt joined #nim
23:01:03salewskimaybe that would avoid the crash. Will test tommorow.
23:04:33Araq N[D: Dim; RT] = tuple[b: Box[D, RT]; n: N[D, RT]] # requires an infinite amount of memory
23:05:11*astronavt quit (Ping timeout: 240 seconds)
23:05:18salewskiOh.
23:05:48Araqjust throw away this code, once it compiles, nobody can maintain it
23:07:24salewskiBut we want to have a generic RTree! At least dimension should be generic.
23:07:37Araqso put into a template
23:14:32*rbrt joined #nim
23:20:06*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
23:21:32*couven92 quit (Quit: Bye)
23:21:41*Ven`` quit (Ping timeout: 240 seconds)
23:24:36*couven92 joined #nim
23:32:31*Trustable quit (Remote host closed the connection)
23:34:19*salewski quit (Quit: WeeChat 1.9.1)
23:35:13*vlad1777d quit (Remote host closed the connection)
23:36:23*vlad1777d joined #nim
23:39:11*jjido quit (Ping timeout: 240 seconds)
23:40:48*marenz_ joined #nim