lexi-lambda changed the topic of #racket to: Racket v7.5 has been released: https://blog.racket-lang.org/2019/11/racket-v7-5.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
Fernando-Basso has quit [Remote host closed the connection]
m1dnight_ has quit [Ping timeout: 240 seconds]
m1dnight_ has joined #racket
evdubs has quit [Quit: Leaving]
m1dnight_ has quit [Read error: Connection reset by peer]
m1dnight_ has joined #racket
soegaard has quit [Quit: soegaard]
evdubs has joined #racket
vraid has quit [Quit: Leaving]
endobson has joined #racket
endobson has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Codaraxis has joined #racket
acarrico has joined #racket
wingsorc has joined #racket
orivej has joined #racket
Fare has quit [Ping timeout: 268 seconds]
casaca has quit [Quit: leaving]
casaca has joined #racket
KDr2 has joined #racket
Fare has joined #racket
badkins has quit [Remote host closed the connection]
endobson has joined #racket
wingsorc has quit [Ping timeout: 240 seconds]
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 240 seconds]
iyzsong has joined #racket
Fare has quit [Ping timeout: 240 seconds]
Codaraxis has quit [Read error: Connection reset by peer]
FreeFull has quit []
npfaro has joined #racket
<npfaro> hi
<npfaro> How do you define a function inside a closure, for example: (let ((x 0)) (define (func) (begin0 x (set! x (add1 x)))))
<npfaro> That doesn't work though
badkins has joined #racket
endforma1 has quit [Ping timeout: 240 seconds]
badkins has quit [Ping timeout: 258 seconds]
<technomancy> npfaro: I'd use lambda
<npfaro> What do you mean?
<technomancy> (let* ((x 0) (func (lambda () (set! x (add1 x)) x))) ...)
Lowl3v3l has quit [Remote host closed the connection]
<npfaro> I'm trying to make a top level define though
<technomancy> oh, well that's different
<npfaro> I'm doing it right now by using (define x 0) (define (myfunc) (begin0 x (set! x (add1 x))))
<npfaro> just on the same level together
<npfaro> But then anyone can mess with the x
<technomancy> (define func (let ((x 0)) (lambda () (set! x (add1 x)) x)))
<npfaro> Oh of course, good idea. Thanks!
<technomancy> np
endobson has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
endobson has joined #racket
endobson has quit [Client Quit]
endobson has joined #racket
npfaro has quit [Remote host closed the connection]
Diagon has joined #racket
Diagon has quit [Remote host closed the connection]
Fare has joined #racket
Codaraxis has joined #racket
Codaraxis_ has joined #racket
Codaraxis has quit [Ping timeout: 268 seconds]
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 240 seconds]
lockywolf_ has joined #racket
lockywolf_ has quit [Remote host closed the connection]
lockywolf_ has joined #racket
lockywolf_ has quit [Remote host closed the connection]
lockywolf__ has quit [Ping timeout: 260 seconds]
lockywolf_ has joined #racket
narimiran has joined #racket
endobson has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
orivej has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 240 seconds]
sauvin has joined #racket
dddddd has quit [Ping timeout: 248 seconds]
asumu_ has quit [Ping timeout: 260 seconds]
soegaard has joined #racket
lockywolf__ has joined #racket
lockywolf__ has quit [Remote host closed the connection]
lockywolf__ has joined #racket
lockywolf_ has quit [Ping timeout: 260 seconds]
lockywolf__ has quit [Ping timeout: 258 seconds]
gour has joined #racket
erkin has quit [Quit: Ouch! Got SIGIRL, dying...]
erkin has joined #racket
Naptra has joined #racket
soegaard has quit [Quit: soegaard]
Codaraxis_ has quit [Quit: Leaving]
soegaard has joined #racket
lockywolf has joined #racket
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 260 seconds]
badkins has joined #racket
badkins has quit [Ping timeout: 240 seconds]
aidalgol has joined #racket
gour_ has joined #racket
orivej has joined #racket
gour has quit [Ping timeout: 272 seconds]
gour_ is now known as gour
lockywolf_ has quit [Ping timeout: 268 seconds]
soegaard has quit [Quit: soegaard]
soegaard has joined #racket
<gour> morning
<gour> just read report about Racket CS, but wonder if there are some news in regard to Rhombus (Racket2)?
nullcone has quit [Quit: Connection closed for inactivity]
lockywolf has joined #racket
lockywolf has quit [Max SendQ exceeded]
lockywolf has joined #racket
tilpner_ is now known as tilpner
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 255 seconds]
iyzsong has quit [Ping timeout: 240 seconds]
gour has quit [Remote host closed the connection]
soegaard has quit [Quit: soegaard]
soegaard has joined #racket
dmiles has quit [Ping timeout: 268 seconds]
soegaard has quit [Quit: soegaard]
Fernando-Basso has joined #racket
soegaard has joined #racket
Sgeo has quit [Read error: Connection reset by peer]
Sgeo has joined #racket
aidalgol has quit [Remote host closed the connection]
lockywolf_ has quit [Ping timeout: 240 seconds]
dmiles has joined #racket
lockywolf has joined #racket
gour has joined #racket
soegaard has quit [Quit: soegaard]
acarrico has quit [Ping timeout: 260 seconds]
soegaard has joined #racket
Lowl3v3l has joined #racket
jsomedon has joined #racket
dddddd has joined #racket
acarrico has joined #racket
soegaard has quit [Quit: soegaard]
<notnotdan> hi
vraid has joined #racket
KDr2 has quit [Quit: Connection closed for inactivity]
<erkin> hi
orivej has quit [Ping timeout: 240 seconds]
<gour> in a recent time I was exploring possibility to use Eiffel language for writing (multi-platform) desktop app - it provides kind of gui DSL and uses Design by Contracts (DbC) methodology. now I see that Racket also has support for contracts (https://docs.racket-lang.org/guide/contracts.html) as well as gui DSL (https://docs.racket-lang.org/gui/index.html). now, putting aside OOP vs FP, anyone familiar with Eiffel can compare Racket vs Eiffel for the
<gour> project?
<gour> yes, I also want easy/simple FFI to bind 3rd party C lib which I'd require...
soegaard has joined #racket
endforma1 has joined #racket
badkins has joined #racket
<bremner> gour: putting aside OOP vs. FP seems to miss the easy basis to make the decision.
<dzoe> What is faster? make-sized-byte-string/unsafe-bytes-ref or (ptr-ref cptr _byte 123)?
<dzoe> The documentation is completely silent about performance implications (i.e. inlining to single function when it comes to it)
<dzoe> I mean single instruction
orivej has joined #racket
orivej has quit [Ping timeout: 258 seconds]
soegaard has quit [Quit: soegaard]
ng0 has joined #racket
<gour> bremner: i agree. i meant to say, "besides OOP vs FP" iow. things like expected performance, static/dynamic typing, ecosytem, size of community etc. Eiffel might be simpler language (to learn), but Racket is also straightforward with its parens :-)
Fare has joined #racket
nullman has quit [Ping timeout: 272 seconds]
vraid has quit [Quit: Leaving]
nullman has joined #racket
pera has joined #racket
orivej has joined #racket
efm has quit [Remote host closed the connection]
efm has joined #racket
vraid has joined #racket
Fare has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 258 seconds]
lavaflow has quit [Ping timeout: 265 seconds]
Fare has joined #racket
lavaflow has joined #racket
efm has quit [Quit: Konversation terminated!]
badkins has quit [Remote host closed the connection]
badkins has joined #racket
badkins has quit [Ping timeout: 265 seconds]
nullcone has joined #racket
FreeFull has joined #racket
casaca has quit [Quit: leaving]
casaca has joined #racket
orivej has joined #racket
<samth> gour: I think there's not been much movement on the Racket2 front in the last couple months. In terms of syntax the most-discussed option is https://github.com/racket/rhombus-brainstorming/pull/122
samth changed the topic of #racket to: Racket v7.6 has been released: https://blog.racket-lang.org/2020/02/racket-v7-6.html -- Racket -- https://racket-lang.org -- https://pkgs.racket-lang.org -- Paste at http://pasterack.org
<samth> salmon123: if there's a good logging service we can use I'd be happy to do that
<samth> technomancy: in the sense that you have to understand continuations to understand why that doesn't work, you have to understand continuations to understand any program at all
<technomancy> samth: haha, yeah that's fair
<samth> i can believe that using the word "continuation" in that explanation is maybe not the right choice, though
<vraid> is racket really moving away from s-expressions? :/
<erkin> vraid: It's not certain.
<erkin> It depends on whether the Rhombus project succeeds.
<vraid> rhombus project?
<erkin> The codename of Racket 2.
<erkin> It's not certain if it's going to be a successful project to replace Racket itself.
<bremner> I was under the impression that it would be just another front end
<bremner> I haven't followed things closely though
jsomedon has quit [Quit: jsomedon]
<erkin> As far as I can tell, original Racket will still be maintained, but the focus will shift to Rhombus instead.
<technomancy> nd rhombus will fix things like the fact that `length' only works on lists?
<erkin> I think there are modules for that already.
<technomancy> sure, but defaults matter
<vraid> #lang racket` is not going away and will always have its current
<vraid> supports `#lang scheme` and `#lang mzscheme` and even `(module
<vraid> parenthesis-oriented syntax. In the same way that Racket still
<vraid> <name> mzscheme ....)` and even top-level programs
<vraid> ah. fair
<erkin> I suppose it will become legacy then.
<bremner> Why do you think that?
<erkin> Because #lang (mz)scheme is legacy.
<gour> and any experimental Rhombus implementation is still very far away?
<erkin> Yeah, it's still in the early brainstorming phase.
<erkin> You can pitch your ideas here: https://github.com/racket/rhombus-brainstorming/issues
<gour> so, i'm considering Racket vs Eiffel, better to just fix on what is available in Racket today :-)
<erkin> The first implementation probably won't come into existence until several years later anyway.
<gour> uhh ok
<erkin> Of Rhombus, I mean.
<gour> sure, Racket is healthy and alive, even CS one
<notnotdan> CS = Chez Scheme?
<gour> yep
<gour> i mean, Racket CS
<erkin> Yeah, Racket CS is now production ready.
<gour> i know that language-wise, Racket is very interesting for language enthusiasts, but (besides FP-nature) I very much like that it has DSL language for writing GUI apps abstracting things over native platforms, so just wonder do you you consider whether Racket is production-ready for desktop gui apps?
sauvin has quit [Remote host closed the connection]
<erkin> Absolutely.
<technomancy> I wouldn't really consider anything else for desktop gui programs
<technomancy> (and racket is far from my first language)
<erkin> racket/gui is genuinely one of the best high-level GUI DSLs out there.
<erkin> Perhaps the best.
<gour> i know only about ActivityLog2 example, besides DrRacket
<technomancy> erkin: IMO elisp is nicer if you're targeting emacs users, but for conventional guis nothing beats racket =)
<erkin> Haha
<gour> :-)
<erkin> I wrote 70% of this program in a weekend: https://github.com/erkin/gophwr
<technomancy> not having buffers or ido is kind of a drag; don't know how people put up with it
<erkin> It'd've taken me several weeks with Qt and C++.
* gour is thinking about "old-school" desktop app
<gour> erkin: cute ;)
<erkin> :-3
<gour> otherwise, Racket's community seems to be bigger than Eiffel, top class docs, stand-alone executables, package manager, prospect of Racket CS...all looks well
<gour> have to inspect about FFI
<erkin> FFI is a bit of a pickle right now, because Racket CS is going to have a different set of C FFI, based on Chez's.
<gour> i see...
<notnotdan> for not very complicated GUIs racket/gui is definitely the best
MustardCheese has joined #racket
<notnotdan> once you need some advanced drag and drop and copy-pasting from different sources.. then you need to write a bunch of code yourself
<erkin> Racket BC has two FFIs, based on whether you use CGC or 3m GC.
<notnotdan> but it's also not very hard to do because teh GUI system is based on objects and interfaces, and you can easily create your own abstractions using classes
<gour> erkin: i'm on linux (devuan), bt would like to provide versions for win & mac os...racket's gui uses Cocoa for Mac?
<erkin> notnotdan: Even then, it takes comparatively little effort to extend the standard library and implement your own procedures.
<notnotdan> yeah
<erkin> Yup.
badkins has joined #racket
<erkin> It works out of the box crossplatform.
<notnotdan> it's probably less feature-full then Qt, but once you need to implement something yourself, it's much much easier
<erkin> I developed this on Linux only and it worked on Windows, macOS and OpenBSD without any changes.
<notnotdan> oh and yeah crossplatform is cool
<technomancy> gour: I've build windows .exes on debian using wine; pretty easy
<erkin> On Linux and BSDs, you can pick whether it should use GTK 2 or 3 by an environment variable.
<erkin> with an*
<notnotdan> i just wish there would be more components for it, and an easy way to debug event dispatch
<erkin> Yeah, it could use some more exploration.
<gour> cool. i like/prefer gtk over qt
<gour> Eiffel Studio stll does only gtk2...
<erkin> Even with Framework and MrLib there are things you need to implement yourself if you're doing finicky stuff.
<notnotdan> yeah .. what's is the reason why Framework is a separate package btw?
<erkin> It's big.
<notnotdan> i'd imagine it could be part of gui-lib
<gour> any url for Framework/MrLib?
<notnotdan> is most of it stuff to do with editor<%>s?
<erkin> racket/gui was more or less developed for/with DrRacket and Framework and MrLib were the extra libraries that DrRacket uses but are seldom used by others.
<technomancy> pronounced "mister library" I assume?
<erkin> I guess it's a reference to MrEd.
badkins has quit [Ping timeout: 240 seconds]
<erkin> (legacy name of racket/gui)
<gour> thanks, didn't find at pkg index
manualcrank has quit [Quit: WeeChat 1.9.1]
MustardCheese has quit [Ping timeout: 260 seconds]
Fare has quit [Ping timeout: 255 seconds]
MustardCheese has joined #racket
badkins has joined #racket
Fare has joined #racket
asumu_ has joined #racket
badkins has quit [Remote host closed the connection]
soegaard has joined #racket
badkins has joined #racket
soegaard has quit [Client Quit]
narimiran has quit [Ping timeout: 258 seconds]
soegaard has joined #racket
soegaard has quit [Client Quit]
sagax has quit [Ping timeout: 272 seconds]
nullman has quit [Ping timeout: 260 seconds]
Arcsech has joined #racket
nullman has joined #racket
Arcsech has quit [Remote host closed the connection]
Arcsech has joined #racket
soegaard has joined #racket
Naptra has quit [Ping timeout: 258 seconds]
MustardCheese has quit [Remote host closed the connection]
Fare has quit [Ping timeout: 240 seconds]
Fernando-Basso has quit [Quit: Leaving]
vraid has quit [Read error: Connection reset by peer]
Fare has joined #racket
soegaard has quit [Quit: soegaard]
mceier has quit [Quit: leaving]
mceier has joined #racket
mceier has quit [Quit: leaving]
soegaard has joined #racket
badkins has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 255 seconds]
mceier has joined #racket
badkins has joined #racket