00:01:00 | * | Hideki_ quit (Remote host closed the connection) |
00:01:48 | * | Hideki_ joined #nim |
00:06:17 | * | Hideki_ quit (Ping timeout: 245 seconds) |
00:37:06 | FromGitter | <awr1> lol |
01:02:07 | * | theelous3 quit (Ping timeout: 245 seconds) |
01:23:32 | leorize | disruptek: nice! |
01:26:45 | leorize | regarding not seeing any exit log is probably due to the fact that I now omit the 'exitcode 0' message |
01:27:06 | leorize | nimsuggest can crash without showing any error code |
01:27:59 | leorize | shashlick: \o/ it does work on windows, but apparantly neovim is too unstable there atm |
01:30:21 | * | krux02_ quit (Remote host closed the connection) |
01:44:58 | * | soasme joined #nim |
01:46:04 | * | soasme quit (Remote host closed the connection) |
02:06:22 | shashlick | i'm on your main branch, what's in refactoring |
02:13:25 | leorize | a rewrite of several things in the plugin |
02:13:29 | leorize | it also fixes some bug |
02:18:07 | leorize | if possible, please switch to it and test if every features is still working correctly :) |
02:18:14 | * | doesntgolf joined #nim |
02:19:21 | shashlick | i have, will keep you posted |
02:58:35 | * | actuallybatman quit (Quit: leaving) |
02:58:38 | * | laaron quit (Remote host closed the connection) |
02:59:18 | * | laaron joined #nim |
03:01:10 | * | laaron quit (Client Quit) |
03:02:56 | FromGitter | <awr1> nim permits compilation when importing multiple modules with conflicting symbols when you fully qualify the ambiguous identifiers at their point of usage, right? |
03:03:07 | * | gangstacat quit (Ping timeout: 276 seconds) |
03:03:11 | FromGitter | <awr1> or are you forced to just use `from xyz import nil` |
03:05:26 | * | gangstacat joined #nim |
03:17:42 | FromGitter | <mratsim> you can fully qualify them |
03:22:29 | * | laaron joined #nim |
03:26:50 | * | endragor joined #nim |
03:35:15 | * | chemist69 quit (Ping timeout: 250 seconds) |
03:37:21 | * | chemist69 joined #nim |
03:55:14 | * | nsf joined #nim |
03:55:55 | * | rockcavera quit (Remote host closed the connection) |
03:59:54 | * | dddddd quit (Remote host closed the connection) |
04:12:03 | * | mal`` quit (Quit: Leaving) |
04:22:17 | * | mal`` joined #nim |
04:32:43 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
04:33:00 | * | laaron joined #nim |
04:38:09 | * | snooptek joined #nim |
04:43:45 | * | fjellfras joined #nim |
04:43:51 | * | doesntgolf quit (Ping timeout: 264 seconds) |
05:28:48 | * | alexander92 quit (Ping timeout: 245 seconds) |
05:30:47 | * | alexander92 joined #nim |
05:41:56 | FromGitter | <gogolxdong> https://www.oschina.net/news/109651/the-chinese-official-site-of-nim |
05:42:56 | FromGitter | <gogolxdong> Will we link https://nim-lang-cn.org/ to https://nim-lang.org/? |
05:43:58 | FromGitter | <gogolxdong> Some people says they have saw five others chinese nim official site. |
05:52:59 | * | narimiran joined #nim |
05:57:50 | Araq | I thought there already is a connection to nim-lang.org |
06:07:06 | * | solitudesf joined #nim |
06:12:03 | * | krux02 joined #nim |
06:14:28 | FromGitter | <gogolxdong> oschina is the biggest open source community in China, this message has been indexed on the first page, it brings 20+ people to our QQ group in two hours. |
06:16:31 | * | PMunch joined #nim |
06:18:49 | FromGitter | <XMatrixXiang> @gogolxdong What is the QQ group number? |
06:20:47 | FromGitter | <gogolxdong> I'm writting the first blog about web full stack developpment in Nim, without knowing the exact theory of Karax and the relationship among Vue.js and React, I will let you review first. |
06:21:09 | FromGitter | <gogolxdong> 469329878 |
06:21:13 | FromGitter | <gogolxdong> @XMatrixXiang |
06:38:22 | * | alexander92 quit (Ping timeout: 245 seconds) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:26 | * | gmpreussner joined #nim |
07:11:40 | * | floppydh joined #nim |
07:37:51 | livcd | cool! |
07:47:59 | FromDiscord_ | <aolko> alrighty |
07:48:03 | FromDiscord_ | <aolko> hi there |
07:48:25 | FromDiscord_ | <aolko> who knows anything about writing interpreters here? |
07:48:30 | FromDiscord_ | <aolko> (in nim) |
07:48:39 | * | absolutejam1 joined #nim |
07:51:03 | PMunch | What kind of interpreter? |
07:51:32 | FromDiscord_ | <aolko> interpreter that can be mounted on apache/nginx |
07:51:54 | FromDiscord_ | <aolko> yes, for a server side scripting language |
07:52:26 | PMunch | Not entirely sure what you mean |
07:53:28 | FromDiscord_ | <aolko> like hack |
07:53:37 | FromDiscord_ | <aolko> (the language) |
07:56:12 | PMunch | So you want to write your own language? |
07:56:14 | FromDiscord_ | <aolko> but instead of HHVM it's apache or nginx |
07:56:25 | FromDiscord_ | <aolko> yes, i do want to write my own language |
07:56:51 | PMunch | Wait, Apache and Nginx aren't execution engines though |
07:57:02 | PMunch | Or I guess Apache does PHP |
07:57:27 | FromDiscord_ | <aolko> it's similar to php but incompatible |
07:57:31 | FromDiscord_ | <aolko> yes, i've spent quite a while researching that |
07:57:31 | FromDiscord_ | <aolko> no, none of the existing solutions work |
07:57:31 | FromDiscord_ | <aolko> no, google doesn't help either |
07:58:48 | PMunch | So you want to write an interpreter, anything in particular you're stuck on |
07:58:48 | FromGitter | <kayabaNerve> Can checks be disabled for a specific block of code via a pragma? |
07:58:53 | FromGitter | <kayabaNerve> Specifically range checks. |
07:58:58 | PMunch | kayabeNerve I think so |
07:59:19 | FromGitter | <kayabaNerve> I think so too except the system docs don't mention checks except for their existence and RangeError |
07:59:43 | FromGitter | <kayabaNerve> I have some code which converts an int to a char and I'm being yelled at since -58 isn't a valid char. |
07:59:54 | FromDiscord_ | <aolko> yes, the whole thing, writing an interpreter, given that my grammar is not based on any known notation and therefore unique |
07:59:59 | FromGitter | <kayabaNerve> I generally have all checks disable, except I want them on for debugging. |
08:00:16 | * | MightyJoe joined #nim |
08:00:19 | FromDiscord_ | <aolko> and it goes, top to bottom, i.e. declare first, use later |
08:00:34 | FromGitter | <kayabaNerve> Found a weird bug where my array object (not a ref) gets set to 0. |
08:00:47 | PMunch | kayabaNerve, ah yeah, that change has broken some of my code as well.. |
08:01:11 | PMunch | What you can do is convert it to a int8 and then cast that to a char |
08:01:37 | * | Vladar joined #nim |
08:01:49 | * | cyraxjoe quit (Ping timeout: 246 seconds) |
08:02:09 | FromDiscord_ | <aolko> PMunch |
08:03:47 | * | narimiran quit (Ping timeout: 245 seconds) |
08:03:50 | * | narimiran_ joined #nim |
08:05:09 | PMunch | kayabaNerve, it appears that just casting is what you should do: https://github.com/nim-lang/Nim/issues/5903 |
08:05:24 | PMunch | aolko, well you would need to implement a parser of course |
08:05:32 | PMunch | There are many libraries out there for Nim to do this |
08:05:37 | FromDiscord_ | <aolko> no deps |
08:05:45 | FromDiscord_ | <aolko> that's one of the conditions |
08:05:45 | PMunch | Well, then you have to write your own |
08:06:06 | FromDiscord_ | <aolko> gee whiz, i wonder ____how____ to do that? |
08:06:24 | FromGitter | <kayabaNerve> Sounds like I need to use the long form cast? |
08:06:31 | FromDiscord_ | <aolko> (heavy emphasis on how, in case you didn't notice) |
08:06:36 | FromGitter | <kayabaNerve> Yep |
08:06:37 | PMunch | And of course some kind of VM that actually keeps the state and stuff for your program |
08:06:42 | FromGitter | <kayabaNerve> I found my problem |
08:06:51 | FromGitter | <kayabaNerve> Invalid memory access since I'm deleting elems as I iterate. |
08:06:54 | FromGitter | <kayabaNerve> Thanks PMunch |
08:06:59 | PMunch | Ah, so you actually want to know how to write a parser aolko? |
08:07:08 | PMunch | kayabaNerve, no problem :) |
08:07:23 | PMunch | And yeah, that's never a good time :P |
08:07:28 | FromDiscord_ | <aolko> Interpreter assumes all the parts within |
08:07:33 | FromDiscord_ | <aolko> including the parser |
08:07:53 | PMunch | Well if you write it in Nim it will all get compiled into one binary anyways |
08:08:03 | PMunch | So the dependencies are only for compile-time |
08:08:09 | FromDiscord_ | <aolko> still |
08:08:12 | * | narimiran_ is now known as narimiran |
08:08:30 | PMunch | Assuming you're not using a library that's just a wrapper for some dynamic library |
08:08:34 | FromDiscord_ | <aolko> and it might be two parsers since unique grammar |
08:08:57 | PMunch | Well every grammar is unique |
08:09:08 | FromDiscord_ | <aolko> no, they use notations |
08:09:18 | FromDiscord_ | <aolko> mine doesn't....well it has it's own |
08:11:08 | FromDiscord_ | <aolko> it goes like https://hastebin.com/ogoqajiqov.coffeescript |
08:11:20 | PMunch | I'm looking for an article about writing parsers in Nim, not entirely sure if that ever got published though.. |
08:11:25 | FromDiscord_ | <aolko> `[% %]` denotes a simplified regex |
08:11:51 | FromDiscord_ | <aolko> please don't shove me articles, there won't be any that'd fit, explain by yourself |
08:15:56 | PMunch | Well I'm not going to sit here typing out a full article if I can find the one I'm thinking about. It essentially walks you through how to write parsers in Nim, which is exactly what you're looking for |
08:16:33 | PMunch | Ah, so you want to create a parser generator? |
08:16:50 | PMunch | Looking at your grammar snippet. Or was that just for illustration? |
08:18:12 | FromDiscord_ | <aolko> if a parser generator is an option - maybe, so far i want a working interpreter + apache/nginx bind + stdlib |
08:18:21 | PMunch | Writing parsers can be a bit daunting, I would know, I've written a couple. But as long as your grammar is fairly straight-forward, then it should be pretty easy once you get the hang of it |
08:18:40 | FromDiscord_ | <aolko> mine is straightforward, as you can see |
08:18:49 | PMunch | Still not entirely sure how you think this should hook into Apache/Nginx though |
08:18:54 | FromDiscord_ | <aolko> it's inspired by treetop and css |
08:19:01 | PMunch | Yeah if that's the entire thing it should be fairly simple |
08:19:09 | FromDiscord_ | <aolko> like wsgi/fcgi/php-npm? |
08:19:40 | FromDiscord_ | <aolko> that's another condition - entire source should be simple for every average Joe to tweak and build |
08:20:07 | FromDiscord_ | <aolko> like wsgi/fcgi/php-fpm? |
08:20:29 | PMunch | Huh, never heard of those before. But it seems like it should be doable |
08:20:53 | FromDiscord_ | <aolko> wsgi/fcgi - python/ruby |
08:21:11 | PMunch | Well how simple your source ends up being is a factor of many things |
08:21:20 | FromDiscord_ | <aolko> it's a goal |
08:21:26 | PMunch | And a good one |
08:21:32 | PMunch | Clean source code is always nice |
08:21:55 | FromDiscord_ | <aolko> if it can't be simple that we should make sure that we have a damn simple tools to fiddle with it then |
08:23:01 | PMunch | What I did when I rewrote the TOML parser in Nim was to create a dot/graphviz file that coded the grammar, makes it a bit easier to see the logic of the code. |
08:23:47 | FromDiscord_ | <aolko> and tools would mean gui-based editors |
08:23:58 | FromDiscord_ | <aolko> like GOLD or similar |
08:24:21 | FromDiscord_ | <aolko> http://www.goldparser.org/builder/screenshots.htm |
08:25:04 | PMunch | Well if you make a DSL then it should be fairly easy to edit and change |
08:25:38 | FromDiscord_ | <aolko> no dsls so far, at least for now |
08:26:10 | PMunch | Well as I wrote about in a recent article they can really help with read and maintainability |
08:26:37 | PMunch | That was actually about a small toy language I was writing, so the entire thing might be interesting for you: https://peterme.net/metaprogramming-and-read-and-maintainability-in-nim.html |
08:27:18 | FromDiscord_ | <aolko> please, no articles, just step-by-step instructions |
08:27:46 | PMunch | I was tired of writing parsers at that point though, so it is essentially just split the string on spaces and run each token as a command or a number :P |
08:28:08 | PMunch | Well, I don't have time to sit around and hold your hand while you do this, so you will have to do some research of your own at some point |
08:28:19 | FromDiscord_ | <aolko> and if PEG can skip tokenization/AST i guess my grammar can too |
08:28:48 | FromDiscord_ | <aolko> i've told you, i did a research and i've fed up at this point |
08:29:01 | PMunch | This module from the stdlib might be helpful to you as well: https://nim-lang.org/docs/parseutils.html |
08:29:07 | * | disruptek quit (Ping timeout: 246 seconds) |
08:29:18 | FromDiscord_ | <aolko> that's a dependency |
08:29:26 | PMunch | It's in the Nim stdlib |
08:29:32 | PMunch | So if you have Nim you have that module |
08:29:49 | * | snooptek quit (Ping timeout: 246 seconds) |
08:29:55 | PMunch | You're going to have a bad time if you want to re-implement the stdlib as well.. |
08:30:17 | PMunch | Your project already seem to have a large scope, no reason to make it vastly larger. |
08:31:00 | FromDiscord_ | <aolko> and yes, i'm one man, not a powerhouse of several developers 😛 |
08:31:47 | FromDiscord_ | <aolko> and by simples source i mean not only clean code, but __simple__ sources |
08:31:57 | * | disruptek joined #nim |
08:32:00 | FromDiscord_ | <aolko> no simpler than a bunch of functions |
08:43:23 | * | noonien quit (Quit: Connection closed for inactivity) |
08:43:26 | Araq | __simple__ is not an objective criterion and usually just a synonsym with "familiar" |
08:43:59 | Araq | there is nothing "simple" about functions and the involved parameter passing semantics when you start programming |
08:46:14 | * | absolutejam1 quit (Ping timeout: 268 seconds) |
08:50:28 | FromDiscord_ | <me2beats> I would say the simple is that it is closer to human thinking. for example, assembler is not how a person thinks imo. |
08:54:10 | * | gangstacat quit (Quit: Ĝis!) |
08:54:16 | Araq | for many people assembler is simple ;-) |
08:54:35 | Araq | there is of course a difference between "simple to implement", "simple to teach", and "simple to use" |
08:58:18 | * | absolutejam1 joined #nim |
08:59:24 | FromDiscord_ | <Kiloneie> I imagine how long and how hard it was using assembler to make all those amazing games on SNES and older. I don't think i ever wanna try that out D: |
09:00:30 | Araq | development time back then: about 1 year |
09:00:43 | Araq | development time for a game now: N years |
09:00:51 | FromDiscord_ | <Kiloneie> How big were the teams though ? |
09:01:02 | Araq | smaller than nowadays |
09:01:54 | FromDiscord_ | <Kiloneie> I really loved Zelda a Link To The Past, i wish they made more like it. |
09:02:55 | * | absolutejam1 quit (Ping timeout: 244 seconds) |
09:09:40 | FromDiscord_ | <Kiloneie> Well nowadays games all want to be 3D(atleast company ones) and 3D is a pain... an indie team for a 2D game ? 1 programmer, 1 graphics artist, 1 music/sound artist, 1 desginer, 4 people can do it, or even 3, but 3D ? oh man it nearly doubles instantly. |
09:17:20 | FromDiscord_ | <Kiloneie> I hope we can make an engine in Nim like Godot Engine one day, that would be great. |
09:23:30 | FromDiscord_ | <aolko> simple as in simple and intuitive |
09:23:44 | FromDiscord_ | <aolko> like ruby/python/lua/apple products |
09:23:52 | FromDiscord_ | <aolko> brb |
09:26:22 | * | ng0 joined #nim |
09:28:19 | FromGitter | <zacharycarter> Kiloneie: Just use Godot :P |
09:29:13 | FromDiscord_ | <Kiloneie> I will once i will get back to game dev, but i'd rather use Nim with it, ALTHOUGH Nim is so damn similar to Godot especially if you use it's 3.1 feature of type casting(and not dynamic typing) |
09:29:21 | FromDiscord_ | <aolko> so yeah |
09:29:27 | FromGitter | <zacharycarter> use GDNative |
09:29:53 | FromGitter | <zacharycarter> I don't think Nim is very similar to GDScript - maybe in terms of syntax but that would be about it |
09:29:58 | FromDiscord_ | <aolko> also simple as in even 4-7yo kid can get that |
09:30:10 | FromDiscord_ | <Kiloneie> Godot ? it can't |
09:30:21 | FromGitter | <zacharycarter> can't what?\ |
09:30:22 | Araq | 7yo kids will never understand parsers |
09:30:34 | Araq | how do I know? I have one. |
09:30:35 | FromDiscord_ | <aolko> the goal is |
09:30:36 | FromGitter | <zacharycarter> Are there 7 year olds that know Ruby? I doubt it |
09:30:38 | FromDiscord_ | <aolko> wuth this one |
09:30:45 | FromDiscord_ | <aolko> with this one that is* |
09:30:58 | FromDiscord_ | <Kiloneie> i started with Game Maker when i was 11 and it was damn hard back then, now it's obsolete, Godot destroys it, it's language is too limiting |
09:31:13 | FromDiscord_ | <aolko> i ain't talking about godot |
09:31:24 | * | absolutejam1 joined #nim |
09:31:32 | FromGitter | <zacharycarter> well the only real similarities Godot shares with Game Maker is that you can make games with them |
09:31:43 | FromDiscord_ | <aolko> construct classic owns godot any day |
09:31:52 | FromDiscord_ | <aolko> because of it's simple event system |
09:32:04 | FromDiscord_ | <Kiloneie> Well GM is for pure beginners, Godot requires more, but it can do more, faster |
09:32:05 | FromGitter | <zacharycarter> and unity / UE4 own all of these engines |
09:32:12 | FromDiscord_ | <Kiloneie> i don't like Construct at all |
09:32:18 | FromDiscord_ | <Kiloneie> i tried it and..... uhhh.... |
09:32:25 | FromGitter | <zacharycarter> but you can already use Nim with Godot via GDNative |
09:32:40 | FromDiscord_ | <aolko> godot people are too pretentious with their "Oh We AiM aT pRoFeSsIoNaLs" |
09:32:43 | FromGitter | <zacharycarter> but you can probably do the same things you do with Godot with SDL2 + Nim |
09:32:47 | FromDiscord_ | <Kiloneie> i know that, will try it one day, got too much stuff to do right now with Nim |
09:34:05 | FromDiscord_ | <Kiloneie> Should be able to pump out 2-3 videos for Nim this weekend(no promises), i am trying to make a really good introduction and tutorial for non beginners to use Nim. |
09:35:05 | FromDiscord_ | <aolko> so,Araq |
09:35:21 | FromDiscord_ | <aolko> do you really know the thing or just chiming in? |
09:36:11 | * | absolutejam1 quit (Ping timeout: 268 seconds) |
09:38:00 | Araq | do I really know how to write parsers? yes, I think I do. |
09:38:14 | FromGitter | <zacharycarter> aolko: Araq is the creator of Nim just FYI |
09:39:18 | FromDiscord_ | <Kiloneie> Now i know, i thought someone might be the author in here xD... Praise to you. |
09:39:55 | narimiran | @zacharycarter argh, you ruined potentially very interesting conversation! :D |
09:40:12 | Araq | aolko, I think I remember you, you occasionally show up here and ask about "__simple__" parsers and nothing is ever simple enough for you. |
09:40:20 | FromGitter | <zacharycarter> well - I figured I'd save us all some grief :P I still don't even know what aolko is trying to ask / get at |
09:40:22 | Zevv | npeg! :) |
09:40:57 | Zevv | (shut the *** up zevv!) |
09:41:30 | FromDiscord_ | <aolko> well, big whoop, someone who actually can remember past events |
09:41:34 | Araq | and well, if nothing is ever simple enough for you, maybe it's you and not the code. |
09:42:01 | FromDiscord_ | <aolko> maybe stop blabbing and start explaining, how about that? |
09:42:14 | Araq | how about you buy a book and read it? |
09:42:21 | Araq | we gave you plenty of suggestions back then |
09:42:42 | narimiran | ok, @zacharycarter didn't kill *all* of the fun :) |
09:42:44 | FromDiscord_ | <aolko> how about you cut it out, i've explained why i won't do that beforehand |
09:43:05 | Zevv | ooooooh |
09:43:22 | narimiran | "yo' mamma is so fat....." |
09:43:51 | FromDiscord_ | <aolko> more like fat32 |
09:44:09 | FromDiscord_ | <Kiloneie> Guys, chill out. |
09:44:24 | FromDiscord_ | <aolko> i am chill, sick and tired and chill |
09:45:46 | FromDiscord_ | <Kiloneie> You gotta try to do things more on your own than asking other to explain, do them for you, it's the best way to learn, regardless of how long it takes. I once took a month to fix a bug that was really simple, did i lose my shit ? Yes, but i did learn. |
09:46:12 | * | fjellfras_ joined #nim |
09:46:54 | Araq | aolko: read this https://github.com/stravant/LuaMinify/blob/master/ParseLua.lua it's written in Lua and uses functions |
09:46:59 | FromDiscord_ | <aolko> okay, how do you expect a person to do something when the question of how wasn't even answered, because nobody bothered to even sratch their heads in order to answer it |
09:47:23 | FromDiscord_ | <aolko> note for big brain people: i am not writing in lua |
09:47:30 | FromDiscord_ | <Kiloneie> Google, a lot ? |
09:47:35 | FromDiscord_ | <aolko> nor my language is based on lua |
09:47:59 | * | fjellfras quit (Ping timeout: 258 seconds) |
09:48:09 | * | ng0 quit (Remote host closed the connection) |
09:48:18 | FromDiscord_ | <aolko> @Kiloneie do that for 6 months and i'll look at you in the eye with a smirk and a google/article/blabber link |
09:48:43 | FromDiscord_ | <aolko> and i'll see how you'll start losing your shit |
09:49:15 | * | gangstacat joined #nim |
09:50:05 | FromGitter | <zacharycarter> aolko: what is your question even? You came in here saying you wanted to write an interpreter in Nim. People have already written interpreters in Nim |
09:50:20 | FromGitter | <zacharycarter> you said google couldn't answer your question... maybe you should spend some time actually thinking about what your question is |
09:50:23 | * | ng0 joined #nim |
09:50:42 | FromGitter | <zacharycarter> because all you've done since you joined this chat is spewed a bunch of nonsense - and you can't expect us to answer nonsense questions |
09:50:47 | Araq | we have answered the question multiple times already, enough of this |
09:51:13 | FromDiscord_ | <aolko> you maybe think you did, but no one did in reality |
09:51:42 | Araq | maybe #nim is not #Icannotwriteparserspleasewritemeanessay |
09:52:01 | FromDiscord_ | <me2beats> Step by step |
09:52:05 | Araq | you should create this channel and invite people to it |
09:52:15 | narimiran | but surely is #weContinuallyFeedTrolls |
09:52:22 | FromDiscord_ | <aolko> you should not try to manipulate people |
09:52:56 | FromGitter | <zacharycarter> b7 time |
09:53:30 | PMunch | Ay Kiloneie, I also started using GameMaker around 10-11 yo |
09:53:58 | PMunch | Actually how I started getting better at English as well, by trying to figure it out through the forums |
09:55:08 | FromDiscord_ | <Kiloneie> Yeh same, it was hard enough understanding what all that jargon english means, yet alone what the code does |
09:55:22 | FromDiscord_ | <aolko> So, PMunch, that url above is how __not__ to write a parser 101 since it has hardcoded grammar |
09:56:52 | * | clyybber joined #nim |
09:57:28 | FromDiscord_ | <Kiloneie> I did do a demo of a game i was making years ago, but it was too ambitious. When i returned to it a year or two ago, everything made sense, i did such mistakes it was a pain looking at my old code. Then i found Godot, and everything you can do in Game Maker, is much easier in Godot. (Game Maker also used to be slow as hell, that demo actually went under 30 fps with just a few particle effects running around on a 3K by 3K pixel map) |
09:58:21 | FromDiscord_ | <Kiloneie> Took me years of looking till i found Nim my perfect language, Pure Basic was close, that thing was dying though... |
10:00:31 | PMunch | Kiloneie, yeah I remember looking at some of my old game code. Lot's of obvious mistakes :P |
10:00:44 | PMunch | But you learn as long as you live right? |
10:00:58 | Araq | http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf still worth reading for PMunch and others |
10:01:34 | PMunch | Oh, interesting |
10:03:57 | FromDiscord_ | <Kiloneie> Yep, it was fun, i needed that, i got bored of games back then, i played Warcraft 3 for like a decade. Right now i want to make a living, do what i want to do, anything with Nim, Game Dev, playing games. So i am focusing right now on making Nim video tutorials(written also, buit i fcked my domain by trying out Wix premium -.- oops, too much work for starters anyways). I am doing this because i got like no views playing the game i got real |
10:04:29 | FromDiscord_ | <Kiloneie> What games did you try to make ? Mine was supposed to be a multiplayer build a straship and battle game with inside of the ship micro managing. |
10:05:24 | FromGitter | <zacharycarter> not to be an ass - but I think off-topic would be a better place for this convo |
10:06:22 | FromDiscord_ | <Kiloneie> Yeah sorry, not many actually use that one though. |
10:06:48 | * | fjellfras joined #nim |
10:06:50 | FromGitter | <zacharycarter> No worries - but better to leave this one for convos focused on Nim |
10:06:57 | clyybber | zacharycarter: I'd say as long as it is not interfering with any on-topic discussion it's okay? |
10:07:24 | FromGitter | <zacharycarter> fine with me |
10:08:15 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
10:08:33 | FromDiscord_ | <Kiloneie> I have a question, if i put up a video introducing Nim(i know i said something similar a few weeks ago, stuff came in between woops...) in the next few days, will you guys watch it and give your thoughts ? I really want to make it correct and GREAT, big views wiii... |
10:08:57 | Araq | I will |
10:09:04 | * | fjellfras_ quit (Ping timeout: 258 seconds) |
10:09:30 | * | absolutejam1 joined #nim |
10:09:31 | clyybber | I will too |
10:09:34 | FromDiscord_ | <Kiloneie> Do you want to read the synopsis before hand ? I haven't finished it yet, but close. |
10:10:16 | Araq | yes |
10:10:50 | * | laaron joined #nim |
10:11:47 | FromDiscord_ | <Kiloneie> https://justpaste.it/7kf11 |
10:14:13 | * | absolutejam1 quit (Ping timeout: 245 seconds) |
10:14:23 | Araq | kiloneie: too generic |
10:14:50 | Araq | don't just repeat what the website says, maybe make a video that shows how to install Nim |
10:14:55 | FromDiscord_ | <Kiloneie> Okay, how about the tutorial itself: https://justpaste.it/3kad3 |
10:15:10 | Araq | then a video how to handle command line arguments |
10:15:26 | Araq | then a video that shows some os.nim features (iterate over directories etc) |
10:15:37 | Araq | then a video about basic IO |
10:16:37 | Araq | and then about how to use Nim with Godot, or SDL2 or ... |
10:16:57 | Araq | depending on your expertise and preferences |
10:17:19 | FromDiscord_ | <Kiloneie> I am seeing myself doing that sometime after teaching all the basics, objects and such |
10:17:45 | FromDiscord_ | <Kiloneie> how about the tutorial i linked though ? Do you like that one more ? https://justpaste.it/3kad3 |
10:18:48 | Araq | yes, indeed |
10:22:33 | livcd | i cant load it |
10:22:34 | livcd | weird |
10:23:42 | FromDiscord_ | <Kiloneie> let me re paste it |
10:24:42 | livcd | it's good now |
10:24:49 | livcd | cloudflare showed that it's down |
10:24:55 | FromDiscord_ | <Kiloneie> http://oneclickpaste.com/98121/ |
10:25:00 | FromDiscord_ | <Kiloneie> okay heres a ssecond one |
10:25:06 | FromDiscord_ | <Kiloneie> just in case |
10:37:45 | FromDiscord_ | <Kiloneie> Araq: when you meant to generic, did you also mean explaining when it was made ? |
10:37:45 | FromDiscord_ | <Kiloneie> |
10:37:45 | FromDiscord_ | <Kiloneie> I know i gotta get to the point of explaining exactly why one would want to use it, and yeah didn't nail that one yet., should be 0 references to the website, all of that should be in the EXTRA links in the description. |
10:37:45 | FromDiscord_ | <Kiloneie> |
10:37:48 | FromDiscord_ | <Kiloneie> Should i compare it with C and Python or not ? Me and my friend both thought it was a good idea, since how popular those languages are, and how unknown Nim is. |
10:42:55 | Araq | Kiloneie: compare it or not, the point is don't give a long talk about what is basically also covered by our index.html webpage |
10:44:51 | FromDiscord_ | <Kiloneie> Okay, i will try to dumb it down as much as i can. |
10:47:16 | FromDiscord_ | <Kiloneie> I will take a look at some books, especially my copy of Game Maker's Apprentice and how IT appealed to me. |
10:47:32 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
10:48:04 | * | laaron joined #nim |
10:52:06 | PMunch | Oh yeah, I remember when that book came out, pretty decent read |
10:52:28 | PMunch | I was making different kinds of games, but nothing that ever got finished.. |
10:53:05 | FromDiscord_ | <Kiloneie> The Companion one didn't ring a bell with me, that one was sub par. |
10:59:39 | FromGitter | <mratsim> I remember trying RPG maker when I was like 15 |
10:59:43 | euantor | Thanks for merging my PRs Araq :) |
11:00:48 | * | krux02 quit (Remote host closed the connection) |
11:01:21 | PMunch | Kiloneie, The Companion? |
11:01:31 | PMunch | mratsim, oh yeah RPG maker was fun |
11:01:32 | Araq | euantor, ah if you're here |
11:01:44 | Araq | are your additions based on detect.nim's output? |
11:01:54 | euantor | I'm usually idling about, feel free to ping if/when needed |
11:02:19 | euantor | detect.nim doesn't work on OpenBSD unfortunately: https://github.com/nim-lang/Nim/issues/12138 |
11:02:26 | euantor | And I'm too dumb to figure out what the problem is |
11:03:29 | euantor | I have a bunch more OpenBSD issues too, see here for a paste of the errors from runCI: https://github.com/nim-lang/Nim/pull/12105#issuecomment-528444310 |
11:21:43 | * | abm joined #nim |
11:51:14 | livcd | serious question: Is "Nim" selling commercial support ? |
11:53:36 | * | rockcavera joined #nim |
11:54:18 | livcd | Ah I see |
11:54:38 | * | Jesin quit (Ping timeout: 245 seconds) |
11:55:00 | * | Jesin joined #nim |
11:55:18 | * | fjellfras quit (Quit: Leaving) |
12:32:04 | Araq | livcd, yes |
12:43:22 | Zevv | http://ix.io/1Uqp because everybody loves boxes and arrows \o/ |
12:44:02 | PMunch | Ooh fancy |
12:44:22 | Zevv | because ascii, right? |
12:44:42 | PMunch | Yeah I don't think I've even seen a diagram like that in ASCII before |
12:45:09 | Zevv | not sure if it is actually more readable than the source, but still, fun to make :) |
12:45:41 | * | laaron quit (Remote host closed the connection) |
12:45:57 | PMunch | I really like that kind of diagram, so I'm all for it :) |
12:46:01 | PMunch | Is it auto-generated? |
12:46:23 | Zevv | of course, that's the idea |
12:47:57 | FromGitter | <kaushalmodi> Zevv: I don't understand that diagram, but + |
12:48:04 | Zevv | haha |
12:48:05 | FromGitter | <kaushalmodi> .. +1 for ascii diagrams! :D |
12:49:14 | * | nsf quit (Quit: WeeChat 2.5) |
12:49:23 | FromGitter | <kaushalmodi> I like non-gui diagram generators.. whether the final outcome is ascii or not, the diagram source should be ascii |
12:49:28 | FromGitter | <kaushalmodi> so PlantUML rocks |
12:49:28 | * | laaron joined #nim |
12:50:17 | Zevv | if only it did railroad diagrams |
12:50:53 | FromGitter | <kaushalmodi> TIL this ( https://en.wikipedia.org/wiki/Syntax_diagram ) is a thing.. huh |
12:50:56 | * | theelous3 joined #nim |
12:51:40 | * | laaron quit (Client Quit) |
12:55:00 | PMunch | Yeah dot/graphviz doesn't do railroad diagrams either :( |
12:55:06 | PMunch | At least not in any easy way.. |
12:56:03 | * | laaron joined #nim |
13:02:16 | * | Hideki_ joined #nim |
13:06:41 | * | adeohluwa joined #nim |
13:12:43 | * | dddddd joined #nim |
13:14:01 | * | adeohluwa quit (Ping timeout: 246 seconds) |
13:29:31 | * | endragor quit (Remote host closed the connection) |
13:31:45 | * | adeohluwa joined #nim |
13:38:16 | disruptek | under which (if any, or all) scenarios are concepts so broken that i shouldn't use them? |
13:41:24 | disruptek | kaushalmodi: http://nomnoml.com/ |
13:46:13 | * | shadowbane quit (Quit: Konversation terminated!) |
13:48:53 | Araq | disruptek: it's hard to answer for me |
13:49:06 | Araq | I do mind their design much moreso than the implementation bugs |
13:49:27 | disruptek | do you not want to see them in code? |
13:49:46 | disruptek | i think the answer to that is as good an answer as i need. ;-) |
13:50:14 | Araq | it's fine to use them if you don't mind to rewrite the declarations eventually when we figured them out |
13:50:38 | Araq | time to write my RCF I guess |
13:50:50 | disruptek | a related question is whether there is a not-very-painful way to do the same thing? |
13:51:21 | * | floppydh quit (Quit: WeeChat 2.5) |
13:51:31 | FromGitter | <mratsim> They do work for the couple parts that I need |
13:51:53 | disruptek | i'm only asking because i've waited a long time to hear some real arguments on them but it seems few people talk about the real issues. |
13:52:09 | * | shadowbane joined #nim |
13:55:08 | Araq | well let's start with the fact that |
13:55:09 | Araq | proc p(x: ConceptHere) |
13:55:09 | Araq | can be written as |
13:55:09 | Araq | proc p[T](x: T) |
13:55:10 | Araq | to a good approximation, the T variant gets less type-checking |
13:55:11 | Araq | and might not be overloading-friendly |
13:55:14 | Araq | but it allows you to write anything in p's body as generics are close to C++'s templates |
13:56:06 | disruptek | so far so good. ;-) |
13:57:16 | Araq | and IMO concepts should deal with the generic type system loopholes, they should be our ticket to type-checked generics |
13:57:59 | Araq | and in their current form they don't, so their complexity doesn't bring enough value |
13:58:53 | disruptek | ah, that makes sense. so it's an impl issue. |
13:59:04 | Araq | no, it's a spec issue. |
13:59:12 | Araq | we need a spec. |
13:59:45 | disruptek | oh, it's just too abstract a concept for the compiler to vet? |
14:00:22 | livcd | disruptek: whoa that's cool |
14:01:15 | Araq | no, Nim moved on. we don't follow the "principle of least surprise" anymore, it's a desaster for language design. We follow "write a spec, implement the spec, notice how they diverge" |
14:01:56 | disruptek | then i will wait for the spec, thanks. :-) |
14:02:11 | * | PMunch quit (Remote host closed the connection) |
14:03:48 | disruptek | livcd: yeah, it's something i'd like to see in nim. maybe we can build something that can do railroad diagrams or force-directed as a stylistic flavor of the same engine. |
14:04:18 | * | Hideki_ quit (Remote host closed the connection) |
14:04:52 | * | Hideki_ joined #nim |
14:09:25 | * | Hideki_ quit (Ping timeout: 258 seconds) |
14:12:58 | * | adeohluwa quit (Ping timeout: 245 seconds) |
14:13:05 | * | adeohluwa joined #nim |
14:13:15 | * | Hideki_ joined #nim |
14:27:18 | * | owl_000 joined #nim |
14:28:47 | owl_000 | what is `defer`, ttps://nim-by-example.github.io/files/ examples are not working. Error: defer statement not supported at top level, where to put it? |
14:29:38 | * | adeohluwa quit (Ping timeout: 245 seconds) |
14:29:45 | FromGitter | <alehander42> it "defers" something to be ran in the end of a function call |
14:30:01 | FromGitter | <alehander42> hm .. does it add a "finally" handler ? |
14:30:03 | FromGitter | <alehander42> not sure |
14:30:37 | FromGitter | <alehander42> probably it doesnt make sense to run on top level, as with the finish of the program most things are released |
14:30:56 | owl_000 | oh, i dunno |
14:34:21 | FromGitter | <awr1> in a loose sense it attaches things to execute at the end of the current lexical scope |
14:35:05 | FromGitter | <awr1> it is slightly more complicated than that in reality though |
14:35:48 | owl_000 | so why the examples are not working? |
14:36:08 | FromGitter | <awr1> because it's tied into the exception system and tries to guarante itself to execute even if exceptions are raised |
14:36:27 | FromGitter | <awr1> which examples don't work? |
14:36:53 | owl_000 | 2nd and 3rd |
14:37:12 | FromGitter | <awr1> oh just put it all in a `block` |
14:38:05 | FromGitter | <awr1> https://play.nim-lang.org/#ix=1UqK |
14:39:21 | owl_000 | thanks it is working now |
14:41:15 | owl_000 | not supported at top level, top level means toooplevel, and other are inside something. |
14:50:29 | clyybber | Reminds me of wanting to make defer work at toplevel |
14:50:31 | Araq | don't use 'defer' ;-) |
14:50:35 | * | Araq hates defer... |
14:50:51 | clyybber | Why? |
14:54:03 | Araq | because it's unclear which scope it refers to, it only works because every other language construct in Nim actually has sane scoping |
14:54:55 | Araq | design a 'defer'-like 'if' statement to see for yourself |
14:54:58 | FromGitter | <alehander42> defer is a bit like COMEFROM |
14:55:01 | FromGitter | <alehander42> maybe? |
14:55:11 | FromGitter | <alehander42> comefrom <error location/finish location> |
14:56:04 | Araq | do(); defer: undo() is not clear code, the connection between 'do' and 'undo' is still not written down |
14:56:58 | Araq | something like do() ~> undo() might work |
14:57:06 | * | endragor joined #nim |
14:58:23 | Araq | I wouldn't say it's COMEFROM, but it's a weird beast |
14:59:17 | FromGitter | <alehander42> well, its a bit like ⏎ COMEFROM end_of_artificial_finally_added_to_end_scope ⏎ compiler_try { other code } ⏎ compiler_inserted_finally (label) [https://gitter.im/nim-lang/Nim?at=5d72744471aa13329fcf684d] |
14:59:21 | FromGitter | <alehander42> but i might be wrong |
14:59:51 | FromGitter | <alehander42> (it's more like comefrom : do x; goto after_end ) |
15:01:49 | * | Hideki_ quit (Remote host closed the connection) |
15:02:26 | * | Hideki_ joined #nim |
15:05:22 | FromGitter | <awr1> defer *can be* useful for things that require manual cleanup because it syntactically couples initialization with destruction |
15:05:59 | Araq | but it doesn't as I've tried to explain |
15:06:14 | FromGitter | <awr1> i should have said "could be" |
15:07:03 | FromGitter | <awr1> also i didn't see |
15:08:07 | * | Hideki_ quit (Ping timeout: 246 seconds) |
15:17:15 | shashlick | Does C system() inherit the parent process environment? |
15:27:41 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
15:28:48 | * | go|dfish quit (Ping timeout: 245 seconds) |
15:29:08 | * | laaron joined #nim |
15:32:22 | Araq | I think so |
15:35:41 | disruptek | anyone know why StringStream isn't avail in js backend? |
15:37:41 | Araq | it's hard to port, I gave it a shot |
15:38:06 | disruptek | okie, thanks. |
15:39:22 | disruptek | it's surprising that i can't read json at compile-time when compiling to js, but i guess i don't care if i can't read yaml, either. ;-) |
15:40:04 | * | endragor quit (Remote host closed the connection) |
15:43:08 | * | Hideki_ joined #nim |
15:46:55 | * | clyybber quit (Quit: WeeChat 2.5) |
15:47:20 | FromGitter | <alehander42> i still dont undestand |
15:47:29 | FromGitter | <alehander42> why CT code depends on the runtime target |
15:48:04 | FromGitter | <alehander42> it is just platform-independent bytecode |
15:48:14 | FromGitter | <alehander42> is it because of using CT generated values |
15:48:42 | * | Hideki_ quit (Ping timeout: 258 seconds) |
15:49:15 | Araq | because of sizeof(T) |
15:49:52 | FromGitter | <alehander42> but what does it matter |
15:49:53 | Araq | but usually there is not a technical problem really, it's however really hard to write code that works at CT, at runtime and with the JS backend at the same time... |
15:50:05 | FromGitter | <alehander42> ah, probably |
15:50:11 | FromGitter | <alehander42> so i guess staticExec should work |
15:50:16 | FromGitter | <alehander42> for those json cases disruptek |
15:50:28 | FromGitter | <alehander42> both for yaml and json? |
15:53:52 | disruptek | sorry, bot went awol |
15:53:53 | * | snooptek joined #nim |
15:54:22 | disruptek | i don't need staticExec, as if it was capable of doing anything good, i'd ask the user to do it for me. |
15:55:16 | * | Trustable joined #nim |
15:55:37 | FromGitter | <alehander42> what is the problem with it: |
15:55:46 | FromGitter | <alehander42> distributing a callable binary to call? |
15:56:08 | FromGitter | <alehander42> this theoretically is not a problem, as you can call your own binary with different args |
15:56:11 | disruptek | the maintainer of `yq` already does that. |
15:56:33 | FromGitter | <alehander42> wait, the last part doesnt really make sense nvm |
16:06:30 | * | laaron- joined #nim |
16:07:13 | * | laaron quit (Remote host closed the connection) |
16:16:24 | * | laaron- quit (Remote host closed the connection) |
16:17:03 | * | owl_000 quit (Ping timeout: 250 seconds) |
16:21:01 | * | zielmicha[m]1 quit (Remote host closed the connection) |
16:21:02 | * | leorize[m] quit (Remote host closed the connection) |
16:21:03 | * | BitPuffin quit (Read error: Connection reset by peer) |
16:21:12 | * | Miguelngel[m] quit (Remote host closed the connection) |
16:21:15 | * | yglukhov[m] quit (Read error: Connection reset by peer) |
16:21:17 | * | pigmej[m] quit (Write error: Connection reset by peer) |
16:21:18 | * | lqdev[m] quit (Read error: Connection reset by peer) |
16:21:18 | * | encryptize[m] quit (Read error: Connection reset by peer) |
16:21:18 | * | skrylar[m] quit (Read error: Connection reset by peer) |
16:21:18 | * | xomachine[m] quit (Read error: Connection reset by peer) |
16:21:19 | * | spymasterd[m] quit (Read error: Connection reset by peer) |
16:21:22 | * | jaens[m] quit (Remote host closed the connection) |
16:21:23 | * | planetis[m] quit (Remote host closed the connection) |
16:21:28 | * | TheManiac[m] quit (Write error: Connection reset by peer) |
16:21:28 | * | Connor[m] quit (Remote host closed the connection) |
16:21:28 | * | isaac[m]1 quit (Read error: Connection reset by peer) |
16:21:29 | * | narimiran[m] quit (Read error: Connection reset by peer) |
16:21:30 | * | gh0st[m] quit (Write error: Connection reset by peer) |
16:21:31 | * | nergal[m] quit (Write error: Connection reset by peer) |
16:21:31 | * | LEdoian[m] quit (Write error: Connection reset by peer) |
16:21:32 | * | macsek1911[m] quit (Remote host closed the connection) |
16:21:33 | * | muxueqz[m] quit (Remote host closed the connection) |
16:21:36 | * | GitterIntegratio quit (Write error: Connection reset by peer) |
16:21:36 | * | k0mpjut0r quit (Write error: Connection reset by peer) |
16:21:37 | * | Demos[m] quit (Read error: Connection reset by peer) |
16:21:37 | * | meff[m] quit (Write error: Connection reset by peer) |
16:21:40 | * | disruptek o7 |
16:29:30 | * | laaron joined #nim |
16:32:48 | * | planetis[m] joined #nim |
16:33:58 | * | laaron quit (Client Quit) |
16:34:49 | * | laaron joined #nim |
16:37:10 | * | laaron quit (Remote host closed the connection) |
16:39:27 | * | arecaceae quit (Remote host closed the connection) |
16:39:51 | * | arecaceae joined #nim |
16:40:11 | * | laaron joined #nim |
16:47:30 | * | doesntgolf joined #nim |
16:48:09 | * | vesper11 quit (Quit: ZNC 1.7.3 - https://znc.in) |
16:48:32 | * | vesper11 joined #nim |
16:50:55 | * | laaron- joined #nim |
16:51:05 | * | tiorock joined #nim |
16:51:05 | * | tiorock quit (Changing host) |
16:51:05 | * | tiorock joined #nim |
16:51:05 | * | rockcavera quit (Killed (sinisalo.freenode.net (Nickname regained by services))) |
16:51:05 | * | tiorock is now known as rockcavera |
16:53:40 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
16:54:49 | * | LEdoian[m] joined #nim |
16:54:49 | * | Connor[m] joined #nim |
16:54:49 | * | BitPuffin joined #nim |
16:54:49 | * | Demos[m] joined #nim |
16:54:50 | * | isaac[m]1 joined #nim |
16:54:50 | * | k0mpjut0r joined #nim |
16:54:50 | * | leorize[m] joined #nim |
16:54:50 | * | gh0st[m] joined #nim |
16:54:50 | * | nergal[m] joined #nim |
16:54:50 | * | GitterIntegratio joined #nim |
16:54:51 | * | pigmej[m] joined #nim |
16:54:51 | * | jaens[m] joined #nim |
16:54:51 | * | lqdev[m] joined #nim |
16:54:56 | * | TheManiac[m] joined #nim |
16:54:56 | * | spymasterd[m] joined #nim |
16:54:57 | * | encryptize[m] joined #nim |
16:54:57 | * | xomachine[m] joined #nim |
16:54:57 | * | narimiran[m] joined #nim |
16:54:57 | * | yglukhov[m] joined #nim |
16:54:57 | * | Miguelngel[m] joined #nim |
16:54:57 | * | skrylar[m] joined #nim |
16:54:57 | * | macsek1911[m] joined #nim |
16:54:58 | * | meff[m] joined #nim |
16:54:58 | * | muxueqz[m] joined #nim |
16:54:59 | * | zielmicha[m]1 joined #nim |
17:01:51 | * | tiorock joined #nim |
17:01:51 | * | rockcavera quit (Killed (wolfe.freenode.net (Nickname regained by services))) |
17:01:51 | * | tiorock is now known as rockcavera |
17:15:45 | * | wildtrees joined #nim |
17:16:05 | Cadey | disruptek: wait what, is yq like jq for yaml? |
17:25:05 | FromGitter | <kaushalmodi> Cadey: .. and xml too |
17:25:33 | FromGitter | <kaushalmodi> when yq is installed, I think `xq` is symlinked or something to `yq` |
17:26:03 | FromGitter | <kaushalmodi> and I can pass the xq output to jq as it converts the xml to json |
17:30:54 | disruptek | made an example: https://github.com/disruptek/openapi |
17:47:45 | * | Ven`` joined #nim |
17:49:59 | FromDiscord_ | <treeform> disruptek: I started working on a JS string stream with same API: https://github.com/treeform/jsutils/blob/master/src/jsutils/streams.nim |
17:58:13 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:01:56 | disruptek | treeform: sweet, does it work? |
18:09:29 | disruptek | i think it would have to get integrated into nim-yaml for me to use it, unfortunately. |
18:14:39 | FromGitter | <iffy> Any tips for this error? `stdlib_asyncdispatch.nim.cpp:2207:8: error: use of undeclared identifier ⏎ ⏎ ``` 'NIM_UNLIKELY' ⏎ if (!NIM_UNLIKELY((deq.count < ((NI) 1)))) goto LA3_;```` [https://gitter.im/nim-lang/Nim?at=5d72a20fc59390272024b502] |
18:14:46 | * | narimiran quit (Remote host closed the connection) |
18:15:01 | * | theelous3 quit (Read error: Connection reset by peer) |
18:16:00 | Araq | iffy: get an updated nimbase.h |
18:16:18 | * | FromGitter * iffy tries |
18:17:57 | * | rockcavera quit (Remote host closed the connection) |
18:18:07 | FromGitter | <iffy> That did it; thank you! |
18:28:10 | FromDiscord_ | <treeform> disruptek, I found that most of the stream users use the pointer based API where they copy bytes - that is not supported in JS. It would only work if nim-yaml uses a more constrained byte reader api. |
18:28:27 | disruptek | right. |
18:29:21 | * | rockcavera joined #nim |
18:43:00 | Araq | actually it's not that bad |
18:43:51 | Araq | there is readDataStrImpl and lexbase uses that if available |
18:43:54 | Araq | and nothing else |
18:44:14 | Araq | so all the parsers based on lexbase can start working with JS if you write a string stream that supports readDataStrImpl |
18:45:33 | disruptek | that doesn't sound all that difficult. |
18:46:49 | Araq | irk |
18:46:52 | Araq | ikr |
18:47:06 | Zevv | PMunch: more: http://ix.io/1UrV. It looks nifty and all, but not sure if it is worth the extra code, given that it is not even possible to properly represent peg grammars :) |
18:47:43 | disruptek | hey, those are cute. |
18:49:14 | disruptek | i have to figure out a js-friendly httpclient before i worry about parsing json/yaml, i guess. |
18:52:10 | FromDiscord_ | <treeform> disruptek, I was going to work on "a js-friendly httpclient" that next 🙂 |
18:52:31 | disruptek | why are you building this stuff, if you don't mind my asking? |
18:53:25 | FromDiscord_ | <treeform> I work on internal tools. I wrote the backend for internal tools in nim. |
18:53:38 | FromDiscord_ | <treeform> Now I am porting front end of internal tools to nim |
18:54:01 | disruptek | ah, neat. |
18:54:08 | * | Ven`` joined #nim |
18:55:24 | FromDiscord_ | <treeform> I also really like rewriting libraries |
18:55:36 | FromDiscord_ | <treeform> I feel I get a really deep understanding of the problem domain that way |
18:55:50 | FromDiscord_ | <treeform> I think thats the number 1 issues in programming today: |
18:56:23 | FromDiscord_ | <treeform> "programmers use too many libraries without understanding them" |
18:56:27 | * | rockcavera quit (Remote host closed the connection) |
18:56:53 | disruptek | i'd say `programmers use too many libraries` full-stop. |
18:57:12 | FromDiscord_ | <treeform> well its fine to use tons of libraries provided you know them well? |
18:59:22 | FromGitter | <mratsim> @treeform you should go deep learning instead of deep understanding ;) |
19:00:20 | disruptek | just too much code. so hard to escape it. |
19:00:30 | FromDiscord_ | <treeform> I tried deep learning, it takes soo long or too much $$$ to train anything usefully... I kind of got bored. |
19:01:50 | FromDiscord_ | <treeform> I did a ton of Genetic Programming back in the 2000s... but a competing technology - deep learning won instead. I am still a bit sore about it. |
19:04:57 | * | rockcavera joined #nim |
19:10:17 | FromGitter | <mratsim> deep learning didn’t win against genetic algorithm, far from it |
19:10:52 | FromGitter | <mratsim> reinforcement learning agents use deep learning for perception but they are often trained via genetic algorithm |
19:11:07 | FromGitter | <mratsim> look into NEAT for example (Neuro-Evolution) |
19:13:21 | FromDiscord_ | <treeform> genetic algorithm, not genetic programming... |
19:28:13 | * | nif quit (Quit: ...) |
19:28:22 | * | nif joined #nim |
19:31:24 | * | nsf joined #nim |
19:45:36 | * | Hideki_ joined #nim |
19:49:47 | * | Hideki_ quit (Ping timeout: 244 seconds) |
20:13:41 | * | krux02 joined #nim |
20:21:41 | * | abm quit (Quit: Leaving) |
20:31:11 | * | nsf quit (Quit: WeeChat 2.5) |
20:39:10 | * | go|dfish joined #nim |
20:41:03 | federico3 | https://github.com/nim-lang/Nim/issues/12152 anybody else getting poor performance with Json? |
20:44:08 | disruptek | nope. |
20:48:07 | disruptek | lemme try your repro. |
20:50:15 | * | solitudesf- joined #nim |
20:50:20 | disruptek | for me, it's 3.6s with release, 2.9s with danger. |
20:51:45 | disruptek | it's "only" 2800 lines but ~360mb. |
20:52:33 | federico3 | with devel or the same version of Nim? |
20:52:41 | disruptek | devel. |
20:52:58 | * | solitudesf quit (Ping timeout: 245 seconds) |
20:53:08 | disruptek | i can generate 43k lines of nim from an 81k json input in 20s. |
20:54:38 | disruptek | did you try -d:danger? |
20:57:04 | FromDiscord_ | <Kiloneie> PMunch Game Maker's Companion i meant |
20:59:32 | * | ZORR0W joined #nim |
21:00:16 | * | ZORR0W quit (Client Quit) |
21:02:23 | federico3 | disruptek: yep, same |
21:02:38 | federico3 | disruptek: yep, same |
21:03:34 | disruptek | did you try devel? |
21:03:53 | federico3 | not yet |
21:04:23 | disruptek | the fact that python is faster rules out a lot of usual suspects. |
21:13:55 | FromGitter | <brentp> @frederico3 try with -d:danger |
21:14:25 | FromGitter | <brentp> oh. i'm late to the party. that's already been suggested. |
21:14:59 | Zevv | illegal json btw, escaping / with \ :) |
21:20:17 | * | Trustable quit (Remote host closed the connection) |
21:23:52 | Araq | lz4: command not found |
21:25:26 | Araq | trying to use homebrew but it takes forever |
21:26:25 | Araq | still have to meet a single package manager that is not a pain in the ass... |
21:27:52 | disruptek | it took gentoo all of 14.4s to install. |
21:28:21 | FromDiscord_ | <Kiloneie> Question: Whats the ETA on the next version(possibly 1.0 ?...) ? |
21:28:47 | Araq | it's complete, we're doing QA on it |
21:28:48 | federico3 | Same performance with Nim 0.20.99 |
21:29:12 | FromDiscord_ | <Kiloneie> it's not 1.0 yet is it ? |
21:30:38 | Araq | we screwed up versioning IMO, 0.19.6 should have been 1.0 |
21:31:18 | FromDiscord_ | <Kiloneie> Man did i pick the timing, find Nim just before 1.0 or right on it XD |
21:32:34 | Araq | federico3: 6s for me with -d:danger and --gc:markAndSweep |
21:33:02 | FromDiscord_ | <DeltaPHC> Does the 1.0 stability guarantee also cover experimental features? As in, will experimental features just function however they function throughout 1.x? |
21:33:41 | federico3 | Araq: Python is taking 4 on the same host |
21:34:29 | Araq | DeltaPHC, I would say, exception: the 'do' notation |
21:34:38 | Araq | DeltaPHC, I would say yes, only exception: the 'do' notation |
21:35:10 | Araq | federico3: have the Python script handy? |
21:35:12 | disruptek | with gc:markAndSweep, i get 2.045s. that's a pretty big bump. |
21:35:41 | Araq | disruptek: 2s?! what cpu do you have? |
21:35:54 | disruptek | i7-8700k |
21:36:50 | federico3 | with markAndSweep it went from 20s to 10.9 |
21:37:31 | disruptek | let's see the python. |
21:37:44 | FromDiscord_ | <Kiloneie> Does this test you guys are doing use multiple cores ? |
21:37:51 | federico3 | nope |
21:37:51 | disruptek | nah. |
21:38:16 | Araq | federico3: most likely cause: overly long lines that screw up our IO buffering |
21:39:01 | Araq | in fact, my editor refuses to show the lines completely |
21:39:31 | FromDiscord_ | <Kiloneie> if you guys need 153Ghz of compute power for anything, ask me, i got a server for data mining collecting dust. |
21:40:07 | federico3 | they are JSON objects, average size 33KB with some up to 1MB |
21:40:56 | disruptek | it takes me 1.2s just to count the newlines with `wc`. |
21:43:57 | Araq | 153Ghz compute power? how does that work? |
21:44:03 | disruptek | quickly. |
21:45:22 | FromDiscord_ | <Kiloneie> okay not the best term for it but um, i got 4 cpus each with 16 cores at about 2.2 Ghz to a bit more on turbo |
21:45:45 | FromDiscord_ | <Kiloneie> Was dad's for chess(he was damn good) |
21:51:35 | FromDiscord_ | <Kiloneie> I can't think of a use for it, tried mining crypto coin with, figured out it's not worth it, either sell it if it's still worth anything or data mine something... no idea what. |
21:52:19 | Zevv | play starcraft on it, very fast |
21:52:31 | FromDiscord_ | <Kiloneie> sadly starcraft is single core... |
21:52:35 | FromDiscord_ | <Kiloneie> all of them |
21:53:03 | Zevv | play 64 starcrafts in parallel, moderately fast |
21:53:44 | FromDiscord_ | <Kiloneie> Wait..... why the hell do i need web hosting provider when i can host on that... |
21:54:50 | Zevv | dude. |
21:55:06 | Zevv | well, nevermind, I'll stop the feeding. ZzzZ, goodnight kiloneie! |
21:55:14 | FromDiscord_ | <Kiloneie> xD, you too |
21:55:47 | * | Vladar quit (Remote host closed the connection) |
22:01:53 | * | krux02 quit (Remote host closed the connection) |
22:04:55 | Araq | got it down to 2.8s |
22:05:19 | Araq | factor 3 speedup |
22:06:27 | Araq | federico3: interested in the code? |
22:09:33 | FromDiscord_ | <Kiloneie> Araq: what did you guys use besides Nim's JS backend for the website, as in tools ? |
22:09:48 | Araq | you don't want to know |
22:10:35 | FromDiscord_ | <Kiloneie> Did you write html and css by hand xD ? That would of taken a while. |
22:23:46 | Araq | we use Jekyll, some Ruby based stuff |
22:24:38 | FromDiscord_ | <Kiloneie> Interesting |
22:25:10 | * | solitudesf joined #nim |
22:25:10 | * | solitudesf- quit (Ping timeout: 268 seconds) |
22:25:49 | Araq | we had something much better, built with Nim's docgen |
22:26:49 | FromDiscord_ | <Kiloneie> I am looking for something to design a website without manual coding html and css so i can use Nim's JS with it, found a ton, and yet nothing really shines out. |
22:29:30 | Araq | use 'karun'? |
22:30:58 | FromDiscord_ | <Kiloneie> Do you have a link, i found nothing on "karun" on google, by also writing web design, it found me something but not sure if it's what you meant |
22:35:47 | * | nif quit (Quit: ...) |
22:35:56 | * | nif joined #nim |
22:51:11 | Araq | karun is a tool that ships with karax |
22:52:03 | * | Hideki_ joined #nim |
22:56:26 | federico3 | Araq: sure, I can try it on the slow host doing 20s and see where we get |
22:58:23 | * | solitudesf quit (Ping timeout: 245 seconds) |
23:12:41 | * | rockcavera quit (Remote host closed the connection) |
23:23:17 | * | owl_000 joined #nim |
23:23:54 | * | clyybber joined #nim |
23:24:29 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:30:38 | * | clyybber quit (Quit: WeeChat 2.5) |
23:41:28 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
23:51:28 | * | wildtrees quit (Quit: Leaving) |