Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.