00:06:51 | * | cspar_ quit (Read error: Connection reset by peer) |
00:07:17 | * | cspar_ joined #nim |
00:07:47 | * | yglukhov joined #nim |
00:09:13 | * | endragor joined #nim |
00:12:21 | * | yglukhov quit (Ping timeout: 256 seconds) |
00:13:51 | * | endragor quit (Ping timeout: 248 seconds) |
00:29:29 | * | MJCaley quit (Quit: MJCaley) |
00:41:34 | * | MJCaley joined #nim |
00:56:57 | * | MJCaley quit (Quit: MJCaley) |
00:57:57 | * | MJCaley joined #nim |
00:58:33 | radagast | Why not just ditch concepts for post 1.0? |
01:00:27 | * | devdri quit () |
01:40:47 | * | Snircle joined #nim |
02:11:02 | * | vivus quit (Quit: Leaving) |
02:15:53 | * | chemist69 joined #nim |
02:19:17 | * | chemist69_ quit (Ping timeout: 256 seconds) |
02:38:37 | skrylar | they probably think they are important |
02:39:44 | * | Trustable_2 joined #nim |
02:40:00 | * | Trustable quit (Ping timeout: 256 seconds) |
02:41:00 | * | skrylar quit (Remote host closed the connection) |
02:44:52 | * | endragor joined #nim |
02:45:05 | * | Trustable_2 quit (Remote host closed the connection) |
02:48:30 | * | vlad1777d quit (Remote host closed the connection) |
02:49:50 | * | subsetpark quit (Read error: Connection reset by peer) |
02:50:00 | * | vlad1777d joined #nim |
03:00:13 | * | subsetpark joined #nim |
03:12:00 | * | endragor quit (Remote host closed the connection) |
03:17:18 | * | rockcavera joined #nim |
03:38:12 | FromGitter | <honewatson> Concepts are working well for me. Why should they be ditched? |
03:40:58 | * | radagast quit (Quit: radagast) |
03:44:21 | FromGitter | <Varriount> And once the vtptr and vtref features are introduced, they'll become even better. :D |
03:44:57 | FromGitter | <Varriount> No more creating vtables by hand. :D |
03:48:19 | * | vlad1777d quit (Ping timeout: 268 seconds) |
04:04:23 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
04:12:50 | * | sz0 joined #nim |
04:41:51 | * | Cthalupa quit (Ping timeout: 246 seconds) |
04:43:56 | * | Cthalupa joined #nim |
05:30:15 | * | rauss joined #nim |
05:33:10 | * | dddddd quit (Remote host closed the connection) |
05:38:25 | FromGitter | <zacharycarter> @mratsim are you around by any chance? |
05:52:43 | * | tinAndi joined #nim |
05:59:57 | * | tinAndi quit (Ping timeout: 240 seconds) |
06:01:52 | FromGitter | <mratsim> Sleeping (UTC +1 ;) ) |
06:02:48 | FromGitter | <mratsim> @zacharycarter ask away |
06:14:27 | * | earenndil quit (Quit: ZNC 1.6.3+deb1 - http://znc.in) |
06:26:45 | FromGitter | <zacharycarter> @mratsim my bad, I'm trying to think of some ML examples to demo for a hackaton, I have lots of potential data at my disposal but of course it'd need to be ETL'd from various sources so I plan on making dummy data sets, or worse case, working with example data sets to demonstrate an idea |
06:27:25 | FromGitter | <mratsim> Use datasets from kaggle.com |
06:27:55 | FromGitter | <zacharycarter> oh nice, thank you |
06:28:01 | FromGitter | <mratsim> There are sports to election to city traffic to photos of the Amazon Forest to financial data |
06:28:20 | FromGitter | <zacharycarter> awesome |
06:28:22 | FromGitter | <mratsim> And you have the approach people took and data visualization |
06:29:21 | FromGitter | <zacharycarter> alright - I'm not sure exactly what problem I'm going to solve yet, but I'm leaning towards some type of recommendation algorithm |
06:29:33 | FromGitter | <zacharycarter> we have a lot of dealer data, and a lot of vehicle data |
06:29:37 | FromGitter | <mratsim> https://www.kaggle.com/datasets |
06:30:15 | FromGitter | <mratsim> Is your company selling cars? |
06:30:50 | FromGitter | <zacharycarter> have you ever heard of carfax? |
06:30:57 | FromGitter | <mratsim> You can predict stocks needed/popularity |
06:31:18 | FromGitter | <zacharycarter> I may have to just try to manufacture a lot of data |
06:31:23 | FromGitter | <zacharycarter> but then again manufacturing realistic data is hard |
06:32:19 | FromGitter | <mratsim> Recommendation, I'm not sure it makes sense from a sales point of view because unlike Amazon there is no impulse buy of cars, it's costly, time consuming and you buy once per 5 years at most. |
06:32:35 | FromGitter | <zacharycarter> well maybe I'm thinking of the wrong thing then |
06:32:41 | FromGitter | <zacharycarter> here's what I want to do essentially |
06:33:49 | FromGitter | <zacharycarter> let's say I have a set of data describing a bunch of car dealerships, describing their geolocation, car buying preferences, inventory, ratings from google, etc... |
06:35:06 | FromGitter | <zacharycarter> and then I have data about consumers - perhaps their vin number, or at least their year make and model, history about their vehicle, etc... |
06:36:15 | FromGitter | <mratsim> I see |
06:37:24 | FromGitter | <zacharycarter> I don't even know if ML is the right approach here - but what I want to try to do is build some sort of system that when a consumer is supplying us with information about their vehicle, finding dealerships that would match up well with them, based on the dealership preferences and consumer data |
06:37:39 | FromGitter | <mratsim> There was a similar bank competition to predict banking product consumer might be interested in depending on their history called "Banco Santander product recommendation" or something like that |
06:38:13 | FromGitter | <zacharycarter> yeah I'd probably even have historical information about what types of vehicles that dealership has previously purchased |
06:38:16 | FromGitter | <mratsim> Also check with the "car" filters there are ads, dealership, insurance, accidents datasets: https://www.kaggle.com/datasets?sortBy=relevance&group=public&search=car&page=1&pageSize=20&size=all&filetype=all&license=all |
06:38:55 | FromGitter | <zacharycarter> I'm brand new to machine learning so I'm probably going to have to start with a much simpler example |
06:39:00 | FromGitter | <mratsim> For recommendation there is a technique called "collaborative filtering" |
06:39:00 | FromGitter | <zacharycarter> thanks |
06:39:08 | FromGitter | <zacharycarter> yeah I was just reading about that |
06:40:21 | FromGitter | <zacharycarter> could I do this with arraymancer? |
06:40:58 | FromGitter | <mratsim> That was what Amazon used before adding machine learning/deep learning on top. |
06:41:09 | FromGitter | <mratsim> No I don't think so. |
06:41:34 | FromGitter | <zacharycarter> gotcha |
06:41:56 | FromGitter | <mratsim> Or you have the raw procs but you have to build everything from scratch |
06:54:28 | * | sz0 quit (Quit: Connection closed for inactivity) |
07:00:05 | * | MJCaley quit (Quit: MJCaley) |
07:22:22 | * | solitudesf joined #nim |
07:53:27 | * | Ven`` joined #nim |
07:57:55 | * | Ven`` quit (Ping timeout: 252 seconds) |
08:05:29 | * | zahary_ quit (Quit: Connection closed for inactivity) |
08:33:02 | * | vlad1777d joined #nim |
09:01:48 | * | yglukhov joined #nim |
09:02:35 | * | gmpreussner quit (Ping timeout: 240 seconds) |
09:05:35 | * | gmpreussner joined #nim |
09:15:14 | * | Yardanico joined #nim |
09:16:53 | * | vlad1777d quit (Remote host closed the connection) |
09:17:32 | * | vlad1777d joined #nim |
09:18:47 | * | vlad1777d quit (Remote host closed the connection) |
09:19:24 | * | vlad1777d joined #nim |
09:20:40 | * | yglukhov quit (Remote host closed the connection) |
09:40:07 | * | Vladar joined #nim |
09:56:24 | * | endragor joined #nim |
10:00:52 | * | endragor quit (Ping timeout: 256 seconds) |
10:07:46 | * | nsf joined #nim |
10:11:49 | * | Yardanico quit (Remote host closed the connection) |
10:16:25 | * | Yardanico joined #nim |
10:23:08 | * | miran joined #nim |
10:30:17 | * | sz0 joined #nim |
10:31:32 | * | yglukhov joined #nim |
10:32:59 | * | Yardanico quit (Remote host closed the connection) |
10:34:59 | * | Yardanico joined #nim |
10:36:00 | * | vlad1777d quit (Ping timeout: 256 seconds) |
10:43:07 | * | devdri joined #nim |
10:47:53 | * | radagast joined #nim |
10:57:15 | * | PMunch joined #nim |
11:03:12 | * | yglukhov quit (Ping timeout: 256 seconds) |
11:05:53 | * | Yardanico quit (Quit: Leaving) |
11:08:55 | * | Yardanico joined #nim |
11:14:39 | * | miran quit (Ping timeout: 248 seconds) |
11:14:43 | * | miran_ joined #nim |
11:16:30 | * | tinAndi joined #nim |
11:26:34 | FromGitter | <alehander42> I had a discussion with a friend about npm several days ago and I thought a bit about the nimble situation: with the purely url-based(usually github) configuration, if somebody deletes his repo, that can break his build right? |
11:27:00 | FromGitter | <alehander42> break the build of all projects that depends on this nimble package* |
11:27:14 | PMunch | Well yeah |
11:27:22 | PMunch | Unless you manage to find a backup |
11:28:09 | * | Yardanico quit (Remote host closed the connection) |
11:29:06 | FromGitter | <alehander42> does it make sense for nimble to maintain automatically some kind of backup? e.g. if it notices an unknown package, fork it and periodically update the fork and if the original repo disappears, suggest to use the backup ? |
11:30:41 | FromGitter | <mratsim> This is ugly @dom96 https://github.com/nim-lang/c2nim/issues/115 :/ |
11:31:40 | * | tinAndi quit (Ping timeout: 240 seconds) |
11:32:37 | * | Yardanico joined #nim |
11:34:10 | PMunch | alehander42, well it would make some kind of sense I gues |
11:40:32 | * | Guest55 joined #nim |
11:41:23 | Guest55 | in nim i can't get the max value of uint64, but in Rust it is so easy... and Rust is Not really difficult to learn |
11:41:54 | Guest55 | fn main() { println!("u64 max value is: {}", u64::max_value()); } |
11:42:12 | Guest55 | turn down for what ooooooooooh |
11:42:15 | Guest55 | oooooooooooh |
11:42:18 | Guest55 | OOOOOHHHH |
11:42:44 | Guest55 | B-) |
11:43:34 | PMunch | To be fair though, high(uint64) really should work.. |
11:43:46 | dom96 | alehander42: The idea is to create a npm/hackage-like site |
11:43:59 | dom96 | federico3 already made a start with nimble.directory |
11:44:07 | dom96 | the next step is to upload our packages to this website |
11:44:32 | dom96 | This is really cool, the announcement for Python v1: https://news.ycombinator.com/item?id=16245034 |
11:46:26 | PMunch | Ooh, that is neat dom96 |
11:46:35 | PMunch | Little piece of programming language history |
11:47:23 | FromGitter | <alehander42> I've read a lot of the python maillist around 0.9.2-1.0 and it was really funny to follow with today's hindsight |
11:47:52 | dom96 | any interesting insight? :) |
11:48:44 | * | yglukhov joined #nim |
11:50:13 | dom96 | as far as high(uint) goes: https://github.com/nim-lang/Nim/issues/6620 |
11:51:08 | dom96 | mratsim: yeah, I wonder what I should do to solve these issues. I'm not 100% sure but I think there are two separate dependencies: the Nim binary version and the compiler sources version. |
11:51:53 | dom96 | But maybe it's not that bad and most Nim compilers don't have trouble compiling even newer compiler sources |
11:52:07 | dom96 | in which case what would help is lock files |
11:52:49 | FromGitter | <alehander42> @dom96 a special package site would be best indeed |
11:53:10 | * | yglukhov quit (Ping timeout: 240 seconds) |
11:53:28 | FromGitter | <alehander42> @dom96 a lot of interesting viewpoints, especially one of the mails by guido in which he explains his overall philosophy for the lang back then, quotes like "The one thing that Python definitely does not want to be is a GENERAL purpose ⏎ programming language." :D |
11:53:43 | FromGitter | <alehander42> http://ftp.ntua.gr/mirror/python/search/hypermail/python-1992/0001.html |
11:53:51 | dom96 | haha |
11:54:20 | dom96 | "aimed at small-to-medium-sized programs" |
11:54:27 | dom96 | and this is precisely where Nim differs |
11:54:36 | dom96 | we should quote this |
11:55:04 | PMunch | That is definitely a good idea |
11:55:07 | dom96 | Might be a nice article in fact hrm |
11:55:39 | dom96 | It's time we had some promotional material to entice python programmers |
11:55:49 | FromGitter | <alehander42> well these days he seems to be working mostly on type support (mypy and pyannotate, I even asked him stuff about it in their chatroom before py2nim), so maybe he's trying to get it to largeland haha |
11:56:16 | FromGitter | <alehander42> comparisons with python would be good certainly |
11:56:20 | FromGitter | <Bennyelg> :D |
11:56:26 | FromGitter | <Bennyelg> Goood AfterNoon |
11:57:41 | dom96 | Possible title: "Nim is the Python for medium-to-large-sized programs" |
12:00:22 | FromGitter | <Bennyelg> @dom96 what is the name of the web library to render page using nim? instead of using vue/angular/react I forgot the name and I need it |
12:00:30 | dom96 | karax |
12:00:40 | FromGitter | <Bennyelg> @dom96 Thanks. |
12:01:55 | FromGitter | <Bennyelg> @dom96 do they have some docs to use? |
12:03:16 | FromGitter | <Bennyelg> @dom96 I just remembered why I didn't use it , because it's hard to start reading code instead of docs :P |
12:03:36 | dom96 | it's a pretty new framework |
12:03:40 | dom96 | and made by the busy Araq |
12:03:43 | dom96 | so few docs :) |
12:03:56 | PMunch | Bennyelg, you can learn it and write docs :) |
12:04:00 | * | Snircle joined #nim |
12:04:26 | FromGitter | <Bennyelg> heheh maybe, I'll start `investigate` the examples." |
12:04:55 | FromGitter | <alehander42> @Bennyelg it should be relatively easy to start with, it's not a big framework |
12:05:09 | PMunch | I mean even just writing a more detailed explanation of the examples would be nice |
12:05:21 | FromGitter | <Bennyelg> Yea, |
12:20:22 | * | vlad1777d joined #nim |
12:27:33 | FromGitter | <Bennyelg> @dom96 @PMunch ```nim ⏎ proc setEntryContent(pos: int, content: cstring) = ⏎ setItem(&pos & contentSuffix, content) ⏎ ⏎ proc markAsCompleted(pos: int, completed: bool) = ... [https://gitter.im/nim-lang/Nim?at=5a6c7034e217167e2c08a04e] |
12:27:46 | * | yglukhov joined #nim |
12:29:00 | PMunch | Hmm, &completed? |
12:29:41 | FromGitter | <Bennyelg> @PMunch I probably miss the concept of &, is not the content of the c string? like any pointer ? |
12:29:46 | PMunch | What does the & operator do here? It looks like it does something similar to the $ operator, in which case it makes sense as completed is not a string but a boolean |
12:30:01 | FromGitter | <Bennyelg> I see |
12:30:25 | PMunch | Where in the examples are this? |
12:30:38 | FromGitter | <Bennyelg> https://github.com/pragmagic/karax/blob/master/examples/todoapp/todoapp.nim#L27 |
12:33:59 | PMunch | https://github.com/pragmagic/karax/blob/master/karax/vstyles.nim#L322 |
12:34:00 | PMunch | Aha |
12:34:32 | PMunch | And: https://github.com/pragmagic/karax/blob/master/karax/jstrutils.nim |
12:34:47 | PMunch | So & is just $ |
12:34:50 | PMunch | More or less |
12:34:58 | FromGitter | <Bennyelg> yea I now see, |
12:35:01 | FromGitter | <Bennyelg> thanks! |
12:35:07 | PMunch | But for cstrings directly and not strings |
12:35:15 | FromGitter | <Bennyelg> yea |
12:35:15 | PMunch | No problem :) |
12:38:16 | * | sz0 quit (Quit: Connection closed for inactivity) |
12:43:13 | PMunch | @survivorm, you on? |
12:48:00 | dom96 | Araq should have used `$!` or something, not freaking `&` |
12:48:17 | PMunch | Yeah, that's really confusing :P |
12:52:03 | dom96 | https://github.com/pragmagic/karax/issues/47 :P |
12:54:39 | * | devdri quit () |
12:57:09 | PMunch | Nice |
13:00:10 | * | yglukhov quit (Ping timeout: 240 seconds) |
13:05:42 | * | BitPuffin joined #nim |
13:11:14 | FromGitter | <rsirres> Hi Guys |
13:11:34 | FromGitter | <rsirres> do you whether nim has a sax style parser in the std lib ? |
13:11:38 | FromGitter | <rsirres> know* |
13:12:31 | * | devdri joined #nim |
13:13:03 | * | rauss quit (Ping timeout: 248 seconds) |
13:14:28 | * | rauss joined #nim |
13:15:33 | PMunch | parsexml is sax-like I guess: https://nim-lang.org/docs/parsexml.html |
13:23:23 | * | devdri quit () |
13:27:02 | * | devdri joined #nim |
13:30:49 | FromGitter | <rsirres> Ill give it a try |
13:31:09 | FromGitter | <rsirres> thx PMunch |
13:32:40 | radagast | I want to reduce the number of allocations of a seq I want to use. Is there a reserve() proc available for seq? |
13:33:07 | PMunch | newSeq[int](size) |
13:33:19 | radagast | thanks, PMunch |
13:33:44 | PMunch | Or if you don't want it to be of len size but without elements you could use newSeqOfCap |
13:36:14 | radagast | thanks again |
13:36:31 | * | dddddd joined #nim |
13:38:58 | PMunch | No problem :) |
13:50:30 | * | couven92 joined #nim |
13:56:33 | * | leorize quit (Quit: WeeChat 2.0.1) |
13:59:07 | * | MJCaley joined #nim |
14:24:04 | * | yglukhov joined #nim |
14:46:56 | * | MJCaley quit (Quit: MJCaley) |
14:55:32 | * | yglukhov quit (Ping timeout: 252 seconds) |
14:56:59 | radagast | I have a type that's an enum of types. Yet nimsuggest says that "type expected" https://gist.github.com/9da888d88f741ccff47cee673b926783 Anyone able to explain me that? Thanks in advance https://gist.github.com/9da888d88f741ccff47cee673b926783 |
14:58:22 | dom96 | Try compiling the code if the nimsuggest error is confusing |
15:00:54 | FromGitter | <nc-x> `Structures.QuickFindUF` is not the type? `Structures` is the type. |
15:04:25 | * | devdri quit () |
15:04:36 | * | nc-x joined #nim |
15:04:49 | radagast | I see. What if I want to specialize the proc for Structures.QuickFindUF? |
15:06:52 | * | devdri joined #nim |
15:12:14 | * | nc-x quit (Quit: Page closed) |
15:13:17 | * | endragor joined #nim |
15:17:04 | PMunch | radagast, then you need to use a case..of or if..elif..else statement |
15:17:53 | * | endragor quit (Ping timeout: 256 seconds) |
15:18:53 | * | MJCaley joined #nim |
15:20:01 | * | devdri quit () |
15:27:57 | FromGitter | <Bennyelg> {.compact.} cannot be called ? |
15:28:01 | FromGitter | <Bennyelg> on karax |
15:33:48 | Araq | import it first? |
15:34:00 | FromGitter | <Bennyelg> I copy your sample 1 to 1 |
15:34:45 | FromGitter | <Bennyelg> also, Event is not recognize to you need to change it to vdom.Event |
15:35:06 | FromGitter | <Bennyelg> otherwise Event is also unknown. |
15:37:09 | * | yglukhov joined #nim |
15:41:26 | * | yglukhov quit (Ping timeout: 256 seconds) |
15:47:40 | * | couven92 quit (Ping timeout: 256 seconds) |
15:49:03 | FromGitter | <cjmxp> The Nim grammar seems to be a bit complicated |
15:49:45 | PMunch | cjmxp, anything in particular you were thinking about? |
15:49:56 | PMunch | The base grammar is pretty similar to many other languages |
15:50:48 | FromGitter | <cjmxp> It's not much simpler to use than c++ |
15:51:20 | PMunch | Grammatically? |
15:51:36 | FromGitter | <cjmxp> yes |
15:51:48 | FromGitter | <cjmxp> You can look at haxe |
15:53:23 | PMunch | It looks like a slightly simplified C/C++ |
15:53:34 | PMunch | (From the one example on their site) |
15:54:09 | * | couven92 joined #nim |
15:54:33 | FromGitter | <cjmxp> Yes, it's very fast. |
15:54:43 | PMunch | So is Nim |
15:57:12 | FromGitter | <cjmxp> I like the features of Nim, and he can do a lot of things to do with c/c++, but it's hard to learn, and the syntax is difficult and not elegant. |
15:57:35 | FromGitter | <Bennyelg> VSCode show karax syntax with errors but it compiled lol |
15:58:58 | PMunch | cjmxp, hmm, I found it the other way round. Very easy to learn and the syntax (while not perfect) does have some very redeeming factors. |
15:59:14 | PMunch | Bennyelg, that's the kind of stuff that hopefully will be improved once 1.0 hits |
15:59:28 | PMunch | I've just turned off all nimsuggest support in my editor |
15:59:56 | FromGitter | <Bennyelg> nah I need the sugggests |
16:00:01 | FromGitter | <Bennyelg> I am still newbie |
16:01:13 | * | nsf quit (Quit: WeeChat 2.0.1) |
16:02:53 | dom96 | Hopefully this fixes the c2nim compilation issues: https://github.com/nim-lang/c2nim/commit/bdc39451c82ce7a43f6fa3112a6dcf282a10e97f |
16:03:12 | livcd | do we have somewhere full nim electron app ? |
16:03:21 | dom96 | cjmxp: can you be more specific? |
16:03:47 | * | MJCaley quit (Quit: MJCaley) |
16:03:48 | PMunch | livcd, define full? :P |
16:03:56 | PMunch | I made a very simple example that works |
16:04:02 | livcd | PMunch: both ui and backend written in Nim |
16:04:02 | dom96 | oooh https://github.com/PMunch/nim-electron |
16:04:48 | dom96 | Any way to create that without npm? |
16:05:07 | livcd | i am gonna try it |
16:05:08 | livcd | :P |
16:05:19 | dom96 | If you could just run the Nim app that would be awesome |
16:05:41 | PMunch | Hmm, there's probably a way |
16:05:55 | PMunch | We just need to look at what npm start does |
16:06:23 | livcd | btw i also do not really like nim's syntax. It feels...noisy...perlish |
16:07:03 | dom96 | Do it! Then write a blog post showing it off :D |
16:07:10 | dom96 | livcd: what would you change? :) |
16:07:24 | * | devdri joined #nim |
16:07:50 | * | skelett joined #nim |
16:09:43 | livcd | i get getaddrinfo error on osx |
16:10:14 | FromGitter | <RedBeard0531> Dissenting opinion: I really like nim's syntax. Although I do wish there was a solution to the explicit template args + method call syntax issue. |
16:10:37 | livcd | dom96: the problem is i think about it subjectively. Like what I like or dislike and I definitely prefer ruby's syntax more |
16:10:49 | PMunch | Ugh, Ruby syntax :S |
16:10:49 | dom96 | RedBeard0531: You mean: x.foo[T]()? |
16:11:01 | FromGitter | <RedBeard0531> yeah |
16:11:15 | dom96 | livcd: What about Ruby's syntax do you prefer? |
16:11:16 | livcd | PMunch: but nim also feels rubyish / pythonish. it just uses more sigils than english keywords |
16:11:19 | PMunch | livcd, I only tested it on Linux.. |
16:11:31 | livcd | dom96: using keywords instead of sigils |
16:11:53 | livcd | PMunch: just telling ya :D |
16:11:56 | livcd | but it works |
16:11:58 | livcd | it can connect |
16:12:00 | dom96 | Nim is sort of a mix. It uses keywords for boolean logic. |
16:12:05 | livcd | it just throws an error |
16:12:36 | dom96 | I prefer writing $ than to_string() all the time since it's such a common operation :) |
16:13:01 | PMunch | Yeah to_string is just tedious |
16:13:26 | FromGitter | <RedBeard0531> I like how UFCS makes `.` in nim like `|` in the shell and ` ` (space) like an RTL pipe. But the template syntax screws with that sometimes |
16:13:51 | livcd | i prefer designed for reading than for writing |
16:14:05 | FromGitter | <Bennyelg> what is kstring ? |
16:14:41 | dom96 | RedBeard0531: there is an issue for this https://github.com/nim-lang/Nim/issues/3502 |
16:14:57 | dom96 | Bennyelg: a more efficient string for the JS target IIRC |
16:15:01 | * | devdri quit () |
16:15:30 | FromGitter | <Bennyelg> I am pretty confused cstring, kstring when to use where |
16:15:36 | * | yglukhov joined #nim |
16:16:00 | dom96 | Araq: ^ |
16:16:17 | livcd | it's mostly about how often do you write code vs how ofted you have to read the code |
16:18:31 | * | gokr joined #nim |
16:18:31 | dom96 | livcd: Makes sense. What things do you like about Nim that cause you to stick around then? :) |
16:20:34 | livcd | dom96: I really dig this nim to many backends concept. Honestly I think Reel Valley was the biggest wow this is cool moment with Nim :) |
16:21:29 | dom96 | Ahh, awesome :) |
16:22:12 | FromGitter | <stisa> @Bennyelg I believe `kstring` is an alias for`cstring` when compiling to js and `string` when compiling to C, so the only reason I can see to use `cstring` is for interoperability with C |
16:22:48 | FromGitter | <RedBeard0531> @dom96 maybe this is a crazy idea, but could you syntactically merge operator[] and template arguments so that passing a template arg to a proc was as-if you called a magical proc`[]`(p: proc, ts: varargs[typedesc]): proc |
16:23:30 | livcd | dom96: i think people should do more of those. I think it can attract people |
16:23:47 | PMunch | livcd, you mean large projects? :P |
16:23:56 | livcd | PMunch: flappy bird |
16:23:57 | livcd | :D |
16:24:50 | dom96 | livcd: people are, what people need to do is write about them more |
16:25:03 | dom96 | *hint hint* yglukhov :P |
16:25:54 | dom96 | RedBeard0531: Sounds just crazy enough to work. But you'll need to ask Araq :) |
16:26:15 | FromGitter | <RedBeard0531> I'll comment on the ticket |
16:27:12 | * | rauss quit (Read error: Connection reset by peer) |
16:27:19 | * | MJCaley joined #nim |
16:27:47 | livcd | PMunch: that jsffi feels kinda cryptic |
16:28:13 | * | rauss joined #nim |
16:28:23 | FromGitter | <mratsim> RocksDB wrapper done: https://github.com/status-im/nim-rocksdb, not on nimble yet, not too sure if I should expose the raw low-level C wrapper as is or provides an API more in line with Nim conventions (error checking, destructors, and CamelCase types). |
16:28:43 | PMunch | How so livcd? |
16:30:42 | dom96 | mratsim: nice! How are things going at Status? |
16:31:21 | livcd | PMunch: i just need to read more about how it works |
16:32:28 | livcd | PMunch: can you bundle the nim native app in the electron ? |
16:32:32 | dom96 | mratsim: you should definitely write a high level wrapper. Working with a low-level memory unsafe wrapper wouldn't be a fun time. |
16:33:02 | FromGitter | <mratsim> Well, I’m official starting on Feb 1st with Status ;) |
16:44:54 | * | yglukhov quit (Ping timeout: 256 seconds) |
16:49:51 | * | natrys joined #nim |
16:54:03 | FromGitter | <mratsim> Btw is there something on Friday evening for Nim people who arrives on Friday? |
16:54:27 | PMunch | Well there is the official beer event |
16:54:51 | dom96 | https://fosdem.org/2018/beerevent/ |
16:54:54 | PMunch | (I arrive Friday as well) |
16:56:42 | dom96 | It'd be nice to create some sort of FOSDEM Nim group where we can organise ourselves |
16:56:51 | PMunch | Yeah |
16:57:19 | FromGitter | <mratsim> Lol: A note of caution ⏎ Unlike some other beers, Belgian beer is not just coloured water. Some beers contain significant quantities of alcohol and will give you a pounding hangover (as a side note, consuming lots of (pure) water helps preventing that). FOSDEM staff is not responsible for any hallucinations you may experience as a result of this event. :-) |
16:57:21 | PMunch | But our primary communications channel is IRC, which is kind of a PITA to be on on mobile |
16:57:38 | dom96 | yeah |
16:57:46 | dom96 | Gitter works better on Mobile |
16:58:06 | dom96 | But maybe it's time to set up Telegram |
16:58:17 | PMunch | Telegram is nice |
16:58:35 | dom96 | I saw a couple open source projects using it |
17:00:05 | FromGitter | <mratsim> I was that all the JS "hippies" are now using Spectrum |
17:00:15 | FromGitter | <mratsim> saw* |
17:00:23 | PMunch | Spectrum? |
17:01:33 | FromGitter | <mratsim> https://spectrum.chat/electron |
17:02:22 | FromGitter | <mratsim> https://spectrum.chat/styled-components |
17:02:27 | PMunch | Hmm |
17:02:30 | FromGitter | <mratsim> —> 1.9k people :O |
17:03:12 | dom96 | Apparently this exists already http://t.me/nimlang |
17:03:56 | PMunch | 4 members :P |
17:04:44 | livcd | what the heck is all that |
17:04:48 | livcd | styled components, spectrum |
17:04:49 | livcd | wtf |
17:07:05 | dom96 | oh, channels aren't really places where people can talk I guess |
17:07:50 | PMunch | Well that's a bummer |
17:09:47 | livcd | i dscovered an interesting game on electron apps |
17:09:51 | livcd | looks really like a neat idea |
17:11:21 | FromGitter | <alehander42> In which part of the city are you going to be for fosdem? |
17:13:34 | dom96 | https://t.me/nim_lang |
17:14:10 | livcd | Istrolid looks incredibly awesome. Cant believe it's electron |
17:17:15 | FromGitter | <SolitudeSF> the guy who made it is in nim's discord |
17:18:14 | * | tinAndi joined #nim |
17:19:58 | livcd | which one ? istrolid ? |
17:20:02 | FromGitter | <zetashift> I actually found Nim the most readable of all the languages I've seen at a first glance |
17:20:25 | FromGitter | <zetashift> When I saw it I had some experience with Python, C# and JS |
17:20:50 | miran_ | zetashift - nim is more readable than python? :/ |
17:21:00 | FromGitter | <zetashift> the '$' and some other stuff was initially confusing tho yes |
17:21:04 | FromGitter | <SolitudeSF> livcd, yeah, this guy https://github.com/treeform |
17:21:50 | FromGitter | <zetashift> @miran_ sortof yea, when I saw Python on SO etc most of where does funky oneliners solutions so yes my perspective was skewed:P |
17:22:19 | FromGitter | <zetashift> also all the *init* stuff was midly annoying |
17:22:25 | FromGitter | <zetashift> `__init__` |
17:23:31 | livcd | SolitudeSF: istrolid looks insane. I mean the idea is not new but it looks well executed |
17:23:56 | livcd | now i wonder if Istrolid uses Nim :D |
17:24:00 | * | tinAndi quit (Ping timeout: 256 seconds) |
17:24:26 | FromGitter | <zetashift> while I do have your attention miran_ , concerning the intro you're writing, I had the most problems working with Nim's types section and how objects are more structs then objects, PMunch explanation(and learning Go ironically helped me understand this better): https://www.reddit.com/r/nim/comments/7dm3le/tutorial_for_types_having_a_hard_time/ |
17:24:43 | FromGitter | <SolitudeSF> most likely not, since he joined nim community much later then the game was made |
17:24:56 | FromGitter | <zetashift> that explanation is actually a big reason I finished AoC in Nim! |
17:25:05 | livcd | ahh |
17:25:34 | livcd | but it looks slick. Cant believe there are no performance issues with it |
17:26:26 | * | xet7 quit (Quit: Leaving) |
17:27:11 | * | yglukhov joined #nim |
17:28:07 | livcd | ahh just reading a post about it |
17:30:01 | livcd | post from 2016 says he is using coffeescript |
17:31:31 | * | xet7 joined #nim |
17:31:31 | miran_ | zetashift - ok, will try to focus on that too. and that PMunch's post is great and was very helpful for me too |
17:31:47 | PMunch | Thanks guys :) |
17:31:49 | * | yglukhov quit (Ping timeout: 265 seconds) |
17:32:45 | miran_ | no, thank *you* PMunch ;) |
17:34:43 | miran_ | zetashift - stuff from that post might be too advanced for the audience i'm writing/aiming my tutorial to. will think about what to do with it... |
17:47:08 | FromGitter | <Bennyelg> Hey, Anyway I can check if i the file content fit to memory? |
17:54:09 | PMunch | Well, probably not |
17:54:37 | PMunch | Best is to just buffer anything that would be more than a couple kilobytes |
17:54:39 | FromGitter | <Bennyelg> So I need to monitor it in realtime when I start to fill it? |
17:54:51 | * | nsf joined #nim |
17:55:04 | PMunch | What are you reading in? |
17:55:35 | FromGitter | <Bennyelg> I try to figure our because some implementations like Apache spark know to spile to disk when the memory is not enough |
17:56:14 | PMunch | Well you can query the GC for how much memory is used and set some upper limit |
17:56:20 | PMunch | Make it user configurable or something |
17:57:14 | FromGitter | <Bennyelg> Ic |
17:57:15 | FromGitter | <Bennyelg> thanks |
17:57:17 | * | c0ntribut0r joined #nim |
17:58:54 | * | c0ntribut0r left #nim (#nim) |
17:59:27 | * | yglukhov joined #nim |
18:06:42 | * | vivus joined #nim |
18:12:01 | FromGitter | <mratsim> check how cpuinfo package use sysconf |
18:12:27 | FromGitter | <mratsim> not sure how to query used/free memory on Windows though |
18:13:28 | * | devdri joined #nim |
18:17:42 | FromGitter | <data-man> For Windows there is getMemoryInfo from the osinfo package |
18:20:27 | * | yglukhov quit (Ping timeout: 240 seconds) |
18:26:52 | skelett | I'd like to apply the contents of a `seq` (or of an `array`) as different arguments to a function. Does nim's stdlib already contains sth. like the `*` operator in python or the `apply` function in various other languages or do I need to write a macro for that? |
18:29:16 | FromGitter | <Quelklef> i think its something like macro.unpackArgs |
18:29:23 | FromGitter | <Quelklef> or so ive heard |
18:29:34 | miran_ | skelett: something like https://nim-lang.org/docs/tut1.html#advanced-types-varargs ? |
18:30:30 | Araq | he means sequtils.map |
18:31:45 | FromGitter | <Quelklef> but he says "like the `*` operator in python` |
18:32:27 | dom96 | I tried implementing something like this |
18:32:55 | dom96 | But I couldn't because there is no way to expand bar(*foo) into bar(42, 1) where `foo=[42, 1]` |
18:33:25 | dom96 | Araq suggested something like this: `splat: bar(*foo)` which is possible but I dislike it too much |
18:33:57 | Araq | we have unpackArgs now and again, it's inconsistent in Python too, wether you want to admit it or not. |
18:34:07 | * | miran_ quit (Quit: Konversation terminated!) |
18:34:35 | skelett | Hmm ok thx! |
18:35:52 | FromGitter | <Quelklef> I'm confused. How's it inconsistent? |
18:38:00 | Araq | it's not how operators work, neither in Python or Nim. f(*a) expands to f(x, y, z), not to f((x, y, z)) |
18:38:22 | Araq | so what does it expand to? A comma list that's not a tuple? |
18:38:38 | Araq | it's special cased. |
18:39:25 | FromGitter | <Quelklef> Sure, but what's the issue with that? |
18:39:42 | FromGitter | <Quelklef> Just means it has to be implemented at the compiler level rather than in the libraries, ye? |
18:39:52 | FromGitter | <Quelklef> and can only be used in function calls |
18:39:55 | dom96 | My understanding is that the issue is that there needs to be a new AST kind for this one use case |
18:40:00 | FromGitter | <Quelklef> Ah |
18:40:02 | Araq | it influences the call of 'f', it actually should be spelt f*a |
18:40:17 | dom96 | well, if you implement it in the compiler then there is no issue |
18:40:58 | Araq | I think the implementation in the compiler will be complex and error prone |
18:41:05 | FromGitter | <Quelklef> @Araq so your problem is that it's not a "normal function call" so to speak? |
18:41:15 | Araq | we did a *very* similar thing with the ^ syntax |
18:41:19 | dom96 | perhaps we should indeed implement it as apply(foo, bar) |
18:41:37 | Araq | and moved ^ into a pure stdlib implementation |
18:41:46 | FromGitter | <Quelklef> or a `*` operator like you were saying so it's f * a |
18:41:48 | Araq | because it was a PITA in the compiler. |
18:41:56 | FromGitter | <Quelklef> right |
18:42:17 | FromGitter | <Quelklef> lol i always thought i was just dumb to not understand quite how ^ was working |
18:42:31 | FromGitter | <Quelklef> nice to know its not just that |
18:42:42 | * | yglukhov joined #nim |
18:42:44 | Araq | dom96: unpackVarargs(foo, bar) is clear and works |
18:42:58 | Araq | 'apply' is too much like 'map' |
18:43:12 | FromGitter | <Quelklef> bit verbose |
18:43:21 | FromGitter | <Quelklef> "splat" would probably work, no? |
18:43:24 | dom96 | You saying it "works" implies that it's already in the stdlib |
18:43:24 | Araq | *shrug* I never use it |
18:43:35 | Araq | it is, I added it. |
18:43:56 | dom96 | ahh, let's discuss it next time |
18:44:00 | FromGitter | <Quelklef> "work" as in be recognizable |
18:44:11 | dom96 | and yeah, I agree, unpackVarargs is far too verbose |
18:44:24 | dom96 | I'm fine with 'splat' |
18:44:26 | Araq | verbose according to what measure? |
18:44:45 | Araq | I used it once in my lifetime so far. |
18:44:55 | Araq | (which is why I added it) |
18:45:06 | Araq | (the one time I required it, I added it) |
18:45:20 | Araq | Nim is not Python. |
18:45:32 | Araq | stuff that comes up all the time in Python, doesn't in Nim. |
18:46:12 | FromGitter | <Quelklef> OTOH certain things that are easy in Python are a little annoying in Nim even though they're still useful in Nim |
18:46:17 | dom96 | perhaps we should ask skelett what their use case is |
18:46:23 | FromGitter | <Quelklef> only example I can give is when I wrote a debugging decorator, but |
19:00:47 | skelett | Sry guys, my phone rang |
19:03:37 | skelett | a simplified example would be: proc foo(keys: varargs[Type]) = printf(fmt(keys), *keys) |
19:10:20 | PMunch | Man, this parsing thing is kicking my ass.. |
19:10:32 | PMunch | Been waaay to long since I did functional programming for this to make sense |
19:12:42 | FromGitter | <Quelklef> wym, pmunch? |
19:13:58 | PMunch | wym? |
19:14:42 | PMunch | Oh "what you mean"? |
19:15:02 | FromGitter | <Quelklef> "whatever, you're married" |
19:15:31 | FromGitter | <Quelklef> yeah "what you mean" |
19:16:18 | PMunch | Haha :P |
19:17:02 | PMunch | Well, short version is that I'm writing a parsing library inspired by Parslet and this thing: https://gist.github.com/kmizu/2b10c2bf0ab3eafecc1a825b892482f3 |
19:18:03 | PMunch | Figured that I should start implementing error messages that makes sense, but I'm having trouble making them propagate properly |
19:19:41 | FromGitter | <Quelklef> ah |
19:19:58 | PMunch | Long version, wanted to interface Nim with KSP through KRPC. It uses protobuf, which we lack support for in Nim. So I figured out I'll write a Protobuf implementation, but figured out that parsing is always a pain. So I decided I should start by writing a parser library, and here we are.. |
19:21:06 | FromGitter | <Quelklef> could use a parser generator |
19:21:39 | PMunch | Haha :P |
19:24:49 | * | darithorn joined #nim |
19:25:27 | PMunch | Going recursively deeper into generator generators |
19:26:13 | FromGitter | <Quelklef> yeah what we really need is a parser generator generator |
19:26:20 | FromGitter | <Quelklef> then we've reached *full abstraction* |
19:26:47 | PMunch | But how would we create that? What we really need is a parser generator generator generator |
19:27:51 | FromGitter | <Quelklef> you're right |
19:27:59 | FromGitter | <Quelklef> but really though we can skip all that |
19:28:02 | FromGitter | <Quelklef> to the final form |
19:28:11 | FromGitter | <Quelklef> `proc gen(): return gen` |
19:28:26 | FromGitter | <Quelklef> a generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator generator... |
19:28:59 | Yardanico | lol |
19:29:59 | * | clyybber joined #nim |
19:33:06 | FromGitter | <data-man> parseFromAny().toHuman() |
19:33:22 | PMunch | Haha, yeah a toHuman operator would be handy |
19:33:33 | clyybber | good day |
19:33:44 | PMunch | Hi clyybber |
19:33:56 | clyybber | Hi PMunch |
19:34:32 | PMunch | Man I've had a headache all day without understanding why. Realized I hadn't had any coffee, one cup later, fixed! |
19:34:47 | PMunch | I might be addicted to caffeine again.. |
19:36:13 | FromGitter | <Quelklef> again, oh my |
19:42:04 | FromGitter | <data-man> a tea has more caffeine :) |
19:42:13 | dom96 | Random straw poll of the day for Nim: http://www.strawpoll.me/14941510 |
19:42:15 | dom96 | :P |
19:43:14 | FromGitter | <Quelklef> coffee for caffeine in the mornings if needed |
19:43:16 | FromGitter | <Quelklef> tea for taste |
19:43:16 | FromGitter | <Quelklef> im |
19:43:26 | PMunch | data-man, tea has more caffeine pr. kilo. But coffee has more bioavailable caffeine |
19:44:52 | PMunch | Tea has a substance in it that inhibits the caffeine receptors, which gets released only slightly slower than caffeine. This means that tea actually has a "sweet spot" while brewing were it has the most bioavailable caffeine and after which there is no more caffeine in the leaves to release but the other substance will continue lowering the amount of bioavailable caffeine in the tea. |
19:45:14 | dom96 | Interesting |
19:45:46 | FromGitter | <Quelklef> how do we find that sweet spot? |
19:45:54 | dom96 | I actually get decaf tea. I drink so much of it that drinking non-decaf has a noticeable effect on my ability to sleep at night :) |
19:45:54 | FromGitter | <data-man> Especially the Kopi Luwak :) |
19:47:19 | PMunch | data-man, plus brewed tea has less caffeine than brewed coffee to begin with |
19:47:44 | FromGitter | <Quelklef> man yall are making me want tea |
19:47:53 | PMunch | Tea leaves has more caffeine than coffee beans, but a tea made with the same amounts (by weight) of grounds/leaves to water would taste pretty horrible |
19:49:14 | dom96 | What's everybody's favourite tea/coffee blend? |
19:49:32 | FromGitter | <Quelklef> black tea with a bunch of lemon and honey |
19:49:34 | FromGitter | <Quelklef> that's my jam |
19:49:44 | PMunch | Hmm, turns out that the bioavailability thing might not be true.. |
19:49:46 | dom96 | I'm very much into Earl Grey |
19:50:03 | PMunch | I'm with you there dom96, a proper high-quality Earl Grey |
19:50:04 | FromGitter | <Quelklef> pmuch how so |
19:50:15 | PMunch | Well first of I can't find any sources for it :P |
19:50:39 | FromGitter | <Quelklef> damn |
19:50:42 | PMunch | Then there is this: https://www.theguardian.com/notesandqueries/query/0,5753,-25502,00.html (search for biochemically) |
19:50:43 | dom96 | This one https://www.ocado.com/productImages/132/13264011_1_640x640.jpg?identifier=078c9703d193468fd360c3c025cd4664 :D |
19:51:42 | PMunch | Regular Earl Grey from Twinings is definitely good |
19:51:51 | FromGitter | <data-man> Kenya Tinderet |
19:52:56 | PMunch | But try some from Whittard for example and you'll see what I mean |
19:53:45 | PMunch | Huh, interesting poll dom96. None who drinks Coffee doesn't drink tea |
19:54:20 | PMunch | Ah, it might not be complete bollocks: http://ezinearticles.com/?The-Combined-Stimulation-of-Caffeine-and-Tannin-in-Tea&id=3604069 |
19:54:29 | dom96 | Obviously means Tea > Coffee :D |
19:55:29 | * | yglukhov quit (Remote host closed the connection) |
20:01:40 | * | devdri quit () |
20:02:14 | FromGitter | <data-man> > Coffee: 80mg, Cola: 45mg, Black tea: 40mg, Oolong tea: 30mg, Green tea: 20mg, White tea: 15mg, Rooibos & Herbals: Zero mg. ⏎ ⏎ Cola?! |
20:02:24 | FromGitter | <Quelklef> yeah man |
20:03:18 | PMunch | Yeah, Cola has plenty of caffeine |
20:06:05 | FromGitter | <data-man> “Pepsi - The Choice of a New Generation” :-D |
20:07:00 | FromGitter | <Quelklef> Dr Pepper |
20:07:01 | FromGitter | <Quelklef> best soda |
20:16:33 | * | NimBot joined #nim |
20:20:13 | * | yglukhov joined #nim |
20:28:03 | * | darithorn quit (Quit: Leaving) |
20:44:55 | * | vlad1777d quit (Ping timeout: 260 seconds) |
20:46:04 | * | radagast quit (Ping timeout: 252 seconds) |
20:56:47 | * | yglukhov quit (Remote host closed the connection) |
20:56:57 | * | vlad1777d joined #nim |
20:59:31 | livcd | doh i just learned about haxe today :S |
21:01:35 | FromGitter | <Quelklef> Lol I showed Haxe to my brother a while ago and he said something like "Wow, the worst parts of each language" |
21:01:57 | FromGitter | <Quelklef> "OOP of Java, syntax of PHP, and runtime of Javascript" or something |
21:02:00 | FromGitter | <Quelklef> was not impressed |
21:03:05 | livcd | ah i thought it could compile to many backends similarly to Nim |
21:03:11 | FromGitter | <Quelklef> "It looks like the worst part of every language" ⏎ me: "what lol why" ⏎ him: "Type system of Java, syntax of Ruby and JavaScript ⏎ Var ⏎ Gross" [https://gitter.im/nim-lang/Nim?at=5a6ce90f0ad3e04b1b77eb82] |
21:03:17 | FromGitter | <Quelklef> yeah it does |
21:03:33 | FromGitter | <Quelklef> which seems to be its main selling point |
21:04:09 | * | Vladar quit (Quit: Leaving) |
21:04:33 | * | dddddd quit (Remote host closed the connection) |
21:06:54 | livcd | I mean i knew it existed i just was not aware of what it is and what it can do. Nor did I read about it on hn / reddit and similar |
21:09:05 | livcd | and of course i never used any software in haxe. At least i do not know about it |
21:10:55 | FromGitter | <Quelklef> i mean if it's made for cross-compiling you wouldn't know |
21:11:17 | livcd | yeah |
21:12:21 | dom96 | Haxe compiles to everything. Nim compiles to things that /make sense/ :P |
21:14:04 | FromGitter | <Quelklef> What I really wanna see is two languages that cross compile to each other |
21:14:07 | FromGitter | <Quelklef> then just, like, do it |
21:14:18 | FromGitter | <Quelklef> write something in one and bounce it back and forth 50 times |
21:14:45 | FromGitter | <mratsim> It already “exists" |
21:14:53 | FromGitter | <mratsim> 100+ times iirc |
21:14:57 | FromGitter | <Quelklef> oh boy |
21:14:59 | FromGitter | <Quelklef> show me |
21:15:22 | FromGitter | <mratsim> https://github.com/kanaka/mal |
21:15:37 | dom96 | https://github.com/mame/quine-relay |
21:15:42 | FromGitter | <mratsim> ah right |
21:15:48 | FromGitter | <mratsim> it was not make a lisp |
21:15:52 | FromGitter | <Quelklef> "Mal is implemented in 72 languages:" what in the fuck |
21:16:11 | FromGitter | <Quelklef> ah there we go thanks dom |
21:16:12 | dom96 | hah, even Nim is in there |
21:16:54 | dom96 | well... that's far more disappointing than what I was expecting https://github.com/mame/quine-relay/blob/master/src/code-gen.rb#L286 |
21:17:02 | FromGitter | <mratsim> even Brainfuck and Befunge are there >_> |
21:17:45 | livcd | so haxe despite having the enterprisey more familiar syntax did not go mainstream...interesting |
21:18:14 | FromGitter | <mratsim> Entreprise syntax? https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition |
21:18:36 | FromGitter | <Quelklef> Wait |
21:18:43 | livcd | hahaha |
21:18:45 | FromGitter | <Quelklef> this quine-relay thing isn't compiling, is it? |
21:18:50 | FromGitter | <Quelklef> he hardcoded this |
21:18:56 | FromGitter | <Quelklef> oh, my god |
21:19:02 | FromGitter | <mratsim> it should generate a file for each lang |
21:19:13 | FromGitter | <mratsim> that generates the next lang |
21:19:17 | FromGitter | <Quelklef> right |
21:19:23 | livcd | yeah it cant be big enough. There are no courses on pluralsight for haxe :P |
21:19:25 | FromGitter | <Quelklef> but it doesn't compile to the next lang, it generates the next lang |
21:19:26 | FromGitter | <Quelklef> holy moly |
21:21:08 | livcd | maybe only curses |
21:24:15 | * | yglukhov joined #nim |
21:24:31 | * | yglukhov quit (Remote host closed the connection) |
21:38:07 | * | natrys quit (Quit: natrys) |
21:42:53 | * | Yardanico quit (Remote host closed the connection) |
21:44:53 | PMunch | Phew, think I've figured out how to properly return an error now.. |
21:45:05 | * | gokr quit (Ping timeout: 240 seconds) |
21:48:17 | FromGitter | <Quelklef> ... return? |
21:48:46 | FromGitter | <Quelklef> something smells go-ey |
21:50:40 | * | MJCaley quit (Quit: MJCaley) |
21:50:41 | PMunch | Well it's parser combination |
21:51:38 | * | nsf quit (Quit: WeeChat 2.0.1) |
21:52:02 | PMunch | So it's a call chain where errors are encountered on the lowest level and would need to "bubble" up |
21:52:19 | FromGitter | <Quelklef> isn't that the whole point of raising an error |
21:52:24 | FromGitter | <Quelklef> we're on different pages here |
21:53:11 | PMunch | Hmm yeah, I guess I could've used exceptions as well |
21:53:45 | FromGitter | <Quelklef> 😟 |
21:54:34 | PMunch | Oh by the way, my dad recently got a CNC so I carved out this for fun: https://photos.app.goo.gl/2ZK5maOulgJQ8soy2 |
21:54:44 | PMunch | I'm thinking of filling the holes with paint |
21:55:13 | PMunch | Unfortunately I couldn't find a way to do a v-carve along the edges while pocketing out the centre.. |
21:55:14 | FromGitter | <Quelklef> ooh! thats cool |
21:55:36 | PMunch | I know! The black MDF has a really neat look to it |
21:56:11 | FromGitter | <Quelklef> think itd look slightly nicer with no pip on the i but still really cool |
21:56:18 | PMunch | Maybe I should try to implement some path -> gcode in Nim :P |
21:56:31 | PMunch | After I've dug myself out of this parser hole :P |
21:57:32 | FromGitter | <Quelklef> lol, godspeed |
21:58:34 | * | stisa joined #nim |
22:00:04 | PMunch | Shouldn't be that hard (famous last words) |
22:01:19 | PMunch | Man, the new Google pictures app is super creepy.. |
22:01:56 | PMunch | No idea how it does it, but it has search suggestions at the top. Try searching for "city" |
22:02:15 | PMunch | Where city would be somewhere I've been and know I have pictures from |
22:02:35 | PMunch | Oh wait... That's probably just based on geo-location.. |
22:03:03 | PMunch | Possibly even correlated with google maps data |
22:03:07 | FromGitter | <Quelklef> still kinda weird |
22:03:18 | FromGitter | <Quelklef> they do other strange things which are cool but unsettling |
22:03:19 | * | BitPuffin quit (Remote host closed the connection) |
22:03:35 | PMunch | Still a bit creepy, but not "computer vision detecting where you are based on images"-level creepy |
22:04:03 | PMunch | Yeah, I remember the first time I found a "The hotel you are staying at" pin in Google Maps without having put it there |
22:04:21 | PMunch | Or some "Your plane leaves at 8" calendar events |
22:04:50 | PMunch | Just based of off Google reading through my emails and recognizing order receipts |
22:05:14 | dom96 | PMunch: that's really awesome :O |
22:05:19 | PMunch | Creepy? Most definitely! Useful? Sure.. |
22:05:37 | PMunch | dom96, the Nim logo? |
22:05:41 | dom96 | yeah |
22:05:47 | dom96 | Now just need some solid gold to fill that crown with :P |
22:07:36 | PMunch | Ooooh, that would be amazing :P |
22:07:43 | * | solitudesf quit (Quit: solitudesf) |
22:08:07 | PMunch | Huh, I guess you could actually make casts with this or a 3D printer and cast actual metal items |
22:09:10 | * | vlad1777d quit (Ping timeout: 240 seconds) |
22:11:04 | * | arecaceae quit (Remote host closed the connection) |
22:11:26 | * | arecaceae joined #nim |
22:18:46 | PMunch | dom96, have you gotten the fliers done yet by the way? |
22:23:38 | dom96 | yep |
22:23:45 | PMunch | Ooh, pictures? |
22:24:03 | PMunch | Or are you just done as in done with the design? |
22:24:07 | dom96 | Wondering if I should make them public or keep them private until FOSDEM :) |
22:24:18 | dom96 | Nah, I got them printed |
22:24:38 | PMunch | Aaah, I see. I can keep the secret though ;) After all I've seen pretty much all the possible designs already :P |
22:24:53 | PMunch | Unless you had some secret designs you didn't tell me about |
22:37:57 | * | clyybber quit (Ping timeout: 240 seconds) |
23:14:13 | * | marenz_ joined #nim |
23:23:26 | * | dddddd joined #nim |
23:25:02 | * | clyybber joined #nim |
23:28:03 | FromGitter | <matrixbot> `ratherAnonymous` is anyone here using emacs to write in Nim? |
23:29:22 | dom96 | whoa |
23:29:33 | dom96 | Just realised that Slava Pestov is following me on Twitter |
23:29:37 | dom96 | Sorry, that's a bit offtopic |
23:29:40 | FromGitter | <matrixbot> `ratherAnonymous` snippets would be awesome, but I don't know if there's any way to get get code completion working |
23:29:56 | FromGitter | <matrixbot> `ratherAnonymous` twatter |
23:30:06 | FromGitter | <matrixbot> `ratherAnonymous` >:D |
23:30:59 | PMunch | Is that thing relaying Matrix through Gitter? |
23:31:05 | PMunch | That's just super annoying :P |
23:31:29 | PMunch | And ratherAnonymous, I have heard of people using Emacs with Vim. Personally I use Vim |
23:31:46 | dom96 | Can we reach 4 levels of relaying though? |
23:31:49 | dom96 | That would be amazing |
23:31:58 | PMunch | Just make sure not to put them in a loop :P |
23:32:00 | FromGitter | <matrixbot> `ratherAnonymous` whut? My questuon was about code completetion in emacs |
23:32:52 | PMunch | You asked first if anyone was using Emacs :P |
23:32:59 | dom96 | ratherAnonymous: heh, sorry. Afraid I don't use emacs |
23:32:59 | PMunch | dom96, who's Slava Pestov? |
23:33:12 | dom96 | PMunch: Creator of Factor. Now working at Apple on Swift. |
23:33:20 | PMunch | Oh cool |
23:33:28 | dom96 | I distinctly remember using Factor right before settling on Nim |
23:33:38 | FromGitter | <Quelklef> Ooh, factor's the one with the Dinosaur, right? |
23:33:44 | FromGitter | <matrixbot> `ratherAnonymous` irc via erc inside emacs inside tmux inside an emulated terminal inside emacs inside tmux ... inside a terminal |
23:33:47 | dom96 | and talking with him about writing an XPath parser in Factor :) |
23:33:56 | FromGitter | <matrixbot> `ratherAnonymous` slava pestov os this hot pornstar from slovakia |
23:34:00 | dom96 | Quelklef: yep |
23:34:00 | FromGitter | <matrixbot> `ratherAnonymous` oh |
23:34:03 | FromGitter | <matrixbot> `ratherAnonymous` nvm |
23:35:07 | FromGitter | <matrixbot> `ratherAnonymous` i want to watch youtube videos about nim instead of writing it...but there are non left |
23:35:19 | FromGitter | <matrixbot> `ratherAnonymous` first world problems |
23:35:26 | dom96 | Guess I need to make more livestreams :) |
23:36:00 | FromGitter | <matrixbot> `ratherAnonymous` twitch? |
23:36:16 | FromGitter | <matrixbot> `ratherAnonymous` what's your name |
23:36:20 | dom96 | d0m96 |
23:36:31 | dom96 | You probably saw those on YouTube, no? |
23:36:54 | FromGitter | <matrixbot> `ratherAnonymous` if 96 is your birthyear, you' re not that much older than me |
23:37:01 | FromGitter | <matrixbot> `ratherAnonymous` I feel bad for being a noob |
23:37:29 | FromGitter | <matrixbot> `ratherAnonymous` shit, what have I even reached in my life? nothing... |
23:37:32 | FromGitter | <matrixbot> `ratherAnonymous` XD |
23:38:49 | abeaumont | dom96: what did it make you finally choose nim over factor, if I may ask? |
23:39:20 | dom96 | abeaumont: Thinking in RPN was too much of a mind shift :) |
23:39:30 | FromGitter | <matrixbot> `ratherAnonymous` the fact, that I don't know factor |
23:39:33 | FromGitter | <matrixbot> `ratherAnonymous` oh |
23:39:41 | FromGitter | <matrixbot> `ratherAnonymous` Nvm |
23:39:45 | FromGitter | <matrixbot> `ratherAnonymous` lel |
23:39:50 | PMunch | RPN is great dom96 :) |
23:39:51 | FromGitter | <matrixbot> `ratherAnonymous` LUL |
23:39:53 | PMunch | Have you seen min? |
23:40:40 | dom96 | ratherAnonymous: The best time to learn Nim was 8 years ago, the second best time is now ;) |
23:40:44 | abeaumont | only if you have your mind shifted in the first place, I guess =) |
23:41:08 | PMunch | My first calculator was actually RPN, so yeah, got an early start with RPN |
23:41:27 | dom96 | You can see my Factor influence here: https://github.com/dom96/nael :) |
23:42:19 | PMunch | dom96: https://min-lang.org/ |
23:42:28 | FromGitter | <Quelklef> "WTF, something is really wrong with exceptions" Nim's come a long way, eh? |
23:42:42 | abeaumont | curiously many languages are providing syntax to have kind of poor support for RPN (i. e. pipe operator, etc.) |
23:42:42 | dom96 | oh wow. |
23:42:51 | dom96 | That's actually much further than I thought it was |
23:43:19 | dom96 | Fabio (h3rald) really makes some cool stuff. |
23:43:30 | PMunch | Yeah, he's got some cool projects |
23:43:34 | dom96 | Should invite them to join IRC/Gitter :) |
23:43:41 | PMunch | I actually implemented plugin support in Min |
23:44:09 | PMunch | So you can load .so files written in Nim to create new functionality |
23:44:12 | dom96 | Should add eval support to NimBot :) |
23:45:12 | PMunch | Eval support? |
23:45:17 | abeaumont | oh indeed, Min language looks really interesting |
23:45:26 | PMunch | Yeah it's really cool :) |
23:47:17 | dom96 | !min some min code here |
23:47:53 | PMunch | Oh yeah, that would be cool :) |
23:49:23 | * | rockcavera quit (Remote host closed the connection) |
23:50:40 | PMunch | It's pretty small as well |
23:50:44 | PMunch | 1.5M binary |