00:02:11 | dom96 | Check the index for "object variant" |
00:08:52 | nasusiro | dom96: inside the book you mean? |
00:09:50 | dom96 | hrm, seems it's not in the index |
00:09:52 | dom96 | Page 74 |
00:11:43 | nasusiro | bloody hell, how come I did not absorb the "empty: bool" part in the first place? O.o |
00:11:57 | nasusiro | I guess it's not doing any good to study until morning hours on a daily basis |
00:17:34 | nasusiro | thank you dom96, now I refreshed my memory and understood it better, let alone correctly this time. |
00:30:43 | CodeVance | constructors should use curlybraces instead of round braces |
00:30:45 | CodeVance | IMO |
00:34:11 | FromGitter | <kayabaNerve> CodeVance: Fight me. |
00:34:34 | FromGitter | <kayabaNerve> Constructors are generally functions. () symbolize a function. |
00:35:03 | CodeVance | Its not really a funtion though |
00:35:45 | CodeVance | and there's no way to overload them |
00:40:03 | FromGitter | <kayabaNerve> I would like to be able to overload newType to Type() |
00:40:36 | FromGitter | <kayabaNerve> I just think Type{} looks weird. |
00:40:42 | CodeVance | yes |
01:09:21 | FromGitter | <Varriount> @kayabaNerve What do you mean? |
01:09:37 | FromGitter | <Varriount> You can already do `Type(member: value ...)` |
01:22:02 | FromGitter | <kayabaNerve> @Varriount I mean set my own function for Type() |
01:22:23 | FromGitter | <kayabaNerve> So instead of doing Type(member: value), Type(arg) calls newType(args) |
01:22:26 | FromGitter | <kayabaNerve> Overload |
01:23:44 | CodeVance | I guess you can overload new |
01:23:51 | CodeVance | Type.new(asdasd) |
01:24:36 | CodeVance | but you'd just be saving a few keypresses |
01:34:55 | * | nasusiro quit (Quit: Quitting for now...) |
01:39:22 | FromGitter | <kayabaNerve> That's losing one... |
01:39:26 | FromGitter | <kayabaNerve> newType ⏎ Type.new |
01:43:53 | * | find0x90 joined #nim |
01:49:21 | CodeVance | ya XD |
01:49:51 | CodeVance | proc newFoo():Foo vs new(_:type Foo):Foo meh :\ |
01:57:53 | * | leorize joined #nim |
02:16:30 | * | yglukhov[i] joined #nim |
02:19:00 | * | leorize quit (Ping timeout: 245 seconds) |
02:21:21 | * | yglukhov[i] quit (Ping timeout: 264 seconds) |
02:26:19 | * | leorize joined #nim |
02:28:29 | * | ashleyk__ joined #nim |
02:29:55 | * | ashleyk_ quit (Ping timeout: 250 seconds) |
02:48:53 | * | leorize quit (Ping timeout: 255 seconds) |
02:55:50 | * | leorize joined #nim |
02:56:37 | * | leorize quit (Client Quit) |
02:58:54 | Tanger | Hey folks! If I'm looking to raise an error when the user enters an invalid value for an argument, what kind of error should I be using? |
02:59:31 | Tanger | I was raising an OSError, but it doesn't make sense because the OS hasn't technically errored yet |
02:59:50 | * | endragor joined #nim |
03:04:05 | * | endragor quit (Ping timeout: 240 seconds) |
03:06:35 | FromGitter | <Varriount> Tanger: ValueError |
03:10:15 | Tanger | Thanks Varriount |
03:28:27 | * | leorize joined #nim |
03:29:02 | * | endragor joined #nim |
03:37:35 | * | lompik joined #nim |
03:55:30 | * | find0x90 quit (Quit: find0x90) |
03:55:36 | * | fjvallarino quit (Remote host closed the connection) |
03:56:03 | * | fjvallarino joined #nim |
04:00:57 | * | fjvallarino quit (Ping timeout: 265 seconds) |
04:55:09 | * | dorelix quit (Quit: Leaving) |
05:07:09 | * | fjvallarino joined #nim |
05:29:04 | * | Vladar joined #nim |
05:42:22 | * | leorize quit (Quit: WeeChat 2.1) |
06:06:27 | * | erratic quit (Ping timeout: 240 seconds) |
06:19:20 | * | yglukhov[i] joined #nim |
06:24:09 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
06:33:06 | * | Trustable joined #nim |
06:45:51 | * | NamPNQ joined #nim |
06:52:54 | FromGitter | <retsyo> a newbie seek for help to make https://github.com/Tormund/winim ( which is forked from https://github.com/khchen/winim) run COM example under current nim. Sorry I can only read what the error is but don't know how to fix |
07:04:16 | FromGitter | <mratsim> @codevance @kayabaNerve you can put your thoughts on new here: https://github.com/nim-lang/Nim/issues/7519 |
07:05:48 | FromGitter | <mratsim> and this one too: https://github.com/nim-lang/Nim/issues/7832 |
07:06:36 | * | yglukhov[i] joined #nim |
07:12:02 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
07:12:34 | * | yglukhov[i] joined #nim |
07:14:37 | FromGitter | <Varriount> @mratsim I'm not a huge fan of requiring braces everywhere (a requirement for that kind of generic usage). |
07:15:55 | FromGitter | <Varriount> I do like the init idea though. |
07:17:28 | FromGitter | <mratsim> I don’t sway one way or the other regarding braces, but I find the newTable, newSeq, initTable a bit clunky. |
07:18:31 | FromGitter | <mratsim> regarding typedesc vs generics, unless there is a single type argument (constructor), I prefer Generics because when reading I see instantly what is type related from what is an argument |
07:19:09 | FromGitter | <mratsim> I’m fine with conversion proc taking a data and a typedesc argument too |
07:31:20 | * | PMunch joined #nim |
07:42:17 | yglukhov | retsyo: comment out all the `variantConverter` and use `fromVariant` directly. |
07:47:12 | * | BitPuffin joined #nim |
07:54:36 | * | leorize joined #nim |
08:02:36 | Araq | the problem with 'init' is that it takes a 'var T' where it should take an 'out T' (which Nim doesn't have) |
08:03:32 | Araq | it's a tough problem with no obvious solution |
08:04:27 | FromGitter | <admin0day> hi guys,what is the difference influence between the "ref object" and the "object"? |
08:06:00 | yglukhov[i] | admin0day: https://forum.nim-lang.org/t/3869#24100 |
08:06:37 | FromGitter | <admin0day> nice job,thx |
08:08:58 | * | floppydh joined #nim |
08:24:36 | * | Hotkeys joined #nim |
08:26:04 | FromGitter | <mratsim> > Size of the objects (and whether it fits on stack) almost never has to be considered in reality. ⏎ ⏎ My 8GB tensors beg to differ ;) |
08:27:10 | Araq | thinking about it more, this is just bad. var x: T; init(x) is not the same as var x: T = init() |
08:27:55 | * | dddddd joined #nim |
08:27:56 | Araq | in other words, we have an 'out' parameter and it's called the "return value" |
08:28:14 | Araq | we need to make use of it. |
08:28:50 | FromGitter | <mratsim> `proc init(T: typedesc[non ref]): T` ? |
08:29:14 | Araq | yeah. |
08:33:12 | Araq | MyObject(field: init(type(MyObject.field))) |
08:34:47 | FromGitter | <admin0day> how to achieve the "#define" which is the text's replacement function of the C by using the Nim? |
08:35:08 | def- | templates |
08:36:06 | FromGitter | <admin0day> thx , i will try it |
08:36:17 | def- | well, in some situations in C you have to use #define, but in Nim generic inline procs would be fine, so it depends |
08:40:24 | FromGitter | <admin0day> u means inline will be ok too? @FromIRC |
08:41:36 | PMunch | admin0day, FromIRC is not a user, it's just a bridge between Gitter and IRC |
08:41:45 | PMunch | I think you wanted to highlight def- |
08:42:37 | PMunch | And to answer you question, it depends on what you want to achieve. The problems that are solved by #define have different solutions in Nim |
08:43:09 | FromGitter | <admin0day> i just trying to achieve a simple line which is referred in another place,is seem just a simple text's replacement function. |
08:43:14 | PMunch | You will be able to solve all of them with a template, but depending on what you want to do it might not be the best way |
08:44:07 | PMunch | Ah, yeah then a template might be right for you. But keep in mind that Nims templates are hygienic unless you specify the {.dirty.} pragma |
08:47:10 | FromGitter | <admin0day> hhhh,in fact,i just dislike my code so much cause i am the new fish in programming,i think i will signout {.dirty} without any doubt |
08:49:12 | FromGitter | <admin0day> ok i found the simple way to use template |
08:49:20 | FromGitter | <admin0day> thx |
09:02:30 | * | rosshadden quit (Read error: Connection reset by peer) |
09:03:37 | * | rosshadden joined #nim |
09:35:29 | * | NamPNQ quit (Ping timeout: 256 seconds) |
09:46:59 | * | ng0 joined #nim |
09:51:15 | * | ng0 quit (Client Quit) |
10:06:15 | FromGitter | <retsyo> @yglukhov, thanks. but so bad, the fresh built github's source gives nim 0.18.1, which now said a new error: type 'ptr void' is not allowed |
10:06:54 | yglukhov | retsyo: that one just replace with `pointer` |
10:09:55 | FromGitter | <retsyo> I think it could be better if someone can keep an up-to-date winim |
10:27:46 | yglukhov | retsyo: currenlty tormund seems too lazy to overtake it. so you've got a chance to be the one ;) |
10:29:12 | * | noonien joined #nim |
10:46:17 | * | msmorgan quit () |
10:46:29 | * | mgdelacroix quit () |
10:46:34 | * | msmorgan joined #nim |
10:46:46 | * | mgdelacroix joined #nim |
10:51:13 | FromGitter | <retsyo> I wish I could but I know little about nim. |
11:03:57 | FromGitter | <retsyo> since I have finished my application with python+win32com, there is only a little motive( i.e. I just want to release the app easily for different Windows version) for me to rewrite the app in a new language. Further more, if I use nim, I have to fix the bugs in nim's library which decrease my motive again. |
11:06:48 | FromGitter | <retsyo> this maybe the situation for nim to attract non-hardcore-programmer like me who purpose to find a langauge with many libs to handle problems quickly |
11:06:49 | FromGitter | <retsyo> this maybe the situation for nim to attract non-hardcore-programmer like me who purpose to find a langauge with many libs to handle problems quickly |
11:15:31 | Araq | which bugs do you mean? |
11:15:48 | Araq | bugs are always being worked on, you don't have to fix them all on your own. |
11:17:05 | FromGitter | <retsyo> I mean bugs/errors in winim |
11:37:57 | Araq | use winlean instead? :P |
11:38:21 | Araq | the last time I looked at winim it chose to emulate Basic. |
11:38:30 | Araq | that's not what I want from a wrapper. |
11:40:14 | dom96 | retsyo: What does your application do? |
11:45:46 | FromGitter | <retsyo> it reads from DOC and DOCX files which are supplied by others. So I have to rely on COM objects heavily since even for Python there is no package can read all infos from both DOC and DOCX |
11:47:13 | FromGitter | <retsyo> I have checked winlean just now. But it seems that it has nothing to do with COM. |
11:47:17 | FromGitter | <retsyo> I have checked winlean just now. But it seems that it has nothing to do with COM. |
11:48:34 | dom96 | Are there any C libraries out there for reading doc/docx? |
11:48:51 | Araq | hardly, COM is a pita |
11:49:05 | Araq | and winim isn't bad at it |
11:49:13 | Araq | but needs a serious cleanup session. |
11:49:13 | PMunch | Well docx is just a zip file with xml in it |
11:49:26 | * | xet7 joined #nim |
11:49:40 | FromGitter | <retsyo> no, no. there is also DOC files too in my situation |
11:49:58 | PMunch | Found this dom96 https://stackoverflow.com/questions/301132/microsoft-word-text-parser-in-c |
11:52:09 | dom96 | meh, looks like these libraries are all outdated |
11:52:21 | PMunch | Well, doc is a pretty dated format |
11:52:23 | * | freevryheid joined #nim |
11:52:30 | * | freevryheid is now known as fvs |
11:53:51 | Araq | well need a good, reasonably complete win API package under nim-lang |
11:54:24 | Araq | Nim's rather good Windows support gives us a little strategic advantage |
11:54:36 | Araq | and so we need to put more effort into it. |
11:55:08 | Araq | and by 'we' I mean 'Araq' as everybody else doesn't use fucking Windows anymore :P |
11:59:21 | FromGitter | <retsyo> the real story is: I am a teacher. I hate to check the format in student's paper which is a tedious work. So I finished an app (in Python, sorry), which can check/semi-check: 1. whether the numbering of heading/figure/table/equation is continuous; 2. whether the number of references is enough, whether all references are cited; 3. page/font/paragraph size; 4. and more |
12:01:19 | FromGitter | <retsyo> it is a sad story because we can't control all these kind of format by just telling students to obey basic rules. |
12:01:43 | dom96 | You could take marks off your students for not saving in .docx :) |
12:01:52 | dom96 | Is this high school? |
12:04:52 | Araq | Failure: reExitcodesDiffer |
12:04:52 | Araq | Expected: |
12:04:52 | Araq | exitcode: 0 |
12:04:52 | Araq | Gotten: |
12:04:52 | Araq | exitcode: 1 |
12:04:54 | Araq | Output: |
12:04:57 | Araq | Full read size: 20 |
12:04:59 | Araq | tmemfiles2.nim(22) tmemfiles2 |
12:05:01 | Araq | memfiles.nim(64) mapMem |
12:05:03 | Araq | oserr.nim(66) raiseOSError |
12:05:05 | Araq | Error: unhandled exception: Access is denied. |
12:05:06 | FromGitter | <Vindaar> @retsyo in that case, can't you just use e.g. pandoc, convert it to Org, Markdown etc. (any ASCII format basically) and just parse that much easier? |
12:05:07 | Araq | [OSError] |
12:07:59 | dom96 | Araq: Abide by the channel paste rules or you'll be banned :P |
12:08:39 | Araq | dom96, we'll see about that. |
12:08:48 | Araq | now help me please. why is this test failing? |
12:09:18 | Araq | new branch "consistent modules"? where does that come from? |
12:09:20 | dom96 | No idea. Admin rights required? |
12:09:50 | Araq | but it's a regression |
12:10:09 | Araq | I changed how the "to cstring" conversions are implemented |
12:10:39 | dom96 | there is bound to be plenty of that going on in this test |
12:10:57 | FromGitter | <retsyo> maybe pandoc is a workaround @Vindaar. |
12:10:57 | * | nasusiro joined #nim |
12:11:09 | Araq | it's the only test that fails, https://ci.appveyor.com/project/Araq/nim/build/4949/tests |
12:13:36 | FromGitter | <retsyo> Windows is ugly, but ms word is nice. I did not find other word processing software can replace msword ( if we ignore Latex), no matter libreoffice/WPS/or something else |
12:13:37 | FromGitter | <retsyo> Windows is ugly, but ms word is nice. I did not find other word processing software can replace msword ( if we ignore Latex), no matter libreoffice/WPS/or something else |
12:13:37 | FromGitter | <retsyo> Windows is ugly, but ms word is nice. I did not find other word processing software can replace msword ( if we ignore Latex), no matter libreoffice/WPS/or something else |
12:13:50 | dom96 | oprypin: is that a bug? ^ |
12:13:59 | dom96 | pandoc sounds like a good idea btw |
12:14:01 | dom96 | bbl |
12:14:37 | FromGitter | <Vindaar> @dom96 the message also appeared several times on Gitter for me |
12:15:09 | FromGitter | <Vindaar> I've had that happen to me when I use gitter with sketchy internet. sometimes messages disappear and then suddenly show up twice and so on |
12:18:08 | Araq | Latex!!! the best tool ever. only losers spend time on formulars, scientific work or proofs when you can instead try to make a blind, dump tool from the 60ies format your results in a way that doesn't run over the margins |
12:19:03 | ehmry | dom96: about this nimble cross-compiling, I want to compile for a platform that is not-self hosting, but I want to use nimble's depenency management, why not support this in nimble? |
12:21:25 | FromGitter | <mratsim> New paper on memory model / intermediate representation optimization for C, C++ and Rust from LLVM researchers: http://sf.snu.ac.kr/publications/llvmtwin.pdf |
12:21:39 | Araq | I honestly want to know how much scientific progress is held back by Latex. Or how many results are buggy just because people produced typos with its dynamite syntax. |
12:22:51 | * | endragor quit (Remote host closed the connection) |
12:22:53 | FromGitter | <mratsim> section 4.8 mentions “memory block lifetimes" |
12:23:17 | ehmry | dom96: otherwise I would clone to a local directory an call nimble build with a custom nim.cfg |
12:23:17 | FromGitter | <Vindaar> @Araq honestly I'm not against using a different tool than Latex, but I've yet to find a tool as convenient to write theses / papers. Once you start adding tons of equations, plots and tables things are horrible in the alternatives I'm aware of |
12:23:20 | * | endragor joined #nim |
12:23:56 | FromGitter | <mratsim> Start in MultiMarkDown, finish in latex |
12:25:11 | Araq | never ever use Latex. |
12:25:22 | Araq | for anything. |
12:25:24 | FromGitter | <Vindaar> Well, smaller things I write in Org mode and export to Latex. But for something larger / more important than some documentation I wouldn't dare |
12:25:49 | Araq | nim's rst2pdf uses latex as the interim step |
12:26:06 | Araq | and even for that it's terrible. |
12:26:25 | * | FromGitter * narimiran writes in LaTeX as we speak |
12:26:39 | FromGitter | <Vindaar> hehe |
12:26:59 | FromGitter | <alehander42> it's weird, i 've always read latex produces beautiful results |
12:27:33 | FromGitter | <Vindaar> and IMO it does (if you consider a *few* things anyways) |
12:27:38 | FromGitter | <mratsim> you need to optimize your typefaces for that, it’s super time consuming |
12:27:42 | * | endragor quit (Ping timeout: 245 seconds) |
12:27:46 | Araq | and the very idea of putting stuff beyond the margin means the authors haven't understood its problem domain. |
12:28:06 | Araq | hint: paper is finite in size. |
12:29:47 | Araq | beautiful results my ass, it cannot even word wrap stuff decently. |
12:30:33 | FromGitter | <alehander42> haha, well, they dreamed of A2 papers |
12:30:42 | FromGitter | <retsyo> it looks we can chat free topic here. I post one of my question I have not find solution for my app. But to be frankly , I think it is impossible by computer. https://stackoverflow.com/questions/51093751/ai-deep-learning-approach-to-judge-reference-in-paper |
12:32:33 | * | krux02 joined #nim |
12:33:12 | krux02 | hey people, I have good news. Debugging Nim and inspecing the variables is finally possible. |
12:33:34 | krux02 | just look at this screenshot: https://snag.gy/KHa6mr.jpg |
12:33:54 | PMunch | alehander42, don't listen to him. Latex is beautiful :) |
12:34:02 | krux02 | bad news. The only gdb frontend that I got to work was eclipse :/ |
12:34:20 | FromGitter | <mratsim> Ugh, eclipse ... |
12:34:25 | FromGitter | <retsyo> good news. but eclipse is too heavy |
12:34:33 | PMunch | Oooh interesting krux02 |
12:34:57 | krux02 | types aren't printed correctly, but I think people can live with that |
12:35:18 | PMunch | What do you mean printed correctly? |
12:35:21 | krux02 | so instead of "system.string" it is "NimStringDesc *" |
12:35:23 | FromGitter | <ChristianWitts> aaww, not even gdbgui for browser based ? :( |
12:35:27 | PMunch | Ah right |
12:35:37 | krux02 | I tested gdbgui |
12:35:47 | krux02 | but gdbgui is too buggy |
12:35:50 | * | endragor joined #nim |
12:35:52 | FromGitter | <mratsim> @restsyo, it’s not impossible, it’s pretty well structured and you can train a DL model on it, but for the parsing part a Nim macro is probably enough |
12:35:57 | FromGitter | <mratsim> @retsyo* |
12:36:16 | krux02 | or better said they don't use the api correctly and then you can't see the children of containers |
12:36:28 | FromGitter | <mratsim> Here are some example of Deep learning usage for sentence parsing: https://github.com/status-im/datasets/blob/master/201805_EIP0_shared_values/eip0_shared_values_wordcloud_topic_modelling.ipynb |
12:36:38 | krux02 | I reported that bug thogh. So it is up to gdbgui to fix that |
12:36:39 | FromGitter | <ChristianWitts> ah damn. I’ve not had issues with it, but it worked fine for Rust for me :/ |
12:36:45 | FromGitter | <ChristianWitts> Cool |
12:37:28 | FromGitter | <mratsim> @retsyo, and another example of a trickier sentence to parse: https://github.com/explosion/spaCy/blob/master/examples/information_extraction/entity_relations.py 'Net income was $9.4 million compared to the prior year of $2.7 million. Revenue exceeded twelve billion dollars, with a loss of $1b.' |
12:37:35 | FromGitter | <mratsim> #Expected output: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b3f628f3c5abf52b6411b0d] |
12:37:47 | FromGitter | <retsyo> @mratsim thanks, I try to learn your example |
12:38:31 | krux02 | I am also a bit confused the HashSet[string] lists the characters of the strings it contains as individual letters and the elements as different C-array types to characters |
12:38:43 | FromGitter | <mratsim> and since bibliography has a very codified syntax, you can just write a lexer/parser for it, and reject when bibliography is not properly formatted |
12:39:22 | FromGitter | <mratsim> note that if you want to deal with unicode it becomes much harder. |
12:39:29 | krux02 | ChristianWitts: since you have experience with Rust and Nim. Which one is better :P |
12:39:49 | Araq | but before answering |
12:39:52 | FromGitter | <retsyo> the syntax of bibliography is actually tooo complex |
12:39:55 | Araq | remember this is #nim :P |
12:39:58 | FromGitter | <ChristianWitts> They both have their use cases :) |
12:40:04 | Araq | heresy! |
12:40:05 | * | endragor quit (Ping timeout: 240 seconds) |
12:40:13 | FromGitter | <mratsim> blasphemy! |
12:40:16 | Araq | there can be only one language. |
12:40:21 | * | Amun_Ra quit (Quit: Gdyby mi się chciało tak jak mi się nie chce...) |
12:40:28 | FromGitter | <mratsim> *summon pitchfork |
12:40:35 | FromGitter | <ChristianWitts> Personally, I prefer nim, but Rust sometimes has a package already built for what I want :D |
12:40:41 | * | Amun_Ra joined #nim |
12:40:56 | FromGitter | <mratsim> Ah, it’s just laziness, well that’s understandable ;) |
12:41:28 | FromGitter | <ChristianWitts> I spend most of my time these writing YAML for various *-as-code tools, so it’s whatever gets it done faster if I’m writing an application |
12:41:33 | FromGitter | <retsyo> this is the reason why python is more popular |
12:41:38 | krux02 | I still have humble plans in my head to write a macro that can autogenerate Nim wrappers for Rust packages. |
12:41:47 | FromGitter | <ChristianWitts> So, Python, Go, Nim, Rust, Bash scripts. Whatever works |
12:41:56 | FromGitter | <ChristianWitts> oooo, that would be fantastic |
12:42:10 | krux02 | but I don't know how well that works out. |
12:42:12 | FromGitter | <mratsim> @krux02 we could use that in production at Status. |
12:42:55 | krux02 | I mean for stand alone rust libraries that could work out pretty well. but for some deeper layed dependency networks of rust packages, I don't know how practicable it will be. |
12:43:46 | Araq | mratsim: that paper pretty much implies wasm is misdesigned. |
12:44:02 | FromGitter | <mratsim> surprise? :P |
12:44:04 | Araq | as it doesn't distinguish between integers and pointers iirc |
12:44:10 | krux02 | mratsim: I am sure a lot of people could use that in production. For c++ it would even have much more value because there are more c++ packages. but I think for c++ an automatic solution is not feasible. |
12:44:11 | FromGitter | <ChristianWitts> I had a random thought the other night about trying to get Seastar working in Nim. Then I had more wine and promptly forgot about it :D |
12:44:32 | Araq | krux02, c2nim can parse C++ |
12:44:42 | Araq | and was used for large wrappers of C++. |
12:44:53 | Araq | but ofc it can never be automated completely. |
12:44:59 | krux02 | araq: yea but c2nim is semiautomatic |
12:45:04 | krux02 | yes |
12:45:27 | krux02 | I don't need to tell you the problems with the c macros. |
12:48:20 | krux02 | C++ is supposed to get modules as well. Maybe there is a bright future that allows to auto-wrap at least the c++-module libraries. |
12:48:22 | * | SenasOzys joined #nim |
12:48:52 | krux02 | But I wouldn't hope too much. Every time someone proposes something that could actually solve problems in c+ there will always be someone who well be agains it. |
12:49:14 | * | SenasOzys quit (Remote host closed the connection) |
12:49:43 | * | SenasOzys joined #nim |
12:49:45 | krux02 | (that is not strictly tied to c++, but I think it is because these people are those who have heavy investments to work around those problems and when that problem would go away they would loose their market advantage). |
12:50:25 | krux02 | that is just theory. |
12:51:43 | dom96 | ehmry: I'm not too sure what Nimble needs for cross-compilation, but I'm very reluctant when it comes to adding features to Nimble |
12:52:16 | dom96 | Araq: I wrote my dissertation in LaTeX*. |
12:52:18 | dom96 | * I used pandoc ;) |
12:52:58 | ehmry | dom96: I should try to write a script to do this then first |
12:53:11 | Araq | same here, why do you think I hate it so much? |
12:53:17 | dom96 | ehmry: Yes. Don't jump to "nimble needs to do this" immediately :) |
12:53:35 | krux02 | well I dislike latex a lot. The same I dislike c++. |
12:53:52 | dom96 | I don't disagree that it sucks, but there isn't really an alternative. |
12:54:18 | krux02 | plain Tex |
12:54:50 | krux02 | the same that there are people disagreeing with c++ and program in c, there are people disagreeing with latex who use tex |
12:55:01 | FromGitter | <narimiran> @dom96 there's no need to (directly) use LaTeX if you have just several equations here-and-there, but when you deal with lots of equations, the other solutions start to lose their advantages |
12:55:27 | Araq | HTML to "print view" works better. |
12:55:40 | Araq | well that's my hypothesis for now :P |
12:55:51 | FromGitter | <narimiran> and for "regular writing", markdown/rst/asciidoc will do the trick just fine |
12:56:16 | krux02 | and org mode :P |
12:56:28 | Araq | all you need to have is a good PDF library and then you can write your own tool... |
12:56:51 | Araq | and it will suck really badly, but still make you more productive than Latex |
12:57:03 | FromGitter | <narimiran> @krux02 re: org mode: ...the same that there are people disagreeing with emacs and use vim :D :D |
12:57:24 | krux02 | I disagree with emacs and still use it. |
12:57:24 | FromGitter | <retsyo> it is said that knitr+r is suitable for paper with calculations and plots |
12:57:38 | krux02 | Because I think it is like Latex there is no real alternative. |
12:58:05 | Araq | hand writing + a scanner -- superior to any other tool. ;-) |
12:58:26 | PMunch | dom96, I wrote my masters thesis in Latex :) |
12:58:27 | krux02 | Araq: but be warned xerox scanners might change your numbers |
12:58:29 | FromGitter | <ChristianWitts> you could use SVGs for your equations, and do your text in whatever floats your boat |
12:58:40 | * | leorize quit (Ping timeout: 256 seconds) |
12:58:45 | FromGitter | <narimiran> in the end - whatever tool you choose to use - don't forget to first bikeshed for quite a lot of time while you're trying to find the perfect tool!! |
12:58:59 | PMunch | Araq, it's been so long since I've written anything for hand I think it would cramp up and fall off if I were to try and write something that long by hand :P |
12:59:15 | PMunch | And I'm pretty sure I'm actually faster at typing at a computer than I am writing by hand |
12:59:19 | Araq | hand writing also lets you introduce new math symbols and embed secret messages |
12:59:44 | dom96 | Sure, I can use AsciiDoc or markdown but I won't get such a high quality PDF out of them |
12:59:53 | PMunch | Haha, that's fair. Hand writing is more versatile |
12:59:58 | Araq | not too mention the famous "I found a proof but it doesn't fit this margin" |
13:00:21 | * | leorize joined #nim |
13:00:24 | Araq | mythical predictions that never come true ... hand writing ftw. |
13:00:51 | dom96 | hand writing hurts my hand :P |
13:01:21 | krux02 | I like the hand writing trick where the font gets smaller at the end of the line to still fit that last characers in without starting a new line |
13:01:32 | FromGitter | <retsyo> what about plot when you do use handwriting? |
13:01:38 | Araq | yeah but let's face it. |
13:01:46 | Araq | this hand writing trick was inspired by Latex. |
13:02:26 | FromGitter | <mratsim> still better than the way Word handles “justification" |
13:02:30 | Araq | but it improved upon Latex. because it never exceeds the physical paper size. |
13:02:44 | PMunch | krux02, maybe that would be a solution to the 80 characters per line thing. Just make the font smaller and smaller so it never passes the 80 character per line margin :P |
13:03:46 | Araq | retsyo: you use a ruler? |
13:03:54 | Araq | and plot stuff. |
13:04:56 | Araq | or you print it out and write around the plots |
13:05:51 | krux02 | Araq: most important you actually know where your plot will be on the page |
13:06:34 | krux02 | Latex has quite a lalent at locating graphcs on the wrong page |
13:06:51 | * | leorize quit (Quit: WeeChat 2.1) |
13:06:52 | Araq | "that's just an implementation detail the writer should not be bothered with" |
13:07:09 | Araq | <-- CS thinking produces terrible tooling. |
13:07:19 | FromGitter | <retsyo> you must be kidding, Araq. I don't think I can draw this by hand https://matplotlib.org/gallery/pyplots/whats_new_99_mplot3d.html#sphx-glr-gallery-pyplots-whats-new-99-mplot3d-py |
13:08:33 | Araq | attach a sombrero to your paper |
13:10:46 | * | Hotkeys quit (Quit: Connection closed for inactivity) |
13:12:56 | * | fjvallarino quit (Remote host closed the connection) |
13:13:02 | * | fjvallarino joined #nim |
13:13:12 | FromGitter | <mratsim> This guys gets it, no transpiler: https://akr.am/languages/ (HN https://news.ycombinator.com/item?id=17470161) |
13:14:27 | Yardanico | https://akr.am/languages/?source=Nim&target=Python lol |
13:15:30 | FromGitter | <mratsim> the graph should only have Nim—>JS —> Python here :? |
13:15:41 | FromGitter | <mratsim> ah no, you can go through LLVM |
13:18:14 | FromGitter | <survivorm> The question is how effective would be this code |
13:19:32 | Araq | just accept the word "transpiler" already. |
13:19:45 | Araq | can't fight it, it's everywhere. |
13:20:18 | FromGitter | <alehander42> ah, if py2nim was more mature, we could have made a circle |
13:24:19 | FromGitter | <survivorm> Aha, cause the back way is void |
13:24:22 | FromGitter | <survivorm> https://akr.am/languages/?source=Python&target=Nim |
13:24:45 | FromGitter | <mratsim> @Araq, “just accept bad untested code, you can’t fight it, it’s everywhere" |
13:25:13 | Araq | mratsim: well spoken language is not code. |
13:25:50 | FromGitter | <mratsim> I never heard “transpiler” being spoken to be honest ;) |
13:26:37 | FromGitter | <survivorm> By the way? how hard would be to create c2nim not wrapper, but compiler? |
13:27:15 | FromGitter | <mratsim> c2nim can transform c code, it does not just wrap headers |
13:27:53 | FromGitter | <survivorm> Is it? Looks like i was wrong in my observation on it |
13:28:08 | FromGitter | <mratsim> Give it a c expression or type definition it will create a proper Nim file from it |
13:28:08 | FromGitter | <survivorm> or is it a recent addition? |
13:28:21 | dom96 | I've created a wrapper for libclang and was thinking about creating (lib)clang2nim |
13:28:28 | dom96 | But it would be a lot of work |
13:29:05 | FromGitter | <survivorm> But it would actually lessen a pain of migrating almost from any language to Nim |
13:29:15 | FromGitter | <mratsim> @surviworm, iirc that was c2nim generated: https://github.com/status-im/nim-evmc/blob/master/src/evmc.nim#L454 |
13:30:14 | FromGitter | <mratsim> from that: https://github.com/status-im/nim-evmc/blob/master/headers/evmc.h#L305 |
13:30:44 | dom96 | That site definitely should add `c2nim` as an arrow from C to Nim though, maybe? |
13:31:35 | Yardanico | c2nim is not fully automatic |
13:32:56 | FromGitter | <survivorm> cause almost all languages somehow compile to c |
13:33:30 | FromGitter | <survivorm> so adding automatic c -> nim compiler we add a route to migrate almost any code |
13:33:46 | FromGitter | <mratsim> JS —> Nim ;) |
13:34:51 | dom96 | survivorm: that wouldn't be practical at all though |
13:35:07 | dom96 | The resulting Nim code would be horrible |
13:35:18 | FromGitter | <survivorm> And yes, i know it sould be carefully treated with rasp :D |
13:35:26 | dom96 | You may as well just include the C code itself in your program |
13:35:26 | FromGitter | <mratsim> The JS code generated by Nim is horrible as well ;) |
13:35:30 | dom96 | And Nim makes that possible |
13:35:54 | FromGitter | <survivorm> That's limiting maintainability |
13:36:09 | FromGitter | <survivorm> and affects for the mess in the code |
13:36:46 | FromGitter | <alehander42> @mratsim the resulting js code almost has sourcemaps now |
13:36:51 | dom96 | You wouldn't want to maintain code that has been translated from C |
13:37:02 | dom96 | Especially if the C code was generated by another compiler... |
13:37:17 | FromGitter | <alehander42> (it has, but they're not merged,as they might still have some issues and I am not sure if i want to refactor jsgen ) |
13:40:50 | FromGitter | <survivorm> @dom96 You wouldn't want, yes. But it's possible. And it's possible to clean it up, as the time passes. And it would be working, from the first day, hopefully |
13:40:57 | * | pwntus quit (Ping timeout: 265 seconds) |
13:41:14 | * | pwntus joined #nim |
13:41:32 | FromGitter | <survivorm> It's like living with the ton of legacy - noone likes it, but sometimes it's the only option... |
13:50:10 | FromGitter | <bevo009> Hi guys, another noob question :) ...what's the most efficient method for inserting multiple elements to the start of a sequence? I'm down to these 2 so far out of a few I've figured out, but maybe you have a better way ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b3f7392a99e1e52b71b9a03] |
13:54:37 | FromGitter | <mratsim> insert |
13:54:57 | FromGitter | <mratsim> with @\[\] you get extra heap allocation |
13:55:58 | FromGitter | <bevo009> ahh cool |
13:56:15 | FromGitter | <bevo009> Is there a reason strutils.insert isn't included with .add in module system ? |
13:57:20 | FromGitter | <bevo009> I thought importing a module might add some overhead |
13:57:56 | FromGitter | <mratsim> there is no overhead, unused code is not compiled in |
14:01:23 | FromGitter | <bevo009> well that's good to know, I'll just import strformat and sequtils every time then |
14:01:46 | FromGitter | <bevo009> thanks for that mratsim! |
14:03:58 | FromGitter | <bevo009> back to the game... |
14:05:24 | FromGitter | <Quelklef> @bevo009 "Ill just import strformat and sequtils every time then" Don't do this; having unused imports is bad documentation |
14:06:16 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
14:06:47 | FromGitter | <bevo009> Easy enough to take out if i don't use them, but i use strformat a lot |
14:06:50 | * | yglukhov[i] joined #nim |
14:07:04 | FromGitter | <Quelklef> yeah |
14:07:26 | FromGitter | <Quelklef> by the way @ anyone is there a tool that lists unused imports or clears them out for me |
14:07:52 | FromGitter | <kaushalmodi> @retsyo Don't worry. There are many LaTeX fans out there. I'm one. |
14:09:39 | FromGitter | <narimiran> @Quelklef IMO, the nim vscode plugin should warn about unused imports (but currently it doesn't) |
14:10:29 | FromGitter | <Quelklef> darn :( |
14:10:50 | FromGitter | <Quelklef> i dont use vscode anyway tho |
14:10:58 | * | nsf joined #nim |
14:12:45 | FromGitter | <bevo009> I seem to remember the go plugin managing imports automatically |
14:13:18 | FromGitter | <Quelklef> hmmmm what would a nim minify be called? |
14:13:23 | FromGitter | <Quelklef> nimify? nimminify? |
14:13:27 | FromGitter | <Quelklef> niminify? |
14:14:19 | FromGitter | <Quelklef> apparently "Go won't let you import unused packages" |
14:14:37 | FromGitter | <bevo009> yeah |
14:14:58 | FromGitter | <bevo009> but IIRC it could import what you forgot |
14:15:30 | FromGitter | <Quelklef> wym |
14:15:34 | FromGitter | <Quelklef> like infer an import?? |
14:15:40 | nasusiro | you are referring at vim-go I presume |
14:15:54 | FromGitter | <bevo009> sublime |
14:16:48 | nasusiro | I'm quite pleased with vim-go and I wish we had something similar for Nim as well |
14:17:03 | FromGitter | <bevo009> back before vs code was around, so my recollection could be wrong |
14:19:48 | Araq | https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-standards-meeting-rapperswil/ can we still stop C++20 ? |
14:20:13 | Araq | sounds to have terrible stuff in it... ("just terminate on OOM") |
14:22:19 | nasusiro | Araq: if they continue like this, C++ standard manual will consist of 10K pages |
14:23:58 | Araq | seriously, they say their stdlib can become noexcept when you terminate on OOM, but since that behaviour can be changed at runtime into throwing an exception, how can you make it 'noexcept' at all? |
14:24:29 | Araq | stuff like that is told you by the Nim compiler and its effect system... |
14:25:13 | Araq | but even ignoring Nim, this is pretty obvious. |
14:25:50 | Araq | yes, there is a performance advantage of 'quit' over 'raise'. but you can only leverage it when you have an OS underneath. |
14:26:10 | Araq | and C++ does not assume an OS underneath. |
14:26:32 | Araq | high time I blog about error handling to make everybody see the light... |
14:27:33 | nasusiro | I think they have created an unnecessary mess with C++ |
14:27:43 | * | PMunch quit (Quit: Leaving) |
14:27:55 | nasusiro | it's still one of my favorite programming languages, but if they continue with this pace, I will stop using it as a whole |
14:29:35 | nasusiro | right now Nim is very high in my "masterpiece languages" and the only thing that "bugs" me just a bit is that it emits C or C++ code. It would have been more than awesome if it could just compile to machine code without depending on glibc or whatsoever |
14:29:48 | nasusiro | but I'm allowed to dream, am I not? |
14:30:00 | FromDiscord | <k0pernicus> Maybe for Nim 10.0 ? |
14:30:05 | FromDiscord | <k0pernicus> 😉 |
14:30:46 | Amun_Ra | use musl-gcc if you don't want glibc dependency |
14:31:33 | Araq | nasusiro: NLVM exists |
14:31:42 | nasusiro | what's that Araq? |
14:31:44 | Araq | that's nim's frontend with an LLVM backend |
14:32:00 | nasusiro | why I hate LLVM so much? -_- |
14:32:17 | Araq | I dunno but you're pretty alone with this hate. |
14:32:28 | Araq | better hate Latex instead, it deserved it. |
14:33:10 | nasusiro | Araq: I actually adore LaTeX |
14:33:31 | Amun_Ra | same here |
14:33:31 | Araq | you have to loathe your margins then. |
14:33:49 | nasusiro | my margins obey me to anything I say |
14:34:06 | Araq | I still want my hours back. |
14:34:14 | Araq | read two books about it. |
14:34:22 | Araq | it never cared about my margins. |
14:34:32 | Araq | nor about my math layout. |
14:34:44 | Araq | or the positioning of my plots. |
14:34:54 | Araq | or about my spelling mistakes. |
14:35:02 | Araq | or about Unicode. |
14:35:19 | FromDiscord | <k0pernicus> LLVM is pretty cool, really |
14:35:19 | FromDiscord | <k0pernicus> And used almost in all new programming languages (Rust, Julia, Crystal, ...) |
14:35:27 | nasusiro | Araq: I read more than 4 LaTeX books and I feel just fine. I guess you are some form of PTSD with it for some reason |
14:36:08 | Araq | when I found RST I never looked back. |
14:36:35 | nasusiro | I'm not good with memorizing acronyms; what's RST? |
14:36:48 | Araq | that thing that lost against markdown |
14:37:43 | FromDiscord | <k0pernicus> @nasusiro Check for `reStructuredText` |
14:38:02 | nasusiro | yeah, I wasn't sure whether Araq was referring at reStructuredText |
14:38:07 | nasusiro | I used it with Nikola |
14:38:31 | dom96 | Nikola? |
14:38:33 | nasusiro | yep |
14:38:48 | nasusiro | https://getnikola.com/ |
14:39:21 | dom96 | Ahh |
14:41:56 | * | cryptocat1094 joined #nim |
14:42:26 | * | fjvallarino quit (Remote host closed the connection) |
14:42:28 | Araq | gah, Nim's test suite is so terrible. it keeps finding my mistakes |
14:43:03 | * | fjvallarino joined #nim |
14:43:16 | nasusiro | Araq: was that sarcastic or ironic? lol |
14:43:52 | dom96 | Nimble is failing with `Users/dom/projects/nim/lib/system.nim(3991, 8) Error: \n not allowed in character literal.` :( |
14:45:36 | dom96 | Araq: can I s/\n/\x0A? |
14:45:54 | Araq | huh? \n is allowed now |
14:45:58 | Araq | in character literals. |
14:46:11 | Araq | I guess you use an older Nim for bootstrapping? |
14:46:31 | dom96 | I have an older Nimble |
14:46:47 | dom96 | It's better to use \x0A for better backwards compatibility |
14:46:53 | Araq | you can \L instead then |
14:47:18 | FromGitter | <Quelklef> Wait, how is `'\n'` now allowed? Isn't newline sometimes CRLF which is 2 characters? |
14:47:27 | Araq | not anymore |
14:47:27 | * | fjvallarino quit (Ping timeout: 240 seconds) |
14:47:31 | nasusiro | Araq, question: is there a reason why we have this line hardcoded? https://github.com/nim-lang/Nim/blob/devel/ci/nsis_build.bat#L34 |
14:47:35 | FromGitter | <Quelklef> huh |
14:47:40 | Araq | to get the "platform specific" newline, use \p |
14:47:49 | dom96 | okay, will do |
14:47:52 | FromGitter | <Quelklef> Ah, what's \n now |
14:48:00 | Araq | just LF, everywhere. |
14:48:20 | FromGitter | <Quelklef> that feels a little weird but i trust you more than i trust me lol |
14:49:17 | nasusiro | Quelklef: I quess it's related to this Microsoft's change https://blogs.msdn.microsoft.com/commandline/2018/05/08/extended-eol-in-notepad/ |
14:49:18 | Araq | nasusiro: I don't think that file is used anymore |
14:49:24 | nasusiro | Araq: cool |
14:49:53 | FromGitter | <Quelklef> oh my god they finally did it |
14:50:05 | nasusiro | better late than never LOL! |
14:50:14 | FromGitter | <Quelklef> i guess, hahaha |
14:50:21 | FromGitter | <Quelklef> i had given up hope of notepad ever being useful |
14:50:56 | dom96 | Really wish jester.io was free :/ |
14:51:26 | Araq | everybody uses notepad++ anyway |
14:52:07 | FromGitter | <Quelklef> i still dont have it installed on my desktop :o |
14:52:18 | FromGitter | <Quelklef> i just use wordpad to edit any config files... |
14:52:24 | * | sotrhravendroid joined #nim |
14:52:46 | FromGitter | <mratsim> So C++ changed their “span” to “range”? or did I miss something. Coroutines, yeah! |
14:53:18 | FromGitter | <mratsim> concepts and contracts, seems OK as well though I’m curious about their concept approach |
14:53:53 | Araq | contracts ... they need to be based on external tools. that's what Nim will do fwiw |
14:54:27 | Araq | the state of the art in proof engines is constantly changing, can't make that part of the language spec. ymmv |
14:54:35 | sotrhravendroid | I get an error when I try to readFile("people.txt.") |
14:54:47 | Yardanico | sotrhravendroid, what error? |
14:54:57 | sotrhravendroid | minus that last period |
14:55:27 | sotrhravendroid | Lord for |
14:55:39 | dom96 | grrr /Users/dom/projects/nim/lib/pure/math.nim(294, 19) Error: list of key:value pairs expected. |
14:55:51 | sotrhravendroid | io error |
14:56:34 | FromDiscord | <k0pernicus> dom96 Think you have an error... 🤡 |
14:56:44 | FromDiscord | <k0pernicus> dom96 I think you have an error... 🤡 |
14:56:59 | dom96 | If I'm running into this then everyone else will |
14:57:02 | Yardanico | @k0pernicus btw, your edits will be sent as separate messages because IRC doesn' support message editing :) |
14:58:27 | Araq | dom96: what are you doing? |
14:58:31 | yglukhov[i] | Araq: btw, it would be cool to not depend depend on libc in os:standalone mode, if at all. namely memcpy, memset, memcmp. can we consider that? |
14:58:40 | dom96 | Araq: Just trying to use Nimble |
14:58:54 | dom96 | And I happen to have an older version so it just fails on the new stdlib |
14:59:01 | Araq | yglukhov[i]: these are not libc, these need to be compiler builtins |
14:59:15 | Araq | intrinsics. |
14:59:24 | dom96 | Another reason to start using Nim externally in Nimble instead of using the Nim compiler source code directly :( |
14:59:38 | Araq | it's stupid to have them in libc |
14:59:56 | Araq | dom96: 'koch nimble' gives you a fresh one, nimble does not have build itself |
15:00:02 | Araq | only the compiler has that problem. |
15:00:09 | yglukhov[i] | Araq: they are in libc though :). sometimes compiler can optimize them away, but sometimes it can't. |
15:00:29 | Araq | well we have bitops using intrisics |
15:00:39 | dom96 | yeah, I know, I solved it |
15:00:39 | Araq | memcpy needs to do the same. |
15:00:41 | dom96 | still a pain though |
15:00:47 | dom96 | Also, no idea why it imports math |
15:01:05 | Araq | everything imports everything else :-( |
15:01:33 | Araq | probably tables need nextPowerOfTwo that is in math |
15:01:38 | Araq | and everything imports tables |
15:01:48 | dom96 | oooh, I just benchmarked the forum and got 1400 req/s. That's not bad. |
15:01:56 | Araq | lol what |
15:02:24 | Araq | yglukhov[i]: so yeah, I agree completely. |
15:02:29 | dom96 | Single threaded too. Because I'm not brave enough to run the forum in parallel. |
15:02:47 | Araq | memcpy etc should not be imported from libc |
15:03:11 | sotrhravendroid | let contents = readFile("people.txt") |
15:03:38 | sotrhravendroid | I get an io error |
15:04:00 | Araq | so give it a real path |
15:04:39 | yglukhov[i] | Araq: i'm not sure if you can tell the C compiler to never import memcpy from libc. can we produce a pure nim memcpy et al? which will be as efficient as cc intrinsic? |
15:05:17 | Araq | yeah, but maybe it's a bit messy. |
15:05:39 | sotrhravendroid | Ok it is in the same dir. I will give it a try. |
15:05:39 | Araq | iirc clang optimizes the memcopy loops to 'memcpy' |
15:06:25 | Araq | you can try a simple .compilerProc for these and see what clang produces for it |
15:07:29 | yglukhov[i] | ok |
15:16:04 | * | xet7 quit (Quit: Leaving) |
15:18:56 | * | fjvallarino joined #nim |
15:36:46 | * | sotrhravendroid quit (Quit: -a- IRC for Android 2.1.40) |
15:52:41 | * | fjvallarino quit (Remote host closed the connection) |
15:52:47 | * | fjvallarino joined #nim |
16:04:53 | * | xet7 joined #nim |
16:32:08 | * | krux02 quit (Remote host closed the connection) |
16:32:39 | * | miran joined #nim |
16:35:56 | * | floppydh quit (Quit: WeeChat 2.1) |
16:46:35 | * | CcxWrk joined #nim |
16:59:19 | * | SenasOzys quit (Remote host closed the connection) |
17:06:31 | * | cryptocat1094 quit (Ping timeout: 268 seconds) |
17:11:06 | * | Trustable quit (Remote host closed the connection) |
17:12:36 | * | cryptocat1094 joined #nim |
17:18:44 | * | thomasross quit (Remote host closed the connection) |
17:19:19 | * | thomasross joined #nim |
17:28:07 | * | yglukhov[i] quit (Remote host closed the connection) |
17:32:49 | * | elrood joined #nim |
17:48:11 | dom96 | https://news.ycombinator.com/item?id=17473139 |
17:48:15 | * | ng0 joined #nim |
17:50:39 | shashlick | https://forum.nim-lang.org/t/3922#24440 |
17:51:45 | * | Perkol joined #nim |
17:52:49 | Perkol | I remember there was function for matching file extensions in the standart library somewhere |
17:55:25 | shashlick | splitFile() |
18:00:41 | * | krux02 joined #nim |
18:03:15 | dom96 | shashlick: Thanks! |
18:22:13 | FromGitter | <kayabaNerve> Araq: About that new thing. While overloading does allow `var a: Type = new()` via overloading, which isn't explicit and I wouldn't support adding it to the language... culture, we (in chat) were referring to overriding Type() which is still explicit. The first GitHub issue is utilizing a return type overload, and the second overloads the first argument (Type.new()). |
18:22:45 | FromGitter | <tim-st> cant the following be improved quite easily? |
18:22:48 | FromGitter | <tim-st> const x = (10u8, 10u16, 10u8) ⏎ const y = (10u8, 10u8, 10u16) ⏎ echo x.sizeof #6 ⏎ echo y.sizeof #4 [https://gitter.im/nim-lang/Nim?at=5b3fb37860c387078363d10b] |
18:25:16 | FromGitter | <kayabaNerve> !eval const x = (10u8, 10u16, 10u8); const y = (10u8, 10u8, 10u16); echo sizeof(x); echo sizeof(y) |
18:25:19 | NimBot | 6↵4 |
18:26:28 | FromGitter | <kayabaNerve> That's why you said # 6 and # 4. lol. I was confused since it should be the same and Gitter formats as pull requests. |
18:27:17 | FromGitter | <tim-st> yes, I think tuples order can be changed without generating problems |
18:27:41 | FromGitter | <tim-st> especially useful for big data described as tuples |
18:28:41 | FromGitter | <kayabaNerve> No idea why that is... |
18:30:10 | FromGitter | <tim-st> hm, it seems that is not a nim bug, but a gcc bug or missing improvement, I should start contributing to gcc^^ |
18:31:01 | * | smt quit (Read error: Connection reset by peer) |
18:32:38 | FromGitter | <tim-st> seems known: https://stackoverflow.com/questions/119123/why-isnt-sizeof-for-a-struct-equal-to-the-sum-of-sizeof-of-each-member |
18:32:44 | FromGitter | <kayabaNerve> Thing is, when GCC has a bug of this sort, it's because Nim generated code caused it. Just like when my code caused a bug with the standard GC, but not markandsweep, technically it was the GC, but it was my code effectively. ⏎ ⏎ I'm not trying to say its definitely Nim. Just likely, |
18:33:29 | FromGitter | <kayabaNerve> So does it have different behavior on clang and do tuples becomes struct? |
18:33:51 | FromGitter | <tim-st> I'd like to test the equivalent c code, but have no idea how to write :( |
18:33:54 | FromGitter | <kayabaNerve> If no and then yes, than GCC |
18:33:57 | FromGitter | <kayabaNerve> Check the nimcache |
18:34:10 | FromGitter | <tim-st> nimcache has too much nim to be sure |
18:34:24 | FromGitter | <kayabaNerve> Nimcache is literally the generated C code and object files |
18:34:55 | FromGitter | <kayabaNerve> It's pretty decent |
18:35:03 | FromGitter | <tim-st> yes, but it is possible to build an equivalent 3 lines c code to the three lines nim code. the nimcache c code generates 109 lines |
18:35:15 | FromGitter | <tim-st> so i cannot find out definete |
18:38:12 | * | smt joined #nim |
18:39:18 | FromGitter | <tim-st> well your second answer is yes, they are struct |
18:39:28 | FromGitter | <tim-st> *answer to your second question |
18:40:06 | FromGitter | <tim-st> ok, but they use nims type NU8, NU16 maybe this is a nim problem then |
18:44:43 | FromGitter | <tim-st> ok, I understand this is maybe wanted by gcc: https://stackoverflow.com/questions/3318410/pragma-pack-effect |
18:45:21 | * | crem quit (Ping timeout: 248 seconds) |
18:47:10 | * | crem joined #nim |
18:47:35 | FromGitter | <tim-st> hm, no doesnt make sense... because my example code has same size with different order, an other person has to find out :\ |
18:54:18 | * | Perkol quit (Quit: Leaving) |
18:57:00 | FromGitter | <tim-st> it's a gcc problem: https://gist.github.com/tim-st/9d3855c91f24e2f346feab5bbee6ac90 |
18:59:05 | FromGitter | <kayabaNerve> Good to know. Thanks @tim-st |
19:00:00 | FromGitter | <tim-st> no problem ;) |
19:00:11 | FromGitter | <tim-st> sorting them seems to always solve it |
19:00:37 | * | natrys joined #nim |
19:19:14 | * | miran_ joined #nim |
19:19:33 | * | miran quit (Ping timeout: 264 seconds) |
19:24:08 | * | endragor joined #nim |
19:26:02 | * | cryptocat1094 quit (Ping timeout: 245 seconds) |
19:28:57 | * | endragor quit (Ping timeout: 265 seconds) |
19:41:28 | * | libracious left #nim ("The Lounge - https://thelounge.github.io") |
19:44:05 | * | lompik quit (Ping timeout: 256 seconds) |
19:48:45 | * | miran_ is now known as miran |
20:10:50 | * | nsf quit (Quit: WeeChat 2.1) |
20:11:53 | * | skrylar joined #nim |
20:23:08 | * | fvs left #nim ("ERC (IRC client for Emacs 25.3.1)") |
20:26:20 | * | yglukhov[i] joined #nim |
20:38:09 | Araq | https://queue.acm.org/detail.cfm?id=3212479 |
20:38:15 | * | miran quit (Quit: Konversation terminated!) |
20:48:43 | * | skyfex joined #nim |
20:58:57 | * | noonien quit (Quit: Connection closed for inactivity) |
21:03:25 | FromGitter | <Quelklef> Cool article |
21:03:43 | FromGitter | <Quelklef> Besides, like, straight assembly, what *do* you write in to be low-level? |
21:05:25 | Araq | btw destructors landed in devel without the --newruntime switch |
21:05:39 | Araq | and destructors now imply finalizers |
21:05:55 | Araq | but it needs more testing, of course :-) |
21:12:00 | * | fjvallarino quit (Remote host closed the connection) |
21:12:27 | * | fjvallarino joined #nim |
21:12:44 | dom96 | https://github.com/dom96/jester/blob/master/changelog.markdown#030---06072018 🚀🚀🚀 🃏🃏🃏 |
21:13:54 | * | Vladar quit (Quit: Leaving) |
21:16:03 | Araq | dom96, please add a note that your 'extend' feature requires Nim devel |
21:16:19 | Araq | well jester in general now required devel afaik |
21:16:40 | dom96 | yeah, true |
21:16:54 | * | fjvallarino quit (Ping timeout: 256 seconds) |
21:24:26 | * | fjvallarino joined #nim |
21:25:20 | dom96 | The bigger the tweet, the better, right? https://twitter.com/d0m96/status/1015345911164219393 :D |
21:31:07 | * | yglukhov[i] quit (Remote host closed the connection) |
21:37:25 | FromDiscord | <exelotl> looking forward to trying out jester |
21:38:34 | nasusiro | Araq: that was an outstanding article you shared. Thank you very much! |
21:39:17 | Araq | I don't really agree with it, but it makes some valid points |
21:41:37 | Araq | especially the point about holes in the memory due to alignment |
21:42:04 | Araq | C is only simple if you don't know it well. |
21:43:31 | nasusiro | Araq: yes, that was what I was personally thinking, about alignment and such |
21:46:15 | nasusiro | Araq: unfortunately, many companies care more about profitability than qualitative code. |
21:53:21 | Araq | I don't think it's about companies. C is simply not a very good design and it won over its better competitors because of Unix/cheaper |
21:55:29 | nasusiro | and we got stuck with it :/ |
21:55:41 | nasusiro | not that I have a problem with it, but it could have been better |
21:56:19 | Araq | it could also have been much worse. |
21:56:50 | Araq | however, when you write a newer standard for such an important fossil, ffs try to improve its design. |
21:57:21 | Araq | for example, add builtins for integer arithmetic that tells you if you had an overflow... |
21:57:27 | Araq | how hard can it be? |
21:58:46 | Araq | or make setjmp not require 'volatile' locals as 'volatile' already means something else |
21:58:49 | nasusiro | the irony is that the standard is often way behind compilers such as GCC that indeed add such kind of changes in their own compiler and satisfy both users and security as a whole |
21:59:12 | Araq | and specify what exactly 'volatile' means. |
21:59:26 | Araq | or remove it again and add volatileRead()/Write() ops |
21:59:46 | * | yglukhov[i] joined #nim |
21:59:52 | Araq | which would have been the better design as it doesn't encode an implement accident in the type system... |
22:00:00 | Araq | *implementation accident |
22:00:21 | nasusiro | I remember reading an article by Linus a couple of days ago that diss the shit out of the committee for not designing important parts of the language *as part of the standard* and they (the Linux core team) are lucky they use GCC which adds such important mechanisms in the form of extensions |
22:01:58 | nasusiro | in other words GCC, and I assume other compilers as well, are fixing the most important stuff that the committee should have done so decades ago |
22:02:36 | nasusiro | but without being conspiracy theorist here or weirdo, it gives me the impression they are doing so on purpose; there's no other logical explanation. |
22:04:08 | Araq | not adding checked arithmetic ops is criminal. |
22:04:15 | nasusiro | Linus' father said in a European Union meeting that was broadcast live on TV that NSA approached his son to add a backdoor to Linux |
22:04:32 | Araq | and they should have put into jail for that. |
22:04:33 | * | yglukhov[i] quit (Ping timeout: 264 seconds) |
22:04:47 | nasusiro | he didn't |
22:04:57 | nasusiro | they told them to fuck off as usual lol |
22:05:14 | Araq | sounds like a myth to me |
22:05:30 | Araq | but it's the NSA, so maybe it's true |
22:05:34 | * | Araq shrugs |
22:06:14 | nasusiro | https://en.wikipedia.org/wiki/Nils_Torvalds#Linux_kernel_statement |
22:06:25 | * | dorelix joined #nim |
22:07:35 | Araq | yeah, right... that reads like some religious story |
22:08:56 | Araq | is his father even alive. |
22:09:47 | nasusiro | it seems so |
22:15:50 | nasusiro | what matters right now, at least for me, is to master C language so I can push its limits whenever I need to |
22:16:09 | Araq | why? use Nim instead. |
22:16:19 | nasusiro | I'm using it already lol |
22:16:38 | * | geocar joined #nim |
22:17:28 | nasusiro | I want to push C's limits for future participation in Nim's development. I want to know C's dark corners so Nim can become faster and faster. |
22:18:45 | FromGitter | <kayabaNerve> What if Nim compiled to binary? |
22:18:53 | FromGitter | <kayabaNerve> Does the LLVM version do that? |
22:19:24 | Araq | of course it does do that. |
22:19:27 | FromGitter | <kayabaNerve> Wait. Isn't LLVM its own language in itself? |
22:19:32 | FromGitter | <kayabaNerve> Compiled direclty. |
22:19:39 | FromGitter | <kayabaNerve> *not language but intermediary |
22:19:52 | Araq | yes. so? |
22:20:01 | Araq | it can produce native binaries. |
22:20:06 | FromGitter | <kayabaNerve> Not my point. |
22:20:53 | Araq | what is your point? |
22:21:38 | FromGitter | <kayabaNerve> My point was what if there was a way to directly generate binary instead of C? Would that be more efficient if done properly? Do GCC have clang just have so many microoptimizations it could never compare? |
22:22:32 | Araq | yeah. |
22:22:55 | Araq | pretty much this. can't beat the thousands of manhours they put into their optimizers |
22:22:55 | FromGitter | <kayabaNerve> ... to which one. |
22:22:59 | FromGitter | <kayabaNerve> Got it. |
22:24:37 | Araq | you can beat them if you have some domain specific language and can make use of this fact in your optimization pipeline |
22:25:09 | Araq | but I've never seen that happen. |
22:25:23 | FromGitter | <kayabaNerve> What if Nim is the DSL? :some-thinking-emoji-Gitter-still-doesnt-have-freaking-trash-gitter: |
22:25:47 | Araq | Nim is a general purpose language, too broad |
22:25:57 | FromGitter | <kayabaNerve> https://discordemoji.com/assets/emoji/HyperThink.png |
22:26:14 | FromGitter | <kayabaNerve> Yeah. I know. It was a joke. Where's Hyperthink when you need it... |
22:26:48 | elrood | kayabaNerve, you know clang is based on llvm, right? and nim's reference implementation right now wastes time on generating c, which then has to be lexed and parsed redundantly by a c compiler again |
22:27:28 | elrood | of course it would be more efficient to generate binaries directly. but on the other hand, nim is already quite fast and more flexible the way it is |
22:27:34 | nasusiro | I wish I had 1/ millionth of Fabrice Bellard's ingenuity -_- |
22:28:08 | Araq | elrood, fair but what is often overlooked. this split makes it easy to run the backend/C compiler on multiple cores |
22:28:32 | elrood | fair point. still cycles wasted tho |
22:28:41 | Araq | and when you use LLVM as a library you wouldn't get this behaviour as easily. |
22:33:49 | nasusiro | if tcc had all gcc's optimizations...man, that would have been a dream coming true to me! |
22:34:13 | Araq | lol then it would be as slow as gcc |
22:37:06 | nasusiro | you mean is the optimizations that make it so slow? |
22:37:23 | elrood | what else could it be, what do you think? |
22:37:49 | nasusiro | hmm...can I take the help from the audience? |
22:37:56 | Araq | yes and also, gcc really is not slow on a half modern CPU. |
22:38:52 | nasusiro | now I got a bit disappointed lol |
22:39:04 | nasusiro | I thought tcc was something...magical! |
22:39:25 | Araq | well ok, I have 4 cores a 4.4GHz... what do I know about GCC's speed |
22:39:41 | Araq | nasusiro, tcc isn't but luaJIT really is :-) |
22:40:15 | nasusiro | that's another story. Mike Pall is a machine from Terminator and I firmly believe it! |
22:45:28 | * | natrys quit (Quit: natrys) |
22:48:11 | FromGitter | <kayabaNerve> elrood: Yes. I know Clang is LLVM based. I'm talking about executable efficiency, not compiler efficiency. |
22:51:41 | Demos[m] | do yall nimrods have thoughts on crystal. I've been using ruby quite a bit and I'm pretty impressed with their tooling :D |
22:54:52 | Araq | Demos[m], traitor! :-) |
22:55:10 | Demos[m] | hehe |
22:55:34 | Demos[m] | competition is good Araq |
22:55:52 | elrood | crystal still lacks proper windows and parallelism support, afair. so, nice and interesting language, something to keep an eye on, but not there yet |
22:56:16 | Araq | really? what if the competition pushes me out of business? :P |
22:56:37 | elrood | you feel pushed? work harder ;P |
22:56:46 | Demos[m] | *cracks whip* |
22:57:36 | Araq | no. that's exactly what we shouldn't do. :P |
22:57:45 | Araq | we should work *smarter* |
22:58:31 | FromGitter | <Varriount> ^ |
23:00:15 | FromGitter | <Varriount> I'd rather have, for example, standard library modules which are well designed, rather than modules which offer 30 different procedures for something. |
23:01:23 | nasusiro | Araq: if people promote Py2nim to Pythonistas that need performance improvement, then Nim will live for many decades :D |
23:02:17 | elrood | if it only was as easy as that |
23:03:22 | nasusiro | elrood: nothing is easy, but then again nothing is difficult. |
23:03:42 | Araq | targetting Python devs is hard, these guys are always so happy with their language :P |
23:04:24 | Araq | so we're after the C++ programmers now, they always seek new challenges |
23:04:37 | * | Araq is not entirely serious. |
23:05:58 | nasusiro | what I like about Nim is the way it keeps things simple, at least from an aesthetic point of view. Now...how it does its magics behind the scenes goes beyond my comprehension (at least for now) |
23:06:44 | Demos[m] | heck I cam to nim for "C but with modules and a sane function pointer syntax" |
23:07:01 | Demos[m] | and tooling |
23:07:09 | Demos[m] | like nim's tooling is actually already better than C++ |
23:07:28 | nasusiro | Araq: about going after C++ programmers. Well, if compilation speed gets reduced to the lowest time possible, then I'm sure they will come running in Nim! |
23:07:36 | Demos[m] | which is really pathetic (for c++) considering c++ is like 25 years old |
23:07:51 | nasusiro | Demos[m]: you have no idea about C++, do you? |
23:07:59 | Demos[m] | huh? |
23:08:04 | Demos[m] | I know c++ pretty well |
23:08:04 | nasusiro | it was first released in 1979 and it was called C with classes |
23:08:09 | nasusiro | I'm sure you do |
23:09:44 | Demos[m] | I don't know how old c++ is off the top of my head |
23:10:01 | elrood | so tooling means something completely different than multiple mature development environments, debuggers, profilers, compilers etc. these days? nim's tooling is superiour? really? i'm confused.. |
23:10:31 | Araq | elrood, you are living in the past. "tooling" now means "a formating tool" |
23:10:45 | elrood | my mistake, sorry |
23:10:54 | Araq | lol |
23:11:34 | Demos[m] | so like the ability to ask questions like "what are some completions here" or "where is this defined", c++ has tools for this, but very few of them actually work |
23:11:45 | Araq | and we now have 'nimpretty' but bloody #nim refuses to take over its development |
23:12:36 | FromDiscord | <treeform> I came to nim looking for faster python with types. Languages I looked into before were pyrex/cython and boo. |
23:13:30 | FromDiscord | <treeform> Araq, are you done with nimpretty, what are your next steps? |
23:15:27 | nasusiro | treeform: Cython is not bad, but it's an extensions language for existing Python code, which does its job just fine, but adds an extra layer of unnecessary complexity on top of other problems a developer already have. |
23:16:47 | Araq | treeform: I'm following the v1 plan rather closely. and nimpretty is not part of it |
23:17:24 | Araq | sometimes I do other things as well, but when I do, it's done in my spare time ;-) |
23:17:55 | FromGitter | <rayman22201> Random possibly weird question... Could I use the compiler (specifically the lexer/parser) itself as a library? ⏎ I have a random (probably bad) idea: I would like to use Nim to create a DSL that outputs bash files. ⏎ I don't want to write a lexer or parser. the Nim parser is already really good. ⏎ I don't want to write a back-end for Nim because Nim is general purpose and that make no sense... ⏎ I would |
23:17:55 | FromGitter | ... ideally use Nim's excellent macro facility to just rewrite the AST nodes into equivalent Bash constructs, or yell at you if you try to use some unsupported thing like threads. ... [https://gitter.im/nim-lang/Nim?at=5b3ff8a389db5e701ca85d84] |
23:18:04 | FromGitter | <rayman22201> sorry for the novel of a post |
23:18:08 | nasusiro | Araq: if you ever write a book about language or compiler design, I want it on my shelf please lol! |
23:19:03 | Araq | rayman22201: that got easier as the compiler as an API is finally free of ugly the global variables |
23:19:31 | Araq | and your idea is not crazy, I had the same idea too. |
23:19:33 | Demos[m] | you can indeed use it as a library. There's little documentation for this use case |
23:19:39 | Demos[m] | the compiler is even in nimble! |
23:20:08 | FromGitter | <rayman22201> Or you and I have similar kinds of crazy @Araq :-P |
23:20:16 | Araq | https://github.com/nim-lang/Nim/tree/devel/tests/compilerapi Demos[m] |
23:20:48 | Araq | docs are still sparse, but the example is now part of the test suite |
23:21:02 | Demos[m] | ah! |
23:21:04 | Demos[m] | fun |
23:21:16 | FromGitter | <rayman22201> awesome!!! <3 |
23:21:25 | Demos[m] | I've been meaning to write a library that generates gobject-introspection GIR files from nim code |
23:22:34 | FromGitter | <rayman22201> lol @Demos[m] put Vala out of business :-D |
23:22:57 | FromGitter | <rayman22201> get the Elementary OS people to use Nim instead. I like this idea |
23:23:45 | Araq | I want NimOS. if you like to invent a new OS, contact me please |
23:23:55 | Araq | I can tell you what to try out. |
23:23:59 | Araq | and what to avoid. |
23:24:21 | dom96 | First thing: SQLite DB as filesystem? :P |
23:24:39 | Araq | nah. |
23:25:42 | elrood | does this compilerapi library thingy support incremental parsing? if not, can we generously wipe it aside as unusable? ;P |
23:26:01 | Sargun | dom96: Wasn't that WINFS? |
23:26:18 | Araq | depends on what you mean by that, elrood. Nim's secret REPL uses it for that |
23:26:57 | elrood | oh, interesting. care to share a bit of your secrets? |
23:27:16 | FromGitter | <rayman22201> I'm actually really on board with that. I think RedoxOS was really good for the Rust ecosystem, and I think something similar would be good for Nim as well |
23:27:48 | Demos[m] | I'm way more interested in integrating nim with desktop envs |
23:28:06 | Demos[m] | nim version of clutter / processing |
23:28:13 | Demos[m] | stuff like that |
23:28:47 | Araq | well there is little to say about it, the parser takes a stream and you can tell it to parse a single statement and then continue later with the next statement |
23:29:03 | Demos[m] | using nim to write bindable gobject libraries |
23:29:14 | dom96 | I actually know the guy that works on https://solus-project.com/ |
23:29:18 | Araq | it's incremental on the statement level, you cannot pass it a single token |
23:29:23 | dom96 | Well "know" :) |
23:29:39 | Araq | but that's good enough for the REPL. |
23:29:40 | dom96 | Haven't spoken to him in years, but I'm still disappointed he's using Vala and not Nim |
23:30:29 | Demos[m] | nim's bindings to gtk aren't quite prod ready |
23:30:54 | elrood | fair enough. didn't know there was a repl for nim, seems to be a well-kept secret, or i'm just oblivious |
23:31:06 | Demos[m] | in particular to unseat vala you need great support for callback registration and composite widget templates |
23:31:06 | dom96 | No? I've built Aporia using them |
23:31:08 | FromGitter | <rayman22201> @dom96 you should call your friend and yell at him immediately :-P |
23:31:14 | Demos[m] | elrood: it's literally a secret |
23:31:17 | Demos[m] | the command is "nim secret" |
23:31:33 | dom96 | In any case, it's trivial to bind GTK |
23:31:34 | Demos[m] | dom96: I meant gtk3 / gobj-introspection |
23:31:37 | Demos[m] | that C bindings are fine |
23:32:03 | dom96 | Composite widget templates, hrm. |
23:32:07 | dom96 | Not familiar with them :) |
23:32:10 | elrood | fascinating. thanks |
23:32:13 | dom96 | But callback registration was trivial |
23:32:48 | Demos[m] | so in vala you can annotate methods with [callback] and members with like [child] and it can automatically pull bits of your class out of a gtkbuilder xml file |
23:33:01 | Araq | elrood, but please don't report bugs for it. we know it's so bad that it must be kept a secret |
23:33:15 | Demos[m] | so it will automatically call gtk_widget_class_bind_template_child and gtk_widget_class_bind_template_child |
23:33:45 | dom96 | All this is just a macro away, but yeah I get that it's work |
23:33:52 | dom96 | It's a pity nobody decided to do it |
23:34:12 | dom96 | Creating a completely separate language just for the gobject ecosystem is a bit odd |
23:34:32 | Araq | huh? we have a GTK3 wrapper that somebody put a ton of effort into |
23:34:39 | Demos[m] | well having a ABI that is just gobject makes sense |
23:34:46 | Demos[m] | gintro |
23:34:46 | Demos[m] | yeah |
23:35:14 | Demos[m] | I know, it needs a little love, haven't had the time myself yet |
23:35:37 | Araq | but GTK itself is pretty much in a state of despair, no? |
23:35:46 | Demos[m] | huh? |
23:35:49 | Demos[m] | not really |
23:36:07 | Araq | they lost a couple of project to Qt the last time I followed it |
23:36:12 | Araq | *projects |
23:36:25 | Demos[m] | yeah, but a bunch of projects are coming back |
23:36:38 | Demos[m] | and they have been switching to meson (from autotools) and trying to get things working smooth on windows |
23:36:48 | Demos[m] | which addresses the big complaints about it |
23:37:13 | dom96 | What about macOS? :P |
23:37:27 | dom96 | I've given up on them after dealing with GTK on macOS |
23:37:31 | Demos[m] | it works fine on macOS |
23:37:47 | Demos[m] | it's going to look identical on all the platforms |
23:37:53 | Demos[m] | which people may not like on OSX |
23:38:00 | elrood | for any arbitrary definition of fine |
23:38:05 | dom96 | yeah, that's not "works fine" in my book :) |
23:38:22 | dom96 | I've spent literal weeks compiling GTK on macOS |
23:38:30 | dom96 | and then it ended up failing for some people anyway |
23:38:32 | Demos[m] | I mean trying to have "native" widgets is a bad idea |
23:38:45 | Demos[m] | worked on my machine :D |
23:39:00 | Demos[m] | again, meson is helping with this stuff a whole lot |
23:39:04 | nasusiro | off-topic: interesting thing you did there elrood with the italic "fine". how did you do that? lol I'm using hexchat and rendered it beautifully |
23:39:29 | Demos[m] | I'm using fractal (matrix) and it worked not at all |
23:39:47 | dom96 | I'm using XChat Azure and it didn't render either, weird. |
23:40:00 | dom96 | bold |
23:40:11 | nasusiro | I see a bold statement |
23:40:32 | dom96 | It's mIRC Format |
23:40:37 | nasusiro | dom96: maybe it's time to migrate to hexchat yourself? lol |
23:40:41 | dom96 | HexChat should have an option to add it somewhere |
23:40:47 | Demos[m] | I see a regular statement |
23:40:48 | elrood | ctrl-i for me, also on hexchat. begone, philistines, works for me™ :P |
23:40:51 | Demos[m] | *test* |
23:41:11 | dom96 | nasusiro: Maybe. Last time I checked it was very Windows focused |
23:41:19 | dom96 | But that was 3+ years ago |
23:41:33 | nasusiro | dom96: as you can see, I'm talking to you from a Debian testing 64-bit machine and works just fine |
23:42:00 | Araq | Demos[m], well GTK lost against Qt and Qt lost against the browser ;-) |
23:42:03 | dom96 | If you were talking to me from a Mac then I might try it |
23:42:23 | Araq | and the browser lost against iOS |
23:43:08 | Araq | which lost against Android. Yay, Java based UIs, here we come. |
23:44:30 | elrood | so.. when are you going to port the backend to output java..? |
23:44:47 | nasusiro | why not COBOL elrood? |
23:45:28 | Araq | nah, instead better wasm support is coming |
23:45:35 | Araq | wasm is the future of the UI. |
23:46:04 | Araq | still lacks the DOM integration, but that's just a minor implementation detail. you can already compute prime numbers with wasm |
23:46:26 | elrood | does cobol drive android, nasusiro? where did that come from now? |
23:47:02 | nasusiro | elrood: you surely don't appreciate a good sense of sarcastic geeky humor |
23:47:38 | nasusiro | Java is considered the COBOL of 21st century by many programmers |
23:49:23 | FromGitter | <honewatson> Any benchmarks for jester with httpbeast @dom96 |
23:51:45 | FromGitter | <rayman22201> ohhh, yay, The Systems Programming article guy responded! https://medium.com/@sargun/i-saw-your-response-on-the-nim-forums-and-realize-i-missed-the-comment-e4b28d7c7593 |
23:52:48 | elrood | ← almost entirely composed of sarcasm and cynism, nasusiro. it just doesn't always translate through these internet wires |
23:54:05 | nasusiro | elrood: accept my sincere apologies my fellow nerd. The next time we may meet in real life, I will buy you a Guinness for truce! |
23:56:54 | elrood | no worries, mate, no offense taken, and nothing to apologize for. likewise |
23:59:22 | nasusiro | by the way, any Austrians here? |
23:59:39 | nasusiro | what the hell is going on with that psychopath who want people to work for 12 hours per day? |