Logs: freenode/#haskell
| 2021-03-21 14:33:41 | <timCF> | maralorn: It's just normal function application then) Don't need special term "partial application" at all |
| 2021-03-21 14:35:08 | → | xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar) |
| 2021-03-21 14:35:13 | → | renzhi joins (~renzhi@modemcable070.17-177-173.mc.videotron.ca) |
| 2021-03-21 14:37:33 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
| 2021-03-21 14:39:59 | <nshepperd> | you do need the special term because people think about functions differently than the haskell type system does |
| 2021-03-21 14:41:27 | × | Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 265 seconds) |
| 2021-03-21 14:41:39 | <dolio> | Yes, the point is that there is an informal notion of what constitutes 'all' the expected arguments to the function, even though it's curried. |
| 2021-03-21 14:42:03 | <maralorn> | timCF: And there is a difference when you think about the type of closure a function can have. |
| 2021-03-21 14:42:04 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 2021-03-21 14:42:45 | <maralorn> | when you have something of the from "f x y = ..." then evaluation only can start when values for x and y are provided. |
| 2021-03-21 14:43:12 | <maralorn> | That’s different for "f x = g" which can be evaluate to "g" as soon as x is provided. |
| 2021-03-21 14:43:55 | → | Tario joins (~Tario@201.192.165.173) |
| 2021-03-21 14:44:16 | ← | jil``` parts (~user@45.86.162.6) ("ERC (IRC client for Emacs 26.1)") |
| 2021-03-21 14:45:14 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-03-21 14:45:20 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds) |
| 2021-03-21 14:45:51 | × | sssb54 quits (~ssssb56@vps-b2931db6.vps.ovh.ca) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 2021-03-21 14:46:43 | × | incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 245 seconds) |
| 2021-03-21 14:47:41 | → | incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com) |
| 2021-03-21 14:48:58 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Remote host closed the connection) |
| 2021-03-21 14:49:56 | → | Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se) |
| 2021-03-21 14:51:43 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-03-21 14:52:39 | → | plutoniix joins (~q@node-uhl.pool-125-24.dynamic.totinternet.net) |
| 2021-03-21 14:52:56 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-03-21 14:54:01 | → | sssb54 joins (~ssssb56@vps-b2931db6.vps.ovh.ca) |
| 2021-03-21 14:54:26 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) |
| 2021-03-21 14:55:33 | × | Lycurgus quits (~niemand@98.4.116.165) (Quit: Exeunt) |
| 2021-03-21 14:57:33 | × | incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 264 seconds) |
| 2021-03-21 14:57:40 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-nlxaujrugfazsleg) |
| 2021-03-21 14:57:56 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Remote host closed the connection) |
| 2021-03-21 15:02:26 | → | incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com) |
| 2021-03-21 15:07:04 | × | tsaka__ quits (~torstein@ppp-94-65-45-45.home.otenet.gr) (Ping timeout: 265 seconds) |
| 2021-03-21 15:08:12 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:7956:c631:2eb4:a488) |
| 2021-03-21 15:08:14 | → | hexfive joins (~hexfive@50.35.83.177) |
| 2021-03-21 15:09:29 | → | alx741 joins (~alx741@181.196.69.79) |
| 2021-03-21 15:10:03 | → | CrazyPython joins (~crazypyth@98.122.164.118) |
| 2021-03-21 15:10:54 | × | son0p quits (~son0p@181.136.122.143) (Remote host closed the connection) |
| 2021-03-21 15:12:18 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) |
| 2021-03-21 15:13:10 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds) |
| 2021-03-21 15:13:14 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:7956:c631:2eb4:a488) (Ping timeout: 264 seconds) |
| 2021-03-21 15:13:55 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 2021-03-21 15:15:32 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 2021-03-21 15:19:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-03-21 15:22:23 | <hololeap> | (1 +) is an example of partial application |
| 2021-03-21 15:22:57 | → | son0p joins (~son0p@181.136.122.143) |
| 2021-03-21 15:23:04 | <Logio> | "partial application" only really makes sense if you have a certain notion of "fully applied" in mind |
| 2021-03-21 15:24:42 | <mastarija> | Where can I find the documentation to the "raw" arrays? I only see the documentation for the Array interface. |
| 2021-03-21 15:25:17 | <hololeap> | both concepts are equally valid. currying is witness to an isomorphism, after all |
| 2021-03-21 15:25:35 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 2021-03-21 15:25:45 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 264 seconds) |
| 2021-03-21 15:25:55 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) |
| 2021-03-21 15:26:14 | → | haskell_newbie joins (~haskellne@111.119.187.43) |
| 2021-03-21 15:27:27 | → | ixlun joins (~matthew@109.249.184.133) |
| 2021-03-21 15:27:46 | <tomsmeding> | mastarija: there is https://ghc.gitlab.haskell.org/ghc/doc/libraries/ghc-prim-0.8.0/GHC-Prim.html#g:14 , but I don't know if that's all there is :p |
| 2021-03-21 15:28:45 | <mastarija> | tomsmeding, I've found this now https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Arr.html#t:Array |
| 2021-03-21 15:28:53 | <mastarija> | But I'm not sure what I'm looking at :D |
| 2021-03-21 15:29:15 | <tomsmeding> | mastarija: that's just the same array type that the 'array' package on hackage exports |
| 2021-03-21 15:29:44 | <mastarija> | I guess that's what I want... |
| 2021-03-21 15:29:48 | → | ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net) |
| 2021-03-21 15:30:01 | <tomsmeding> | mastarija: see the import of GHC.Arr here https://hackage.haskell.org/package/array-0.5.4.0/docs/src/Data.Array.html |
| 2021-03-21 15:30:03 | <tomsmeding> | :) |
| 2021-03-21 15:30:06 | <mastarija> | Do you know if this is a "C" style array? |
| 2021-03-21 15:30:13 | <tomsmeding> | kind of? |
| 2021-03-21 15:30:13 | <mastarija> | As in nicely packed block of memory? |
| 2021-03-21 15:30:25 | <tomsmeding> | are you looking for performance reasons or for FFI reasons? |
| 2021-03-21 15:30:45 | <mastarija> | FFI + a bit of fun exploring |
| 2021-03-21 15:31:11 | <geekosaur> | sounds to me like you want a storable vector instead of an array |
| 2021-03-21 15:31:35 | <mastarija> | I want something that's in the base and doesn't require any dependencies |
| 2021-03-21 15:32:30 | <geekosaur> | base is overrated |
| 2021-03-21 15:33:02 | <mastarija> | I have my reasons :D |
| 2021-03-21 15:33:54 | <tomsmeding> | mastarija: you can have a look at the Foreign.* modules in base; there are Ptr and ForeignPtr (see their docs) |
| 2021-03-21 15:33:56 | <mastarija> | geekosaur, actually I want something like Array primitive |
| 2021-03-21 15:34:00 | <tomsmeding> | if you want to go really low level for some reason :P |
| 2021-03-21 15:34:04 | <mastarija> | yep |
| 2021-03-21 15:34:15 | <mastarija> | I guess I can just use pointers |
| 2021-03-21 15:34:20 | × | ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 256 seconds) |
| 2021-03-21 15:34:29 | <tomsmeding> | for fun please do |
| 2021-03-21 15:34:43 | <tomsmeding> | for production please re-evaluate :p |
| 2021-03-21 15:34:46 | <mastarija> | But I was hoping for some nice [] syntax or something, I don't know |
| 2021-03-21 15:34:58 | <tomsmeding> | [] is only lists in haskell, except with OverloadedLists |
| 2021-03-21 15:35:28 | <mastarija> | well, I was thinking more in the lines of "get_item x array" |
| 2021-03-21 15:35:31 | <bbhoss> | how does Debug.Trace.trace print to the screen without IO? |
| 2021-03-21 15:35:41 | <mastarija> | unsafeIO |
| 2021-03-21 15:35:45 | <tomsmeding> | bbhoss: unsafePerformIO |
| 2021-03-21 15:35:57 | <bbhoss> | ah nice, so this bypasses the function needing to be tagged as IO |
| 2021-03-21 15:36:05 | <mastarija> | yep |
| 2021-03-21 15:36:07 | <tomsmeding> | https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Debug.Trace.html#trace |
| 2021-03-21 15:36:20 | → | Deide joins (~Deide@217.155.19.23) |
| 2021-03-21 15:36:21 | <tomsmeding> | remember that you can look at the source, if you don't go too deep into primops :p |
| 2021-03-21 15:36:43 | → | CrazyPyt_ joins (~crazypyth@98.122.164.118) |
| 2021-03-21 15:37:03 | <mastarija> | One thing I really like about haskell docs is the #source link |
| 2021-03-21 15:37:08 | × | CrazyPyt_ quits (~crazypyth@98.122.164.118) (Client Quit) |
| 2021-03-21 15:37:25 | → | CrazyPyt_ joins (~crazypyth@98.122.164.118) |
| 2021-03-21 15:38:39 | <tomsmeding> | bbhoss: note that unsafePerformIO is in general, well, unsafe :p |
| 2021-03-21 15:38:49 | × | CrazyPython quits (~crazypyth@98.122.164.118) (Ping timeout: 256 seconds) |
| 2021-03-21 15:39:02 | <tomsmeding> | even if Debug.Trace.trace itself is safe apart from its obvious side effect |
| 2021-03-21 15:39:09 | → | conal joins (~conal@64.71.133.70) |
| 2021-03-21 15:40:30 | <geekosaur> | playing with trace will give you some idea of just how unsafe unsafe is |
| 2021-03-21 15:41:07 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-03-21 15:41:27 | <geekosaur> | it's not like Haskell is enforcing some weird discipline on you that you can escape from by knocking it over the head; there are actual differences in what's going on |
| 2021-03-21 15:41:42 | × | rond_ quits (594021ff@89-64-33-255.dynamic.chello.pl) (Ping timeout: 240 seconds) |
All times are in UTC.