| 00:25:27 | * | Fr4n quit (Ping timeout: 258 seconds) |
| 00:28:39 | * | q66 quit (Quit: Leaving) |
| 00:29:17 | Onionhammer | yes fowl! |
| 00:34:36 | * | q66[lap] quit (Ping timeout: 250 seconds) |
| 00:42:54 | * | Fr4n joined #nimrod |
| 00:59:55 | * | sdw joined #nimrod |
| 01:33:28 | * | francisl joined #nimrod |
| 02:11:15 | * | vendethiel joined #nimrod |
| 02:12:32 | * | vendethiel- quit (Ping timeout: 250 seconds) |
| 02:12:47 | * | bogen joined #nimrod |
| 02:13:59 | * | saml_ joined #nimrod |
| 02:31:41 | * | xenagi joined #nimrod |
| 02:45:30 | * | flaviu1 quit (Ping timeout: 246 seconds) |
| 02:48:30 | * | rg4 joined #nimrod |
| 02:48:53 | * | brson quit (Quit: leaving) |
| 02:49:15 | * | brson joined #nimrod |
| 02:53:14 | * | Francisco joined #nimrod |
| 02:54:45 | * | Demos quit (Read error: Connection reset by peer) |
| 02:56:29 | * | Fr4n quit (Ping timeout: 244 seconds) |
| 03:34:33 | * | EXetoC quit (Ping timeout: 260 seconds) |
| 03:38:59 | * | wkoch quit (Quit: wkoch) |
| 03:52:43 | * | kshlm joined #nimrod |
| 04:01:38 | * | EXetoC joined #nimrod |
| 04:18:20 | * | francisl quit (Quit: francisl) |
| 04:29:51 | * | tdc joined #nimrod |
| 05:10:10 | * | xenagi|2 joined #nimrod |
| 05:13:33 | * | xenagi quit (Ping timeout: 246 seconds) |
| 05:21:58 | * | edayo_ joined #nimrod |
| 05:29:58 | * | adrusi quit (Quit: adrusi) |
| 05:30:28 | * | saml_ quit (Quit: Leaving) |
| 05:32:05 | * | Sht0 quit (Ping timeout: 260 seconds) |
| 05:43:22 | * | xenagi|2 quit (Read error: Connection reset by peer) |
| 05:53:06 | * | brson quit (Quit: leaving) |
| 06:20:44 | * | BlaXpirit joined #nimrod |
| 06:29:02 | * | uber quit (Ping timeout: 245 seconds) |
| 06:29:22 | * | vissborg quit (Remote host closed the connection) |
| 06:29:52 | * | Roin quit (Ping timeout: 245 seconds) |
| 06:32:03 | * | vissborg joined #nimrod |
| 06:36:28 | * | uber joined #nimrod |
| 06:36:29 | * | uber quit (Max SendQ exceeded) |
| 06:36:57 | * | tdc quit (Ping timeout: 260 seconds) |
| 06:36:59 | * | uber joined #nimrod |
| 06:44:51 | * | Roin joined #nimrod |
| 07:09:37 | * | tyronut joined #nimrod |
| 07:15:38 | * | vissborg quit (Remote host closed the connection) |
| 07:17:57 | * | vissborg joined #nimrod |
| 07:40:41 | * | tdc joined #nimrod |
| 07:55:43 | * | kshlm quit (Ping timeout: 272 seconds) |
| 08:02:35 | * | z3744624276842 joined #nimrod |
| 08:10:28 | * | tdc_ joined #nimrod |
| 08:13:33 | * | tdc quit (Ping timeout: 260 seconds) |
| 08:23:23 | * | johnsoft quit (Ping timeout: 272 seconds) |
| 08:36:51 | * | noam__ joined #nimrod |
| 08:39:53 | * | noam_ quit (Ping timeout: 240 seconds) |
| 09:06:45 | * | tdc_ quit (Ping timeout: 260 seconds) |
| 09:10:00 | * | edayo_ quit (Ping timeout: 260 seconds) |
| 09:11:01 | * | xcombelle joined #nimrod |
| 09:11:20 | * | vendethiel quit (Ping timeout: 272 seconds) |
| 09:12:00 | * | edayo_ joined #nimrod |
| 09:15:22 | * | [CBR]Unspoken1 quit (Quit: Leaving.) |
| 09:16:32 | * | [CBR]Unspoken1 joined #nimrod |
| 10:00:25 | * | kshlm joined #nimrod |
| 10:16:21 | * | xcombelle quit (Ping timeout: 260 seconds) |
| 10:23:28 | * | johnsoft joined #nimrod |
| 10:36:35 | * | xcombelle joined #nimrod |
| 11:13:15 | * | kuzy000_ joined #nimrod |
| 11:36:33 | * | xcombelle quit (Ping timeout: 272 seconds) |
| 11:47:03 | * | Sht0 joined #nimrod |
| 11:50:37 | * | dirkk0 joined #nimrod |
| 11:50:55 | * | edayo_ quit (Quit: Leaving) |
| 11:54:53 | * | kshlm quit (Ping timeout: 240 seconds) |
| 12:07:02 | * | dirkk0 quit (Quit: This computer has gone to sleep) |
| 12:20:32 | * | saml_ joined #nimrod |
| 12:35:18 | * | Joe_knock joined #nimrod |
| 12:50:30 | * | dirkk0 joined #nimrod |
| 13:06:54 | * | wkoch joined #nimrod |
| 13:06:55 | * | bjz_ quit (Read error: Connection reset by peer) |
| 13:07:10 | * | bjz joined #nimrod |
| 13:11:11 | * | Amrykid2 is now known as Amrykid |
| 13:11:21 | * | Amrykid quit (Changing host) |
| 13:11:21 | * | Amrykid joined #nimrod |
| 13:21:30 | * | xcombelle joined #nimrod |
| 13:23:35 | * | saml_ quit (Quit: Leaving) |
| 13:23:43 | * | untitaker quit (Ping timeout: 244 seconds) |
| 13:31:08 | * | untitaker joined #nimrod |
| 13:53:14 | * | nande joined #nimrod |
| 13:54:16 | * | brson joined #nimrod |
| 13:57:17 | * | q66[lap] joined #nimrod |
| 13:57:31 | * | askatasuna joined #nimrod |
| 13:59:46 | * | darkf quit (Quit: Leaving) |
| 13:59:49 | * | q66[lap] quit (Client Quit) |
| 14:08:47 | * | q66[lap] joined #nimrod |
| 14:12:11 | * | xenagi joined #nimrod |
| 14:48:01 | * | jagillion joined #nimrod |
| 15:35:13 | * | tyronut quit (Quit: Leaving) |
| 15:45:58 | * | Matthias247 joined #nimrod |
| 15:58:02 | * | Jesin joined #nimrod |
| 16:05:01 | * | silven joined #nimrod |
| 16:07:41 | * | bjz quit (Read error: Connection reset by peer) |
| 16:07:55 | * | bjz joined #nimrod |
| 16:15:06 | * | silven quit (Remote host closed the connection) |
| 16:16:27 | * | silven joined #nimrod |
| 16:21:08 | * | dirkk0 quit (Quit: Leaving) |
| 16:27:37 | * | uber quit (Killed (morgan.freenode.net (Nickname regained by services))) |
| 16:27:54 | * | uber_ joined #nimrod |
| 16:27:55 | * | uber_ quit (Max SendQ exceeded) |
| 16:28:53 | * | uber joined #nimrod |
| 16:28:54 | * | uber quit (Max SendQ exceeded) |
| 16:29:23 | * | uber joined #nimrod |
| 16:29:23 | * | uber quit (Max SendQ exceeded) |
| 16:29:53 | * | uber joined #nimrod |
| 16:29:53 | * | uber quit (Max SendQ exceeded) |
| 16:30:23 | * | uber joined #nimrod |
| 16:30:54 | * | jagillion quit (Quit: jagillion) |
| 16:32:07 | * | Wernesgrunnerr joined #nimrod |
| 16:32:31 | Wernesgrunnerr | Hello, is it possible to dynamically link a nimrod dynamic library to a c++ program? |
| 16:40:24 | * | Varriount__ joined #nimrod |
| 16:43:24 | * | Varriount_ quit (Ping timeout: 246 seconds) |
| 16:57:40 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 16:59:23 | * | BlaXpirit joined #nimrod |
| 16:59:43 | * | vendethiel joined #nimrod |
| 17:10:57 | * | jagillion joined #nimrod |
| 17:19:08 | * | wkoch1 joined #nimrod |
| 17:19:32 | * | wkoch quit (Ping timeout: 260 seconds) |
| 17:27:50 | * | jbe joined #nimrod |
| 17:28:11 | jbe | hi |
| 17:30:29 | jbe | i just tried to use glu in the opengl package and got some undeclared identifier errors for PGLfloat and PGLdouble.. i can't see those types defined anywhere even though they are used in glu.nim... |
| 17:33:55 | jbe | hmm |
| 17:34:37 | Wernesgrunnerr | Hi, anyone knows if its possible to use c++ bindings to create a dynamic library usable by a c++ program? |
| 17:37:46 | EXetoC | jbe: not in the opengl module either? |
| 17:38:01 | EXetoC | not many people use that package probably. I'll look into it |
| 17:38:17 | jbe | EXetoC: nope |
| 17:39:29 | EXetoC | maybe there's only TGL* |
| 17:45:04 | jbe | yeah it looks that way |
| 17:45:40 | jbe | but glu uses PGL*, and i also found some old code of mine that uses it, so it must have been removed |
| 17:48:32 | Joe_knock | Wernesgrunnerr: Can you enlighten us more as to what you are trying to do. |
| 17:49:28 | jbe | EXetoC: ^, and it works after replacing those types with ptr TGL* instead... should i submit a patch? |
| 17:54:37 | Araq | Wernesgrunnerr: yes, it is possible |
| 17:54:58 | Araq | generate a DLL from your nim module, generate the stdlib as a DLL |
| 17:55:14 | Araq | generate a header file from your module |
| 17:55:19 | Araq | and then use that from C++ |
| 17:55:41 | EXetoC | jbe: if you feel like removing the T on all types, because we're changing that as well |
| 17:56:08 | Araq | EXetoC: we have a deprecation path for this thing |
| 17:56:21 | Araq | don't just break every single opengl program out there! |
| 17:56:51 | EXetoC | ok duplicating the types then with different names |
| 17:57:24 | Araq | no, we have: |
| 17:57:45 | Araq | {.deprecated: [TFoo: Foo, TBar: Bar].} |
| 17:58:07 | Araq | and then only Foo and Bar should be defined properly |
| 17:59:30 | jbe | so how are pointer types distinguished from value types under the new scheme? |
| 18:00:22 | Araq | it depends onto which type is the common one |
| 18:00:32 | Araq | the common gets no pre-/suffix |
| 18:00:45 | Araq | the other gets an Obj or Ptr or Ref suffix |
| 18:00:55 | Araq | *if* required |
| 18:02:43 | EXetoC | I forgot the details. haven't written much code as of lately |
| 18:03:03 | jbe | i see |
| 18:03:16 | EXetoC | so follow these instructions if you want. otherwise I'll do it myself today |
| 18:03:23 | * | brson quit (Ping timeout: 240 seconds) |
| 18:05:30 | jbe | ok, i'm leaving it to you then ;p |
| 18:05:32 | EXetoC | I'll write a readme either way. it's about time I do |
| 18:09:10 | * | brson joined #nimrod |
| 18:10:43 | jbe | nice work on the wrapper by the way, it's working great |
| 18:16:32 | * | noam__ is now known as noam |
| 18:16:44 | EXetoC | good to know |
| 18:17:19 | * | jbe quit (Quit: Leaving) |
| 18:17:28 | * | silven_ joined #nimrod |
| 18:18:46 | Wernesgrunnerr | Araq: Thanks a lot, when it comes to using the c++ SDK (which is just a bunch of header files) in my nimrod library, is there a place where I can read about that? |
| 18:19:38 | * | silven__ joined #nimrod |
| 18:19:46 | * | silven quit (Read error: Connection reset by peer) |
| 18:19:50 | Araq | Wernesgrunnerr: http://nimrod-lang.org/nimrodc.html#importcpp-pragma |
| 18:20:48 | * | francisl joined #nimrod |
| 18:20:58 | * | silven_ quit (Read error: Connection reset by peer) |
| 18:21:38 | * | francisl left #nimrod (#nimrod) |
| 18:21:55 | * | francisl joined #nimrod |
| 18:22:51 | Wernesgrunnerr | Araq: Thanks a lot! :D |
| 18:24:10 | * | Jesin quit (Quit: Leaving) |
| 18:26:12 | Araq | Wernesgrunnerr: you can also try c2nim on the c++ code to generate a Nim interface |
| 18:26:31 | Araq | but be prepared to massage the C++ until c2nim likes it |
| 18:26:46 | * | Jesin joined #nimrod |
| 18:28:01 | Wernesgrunnerr | Arab: Alright, and I suppose that using c2nim is the preferred method? I see that the other method is considered sloppy interfacing! Thanks again! |
| 18:35:59 | Araq | Wernesgrunnerr: when it comes to c++ interfacing there is *no* clean solution really |
| 18:40:06 | * | Jehan_ joined #nimrod |
| 18:58:17 | * | Johz joined #nimrod |
| 19:03:05 | * | silven__ quit (Remote host closed the connection) |
| 19:05:59 | * | silven joined #nimrod |
| 19:12:54 | * | brson quit (Quit: leaving) |
| 19:17:45 | * | TieSoul_ joined #nimrod |
| 19:18:56 | * | TieSoul_ quit (Remote host closed the connection) |
| 19:19:02 | * | TieSoul quit (Ping timeout: 245 seconds) |
| 19:19:26 | * | TieSoul joined #nimrod |
| 19:24:24 | * | bjz quit (Read error: Connection reset by peer) |
| 19:24:26 | * | bjz_ joined #nimrod |
| 19:42:55 | * | francisl quit (Quit: francisl) |
| 19:58:08 | * | Ven joined #nimrod |
| 20:12:22 | * | TieSoul quit (Ping timeout: 245 seconds) |
| 20:14:28 | * | Mat3 joined #nimrod |
| 20:14:31 | Mat3 | hello |
| 20:21:07 | Araq | hi Mat3 |
| 20:21:42 | Araq | ping Varriount__ |
| 20:22:23 | Mat3 | hi Araq |
| 20:22:42 | Araq | ping kokozedman |
| 20:23:42 | * | Johz quit (Quit: Leaving) |
| 20:24:08 | Araq | Jehan_: sorry I've forgot to tell ya |
| 20:24:25 | * | xcombelle quit (Ping timeout: 260 seconds) |
| 20:24:27 | Araq | 'if isDefined("posix")' is too risky, IMO |
| 20:24:43 | Araq | we should whitelist the OSes where it's known to work |
| 20:24:54 | Jehan_ | Araq: Hmm, good point. |
| 20:25:37 | Jehan_ | Especially since you can also run -d:posix, I think. |
| 20:25:49 | * | TieSoul joined #nimrod |
| 20:25:52 | Jehan_ | And I have to double-check what cygwin does. |
| 20:26:06 | Wernesgrunnerr | Araq: Alright, thanks a lot! I really didn't knew what I was looking for :D |
| 20:26:40 | Jehan_ | I don't think the compiler considers cygwin to be a platform of its own at the moment? |
| 20:26:54 | Araq | cygwin is no platform :P |
| 20:27:17 | Jehan_ | cygwin does a whole lot of stuff different than Windows. |
| 20:27:26 | Jehan_ | In really, really scary ways at times. |
| 20:27:38 | Jehan_ | Don't get me started on fork() under Cygwin, for example. |
| 20:28:14 | Jehan_ | (Not that the Cygwin efforts aren't heroic, but they're working around some pretty nasty limitations.) |
| 20:29:05 | Araq | cygwin is rather pointless, all the gnu tools have been ported to windows properly |
| 20:29:07 | * | Trustable joined #nimrod |
| 20:32:31 | Araq | Wernesgrunnerr: we have some plans to improve C++ compatibility |
| 20:32:33 | Jehan_ | Araq: Except that lots of people still use Cygwin as a porting environment. |
| 20:33:56 | Araq | Jehan_: yes, but Nim itself has been ported to Windows, so I don't see the point |
| 20:35:00 | Araq | cygwin can't run ELF binaries, so it's not a real emulator |
| 20:35:09 | Jehan_ | Araq: Because, for example, I'm using Nim to write tools for one such project. |
| 20:35:22 | Araq | take Wine as another example |
| 20:35:41 | Araq | we do not need to support that because --os:windows plus cross compiling fills the bill |
| 20:35:57 | Araq | but for cygwin? --os:linux? |
| 20:36:08 | Mat3 | yes |
| 20:36:33 | Araq | Jehan_: ok ok, that makes all the difference then :-) |
| 20:36:46 | Araq | what do you need? --os:cygwin ? |
| 20:37:17 | Jehan_ | Araq: At the moment, I don't need anything at all. What I'm doing doesn't need a whole lot of OS services, so things seem to work. |
| 20:37:39 | Jehan_ | popen() is the one exception, but I have my own module for that anyway that wraps the C calls. |
| 20:38:08 | Jehan_ | I was just trying to point out that Cygwin is not going entirely unused. |
| 20:38:24 | Araq | well yes. I use it at work too |
| 20:38:54 | Araq | because I can't be bothered to port ~7000 lines of configure crap |
| 20:39:05 | Jehan_ | Specifically in the academic world, where a lot of projects are developed for Unix systems and Cygwin offers a comparatively easy way to port them to Windows where limited funding is available. |
| 20:39:27 | Jehan_ | Yeah, pretty much. |
| 20:40:36 | Jehan_ | Let me add at this point that autoconf is on my list of most hated tools. |
| 20:41:34 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:41:37 | Jehan_ | I've toyed repeatedly with writing at least a basic alternative implementation in Lua. |
| 20:42:09 | Jehan_ | Never got off the ground because in the end I could avoid it, but it's something that somebody really should do. |
| 20:43:02 | Jehan_ | Anyhow, I mentioned cygwin in this context, because I seem to remember that setjmp under cygwin works differently from its normal Windows behavior, too. |
| 20:43:25 | Mat3 | ciao |
| 20:43:27 | Jehan_ | But I can't recall enough about how Cygwin emulates signals to know whether that's actually an overhead that one has to be worried about. |
| 20:43:48 | Jehan_ | But yeah, I'll definitely go with a whitelist of OSs. |
| 20:43:59 | * | flaviu1 joined #nimrod |
| 20:45:26 | Jehan_ | On a totally different note: Have you considered singleton types as an alternative for static[int] and such? |
| 20:47:21 | Araq | not really but it's clear that static[T] is flawed |
| 20:47:51 | Araq | however it works good enough for what I'm implementing right now |
| 20:47:58 | Jehan_ | The idea is that a singleton type would not require a fundamentally different treatment. |
| 20:48:13 | Araq | which is Lock[LockLevel: static[int]] |
| 20:49:57 | Jehan_ | I'm not suggesting that you change it, I'm just wondering whether such an approach might simplify matters. |
| 20:50:28 | * | Mat3 quit (Quit: Verlassend) |
| 20:50:58 | Araq | well I wanted to replace types by ASTs throughout the compiler |
| 20:51:14 | Araq | but it's lots of work and I'm not sure it works :-) |
| 20:51:48 | Jehan_ | Heh. :) |
| 20:54:42 | Araq | the planned types API however is based on this idea: |
| 20:54:58 | Araq | don't expose types, expose their ASTs instead |
| 20:56:05 | * | askatasuna quit (Quit: WeeChat 1.0) |
| 20:58:17 | * | q66 joined #nimrod |
| 21:00:37 | * | kuzy000_ quit (Ping timeout: 245 seconds) |
| 21:11:43 | * | francisl joined #nimrod |
| 21:12:58 | * | Trustable quit (Quit: Leaving) |
| 21:16:31 | * | Ven joined #nimrod |
| 21:20:11 | Joe_knock | Araq: Should we be building the big-break, or wait until 0.96 is finalized? |
| 21:27:02 | * | jagillion quit (Quit: jagillion) |
| 21:28:27 | Araq | Joe_knock: not even babel works with bigbreak :-/ |
| 21:29:04 | Joe_knock | :O |
| 21:29:27 | * | Joe_knock assumes patience |
| 21:35:59 | * | TieSoul_ joined #nimrod |
| 21:36:57 | * | TieSoul quit (Ping timeout: 245 seconds) |
| 21:39:01 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:45:29 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 21:59:38 | Araq | hrm 'else after loop' is more controversial than multi-line comments |
| 22:04:29 | reactormonk | Araq, we should implement a monad-like definition syntax for everything, then you have your zero ;-) |
| 22:05:03 | Araq | hrm? my 'zero'? |
| 22:14:29 | * | saml quit (Quit: Leaving) |
| 22:19:07 | * | francisl quit (Quit: francisl) |
| 22:33:30 | * | Johz joined #nimrod |
| 22:35:44 | * | Varriount__ is now known as Varriount |
| 22:36:00 | Varriount | Meep |
| 22:36:44 | Varriount | Araq: You called? |
| 22:37:04 | Araq | yeah |
| 22:37:16 | Jehan_ | Araq: The problem I have with else after loop is not so much the feature as such, but the underlying creeping featurism. I don't think anyone has conclusively demonstrated the benefits. |
| 22:37:32 | Jehan_ | Multiline comments are something that one can ignore even if not needed. |
| 22:37:39 | Jehan_ | And are more likely to have benefits. |
| 22:37:43 | Araq | can have a look at bug #1544, Varriount ? |
| 22:38:30 | Araq | Jehan_: actually I find |
| 22:38:36 | Araq | while foo: bar |
| 22:38:40 | Araq | else: baz |
| 22:38:47 | Araq | very intuitive |
| 22:39:07 | Araq | python's version of it is not at all |
| 22:39:23 | Jehan_ | Araq: Hmm. Is it being used often enough to merit a special syntax? |
| 22:39:24 | Araq | but that wasn't requested |
| 22:39:57 | Araq | Jehan_: I don't think so |
| 22:40:08 | Araq | but I don't think of it as *special* syntax |
| 22:40:17 | Varriount | I agree with Jehan_ on the for/while...else |
| 22:40:20 | Araq | it's a natural extension |
| 22:40:57 | Jehan_ | Araq: I can think of at least three different meanings that people would ascribe to an "else" clause after a loop, so I doubt the "natural" part. |
| 22:41:01 | * | saml joined #nimrod |
| 22:41:18 | Jehan_ | Just for starters, you and Guido van Rossum obviously see it differently. :) |
| 22:41:46 | Araq | yeah but Guido is Dutch ;-) |
| 22:41:54 | Araq | so ... doesn't count :P |
| 22:42:18 | Jehan_ | The HN thread I linked had people using various different interpretations, too. |
| 22:42:59 | Araq | well I'd argue while/else only has 1 valid interpretation, but for/else is not so clear |
| 22:43:11 | Jehan_ | If there's anything I'd take from this is that it might be nice to have some way to do a multi-keyword syntax, i.e. foo: … bar: ... |
| 22:43:29 | Araq | and in fact |
| 22:43:40 | Araq | while/else is *quite* useful for parsers and lexers |
| 22:43:44 | Jehan_ | I know that you can use multiple do's, but that's not as intuitive. |
| 22:44:28 | Araq | while buf[i] in Letters: ... |
| 22:44:42 | Jehan_ | Araq: Hmm, I see where you're coming from, but I personally still wouldn't use it for parsers/lexers. |
| 22:44:43 | Araq | else: error("identifier expected") |
| 22:45:28 | Jehan_ | It feels Perlish to me (write-only code). Stuff that feels natural during writing, but is more difficult to decipher. |
| 22:45:39 | Jehan_ | Of course, that's just my subjective impression. |
| 22:45:58 | Jehan_ | It's frustrating that it's so hard to do controlled studies with respect to language design. |
| 22:47:13 | Jehan_ | There's the PPIG stuff, and a few isolated studies here and there. |
| 22:47:52 | Jehan_ | E.g. the stuff that Stefan Hanenberg does: https://www.dawis.wiwi.uni-due.de/team/stefan-hanenberg/ |
| 22:47:57 | Araq | yes but for me personally there is another problem with objective studies: |
| 22:48:22 | Araq | what if the study disagrees with how I want the language to work? ;-) |
| 22:48:58 | Jehan_ | Araq: That's a different story. I'm talking about assumptions that you make during design. |
| 22:49:37 | Araq | Jehan_: iirc SQL has been based on studies |
| 22:49:54 | Araq | and while the syntax is passable, they missed |
| 22:50:09 | Jehan_ | Personally, I like my design to be supported by more than educated guesses. My problem is more that this is often impossible. |
| 22:50:30 | Araq | *composability* in all its various ways |
| 22:50:47 | Jehan_ | Araq: Not sure what studies they did for SQL. |
| 22:50:54 | Jehan_ | And, of course, studies can be wrong. |
| 22:51:10 | Varriount | Araq: I can't replicate issue #1544 |
| 22:51:13 | Araq | yeah but I think they picked the wrong target audience |
| 22:51:16 | Jehan_ | My issue is with the scarcity of studies, not with their total absence (there are a few, but they're few and far between). |
| 22:51:35 | Varriount | Araq: And I'm booting from the ground up - csources and all |
| 22:51:37 | Araq | Varriount: what if 'git' is not in your path? |
| 22:52:22 | Varriount | Araq: I'll check. |
| 22:53:21 | Jehan_ | Hmm, why do you need Git to bootstrap on Windows? (Just curious.) |
| 22:53:47 | Varriount | You shouldn't. That's what I'm testing |
| 22:55:17 | Araq | Jehan_: the compiler invokes git to embed the HEAD hash into the exe |
| 22:55:24 | Araq | I was against this |
| 22:55:31 | Jehan_ | Oh, I see. |
| 22:55:43 | Varriount | Araq: Go poke Gradha then. |
| 22:56:18 | Araq | well both gradha and dom96 wanted this feature |
| 22:56:19 | Varriount | Araq: Yep. It fails when git isn't in the path. |
| 22:56:38 | Araq | Varriount: ok, thanks |
| 22:56:55 | Jehan_ | Interesting, is this Windows only? Because I use a bridge and don't even have a .git directory. |
| 22:59:44 | Varriount | Ok, I could have sworn gradha said he tested his git hash thing without git installed. |
| 23:00:07 | Araq | it might be Windows only |
| 23:00:31 | Araq | in which case somebody needs to check what osproc does on other OSes |
| 23:00:35 | Varriount | However the presence of 'const gitHash = gorge("git log -n 1 --format=%H")' in a procedure, with no error checking, baffles me. |
| 23:00:37 | Araq | when the binary cannot be found |
| 23:01:14 | Araq | Varriount: well compile-time 'try' is broken |
| 23:01:24 | Araq | so .. there is little we can do |
| 23:01:35 | Araq | except ensure 'gorge' returns "" on error |
| 23:01:54 | Varriount | Araq: It's not in a try. |
| 23:02:11 | Araq | Varriount: nor can it be, thanks to VM bugs |
| 23:02:39 | Jehan_ | Ah, on OS X the gorge just gets an error message back from the shell, it doesn't fail with an exception. |
| 23:03:54 | Jehan_ | Should startProcess() on Windows likewise return an error code rather than throwing an exception? |
| 23:05:31 | Araq | hrm I dunno |
| 23:05:42 | Jehan_ | One solution in general might be to have gorge() return nil if it encounters an error of some kind. |
| 23:06:06 | Araq | yeah I'm not a fan of nil strings |
| 23:06:07 | Jehan_ | Hmm, that may also not be the right thing. |
| 23:06:25 | Jehan_ | I was thinking more that you can then check with "when" if the command succeeded. |
| 23:07:46 | Araq | well in fact |
| 23:07:54 | Araq | 'gorge' should fail at compile-time |
| 23:08:15 | Araq | and we should support findExe in the VM |
| 23:08:35 | Araq | so you can do: const foo = when findExe("git"): ... else: "" |
| 23:09:13 | Jehan_ | Hmm, if gorge can fail at compile time, then you really need some way to recover from errors. |
| 23:09:20 | * | saml quit (Quit: Leaving) |
| 23:11:07 | Araq | Jehan_: yes, compile-time 'try' ftw |
| 23:11:26 | Araq | but that will take a while, so we need a workaround |
| 23:13:20 | * | Joe_knock quit (Quit: Leaving) |
| 23:14:20 | * | darkf joined #nimrod |
| 23:24:13 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 23:26:37 | * | Johz quit (Quit: Leaving) |
| 23:45:31 | * | Wernesgrunnerr quit (Ping timeout: 246 seconds) |