00:04:59 | Varriount | dom96: ping |
00:05:18 | dom96 | yes? |
00:09:13 | Varriount | dom96: Is there a 'results' key in the data sent to the hub? Specifically, the data sent to the part of the hub that creates the gist of results |
00:16:35 | dom96 | likely not |
00:17:04 | Varriount | dom96: Then what key contains the test result data? |
00:17:17 | dom96 | There is no key that contains it. |
00:19:06 | Varriount | But I could have sworn that testament was updated to output all the test results to json, which the builder then sent to the hub |
00:19:21 | dom96 | The builder doesn't send testresults.json as a whole. |
00:19:49 | dom96 | https://github.com/nimrod-code/nimbuild/blob/master/src/builder.nim#L236 |
00:20:58 | Varriount | Ah. I see. Lovely. |
00:22:09 | * | nolan_d left #nimrod (#nimrod) |
00:25:56 | * | flaviu joined #nimrod |
00:30:30 | * | nolan_d joined #nimrod |
00:34:41 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
00:40:41 | * | DAddYE quit (Remote host closed the connection) |
01:04:09 | BitPuffin | hey dom96 |
01:04:11 | BitPuffin | dom96: |
01:04:13 | BitPuffin | dom96 |
01:05:11 | dom96 | sup |
01:06:23 | BitPuffin | dom96: there is a MiniLD this weekend |
01:06:42 | BitPuffin | it's like Ludum Dare, but more casual |
01:06:46 | BitPuffin | should we rod it? |
01:06:52 | BitPuffin | the theme is _awesome_ |
01:06:58 | BitPuffin | Demake |
01:07:14 | BitPuffin | ie remake a game that exists with less advanced tech |
01:07:46 | BitPuffin | http://www.ludumdare.com/compo/2014/03/07/mini-ludum-dare-50-announcement/ |
01:08:56 | dom96 | if only I had time over the weekend :( |
01:09:06 | dom96 | you should do it though |
01:09:14 | fowl | c00l |
01:09:47 | BitPuffin | submission will be open until the end of the month |
01:10:45 | fowl | i will demake katamari damacy |
01:10:49 | fowl | in 1d |
01:11:00 | fowl | you only roll forward, collecting pixels |
01:11:21 | fowl | while the king of cosmos mocks you |
01:11:45 | BitPuffin | I might do it if fowl wraps allegro 5 |
01:12:09 | fowl | allegro has an ugly api |
01:12:18 | BitPuffin | allegro is sweet |
01:12:34 | fowl | i have a 1% wrapper for it, just to test if it works |
01:16:55 | fowl | nobody has shown interest in it to compel me to finish it |
01:17:13 | BitPuffin | well |
01:17:40 | BitPuffin | with allegro I can do pretty much everything needed for a jam |
01:17:48 | BitPuffin | without having to use SDL |
01:17:50 | BitPuffin | vomit |
01:18:00 | fowl | s/allegro/sdl or sfml |
01:18:34 | dom96 | what's wrong with sdl/sfml? |
01:18:35 | BitPuffin | sdl sucks |
01:18:45 | BitPuffin | sfml sucks |
01:19:05 | fowl | lol |
01:19:10 | fowl | sell me on allegro then |
01:19:11 | dom96 | That's... very detailed. |
01:19:16 | BitPuffin | no I just think SDL is shit, don't really know about sfml, but the little I've looked at it wasn't too nice |
01:19:35 | BitPuffin | I guess not shit, but I just don't htink there is a reason to use SDL |
01:20:17 | * | q66 quit (Quit: Leaving) |
01:20:23 | dom96 | righhttttt |
01:20:30 | BitPuffin | well like I said, with allegro I can do pretty much everything I need without extra stuff in a relatively sane way which is what I want especially for a jam |
01:21:22 | fowl | what is "everything" |
01:21:34 | BitPuffin | everything I need in a game? |
01:21:48 | fowl | sdl and sfml have graphics, audio, fonts, networking, thats everything |
01:22:04 | dom96 | I wouldn't even use the networking part. |
01:22:22 | dom96 | sfml is really nice |
01:22:26 | dom96 | and has positional audio |
01:22:26 | BitPuffin | I guess, but if you think SDL has a pretty API compared to allegro 5 then you are on crack |
01:22:29 | dom96 | and other cool things |
01:22:29 | fowl | except for the part where i didnt wrap sdl2_net/audio yet |
01:23:00 | fowl | dom96, do you know how to work the positional audio |
01:23:10 | dom96 | nope lol |
01:23:18 | BitPuffin | sfml is probably good now, didn't like it when I looked at it but it was a while ago, anyhow I guess it's mainly personal preference, I just find allegro to work really great without much hassle |
01:23:42 | fowl | dom96, i read the docs like 8 times and do what it says but audio is still coming from 0,0 |
01:24:10 | dom96 | fowl: perhaps ask on their forum |
01:24:24 | dom96 | They seem to answer questions well |
01:24:31 | BitPuffin | wat |
01:24:33 | BitPuffin | no docs on csfml? |
01:24:43 | fowl | yea |
01:24:49 | fowl | BitPuffin, no, its the same api as sfml |
01:25:04 | BitPuffin | ah because it's almost identical |
01:25:57 | * | Mordecai joined #nimrod |
01:26:04 | BitPuffin | I dunno guess I have a slight bias against C++ things |
01:26:17 | * | Mordecai is now known as Guest89728 |
01:26:41 | BitPuffin | didn't like SDL because it's not good, and sfml is C++ but has lots of bindings I know, but yeah. Allegro has a nice API imo and is written in C |
01:26:48 | BitPuffin | so I guess that's how I ended up there |
01:26:52 | BitPuffin | I don't really need to sell it |
01:27:06 | * | psquid quit (Ping timeout: 264 seconds) |
01:27:07 | BitPuffin | i'm just saying that if I'd do a 2d game for Mini LD I'd wanna use Allegro |
01:27:08 | fowl | you do if you want me to do the wrapper |
01:27:42 | BitPuffin | fowl: The sell on allegro is that with the allegro wrapper there is a higher chance of a nimrod entry to MiniLD |
01:28:36 | fowl | you dont give me any time though, this is the first ive heard of anyone besides gradha express interest in allegro |
01:28:58 | BitPuffin | fowl: false |
01:29:02 | dom96 | To me Allegro sounds like an old lib for some reason |
01:29:05 | BitPuffin | because I've whined about allegro before |
01:29:27 | BitPuffin | in fact it was one of the first thing I I did as a fresh nimrod noob |
01:29:29 | fowl | its a pretty big lib, it would take a while to wrap |
01:29:56 | fowl | also it hijacks main() on windows, not sure how to get over that |
01:29:57 | BitPuffin | dom96: probably because the classical nature of the name? however allegro has been around for ages |
01:30:24 | BitPuffin | fowl: have a look at the D wrapper, maybe you'll find wisdom |
01:30:39 | dom96 | You rarely find wisdom in D code. |
01:30:40 | BitPuffin | dom96: it's history is quite impressive |
01:30:41 | * | dom96 hides |
01:30:53 | BitPuffin | dom96: true, but I didn't mean that kind of wisdom |
01:31:00 | BitPuffin | I meant more like, how to bind allegro to a language |
01:31:04 | fowl | d wrappers so ugly :/ |
01:31:49 | BitPuffin | well there is a rust wrapper too |
01:31:52 | BitPuffin | but it's less done |
01:31:53 | BitPuffin | or at least was |
01:31:55 | BitPuffin | months ago |
01:31:58 | BitPuffin | \o/ |
01:32:14 | dom96 | oh, did you guys hear that the new rust package manager will be created by the guys who created ruby's bundler? |
01:32:24 | fowl | https://github.com/fowlmouth/allegro5/blob/master/al.nim |
01:32:44 | dom96 | I need to write a blog post about babel. |
01:33:21 | fowl | heh bundler, you either love++ it or hate++ it |
01:36:45 | dom96 | good night |
01:37:47 | BitPuffin | dom96: hugs, sleep well |
01:38:48 | BitPuffin | fowl: I don't see why you think the api is ugly in allegro, it's nice imo |
02:09:02 | * | Guest89728 quit (Ping timeout: 246 seconds) |
02:11:08 | * | psquid joined #nimrod |
02:22:16 | * | flaviu quit (Remote host closed the connection) |
02:45:06 | Skrylar | ah allegro |
02:45:20 | Skrylar | I like that library. |
02:46:05 | Skrylar | BitPuffin: fowl: are you both talking about different versions of it? |
02:46:30 | Skrylar | Allegro has been around since 1990 and was a DOS lib, until they rewrote it in its modern GL-backed version. |
02:47:54 | Skrylar | I don't think Allegro4/5 require jacking main anymore, and most libraries that hijacked main usually did it as a convenience from what I recall (like SDL1, who did it because it smoothed over the whole winmain/main issue) |
02:49:13 | fowl | 5 does afaict |
02:49:34 | * | DAddYE joined #nimrod |
02:49:44 | * | nande joined #nimrod |
02:50:26 | * | DAddYE quit (Client Quit) |
03:02:13 | * | brson quit (Quit: leaving) |
03:04:20 | * | nolan_d left #nimrod (#nimrod) |
03:05:35 | * | nolan_d joined #nimrod |
03:47:34 | * | Demos joined #nimrod |
03:52:01 | * | Demos quit (Ping timeout: 240 seconds) |
03:59:25 | * | cark2 joined #nimrod |
04:00:23 | * | cark quit (Read error: Connection reset by peer) |
04:06:22 | * | Demos joined #nimrod |
04:06:48 | Demos | anyone have experience with a scripty game engine (like pygame or love2d)? |
04:08:28 | Skrylar | i've used love2d before, Demos |
04:08:39 | Demos | is it good |
04:08:57 | Demos | from first impressions it looks pretty nice and simple (in a good way) |
04:09:51 | fowl | i enjoyed love2d |
04:10:20 | fowl | the api is straightforward and includes everything you need |
04:10:50 | fowl | tried pygame back in the day, its ok but really its a thin interface to SDL |
04:11:11 | Demos | yeah that is the impression I got |
04:12:17 | Demos | and I dont know lua or python, and I think lua is probably eaiser to learn |
04:12:23 | Skrylar | fowl: well, love2d is a thin interface to sdl too :P |
04:12:38 | Skrylar | Maybe more akin to a thin interface over Allegro, since it includes basic texture/sound importing |
04:12:59 | fowl | i wouldnt say that |
04:13:23 | fowl | it doesnt use sdl, maybe for window management but everything else is gl |
04:13:45 | Demos | critically though it is lua not c++, so if I dont need teh sp33dz this is good. Not having to deal with c++ build/deploy/anti-modularity bullshit is a good thing |
04:14:04 | Skrylar | My dislikes with Love2d is that it uses Puc Lua instead of LuaJIT for no apparent reason (why is something directly performance intensive intentionally using something slower? someone asked why they didn't use luajit and there wasn't an answer), font rendering looks like it loops over the glyphs every frame unless you explicitly render to textures, and the usual no GUI |
04:14:13 | fowl | Demos, use nimrod, it has a lua wrapper |
04:14:17 | Skrylar | I still facedesk when I see things claim to be game engines and have no interface :/ |
04:15:03 | fowl | eh id rather gui arise from the api rather than be included |
04:15:03 | Demos | Skrylar, I thought it was just a library, cant I just use luaJIT |
04:15:08 | Demos | and fowl stability |
04:15:14 | Skrylar | Demos: no, love2d is an engine |
04:15:15 | Demos | this is for gamejams with my friends |
04:15:25 | Demos | the difference is not that clear |
04:15:28 | fowl | Demos, i can also recommend libgosu for ruby |
04:15:39 | Skrylar | you would have to pop open the engine source code and fiddle with it, its not a library you just include to a program |
04:15:41 | fowl | Skrylar, i believe it used luajit in the recent releases |
04:15:51 | Skrylar | Godot has a GUI system built in to it. Haxe/NME at least supports text fields |
04:16:13 | Skrylar | I would consider NME's "we don't have a GUI, but we do have the core components to make it as well as some simple text fields" the bare minimum |
04:16:45 | Demos | also I don't like haxe |
04:17:03 | Skrylar | the problem i have with having the gui arise from the API is that it often doesn't, people often hack their own together on a "it works good enough for this project so its done", and people forget that text editing SUCKS |
04:17:22 | fowl | heh i tried haxe, first i couldnt get it to compile, a couple years later i came back to it and i disliked describing your project in xml or w/e |
04:17:49 | Skrylar | I thought haxe was neat but the compile time is really bad |
04:18:11 | Skrylar | the actual haxe compiler itself is fairly slow, and thats before the C++ generator makes it even worse |
04:18:14 | fowl | Skrylar, true, you get to that part and realize you need to store things like which gui element has focus so it can recieve text input |
04:18:15 | Demos | Skrylar, is it worse than c++? |
04:18:27 | Skrylar | Demos: well it outputs to C++, not C |
04:18:39 | Demos | but like nimrod generates C that compiles really fast |
04:18:46 | fowl | Skrylar, btw i believe i know what to do about backrefs in the signals lib |
04:18:49 | Demos | but C has the same basic issues with compile time c++ does |
04:18:56 | Skrylar | So you have to deal with a fairly slow (albiet it does have a lot of macro support) compiler outputting massive C++ stacks that G++ then takes forever to compile |
04:19:30 | Skrylar | e.g. the same hello world that nim+gcc compiles in 0.3 seconds takes upwards of 2-5 in haxe |
04:19:40 | Demos | making something compile slower than c++ is a fucking acheivement |
04:19:53 | Demos | wait what the FUCK |
04:20:04 | Demos | 5 secs for hello world does not bode well |
04:20:06 | Skrylar | plus it wants you to use their build driver, so its extra work to extricate your code from "I WILL USE MSVC BECAUSE WINDOWS" and its like "no i want you to use GCC damn it" |
04:20:27 | Skrylar | copy/paste runtime code, set up tupfile to build everything... |
04:20:32 | fowl | something cool about love is it makes distribution easy, you zip up your game and change the ext to .love |
04:20:42 | Demos | wow so it actually copies the shit that is c++ build systems |
04:20:45 | Demos | yeah that appealed |
04:21:14 | fowl | requires the user have love installed to play your game but thats not too taxing imo |
04:21:55 | Skrylar | you can rename the exe and love file so it autostarts |
04:22:55 | Skrylar | be warned that writing anythinng complex in lua is running headstrong in to what the language was not dsigned to handle though :) |
04:23:20 | Demos | yeah, again gamejams |
04:23:46 | Demos | I found with javascript stuff started to get annoying around 2-5kloc |
04:27:17 | * | Demos quit (Quit: Leaving) |
04:30:26 | * | BitPuffin quit (Ping timeout: 252 seconds) |
04:34:19 | Skrylar | fowl: what was your idea for the backrefs? |
04:39:31 | * | rejuvyesh[away] quit (Ping timeout: 264 seconds) |
04:50:31 | * | rejuvyesh[away] joined #nimrod |
06:10:32 | * | nande quit (Ping timeout: 246 seconds) |
06:13:22 | * | nande joined #nimrod |
06:14:55 | * | Ransel quit (Ping timeout: 264 seconds) |
06:47:51 | fowl | Skrylar, was going to be type classes but i ran into issue #1015 |
06:47:53 | fowl | gn |
06:53:00 | * | skyfex_ quit (Remote host closed the connection) |
07:00:05 | * | skyfex joined #nimrod |
07:21:18 | * | skyfex quit (Quit: Computer has gone to sleep.) |
07:34:29 | * | skyfex joined #nimrod |
07:40:34 | * | clovis joined #nimrod |
07:40:57 | * | clovis is now known as Guest87872 |
07:42:34 | * | Guest87872 left #nimrod (#nimrod) |
07:47:46 | * | Ransel joined #nimrod |
08:00:08 | Skrylar | I feel as though what was meant to be a critique, yet became a 3,000 word essay, probably was not a wise use of my time. |
08:00:11 | Skrylar | :| |
08:04:06 | * | skyfex quit (Quit: Computer has gone to sleep.) |
08:30:02 | * | Ransel quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
09:25:54 | * | Mat3 joined #nimrod |
09:25:59 | Mat3 | Good Day |
09:28:15 | * | easy_muffin joined #nimrod |
09:35:44 | Mat3 | one question: I plan to migrate my Nimrod specific code from a Mercurial repro (specially the vector library) to nimrod-code. Is these the right location for it ? |
09:36:53 | Mat3 | Please note, I am not familiar with Git. Otherwise I upload it to my own server and create a homepage |
09:42:30 | * | Mat3 quit (Quit: Verlassend) |
09:53:23 | * | zielmicha quit (Quit: Connection closed for inactivity) |
10:12:59 | * | easy_muffin quit (Ping timeout: 240 seconds) |
10:16:30 | * | profmakx quit (Remote host closed the connection) |
10:18:30 | * | OrionPK quit (Remote host closed the connection) |
10:19:29 | Araq | hi mat3 |
10:19:43 | Araq | oh he's gone already |
10:24:04 | * | nande quit (Read error: Connection reset by peer) |
10:29:33 | * | XAMPP quit (Read error: Connection reset by peer) |
10:42:44 | * | CARAM joined #nimrod |
11:24:35 | * | EXetoC joined #nimrod |
11:37:49 | * | Mat3 joined #nimrod |
11:40:00 | Mat3 | ping Araq |
11:42:55 | * | easy_muffin joined #nimrod |
11:43:20 | Araq | pong Mat3 |
11:45:38 | Mat3 | hello, someone tried a DoS attack (fortunatly he or she used his own IP for this *lol*). I guess not the only one who she or he tried |
11:45:58 | Mat3 | ^guess to be |
11:51:54 | Mat3 | anyhow, how can I add my projects to nimrod-code ? |
11:52:20 | dom96 | why do you want to add it to nimrod-code? |
11:53:46 | Mat3 | because I am not familiar how and where I can contribute |
11:54:10 | Mat3 | otherwise |
11:54:36 | dom96 | you should create an account on github and create your own repos for your personal projects |
11:56:02 | * | CARAM quit () |
11:56:04 | Mat3 | ok, no problem. What's the proceeding for my vector library ? |
11:59:08 | Araq | add a .babel file and make a PR so that babel knows about it |
11:59:14 | Araq | PR = pull request |
11:59:29 | Mat3 | ok thanks |
12:00:20 | Mat3 | have some work to do, ciao |
12:00:23 | * | Mat3 quit (Quit: Verlassend) |
12:02:45 | Skrylar | today is "how many kinds of event processors do people normally use" day |
12:02:48 | Skrylar | :| |
12:16:39 | * | Ransel__ joined #nimrod |
12:26:59 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
12:31:20 | * | BitPuffin joined #nimrod |
12:37:53 | * | Ransel__ is now known as Ransel |
12:51:26 | Skrylar | hrm. |
12:51:34 | Skrylar | i need to test if procvar is going to cause stupidity |
12:52:08 | Skrylar | One of the benefits of signals and slots is that methods like "setText(...)" are actually slots, so you can call it directly to set text or you can wire some arbitrary event that outputs text in to set text |
12:52:22 | Skrylar | so it looks like slots will have to be procvar'd |
12:54:03 | Araq | yup |
12:54:27 | Araq | proc vars default to .closure so that should work pretty nicely |
12:57:05 | * | easy_muffin quit () |
12:59:13 | Araq | though perhaps an explicit event queue works better |
13:20:39 | * | nolan_d left #nimrod (#nimrod) |
13:29:40 | Skrylar | Araq: those are a bit annoying for GUIs |
13:30:21 | Skrylar | while blah.pump(); case x.type of: geActivation: ... |
13:30:36 | Skrylar | compared to just, thisThing.onActivation.connect(blah) |
13:31:10 | Skrylar | though for some reason when i write it i use wire/unwire instead of connect/disconnect sometimes for no particular reason |
13:32:03 | Araq | with the queue you don't need various lists of listeners though |
13:32:49 | Skrylar | you don't, but then you just have a big crufty processing function :\ |
13:33:37 | Skrylar | I think wxWidgets actually does something like that internally, but they hide it under a base class and #defines |
13:34:20 | Skrylar | I thought about adapting the OID generator to produce 32/64-bit values instead of what it does now, and using a compile-time function to generate the event IDs for something like that |
13:34:36 | Skrylar | to solve the "who gets to use UserEvent42" problem |
13:35:52 | Skrylar | Araq: i wonder if it would be possible to cheat the syntax so you still use wire(blah.this, self.massivExplosion) but it actualy just shoves a reference in an event pump |
13:36:02 | Skrylar | Solves both problems |
13:38:09 | Araq | a macro can do that, I think |
13:39:24 | Skrylar | thinking about it, i think you still get the sequence of listeners problems because you have to tell things that emit events where to push to |
13:39:37 | * | EXetoC joined #nimrod |
13:39:39 | Skrylar | unless you limit it to a single pump, at which point you could have done the same to the sig/slot code |
13:40:25 | Skrylar | unless you're just using a thread-local global for all event pushing |
13:40:57 | Skrylar | no more dozens of seqs, but receivers have to filter for messages intended to them |
13:42:52 | Skrylar | ... And the above discussion is the reason I made a point to set aside time to write down different event models and test them :\ |
13:51:22 | * | flaviu joined #nimrod |
13:53:14 | * | jbe_ joined #nimrod |
13:55:01 | Araq | Skrylar: I think exhu has started a nimrod UI toolkit as well, please take a look |
13:55:12 | Araq | it's usually better to join forces |
13:55:25 | Araq | he uses cairo as the backend iirc |
13:55:31 | * | darkf quit (Quit: Leaving) |
13:55:32 | Araq | and x11 |
13:58:46 | * | OrionPK joined #nimrod |
14:04:35 | EXetoC | that's slightly different from a toolkit that is specifically for OpenGL though |
14:05:21 | EXetoC | but I don't know if cairo can be integrated with OpenGL apps |
14:06:07 | Skrylar | sort of |
14:06:19 | Skrylar | they have an experimental backend, though I think it just rasterizes to textures |
14:06:57 | Skrylar | I've considered making a win32 backend on numerous occasions just because it gets *something* which is usable, and if I don't architect things wrong its replacable anyway |
14:07:34 | Skrylar | buuuuuut, i haven't been able to work on any of that because of researching event handlers and layout algorithms :P |
14:10:25 | EXetoC | A tree of vertical/horizontal layouts doesn't seem too complex, but you might have something else in mind |
14:10:45 | Skrylar | yeah, something like that. |
14:10:57 | EXetoC | at least when not taking auto-fitting into account :> |
14:11:04 | Skrylar | I was thinking of one that switches if the dimensions get too small, like CSS flexboxes |
14:11:35 | Skrylar | when clovas was in here we talked about auto-fitting, and I expressed that I think auto-fitting might be better off getting jettisoned in favor of "auto degrading" |
14:13:38 | EXetoC | sort of like media selectors, but more fine-grained? |
14:14:01 | Skrylar | unified points (CEGUI's thing) can basically take 90% of the role of resizing anchors, and if you handle size constraints as "if > x then show all things, < x then hide text and show icons, if < x then show less icons and a dropdown offer" then you have eraticated a significant amount of complexity from your system |
14:14:41 | Skrylar | EXetoC: more or less. CSS flexboxes are supposed to let you have sidebars/asides that are left-to-right on a big screen and become iPhone-y if the screen is too small |
14:15:04 | Skrylar | Plus you always have the option of panicking to a scroll bar region if all else fails |
14:15:07 | dom96 | I think you should create a base GUI toolkit which just works on global positions. |
14:15:31 | Skrylar | that sounds nappy :( |
14:15:40 | * | zahary_ joined #nimrod |
14:15:41 | dom96 | Then write modules on top of that to provide different methods of sizing the widgets. |
14:16:18 | Skrylar | then you have to componentize the coordinates from the widgets, and that adds extra deref sadnesses |
14:18:17 | Araq | meh just port lazarus to nimrod and call it a day :P |
14:18:27 | Skrylar | lol |
14:18:34 | Skrylar | at times it feels like thats what i'm doing <_< |
14:19:35 | * | silven_ is now known as silven |
14:22:37 | Skrylar | at least its just glorified rectangle management. not like i have to debug ASTs all day :> |
14:23:35 | Araq | ASTs are easy and we got them right. Types are hard and I think we got them wrong :P |
14:24:34 | Araq | but I am not the kind of guy who rewrites 70,000 loc to use a different type representation which might turn out as problematic as the old one |
14:26:27 | * | nolan_d joined #nimrod |
14:26:54 | Araq | dom96! |
14:27:15 | Araq | gtk2 got a pull request: GTK-Quartz and Mac integration support |
14:27:29 | Araq | looks like aporia will take off on mac :-) |
14:28:34 | dom96 | I doubt it :P |
14:29:14 | dom96 | I'm amazed at how many stargazers Jester has. |
14:29:30 | Araq | my opencl wrapper has 0 ... :-( |
14:29:46 | dom96 | lol, not anymore |
14:30:07 | * | skyfex joined #nimrod |
14:30:15 | Araq | hi skyfex |
14:30:21 | jbe_ | is it possible to have a code block run automatically when new threads are initialized (or finished), without using the thread entry point? like, for a multithreaded lib that likes to be on top of things... a bit like threadvars... ? |
14:30:23 | skyfex | hiya |
14:32:32 | * | Ransel_ joined #nimrod |
14:32:39 | * | Ransel_ quit (Read error: Connection reset by peer) |
14:32:47 | Araq | jbe_: you can try to hack system/threads.nim |
14:33:47 | jbe_ | Araq: ok thx. plans to add it? |
14:34:32 | Araq | I don't mind adding *something* but the question with callbacks is always what effects allow for them |
14:35:20 | jbe_ | ah, right. |
14:35:38 | Araq | when you pass the callback via a parameter that is not stored somewhere we do defer this decision |
14:35:42 | EXetoC | Araq: we got types wrong? ok time to start over |
14:35:56 | Araq | EXetoC: the representation of types in the compiler |
14:36:06 | EXetoC | oh, right |
14:36:23 | Araq | and it's not clear yet whether it's actually *wrong* |
14:37:30 | dom96 | we're almost at 500 stargazers :D |
14:37:58 | EXetoC | not far from 10000 |
14:44:59 | Araq | skyfex: I assume your PR doesn't affect any test? |
14:45:42 | Araq | b) add the addition of the 'packed' pragma to the docs: web/news.txt and doc/manual.txt or nimrodc.txt |
14:51:23 | * | jbe_ quit (Remote host closed the connection) |
14:52:03 | * | Endy joined #nimrod |
14:56:35 | * | jbe_ joined #nimrod |
14:57:53 | * | [1]Endy joined #nimrod |
14:59:48 | * | renesac joined #nimrod |
15:00:31 | * | Endy quit (Ping timeout: 264 seconds) |
15:00:34 | * | [1]Endy is now known as Endy |
15:06:55 | * | jbe_ quit (Remote host closed the connection) |
15:07:05 | * | Demos joined #nimrod |
15:07:38 | Demos | so apperently people are writeing type system plugins for java8, very interesting. |
15:08:06 | * | [1]Endy joined #nimrod |
15:10:59 | * | Endy quit (Ping timeout: 240 seconds) |
15:10:59 | * | [1]Endy is now known as Endy |
15:14:12 | Skrylar | alright.. probably time to take care of some other things and then head to naps |
15:14:39 | Skrylar | Benchmarking a bunch of event systems is going to take brainpower xD |
15:15:06 | Araq | Demos: yeah we need something like this eventually |
15:23:47 | EXetoC | Skrylar: have fun |
15:25:59 | Demos | Araq: from a brief look it sounds like mostally adding qualifiers |
15:47:29 | Varriount | Demos: Type system plugins? |
15:47:33 | Varriount | How do you do that? |
15:52:08 | Demos | no idea, but apperently people are doing it |
15:52:31 | Varriount | Demos: Link? |
15:52:32 | Demos | I mean in nimrod you could presumably use a macro to go through functions with certain pragmas and emit {.error.}s |
15:52:57 | Demos | http://docs.oracle.com/javase/tutorial/java/annotations/type_annotations.html |
15:53:17 | Demos | http://types.cs.washington.edu/checker-framework/ |
15:54:41 | Varriount | Demos: Ah, finally annotations in java become useful :/ |
15:54:52 | Demos | it looks like these are really for the kinds of types that you do not want to enforce in all situations. Like dataflow analysis stuff |
15:55:11 | Varriount | Yet, still no type inference for things like variables. |
15:57:23 | Demos | I thought they added that. ofc you need a keyword to say "do inference" because of that stupid C style decl syntax, but then again the rest of us need something like nimrod's var, let, and const keywords |
15:57:45 | Demos | one of my favorite quotes about type systems is: |
15:58:29 | Demos | "Another myth spread by security researchers is that the planet |
15:58:29 | Demos | Earth contains more than six programmers who can correctly |
15:58:29 | Demos | use security labels and information f low control (IFC). This belief requires one to assume that, even though the most popular variable names are “thing” and “thing2,” programmers will |
15:58:29 | Demos | magically become disciplined software architects when confronted with a Dungeons-and-Dragons-style type system that |
15:58:29 | Demos | requires variables to be annotated with rich biographical dataand a list of vulnerabilities to output sinks. " |
15:58:42 | Demos | wow sorry for that copy paste mess |
16:00:49 | Varriount | Demos: Essentially, security researchers assume that programmers will go to the trouble of writing a large amount information about a specific variable, in order to prevent bugs/security flaws? |
16:02:24 | Demos | yeah, or that in general type system nerds say "look at all the bugs we can prevent with all these nifty type system features" and ignore the increased verbosity and decrease in flexability (types nessassarly depend on information about the WHOLE program, which you may not have when using external code) |
16:04:32 | Demos | that quote /is/ from a humor column, but it sums up some real problems with type systems pretty well imo |
16:07:24 | Araq | Demos: "waaa programmers are idiots" is a valid argument but you can't do anything by that argument |
16:07:31 | Demos | that is true |
16:07:47 | Araq | "waaa nested 'if's will be misused, lets not have them" |
16:08:15 | Demos | but the meat of the argument is that you need to avoid combinatorial explosions related to type qualifiers |
16:09:15 | Demos | now that meat is admittedly later in the paragraph I grabed the quote from but still. One of the reasons I like nimrod is that its type system is more flat than c++'s. Less const (and sometimes volitile) refness combinations |
16:09:37 | Demos | hehe linux's 8 space tab style guide ":D |
16:13:05 | Skrylar | Araq's new favorite language is Maptool macros |
16:13:17 | Skrylar | Non-nesting conditionals \o/ |
16:13:19 | Demos | and I dont think that the "waaa programmers are idiots" means catoring to the lowest common denominator of programmers. Good programmers have better shit to do than deal with type system explosions |
16:14:11 | Varriount | const volatile restricted private vector<tuple<string, string>> foo |
16:15:14 | Demos | not valid c++ code |
16:15:20 | Demos | and private is not a type qualifier |
16:15:39 | Demos | restrict alsot does not really change type compatibility either |
16:16:51 | Demos | const volitile vector<volitile tuple<const string, volitile string>>&& foo a more valid (if dumb) example. And the usual const and non-const overloads are also good examples. As is the issue with std::cout << x where x is like a volitile char |
16:18:08 | Varriount | Demos: I made most of what I typed up. |
16:18:15 | Demos | and the wierdness with how void foo(int&& p); is not the same as template<typename T> void foo(T&& p) when T is instanciated with an int |
16:23:53 | Demos | heh true. and restrict is stupid for other reasons. |
16:31:42 | * | DAddYE joined #nimrod |
16:34:51 | * | skyfex quit (Quit: Computer has gone to sleep.) |
16:36:32 | * | Mordecai joined #nimrod |
16:36:50 | * | Mordecai is now known as Guest79651 |
16:36:55 | * | nolan_d left #nimrod (#nimrod) |
16:38:19 | * | psquid quit (Ping timeout: 264 seconds) |
16:42:29 | Varriount | ANyone here know what "schematicity" means? |
16:50:16 | Araq | no |
16:52:13 | * | brson joined #nimrod |
17:00:02 | * | q66 joined #nimrod |
17:29:33 | * | nolan_d joined #nimrod |
17:32:12 | * | q66_ joined #nimrod |
17:33:00 | * | q66_ quit (Changing host) |
17:33:00 | * | q66_ joined #nimrod |
17:33:05 | * | q66 quit (Disconnected by services) |
17:33:07 | * | q66_ is now known as q66 |
17:49:41 | * | flaviu quit (Remote host closed the connection) |
17:59:25 | DAddYE | Araq: https://github.com/showcases/programming-languages |
18:02:37 | * | q66_ joined #nimrod |
18:03:06 | * | q66_ quit (Changing host) |
18:03:06 | * | q66_ joined #nimrod |
18:03:10 | * | q66 quit (Disconnected by services) |
18:03:12 | * | q66_ is now known as q66 |
18:04:11 | * | Demos quit (Ping timeout: 246 seconds) |
18:06:26 | * | q66 quit (Client Quit) |
18:06:40 | * | q66 joined #nimrod |
18:13:18 | Varriount | DAddYE: Why are we at the bottom? |
18:13:36 | Varriount | We're below PHP, for goodness sake! |
18:14:17 | * | nande joined #nimrod |
18:14:22 | Varriount | Hi nande |
18:14:26 | dom96 | awesome. |
18:14:33 | dom96 | Varriount: You should be happy we're featured at all |
18:14:43 | Varriount | True... |
18:14:49 | Varriount | But I want MOAR |
18:16:17 | * | hoppecl joined #nimrod |
18:16:18 | nande | hi Varriount :) |
18:18:11 | * | noam quit (Ping timeout: 246 seconds) |
18:20:05 | * | noam joined #nimrod |
18:22:57 | dom96 | Varriount: Yes, Nimrod should be featured on the front page of Github :P |
18:25:21 | EXetoC | of course |
18:26:01 | * | noam quit (Ping timeout: 240 seconds) |
18:26:19 | dom96 | I'm curious which Githubber decided to feature it though. |
18:27:42 | BitPuffin | ping zahary_ zahary |
18:28:26 | dom96 | Nice to see that Nimrod's stargaze count is not so far off D's |
18:33:21 | * | noam joined #nimrod |
18:36:03 | zahary | hi BitPuffin, what's up? |
18:36:15 | * | Matthias247 joined #nimrod |
18:37:48 | EXetoC | dom96: woot |
18:40:30 | * | zielmicha joined #nimrod |
18:47:10 | nequitans | I'm just going to say it: Nimrod code is much easier to read than Python. Here is a little example: I'm porting someone else's python algorithm to Nimrod. I see 'while A' where A is a set. *presumably* this means 'while A is not empty'. I test this out with some basic ipython commands (e.g. set() == True and set([1,2,3]) == True). Both return False! BUT in a while loop it works as expected, lol. |
18:49:15 | reactormonk | nequitans, I think that's just python's semantics. Ruby e.g. has the same that empty containers are still true |
18:50:28 | Araq | nequitans: in python an empty collection indeed is false in an 'if/while' context |
18:52:06 | nequitans | intresting |
18:52:19 | Matthias247 | I think implicit type conversion to bool is confusing in all languages that do it |
18:53:19 | Araq | I don't really mind it anymore but no mathematician would ever write 'if x' instead of 'if x != 0'. It's such a basic type error... |
18:58:55 | nande | hey guys would it be hard to use openssl at nimrod¿ |
18:59:57 | Araq | nande: babel itself uses it and the stdlib knows about it |
19:00:05 | nequitans | yea i can see how it's a reasonable semantic choice. but right now, it seems like the benefit you get from saving a few characters is not worth the loss of clarity when reading it / having to learn yet another implicit conversion of the language |
19:00:56 | Araq | nequitans: the point is to avoid things like if x is not None and x.len > 0: |
19:01:20 | Araq | er make that len(x), gosh python sucks :P |
19:02:05 | nequitans | lol, yea, it does achieve the unification that both are just "if x" |
19:02:50 | Araq | hi hoppecl welcome |
19:02:58 | EXetoC | Araq: speaking of which, was len going to work for nil inputs? |
19:03:11 | Araq | EXetoC: yes |
19:04:04 | EXetoC | yeah well that's a little more verbose than the python way but only just |
19:04:45 | Araq | converter toBool(x: ref|ptr|string): bool = not x.isNil |
19:05:20 | Araq | not that I like it, but nimrod is more flexible than me |
19:06:35 | nequitans | lol, with great power comes great coder responsibility :-P |
19:07:23 | EXetoC | That might've seemed like criticism but obviously wasn't |
19:07:54 | nequitans | (yea, no criticism intended :)) |
19:10:47 | EXetoC | no, what I said |
19:11:02 | nequitans | ah, gotcha |
19:36:42 | BitPuffin | heyo zahary |
19:36:52 | BitPuffin | any news on #2013? |
19:36:57 | BitPuffin | 1013* |
19:39:51 | EXetoC | it's 62.3% done |
19:41:12 | Araq | BitPuffin: join the navy ... er ... vnug |
19:43:52 | nande | Araq: could you be so kind to point me to a link with an example |
19:43:52 | nande | ? |
19:44:26 | BitPuffin | Araq: was just gonna suggest the same thing :) |
19:44:54 | BitPuffin | aight I'm in |
19:45:52 | BitPuffin | dom96: should come too |
20:02:15 | * | rndbit quit (Quit: rand() & 1) |
20:06:27 | BitPuffin | Araq: you and your lies :P |
20:06:54 | * | brson quit (Write error: Broken pipe) |
20:07:09 | * | brson joined #nimrod |
20:07:59 | * | zahary_ quit (Excess Flood) |
20:08:17 | * | zahary_ joined #nimrod |
20:11:30 | * | rndbit joined #nimrod |
20:11:30 | * | rndbit quit (Excess Flood) |
20:13:41 | * | q66 quit (Ping timeout: 252 seconds) |
20:26:15 | * | q66 joined #nimrod |
20:29:14 | * | Demos joined #nimrod |
20:42:06 | dom96 | BitPuffin: y u not in vnug |
20:42:12 | dom96 | er, I mean Araq. |
20:42:18 | BitPuffin | I dunno |
20:42:20 | BitPuffin | thought I was |
20:42:22 | BitPuffin | guess I'm not |
20:42:24 | BitPuffin | :s |
20:42:41 | Araq | Unreal 4 is out. And it's written in Nimrod :-) |
20:42:57 | BitPuffin | yeah fuck no :P |
20:43:03 | BitPuffin | join the VNUG |
20:44:21 | EXetoC | that must be a lie |
20:44:31 | Matthias247 | Araq: congrats. You're getting 50% of the royalties now? ;) |
20:44:43 | Araq | yup. well they claim it's c++ |
20:44:53 | Araq | but it's been translated from nimrod |
20:45:16 | Araq | cause it's insane for your productivity these days to use anything else |
20:45:19 | Matthias247 | probably. Similar what the heise artikel tells what unity5 is doing now |
20:45:36 | Matthias247 | C# -> IL -> CPP -> LLVM (emscripten) -> JS |
20:55:05 | BitPuffin | Araq: get yo ass in the VNUG damn it :P |
20:55:07 | BitPuffin | we are 3 in there :P |
21:00:16 | dom96 | I wonder where filwit is |
21:00:23 | dom96 | Haven't seen him in a while. |
21:00:26 | dom96 | !seen filwit |
21:00:26 | NimBot | filwit was last seen on Tue Mar 11 00:28:25 2014 quitting with message: Quit: Leaving |
21:03:14 | Araq | who is number 3? |
21:03:21 | BitPuffin | Araq: Demos |
21:06:25 | * | Endy quit (Ping timeout: 240 seconds) |
21:11:50 | BitPuffin | Araq: come on :P |
21:11:56 | BitPuffin | Araq: we can try and debug the mac os x thing |
21:13:03 | Araq | ok |
21:14:46 | EXetoC | !seen bacon |
21:14:46 | NimBot | I have not seen bacon |
21:15:23 | EXetoC | Matthias247: some chain |
21:17:27 | EXetoC | is it only applied for releases? I wonder how much overhead it incurs |
21:18:26 | EXetoC | at compile-time that is |
21:20:54 | BitPuffin | Araq: status? :P |
21:24:42 | * | holly_ joined #nimrod |
21:24:55 | Araq | hi holly_ welcome |
21:25:04 | Araq | BitPuffin: teamspeak still doesn't like me ... |
21:25:58 | EXetoC | why not? have you tried patching the exe? |
21:26:42 | BitPuffin | Araq: I can here your computer :P |
21:26:57 | Araq | *hear |
21:27:15 | EXetoC | does it talk? |
21:28:44 | BitPuffin | yeah ofc |
21:29:39 | NimBot | Araq/Nimrod devel 9ef0bcc Audun Wilhelmsen [+1 ±7 -0]: Added support for {.packed.} pragma on objects... 1 more lines |
21:29:39 | NimBot | Araq/Nimrod devel 0c0bc8c Audun Wilhelmsen [+0 ±1 -0]: Fix compilation error when using packed pragma with vcc. |
21:29:39 | NimBot | Araq/Nimrod devel 7323cc7 Andreas Rumpf [+1 ±7 -0]: Merge pull request #1014 from skyfex/devel... 2 more lines |
21:39:38 | holly_ | hi i was just trying to find a new low level language |
21:39:56 | holly_ | saw nimrod on a dr dobbs advert |
21:41:16 | holly_ | been reading various stuff on the web about nimrod,d,rust,go etc. |
21:41:29 | OrionPK | welcome holly_ |
21:42:17 | holly_ | it's funny that nimrod isn't listed on wikipedia, i like that |
21:43:56 | EXetoC | it is high level too. I hope you don't mind |
21:44:08 | holly_ | the nimrod code on the level generation benchmark webpage seems the clearest of all |
21:44:13 | EXetoC | yeah, it was taken down some time ago |
21:55:59 | * | hoppecl quit (Quit: Lost terminal) |
21:56:23 | * | Demos_ joined #nimrod |
22:01:29 | * | nolan_d left #nimrod (#nimrod) |
22:02:18 | Demos_ | nimrod is a wonderful low level language |
22:05:35 | Demos_ | there are several people here who have backgrounds in D, I think a few from rust. |
22:07:48 | nequitans | Hi holly_, I have been using Nimrod for all sorts of tasks successfully from low level (e.g. pointer arithmetic, manual memory management) to high level (concise representations of graph algorithms like flows and clique-finding). You get the high level of modern scripting languages with low level capabilities, and a lot of expressive power |
22:10:11 | Demos_ | you also get all the nice quality of life stuff from scripting languages. Like modules, a simple way to build your app, and fast iteration. |
22:10:16 | Demos_ | and a package manager |
22:11:57 | nequitans | Nimrod should eventually have a wikipedia entry given the other much less notable stuff that makes it there.. I assume it's just a matter of time and getting more attention to the language |
22:12:54 | Demos_ | it used to. But the deletionists came and took it down. Wikipedia is a crappy source of info on programming topics |
22:18:52 | BitPuffin | ping zahary Araq wants you |
22:19:03 | BitPuffin | to help out with a mac thing |
22:19:14 | BitPuffin | I guess Is hould ping zahary_ too |
22:19:55 | BitPuffin | Demos_: are you still eating? |
22:20:15 | Demos_ | yeah, I can hurry back if yall need me |
22:21:49 | holly_ | github babel wouldn't compile on my freebsd, perhaps because it needs 0.93 and i've only got 0.92 |
22:21:50 | * | q66 quit (Ping timeout: 252 seconds) |
22:22:07 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
22:22:12 | * | q66 joined #nimrod |
22:22:42 | Demos_ | give the version from the devel branch a shot. A lot of bugs have been fixed since 0.9.2 |
22:22:56 | BitPuffin | Demos_: no rush, it's not good to rush your food down :P |
22:23:12 | Demos_ | I have an openBSD vm that I can try and get nimrod working in if that fails |
22:23:15 | BitPuffin | holly_: don't use 0.9.2 |
22:23:20 | BitPuffin | we really need a disclaimer on the website |
22:24:45 | * | EXetoC joined #nimrod |
22:25:42 | Demos_ | OK on my way back to my desktop |
22:30:21 | * | Demos_ quit (Ping timeout: 265 seconds) |
22:34:23 | * | holly_ quit (Ping timeout: 245 seconds) |
22:41:08 | * | Demos quit (Read error: Connection reset by peer) |
22:46:15 | * | Demos joined #nimrod |
23:06:14 | * | brson quit (Ping timeout: 246 seconds) |
23:06:44 | * | brson joined #nimrod |
23:12:59 | * | Demos quit (Ping timeout: 240 seconds) |
23:15:11 | * | Demos joined #nimrod |
23:15:27 | * | xenagi joined #nimrod |
23:20:43 | NimBot | Araq/Nimrod devel c74b7bf Zahary Karadjov [+2 ±10 -0]: reference implementation of a vector swizzle library... 3 more lines |
23:20:43 | NimBot | Araq/Nimrod devel b5e774d Zahary Karadjov [+1 ±1 -0]: fix #1013 |
23:20:43 | NimBot | Araq/Nimrod devel eee8851 Zahary Karadjov [+0 ±5 -0]: implements ``distinct with/without X, Y``... 4 more lines |
23:23:28 | fowl | can we just make a special case 0.9.3 release |
23:28:23 | * | q66 quit (Ping timeout: 252 seconds) |
23:30:42 | * | eigenlicht quit (Ping timeout: 264 seconds) |
23:41:06 | * | q66 joined #nimrod |
23:42:41 | * | eigenlicht joined #nimrod |
23:49:06 | * | darkf joined #nimrod |
23:58:07 | BitPuffin | Araq: well I guess we are gonna have to force zahary to try it, because it didn't happen on Demos' hackintosh |
23:58:58 | Araq | fowl: I'm thinking about skipping 0.9.4 and releasing 0.9.6 instead |
23:59:23 | dom96 | what would be the point of that? |