Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 05:08

    cgay on master

    Downloads: update for 2022.1 re… Merge pull request #134 from cg… (compare)

  • 05:08
    cgay closed #134
  • 05:07
    cgay ready_for_review #134
  • 04:43
    cgay synchronize #134
  • 04:32
    cgay opened #134
  • Nov 28 21:03
    FranklinChen opened #6
  • Nov 28 21:02
    FranklinChen closed #4
  • Nov 27 23:17

    cgay on v2022.1.0

    (compare)

  • Nov 27 23:10

    cgay on master

    2022.1 release notes: set the r… (compare)

  • Nov 27 23:06

    cgay on master

    Update the News section - 2022.… Merge pull request #133 from cg… (compare)

  • Nov 27 23:06
    cgay closed #133
  • Nov 27 22:58
    cgay opened #133
  • Nov 27 22:25
    cgay labeled #44
  • Nov 27 22:25
    cgay opened #44
  • Nov 27 22:19

    housel on master

    build: Update release-with-batt… Merge pull request #1463 from h… (compare)

  • Nov 27 22:19
    housel closed #1463
  • Nov 26 18:43
    housel opened #1463
  • Nov 25 19:56

    housel on master

    release-notes: Add missed entri… (compare)

  • Nov 25 16:44

    housel on master

    dfmc-optimization: Fix the self… Merge pull request #1462 from h… (compare)

  • Nov 25 16:44
    housel closed #1462
Jon Godbout
@Slids
The last two AoC problems were on par with what I might ask for an interview question
Jon Godbout
@Slids
not that it's hard to make, but does dylan come with a count function on sequence?
promovicz
@promovicz
@Slids I don't think we have count(seq, test). I remember using size(choose(seq, test)) instead.
(which is not the most efficient solution, but easy to read)
Jon Godbout
@Slids
Also, can I use non-let to set value from a multipel return function, say
define function foo (a :: <integer>) => (_ :: <integer>, _ :: <integer>) 
  values(a + 1, a+2);
end;


let (a, b) = foo(1);
(a, b) := foo2; // This line fails to compile
The documentation I found only uses let
promovicz
@promovicz
I don't think you can. the assignment operator only has one "lvalue".
Carl Gay
@cgay
Could write a macro. set-values(a, b := foo(1)) or something like that, perhaps.
Jon Godbout
@Slids
Yea, but then different users have different macros for similiar things (I recall you comment on this a lot with cl)
promovicz
@promovicz
sure, but we can just put things in common-dylan. ;)
technically a multiple-assign could be possible even with the operator, even with setter expansion. it just doesn't seem to be in the language.
promovicz
@promovicz
count(seq, test, #various-keys) sounds like a good common-dylan thing.
Carl Gay
@cgay
But I agree these things are more useful in common-dylan.
Carl Gay
@cgay
Horrible thought: let n = 0; choose(method (x) test(x) & (n := n + 1); #f end, seq)
Jon Godbout
@Slids
We've reached an AoC problem that just feels like toil...
promovicz
@promovicz
.o(it must be symbol of the times we live in)
Jon Godbout
@Slids
(symbol-p *of-time*) => 't
promovicz
@promovicz
I just pushed another long swath of marlais commits. It's not the cleanest history in the world, but I am making progress.
bignums mostly work now, though division is still missing, most of the build system level configuration works...
Lots of bugs fixed on the way. Cleaning up the namespace brought a lot of them to light. Others were compiler warnings...
Carl Gay
@cgay
Nice
promovicz
@promovicz
I tore out the path search for loaded source files, so you have to launch the interpreter from the "lib" directory for now. I'll introduce MARLAIS_PATH as a replacement.
Carl Gay
@cgay
For my time library I'm tempted to squash the entire history up to the current moment into one commit; the history is that bad. :)
promovicz
@promovicz
one thing that I really like about the direction this interpreter is going is the ability to define any integer type as a limited integer type. I should be able to represent any C integer, and that should help a lot with FFI.
not that c-ffi ain't any good. I actually think it's excellent.
(within its limitations)
for this sort of thing it's actually an advantage that our base language is small compared to the libraries.
marlais can definitely be a complete dylan. that wouldn't be so easy if we had more subsystems in the language core.
promovicz
@promovicz
with regards to macros I'm still thinking. I'm tending towards wanting a macro expander implemented in dylan because we already have that code. the parsers of the interpreters would have to emit a (possibly shared) d-expr representation.
that way the code could be borrowed from dfmc, dbmc or d2c. they all kind of do this already. the dfmc version probably has the code with the best factoring.
it also has the best features (template calls).
Jon Godbout
@Slids
How do I get format statements to print before dylan finishes?
Carl Gay
@cgay
force-out() and/or force-err()
I would like these to happen by default, but I think maybe that's expensive? Maybe we could set them up to happen by default (line buffered?) but have a way to turn them off for performance. I think we discussed this at one point...I'll check history.
Carl Gay
@cgay
Only this :point_up: March 21, 2019 12:42 PM
Is the new Dune movie any good? Should I use my $10 Google Fi credit on it?
Peter S. Housel
@housel
I have line buffering half-implemented in a stash someplace
(Of course some of my stashes are named things like with-many-snerk and moths-and-butterflies so I may or may not be able to find it)
Jon Godbout
@Slids
the new dune movie is only part 1 of n
Not defaulting to outputting the values hurts the printf(format-out) debugging I always do... Any chance of a repl? :)
Peter S. Housel
@housel
Soon
(Hopefully by mid-Spring)
promovicz
@promovicz
@cgay stdio in libc makes stderr unbuffered. that's how they deal with it. they also flush atexit IIRC.
a working repl in opendylan might be a magnet for me. :)
Carl Gay
@cgay
format-outf == format-out(...) + force-out() :smirk:
Only 1/2 joking. I've been using a debug-out that is basically that.
Carl Gay
@cgay
Flushing at exit would solve the biggest part of the problem. It's one thing to not see the output right away and it's another thing altogether to never see it at all.
Peter S. Housel
@housel
Everything does get flushed at exit
(unhandled exception aborts possibly excepted)